From da034e9669cb4282e08b348a8d1d26e118e95360 Mon Sep 17 00:00:00 2001 From: mychele Date: Wed, 29 Jul 2020 09:42:55 -0700 Subject: [PATCH] Fix d_prev_pilots for symbols 0 and 1 in frame_equalizer_impl.cc --- lib/frame_equalizer_impl.cc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/frame_equalizer_impl.cc b/lib/frame_equalizer_impl.cc index dbe7288..8667cbb 100644 --- a/lib/frame_equalizer_impl.cc +++ b/lib/frame_equalizer_impl.cc @@ -153,11 +153,6 @@ frame_equalizer_impl::general_work (int noutput_items, } gr_complex p = equalizer::base::POLARITY[(d_current_symbol - 2) % 127]; - gr_complex sum = - (current_symbol[11] * p) + - (current_symbol[25] * p) + - (current_symbol[39] * p) + - (current_symbol[53] * -p); double beta; if(d_current_symbol < 2) { @@ -183,10 +178,17 @@ frame_equalizer_impl::general_work (int noutput_items, er *= d_bw / (2 * M_PI * d_freq * 80); - d_prev_pilots[0] = current_symbol[11] * p; - d_prev_pilots[1] = current_symbol[25] * p; - d_prev_pilots[2] = current_symbol[39] * p; - d_prev_pilots[3] = current_symbol[53] * -p; + if(d_current_symbol < 2) { + d_prev_pilots[0] = current_symbol[11]; + d_prev_pilots[1] = -current_symbol[25]; + d_prev_pilots[2] = current_symbol[39]; + d_prev_pilots[3] = current_symbol[53]; + } else { + d_prev_pilots[0] = current_symbol[11] * p; + d_prev_pilots[1] = current_symbol[25] * p; + d_prev_pilots[2] = current_symbol[39] * p; + d_prev_pilots[3] = current_symbol[53] * -p; + } // compensate residual frequency offset for(int i = 0; i < 64; i++) {