第2个回答 推荐于2016-02-17
t=0:0.001:1;
y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);
temp=y1+0.02*y1.*rand(size(y1));
plot(t,y1,t,temp,'r')本回答被提问者采纳
第3个回答 2018-02-14
y=awgn(x,SNR),加性高斯白噪函数,x原信号,SNR是信噪比,不知道你这个2%是能量还是幅值,如果是能量的话,SNR=10*log(100/2);如果是幅值,SNR=20*log(100/2);
代码如下:
clc; clear ;
t=0:0.01:1;
y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);
SNR=10*log(100/2); % 2%是能量比
x=awgn(y1,SNR);
subplot(211), plot(t,y1);
title('原信号');
% 加入噪声后有毛刺,但2%的噪声有点小,毛刺不明显。
subplot(212), plot(t,x);
title('加高斯白噪信号');