MATLAB中如何对一个正弦信号加噪?

MATLAB中如何对一个正弦信号加噪?,第1张

可以将正弦信号在每个时刻的值加上噪声即可实现加噪的目的。

把白噪声叠加到信号上去:

function

[Y,NOISE]

=

noisegen(X,SNR)

%

noisegen

add

white

Gaussian

noise

to

a

signal.

%

[Y,

NOISE]

=

NOISEGEN(X,SNR)

adds

white

Gaussian

NOISE

to

X.

The

SNR

is

in

dB.

NOISE=randn(size(X))

NOISE=NOISE-mean(NOISE)

signal_power

=

1/length(X)*sum(X.*X)

noise_variance

=

signal_power

/

(

10^(SNR/10)

)

NOISE=sqrt(noise_variance)/std(NOISE)*NOISE

Y=X+NOISE

其中X是纯信号,SNR是要求的信噪比,Y是带噪信号,NOISE是叠加在信号上的噪声。

对于上面的通用程序,如果X是正弦信号,SNR是要求的信噪比,那么输出的Y就是正弦信号加噪后的信号,NOISE就是所添加的噪声信号。

干扰信号

很简单我们可以直接使用rand和randn等函数生成随机数据,再加到原理的信号上就可以了至于

白噪声

,Matlab中提供了直接的函数,如下WGN:产生

高斯白噪声

AWGN:在某一信号中加入高斯白噪声

实时频谱仪的应用:

1、 在噪声频谱分析中通常使用的是模拟滤波器,这种滤波器使用时都要一个滤波器接一个滤波器依次进行频谱测量分析。由于滤波器以及检波电路都有一定时间常数,通常需要几秒钟才能达到稳定。因此,如果使用1/1倍频程滤波器完成整个频谱分析需要1 分钟左右时间,如使用1/3 倍频程滤波器则需要3 分钟左右时间。对于稳定噪声(如机器噪声)而且测量时间比较宽裕的场合,这完全不是问题, 但是对于不稳定噪声,如:环境噪声、交通噪声以及其它随机变化的设备声源及时间很短的脉冲噪声等测量得到的频谱分析结果毫无意义。因为在进行下一个滤波器分析时的噪声与上一个滤波器分析时的噪声完全不一样,这种情况唯有选择实时频谱分析仪器分析才有意义。

2、 实时,它的简单涵义就是“即时”,也就是“立即”的意思。

3、实时频谱分析仪器采用数字信号处理办法,将模拟信号变换成数字信号,边

测量边进行频谱分析,速度非常快,立即就完成OCT 1/1 倍或1/3 倍频程以至更细的1/n倍频程谱分析,甚至可以进行FFT 分析,并可以扩展为其它许多测量与分析功能。正因为它有这么多的优点,因此得到了广泛应用。

嘉兴市蝶图腾电子设备有限公司

曾 广 国13356073253 QQ: 994709291

网址Http//www.jxdtt.com


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11613026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存