Let’s face it: Bluetooth audio quality has never really been good enough to satisfy the pickiest listeners out there, and a number of competing standards (codecs) have stepped up to fill in the quality void left by the default low-complexity sub-band codec (SBC) found on all Bluetooth headsets. Qualcomm’s aptX is the most commonly supported alternative in both headphone and smartphone products, as it “delivers CD-like audio quality” while aptX HD is “indistinguishable from High Res audio” (according to Qualcomm). Bold claims for a Bluetooth technology, but is any of that true?

Fitting audio of any reasonable quality into a small enough package to send over the air is an inevitable matter of compromise. Codecs regularly manipulate audio quality to save on bandwidth, which often means distortion, added noise, and poor quality. So how does aptX achieve its audio quality, and how does it compare to the higher quality aptX HD?

Frequency response

There are two major factors that determine the file size for audio: sample rate (frequency), and bit-depth. If you can cut out a chunk of high frequency content that’s tough for people to hear anyway, cheeky codecs could make major space savings. That certainly wouldn’t count as CD-like quality though, so this is our first port of call to check Qualcomm’s claims.

How to read the graph: the graph shows volume reproduction at frequencies across the audible spectrum, or its “frequency response.” For a 48kHz audio file, an ideal codec passes frequencies from 0Hz to 24kHZ without any attenuation (remaining at 0dB the whole way across).

A chart showing the frequency responses of Bluetooth codecs with a sample file of 96kHz/24-bit. Codecs measured are SBC, aptX, and aptX HD.

Bluetooth data gathered by Robert Triggs.

Both aptX and aptX HD share the same frequency response, which reproduces virtually all the audible spectrum untouched. As expected, neither codec handles 96kHz files, and they are both capped at 48kHz. This means that your music won’t have any notes that are inexplicably changed by your phone.

The codec applies a low pass filter to the audio with minimal ripple and a corner frequency set at approximately 18.9kHz. This is right up against the limits of human hearing and therefore preserves the entire range of musical content in the original file. So far, so good on the claims of providing sound that’s indistinguishable from CD quality.

This frequency response is a very close match for the default SBC Bluetooth codec supported by all devices, which also extends right up to 44.1/48kHz as well. The only noticeable difference is slightly more ripple in the SBC passband at very high frequencies. This ripple could be a sign of more high frequency distortion than aptX, so we’re going to have to dig down deeper to discern the differences.

Noise and distortion

Bluetooth codecs make the most of their bandwidth savings by splitting audio into multiple frequency bands (aptX uses four) and reducing the resources available to store the data. In other words, codecs like aptX don’t waste time with notes you can’t hear. This technique is known as “quantization.”

If you’re unfamiliar with the concept of noise floor and quantization, it’s really the same thing as talking about bit-depth. Noise and bit-depth both refer to the signal level where the music we want to hear becomes indistinguishable from the background noise electronic system, or in this case codec encoding method. The lower the noise floor, the finer details can be captured—and therefore better quality. A 16-bit signal is capped at 96dB of dynamic range, 16-bit with dithering clocks in at around 112dB, and 24-bit allows for a maximum of 144dB. However, the very best hardware won’t give you more than about 124dB of capture and around 90dB is more than enough for headphone listening volumes.

aptX Bluetooth noise profile

Data collected by Robert Triggs

With that out of the way, here’s the plot of aptX and aptX HD noise versus frequency. How to read the graph: Lower amplitude values are better across all frequencies and should ideally be flat. Ignore the spikes – these are the test tones. Instead, focus on the top of the noisy wiggling bit of the graph at around -100dB. The dotted red line is the theoretical dynamic range of CD-quality files, and the red area is the limit of 24-bit audio.aptX HD Bluetooth noise profile

Data collected by Robert TriggsaptX and aptX HD’s noise shapes look very similar. You can see that 20Hz to 5kHz offers approximately 90dB of range with aptX, and 102dB of range with aptX HD. At around 4 to 8 kHz, the amount of noise increases to approximately -80dB with aptX and -92dB with aptX HD. Finally, the highest frequencies between 8kHz and 20kHz see yet more noise still. This clocks in at approximately -74dB for aptX and -86dB for aptX HD. Neither of the two codecs introduces any harmonic distortion to the test tones, even at 15kHz.

This variable noise floor is a result of aptX’s variable sub-band bit-rate encoding. The codec uses fewer bits at higher frequencies, resulting in more noise. The only difference between aptX and aptX HD is that the latter adds two extra bits of information across all of the codec’s frequency bands, giving you a 12dB improvement to the codec’s noise floor. This is great for subtle, high-frequency detail—which risks becoming lost under the high noise floor with regular aptX.

So why would you want to use a variable bit-depth like this? Your ears, which differ in audible sensitivity at different frequencies, is most sensitive at 1kHz—before starting to lose sensitivity at around 4kHz up to 8kHz, and then losing most hearing ability from 10kHz up to 20kHz (depending on the age and health of your inner ear). It’s not a coincidence that aptX’s noise floor matches this pattern. The science tells us that your ears are less sensitive to noise at high frequencies, making it a smart place for Bluetooth codecs to save on some bandwidth.

16 vs 24 bit

The topic of noise floor nicely circles back around to the codec specs. aptX’s -90dB noise floor is close to 16-bit audio but isn’t quite a technical match to a proper dithered CD track. Although at real world listening volumes the audible differences are going to be negligible, so Qualcomm’s claims of “CD-like” quality appear to stack up.

...it’s clear that the noise floor doesn’t extend low enough to leverage the full capabilities of a 24-bit track, especially in the high frequency bands.

aptX HD supports 24-bit audio, yet it’s clear that the noise floor doesn’t extend low enough to leverage the full capabilities of a 24-bit track, especially in the high frequency bands. In fact, dithered 16-bit audio’s -112dB noise floor extends further. Whether aptX HD is “indistinguishable from Hi-Res” is a touchier issue, as there isn’t time to get into the actual differences between CD and Hi-Res here. Suffice to say that it takes a pretty good stab at covering the limits of human audio perception. With that in mind, 16-bit audio files should benefit from the lower noise profile of aptX HD too.

I confirmed this with a test, which shows margin of error differences in the noise floor between a properly dithered 16 bit and a Hi-Res 24-bit file when played using aptX HD. However, both files benefit from the additional noise floor and the extra headroom at high frequencies. If you have aptX HD capable gear, it’s the better codec even if your audio library consists of 16-bit files.

Is either better than Bluetooth’s default SBC?

SBC frequency range is very similar to aptX, with a similar roll-off occurring just before 19kHz. The biggest difference is in noise floor and high frequency distortion. SBC is comparable to aptX at lower frequencies, but notably worse performing than aptX HD. However, SBC begins to creep up its noise floor a little earlier at 2.5kHz compared to 5kHz for Qualcomm’s codecs. The noise floor for music below 2.5kHz is -92dB, a match for aptX—but certainly not quite as good as aptX HD’s -102dB. SBC’s noise floor raises to -85dB between 2.5-5kHz and 8-11kHz, falls back to -90dB between 5-8kHz, and reaches highs of -80dB above 14kHz.

SBC uses a larger number of sub-bands (between 4 and 8 depending on the version used), which allows for this more variable noise floor. SBC actually maps the contours of human hearing sensitivity better than aptX does, because it uses more bands.

SBC Bluetooth noise profile

Data collected by Robert Triggs

However, the test shows a number of additional peaks in the high frequencies. Given that they stand so isolated, this doesn’t appear to be general noise. Instead, this is harmonic and intermodulation distortion – something we really want to avoid in high quality audio systems and codecs. Neither of the aptX codecs exhibits the same issue.

SBC exhibits mixed signal distortion, aptX does not.

To test this further, I also ran a traditional intermodulation distortion and a 1kHz square wave test across both codecs. The IMD results confirm that SBC struggles with mixed frequency content, producing a number of notable spikes of distortion, while aptX does not. The 1kHz square wave test did not show up similar anomalies, so there’s clearly an issue with mixed high and low frequency content with SBC.

It’s important to remember that SBC comes in a variety of possible configurations and levels of quality. While our flagship smartphones all performed reasonably well, other devices using older or lower cost Bluetooth components may use higher levels of compression and exhibit more distortion and worse noise performance.

Ambiguity is one of SBC’s greatest weaknesses as an audio codec for music. Besides the improved quality, aptX’s greatest strength is its consistent performance.

Implications for aptX Adaptive

In addition to aptX and aptX HD, upcoming devices will soon support Qualcomm’s latest aptX Adaptive codec. We can’t test that yet, but we can infer some implications based on these results and what we know about aptX Adaptive.

A photo of a phone showing a graphic equalizer.

Wireless audio has come a long way, but it still has some issues.

Essentially, the Adaptive codec will scale in quality between aptX Classic and HD, depending on the radio frequency environment and content playing. We have observed that the only difference between Classic and HD is the noise floor profile due to the sub-band bit-depth differences. Therefore aptX Adaptive will scale between these noise floors when adjusting its quality settings on the fly.

Overall, Qualcomm appears to have a solid Bluetooth audio codec in its aptX line-up. The claims of CD-like quality stand up to scrutiny, but true Hi-Res over Bluetooth remains a ways off. Meanwhile, the biggest benefit with the move to aptX HD turns out to be its high frequency fidelity, preserving those subtle shimmers and harmonics that serious music lovers hate to miss out on.