📄 rx_phase_tracker.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -