This talk sheds light on the significantly under-explored field of automated classification of Forward Error Correcting (FEC) codes. The task, analogous to automatic modulation, determines the type of FEC code employed by examining variable-length sequences of bits. Furthermore, the objective extends to estimating vital properties of the code, including but not limited to the coding rate and block size.
Our discussion will commence with an overview of a range of popular FEC schemes utilized in diverse wireless protocols. We will delve into the technicalities of encoding with Polar codes, Turbo codes, Convolutional codes, Low-Density Parity-Check codes, BCH codes, and others. The emphasis will be on visualizing the unique characteristics of these algorithms and enhancing understanding through illustrative representations.
Subsequently, we will pivot to the core challenge of identifying and estimating the properties of FEC codes from a given sequence of bits. Our approach combines traditional methods, like computation of low-weight codewords via randomized algorithms or Information Set Decoding, and data-driven techniques using machine learning models.
In particular, the presentation will explore employing a graph-based approach for classification. We will discuss how to construct several graphical representations from captured code words, such as estimating the Tanner graph and treating each codeword as a node and their Hamming distances as edge weights can result in a graph that visually represents the relationships between codewords, thus providing insights into the underlying FEC code.
Our exploration utilizes a challenging dataset to demonstrate the practical applications of these techniques. This dataset and baseline models will be released at GNURadio Con. The findings and information in this talk will benefit novices in software-defined radio and protocol analysis by providing a comprehensive introduction to FEC codes, as well as seasoned signal reverse engineers seeking to expand their toolkits.
|Talk Length||30 Minutes|