Skip to content

Comments

feat: Add BER/FER benchmark for nrLDPCDecode#77

Open
AlonNaor22 wants to merge 2 commits intocatkira:masterfrom
AlonNaor22:feat/ldpc-ber-fer-benchmark
Open

feat: Add BER/FER benchmark for nrLDPCDecode#77
AlonNaor22 wants to merge 2 commits intocatkira:masterfrom
AlonNaor22:feat/ldpc-ber-fer-benchmark

Conversation

@AlonNaor22
Copy link

Summary

  • Full encode-modulate-noise-demodulate-decode pipeline benchmark for nrLDPCDecode
  • Generates random data, LDPC encodes, QPSK modulates, adds AWGN noise, QPSK demodulates, LDPC decodes, then measures BER and FER
  • Pytest verifies zero errors at high SNR (5 dB Eb/N0)
  • Standalone __main__ sweeps Eb/N0 from -1 to 5 dB and prints a BER/FER table showing the expected LDPC waterfall curve

Example output

LDPC BER/FER Benchmark
  Base graph: 2, K=2560, F=36, N=12800, rate=0.200
  Modulation: QPSK, 10 frames/point

  Eb/N0 (dB)          BER          FER
----------------------------------------
         0.0     0.370721       1.0000
         1.0     0.340927       1.0000
         2.0     0.002179       0.2000
         3.0     0.000000       0.0000
         5.0     0.000000       0.0000

Files changed

  • tests/test_nrLDPCDecode_BER.py (new)

Test plan

  • pytest tests/test_nrLDPCDecode_BER.py passes (1 passed in 4.6s)
  • Standalone sweep produces expected LDPC waterfall behavior

Closes #50

🤖 Generated with Claude Code

Full pipeline test: nrLDPCEncode -> nrSymbolModulate (QPSK) -> AWGN
channel -> nrSymbolDemodulate (QPSK) -> nrLDPCDecode, measuring bit
error rate and frame error rate across SNR points.

Closes catkira#50

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@catkira
Copy link
Owner

catkira commented Feb 6, 2026

nice work, can u also generate a BER plot put it in a docs folder and reference it in README.md?

@AlonNaor22
Copy link
Author

AlonNaor22 commented Feb 6, 2026 via email

@catkira
Copy link
Owner

catkira commented Feb 6, 2026

or ur agent :)

@AlonNaor22
Copy link
Author

i mean in this day and age is feels wrong to ignore this

@catkira
Copy link
Owner

catkira commented Feb 6, 2026

I agree, I use it a lot myself

Add plot generation script and resulting PNG showing the classic LDPC
waterfall curve. Reference the plot in README.md so it is visible on
the project landing page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

create BER/FER benchmark for nrLDPCDecode()

2 participants