Equalizer Design for an HF Modem Using Probe Symbols and Channel Measurement
This sixth article in a series on building a MIL-STD-188-110 HF modem in modern C++ focuses on the equalizer, which removes channel distortion from received symbols. Each received symbol mixes the transmitted symbol with a faded copy of an earlier one, and the channel's weights shift several times per second. The equalizer uses known probe symbols inserted after each data frame to check its work, either by continuously adjusting a filter or by estimating the channel and solving for an inverse filter. The article compares these two approaches on the same recordings, and a turbo equalizer is deferred to Part 7 because it depends on the decoder. Accompanying changes include a clang-tidy cleanup of the codebase with no change in output, and a new test command with quick, article, and full suites run under GCC 14 and Clang 19.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.


Discussion (0)
Log in to join the discussion and vote.
Log in