From 0c2404519ddb5ec6ba47e1faec416783e8bb4aba Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Sun, 12 Feb 2023 11:30:02 +0100 Subject: [PATCH] added half a second of leading noise --- encode.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/encode.cc b/encode.cc index 0c76fc9..8b792e4 100644 --- a/encode.cc +++ b/encode.cc @@ -68,6 +68,17 @@ struct Encoder for (int i = 0; i < guard_len; ++i) guard[i] = tdom[i]; } + void leading_noise() { + CODE::MLS seq(0b100101010001); + value factor = std::sqrt(value(symbol_len) / value(subcarrier_count)); + for (int i = 0; i < symbol_len; ++i) + fdom[i] = 0; + for (int j = 0; j < 14; ++j) { + for (int i = 0; i < subcarrier_count; ++i) + fdom[first_subcarrier+i] = factor * cmplx(nrz(seq()), nrz(seq())); + symbol(); + } + } void schmidl_cox() { CODE::MLS seq(0b1100111); @@ -92,6 +103,7 @@ struct Encoder } Encoder(DSP::WritePCM *pcm, const uint8_t *inp) : pcm(pcm), crc(0x8F6E37A0) { + leading_noise(); schmidl_cox(); meta_data(1); for (int i = 0; i < data_bits; ++i)