PPR: Partial packet recovery for wireless networks

Kyle Jamieson, Hari Balakrishnan

Research output: Contribution to journalArticlepeer-review

51 Scopus citations


Bit errors occur in wireless communication when interference or noise overcomes the coded and modulated transmission. Current wireless protocols may use forward error correction (FEC) to correct some small number of bit errors, but generally retransmit the whole packet if the FEC is insufficient. We observe that current wireless mesh network protocols retransmit a number of packets and that most of these retransmissions end up sending bits that have already been received multiple times, wasting network capacity. To overcome this inefficiency, we develop, implement, and evaluate a partial packet recovery (PPR) system. PPR incorporates two new ideas: (1) SoftPHY, an expanded physical layer (PHY) interface that provides PHY-independent hints to higher layers about the PHY's confidence in each bit it decodes, and (2) a postamble scheme to recover data even when a packet preamble is corrupted and not decodable at the receiver. Finally, we present PP-ARQ, an asynchronous link-layer ARQ protocol built on PPR that allows a receiver to compactly encode a request for retransmission of only those bits in a packet that are likely in error. Our experimental results from a 31-node Zigbee (802.15.4) testbed that includes Telos motes with 2.4 GHz Chipcon radios and GNU Radio nodes implementing the 802.15.4 standard show that PP-ARQ increases end-to-end capacity by a factor of 2× under moderate load.

Original languageEnglish (US)
Pages (from-to)409-420
Number of pages12
JournalComputer Communication Review
Issue number4
StatePublished - Oct 2007
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Networks and Communications


  • 802.11
  • ARQ
  • Layering
  • Synchronization
  • Wireless
  • Zigbee


Dive into the research topics of 'PPR: Partial packet recovery for wireless networks'. Together they form a unique fingerprint.

Cite this