单径的平坦型瑞利衰落信道rayleigh()的matlab函数实现

        在通信系统中有时我们不仅需要用到高斯信道,有时也会用到瑞利信道,但是matlab并没有内置相应的函数块,只有关于瑞利分布函数Rayleigh(),所以接下来,我们来看一看rayleigh()具体在matlab中如何实现。

        在我们需要使用的时候,进行该函数的调用即可。

function [h]=rayleigh(fd,t)
%输入变量说明:
%  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 );

注:思路来源于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

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值