向信号中加入5%的随机噪声用matlab语言怎么表示呢?
5%的噪声是 5%*(信号幅值)还是 5%*randn ?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%噪声(能量)的信号')
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%噪声(能量)的信号')
红轮 发表于 2016-5-15 21:27
Sorry,上一个贴写错了,我寻思5% 咋这大呢? 原来对wgn函数中的P不直接是power,是与1W比价的分贝值,程序 ...
感谢感谢挺好! Agoni 发表于 2016-5-16 08:47
感谢感谢挺好!
这个p2是什么呢 mzbys 发表于 2016-5-16 09:24
这个p2是什么呢
噪声信号的功率,我是为了验证一下是不是5%,发现没错
>> P2/P
ans =
0.04987275219940 红轮 发表于 2016-5-16 11:16
噪声信号的功率,我是为了验证一下是不是5%,发现没错
>> P2/P
ans =
好的 谢谢了 马克一个
页:
[1]