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


相关推荐
takashi_void6 分钟前
本地实现斯坦福小镇(利用大语言模型使虚拟角色自主发展剧情)类似项目“Microverse”
人工智能·语言模型·自然语言处理·godot·游戏程序·斯坦福小镇
future_studio9 分钟前
聊聊 Unity(小白专享、C# 小程序 之 加密存储)
开发语言·小程序·c#
一只鱼^_12 分钟前
第 167 场双周赛 / 第 471 场周赛
数据结构·b树·算法·leetcode·深度优先·近邻算法·迭代加深
m0_7369270426 分钟前
Spring Boot自动配置与“约定大于配置“机制详解
java·开发语言·后端·spring
被制作时长两年半的个人练习生28 分钟前
近期的笔试和面试的复盘
算法·面试·职场和发展·算子
zxsz_com_cn33 分钟前
设备健康管理大数据平台:工业智能化的核心数据引擎
运维·人工智能
算家计算36 分钟前
破5亿用户!国产AI模型成功逆袭,成为AI普及浪潮主角
人工智能·开源·资讯
Jolie_Liang44 分钟前
国内金融领域元宇宙金融特殊需求与技术挑战研究报告
人工智能·元宇宙
算家计算44 分钟前
SAIL-VL2本地部署教程:2B/8B参数媲美大规模模型,为轻量级设备量身打造的多模态大脑
人工智能·开源·aigc
Costrict1 小时前
解锁新阵地!CoStrict 现已支持 JetBrains 系列 IDE
大数据·ide·人工智能·深度学习·自然语言处理·ai编程·visual studio