您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Matlab下多径衰落信道的仿真代码
衰落信道参数包括多径扩展和多普勒扩展。时不变的多径扩展相当于一个延时抽头滤波器,而多普勒扩展要注意多普勒功率谱密度,通常使用Jakes功率谱、高斯、均匀功率谱。多径衰落信道由单径信道叠加而成,而单径信道中最重要的就是瑞利(Rayleigh)平坦衰落信道。下面给出瑞利平坦衰落信道的改进Jakes模型的实现:function[h]=rayleigh(fd,t)%改进的jakes模型来产生单径的平坦型瑞利衰落信道%YahongR.ZhengandChengshanXiaoImprovedModelsfor%theGenerationofMultipleUncorrelatedRayleighFadingWaveforms%IEEECommuletters,Vol.6,NO.6,JUNE2002%输入变量说明:%fd:信道的最大多普勒频移单位Hz%t:信号的抽样时间序列,抽样间隔单位s%h为输出的瑞利信道函数,是一个时间函数复序列%假设的入射波数目N=40;wm=2*pi*fd;%每象限的入射波数目即振荡器数目N0=N/4;%信道函数的实部Tc=zeros(1,length(t));%信道函数的虚部Ts=zeros(1,length(t));%归一化功率系数P_nor=sqrt(1/N0);%区别个条路径的均匀分布随机相位theta=2*pi*rand(1,1)-pi;forii=1:N0%第i条入射波的入射角alfa(ii)=(2*pi*ii-pi+theta)/N;%对每个子载波而言在(-pi,pi)之间均匀分布的随机相位fi_tc=2*pi*rand(1,1)-pi;fi_ts=2*pi*rand(1,1)-pi;%计算冲激响应函数Tc=Tc+cos(cos(alfa(ii))*wm*t+fi_tc);Ts=Ts+cos(sin(alfa(ii))*wm*t+fi_ts);end;%乘归一化功率系数得到传输函数h=P_nor*(Tc+j*Ts);改变fd,可以观察到信号功率随着fd的增大而变化加快。还可以使用Matlab内置函数实现:chan=rayleighchan(ts,fd);y=filter(chan,x);%过信道此内置函数可以直接生成一个频率选择多径衰落信道,每径为一个瑞利衰落过程。chan=rayleighchan(ts,fd,tau,pdb);%tau为每径相对时延向量%pdb为每径相对增益
本文标题:Matlab下多径衰落信道的仿真代码
链接地址:https://www.777doc.com/doc-5964876 .html