原地址   http://blog.csdn.net/chenyusiyuan/article/details/1864195

1、小波与傅立叶变换

任何学科都是由一门基本学科积累发展起来的,要做到学好用好,就得把基本学科的概念、原理理解透、掌握好。小波变换是由傅立叶变换的基础上发展起来的,其前身是短时傅立叶变换。所以,如果傅立叶变换没有学好(深入理解概念),是难以学好小波的。同样地,如果第一代小波变换没学好,也学不好第二代小波变换。不过若注重于编程应用,对基础原理的掌握要求就没那么高了。没学好傅立叶变换,能否操作(编程)小波变换,或是没学好第一代小波,能否操作二代小波变换,这个答案是肯定的。编程应用,只要能理解透算法,就可以相对容易的利用熟悉的程序语言编写实现。所以,要学好用好小波,还是得踏踏实实从最基本的傅立叶变换学起。

2、基的概念

学习小波,我们首先要明确的是基的概念。基相当于人体的骨骼,支撑其整个函数(信号)空间,信号可以分成无穷多个基的和(叠加)。而展开系数就是基与信号之间的内积,更通俗的说是投影。展开系数大的,说明信号和基是足够相似的。这也就是相似性检测的思想。但我们必须明确的是,傅立叶变换的基对应于定义在0-2pi区间上的标准正交基,而小波变换是负无穷到正无穷之间的基。因此,小波在实轴上是紧支撑的。而傅立叶的基(正弦或余弦),与此相反。而小波函数能不能成为Reisz基,或标准稳定的正交基,还有其它的限制条件。此外,两者相似的还有就是PARSEVAL定理,即时频能量守恒定理。

3、离散化的处理

傅立叶变换,是一种数学的精妙描述,简洁易懂。但计算机实现,却需要进行离散化处理,一步步把时域和频域离散化开来。第一步,时域离散化,我们得到离散时间傅立叶变换(DTFT),频谱被周期化;第二步,再将频域离散化,我们得到离散周期傅立叶级数(DFS),时域进一步被周期化。第三步,考虑到周期离散化的时域和频域,我们只取一个周期研究,也就是众所周知的离散傅立叶变换(DFT)。需注意的是,DFT是没有物理意义的,它只是我们研究的需要。借此,计算机的处理才成为可能。

至于小波,所有满足容许性条件(从负无穷到正无穷积分为零)的函数,都可以成为小波。小波作为尺度膨胀和空间移位的一组函数也就诞生了。但连续取值的尺度因子和平移因子,对于时域计算量和频域的混叠来说,都是极为不便的。用更为专业的俗语,叫再生核。也就是,对于任何一个尺度因子a和平移因子b的小波,与原信号内积,所得到的小波系数,都可以表示成,在a,b附近生成的小波,投影后小波系数的线性组合。这就叫冗余性。这时的连续小波是与正交基毫无关系的东西,它顶多也只能作为一种积分变换或基。但它的显微镜特点和相似性检测能力,已经显现出来了。为了进一步更好的将连续小波变换离散化,以下步骤是一种有效方法。第一步,尺度离散化。一般只将a二进离散化,此时b是任意的。这样小波被称为二进小波。第二步,平移量离散化,即离散b。怎么离散化呢?b取多少才合适呢?于是,就有了小波采样定理。也就是小波平移的最小距离(采样间隔),应该大于二倍小波基的最高频率。所以b取尺度的整数倍就行了。也就是越胖的小波,对应频谱越窄,平移量应该越大,采样间隔越大。当然,第一二两步的频域离散,在满足频域窗口中心是频域窗口半径3倍的前提下,频域就在统计上是完美二分的。(但很多小波满足不了这个条件,而且频域窗口能量不集中,所以只是近似二分的)。这时的小波变换,称为离散二进小波变换。第三步,引入稳定性条件。也就是经过变换后信号能量和原信号能量有什么不等式关系。满足稳定性条件后,也就是一个小波框架产生成了可能。他是数值稳定性的保证。

4、快速算法

如果说现代数字信号处理革命的算法,甚至是很多快速算法的始祖,或者是满矩阵向量乘法一个几乎不可抗拒的最小计算量NlogN,那就是令人不得不佩服的快速傅立叶变换(FFT)。这里主要说的就是FFT的时频对应关系,也就是算法的来源。根据时域卷积定理,时域的卷积对应频域的相乘,因此我们为了实现卷积,可以先做傅立叶变换,接着在频域相乘,最后再做反傅立叶变换。这里,可以看出,圆周卷积和离散傅立叶变换,可以说是一家子的。快速傅立叶是离散傅立叶的快速算法。因此,我们实现离散线性卷积,先要补零。然后使得它和圆周卷积相等。然后就是快速傅立叶变换,频域相乘,最后反快速傅立叶变换。当然,如果我们需要的就是圆周卷积,那我们也就不用多此一举的补零。这里,我们可以把圆周卷积,写成矩阵形式。这点很重要。Y=AX,这里的A是循环矩阵。但不幸的是A仍然是满阵。另外提一下,MATLAB自带的FFT函数是用机器语言编写的,其计算速度是其他程序语言难以望及的,因此,如果要用MATLAB语言或者C语言实现FFT,就要忍受一下其相对较慢的运算速度了。

小波的快速算法,MALLAT算法,是一个令人振奋的东西。它很好地描述了多分辨率分析(多尺度分析)的本质,并且由此使多分辨率分析推广开来。很形象地说,算法是这样一个过程,在一个较高的尺度(细节)上作离散小波变换,得到了一个小波系数序列(矩阵),如果想得到比它尺度低的小波系数(概貌),就不用再计算内积,只是把较高尺度的小波系数与低通或高通滤波器卷积再抽取即可。但是,算法的推导过程是在整个实轴上进行的,即把信号看成无限长的,这个假设比较强,经常需要对信号进行延拓。还有,我们还必须在较高尺度上作一次内积,才可以使用此算法。因此,我们开始简化,并扩展此理论:

第一,我们把信号的采样,作为一个较高层的小波系数近似初始值。(这是可以的,因为小波很瘦时,和取样函数无异);

第二,我们把原来的卷积,换为圆周卷积。这和DSP何尝不一样呢?他的物理意义,就是把信号作周期延拓(边界处理的一种),使之在整个实轴上扩展。

这种算法一个迷人的优点是,它是完全正交的,也就是说是正交变换。正变换Y=AX;反变换X=A’Y;一般对于标准正交基,A’是A的共轭转置,对于双正交A’是A的对偶矩阵。但不管如何,我们可以大胆的写,AA’=A’A=I。这里I是单位矩阵。

那怎样操作才是最快的呢?我们来分析矩阵A的特点,首先A是正交阵,其次A是有循环矩阵特点,但此时A上半部分是由低通滤波器构成的循环子矩阵,下半部分是由高通滤波器构成的子矩阵,但却是以因子2为循环的。为什么,因为你做了2抽取。所以我们可以,实现小波变换用快速傅立叶变换。这时如果A是满阵的,则复杂度由O(N.^2)下降到(NlogN)。但还有一点,我们忘了A是稀疏的,因为信号是很长的,而滤波器确实很短的,也就是这个矩阵是个近似对角阵。所以,快速傅立叶是不快的。因此,小波变换是O(N)复杂度的。这是它的优势。但要实现,却不是那么容易,第一个方法,稀疏矩阵存储和稀疏矩阵乘法。第二个方法,因子化。因子化,是一个杰出的贡献。它在原有的O(N)的复杂度基础上,对于长滤波器,又把复杂度降低一半。但量级仍然是O(N)。

上述的这个快速算法是研学论坛上一位网友提出的,我还没很好的理解,还有待进一步钻研并努力编写程序实现它。

5、时频分析

对于平稳信号,傅立叶再好不过了。它反映的是信号总体的整个时间段的特点。在频率上,是点频的,即信号频率是离散的。而对于非平稳信号,它就无能为力了。而小波恰好对此派上用场。小波能够反映信号在某个时间段的特点。在频域上,能表征某个频率段的特点。也就是小波能够满足时频分析的需要。但小波,作为频谱分析确实存在很多问题。但我们确实可以做出很多的小波满足这个特点。冉启文著的《小波变换与分数傅立叶变换》一书有详细的介绍。

6、压缩、消噪、特征提取

傅立叶变换的压缩,已经广泛应用了。它的简化版本就是离散余弦变换(DCT)。而小波包的提出,也就使DCT有些相形见绌。首先,它提出代价函数,一般就是熵准则。其次,一个自适应树分解。再次,基于矩阵范数或较少位编码的稀疏化策略。这些使小波包的压缩近乎完美。小波包是从频域上实现的。从时域上,我们也可采用类似的分裂和合并算法,来实现信号的最优表达,这种可变窗小波成为MALVAR小波。要记住的是,压缩是小波最大的优势。

消噪,一般的傅立叶算法,一般可以是IIR滤波和FIR滤波。两者各有优缺点。而小波的消噪,一般也是由多层分解和阈值策略组成。我们需要的是信号的特点,噪声的特点,然后确定用不用小波,或用什么小波。这点上,小波的优势并不是很明显。

特征提取。这是小波的显微镜特点很好地运用。利用模极大值和LIPSCHITZ指数,我们可以对信号的突变点做分析。但这里面的问题也是很多。首先,在不同尺度上,噪声和信号的模极大值变化不同。再次,一般我们用求内积方法,求模极大值,而不用MALLAT算法,或者改用叫多孔算法的东西来做。

关于小波变换的一些理解相关推荐

  1. 【MATLAB项目实战】基于Morlet小波变换的滚动轴承故障特征提取研究

    轴承在运行过程中发生点蚀.剥落.擦伤等表面损伤类故障时,在损伤部位产生的突变冲击脉冲力作用下,会形成周期性冲击振动.而小波变换具有良好的时频分辨率和瞬态检测能力,非常适合处理此类非平稳信号.根据小波变 ...

  2. 小波变换的MATLAB原理,[转载]Matlab 小波分析及物理含义

    一.为什么要进行小波变换 最初的原因很简单,傅里叶变换没有时间信息,也就是说,我们不知道傅里叶变换结果频率出现在什么时间,所以出现了时频分析,就是在一张结果图上同时表明信号的频率及其出现的时间, 这样 ...

  3. z变换判断稳定性和因果性_江苏自学考试数学信号处理教材大纲

    南京理工大学编 (高纲号 0551) I.课程性质与设置目的要求 数字信号处理课程是江苏省高等教育自学考试电子工程专业的必修课,是为培养和检验自学应考者具有数字信号处理系统的基本理论和实际应用的一门专 ...

  4. 对于gabor变换和gabor小波变换理解与总结

    最近开始研究gabor变换,之前只是停留在表面的意义上,没有深入研究,总是将gabor变换和gabor小波变换混为一团 ,给自己后续的学习带来很大的困扰,借此机会查阅了相关资料好好整理总结一下,以便区 ...

  5. 小波变换的理解(适合新手短期内分析信号的高频特性f)

    这里承接我的博客"用Matlab处理TDMS数据(降噪+频谱分析)",这篇博客中就泄露电流的处理涉及到了小波变换,这里再重新思考一下这个过程. 我本科是电气的,本科里开设了一门课程 ...

  6. 个人理解小波变换及转载小波变换原理

    在学习傅里叶变换的时候我们接触过周期信号的傅里叶变换.傅里叶级数的直观感受就是任意一个周期信号可以用N个正余弦叠加来表示.这些正余弦的频率和幅度各异.每一个余弦信号都有着自己固定的频率和幅值.所以,在 ...

  7. matlab零交叉块,[MATLAB基础] 关于心电信号奇异点与其小波变换模极大值对的零交叉点的关系?请教下面程序应该如何理解哈...

    关于心电信号奇异点与其小波变换模极大值对的零交叉点的关系?请教下面程序应该如何理解哈 %**************************************求正负极大值对*********** ...

  8. 小波变换到小波网络理解+论文解读《Wavelet Convolutional Neural Networks》

    连续小波变换最大的特点是什么 多分辨分析肯定是标准答案.所谓多分辨分析即是指小波在不同频率段会有不同的分辨率 由图,我们可以看出,低频时(频率为4),对应彩色条纹更细,意味着更高的频率分辨率,而条纹区 ...

  9. 小波变换理解:消失矩、支撑长度的理解

    1.前言 消失矩就是小波变换后能量的集中程度,消失矩越高,高频子带的小波系数越小,接近0的小波系数越多.支撑长度表示滤波器的长度,滤波器的长度越短,小波变换的计算量就越低.dBn中n表示消失矩,支撑长 ...

最新文章

  1. 读 MySQL 源码再看 INSERT 加锁流程
  2. snowflake做主键 自增_自增ID算法snowflake - C#版
  3. python培训班靠谱吗-什么样的python培训机构靠谱?
  4. hurst指数matlab代码_Matlab 简介
  5. 老版本MACBOOK更换固态硬盘教程
  6. 设置快捷键使页面全屏
  7. 数据库的容灾与备份,你是如何处理的?
  8. 【JavaSE】Java9Java10Java11新特性(687~717)
  9. python真的能赚钱吗,学python可以赚钱吗
  10. 大数据hadoop分布式系统
  11. 计算机网络——哈工大李全龙
  12. gulp构建qq音乐播放器
  13. Vue Element Admin 使用mock模块模拟数据
  14. 腾讯天御、防水墙联合InMobi发布《2020中国移动广告反欺诈白皮书》
  15. Jenkins升级后页面出现部分英文的问题处理
  16. html embed用法 Embed   (一)、基本语法:   embed src=url   说明:embed可以用来插入各种多媒体,格式可以是 Midi、Wav、AIFF、AU、MP3等
  17. (附源码)计算机毕业设计SSM基于web的家教管理系统
  18. 被黑出翔的“韭菜收割机”,GTC徐乐的区块链创业招黑史
  19. Win系统 - 超简单!给硬盘来个简易健康体检吧
  20. 《博客园精华集--WEB分册》第三轮结果--心痛时刻一如既往

热门文章

  1. ganglia监控hadoop集群配置
  2. QString与QByteArray互转
  3. opencv中Mat与vector互转
  4. 6大主流浏览器中,各个html标签默认的padding和maring
  5. 液晶屏幕,OLED屏幕,反应时间计算,RT,ResponseTime,响应时间
  6. 计算机一级wps选择题必背知识点,计算机一级WPS提高练习题及答案
  7. 因子分析累计贡献率_累计方差贡献率_spss累计方差贡献率_因子分析方差贡献率...
  8. 专利学习笔记8:解决CPC签名失败问题
  9. Numpy 数组索引
  10. 用Pythn言何实现你的股票量交模型