Conversation
- test/check_snr.py: reads radae_rxe.py verbose output, averages SNRdB over last N sync frames, checks against expected SNR3k within tolerance - CMakeLists.txt: radae_snr_est_high (EbNodB 10, SNR3k 8.24 dB ±2 dB) and radae_snr_est_low (EbNodB 5, SNR3k 3.24 dB ±2 dB) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
.github/workflows/run_ctest.yml
Outdated
| shell: bash | ||
| working-directory: ${{github.workspace}} | ||
| run: | | ||
| git clone https://github.com/tmiw/radae_nopy.git |
There was a problem hiding this comment.
@tmiw - so is this the right repo to be testing? Like is it synced with Peter's latest and greatest?
There was a problem hiding this comment.
Also = should we be building with the optimisation flags? The C version still runs pretty slow unoptimised (especially the acquisition)
There was a problem hiding this comment.
Might be better to put this back on Peter's repo. Will do so now.
Re: optimization, we probably should do at least a bit of work to make sure the difference between optimized and not optimized isn't crazy huge. After the current round of testing?
There was a problem hiding this comment.
Sure. I've already run the ctests with radae_nopy configued with cmake -DCMAKE_BUILD_TYPE=Release .. and they passed 👍
…Python receivers check_snr.py: use re.search(r'state:\s+sync') instead of literal 'state: sync' to match both Python radae_rxe.py (single space) and C radae_rx (padded spaces) formats. CMakeLists.txt: replace hardcoded --snr3k targets with the Measured SNR3k parsed dynamically from inference.sh stdout. The hardcoded values were Target SNR3k which is ~0.8 dB higher than Measured due to PAPR under --peak normalisation. Tighten tolerance from 3.0 to 2.0 dB now that the correct reference is used (worst observed error 1.43 dB). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Three new ctests exercising the modem equalization code via QPSK BER: - radae_nopy_ber: noiseless check (BER must be 0.0000) - radae_nopy_ber_awgn: AWGN at EbNodB=0, BER < theoretical QPSK target with 2 dB implementation loss allowance - radae_nopy_ber_mpp: MPP two-path Rayleigh at EbNodB=0, BER < theoretical two-path target with 2 dB implementation loss allowance Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@tmiw - I have some radae_nopy code to support a nopy version of the inference_ber* tests that I'd like to push to the main branch of your fork please. So I'd need permission (added as a collaborator) to push to that repo. Or happy to put it somewhere else (Peter's repo?) if that's easier. Just let me know. This completes all of the tests I can think of to sign off on the nopy C Port. |
I'd say to make a PR on Peter's repo with these changes. EDIT: Peter still needs to merge peterbmarks/radae_nopy#2. |
This branch supports testing of the RADE V1 C port https://github.com/peterbmarks/radae_nopy, by applying the same suite of tests that is applied to the Python version of RADE V1.
This branch is currently not for merge, but we could consider merging if the C Port tests are set up to be optional, e.g. via a
cmakevariable.Instructions
radae_nopy. (optionally usecmake -DCMAKE_BUILD_TYPE=Release ..for faster, optimised code)radae_nopy/build(default~/radae_nopy/build)