For an automotive audio product company, we developed an advanced demonstration system for a product like Amazon’s Echo Auto. This small, battery-powered, after-market device connects via Bluetooth to both the car’s head unit and the user’s smartphone (iOS or Android). The user can use either Alexa or ok-Google to 1) conduct hands-free calling, 2) control audio playback or 3) simply interact with their virtual personal assistant (VPA). The device utilizes a microphone array to do beam forming, echo cancellation and other processing to improve both call audio quality and voice recognition.
Our design utilizes two separate Bluetooth chips from Qualcomm. One chip handles the connection to the smartphone while the other handles the connection to the head unit. While adding some cost, this approach is far more robust and allows more flexibility in connecting with the variety of head units in the market. In addition to the two Bluetooth ICs, we use an Analog Devices DSP to process the audio including performing wake-up word detection. The following figure shows the basic set-up.
The initial requirements included:
We selected a standalone Xtensa-based DSP processor from Analog Devices (ADI) for audio processing including dynamic beam forming, echo cancellation, noise reduction and wake-up word detection. The selected DSP specifically targets far-field voice interfaces and is powerful enough to run neural-network based wake-up word detection models. We utilized two different embedded software packages from a 3rd party IP provider which run on the ADI DSP. The first excels at VPA interactions and high-definition audio streaming. The second excels at noise reduction for voice calls. We tuned both packages for our application, then intelligently switched between them when expecting VPA interactions, or when audio quality was more important.
Qualcomm BT ICs use the concept of audio chains to connect endpoints and DSP operators to create audio streams. Endpoints are inputs or outputs, and can be I2S, PCM, Bluetooth, SPDIF, analog, or USB based streams of audio data. Operators can be defined and connected that modify the audio streams as they pass through the chain. These operators can perform several functions; some act as decoders/encoders to change Bluetooth radio packets into audio streams and vice versa. Other operators include splitters, resamplers, volume control, codecs, acoustic echo cancellation, noise reduction, and equalization.
The standard sink application provided by Qualcomm implements a few different chains as libraries. These standard chains include a mixer chain, HFP and A2DP chains, and chains for each of the endpoint types. These chains are then combined to create a full audio stream from input to output depending on which sources and sinks are present. The HFP and A2DP chains take care of input from Bluetooth links, and in the HFP case from microphones. Those chains are then connected to the mixer chain, which handles connecting multiple inputs to multiple outputs using the speaker chain. In this way, audio priority and fading between different audio streams can be implemented. The following figure illustrates our audio chain.
Cardinal Peak has developed many products utilizing Qualcomm’s Bluetooth components. Based on this demonstrated experience, we were invited to be a part of Qualcomm’s 3rd Party Design Network. If you are considering options for your next product design, please contact us for a free consultation. We are happy to share our hands-on experience with a broad range of Bluetooth solutions and help you find the right solution for your product.