草庐IT

瑞利分布(Rayleigh Distribution)回顾

Dr. Wenny 2024-01-03 原文

瑞利分布(Rayleigh Distribution)回顾

背景

瑞利衰落被认为是对流层电离层信号传播以及城市密集环境对无线电信号影响的合理模型。瑞利衰落是一种统计模型,该模型假设已经通过该传输环境(信道)的信号幅度将根据瑞利分布(两个不相关的高斯随机变量之和的径向分量)随机变化或衰减。

瑞利分布是一个均值为0,方差为 σ 2 \sigma^2 σ2 的平稳窄带高斯过程,其包络的一维分布是瑞利分布。

瑞利衰落【2】能有效描述存在能够大量散射无线电信号的障碍物的无线传播环境。若传播环境中存在足够多的散射,则冲激信号到达接收机后表现为大量统计独立的随机变量的叠加,根据中心极限定理,则这一无线信道的冲激响应将是一个高斯过程。如果这一散射信道中不存在主要的信号分量,通常这一条件是指不存在直射信号(LOS),则这一过程的均值为0,且相位服从0 到2π 的均匀分布。即,信道响应的能量或包络服从瑞利分布。

瑞利分布

当一个随机二维向量的两个分量呈独立的、均值为0、有着相同的方差的正态分布时,这个向量的模呈瑞利分布

瑞利分布是最常见的用于描述平坦衰落信号接收包络或独立多径分量接受包络统计时变特性的一种分布类型。两个正交高斯噪声信号之和的包络服从瑞利分布。

瑞利分布的概率密度函数,期望和方差的计算,见【1】【2】。

信道增益的计算


参考链接

信道产生

信道衰落知识和代码,参考【2】和【3】。

  • 用基带等效模型来对Rayleigh衰落信道增益和Rician衰落信道增益来进行建模。
  • Rayleigh衰落信道增益用实部和虚部分别建模成均值为0方差为 σ 2 \sigma^2 σ2 的独立同分布的高斯随机过程;
  • Rician衰落信道增益用实部建模为均值不为0方差为 σ 2 \sigma^2 σ2、虚部建模为均值为0方差为 σ 2 \sigma^2 σ2 的独立同分布的高斯随机过程;
  • LoS视距分量强度的大小用莱斯因子(K因子)来衡量;
  • 归一化!!!因为实部和虚部能量相加为 2(因为实部和虚部方差均为1,标准正态分布!),因此前面系数记得乘以 1 2 \frac{1}{\sqrt{2}} 2 1(是幅度!)
close all; clear all; clc;

omega = 1;  % Normalization
% To generate a Rayleigh fading channel gain
h_rayleigh = sqrt(omega/2) *(randn(1,1) + 1i*randn(1,1));

k = 10;     % Rician factor
% To generate a Rician fading channel gain
h_rician = sqrt(k/(k+1)) + sqrt(1/(k+1)) * h_rayleigh;  % Deterministic LoS link is one.

待完善和整理

参考链接

【1】https://baike.baidu.com/item/%E7%91%9E%E5%88%A9%E5%88%86%E5%B8%83/10284554
【2】https://www.cnblogs.com/zhubincheng/p/14623637.html
【3】https://zhuanlan.zhihu.com/p/378334372

有关瑞利分布(Rayleigh Distribution)回顾的更多相关文章

  1. ruby - 分布式事务和队列,ruby,erlang,scala - 2

    我有一个涉及多台机器、消息队列和事务的问题。因此,例如用户点击网页,点击将消息发送到另一台机器,该机器将付款添加到用户的帐户。每秒可能有数千次点击。事务的所有方面都应该是容错的。我以前从未遇到过这样的事情,但一些阅读表明这是一个众所周知的问题。所以我的问题。我假设安全的方法是使用两阶段提交,但协议(protocol)是阻塞的,所以我不会获得所需的性能,我是否正确?我通常写Ruby,但似乎Redis之类的数据库和Rescue、RabbitMQ等消息队列系统对我的帮助不大——即使我实现某种两阶段提交,如果Redis崩溃,数据也会丢失,因为它本质上只是内存。所有这些让我开始关注erlang和

  2. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  3. ruby - 停止分布式 Ruby 服务 - 2

    我有一个启动DRb服务的脚本,然后生成处理程序对象并通过DRb.thread.join等待。我希望脚本一直运行直到被明确杀死,所以我添加了trap"INT"doDRb.stop_serviceend在Ruby1.8下成功停止DRb服务并退出,但在1.9下似乎死锁(在OSX10.6.7上)。对该进程进行采样显示在semaphore_wait_signal_trap中有几个线程在旋转。我假设我在调用stop_service时做错了什么,但我不确定是什么。谁能给我任何关于如何正确处理它的指示? 最佳答案 好的,我想我已经找到了解决方案。如

  4. BigData/Cloud Computing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程 - 2

    BigData/CloudComputing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程目录一、云计算网站建设:部署与发布网站建设:简单动态网站搭建云服务器管理维护云数据库管理与数据迁移云存储:对象存储管理与安全超大流量网站的负载均衡二、大数据MOOC网站日志分析搭建企业级数据分析平台基于LBS的热点店铺搜索基于机器学习PAI实现精细化营销基于机器学习的客户流失预警分析使用DataV制作实时销售数据可视化大屏使用MaxCompute进行数据质量核查使用Quick BI制作图形化报表使用时间序列分解模型预测商品销量三、云安全云平台使用安全云上服务

  5. ruby - 数组的所有可能分布,来自一个数字 - 2

    我不太确定如何表达这一点,所以我只是举个例子。如果我写:some_method(["a","b"],3)我希望它返回某种形式的[{"a"=>0,"b"=>3},{"a"=>1,"b"=>2},{"a"=>2,"b"=>1},{"a"=>3,"b"=>0}]如果我传入some_method(%w(abc),2)期望的返回值应该是[{"a"=>2,"b"=>0,"c"=>0},{"a"=>1,"b"=>1,"c"=>0},{"a"=>1,"b"=>0,"c"=>1},{"a"=>0,"b"=>2,"c"=>0},{"a"=>0,"b"=>1,"c"=>1},{"a"=>0,"b"=>0,"

  6. ruby - 带有通配符的正则表达式否定回顾 - 2

    如果附近没有其他文本block,我会尝试匹配一些文本。例如,如果"foo"不在它之前,我想匹配"bar"。我可以匹配"bar"如果"foo"没有立即在此正则表达式中使用负向后视:/(?但我也喜欢不匹配"foo12345bar"。我试过:/(?但使用通配符+范围似乎是Ruby中的无效正则表达式。我是不是想错了问题? 最佳答案 您的思考方式是正确的。但不幸的是,lookbehinds通常是固定长度的。唯一的主要异常(exception)是.NET的正则表达式引擎,它允许在lookbehind中使用重复量词。但是因为你只需要消极的回顾而不

  7. regex - 如何在 Ruby 中以 %r<…> 分隔的正则表达式进行否定回顾? - 2

    我喜欢%r定界符,因为它使识别正则表达式的开头和结尾变得非常容易,而且我不必转义任何/.但似乎它们有一个其他分隔符所没有的不可逾越的局限性?所有其他可以想象的分隔符都可以正常工作:/(?但是当我尝试这样做时:%r它给出了这个语法错误:unterminatedregexpmeetsendoffile好吧,它可能不喜欢它不是一个平衡对,但是你如何避免它让它喜欢它呢?是否需要转义?根据wikibooks.org:Anysinglenon-alpha-numericcharactercanbeusedasthedelimiter,%[includingthese], %?orthese?, %

  8. Seatunnel超高性能分布式数据集成平台使用体会 - 2

    文章目录概述定义使用场景特点工作流程连接器转换为何选择SeaTunnel安装下载配置文件部署模式入门示例启动脚本配置文件使用参数示例Kafka进Kafka出的ETL示例FlinkRun传递参数概述定义SeaTunnel官网http://seatunnel.incubator.apache.org/SeaTunnel最新版本官网文档http://seatunnel.incubator.apache.org/docs/2.1.3/intro/aboutSeaTunnelGitHub地址https://github.com/apache/incubator-seatunnelSeaTunnel是一个

  9. 【车载开发系列】UDS诊断---DTC故障码基础回顾 - 2

    【车载开发系列】UDS诊断—DTC故障码基础回顾UDS诊断---DTC故障码基础回顾【车载开发系列】UDS诊断---DTC故障码基础回顾一.什么是DTC故障码二.DTC故障码的作用三.什么是自诊断需求四.故障自诊断范围是什么五.DTC故障码的格式及组成六.DTC之故障所属系统七.DTC之故障类型八.DTC之所属子系统九.DTC之故障失效类型十.DTC故障码的表示十一.故障指示的概念十二.什么是故障快照信息十三.什么是故障扩展信息十四.故障扩展信息和快照信息的作用十五.DTC故障码的状态位十六.状态码的作用是什么十七.DTC故障信息存储机制十八.什么是故障自恢复策略十九.与操作DTC故障码相关的

  10. ruby - 量词和回顾的问题 - 2

    ###Ruby1.8.7###require'rubygems'require'oniguruma'#forlook-behindOniguruma::ORegexp.new('h(?=\w*)')#=>/h(?=\w*)/Oniguruma::ORegexp.new('(?ArgumentError:OnigurumaError:invalidpatterninlook-behindOniguruma::ORegexp.new('(?/(?#"hello".match(/(?SyntaxError:(irb):3:invalidpatterninlook-behind:/(?#我不能

随机推荐