rx_phase_tracker.m

来自「数据辅助的载波相位跟踪」· M 代码 · 共 20 行

M
20
字号

function corrected_syms = rx_phase_tracker(freq_data_syms, freq_pilot_syms, channel_est, sim_options)%OFDMP50,freq_data_syms相当于子载波接收符号Rnk,
%freq_pilot_syms相当于导引符号Pnk,channel_est相当于信道估计Hk,皆为频域
%载波相位跟踪
global sim_consts;

num_symbols = size(freq_data_syms,3);%获取符号个数?????查看receivere.m及re_timed_to_freqd.m
corrected_syms = zeros(sim_consts.NumDataSubc, num_symbols);%数据子载波数sim.NumDataSubc为48,48*num_symbols的矩阵

if sim_options.PilotPhaseTracking      %如果选中复选框Pilot Phase Tracking,则执行语句
   % estimate the phase change using the pilots
   correction_phases = rx_pilot_phase_est(freq_pilot_syms, channel_est, sim_options);  %利用函数rx_pilot_phase_est获得相位变化估算
   
   % correct symbol using the phase estimate of this one OFDM symbol,
   corrected_syms = exp(-j*correction_phases).*freq_data_syms;   %利用相位估算纠正符号
  
else                                   %如果没选中复选框Pilot Phase Tracking,赋予默认值
   corrected_syms = freq_data_syms;    %默认值:纠正符号就是接受符号
end

⌨️ 快捷键说明

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