From 198dbc2e24fd8a5f816d64d1795cecbd4b1b1b23 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Thu, 10 Jul 2025 09:01:10 +0200 Subject: [PATCH] adde meta info in symbol() --- encode.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/encode.cc b/encode.cc index 9533438..ab8cc47 100644 --- a/encode.cc +++ b/encode.cc @@ -94,6 +94,11 @@ struct Encoder : public Common } void symbol(int symbol_number) { + if (symbol_number >= 0) { + hadamard_encoder(meta, symbol_number ? symbol_number : oper_mode); + for (int i = 0; i < pilot_tones; ++i) + tone[block_length*i+pilot_off] *= meta[i]; + } for (int i = 0; differential && i < tone_count; ++i) if (symbol_number < 0) prev[i] = 1; @@ -289,10 +294,9 @@ struct Encoder : public Common for (int j = 0, k = 0; j < symbol_count; ++j) { pilot_off = (block_skew * j + first_pilot) % block_length; reserved_off = (block_skew * j + first_reserved) % block_length; - hadamard_encoder(meta, j ? j : oper_mode); - for (int i = 0, m = 0; i < tone_count; ++i) { + for (int i = 0; i < tone_count; ++i) { if (i % block_length == pilot_off) { - tone[i] = nrz(seq1()) * meta[m++]; + tone[i] = nrz(seq1()); } else if (i % block_length == reserved_off) { tone[i] = 0; } else {