matlab数组中怎么加入高斯白噪声

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab数组中怎么加入高斯白噪声相关的知识,希望对你有一定的参考价值。

MATLAB中产生高斯白噪声的两个函数
MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。

1. WGN:产生高斯白噪声
y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。
y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。
y = wgn(m,n,p,imp,state) 重置RANDN的状态。

在数值变量后还可附加一些标志性参数:
y = wgn(…,POWERTYPE) 指定p的单位。POWERTYPE可以是'dBW', 'dBm'或'linear'。线性强度(linear power)以瓦特(Watt)为单位。
y = wgn(…,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是'real'或'complex'。

2. AWGN:在某一信号中加入高斯白噪声
y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。
y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。
y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。
y = awgn(…,POWERTYPE) 指定SNR和SIGPOWER的单位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是'linear',那么SNR作为比值来度量,而SIGPOWER以瓦特为单位。
参考技术A 你的数组为M
N=randn()命令,产生与你数组同维的高斯噪声,然后
X=M+N即可

加性高斯白噪声 AWGN

加性高斯白噪声 AWGN(Additive White Gaussian Noise) 是最基本的噪声与干扰模型。

加性噪声:叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终存在的。因此通常称它为加性噪声或者加性干扰。

白噪声:噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声。如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。

 Matlab中实现加性高斯白噪声:

y = awgn(x,SNR)

在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。

y = awgn(x,SNR,SIGPOWER)

如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为‘measured‘,则函数将在加入噪声之前测定信号强度。

y = awgn(x,SNR,SIGPOWER,STATE)

重置RANDN的状态。

y = awgn(…,POWERTYPE)

指定SNR和SIGPOWER的单位。POWERTYPE可以是‘dB‘或‘linear‘。如果POWERTYPE是‘dB‘,那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是‘linear‘,那么SNR作为比值来度量,而SIGPOWER以瓦特为单位

以上是关于matlab数组中怎么加入高斯白噪声的主要内容,如果未能解决你的问题,请参考以下文章

怎么在matlab中仿真功率谱密度为1的高斯白噪声?

matlab 产生白噪声

如何用matlab产生标准高斯噪声

matlab中,给一个正弦信号加上一个均值为0,方差为1的高斯白噪声信号,想用awgn函数,怎么做?

怎么用matlab给声音加入噪音?

高斯白噪声信道仿真