rx_estimate_channel.m

来自「ofdm系统仿真」· M 代码 · 共 19 行

M
19
字号
% Channel estimation
function channel_estimate = rx_estimate_channel(freq_tr_syms, cir, sys_parm)
    
    global ofdm_data_parm_const;

    channel_estimate = ones(1, sys_parm.TotNumSubc);
    
    if sys_parm.ChannelEestimation
        mean_symbols = mean(freq_tr_syms);
        channel_est = mean_symbols ./ ofdm_data_parm_const.LongTrainingSymbol;
        channel_estimate(ofdm_data_parm_const.UsedSubcIdx) = channel_est;
    else
        %Known channel estimate
        channel_est = fft([cir, zeros(1, sys_parm.TotNumSubc * sys_parm.OverSamp - length(cir))]);
        channel_est = channel_est([1 : sys_parm.TotNumSubc / 2, sys_parm.TotNumSubc * sys_parm.OverSamp - sys_parm.TotNumSubc / 2 + 1: ...
            sys_parm.TotNumSubc * sys_parm.OverSamp]);
        channel_estimate(ofdm_data_parm_const.UsedSubcIdx) = channel_est(ofdm_data_parm_const.UsedSubcIdx);
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?