永发信息网

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

答案:2  悬赏:30  手机版
解决时间 2021-01-31 06:23
  • 提问者网友:書生途
  • 2021-01-31 00:49
Matlab中如何在一个正弦信号上人为添加一个已知的噪声信号
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-01-31 02:05
可以将正弦信号在每个时刻的值加上噪声即可实现加噪的目的。

把白噪声叠加到信号上去:
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楼网友:你可爱的野爹
  • 2021-01-31 03:16
把噪声信号和正弦信号发过来,我给你加。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯