Performance test of Raspberry Pi FT8 decoding
After we launched the first version of RadoPi, many OMs would have such a question: Can the performance of a small Raspberry Pi meet the FT8 QSO? For this reason, we designed a test as close as the actual scene , and used the same data to make a comparison between different versions of RPis and PCs. Let’s start with the conclusion:
Test design:{ Below is translated by Google Translate from our Chinese article } As you know, a full FT8 RX/TX cycle is 30 seconds, one of 15 seconds is the receiving and the other 15 seconds is the transmitting. The actual signal carrier time in each cycle is about 12 ~ 13 seconds. In the case of normal RX/TX, the decoding starts at the end of the 12.6 seconds of carrier. There is about 2.4 seconds to decode and make preparations for the next 15 seconds to transmission. Because FT8 decodes all signals in the 0 ~ 3kHz audio bandwidth in most cases, the more parallel signals, the slower decoding will be. Generally, signals with a high SNR will be decoded faster, while signals with a low SNR will be slower. If it fails to decode within 2.4 seconds, the decoding process will continue to run. If the entire decoding process is completed within 15 seconds, it can catch up with the next transmission cycle. If it is too long to decode, your QSO partner may lose patience and halt TX. Therefore, to achieve a relatively normal communication, the decoding of most signals in one cycle should ideally not exceed 2.4 seconds. Weak signals require more computing, and a faster CPU help to deep decoding of weak signals. In order to have a stable benchmark, we have selected 12 signal segments recorded by WSJT-X that are actually received and distributed at different times in a day, all of which are .wav files. The FT8 signals contained in each file range from 3 to 21 (receiving equipment is IC-7300, filter bandwidth 3.2kHz, a 22.4 meters long wire antenna, 20m band), using WSJT-X 2.2.2 built-in jt9 decoding Engine (consistent with the background call of the WSJT-X‘s GUI). Each model of hardwares runs the following two test cases. Case 1. Normal Decode, the average time to decode all 12 signal segments:First, use the following command to decode all 12 signal segments.
When decoding is done, a summary file of timer.out will be generated in the directory, and the data in the red circle is the total decoding time we need. Divide this value by 12 to get the average decoding time per segment.
Case 2. Deep Decode, the single segment with the most parallel signalsFirst, delete the decoding prediction file jt9_wisdom.dat generated by the previous case:
Then, deep decode the signal segment 200614_153000.wav:
Summary of test results:We tested the above cases in:
The following is a summary of the results (the red words “秒”, pronounce “miǎo”, is “Second” in Chinese.) . “21个” In the last column means there are 21 calls were decoded when deep decoding the single segment.
There is a Chart of the 7 computers decoding time.
It can be seen that:
We don’t have a Raspberry Pi 3B+ , and there is no result about it. However, we uploaded the 12 signals’ wav files to https://radiopi.club. If you are interested in this test, you can download and test it by yourself. Downloading link:https://radiopi.club/downloads/ft8_samples/ft8_samples.tar.xz 73 BI1EIH, Translated by BG6LH and Google Translate. --https://radiopi.club
|
|