t = 1:100 生成100个基准点
s1 = sin(2*pi*30*t);
s2 = sin(2*pi*60*t);
s3 = sin(2*pi*90*t);
%生成3组不同频率的正弦曲线
s = s1+s2+s3; 正弦曲线叠加
s = awgn(s,50);
加上不同信噪比的高斯白噪声
n1=randn(1,100);%产生高斯白噪声,这里默认为单位信噪比
t=1:1:100;%100个时间点
for i=1:3
xi=sin(i.*t);
plot(t,xi);
hold on %在原有图形上继续画,不删除上一次的点。
end
hold on
y=x1+x2+x3+n1;
plot(t,y);
我试过了,能出图 就是不知道是不是你想要的,你也把它复制到M-File里去运行一下吧。
上面那个程序不对~(信噪比未知的啊)
我不知道你三个正弦的频率,还有,你这100个点是一个周期内的么?下面这些点不是一个周期的.
看我的:
n1=randn(1,100);%产生高斯白噪声,这里默认为单位信噪比
t=1:1:100;%100个时间点
x1=sin(t);
x2=sin(2.*t);
x3=sin(3.*t);%三个正弦
y=x1+x2+x3+n1;
plot(t,y);
你试试行不行,因为我是在家编的,没有调试
用hold on和hold off把这些曲线叠加起来就可以了
f1=1;
f2=2;
f3=3;
snr=10; %SNR 用dB表示
t=1:100;
y=sin(f1*t)+sin(f2*t)+sin(f3*t);
y=awgn(y, snr);
楼下的说我不对,用过awgn()函数吗?