From 8ac95dc1a0fea8aed679887133430bcbc9330a72 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Tue, 17 Apr 2018 09:37:16 +0000 Subject: [PATCH] better fr by fr stats when interleaver used git-svn-id: https://svn.code.sf.net/p/freetel/code@3495 01035d8c-6547-0410-b346-abe4f91aad63 --- codec2-dev/src/ofdm_demod.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/codec2-dev/src/ofdm_demod.c b/codec2-dev/src/ofdm_demod.c index bb6d32d5..10907a7b 100644 --- a/codec2-dev/src/ofdm_demod.c +++ b/codec2-dev/src/ofdm_demod.c @@ -104,7 +104,7 @@ int main(int argc, char *argv[]) int i, j, f, oct, logframes, arg, llr_en, interleave_frames; int Nerrs, Terrs, Tbits, Terrs2, Tbits2, testframes, frame_count; - int ldpc_en, Nerrs_coded, Tbits_coded, Terrs_coded, Nerrs_raw; + int ldpc_en, Tbits_coded, Terrs_coded; struct LDPC ldpc; ldpc.max_iter = HRA_112_112_MAX_ITER; @@ -184,7 +184,12 @@ int main(int argc, char *argv[]) ldpc_en = 1; llr_en = 1; } - + int Nerrs_raw[interleave_frames]; + int Nerrs_coded[interleave_frames]; + for(i=0; isync_state_interleaver, next_sync_state_interleaver); - Nerrs_raw = Nerrs_coded = 0; if (!strcmp(ofdm->sync_state_interleaver,"synced") && (ofdm->frame_count_interleaver == interleave_frames)) { ofdm->frame_count_interleaver = 0; // printf("decode!\n"); - + if (testframes) { /* measure uncoded (raw) bit errors over interleaver frame */ @@ -312,10 +316,10 @@ int main(int argc, char *argv[]) } } - Nerrs_raw += Nerrs; + Nerrs_raw[j] = Nerrs; + Terrs += Nerrs; + Tbits += Nbitsperframe; } - Terrs += Nerrs_raw; - Tbits += Nbitsperframe*interleave_frames; } for (j=0; jsync_start) { Terrs = Tbits = Terrs2 = Tbits2 = Terrs_coded = Tbits_coded = frame_count = 0; + for(i=0; iverbose) { - fprintf(stderr, "f: %2d st: %-10s uw_errs: %2d %1d inter_st: %-10s inter_fr: %d Nerrs_raw: %3d Nerrs_coded: %3d foff: %4.1f", + int r = ofdm->frame_count_interleaver % interleave_frames; + fprintf(stderr, "f: %2d st: %-10s uw_errs: %2d %1d inter_st: %-10s inter_fr: %2d Nerrs_raw: %3d Nerrs_coded: %3d foff: %4.1f", f, ofdm->last_sync_state, ofdm->uw_errors, ofdm->sync_counter, ofdm->last_sync_state_interleaver, ofdm->frame_count_interleaver, - Nerrs_raw, Nerrs_coded, ofdm->foff_est_hz); + Nerrs_raw[r], Nerrs_coded[r], ofdm->foff_est_hz); fprintf(stderr, "\n"); } -- 2.25.1