figure
subplot(321)
f1=sin(1*pi*10*t)
plot(f1)
Ylabel('幅值')
Xlabel('时间')
subplot(322)
f2=sin(2*pi*10*t)
plot(f2)
title('频率为10hz的正弦波')
Ylabel('幅值')
Xlabel('时间')
subplot(323)
f3=sin(3*pi*10*t)
plot(f3)
title('频率为15hz的正弦波')
Ylabel('幅值')
Xlabel('时间')
f=f1+f2+f3
subplot(324)
plot(f)
title('合成的正弦波')
Ylabel('幅值')
Xlabel('时间')
subplot(325)
coefs=cwt(f,[1:1:10],'db3','plot')
title('对于不同尺度下的小波系数值')
Ylabel('尺度')
Xlabel('时间')
用FFT就可以啦。加窗的效果作用是降低副瓣,同时意义上也是将两头的权值减小,以尽可能逼近真实情况。需要注意的是FFT之后的数据显示和你的采样率有关。如果是实数采样,采样率为FS,则最大可检测频率为FS/2
如果是复数采样,采样率为FS,则最大可检测频率为FS。
检测的频率间隔为FS/N
自己写吧,建议你去找本《数字信号处理》,复习一下有源滤波器一节,我想立即就知道该怎么写这段程序了。无论多少次都是用数字滤波器做。
如果要求不高也可以用均方根算法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)