马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
小波变换是克服其他信号处理技术缺陷的一种分析信号的方法。
小波由一组小波基函数构成,它可以描述信号时间(空间)和频率(尺度)域的局部特性。采用小波分析最大优点是可对信号进行实施局部分析,可在任意的时间或空间域中分析信号。小波分析具有发现其他信号分析方法所不能识别的、隐藏于数据之中的表现结构特性的信息,而这些特性对机械故障和材料的损伤等识别是尤为重要的。
如何选择小波基函数目前还没有一个理论标准,常用的小波函数有Haar、Daubechies(dbN)、Morlet、Meryer、Symlet、Coiflet、Biorthogonal小波等15种。但是小波变换的小波系数,为如何选择小波基函数提供了依据。小波变换后的系数比较大,就表明了小波和信号的波形相似程度较大,反之则比较小。另外,还要根据信号处理的目的来决定尺度的大小。如果小波变换仅仅反映信号整体的近似特征,往往选用较大的尺度;反映信号细节的变换,则选用尺度不大的小波。由于小波函数家族成员较多,进行小波变换目的各异,目前没有一个通用的标准。
根据实际运用的经验,Morlet小波应用领域较广,可以用于信号表示和分类、图像识别特征提取;墨西哥草帽小波用于系统识别;样条小波用于材料探伤;Shannon正交基用于差分方程求解。
小波分解层数与尺度的关系详解 问题1:是不是小波以一个尺度分解一次就是小波进行一层的分解?
解答:
· [C,L]=wavedec(X,N,'wname')中,N为尺度,若为1,就是进行单尺度分解,也就是分解一层。但是W=CWT(X,[2:2:128],'wname','plot')的分解尺度又是从2~128以2为步进的,这里的“分解尺度”跟上面那个“尺度”的意思一样吗?
· [C,L]=wavedec(X,N,'wname')中的N为分解层数,不是尺度,'以wname'是DB小波为例,如DB4,4为消失矩,则一般滤波器长度为8,阶数为7。
注:wavedec针对于离散,CWT是连续的。
问题2:多尺度又是怎么理解的呢?
解答:多尺度的理解:如将0-pi定义为空间V0,经过一级分解之后V0被分成0-pi/2的低频子空间V1和pi/2-pi的高频子空间W1,然后一直分下去....得到VJ+WJ+....W2+W1。因为VJ和WJ是正交的空间,且各W子空间也是相互正交的。所以分解得到了是相互不包含的多个频域区间,这就是多分辨率分析,即多尺度分析。当然多分辨率分析是有严格数学定义的,但完全可以从数字滤波器角度理解它。当然,你的泛函学的不错,也可以从函数空间角度理解。
问题3:是不是说分解到W3、W2、W1、V3就是三尺度分解?
解答:简单的说尺度就是频率,不过是反比的关系。确定尺度关键还要考虑你要分析信号的采样频率大小,因为根据采样频率大小才能确定你的分析频率是多少(采样定理),然后再确定你到底分多少层。
问题4:假如我这有一个10hz和50hz的正弦混合信号,采样频率是500hz,是不是就可以推断出10hz和50hz各自对应的尺度了呢?我的意思是,是不是有一个频率和尺度的换算公式?
解答:
实际频率=小波中心频率×采样频率/尺度
问题5:在小波分解中,若将信号中的最高频率成分看作是1,则各层小波分解便是带通或低通滤波器,且各层所占的具体频带为(三层分解)a1:0~0.5 d1: 0.5~1;a2:0~0.25 d2: 0.25~0.5;a3: 0~0.125; d3:0.125~0.25。可以这样理解吗?如果我要得到频率为0.125~0.25的信号信息,是不是直接对d3的分解系数直接重构之后就是时域信息了?这样感觉把多层分解纯粹当作滤波器来用了,又怎么是多分辨分析?怎样把时频信息同时表达出来?
解答:这个问题非常好,我刚开始的时候也是被这个问题困惑住了,咱们确实是把它当成了滤波器来用了,也就是说我们只看重了小波分析的频域局部化的特性。但是很多人都忽略其时域局部化特性,因为小波是变时频分析的方法,根据测不准原理如果带宽大,则时窗宽度就要小。那么也就意味着如果我们要利用其时域局部化特性,就得在时宽小的分解层数下研究,也就是低尺度下。这样我们就可以更容易看出信号在该段时间内的细微变化,但是就产生一个问题,这一段的频率带很宽,频率局部化就体现不出来了。对d3进行单支重构就可以得到0.125-0.25的信号了,当然频域信息可能保存的比较好。但如果小波基不是对称的话,其相位信息会失真。
小波变换主要也是用在高频特征提取上。层数不是尺度,小波包分解中,N应该是层数,个人理解对应尺度应该是2^N。小波分解的尺度为a,分解层次为j。如果是连续小波分解尺度即为a,离散小波分解尺度严格意义上来说为a=2^j,在很多书上就直接将j称为尺度,因为一个j就对应着一个尺度a。其实两者是统一的。
小波分析在信号检测上的应用 监测信号的自相似性
直观上讲,小波分解系数表示了信号与小波之间的“相似指数”,如果相似程度越高,则相似指数越大。因此如果一个信号的不同的尺度之间相似,则小波系数在不同的尺度上也应该相似。因此,可以通过小波分解检测信号的自相似性,即检测信号的分形特征。实践表明,通过小波分解可以很好地研究信号或图像的分形特征。
下面通过一个简单的例子来说明小波分析在检测信号自相似性中的应用,待检测的信号是经过反复迭代生成的信号,因此具有自相似性。
程序代码如下:
原始代码
从图中可以看出分解后的小波系数在许多尺度上看上去都非常相似。
信号的奇异性检测
信号的突变点和奇异点等不规则部分通常包含重要信息。
一般信号的奇异性分为两种情况:
· 信号在某一时刻其幅值发生突变,引起信号的非连续,这种类型的突变称为第一类型的间断点。
· 信号在外观上很光滑,幅值没有发生突变,但是信号的一阶微分有突变发生且一阶微分不连续,这种类型的突变称为第二类型的间断点。
应用小波分析可以检测出信号中的突变点的位置、类型以及变化的幅度。下面介绍小波分析在信号奇异性检测中的应用。
(1) 第一类型间断点的检测
在本例中,信号的不连续是由于低频特征的正弦信号,在后半部分突然有高频特征的正弦信号加入。首先利用傅里叶变换分析对信号在频域进行分析,发现无检测突变点,接着利用小波分析进行分析,结果证明它能够准确地检测出了信号幅值突变的位置,即高频信号加入的时间点。
程序代码如下:
load freqbrk; x=freqbrk; %对信号进行傅里叶变换 f=fft(x,1024); f=abs(f); figure; subplot(211); plot(x); subplot(212); plot(f); %使用db6小波进行6层分解 [c,l]=wavedec(x,6,'db6'); figure(2); subplot(811); plot(x); ylabel('x'); %对分解的第六层低频系数进行重构 a=wrcoef('a',c,l,'db6',6); subplot(812); plot(a); ylabel('a6'); for i=1:6 %对分解的第6层到第1层的高频系数分别进行重构 d=wrcoef('d',c,l,'db6',7-i); subplot(8,1,i+2); plot(d); ylabel(['d',num2str(7-i)]); end
由图中可以看出,由于傅里叶变换不具有时间分辨力,因此无法检测信号的间断点。而在小波分析的图中,在信号的小波分解的第一层高频系数d1和第二层高频系数d2中,可以非常清楚地观察到信号的不连续点,用db1小波比用db6小波要好。
这个例子也表明小波分析在检测信号的奇异点时具有傅里叶变换无法比拟的优越性,利用小波分析可以精确地检测出信号的突变点。
在信号处理中,信号中通常都包含噪声,而噪声的存在增加了辨别信号不连续点的难度。一般来说,如果信号小波分解的第一层能够估计出噪声的大体位置,则信号的间断点就能够在小波分解的更深层次上表现出来。
(2) 利用小波分析识别某一频率区间上的信号
在本例中,使用小波分析一个由三个不同频率的正弦信号叠加的信号,看是否能将这三个正弦信号区分开来,结果证明小波分析可以很好地识别某一频率区间的信号。
程序代码如下:
原始信号以及各层近似信号
在本例中,该信号是由周期分别为200、20、2的信号组成的,它们的采样周期均为1,为方便起见,在此分别称为低频、中频和高频的正弦信号。从图中可以看出,低频、中频和高频信号分别对应于分解的近似信号a4、细节信号d4以及细节信号d1。
附:Daubechies小波基的构造代码
Daubechies小波基的构造:
来源:博客园(cnblogs)Albert010的博客
|