标签:
小波waveletcwtmatlab物理意义 |
分类: 信号处理 |
一、为什么要进行小波变换
最初的原因很简单,傅里叶变换没有时间信息,也就是说,我们不知道傅里叶变换结果频率出现在什么时间,所以出现了时频分析,就是在一张结果图上同时表明信号的频率及其出现的时间,
这样做更有利于瞬时信号的研究。小波分析就是时频分析的一种。
二、Matlab连续小波变换实例
%
clear
close
clc
%%
Ts
Fs
f1
f2
f3
dt
t1
t2
t3
y1
y2
y3
t
y
figure
plot(t,y)
xlim([t(1)
ylim([min(y)
xlabel('时间t')
ylabel('信号y(t)')
title('原始信号')
%%
scale
cw2
figure
subplot(1,3,[2,3])
[X,Y]
mesh(X,Y,abs(cw2))
view(0,90)
title('时频图')
xlabel('时间')
ylabel('频率')
xlim([t(1)
set(gca,'ylim',[0,max(max(Y))])
set(gca,'YScale','log')
set(gca,'YTick',[1:9,10:10:90,100:100:900,1000,2000])
|
http://s12/middle/84024a4a4d91e756f66db&690小波分析及物理含义" TITLE="Matlab 小波分析及物理含义" />
http://s7/middle/84024a4a07c1ca55a51a6&690小波分析及物理含义" TITLE="Matlab 小波分析及物理含义" />
三、物理含义
上图是用mesh函数绘制的三维小波变换图。
1. 横轴x是时间T
2.
纵轴y是小波的缩放scale,通过转换成为了频率,这个应该是跟选取的小波有关,这里的转换公式如代码所示,小波工具箱提供了求解的函数,具体见http://blog.sina.com.cn/s/blog_84024a4a01019ms1.html
3. Z轴是小波变换系数,代表了与小波与原信号之间的相关程度,越大表示相关度越高
4.
从图中可以看出,0~0.2s,主要频率是20Hz左右,0.2~0.4s,主要频率是50Hz左右,0.4~0.6s,主要频率在100Hz左右。跟原信号比较可知,结果还是很准确的。
上面的详细原理可以参考第五点。
四、小波变换部分更为规范的写法
wavename='morl';
totalscal= length(t);
Fc=centfrq(wavename); % 小波的中心频率
c=2*Fc*totalscal;
scals=c./(1:totalscal);
f=scal2frq(scals,wavename,1/Fs); % 将尺度转换为频率
cw2=cwt(y,scals,wavename); % 求连续小波系数
五、小波变换原理简单介绍
摘自《小波分析完美教程经典》
信号分析一般是为了获得时间和频率域之间的相互关系。傅里叶变换提供了有关频率域的信息,但时间方面的局部化信息却基本丢失。与傅里叶变换不同,小波变换通过平移母小波(mother
wavelet)可获得信号的时间信息,而通过缩放小波的宽度(或者叫做尺度)可以获得信号的频率特性。对母小波的缩放和平移操作是为了计算小波的系数,这些系数代表小波和局部信号之间的相互关系。本节将介绍小波分析中常用的三个基本概念:连续小波变换、离散小波变换和小波重构。
1. 连续小波变换
傅里叶分析是把一个信号分解成各种不同频率的正弦波,因此正弦波是其基函数。同样,小波分析是把一个信号分解成将原始小波经过移位和缩放之后的一系列小波,因此小波同样可以用作表示一些函数的基函数。可以说,凡是能够用傅里叶分析的函数都可以用小波分析,因此小波变换也可以理解为用经过缩放和平移的一系列函数代替傅里叶变换的正弦波。
数学上,傅里叶表示如下
http://s12/middle/84024a4a4d91e7587347b&690小波分析及物理含义" TITLE="Matlab 小波分析及物理含义" />
同样,连续小波变换(continuous wavelet transform, CWT)用小式表示
http://s14/middle/84024a4a4d91e758fbefd&690小波分析及物理含义" TITLE="Matlab 小波分析及物理含义" />
这个式子的含义就是,小波变换是信号f(t)与被缩放和平移的小波函数\(\Psi\)之积在信号存在的整个周期间求和。CWT变换的结果是许多小波系数C,这些系数是缩放因子(scale)和位置因子(position)的函数。
CWT的变换过程可分为如下5个步骤:
步骤1:把小波\(\Psi\)和原始信号f(t)的开始部分进行比较
步骤2:计算系数C。该系数表示该部分信号与小波的近似程度。系数C的值越高表示信号与小波越相似,因此系数C可以反映这种波形的相关程度。
步骤3:把小波向右移,距离为k,得到的小波函数为\(\Psi(t -
k)\),然后重复步骤1和2。再把小波向右移,得到小波\(\Psi(t -
2k)\),重复步骤1和2,按照上述步骤一直进行下去,知道信号f(t)结束。
步骤4:扩展小波\(\Psi(t)\),例如开展一倍,得到的小波函数为\(\Psi(t/2)\)。
步骤5:重复步骤1~4。
CWT的整个变换过程如图所示
http://s6/middle/84024a4a4d91e759f9605&690小波分析及物理含义" TITLE="Matlab 小波分析及物理含义" />
小波变换完成之后得到的系数是在不同的缩放因子下由信号的不同部分产生的。这些小波系数、缩放因子和时间之间的关系和它们的含义可以用下图表示,该图是用Matlab软件绘制的。图(a)是用二维图像表示的小波分析图,x轴表示沿信号的时间方向上的位置,y轴表示缩放因子,每个x-y点的颜色表示小波系数C的幅度大小。图(b)是用三维图像表示的小波分析图,z轴表示小波变换之后的系数。
http://s6/middle/84024a4a4d91e75b12ec5&690小波分析及物理含义" TITLE="Matlab 小波分析及物理含义" />
http://s6/middle/84024a4a4d91e75c36fb5&690小波分析及物理含义" TITLE="Matlab 小波分析及物理含义" />
小波的缩放因子与信号频率之间的关系可以这样来理解。缩放因子小,表示小波比较窄,度量的是信号细节,表示频率\(\omega\)较高;相反,缩放因子大,表示小波比较宽,度量的是信号的粗糙程度,表示频率\(\omega\)比较低。
后一篇:[转载]小波时频图