Python 加性高斯白噪声 AWGN
高斯白噪声
概念
加性高斯白噪声(Additive White Gaussian Noise,简写AWGN)
"白"是指功率谱恒定;
高斯指的是概率p (x)满足高斯函数。
在百度百科中的概念是,加性高斯白噪声在通信领域中指的是一种各频谱分量服从均匀分布(即白噪声),且幅度服从高斯分布的噪声信号。
公式推导
matlab的库中有AWGN这个库,如果要使用Python进行实现,要按照信噪比SRN公式进行推导:
其中x为原始信号,n为噪声信号。
推导可得噪声信号公式,其中N为原始信号长度:
最后服从高斯分布对噪声信号进行放大,可以得到最终的噪声信号:
代码实现
假设我的原始信号single,与时间t的关系为:
其中t的取值为{0,1,2,3…,3998,3999},因此一共有4000个信号。得到的信号时域波形图:
假设当前信噪比为10db,那么得到信号加入AWGN的时域波形图为:
import numpy as npdef awgn(x, snr, seed=7):'''加入高斯白噪声 Additive White Gaussian Noise:param x: 原始信号:param snr: 信噪比:return: 加入噪声后的信号'''np.random.seed(seed) # 设置随机种子snr = 10 ** (snr / 10.0)xpower = np.sum(x ** 2) / len(x)npower = xpower / snrnoise = np.random.randn(len(x)) * np.sqrt(npower)return x + noise
Python 加性高斯白噪声 AWGN相关推荐
- 加性高斯白噪声信道:MATLAB小例题
1.dB (1)dB 是一个纯计数单位:dB = 10logX; X = 1000000000000000 = 10logX = 150 dB X = 0.000000000 ...
- 《通信原理》加性高斯白噪声信道
实验一:在正弦信号上叠加功率为-20dBW的高斯白噪声. 1.实验代码 %加性高斯白噪声信道-用awgn(x,snr)实现t=0:0.001:10; %产生时间矢量t x=sin(2*pi*t); % ...
- python 高斯白噪声-python高斯白噪声
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 白噪声时间序列的例子在本节中,我们将使用python创建一个高斯白噪声序 ...
- 高斯噪声、高斯白噪声解析
如何用matlab 产生 均值为0,方差为5的高斯噪声 2011-07-15 19:36 y=randn(1,2500); y=y/std(y); y=y-mean(y); a=0; b=5; y=a ...
- 高斯噪声和高斯白噪声相关介绍
高斯噪声是一种随机噪声,在任选瞬时中任取n个,其值按n个变数的高斯概率定律分布. 注: 1,高斯噪声完全由其时变平均值和两瞬时的协方差函数来确定,若噪声为平稳的,则平均值与时间无关,而协方差函数则变成 ...
- 高斯白噪声的统计特性
[转]高斯白噪声的统计特性 首先声明一点:楼主说的"高斯白噪声服从的是均值为0,方差为N0/2的高斯分布"是不准确的,如果楼主真的看到这样的提法,说明该作者在这个问题上也没有弄清楚 ...
- 证明:高斯白噪声的正交变换仍然是高斯白噪声
对于正交变换,如 DCT.DST.Haar 变换等等,我们都可以使用一个正交矩阵 A{\bf{A}}A 来表示其变换核.对于一个向量 x\bf{x}x,记我们添加的加性高斯白噪声(Additive W ...
- 高斯噪声、高斯白噪声、SNR、噪声方差
如何用matlab 产生 均值为0,方差为5的高斯噪声 2011-07-15 19:36 y=randn(1,2500); y=y/std(y); y=y-mean(y); a=0; b=5; y=a ...
- python 高斯白噪声-python白噪声
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 白噪声是时间序列预测中的一个重要概念. 如果一个时间序列是白噪声,它是一 ...
- 广义典型相关分析_数学建模/机器学习:广义加性模型(GAM)及其Python实现
笔者做过国赛也做过美赛,其中一类典型问题就是分析相关性,从而进行预测或者其他操作.这类问题通常情况下属于比较常规的问题,一般通过matlab或SPSS分析相关性,得到一个较好的数值即可. 然而有的时候 ...
最新文章
- 干货 | 走进Node.js之启动过程剖析
- 程序猿接私活经验总结,来自csdn论坛语录
- 世界第一位计算机程序员竟是女的!拜伦之女传奇一生
- 【超强、超详细Redis入门教程】
- 解决ERROR:Local variable count defined in an enclosing scope must be final or effectively final
- 信息系统项目管理师必背核心考点(五十八)变更管理的主要角色
- Linux数独代码,linux – Bash简化数独
- Linux中shell编程——编写shell脚本,实现功能:在用户输入年、月后自动打印出对应年月的日
- SpringCloud及SpringCloudAlibaba微服务组件
- Unity3D本地文件夹的创建、删除(Directory文件夹删除和单个文件删除)
- SQL中destinct的用法
- 《卓有成效的管理者》第一次心得
- 选择一个可靠知名的域名管理服务提供商
- 云原生爱好者周刊:像运行容器一样运行虚拟机
- Linux 日历和计算器命令
- 什么是序列,Python序列详解(包括序列类型和常用操作)
- is private within this context
- “让专业的人做专业的事”,畅捷通与阿里云的云原生故事 | 云原生 Talk
- linux逐行扫描,FFmpeg怎么区分识别视频是逐行扫描还是隔行扫描
- 使用Redux-Toolkit,由“object is not extensible”引发的思考及解决方案
热门文章
- 浅析 微信公共平台消息 开发原理
- 微信公共平台开发(一):服务器配置
- 彻底关闭Windows10自动更新的详细解决方案
- AOP的连接点与切点区别,连接点,切点,切面的基础概念
- Software Architecture Patterns: Layered Architecture
- 学弟学妹们,如果你想吃透 Java字节码的话,看这篇就好了!(超级硬核,建议收藏)
- Win10安装应用或打开应用时提示“用户账户控制 为了对电脑进行保护,已经阻止此应用”
- c语言中if函数作用,c语言if函数的使用方法
- VMware vSphere7 with Tanzu 安装方案
- 高等数学学习笔记(1)——微分方程解法公式