我怎么修改这个代码来估计信道不使用飞行员的位置?

6视图(30天)
函数[H_MMSE] = MMSEesti (Y, Xp, pilot_loc Nfft, Nps, h,信噪比)
% MMSE信道估计函数
%的输入:
% Y =频域接收信号
% Xp =控制信号
% pilot_loc =飞行员的位置
% Nfft = FFT的大小
% Nps =飞行员间距
% h =通道脉冲响应
%信噪比=信噪比(dB)
%输出:
% H_MMSE = MMSE信道估计
信噪比= 10 ^(信噪比* 0.1);Np = Nfft / Nps;k = 1: Np;
H_tilde = Y (pilot_loc (k)) / Xp (k);% LS估计Eq。(6.12)或(6.8)
k = 0:长度(h) 1;% k_ts = k * ts;
hh = h * h ';tmp = h。*连词(h)。* k;% tmp = h。*连词(h)。* k_ts;
r = (tmp) / hh总和;r2 = tmp * k。/ hh;% r2 = tmp * k_ts。/ hh;
tau_rms =√r2-r ^ 2);% rms延迟
df = 1 / Nfft;% 1 / (ts * Nfft);
j2pi_tau_df = 1 * 2 *π* tau_rms * df;
K1 = repmat ([0: Nfft-1]。”, 1, Np);K2 = repmat ([0: Np-1], Nfft, 1);
射频= 1. / (1 + j2pi_tau_df * Nps * (k1 k2));% Eq。(6.17)
K3 = repmat ([0: Np-1]。”, 1, Np);K4 = repmat ([0: Np-1], Np, 1);
rf2 = 1. / (1 + j2pi_tau_df * Nps * (K3-K4));% Eq。(6.17)
右投手=射频;
齿槽= rf2 +眼(长度(H_tilde), (H_tilde)) /信噪比;% Eq。(6.14)
H_MMSE = '(右投手*发票(Rpp) * H_tilde。');% MMSE估计Eq。(6.15)
结束

答案(0)

类别

找到更多的在链接级仿真帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!