aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrowe67 <[email protected]>2024-04-05 20:16:24 +1030
committerDavid Rowe <[email protected]>2024-04-05 20:16:24 +1030
commit2e5f845b1108b9469f4aed3e8b1b46e2a509f196 (patch)
tree5437c1cd2409a3347a11536b9f9d4821719f34a7
parent1b2a4a797b007af00bd501a0999bce85bc7624e1 (diff)
adjusted UW thresh and EsNo for LDPC decoder - PER < 0.1 with 100 packets mpp at 15dB-ish SNR
-rw-r--r--octave/ofdm_mode.m2
-rw-r--r--src/ofdm_demod.c4
-rw-r--r--src/ofdm_mode.c2
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;