📄 my_rayleighchannel.m
字号:
% TransData = t_preamble_cp(1,:);
% SymbolNum = 0;
% snr = 20;
% f_max = 50;
function TempChannelOut = RayleighChannel(TransData,SymbolNum,N_LTF,snr,f_max)
fd1 = f_max;
fd2 = f_max*cos(pi/6);
fd3 = f_max*cos(pi/3);
signalpower = mean(abs(TransData).^2);
DataSymbolNum = SymbolNum+N_LTF; %%%%%% Total Data length:SymbolNum data symbol,N_LTF preamble
%%%%%% Wireless Channel is modeled as three sub-channels with delay 0T,4T,6T
Gain = [1, 0.5 ,0.2]; %%%%%% Channel gains are exponetial decayed ,as 1, 0.5, 0.2 for each Rayleigh sub-channel
%A =sqrt(Gain(1)^2+Gain(2)^2+Gain(3)^2);
A =Gain(1)+Gain(2)+Gain(3);
h0 = Gain(1)*my_rayleigh(fd1,DataSymbolNum,snr,signalpower)/10/A;
h4 = Gain(2)*my_rayleigh(fd2,DataSymbolNum,snr,signalpower)/10/A;
h6 = Gain(3)*my_rayleigh(fd3,DataSymbolNum,snr,signalpower)/10/A;
Len=length(TransData);
for k=1:1:Len
if ( k==1 | k==2 | k==3 | k==4)
TempChannelOut(k)=TransData(k)*h0(k);
elseif ( k==5 | k==6)
TempChannelOut(k)=TransData(k)*h0(k) + TransData(k-4)*h4(k);
else
TempChannelOut(k)=TransData(k)*h0(k) + TransData(k-4)*h4(k) + TransData(k-6)*h6(k);
end
end
% Signal_Power = 10*log10(mean(abs(TempChannelOut).^2));
%
% RayleighChannelOut = AWGN(TempChannelOut,snr,Signal_Power,'db');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -