For the software defined radio (SDR) industry, when utilizing general purpose processors (GPPs), software-based waveform developers have leveraged Moore’s law to improve waveform performance by simply moving their code to better GPPs and SDRs as they become available. However, making full use of a computer’s capabilities today is a challenging task due to increased hardware and software complexity, requiring the use of multithreading, SIMD intrinsics, and overclocking to squeeze as much performance out of a system as possible. A challenge is predicting how a software-based waveforms will perform based on published benchmarks on a GPP of interest and where the key limiters exist. This is valuable insight to determine implementation and optimization strategies for software-based waveforms. ANDRO since 2015 has developed several waveforms with in-house written C++, focusing on pushing GPP performance to the maximum, and have over time changed our software development approach in line with these new hardware advancements and insights. This paper attempts to identify key indicators of modern GPP performance for usage with waveform software. Our method is to benchmark several open-source and custom forward error correction (FEC) algorithms and software implemented communications waveforms on new consumer-grade Intel I9 and AMD Ryzen 9 multi-core desktops. This includes ANDRO optimized low-density parity check (LDPC) encoder/decoder, ANDRO digital video broadcast satellite 2 (DVB-S2) transceiver, AFF3CT LDPC and DVB-S2, and gr-dvbs2rx waveform and LDPC. We report LDPC throughput, max waveform data rate, CPU utilization, and memory usage. Findings indicate that that CPU performance has increased to the point where now memory, i.e. RAM and CPU cache, becomes a bottleneck and predictor for waveform performance and becomes the focus for optimization.
The open-source waveforms and LDPC algorithms will be referenced with exact git repository references and configuration parameters used. The ANDRO DVB-S2 waveform and LDPC encoder/decoder are not open-source but benchmarking results will be in the presentation and accompanying paper.