📄 channelestimate.m
字号:
function HLs=ChannelEstimate(SymFFT,OFDM_per_Symbol,Np,training_symbols,Carrier_Num,LI,pilot)
SymFFT1=SymFFT.';
Rx_training_symbols=SymFFT1(:,pilot);
Rx_training_symbols0=reshape(Rx_training_symbols,OFDM_per_Symbol*Np,1);
training_symbols0=reshape(training_symbols,1,OFDM_per_Symbol*Np);
training_symbols1=diag(training_symbols0);
training_symbols2=inv(training_symbols1);
Hls=training_symbols2*Rx_training_symbols0;
Hls1=reshape(Hls,OFDM_per_Symbol,Np);
HLs=[];
HLs2=[];
if mod(Carrier_Num,LI)==0
for k=1:Np-1
HLs2=[];
for j=1:LI
HLs1(:,1)=(Hls1(:,k+1)-Hls1(:,k))*(j-1)/LI+Hls1(:,k);
HLs2=[HLs2,HLs1];
end
HLs=[HLs,HLs2];
end
else
for k=1:Np-2
for j=1:LI
HLs1(:,1)=(Hls1(:,k+1)-Hls1(:,k))*(j-1)/LI+Hls1(:,k);
HLs2=[HLs2,HLs1];
end
HLs=[HLs,HLs2];
end
HLs3=[];
for j=1:mod(Carrier_Num,LI)
HLs1(:,1)=(Hls1(:,Np)-Hls1(:,Np-1))*(j-1)/LI+Hls1(:,Np-1);
HLs3=[HLs3,HLs1];
end
HLs=[HLs2 HLs3];
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -