From 16b5f7e5c973cd330bd3903e29fc02a77b956cd2 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Wed, 30 Jul 2025 08:08:31 +0200 Subject: [PATCH] minor cleanup --- common.hh | 2 +- decode.cc | 15 +++++++-------- encode.cc | 3 ++- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/common.hh b/common.hh index d1f55a4..f5e7c4f 100644 --- a/common.hh +++ b/common.hh @@ -33,7 +33,7 @@ struct Common CODE::CRC crc0; CODE::CRC crc1; CODE::HadamardEncoder<7> hadamard_encoder; - int8_t side[64]; + int8_t side[side_tones]; uint8_t data[data_max]; const uint32_t *frozen_bits; int mod_bits; diff --git a/decode.cc b/decode.cc index 82ddcb4..89b9a18 100644 --- a/decode.cc +++ b/decode.cc @@ -295,20 +295,19 @@ struct Decoder : Common } for (int i = 0; i < tone_count; ++i) tone[i] = fdom[bin(i+tone_off)]; - for (int i = 0; i < tone_count; ++i) - if (i % block_length == side_off) - tone[i] *= nrz(seq1()); + for (int i = side_off; i < tone_count; i += block_length) + tone[i] *= nrz(seq1()); for (int i = 0; i < tone_count; ++i) demod[i] = demod_or_erase(tone[i], chan[i]); for (int i = 0; i < side_tones; ++i) side[i] = clamp(std::nearbyint(127 * demod[i*block_length+side_off].real())); - int side_data = hadamard_decoder(side); - if (side_data < 0) { - std::cerr << "side data damaged" << std::endl; + int side_info = hadamard_decoder(side); + if (side_info < 0) { + std::cerr << "side info damaged" << std::endl; oper_mode = -1; break; } - hadamard_encoder(side, side_data); + hadamard_encoder(side, side_info); for (int i = 0; i < side_tones; ++i) { tone[block_length*i+side_off] *= side[i]; demod[block_length*i+side_off] *= side[i]; @@ -325,7 +324,7 @@ struct Decoder : Common for (int i = 0; i < tone_count; ++i) chan[i] *= DSP::polar(1, tse(i+tone_off)); CODE::XorShiftMask combination; - int trial = side_data; + int trial = side_info; int comb = 0; for (int i = 0; i <= trial; ++i) comb = combination(); diff --git a/encode.cc b/encode.cc index fb9f036..169103f 100644 --- a/encode.cc +++ b/encode.cc @@ -7,6 +7,7 @@ Copyright 2021 Ahmet Inan #include #include #include +#include #include #include #include "common.hh" @@ -34,7 +35,7 @@ struct Encoder : public Common DSP::FastFourierTransform fwd; DSP::FastFourierTransform bwd; CODE::PolarEncoder polar_encoder; - code_type code[bits_max], perm[bits_max], mesg[bits_max], meta[256]; + code_type code[bits_max], perm[bits_max], mesg[bits_max], meta[data_tones]; cmplx fdom[symbol_len]; cmplx tdom[symbol_len]; cmplx best[symbol_len];