(14)MATLAB莱斯(Rician)衰落信道仿真4

文章目录


前言

本文通过将接收信号总功率设置为1,重写了莱斯衰落信道上接收信号幅度的理论PDF式。然后用MATLAB代码生成了在具有不同莱斯因子K的Ricean平坦衰落信道下接收到的信号样本,并计算了PDF的估计值。最终通过画图给出仿真结果。


一、改写莱斯分布概率密度函数的理论值

对于《(11)MATLAB莱斯(Rician)衰落信道仿真2》和《(13)MATLAB莱斯(Rician)衰落信道仿真3》中描述的一般莱斯过程,接收信号幅度的概率密度函数服从莱斯分布:

式中,I0()为第一类零阶修正贝塞尔函数。

另外,平坦莱斯衰落信道模型可以用Ω和K两个参数来描述。Ω为直射路径和反射路径的总功率:

K为直射路径与反射路径的功率比:

根据式(2)和式(3),莱斯衰落信道上接收信号幅度的理论PDF式(1)可改写如下:

下面使用该理论PDF式对莱斯衰落信道进行MATLAB建模仿真。

二、仿真代码

以下代码生成了在具有不同莱斯因子K的Ricean平坦衰落信道下接收到的信号样本。仿真中,假设直射路径和反射路径的总功率为1,即Ω = β^2 + 2σ^2 = 1。仿真结果将给出接收信号样本幅度的直方图。

代码如下:

c 复制代码
clc
close all
clear all

%% Simulate receieved signal samples due to Ricean flat-fading

K_factors = [0, 3, 7, 12, 20];                         % 莱斯因子K,直接设置线性值
colors = {'b', 'r', 'k', 'g', 'm'};
index = 1;                                             % 多条曲线的颜色索引
N = 1e5;                                               % 样本数
figure()
for K = K_factors                                      % 每个循环,对应一个莱斯因子K
    mu = sqrt(K/(2*(K+1)));                            % 均值
    sigma = sqrt(1/(2*(K+1)));                         % 标准差
    ric = mu + sigma.*randn(1,N) + 1j*(mu + sigma.*randn(1,N)); % 生成平均功率为1的莱斯衰落样本samples
    
    % 平均功率
    display(['Average power : ', num2str(mean(abs(ric).^2))]);

    [elements_number,bin] = hist(abs(ric),50);         % 使用samples估计PDF
    plot(bin,elements_number/trapz(bin,elements_number),[colors{index}, '*']);
    
    
    % 莱斯分布的PDF理论值
    x = 0: 0.05: 3;                                    % 莱斯随机变量
    Omega = 1;                                         % 总平均功率设为1
    z = 2*x*sqrt(K*(K+1 )/Omega);                      % 修正贝塞尔函数用
    I0_z = besseli(0,z);                               % 第一类零阶修正贝塞尔函数
    pdf = (2*x*(K+1)/Omega) .* exp(-K-(x.^2*(K+1)/Omega)) .* I0_z; % 莱斯分布的PDF理论式
    hold on;
    plot(x, pdf, colors{index},'LineWidth', 1.5);
    index = index + 1 ;
end
grid on;
title('莱斯分布随机变量的概率密度');
xlabel('随机变量x');
ylabel('概率密度pdf(x)');
legend('K=0估计值', 'K=0理论值', ...
       'K=3估计值', 'K=3理论值', ...
       'K=7估计值', 'K=7理论值', ...
       'K=12估计值', 'K=12理论值', ...
       'K=20估计值', 'K=20理论值');
xlim([0 3]);

三、仿真结果

仿真结果给出接收信号样本幅度的概率密度估计:

总结

至此,通过7篇文章分析了瑞利衰落信道和莱斯衰落信道的理论和MATLAB仿真:
(8)MATLAB瑞利衰落信道仿真1
(9)MATLAB瑞利衰落信道仿真2
(10)MATLAB莱斯(Rician)衰落信道仿真1
(11)MATLAB莱斯(Rician)衰落信道仿真2
(12)MATLAB莱斯(Rician)衰落信道仿真2补充:莱斯衰落信道与莱斯随机变量
(13)MATLAB莱斯(Rician)衰落信道仿真3
(14)MATLAB莱斯(Rician)衰落信道仿真4

瑞利分布和莱斯分布都是通过数学方法对信道模型的物理特性进行建模的。然而,一些实验数据并不能很好地符合这两种分布。因此,有必要寻找一种更通用的衰落分布,使其可以适应多种实测数据,这种分布就是Nakagami衰落分布。后续将对Nakagami衰落分布进行介绍,并给出MATLAB仿真代码。


相关推荐
yunhuibin4 分钟前
VideoPipe环境搭建及编译ubuntu240403
前端·人工智能
草履虫建模6 分钟前
力扣算法 121. 买卖股票的最佳时机
算法·leetcode·职场和发展·贪心算法·动态规划·一次遍历
养军博客7 分钟前
C语言五天速成(可用于蓝桥杯备考 难度中等偏下)
c语言·算法·蓝桥杯
爱尔兰极光10 分钟前
LeetCode--有序数组的平方
算法·leetcode·职场和发展
凤希AI伴侣11 分钟前
凤希AI伴侣:数据重构与十年Bug的终结-2026年2月1日
人工智能·凤希ai伴侣
roman_日积跬步-终至千里12 分钟前
【Java 并发-面试】从线程基础到企业级开发的知识点概况
java·开发语言
云中飞鸿12 分钟前
VS2015安装后,安装QT59,之后安装qt-vsaddin-msvc2015-2.4.3.vsix 文件失败问题!
开发语言·qt
玄同76512 分钟前
Trae国际版与国内版深度测评:AI原生IDE的双生花
ide·人工智能·ai编程·cursor·ai-native·trae
jay神12 分钟前
森林火灾检测数据集
算法·机器学习·目标跟踪