Introductory Material on Bluetooth


Bluetooth Protocol Stacks for Linux


The BTnode Project

Local Documents


Bluetooth Device Evaluation

Knowledgebase - here I collect various insights and things i keep forgetting. a loose collection of thoughts...

To achieve maximum asymmetric transfer rate (723.2 / 57.6) the packet length is five and one time-slots, respectively, in the different directions. To achieve maximum symmetric transfer rate (433.9) the packet length is five time-slots in both directions. The two devices send every other packet. Each packet contains overhead such as the head and the at least 220us dead time that allow the devices to switch from transmitting to receiving. These overheads occur more frequently using short packets. The total transfer rate is therefore higher in symmetric traffic where all packets are five time-slots in length.
The difference between asymmetric and symmetric transfer rates is to be found in the packet types used. In symmetric transfer mode the same packet type, e.g. DM5 or DH5, is used in both forward and reverse direction. When sending asymmetric, different packet types are used in respective direction, e.g. DH5 forward and DH1 reverse.
Every second is divided into 1600 timeslots. The different packet types use different amount of these timeslots. The DH5/DM5 packets uses 5 timeslots, DH3/DM3 uses 3 slots and DH1/DM1 uses 1. Thanks to smaller headercost, etc, the bigger packets transfer more useful information per time unit. For example, a DH5 package is able to transfer up to 339 bytes of information while DH1 transfers only 27 bytes. Please see the specification for more details.
To put this together we can look at an asymmetric DH5/DH1 connection and compare it with the symmetric DH5/DH5 connection.

Forward transfer rate is found by 339*8*(1600/5)*(5/6) = 723,2 kb/s
where 339 equals the number of information bytes in DH5 package,
1600/5 equals the number of DH5 packets/second,
5/6 equals the part of time used by forward direction
Reverse) transfer rate is equal to 27*8*1600*(1/6) = 57,6 kb/s
where 27 equals the number of information bytes in the DH1 package,
1600 equals the number of DH1 packets/second,
1/6 equals the part used for transferring in reverse direction

Here the forward transfer rate equals the reverse and is found by 339*8*(1600/5)*(1/2) = 433,9 kb/s
where 339 equals the number of information bytes in the DH5 packet,
1600/5 equals the number of DH5 packets/second,
1/2 equals the part of time used by forward/reverse direction.

HCI Layer


Physical Layer

last edited 04/04/2001/20:01:28 by Jan Beutel