From b24f930abc4a835a7b7a8a27ccac4e5112eeee35 Mon Sep 17 00:00:00 2001 From: Vladislav P Date: Tue, 29 Sep 2026 23:24:27 +0300 Subject: [PATCH] BeiDou B1C: Enable sum-product algorithm in LDPC decoder This reduces minimum CN0 for stable telemetry decoding from ~28 dB*Hz to ~21 dB*Hz. Signed-off-by: Vladislav P --- src/core/system_parameters/beidou_cnav1_ldpc.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/system_parameters/beidou_cnav1_ldpc.cc b/src/core/system_parameters/beidou_cnav1_ldpc.cc index ed0dc6bd3..912744d6f 100644 --- a/src/core/system_parameters/beidou_cnav1_ldpc.cc +++ b/src/core/system_parameters/beidou_cnav1_ldpc.cc @@ -75,23 +75,23 @@ const BeidouCnav1LdpcGraph& beidou_cnav1_ldpc_graph_88_44() bool beidou_cnav1_ldpc_decode_200_100(const float* symbol_llr, int32_t num_bits, uint8_t* info_bits600) { - return beidou_ldpc_decode(beidou_cnav1_ldpc_graph_200_100(), symbol_llr, num_bits, info_bits600, nullptr); + return beidou_ldpc_decode(beidou_cnav1_ldpc_graph_200_100(), symbol_llr, num_bits, info_bits600, nullptr, true); } bool beidou_cnav1_ldpc_decode_88_44(const float* symbol_llr, int32_t num_bits, uint8_t* info_bits264) { - return beidou_ldpc_decode(beidou_cnav1_ldpc_graph_88_44(), symbol_llr, num_bits, info_bits264, nullptr); + return beidou_ldpc_decode(beidou_cnav1_ldpc_graph_88_44(), symbol_llr, num_bits, info_bits264, nullptr, true); } bool beidou_cnav1_ldpc_decode_200_100_codeword(const float* symbol_llr, int32_t num_bits, uint8_t* codeword_bits1200) { - return beidou_ldpc_decode(beidou_cnav1_ldpc_graph_200_100(), symbol_llr, num_bits, nullptr, codeword_bits1200); + return beidou_ldpc_decode(beidou_cnav1_ldpc_graph_200_100(), symbol_llr, num_bits, nullptr, codeword_bits1200, true); } bool beidou_cnav1_ldpc_decode_88_44_codeword(const float* symbol_llr, int32_t num_bits, uint8_t* codeword_bits528) { - return beidou_ldpc_decode(beidou_cnav1_ldpc_graph_88_44(), symbol_llr, num_bits, nullptr, codeword_bits528); + return beidou_ldpc_decode(beidou_cnav1_ldpc_graph_88_44(), symbol_llr, num_bits, nullptr, codeword_bits528, true); }