微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何增加X%的噪音在MATLAB的信号?

如何解决如何增加X%的噪音在MATLAB的信号?

我试图噪声添加5%到如下(在MATLAB)测得的信号,但是当我添加之后计算噪声的百分比,它是超出+/- 5%。你能告诉我,为什么是这种情况?不应该它是结合的+/- 5%之内?

 noiseSigma = 0.05 * signal;                % signal is my original signal

signal

noise = noiseSigma .* randn(1,length(signal));

noisySignal = signal + noise;

Noise in signal

percent_noise = 100*(noisySignal-signal)./signal;

percent of noise in signal

解决方法

randn 取自正态分布,因此它可以大于 1。

如果您想将噪音限制在 5%,您可以尝试以下操作:

noise_limit = 0.05 * signal;
addative_noise = noise_limit .* (2*rand(1,length(signal))-1);
result = signal+addative_noise;

这是有效的,因为 rand 选择了 0 和 1 之间的值。乘以二减一,它选择-1和1之间的值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。