[转载]小波学习

原文地址:小波学习作者:洛浦秋风

我现在对小波分解层数与尺度的关系有点混乱了
是不是小波以一个尺度分解一次就是小波进行一层的分解?
比如:[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是连续的

==============================
多谢qinle的解答
那多尺度又是怎么理解的呢?

==============================
多尺度的理解:
如将0-pi定义为空间V0,经过一级分解之后V0被分成0-pi/2的低频子空间V1和pi/2-pi的高频子空间W1,然后一直分下去....得到VJ+WJ+....W2+W1.因为VJ和WJ是正交的空间,且各W子空间也是相互正交的.所以分解得到了是相互不包含的多个频域区间,这就是多分辩率分析,即多尺度分析.
当然多分辨率分析是有严格数学定义的,但完全可以从数字滤波器角度理解它.当然,你的泛函学的不错,也可以从函数空间角度理解.

==============================
是不是说分解到W3、W2、W1、V3就是三尺度分解?
如果答案是肯定的话,我的理解就没错了

==============================
是的

==============================
简单的说尺度就是频率,不过是反比的关系.确定尺度关键还要考虑你要分析信号的采样频率大小,因为根据采样频率大小才能确定你的分析频率是多少.(采样定理).然后再确定你到底分多少层.

==============================
D(j,k)表示尺度 j 的小波变换系数,请问,k代表什么?
D(j,k)代表的是AJ,WJ,WJ-1,……W1吗?

==============================
假如我这有一个10hz和50hz的正弦混合信号,采样频率是500hz,是不是就可以推断出10hz和50hz各自对应的尺度了呢?我的意思是,是不是有一个频率和尺度的换算公式?

==============================
实际频率=小波中心频率×采样频率/尺度

==============================
谢谢回复,我自己也查到了,matlab中两个函数可能会用到,列出来给需要的人参考:scal2frq, centfrq

==============================
towy558558558:麻烦你能不能举个例子具体说一下怎样根据采样频率确定分辨率,然后确定分多少层吗?这个问题我一直没有明白。麻烦你回答一下,谢谢了

==============================
假如你的采样频率是1024Hz,那么我就不需要太多分解层数就能够将低高频信息分解出来了.如果采样频率很大那么我要想提取高频信息当让要使层数分解的多些了.建议你看一下关于小波的书.看看小波每层低通高通滤波器是怎么滤波的.

==============================
能不能说的再详细一些,我们一堆看官都不解渴,何况mengke316专门请教呢!

==============================
在小波分解中,若将信号中的最高频率成分看作是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的信号了,
当然频域信息可能保存的比较好,
但如果小波基不是对称的话,
其相位信息会失真。
所谓多分辨分析,建议你看一下杨福生的那本《小波变换的工程分析与应用》,
它用镜头来解释,
那是相当的经典的,
相信你能得到答案。



==============================
说得不错。
赞。。。

==============================
其实如果我们研究其时域特性,无非就是要实现实时监测功能。如LS朋友所说每一种小波基函数重构后信号都会有相位的偏移量,所以建议用双正交小波,因为双正交小波的偏移量是线性可以计算的。查看一下记得破凰有一个帖子也说过这一问题。

==============================
如果我的采样频率为10000HZ,二进制分解4级,即4个尺度变换,我不同级时滤波器中心频率是否就是10000/2,10000/4,10000/8,10000/16,10000/32HZ ?,这样理解有问题吗?谢谢

==============================
什么是连续?用计算机处理都要离散呀?一个重要区别我认为在于尺度a和偏移b是连续的,而离散小波变换,a,b应该是离散的。

==============================
我想就没有10000/32HZ这一项了吧!另外 点数是不是也是这样分呢?
频率是一个范围值,那么数据的点数应该是具体值吧!

==============================
大家越讨论越多了呵呵,看了很有收获。
不过我还是不明白最初的那个问题,尺度和层数有什么对应关系吗?
我在《MATLAB小波分析高级技术》里面看到对于[c.l]=wavedec(x,N,'wname')中N的解释是尺度,
但是在《MATLAB小波分析工具箱原理与应用》中对N的解释就是分解层数,难道尺度就是层数?
请大家赐教我啊!谢谢了

==============================
N不应该是尺度,而是层数。
[C,L] = wavedec(X,N,'wname') returns the wavelet decomposition of the signal X at level N, using 'wname'. N must be a strictly positive integer 。
这里level N 怎么也不会是尺度

==============================
我想这再怎么分也不是采样频率吧?分的应该是从信号的最高频率

==============================
COEFS = cwt(S,SCALES,'wname') computes the continuous wavelet coefficients of the vector S at real, positive SCALES, using the wavelet whose name is 'wname' ,一维连续小波这里是尺度 scales.

==============================
谢谢哈!没想到这么早就回我了呵呵。感动。。。
那么层数应该如何选择呢?层数与尺度的对应关系是不是:a=2.^n?(a是尺度,n是层数)
网上有篇程序中写到:[c,l]=wavedec(s,7,'db4');%7层 c7=appcoef(c,l,'db4',7);%尺度128,也就是2.^7
但是也有程序中注释将层数写为尺度:例如[c,l]=wavedec(s,2,'db2');%对信号进行2尺度小波分解,还是西电出的书里的
我都要晕了。
选择尺度的时候可以遵循小波模极大值原则,那么选择层数应该遵循什么原则呢?如果知道了尺度是3或者是8,那么对应的层数怎么求?再次谢谢指导啊!



==============================
可能是叫法不一样,那是因为层数和尺度在离散小波变换中 一般ao=2,而尺度a=2.^n就有明确的关系了。其实取2的应该被称为二进离散小波,但是一般都叫做离散小波。
你说的怎么取层在15楼里已经有版友解释得很清楚了,其实还是要把小波分解图搞清楚就可以。

==============================
谢谢呵呵,还是继续看看书,好多概念还是搞不明白。

==============================
需要首先明确多分辨(多尺度)的概念
多分辨(多尺度):在某层,信号的近似空间与其正交补细节空间都是由正交基构成,近似空间来逼近上层信号的更概括形状,可以说分辨率更低。
所以,层数越多,近似空间分辨率越低,多尺度跟多分辨率概念一致,层其实是一个结构概念,层数与多尺度在物理效果上达到了一致



==============================
我想应该是采样频率吧!点也是隔点采,也是变化的



==============================
但是我想来想去,觉得对于一些数据,提取特征的时候用小波不一定合适,比如想提取低频的时候,采样频率比较高,这就意味着要多分层,相应的层上的采样频率也会降低,点数就会更少,那么效果怎么会好呢?

==============================
小波变换主要也是用在高频特征提取上。

==============================
嗯 低频还是滤波器吧!小波不行,EMD效果有时候也没办法说啊

==============================
可以利用时频图和测不准原理来理解,离散小波(包)分解与连续小波分解都可以通过时频图得到物理的解释。

==============================

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

【原创】请问小波分析的尺度系数该怎么理解呢?

我最近在看小波分析的书
  
用MATLAB里面的函数分解得到的系数我看不明白
  
不知道是些什么意思尤其与傅立叶分析的交接不上啊
  
对于对一个信号进行变换然后再重构还觉得可以理解
  
但是如下一个列子
  
load sumsin;
s=sumsin;
subplot(211);plot(s);
title('原始信号');
xlabel('t');
[c,l]=wavedec(s,3,'db9');
subplot(212);plot(c);
title('信号S的3尺度小波分解结构');
xlabel('尺度3的低频系数和尺3、2和1的高频系数');
axis([0,1000,-5,5]);
%以上系数都可以用appcoef和detcoef提取出来仔细看的
%这里我想问问这个系数与傅立叶变换中的有什么不同啊
%我想能够看到信号的包含频率能从哪里看出来呢?

关于[c,l]=wavedec(s,3,'db9')是多尺度一维小波分解,输出参数C是由[cAj,.....]组成,L是由[cAj的长度,.....]组成。小波分解和傅里叶变换的区别我就不仔细说了,你看过两者的区别后就知道了有什么不同。要知道信号的包含频率可以使用:fs=fft(s),fs=abs(fs),plot(fs).

傅立叶变换的系数是反映某一频率的,而小波是反映频带的。建议你可以看一看彭玉华的《小波变换与工程应用》。这本书相对比较容易。


原文地址:https://www.cnblogs.com/gisalameda/p/12840627.html