IEEE Access (Jan 2022)
CRC-Based Correction of Multiple Errors Using an Optimized Lookup Table
Abstract
In this paper, we propose a new approach to perform multiple error correction in wireless communications over error-prone networks. It is based on the cyclic redundancy check syndrome, using an optimized lookup table that avoids performing arithmetic operations. This method is able to achieve the same correction performance as the state-of-the-art approaches while significantly reducing the computational complexity. The table is designed to allow multiple bit error correction simply by navigating within it. Its size is constant when considering more than two errors, which represents a tremendous advantage over earlier lookup table-based approaches. Simulation results of a C implementation performed on a Raspberry Pi 4 show that the proposed method is able to process single and double error corrections of large payloads in 100ns and 642 $\mu \text{s}$ , respectively, while it would take 300 $\mu \text{s}$ and 1.5s, respectively, with the state-of-the-art CRC multiple error correction technique. This represents a speedup of nearly $3000\pmb {\times }$ for single error and $2300\pmb {\times }$ for double error correction, respectively. Compared to table-based approaches, the proposed method offers a speedup of nearly $1200\pmb {\times }$ for single error and $2300\pmb {\times }$ for double error correction under the same conditions. We also show that when multiple candidate error patterns are present, numerous errors can be corrected by adding a checksum cross-validation step.
Keywords