copyright 2002 on the throughput of bluetooth data transmissions matthew c. valenti assistant...
TRANSCRIPT
copyright 2002
On the Throughputof Bluetooth
Data Transmissions
Matthew C. Valenti
Assistant Professor
Lane Dept. of Comp. Sci. & Elect. Eng.
West Virginia University
Morgantown, WV
Max Robert and Jeffrey H. Reed
Mobile & Portable Radio Research Group
Virginia Tech
Blacksburgh, VA
This work was supported by the Office of Naval Researchunder grant N00014-00-0655
© 2
002
Motivation & Goals
Motivation Why Bluetooth? Custom error control = better QoS Suitable benchmarks?
• QoS analysis of bottom two layers: Radio/Baseband
Goal of this study To obtain analytical expressions for the maximum
average throughput of Bluetooth data transmissions
Can be used as a “benchmark” to compare custom error control protocols and practical receiver designs
© 2
002
Overview of Talk
Overview of the analysis Baseband layer analysis
• Exact maximum average throughput over a binary symmetric channel (BSC)
• Benchmark for custom error control Radio layer analysis
• Upper bound on throughput of noncoherent reception over AWGN and quasi-static Rayleigh fading channels
• Benchmark for receiver implementation
Extensions of this work Custom error control in Bluetooth Analysis of other QoS parameters: delay & delay
jitter
© 2
002
Bluetooth Protocol Stack
Application
Presentation
Session
Transport
Network
Data Link
Physical
Applications
RFCOMM/
Service Discovery Protocol (SDP)
Logical Link Control & Adaptation Protocol (L2CAP)
Host Controller Interface (HCI)
Link Manager
Link Controller
Baseband
RadioOSI Reference Model
Bluetooth
© 2
002
Bluetooth Baseband Layer
Physical links Asynchronous Connection-Less (ACL) Synchronous Connection Oriented (SCO)
Automatic-Repeat Request (ARQ) ACL packets use a CRC code and ARQ.
• Stop-and-wait protocol (single-bit-flag). SCO packets do not use a CRC or ARQ.
Forward Error Correction (FEC) Packets may be coded with a FEC Both ACL & SCO can use (15,10) Hamming code. SCO packets can use a triple repetition code.
© 2
002
Frequency Hopping
Transmissions are broken into 625 sec slots Each piconet is synchronized to the master’s clock Time-Division Duplexing (TDD)
• Master may only begin transmitting on even indexed slots• Slaves may only begin transmitting on odd indexed slots
A transmission may last for 1, 3, or 5 slots
Frequency Hopping Radio hops after each transmission
• Does not hop during a multislot transmission Hops through 79 channels
• Each channel is 1 MHz wide• Some countries only allow 23 channels
© 2
002
ACL Packet Structure
Access Code PayloadPacketHeader
72 bits 54 bits
PayloadHeader
Payload Data CRC
0-2744 bits
8 or 16 bits
16 bits
0-2712 bits
ACL Packet Types
There are 6 ACL packets that use ARQ:
Packet Type
Duration (slots)
Payload data
length (Bytes)
Hamming FEC code?
Peak
throughput
DM1 1 17 Yes 108.8 kbps
DH1 1 27 No 172.8 kbps
DM3 3 121 Yes 387.2 kbps
DH3 3 183 No 585.6 kbps
DM5 5 224 Yes 477.9 kbps
DH5 5 339 No 723.2 kbps
© 2
002
Probability of Retransmission
A retransmission will occur unless all of the following events occur: Sf: Destination radio synchronizes with the access code of
forward packet Hf: Destination radio decodes forward packet header Lf: Destination radio decodes payload of fwd packet Sr: Source radio synchronizes with the access code of the return
packet Hr: Source radio decodes the return packet header
Thus the probability of retransmission is:Pr() = 1 – P[Sf]P[Hf]P[Lf]P[Sr]P[Hr]
where is the error probability of the demodulator (BER)
© 2
002
Synchronization
In practice, synchronization is achieved by: Comparing the hard outputs of the demodulator with a stored
copy of the 72 bit access code Synchronize if the received and stored copies of the access code
agree in T bit positions T is a threshold set to an acceptable false alarm rate.
• Minimum Hamming distance between distinct access codes is 13, and therefore up to 6 errors can be tolerated.
• Thus for ML decoding, set T = 66.
Therefore synchronization occurs if there are no more than 72-T bit errors:
T
k
kk
kSP
72
0
72)1(72
][
© 2
002
Decoding the Header
Header is protected by (3,1) repetition code. 18 information bits (including an 8 bit CRC) 18 three bit code words (triplets) = 54 code bits Code can correct a single error per triplet
Thus probability of correctly decoded header:
1823
181
0
3
131
)1(3
][
k
kk
kHP
© 2
002
Decoding the Payload
High rate DH packets are uncoded and therefore require that all m bits are correct:
where m=240, 1496, or 2744
Medium rate DM packets have (15,10) single-error correcting Hamming code, thus:
where M=16,100, or 183 is the number of Hamming code words in the payload
MM
k
kk
kLP 1415
1
0
15 1151)1(15
mLP )1(
© 2
002
Number of Transmissions
Let N be the total number of transmissions before success In order to transmit exactly N times
• First N-1 transmissions must fail• Last transmission must succeed
N is a geometric random variable w/ pmf
Where it is assumed that: is the same throughout a frame (quasi-static)• Channel is uncorrelated from Tx to Tx.
p n P PN r ri
n
[ ] ( ) ( )
11
1
b g
© 2
002
Average Throughput
Data rate is function of N:
D is number of occupied slots (including return)• D = 2 for Dx1, 4 for Dx3, or 6 for Dx5• We assume only 1 return slot (asymmetric traffic)
K is number of data bits • K= 136, 216, 968, 1464, 1792, or 2712
Average throughput is Ravg = EN[R]
bps )10625)(( 6
DN
KR
Throughput in BSC Channel
10-5 10-4 10-3 10-2 10-10
100
200
300
400
500
600
700
800
Da
ta R
ate
in k
bps
DH5
DH3
DH1
DM5
DM3
DM1
© 2
002
Bluetooth Radio Layer
Bluetooth uses GFSK modulation Gaussian pulse shaping BT = 0.5 Nonorthogonal frequency shift keying
• 0.28 h 0.35• We assume h = 0.32
1 Megabaud channel symbol rate 1 MHz occupied bandwidth
Reception is normally noncoherent
© 2
002
Demodulator Error Rate
Because of the ISI induced by Gaussian pulse shaping, an exact expression for noncoherent detection is complicated. Highly implementation dependent
Instead, we use an expression for the exact error performance of noncoherently detected FSK over full-response channels:
This is a lower bound for all receiver architectures
2
2
112
112
)2(sinc
b
a
h
1
2/
2/1
)()(2
1
)(2
1),()(
22
k
k
oba
abkIb
aab
oIe
abIebaQ
5 10 15 200
100
200
300
400
500
600
700
800
=Es/No in dB
Dat
a R
ate
in k
bps
DH5
DH3
DH1
DM5
DM3
DM1
Throughput in AWGN
© 2
002
Quasi-Static Fading
Quasi-static fading SNR remains same for entire transmission. SNR changes from transmission to transmission.
• Envelope may be Rayleigh, Rician, or Nakagami Good model for Bluetooth
• Short transmissions, uncorrelated channels
Retransmission probability
pdf of the SNR for Rayleigh fading
)()( rr PEP
)(exp1
)( uf
800
0 5 10 15 20 25 300
100
200
300
400
500
600
700
=Es/No in dB
Dat
a R
ate
in k
bps
DH5
DH3
DH1
DM5
DM3
DM1
Throughput in Quasi-StaticRayleigh Fading
© 2
002
Custom Error Control
There is a seventh ACL packet type AUX1 Occupies one slot CRC & ARQ are turned off 29 bytes of payload data
Can use AUX1 to transport a custom code Because ARQ shut off, data is delivered from
Bluetooth device to host regardless of errors Perform FEC encoding & decoding on host
computer Implement ARQ on the host computer No modification of Bluetooth standard is needed
Dat
a R
ate
in k
bps
5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 100
50
100
150
Es/No in dB
BCH coding bound
BCH t=10
DM1DM 3
Example: BCH Coding in AWGN
Adaptive Coding forQuasi-Static Fading
0 5 10 15 20 250
100
200
300
400
500
600
700
800
Es/No in dB
Dat
a R
ate
in k
bps
DM1
DM3
DM5DH5
BCH10
Adaptive BCH
Fully Adaptive
© 2
002
Application of Turbo Codesto Bluetooth
Turbo codes are capable of achieving near capacity performance.
Technical challenges: Long block lengths needed Soft-decision decoding is desirable
Solutions: Rate Compatible Turbo Codes (RCPT)
• Start with a rate ⅓ turbo code• 1 frame of data = 4 Bluetooth AUX1 packets• There are 8 packets of parity information• Only transmit parity as needed
“Pseudo” soft-decision decoding• Use the Received Signal Strength Indicator (RSSI)
thro
ughp
ut (
kbps
)
4 5 6 7 8 9 100
20
40
60
80
100
120
140
160
180
200
Es/No in dB
TC4 w/ RSSI
TC4 no RSSI
DM1 DM3
DM5
Performance of Turbo Coded Bluetooth in AWGN
Other QoS Parameters
Delay If packet is transmitted N times, then the delay is =(DN)(625 x 10-6)
Average delay is mean of Delay jitter is standard deviation of
4 5 6 7 8 9 100
2
4
6
8
10
12
14
16
18
20
Es/No in dB
Avg
. de
lay
in m
sec
TC4 w/ RSSITC4 no RSSI
DM1
DM3
DM5
4 5 6 7 8 9 100
2
4
6
8
10
12
14
16
18
20
Es/No in dB
Del
ay ji
tter
in m
sec
TC4 w/ RSSITC4 no RSSI
DM1
DM3
DM5
© 2
002
Conclusion
Throughput of Bluetooth can be obtained analytically Exact at the baseband layer Upper bound at the radio layer
Analysis can be extended to other QoS parameters Average latency & latency jitter Residual error rate (after timeout)
Provides a benchmark Compare custom error control codes Compare receiver implementations
Further work More exact expression for BER of demodulator Implement custom coding using AUX1 packet