平坦衰落信道的MATLAB仿真.doc
《平坦衰落信道的MATLAB仿真.doc》由会员分享,可在线阅读,更多相关《平坦衰落信道的MATLAB仿真.doc(2页珍藏版)》请在冰豆网上搜索。
平坦衰落信道的MATLAB仿真
仿真代码如下
function[h]=Rayleigh_singlePath(fd,t)%产生瑞利衰落信道
fc=900*10^6;%选取载波频率
v1=30*1000/3600;%移动速度v1=30km/h
c=3*10^8;%定义光速
fd=v1*fc/c;%多普勒频移
ts=1/10000;%信道抽样时间间隔
t=0:
ts:
1;%生成时间序列
h1=Rayleigh_singlePath(fd,t);%产生信道数据
v2=90*1000/3600;%移动速度v2=90km/h
fd=v2*fc/c;%多普勒频移
h2=Rayleigh_singlePath(fd,t);%产生信道数据
subplot(2,1,1),plot(20*log10(abs(h1(1:
10000))))
title('v=30km/h时的信道曲线')
xlabel('时间');ylabel('功率')
subplot(2,1,2),plot(20*log10(abs(h2(1:
10000))))
title('v=90km/h时的信道曲线')
xlabel('时间');ylabel('功率')
function[h]=Rayleigh_singlePath(fd,t)
%该程序利用改进的jakes模型来产生单径的平坦型瑞利衰落信道
%输入变量说明:
%fd:
信道的最大多普勒频移单位Hz
%t:
信号的抽样时间序列,抽样间隔单位s
%h为输出的瑞利信道函数,是一个时间函数复序列
N=30;%假设的入射波数目
wm=2*pi*fd;
M=N/4;%每象限的入射波数目即振荡器数目
Tc=zeros(1,length(t));%信道函数的实部
Ts=zeros(1,length(t));%信道函数的虚部
sigma=sqrt(1/M);%归一化功率系
theta=2*pi*rand(1,1)-pi;%区别个条路径的均匀分布随机相位
forn=1:
M
%第i条入射波的入射角
alfa(n)=(2*pi*n-pi+theta)/N;
fi_tc=2*pi*rand(1,1)-pi;%对每个子载波而言在(-pi,pi)之间均匀分布的随机相位
fi_ts=2*pi*rand(1,1)-pi;
Tc=Tc+2*cos(wm*t*cos(alfa(n))+fi_tc);
Ts=Ts+2*cos(wm*t*sin(alfa(n))+fi_ts);%计算冲激响应函数
end;
h=sigma*(Tc+j*Ts);%乘归一化功率系数得到传输函数