Short range wireless devices, such as Bluetooth (BT) audio enabled devices provide high quality audio for hands-free communication. The compression and transmission errors introduced by BT communications create additional signal processing challenges, not present in wired full duplex audio systems.

Bluetooth Audio and Echo Cancellation: Compression Considerations

Bluetooth devices implement a codec to compress / encode the audio signal prior to transmission to minimize the network traffic. At a loudspeaker BT receiver, the compressed signal is decoded prior to being sent to a digital to analog converter. The baseline codec for BT audio is SBC (the low complexity subband coder). SBC is a lossy codec, meaning the signal prior to compression does not equate to the signal after decompression. This is modeled as a non-linear transformation. This is not ideal for Acoustic Echo Cancellation software, which convolves the signal prior to compression with the linear adaptive filter to generate the estimated echo. This will result in a larger residual echo, when compared to a wired audio system.
Therefore, a great AEC solution must include a non-linear processor (NLP) to attenuate the echoes further. Given the additional burden placed on the NLP, the NLP must be implemented in the frequency domain rather than the time domain. During double-talk it will be necessary to have a time and frequency gain suppression factor, in order to minimize the distortion to near-end speech.

More Information


TI ADI ARM Linux iOS Android supported-platforms

VOCAL’s optimized software is available for the following platforms. Please contact us for specific Kernel Based Echo Canceller supported platforms and associated performance data.

ProcessorsOperating Systems
  • Texas Instruments – C6xx (TMS320C62x, TMS320C64x, TMS320C645x, TMS320C66x, TMS320C67x), DaVinci, OMAP, C5xx (TMS320C54x, TMS320C55x)
  • Analog Devices – Blackfin, ADSP-21xx, TigerSHARC, SHARC
  • PowerPC, PowerQUICC
  • MIPS – MIPS32, MIPS64, MIPS4Kc
  • ARM – ARM7, ARM9, ARM9E, ARM10E, ARM11, StrongARM, ARM Cortex-A8/A9, Cortex-M3/M4
  • Intel / AMD – x86, x64 (both 32 and 64 bit modes)
  • Linux, uClinux, BSD, Unix
  • Microsoft Windows ACM / RTC / CE / Mobile
  • Apple iOS / iPhone / iPad & MacOS
  • eCOS / eCOSPro
  • Google Android
  • Green Hills Integrity
  • Micrium μCOS
  • Symbian
  • Wind River VxWorks