(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仿真代码。


相关推荐
NiceCloud喜云5 小时前
IntelliJ IDEA 保姆级安装 + ClaudeAPI 配置教程
java·开发语言·前端·ide·chrome·docker·intellij-idea
shchojj5 小时前
What is Generative AI - How generative AI works
人工智能
xingyuzhisuan5 小时前
哪里可以一键部署Stable Diffusion XL的GPU云环境?(2026实测指南)
运维·人工智能·stable diffusion·gpu算力
shchojj5 小时前
What is Generative AI - AI is a general purpose technology
人工智能
Agent手记5 小时前
采购合同智能审核自动化,落地步骤与落地风险管控方案 —— 2026年企业级Agent深度实战指南
运维·人工智能·ai·自动化
byte轻骑兵5 小时前
【LE Audio】CAP精讲[5]: 导演上线!Initiator音频协同全流程合规指南
人工智能·音视频·低功耗·le audio
3D探路人5 小时前
模灵 大模型聚合API 转发流程技术实现
java·大数据·开发语言·前端·人工智能·计算机视觉
l1t6 小时前
JIT执行python脚本的工具codon安装和测试
开发语言·python
sheeta19986 小时前
LeetCode 每日一题笔记 日期:2026.05.13 题目:1674. 使数组互补的最少操作次数
笔记·算法·leetcode
Ares-Wang6 小时前
图像》》仿射变换和透视变换放 、图像分割、目标检测
人工智能·计算机视觉