The Distance Spectrum of IEEE 802.11 Binary Convolutional Codes
Rethna Pulikkoonattu
TL;DR
This note explains how to compute the distance spectrum of the convolutional code exactly for the IEEE 802.11 mother code and its three standard punctured derivatives and its three standard punctured derivatives obtained via rate-compatible puncturing.
Abstract
Binary convolutional coding (BCC) has been a cornerstone of the IEEE 802.11 wireless LAN standard since its inception, and it remains relevant today across the full generational arc from the legacy 802.11a/g through Wi-Fi 6 (802.11ax) and into the forthcoming Wi-Fi 8 (802.11bn). Although low-density parity-check (LDPC) codes now dominate high-throughput applications, BCC is mandatory for backward compatibility and continues to serve as the default forward-error-correction scheme in bandwidth-constrained and cost-sensitive deployments: 20 MHz-only devices, Internet-of-Things nodes, and other implementations where LDPC's decoder complexity is prohibitive. Critically, BCC at rate 1/2 is the coding scheme used throughout the packet preamble in every IEEE 802.11-compliant frame, making it indispensable regardless of which data-field code is selected. Furthermore, the new Enhanced Long Range (ELR) packet format introduced in the 802.11bn/UHR amendment mandates rate-1/2 BCC for the data portion of the frame, reinforcing the continued importance of this code in next-generation deployments. The performance of BCC under Viterbi decoding is governed by the distance spectrum of the convolutional code. This note explains how to compute that spectrum exactly for the IEEE 802.11 mother code (rate 1/2, K=7, generators octal 133 / octal 171) and its three standard punctured derivatives (rates 2/3, 3/4, 5/6) obtained via rate-compatible puncturing. Union-bound BEP and FER curves are derived for AWGN with BPSK/QPSK and Gray-coded M-QAM modulation and validated against Monte Carlo simulation. Python, Julia, and C++ implementations are openly available at https://github.com/geekymode/bcc_spectrum.
