DVB-S2 Receiver Extensions for GNU Radio
The IQ Recordings CLI (iq-rec-cli) is a command line tool that can help manage and test the IQ recordings generated with the dvbs2-rec application.
First, you can use it to list the available recordings:
./iq-rec-cli ls
By default, the CLI assumes the recordings are in the data/iq/ directory relative to the root of the repository. If that is not the case, you can switch the directory using option --data-dir.
Next, you can select one of the recordings and test the receiver on it. The CLI will run dvbs2-rx reading IQ samples from the file and will measure the number of decoded bytes, the processing duration, and the corresponding throughput. You can run the test as follows:
./iq-rec-cli rx REC_NAME
Note REC_NAME is the name of the recording as displayed in the first column returned by the list (ls) command.
The above command can also measure the CPU utilization of each thread spawned by the receiver application. To do so, run it with the --cpu option. Also, if you would like to plot the per-thread CPU utilization over time, use the --plot-cpu switch, as follows:
./iq-rec-cli rx REC_NAME --cpu --plot-cpu
Finally, the CLI can benchmark implementation performances using a selected recording. In this case, it compares the performance of dvbs2-rx to the one achieved with the leandvb application, which must be installed separately. The benchmark can be launched as follows:
./iq-rec-cli bench REC_NAME
Like the rx command, the bench command supports the --cpu and --plot-cpu options to measure and plot the CPU utilization of the receiver threads.