声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 9173|回复: 43

[共享资源] 【资料共享】Matlab小波变化

  [复制链接]
发表于 2014-5-1 12:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 牛小贱 于 2014-5-1 19:11 编辑

分享一些关于小波变换的资料,希望对学习这一块的人有用!!!
         简介:传统的信号理论,是建立在Fourier分析基础上的,而Fourier变换作为一种全局性的变化,其有一定的局限性。在实际应用中人们开对Fourier变换进行各种改进,小波分析由此产生了。小波分析是一种新兴的数学分支,它是泛函数、Fourier分析、调和分析、数值分析的最完美的结晶;在应用领域,特别是在信号处理、图像处理、语音处理以及众多非线性科学领域,它被认为是继Fourier分析之后的又一有效的时频分析方法。小波变换与Fourier变换相比,是一个时间和频域的局域变换因而能有效地从信号中提取信息,通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析(MultiscaleAnalysis),解决了Fourier变换不能解决的许多困难问题。
-、关于连续小波时频图的绘制原理
    1.需要用到的小波工具箱中的三个函数cwt(),centfrq(),scal2frq()
    COEFS = cwt(S,SCALES,'wname')
   
说明:该函数能实现连续小波变换,其中S为输入信号,SCALES为尺度,wname为小波名称。
    FREQ = centfrq('wname')
   
说明:该函数能求出以wname命名的母小波的中心频率。
    F = scal2frq(A,'wname',DELTA)
   
说明:该函数能将尺度转换为实际频率,其中A为尺度,wname为小波名称,DELTA为采样周期。
    注:这三个函数还有其它格式,具体可参阅matlab的帮助文档。
2.尺度与频率之间的关系
    设a为尺度,fs为采样频率,Fc为小波中心频率,则a对应的实际频率Fa
                     Fa=Fc×fs/a                              (1)
   
显然,根据采样定理,为使小波尺度图的频率范围为(0,fs/2),尺度范围应为(2*Fc,inf),其中inf表示为无穷大。在实际应用中,只需取尺 度足够大即可。
3.尺度序列的确定
    由式(1)可以看出,为使转换后的频率序列是一等差序列,尺度序列必须取为以下形式:
                c/totalscal,...,c/(totalscal-1),c/4,c/2,c       (2)
其 中,totalscal是对信号进行小波变换时所用尺度序列的长度(通常需要预先设定好),c为一常数。
   下面讲讲c的求法。
    根据式(1)容易看出,尺度c/totalscal所对应的实际频率应为fs/2,于是可得
                     c=2×Fc/totalscal                        (3)
将 式(3)代入式(2)便得到了所需的尺度序列。
4.时频图的绘制
   
确定了小波基和尺度后,就可以用cwt求小波系数coefs(系数是复数时要取模),然后用scal2frq将尺度序列转换为实际频率序列f,最后结合时 间序列t,用imagesc(t,f,abs(coefs))便能画出小波时频图。
    注意:直接将尺度序列取为等差序列,例如1:1:64,将只能得到正确的尺度-时间-小波系数图,而无法将其转换为频率-时间-小波系数图。这是因为此时的频率间隔不为常数。
此时,可通过查表的方法将尺度转化为频率或直接修改尺度轴标注。同理,利用本帖所介绍的方法只能得到频率-时间-小波系数 图,不能得到正确的尺度-时间-小波系数图。
二、应用例子
    下面给出一实际例子来说明小波时频图的绘制。所取仿真信号是由频率分别为100Hz和200Hz的两个正弦分量所合成的信号。
  1. clear;
  2.      clc;
  3.      fs=1024;                          %采样频率
  4.      f1=100;                        
  5.      f2=200;
  6.      t=0:1/fs:1;
  7.      s=sin(2*pi*f1*t)+sin(2*pi*f2*t);  %两个不同频率正弦信号合成的仿真信号
  8.      %%%%%%%%%%%%%%%%%小波时频图绘制%%%%%%%%%%%%%%%%%%
  9.      wavename='cmor3-3';
  10.      totalscal=256;                    %尺度序列的长度,即scal的长度
  11.      wcf=centfrq(wavename);            %小波的中心频率
  12.      cparam=2*wcf*totalscal;           %为得到合适的尺度所求出的参数
  13.      a=totalscal:-1:1;  
  14.      scal=cparam./a;                   %得到各个尺度,以使转换得到频率序列为等差序列
  15.      coefs=cwt(s,scal,wavename);       %得到小波系数
  16.      f=scal2frq(scal,wavename,1/fs);   %将尺度转换为频率
  17.      imagesc(t,f,abs(coefs));          %绘制色谱图
  18.      colorbar;
  19.      xlabel('时间 t/s');
  20.      ylabel('频率 f/Hz');
  21.      title('小波时频图');
复制代码
说 明:(1)应用时只须改变wavename和totalscal两个参数即可。
       (2)在这个例子中,最好选用复的morlet小波,其它小波的分析效果不好,而且morlet小波的带宽参数和中心频率取得越大,时频图上反映的时频聚集性越好。
         分享资料(见附件)包括:MATLAB小波变换指令及其功能介绍、关于小波分析的matlab程序、专题讲座——小波变换等等。

关于小波分析的matlab程序.doc

92 KB, 下载次数: 84

小波变换(基础).doc

471.5 KB, 下载次数: 75

小波分析.ppt

2.02 MB, 下载次数: 109

专题讲座——小波变换.ppt

3.09 MB, 下载次数: 108

MATLAB小波变换指令及其功能介绍(超级有用).doc

54 KB, 下载次数: 68

评分

2

查看全部评分

回复
分享到:

使用道具 举报

发表于 2014-5-1 18:57 | 显示全部楼层
感谢分享
发表于 2014-6-5 17:04 | 显示全部楼层
感谢分享
发表于 2014-6-23 11:08 | 显示全部楼层
谢谢分享啦
发表于 2014-6-29 15:30 | 显示全部楼层
谢谢分享
发表于 2014-6-29 15:31 | 显示全部楼层
楼主很热情,赞一个
发表于 2014-6-30 10:19 | 显示全部楼层
发表于 2014-6-30 11:37 | 显示全部楼层
谢谢
发表于 2014-6-30 20:05 | 显示全部楼层
谢谢分享
发表于 2014-7-2 15:19 | 显示全部楼层
发表于 2014-7-3 14:21 | 显示全部楼层
感谢分享
发表于 2014-7-7 15:32 | 显示全部楼层
感谢分享 学习了~
发表于 2014-7-7 21:06 | 显示全部楼层
好多体能  收藏先
发表于 2014-7-8 15:39 | 显示全部楼层
》《》《》《》《》《
发表于 2014-7-22 08:33 | 显示全部楼层
感谢分享
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-28 15:21 , Processed in 0.130949 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表