summaryrefslogtreecommitdiff
path: root/gr-digital/lib/ofdm_equalizer_simpledfe.cc
diff options
context:
space:
mode:
authorJohnathan Corgan <johnathan@corganlabs.com>2013-05-13 07:36:16 +1000
committerJohnathan Corgan <johnathan@corganlabs.com>2013-05-13 07:36:16 +1000
commita4fe510a69190162452889cd629fa258084f46ff (patch)
tree4da725d8bad7641fb8d9db8b153e61beb313715d /gr-digital/lib/ofdm_equalizer_simpledfe.cc
parentc7a2cecdd4e9e04d66b4b20b9debce86696e6290 (diff)
parent2405532f945576470d1915a4668b91ff35c05775 (diff)
Merge branch 'next' into runtime_pimpl
Conflicts: gr-blocks/swig/blocks_swig0.i gr-digital/lib/ofdm_chanest_vcvc_impl.cc gr-digital/lib/ofdm_frame_equalizer_vcvc_impl.cc gr-digital/lib/ofdm_frame_equalizer_vcvc_impl.h gr-digital/lib/ofdm_sync_sc_cfb_impl.cc gr-digital/lib/packet_header_default.cc gr-digital/lib/packet_headerparser_b_impl.cc
Diffstat (limited to 'gr-digital/lib/ofdm_equalizer_simpledfe.cc')
-rw-r--r--gr-digital/lib/ofdm_equalizer_simpledfe.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/gr-digital/lib/ofdm_equalizer_simpledfe.cc b/gr-digital/lib/ofdm_equalizer_simpledfe.cc
index 8f518aa454..9483683a25 100644
--- a/gr-digital/lib/ofdm_equalizer_simpledfe.cc
+++ b/gr-digital/lib/ofdm_equalizer_simpledfe.cc
@@ -90,10 +90,10 @@ namespace gr {
if (!d_occupied_carriers[k]) {
continue;
}
- if (d_pilot_carriers.size() && d_pilot_carriers[d_pilot_carr_set][k-d_carr_offset]) {
+ if (!d_pilot_carriers.empty() && d_pilot_carriers[d_pilot_carr_set][k]) {
d_channel_state[k] = d_alpha * d_channel_state[k]
- + (1-d_alpha) * frame[i*d_fft_len + k] / d_pilot_symbols[d_pilot_carr_set][k-d_carr_offset];
- frame[i*d_fft_len+k] = d_pilot_symbols[d_pilot_carr_set][k-d_carr_offset];
+ + (1-d_alpha) * frame[i*d_fft_len + k] / d_pilot_symbols[d_pilot_carr_set][k];
+ frame[i*d_fft_len+k] = d_pilot_symbols[d_pilot_carr_set][k];
} else {
sym_eq = frame[i*d_fft_len+k] / d_channel_state[k];
d_constellation->map_to_points(d_constellation->decision_maker(&sym_eq), &sym_est);
@@ -101,7 +101,9 @@ namespace gr {
frame[i*d_fft_len+k] = sym_est;
}
}
- d_pilot_carr_set = (d_pilot_carr_set + 1) % d_pilot_carriers.size();
+ if (!d_pilot_carriers.empty()) {
+ d_pilot_carr_set = (d_pilot_carr_set + 1) % d_pilot_carriers.size();
+ }
}
}