1 A packet-level adaptive forward error correction scheme for wireless networks Johannes Hund, Andreas Heinrich, Andreas Ziller, Christian Schwingenschlögl, Rolf Kraemer {johannes.hund.ext,a.heinrich,andreas.ziller,chris.schwingenschloegl}@siemens.com, kraemer@ihp-microelectronics.com Abstract—Especially for synchronization-critical wireless net- works like ultrawideband impulse radio (UWB-IR), data packets are lost not only due to single bit errors in the payload but also to a large degree because of synchronization errors or preamble failures. Current FEC codes only address bit errors inside a packet. Packets that are lost because of errors in preambles or headers can only be recovered on packet level. In this Paper we propose a low-complexity adaptive packet-level FEC and prove by simulation that it can reduce packet loss with very small overhead. Index Terms—Erasure Coding, UWB, IEEE 802.15.4a, FEC I. I NTRODUCTION C URRENT networks, especially wireless networks, suffer from lost packets as one of the main reasons for perfor- mance reduction. When packets are lost, the quality is affected either because of the lost data or because the packet needs to be resent. The most popular technique to resend data packets is called Automatic Repeat Request (ARQ). With this technique, every packet gets acknowledged by sending an ACK packet from the receiver to the sender. If the sender does not receive an ACK packet within a certain time after sending the data packet, it assumes the data packet to be lost and re-sends the data packets. There are two main reasons for packet losses: 1) Failed check sums. Packets include a check sum (mostly CRC-10) that is computed over the payload, a failed check sum indicates that one or more bits of the payload have been incorrectly transmitted. In this case a receiver is aware of a received packet that had to be discarded. 2) Failed packet recognition. This can happen if a packet’s preamble is distorted, so that the receiver fails to syn- chronize to the sender’s transmission, or because of bit errors in the header or footer which renders the packet unrecognizable. In this case a receiver is not aware of a received packet. Instead of only reacting to packet loss, proactive techniques are used to avoid lost packets. For the first case, this is done by encoding the packet’s payload with a Forward Error Cor- rection (FEC) code. This FEC can repair bit errors inside the packet’s payload, avoiding to loose the packet. Popular codes to add this resilience are Reed-Salomon Codes, Convolutional codes and Turbo codes. However, to be able to recover a packet with corrupted bits, the packet must be detected by a successful synchronization, only the payload must be affected by erasure and only to an extend that is recoverable by the used code (described by the Hamming Distance of that code). All other packets are dropped. Recent research [1] shows that certain wireless communica- tion systems (among those for example Nanotron Chirp-mode systems) are very vulnerable to errors in preambles, especially in harsh environments like industrial automation. We focus on low-latency communication in industrial environments, where communication systems with stringent synchronization requirements such as UWB systems [2] that need to keep preambles short in order to reduce latency will be vulnerable to failed packet recognition. The remainder of the paper is organized as follows. Section II describes the proposed method to increase redundancy. In section III, we describe the used simulator to prove our assumptions. The results of the simulations are presented in Section IV. Finally, section V discusses our results and shows possible future work. II. METHOD We propose a method for combating packet loss with net- work coding to improve transmission resilience, additionally to applying FEC codes to payload bits. We add an additional packet to protect a burst of packets. This method is inspired by a RAID 3 hard disc config- uration. In those configurations, an array of discs uses one disc to store parity information of the payload on all other discs, which means each bit of this disc serves as a checksum across the same bit on all other discs. So if one disc fails, the stored data can be restored using all remaining discs and the parity information on the last disc. In other words, the last disc contains the output of a level-1 FEC code to protect all other discs from a single disc failure. We use a very similar approach to protect a burst of packets by appending a single packet that contains information of all packets in the burst to recover a single packet drop. To achieve this, we use a level-1 coding operation (such as parity or in our case xor) across all packets to create the last packet that we call a “control packet”. S. Katti et al. showed in [3], [4] that when n packets are combined using an xor operation, the knowledge of n-1 of them is sufficient to decode the remaining one. This is a simple form of a technique known as network coding [5], [6], where network packets are treated as numbers in algebraic calculations. Error-Correction methods on packet level are also referred to as erasure codes (see also [7]). In our