(9)MATLAB瑞利衰落信道仿真2

devtools/2024/10/15 22:21:54/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、瑞利衰落信道
  • 二、瑞利衰落信道建模
  • 三、仿真结果
  • 二、高斯随机变量和瑞利随机变量
  • 后续


前言

本文首先给出瑞利衰落信道模型,并根据瑞利衰落变量估计得到其PDF,并将该估计值与理论值进行了对比,验证衰落信道建模的正确性。该瑞利信道模型可以直接用于信号衰落的建模与仿真。


一、瑞利衰落信道

在无线通信中,如果信道中存在大量非视距路径而不存在视距路径信号分量,此时,无线信道即为瑞利衰落信道,该可以由一个复高斯随机变量W1+jW2表示,其中W1和W2是均值为0,方差为σ2的独立同分布的高斯随机变量。此时的小尺度衰落称为瑞利衰落,其包络可由瑞利分布概率密度函数(Probability Density Function,PDF)来描述。其PDF为:

在这里插入图片描述

下面给出瑞利衰落信道的MATLAB建模,并计算出其PDF的估计值。

二、瑞利衰落信道建模

瑞利衰落信道建模MATLAB代码如下:

close all
clear all
clcsamples_number = 1e5;                          % number of channel samples
bins_number = 50;                              % number of bins in the histogram
sigma = sqrt(0.5);
Rayleigh_ch = sigma*(randn(1,samples_number) + 1j*randn(1,samples_number));    % Rayleigh Channel Model% 直方图,转换为pdf
[elements_number,x] = hist(abs(Rayleigh_ch),bins_number);
px = elements_number./samples_number/mean(diff(x));    % estimated value%% 理论pdf
% to plot theoretical pdf
r = 0: 0.1 : 4;                                        % rayleigh random variable
pdf = (r/(sigma^2)).*exp(-r.^2/(2*(sigma^2)));         % theoretical pdf%% 画图
% 瑞利衰落的概率密度函数
figure()
plot(x,px,'r-*','LineWidth', 1.5)
hold on
plot(r,pdf,'b' ,'LineWidth', 1.5)                     % theoretical pdf
grid on
title('瑞利衰落的概率密度函数')
legend('仿真估计值' ,'理论值')
xlabel('x');
ylabel('f(x)');% 瑞利衰落的幅度
amp = abs(Rayleigh_ch);
ampdb = 20*log10(amp); 
figure()
plot(ampdb)
title('瑞利衰落的幅度' );
xlim([0 1e3]);
grid on;
xlabel('samples');
ylabel('amplitude/dB');

三、仿真结果

瑞利衰落信道建模概率密度函数曲线如下:

在这里插入图片描述

瑞利衰落的包络:
在这里插入图片描述

二、高斯随机变量和瑞利随机变量

高斯随机变量见:
(8)MATLAB瑞利衰落信道仿真1

瑞利随机变量见:
(3)MATLAB生成高斯随机变量及其概率密度函数估计

后续

当无线信道中存在一个视距路径信号分量时,接收信号的包络将不再如从瑞利分布,而是服从莱斯分布,此时的小尺度衰落称为莱斯衰落。后续将对莱斯衰落信道进行MATLAB建模。


http://www.ppmy.cn/devtools/121331.html

相关文章

安装配置pytorch(cuda、、cudnn、torch、torchvision对应版本)

参考: Pytorch环境配置——cuda、、cudnn、torch、torchvision对应版本(最全)及安装方法_cuda12.2对应的pytorch版本-CSDN博客 https://download.pytorch.org/whl/torch_stable.html Previous PyTorch Versions | PyTorch

关于 JVM 个人 NOTE

目录 1、JVM 的体系结构 2、双亲委派机制 3、堆内存调优 4、关于GC垃圾回收机制 4.1 GC中的复制算法 4.2 GC中的标记清除算法 1、JVM 的体系结构 "堆"中存在垃圾而"栈"中不存在垃圾的原因: 堆(Heap) 用途:堆主要用于存储对象实例和数组。在Java中…

封装提示词翻译组件

一、本章诉求 由于前期设计的提示词均是英文输入,后期用户要求增加中文提示词输入,这个需求更改有两个方法,一个是修改comfyui工作流,另一个是修改前端,在前端将用户输入的中文翻译成英文,再推送到工作流中…

【Element-UI】实现el-drawer抽屉的左右拖拽宽度

对Element-UI的el-drawer抽屉控件实现拖拽功能。 1、新增drawer-drag.js import Vue from vueVue.directive(drawerDrag, {bind(el, binding, vnode, oldVnode) {const minWidth 400const dragDom el.querySelector(.el-drawer)dragDom.style.overflow autoconst resizeElL…

LP3718BSL封装SOP8/12W隔离开关电源芯片

概述: LP3718BSL 是一款高度集成的隔离型适配器和充电器的自供电PSR控制芯片,外围设计极其简单。 LP3718BSL通过外置电阻,可调原边峰值电流,再 通过变压器原副边匝比来设置输出恒流点;通过设 定 FB 上偏电阻和下偏电阻来设置输出恒…

【Linux庖丁解牛】—Linux基本指令(中)!

🌈个人主页:秋风起,再归来~🔥系列专栏: Linux庖丁解牛 🔖克心守己,律己则安 目录 1、rmdir与rm指令 2、man指令 3、cp指令 4、mv指令 5、cat与tac指令 6、重定向 7、more指令 8、…

Mybatis 学习之 分页实现

文章目录 1. Mybatis1.1. 代码实现 2. Mybatis Plus2.1. 代码实现2.2. 特别注意 3. PageHelper3.1. 代码实现3.2. 特别注意 参考资料 1. Mybatis 1.1. 代码实现 package com.example.demo;import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot…

滚雪球学Oracle[2.3讲]:Oracle Listener配置与管理

全文目录: 前言一、Oracle Listener的基础概念1.1 什么是Oracle Listener?Listener的作用: 1.2 Oracle Listener的配置文件示例listener.ora配置文件: 1.3 启动与管理Listener 二、多Listener配置与负载分担2.1 多Listener的应用场…