Hi Aditya,
What's use of pilot symbols in "ofdm_equalizer_simpledfe" ?
I just found pilot symbols update their carrier's channel state, but
didn't find what's the use of these pilot channel state, seems them has
no relate with data symbol, data symbol also only use themselves to
update channel state.
for (int i = 0; i < n_sym; i++) {
for (int k = 0; k < d_fft_len; k++) {
if (!d_occupied_carriers[k]) {
continue;
}
if (!d_pilot_carriers.empty() &&
d_pilot_carriers[d_pilot_carr_set][k]) {
======> //didn't find any use of these channel state in pilot
carriers <=========
//seems has not relate with data symbol
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];
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);
d_channel_state[k] = d_alpha *
d_channel_state[k]
+ (1-d_alpha) * frame[i*d_fft_len + k]
/ sym_est;
frame[i*d_fft_len+k] = sym_est;
}
}
if (!d_pilot_carriers.empty()) {
d_pilot_carr_set = (d_pilot_carr_set + 1) %
d_pilot_carriers.size();
}
}
在 2014年09月04日 22:59, Tiankun Hu 写道:
Aditya, thanks your clarify !
在 2014年09月04日 21:31, Aditya Dhananjay 写道:
On Thu, Sep 4, 2014 at 9:04 AM, Tiankun Hu <tiankun...@foxmail.com
<mailto:tiankun...@foxmail.com>> wrote:
Hi Martin,
Could you tell me the reference paper that you used in
ofdm_equalizer_simpledfe?
Hello Tiankun,
A decision feedback equalizer (DFE) works like this:
The equalizer keeps track of the channel estimate on every subcarrier
i. Call this estimate H_i. The initial values of H_i are provided by the
Schmidl-Cox block, and these values are calculated from the SYNC symbols
present in every packet.
Now, when a symbol r_i is received on subcarrier i, it is equalized
using the estimate H_i. The equalized symbol is matched to the nearest
constellation point. Let this symbol be R_i. Now, the new estimate of
H_i is calculated from r_i and R_i. This new value of H_i is then used
for the next symbol on subcarrier i.
DFE works well when the channel changes slowly across time. However, if
there is substantial residual CFO (carrier frequency offset) or Doppler,
then errors are possible. Substantial channel variations across
subcarrier indices is irrelevant, because DFE maintains an independent
channel estimate H_i for each subcarrier i.
Good luck with GNU Radio. :)
Best,
Aditya
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
--
Thanks
Tiankun
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio