瑞利分布与莱斯分布

实例2-1 瑞利分布与莱斯分布

% 瑞利分布与莱斯分布
clear,clf%clear:清除工作空间的所有变量  clf:清除当前的Figure
N = 200000;%产生200000个信道系数供统计使用
level = 30;%统计区间被划分的分数
K_dB = [-40 0 15];%莱斯因子为-40dB 0dB 15dB
gss = ['k - *'; 'k - o'; 'k - +';'k - ^'];%绘制曲线的颜色、线线与标志符号

% 瑞利模型
Rayleigh_ch = Ray_model(N);%调用Ray_model子程序,产生瑞利分布幅度系数
[temp,x] = hist(abs(Rayleigh_ch(1,:)),level); %统计数据分布 :表示所有的,(1,:)即第一行所有列
plot(x,temp,gss(1,:))
hold on 

%莱斯模型
for i=1:length(K_dB);%对不同莱斯因子进行信道模型仿真 i循环从1循环到length(K_dB)=3
Rician_ch(i,:) = Ric_model(K_dB(i),N);%调用Ric_model产生莱斯分布幅度系数
[temp x] = hist(abs(Rician_ch(i,:)),level);%统计数据分布
plot(x,temp,gss(i+1,:))
end
xlabel('x'),ylabel('Occurrence')
legend('Rayleigh','Rician,K = -40dB','Rician,K = 0dB','Rician,K = 15dB') %在坐标区上添加图例
%莱斯信道模型子程序,子程序程序名称:Ric_model.m
function H=Ric_model(K_dB,L)
%输入参数:K_dB为莱斯因子,L为仿真信道个数
%输出参数:H为返回莱斯信道矩阵
K = 10^(K_dB/10);%将dB值描述的莱斯因子转换为幅度值
H = sqrt(K/(K+1)) + sqrt(1/(K+1))*Ray_model(L);
%产生莱斯信道幅度系数。莱斯信道模型中包含视距通信,收发之间有直通路径
%瑞利信道模型子程序,子程序程序名称:Ray_model.m
function H = Ray_model(L)
%输入参数:L为仿真信道个数,为200000
%输出参数:H为返回瑞利信道矩阵
H=(randn(1,L) + j * randn(1,L))/sqrt(2);%复信号
%产生实部为高斯分布、虚部为高斯分布、包络为瑞利分布的信道系数。实部功率为1/2,虚部功率为1/2,因此该执行指令返回单位功率或称归一化功率的瑞利信道幅度系数

在这里插入图片描述
参考《MIMO-OFDM系统原理、应用及仿真》一书

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值