From 2e5f845b1108b9469f4aed3e8b1b46e2a509f196 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Fri, 5 Apr 2024 20:16:24 +1030 Subject: adjusted UW thresh and EsNo for LDPC decoder - PER < 0.1 with 100 packets mpp at 15dB-ish SNR --- octave/ofdm_mode.m | 2 +- src/ofdm_demod.c | 4 +--- src/ofdm_mode.c | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/octave/ofdm_mode.m b/octave/ofdm_mode.m index a49c94a..12470e8 100644 --- a/octave/ofdm_mode.m +++ b/octave/ofdm_mode.m @@ -61,7 +61,7 @@ function config = ofdm_init_mode(mode="700D") config.amp_est_mode = 1; config.EsNodB = 10; elseif strcmp(mode,"qam16c2") Ns=5; config.Np=31; Tcp = 0.004; Ts = 0.016; Nc = 33; config.data_mode = "streaming"; - config.bps=4; config.Ntxtbits = 0; config.Nuwbits = 42*4; config.bad_uw_errors = 15; + config.bps=4; config.Ntxtbits = 0; config.Nuwbits = 42*4; config.bad_uw_errors = 50; config.ftwindow_width = 80; config.amp_scale = 135E3; config.state_machine = "data"; config.amp_est_mode = 1; config.EsNodB = 10; config.tx_uw = zeros(1,config.Nuwbits = 42*4); diff --git a/src/ofdm_demod.c b/src/ofdm_demod.c index e855e5e..84439d9 100644 --- a/src/ofdm_demod.c +++ b/src/ofdm_demod.c @@ -408,9 +408,7 @@ int main(int argc, char *argv[]) { else Ndiscard = 1; /* much longer packets, so discard thresh smaller */ - float EsNo = 3.0f; - - if (verbose == 2) fprintf(stderr, "Warning EsNo: %f hard coded\n", EsNo); + float EsNo = pow(10.0, ofdm->EsNodB / 10.0); /* More logging */ COMP payload_syms_log[NFRAMES][Npayloadsymsperpacket]; diff --git a/src/ofdm_mode.c b/src/ofdm_mode.c index 0c616de..8034380 100644 --- a/src/ofdm_mode.c +++ b/src/ofdm_mode.c @@ -103,7 +103,7 @@ void ofdm_init_mode(char mode[], struct OFDM_CONFIG *config) { config->txtbits = 0; config->nuwbits = 42 * 4; assert(config->nuwbits <= MAX_UW_BITS); - config->bad_uw_errors = 15; + config->bad_uw_errors = 50; config->ftwindowwidth = 80; config->state_machine = "data"; config->amp_est_mode = 1; -- cgit v1.2.3