From 1a6e5cdee5f52451c85221b08e10b82865c99848 Mon Sep 17 00:00:00 2001 From: Xavier Arteaga Date: Fri, 9 Apr 2021 18:18:26 +0200 Subject: [PATCH] Demodulator sets LLR to zero for 0.0 symbols --- lib/src/phy/modem/demod_soft.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/src/phy/modem/demod_soft.c b/lib/src/phy/modem/demod_soft.c index dac7a5f09..a81bf1eaf 100644 --- a/lib/src/phy/modem/demod_soft.c +++ b/lib/src/phy/modem/demod_soft.c @@ -928,5 +928,15 @@ int srsran_demod_soft_demodulate_b(srsran_mod_t modulation, const cf_t* symbols, ERROR("Invalid modulation %d", modulation); return -1; } + + uint32_t nof_bits_x_symbol = srsran_mod_bits_x_symbol(modulation); + for (uint32_t i = 0; i < nsymbols; i++) { + if (!isnormal(__real__ symbols[i]) || !isnormal(__imag__ symbols[i])) { + for (uint32_t j = 0; j < nof_bits_x_symbol; j++) { + llr[i * nof_bits_x_symbol + j] = 0; + } + } + } + return 0; }