Skip to main content
Topic: Bluetooth sbc parameters (Read 9101 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Bluetooth sbc parameters

From http://soundexpert.org/news/-/blogs/bluetooth-audio-quality-a2dp, and http://android.stackexchange.com/questions/26410/how-do-i-determine-which-a2dp-codecs-my-phone-supports-is-currently-using, I can see that when I listen to bluetooth audio from my phone to my car, I am getting sbc with these parameters:

Middle Quality Joint Stereo
Samp Freq 44.1 kHz
Bitpool value 35
Resulting Frame length 83 bytes
Resulting bit rate 229 kb/s
Block length 16
Allocation method = Loudness
Subbands 8

Can someone share an equation of how these parameters relate to each other?  Does any sbc at 44.1 KHz and bitrate 229 kb/s have to have bitpool = 35 and frame length 83 bytes?



Re: Bluetooth sbc parameters

Reply #1
I'll answer my own question.  The equations are in Sec 12.9 of "ADVANCED AUDIO DISTRIBUTION PROFILE SPECIFICATION", which is easily found with a search.

Here is what you will find there:  Bit Rate (bit_rate) is calculated using the following equation:
bit_rate = 8 * frame_length* fs / nrof_subbands / nrof_blocks,
where fs, nrof_subbands and nrof_blocks denote sampling frequency, number of subbands and number of blocks, respectively. Bit Rate is expressed in kb/s, because fs is expressed in kHz. The Frame Length (frame_length) is expressed in bytes as
frame_length = 4 + (4 * nrof_subbands * nrof_channels ) / 8 + nrof_blocks * nrof_channels * bitpool / 8 .
for the MONO and DUAL_CHANNEL channel modes, and
frame_length = 4 + (4 * nrof_subbands * nrof_channels ) / 8 + (join * nrof_subbands + nrof_blocks * bitpool ) / 8.
for the STEREO and JOINT_ STEREO channel modes.
Here, nrof_channels and bitpool denote number of channels and bitpool value, respectively. When joint stereo is used, join = 1, otherwise 0.

 
SimplePortal 1.0.0 RC1 © 2008-2018