📄 channelaerot1.m
字号:
function [zz,DopCom]=ChannelAeroT1(data);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%function [zz,DopCom]=ChannelAeroT1(data);
%Taxi Channel ,Doppler 250Hz
NumChan=20; %散射信道数
FDopMax=250;
FdLos2FdMax=0.7;
TaoMax=0.7e-6;
TaoSlop=0.1081e-6;
Phh1=360*(pi/180);
Phl1=(9/5)*pi;
Phh2=(4/5)*pi;
Phl2=0*(pi/180);
Tsap=1/492000;
Tsym=1/3840;
L=20;
KRice=0;
x=data;
Fd=zeros(1,NumChan); %采用通过(0,1)均匀分布随机数通过PDF逆函数映射方式产生随机数,
Un=rand(1,NumChan/2); %注意!ATTENTION =每一个随机变量要有不同均匀分布随机数独立产生
Fd(1:NumChan/2)=FDopMax*cos(Phl1+(Phh1-Phl1)*Un);
Un=rand(1,NumChan/2);
Fd(NumChan/2+1:NumChan)=FDopMax*cos(Phl2+(Phh2-Phl2)*Un);
Un=rand(1,NumChan);
Tao=-TaoSlop*log(1-Un*(1-exp(-TaoMax/TaoSlop)));
Un=rand(1,NumChan);
Phn=Un*2*pi;
N=length(x);
yy=zeros(1,N);
DopCom=zeros(1,N);
%generate signal via scatering channel
for kk=1:N
for nn=1:NumChan
Mid=round(Tao(nn)/Tsap);
Low=Mid-L/2;
High=Mid+L/2;
tempii=0;
for ii=Low:High
temp=pi*(ii-Tao(nn)/Tsap+1e-30);
if ((kk-ii)>0)&&((kk-ii)<N+1)
tempii=tempii+ x(kk-ii)*sin(temp)/(temp);
end
end
exp(j*Phn(nn)+j*2*pi*Fd(nn)*kk*Tsap)*tempii
Phn(nn)
2*pi*Fd(nn)*kk*Tsap
input('>')
yy(kk)=yy(kk)+exp(j*Phn(nn)+j*2*pi*Fd(nn)*kk*Tsap)*tempii;
end
end
kk=1:N;
x=x.*exp(j*2*pi*(FdLos2FdMax*FDopMax)*kk*Tsap); %signal via LOS
yy=(1/sqrt(NumChan))*yy;
Ain=mean(abs(x).^2);
Ra=mean(abs(x).^2)/var(yy);
KR=KRice/Ra;
yy=(sqrt(1/(KR+1)))*yy;
x=(sqrt(KR/(KR+1)))*x;
%Rou=mean(abs(x).^2)/var(yy)
zz=(x+yy);
Po=mean(abs(zz).^2);
Pi=mean(abs(data).^2);
zz=sqrt(Pi/Po)*zz;
%mean(abs(zz).^2);
%kk=1:N;
DopCom=exp(-j*2*pi*(FdLos2FdMax*FDopMax)*kk*Tsap);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -