Matlab中如何在一个正弦信号上人为添加一个已知的噪声信号

噪声信号为工程实际中采集到的,想添加到正弦信号上,求指导,谢谢

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

把白噪声叠加到信号上去:
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就是所添加的噪声信号。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-27
把噪声信号和正弦信号发过来,我给你加。
相似回答