ofdm_demod.m

来自「本程序是MIMO-OFDM 系统的信道估计程序」· M 代码 · 共 24 行

M
24
字号
function ofdm_sym = ofdm_demod( fine_freq_out, PrefixRatio, N_subc, N_sym_ts, N_ts ,N_Rx_ant ,AddChFreq)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 实现OFDM的基本解调

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if ~AddChFreq
    
    ofdm_sym = zeros(N_subc,N_sym_ts*N_ts,N_Rx_ant);
    cp_len = round(PrefixRatio*N_subc);
    
    for ant = 1:N_Rx_ant
        ofdm_tmp = reshape( fine_freq_out(1,:,ant), N_subc*(1+PrefixRatio) , N_sym_ts*N_ts );
        cp_cut = ofdm_tmp( cp_len + 1:end,: );
        % fft乘1/sqrt(N_subc)以保证变换前后能量不变
        % 我们假设频域的样点是在[-fs/2  fs/2]中的, fs是采样频率
        % fftshift目的是使得变换后的频域样点在[-fs/2  fs/2]中,而不是[0 fs]中
        ofdm_sym(:,:,ant) = fftshift(1/sqrt(N_subc) * fft( cp_cut ), 1);
    end
    
else
    ofdm_sym = NaN;
end

⌨️ 快捷键说明

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