mzbys 发表于 2016-5-15 17:23

向信号中加入5%的随机噪声用matlab语言怎么表示呢?

5%的噪声是 5%*(信号幅值)还是 5%*randn ?

红轮 发表于 2016-5-15 19:26

clear;clc;close all
t=0:0.001:1;
sig=sin(2*pi*20*t);
P=sum(sig.^2)/length(sig);
P1=0.05*P;
noise=wgn(1,length(sig),P1);
sig1=sig+noise;
plot(t,sig); hold on; plot(t,sig1,'r')
legend('原始信号','+5%噪声(能量)的信号')

红轮 发表于 2016-5-15 21:27

Sorry,上一个贴写错了,我寻思5% 咋这大呢? 原来对wgn函数中的P不直接是power,是与1W比价的分贝值,程序重改了一下

clear;clc;close all
t=0:0.001:1;
sig=sin(2*pi*20*t);
P=sum(sig.^2)/length(sig);
dB=10*log10(P*0.05);先算出5%的噪声是多少dB,我第一次这里出错了...{:3_51:}
noise=wgn(1,length(sig),dB); 然后生成这个噪声
P2=sum(noise.^2)/length(noise);
sig1=sig+noise;
plot(t,sig); hold on; plot(t,sig1,'r')
legend('原始信号','+5%噪声(能量)的信号')

Agoni 发表于 2016-5-16 08:47

红轮 发表于 2016-5-15 21:27
Sorry,上一个贴写错了,我寻思5% 咋这大呢? 原来对wgn函数中的P不直接是power,是与1W比价的分贝值,程序 ...

感谢感谢挺好!

mzbys 发表于 2016-5-16 09:24

Agoni 发表于 2016-5-16 08:47
感谢感谢挺好!

这个p2是什么呢

红轮 发表于 2016-5-16 11:16

mzbys 发表于 2016-5-16 09:24
这个p2是什么呢

噪声信号的功率,我是为了验证一下是不是5%,发现没错
>> P2/P
ans =
   0.04987275219940

mzbys 发表于 2016-5-16 15:58

红轮 发表于 2016-5-16 11:16
噪声信号的功率,我是为了验证一下是不是5%,发现没错
>> P2/P
ans =


好的 谢谢了

a397874795 发表于 2016-5-19 20:00

马克一个
页: [1]
查看完整版本: 向信号中加入5%的随机噪声用matlab语言怎么表示呢?