matlab如何实现信道衰落,Matlab下多径衰落信道的仿真

衰落信道参数包括多径扩展和多普勒扩展。时不变的多径扩展相当于一个延时抽头滤波器,而多普勒扩展要注意多普勒功率谱密度,通常使用Jakes功率谱、高斯、均匀功率谱。

多径衰落信道由单径信道叠加而成,而单径信道中最重要的就是瑞利(Rayleigh)平坦衰落信道。

下面给出瑞利平坦衰落信道的改进Jakes模型的实现:

function [h]=rayleigh(fd,t)

%改进的jakes模型来产生单径的平坦型瑞利衰落信道

%Yahong R.Zheng and Chengshan Xiao "Improved Models for

%the Generation of Multiple Uncorrelated Rayleigh Fading Waveforms"

%IEEE Commu letters, Vol.6, NO.6, JUNE 2002

%输入变量说明:

% 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;

for ii=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为每径相对增益

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>