最近在做小波变换的时频分析,在绘制小波变换时频图时遇到了一些困难,向各位大神求助一下。我在网上搜到了一篇有代码的文章,代码如下:

fs=1024;

t=1/fs:1/fs:1;

f1=100;f2=200;f3=300;

s=sin(2*pi*f1*t.*(t>=0&t<0.3))+2*sin(2*pi*f2*t.*(t>=0.3&t<0.8))+3*sin(2*pi*f3*t.*(t>=0.8&t<=1));

plot(t,s)

figure;

%%%%%%%%%%%%%%%%%小波时频图绘制%%%%%%%%%%%%%%%%%%

wavename='cmor3-3';%选用带宽参数和中心频率均为3的复morlet小波

totalscal=256;                    %尺度序列的长度,即scal的长度

fc=centfrq(wavename);            %小波的中心频率

cparam=2*fc*totalscal;           %为得到合适的尺度所求出的参数

a=totalscal:-1:1;

scal=cparam./a;                   %得到各个尺度,以使转换得到频率序列为等差序列

coefs=cwt(s,scal,wavename);       %得到小波系数

f=scal2frq(scal,wavename,1/fs);   %将尺度转换为频率

imagesc(t,f,abs(coefs));          %绘制色谱图

colorbar;

xlabel('时间 t/s');

ylabel('频率 f/Hz');

title('小波时频图');

这段代码用来分析几个正弦叠加起来的信号效果还不错,但是用来分析真实的车内采集到的信号时效果就会很差,比用窗口傅里叶变换分析出来的效果相差很多,想问问大家有没有别的好的方法用来绘制小波变换的时频图

更多图片

小图

大图

2015-8-19 16:38 上传

362ffb8eb34c3ab72d60948fe2348149.gif

ee377a02506d68defb63fe19b8ce620c.gif

车内噪声的窗口傅里叶变换

324619ae995a043bc12bde7d078becb8.gif

2015-8-19 16:41 上传

362ffb8eb34c3ab72d60948fe2348149.gif

ee377a02506d68defb63fe19b8ce620c.gif

车内噪声的小波时频图

324619ae995a043bc12bde7d078becb8.gif

2015-8-19 16:42 上传

362ffb8eb34c3ab72d60948fe2348149.gif

ee377a02506d68defb63fe19b8ce620c.gif

正弦信号的小波时频图

324619ae995a043bc12bde7d078becb8.gif

9f1d6968538b812c5ec9f6174d531702.gif 组图打开中,请稍候......

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐