小波变换时频图matlab程序6,小波变换的时频图绘制|MATLAB 信号处理和通信|MATLAB技术论坛 - Powered by Discuz!...
最近在做小波变换的时频分析,在绘制小波变换时频图时遇到了一些困难,向各位大神求助一下。我在网上搜到了一篇有代码的文章,代码如下: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*p
最近在做小波变换的时频分析,在绘制小波变换时频图时遇到了一些困难,向各位大神求助一下。我在网上搜到了一篇有代码的文章,代码如下:
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 上传


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

2015-8-19 16:41 上传


车内噪声的小波时频图

2015-8-19 16:42 上传


正弦信号的小波时频图

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

所有评论(0)