Wireless Communication Systems
@CS.NCTU
Lecture 12: Soft Information
Instructor: Kate Ching-Ju Lin ( 林靖茹 )
PPR: Partial Packet Recovery
for Wireless Networks
ACM SIGOCMM, 2017
Kyle Jamieson and Hari Balakrishnan CSAIL, MIT
What is Partial Packet Error?
Lots of packets lost due to collisions and noise in wireless networks
Non-colliding bits
Non-colliding bits
(P1)
(P2)
Time
Can’t receive non-colliding bits today!
Bits in a packet don’t share fate
4
Many bits from corrupted packets are correct, but status quo receivers don’t know which!
(30 node testbed, CSMA on)
Three Key Questions
1. How does receiver know which bits are correct?
2. How does receiver know P2 is there at all?
3. How to design an efficient ARQ protocol?
Can Receiver Identify Correct Bits?
• Use physical layer (PHY) hints
⎻Receiver PHY has the information!
⎻Pass this confidence information to higher layer as a hint
• SoftPHY implementation is PHY-specific;
interface is PHY-independent
• Implemented for direct sequence spread spectrum (DSSS) over MSK and other
modulations
6
:
SoftPHY
Can We Leverage Soft Info?
High uncertainty
PHY conveys uncertainty in each bit it delivers up
Low uncertainty
Direct Sequence Spread Spectrum
• Demodulate MSK signal
• Decide on closest
codeword to received (Hamming distance)
• Many 32-bit chip sequences are not valid codewords
• Codewords separated by at least 11 in
Hamming distance
• 802.11 similar
Transmitter: Receiver:
SoftPHY Hint for Spread Spectrum
SoftPHY hint is 2 Receive: 11101101000111000011010110100010
C
1: 11101101100111000011010100100010
SoftPHY hint is 9 Receive: 11001101000111010111011110110111
C
1: 11101101100111000011010100100010
Hamming distance between received chips and decided-upon codeword
10
Three Key Questions
1. How does receiver know which bits are correct?
2. How does receiver know P2 is there at all?
3. How to design an efficient ARQ protocol?
A: SoftPHY:
Postamble decoding
12
• Codeword synchronization
• Translate stream of chips to codewords
• Search for postamble at all chip offsets
Receiver Design with Postamble
010101001010011101010001011101001010…
Offset 0:
Offset 3:
Chips:
Codeword 1 Codeword 2 Codeword 3
Codeword 1 Codeword 2 Codeword 3
Three Key Questions
1. How does receiver know which bits are correct?
2. How does receiver know P2 is there at all?
3. How to design an efficient ARQ protocol?
A: Postamble:
Partial Packets
14
• ARQ today: correctly-received bits get resent
• PP-ARQ key idea: resend only incorrect bits
• Efficiently tell sender about what happened
• Feedback packet
ARQ with partial packets
1010001101010111101101010101
Hamming distance
Labeling Bits “good” or
“bad”
• Threshold test: pick a threshold h
⎻Label codewords with SoftPHY hint > h “bad”
⎻Label codewords with SoftPHY hint ≤ h “good”
10101011010100001001010101010101
“good” “bad”
h
Hamming distance
16
PP-ARQ protocol
2. Codewords are in fact correct or incorrect
• Two possibilities for mistakes
• Labeling a correct codeword “bad”
• Labeling an incorrect codeword “good”
“Good” bits
“Bad” bits
1. Assuming hints correct, which ranges to ask for?
– Dynamic programming problem – Forward and feedback channels
Implementation
Sender: telos tmote sky sensor node
• Radio: CC2420 DSSS/MSK (Zigbee)
• Modified to send postambles
Receiver: USRP software radio with
2.4 GHz RFX 2400 daughterboard
• Despreading, postamble
synchronization, demodulation
• SoftPHY implementation
[moteiv.com]
[ettus.com]
18
• Live wireless testbed experiments
• Senders transmit 101-byte packets, varying traffic rate
• Evaluate raw PPR throughput
• Evaluate SoftPHY and
postamble improvements
• Trace-driven experiments
• Evaluate end-to-end PP-ARQ performance
• Internet packet size distribution
• 802.11-size preambles
Experimental design
25 senders 6 receivers
PP-ARQ performance comparison
• Packet CRC (no postamble)
• Fragmented CRC (no postamble)
• Tuned against traces for optimal fragment size
Preamble Checksum
Throughput Gain: 2.3-2.8x
20
PP-ARQ Retransmissions are Short
25% Gain over Fragmented
22
PP-ARQ Retransmissions are Short
24
Low PP-ARQ Feedback Overhead
802.11 ACK size
Related work
• ARQ with memory [Sindhu, IEEE Trans. On Comm. ’77]
⎻Incremental redundancy [Metzner, IEEE Trans. On Comm.
’79]
⎻Code combining [Chase, IEEE Trans. On Comm. ’85]
• Combining retransmissions
⎻SPaC [Dubois-Ferrière, Estrin, Vetterli; SenSys ’05]
• Diversity combining
⎻Reliability exchanging [Avudainayagam et al., IEEE WCNC
’03]
⎻MRD [Miu, Balakrishnan, Koksal; MobiCom ’05]
⎻SOFT [Woo et al.; MobiCom ’07]
• Fragmented CRC
Conclusion
• Mechanisms for recovering correct bits from parts of packets
⎻SoftPHY interface (PHY-independent)
⎻Postamble decoding
• PP-ARQ improves throughput 2.3–2.8 over the status quo
• PPR Useful in other apps, e.g. opportunistic forwarding
26