目录

  • 一、傅里叶变换的局限性
  • 二、短时傅里叶变换(STFT)
  • 三、小波变换(Wavelet Transform)
    • 1、小波变换的基
    • 2、小波变换的步骤
    • 3、CWT(连续小波变换)
    • 4、DWT(离散小波变换)
      • (1)冗余小波变换(Redundant Wavelet Transform)
      • (2)MRA
    • 5、滤波组(Filter Bank)
    • 6、不同的小波函数及其性质

一、傅里叶变换的局限性

对于非平稳信号,傅里叶变换不能很好反映出其频率随时间的变化。因为我们在应用傅里叶变换时,计算出的每个频率分量都是对应于整个时间轴(或有信号的时间范围),这就使得原始信号的时间信息丢失了,不能分析出频率随时间的变化,也不能定位出某一时刻发生的突变。

下图的三个信号在时域上有很大不同,第一张是不同频率信号相加混合在一起,后两张包含与第一张相同的频率成分,不过分时出现。但从傅里叶频谱上看,三者差别并不大,尤其是后两个非平稳信号,我们无法从频谱上区分它们。


      这种局限性也表现在突变信号上,因为突变信号本身也是非平稳信号。比如单位阶跃信号u(t),就是如此简单的信号,做傅里叶变换时也不得不使用取极限等复杂操作。因为u(t)在时域上只在一个时间点上变化了一下,你傅里叶变换非要从整个时间轴考虑问题,你不复杂谁复杂?

二、短时傅里叶变换(STFT)

为了弥补FT的不足,把整个时间域分解成无数个等长的小过程(加窗),每个过程近似平稳,再傅里叶变换,就知道在哪个时间点上出现了什么频率。

但此时仍然有问题,那就是窗的宽度。窄窗口时间分辨率高、频率分辨率低;宽窗口时间分辨率低、频率分辨率高(如下图)。所以,对于时变非稳态信号,高频部分适合用小窗,低频部分适合用大窗。然而,在一次STFT中,窗口的宽度是固定。所以STFT也有其局限性,这就引出了我们的小波变换。

三、小波变换(Wavelet Transform)

1、小波变换的基

小波变换干脆直接把傅里叶变换的基给换了,将无限长的三角函数基换成了有限长的会衰减的小波基,它的能量有限,都集中在某一点附近,而且积分的值为零。傅里叶变换,变量只有w,而小波变换则有尺度a和平移量b,尺度对应于频率,平移量对应于时间,所以小波变换可以用于时频分析,得到信号的时频谱。下面是小波函数的一般形式。

2、小波变换的步骤

(1)把小波w(t)和原函数f(t)的开始部分进行比较(实际上就是作內积),计算系数C。系数C表示该部分函数与小波的相似程度。
(2)把小波向右移k单位,得到小波w(t-k),重复1。重复该步骤直至函数f结束.
(3)扩展小波w(t),得到小波w(t/2),重复步骤1,2.
(4)不断扩展小波,重复1,2,3

3、CWT(连续小波变换)

变换公式如下,通过参数a定位频率,通过参数b定位时间。


变换后可以得到如下的标度图,两个坐标轴分别为time和Scales(即b和a)Lower Scales对应高频成分,High Scales对应低频成分。

4、DWT(离散小波变换)

在CWT中,参数a和b都是连续变化的,可以有无穷多个取值,但这种计算对于现代计算机来说是无法在有限时间内完成的。所以我们把a和b根据一定的规则取成离散的,这就是DWT。

根据a和b抽取方式的不同,DWT有两种,分别是冗余小波变换和多重解析度分析(MRA)

(1)冗余小波变换(Redundant Wavelet Transform)

a以指数扩张,

因为对于宽小波我们希望以更大的步长去平移,故可以定义


      由此这种形式的小波函数和变换公式分别由下面两式给出


(2)MRA

在MRA中,尺度和位置参数按照2的幂选取,并且进行了下采样,所以这种DWT更加高效和准确。小波函数和变换公式:



      下图是DWT的标度图

5、滤波组(Filter Bank)

基于多解析理论(multi resolution theory),我们可以用FIR数字滤波器对信号进行小波分解,分解成为低频部分和高频部分。这在图像处理中很有用处,具体实现可以查看我的另一片文章→图像处理与小波变换-Python实现

一级分解:(因为进行的是下2采样,所以1000个数据点得到500个细节系数和500个近似系数)


      对一级分解得到的低频部分还可以进一步分解,最大分解级数log2N


      有分解当然就有重建(Reconstruction):


      多层分解与重建:

      分解示例:

6、不同的小波函数及其性质

下表展示了常见的小波函数及其对应于Matlab中的函数名称,其中最简单的就是Haar小波


下表是根据对小波函数的分类,分为是否带有filters、是否紧凑支持、正交or双正交等:

参考:
https://blog.csdn.net/baidu_27643275/article/details/84826773
https://blog.csdn.net/qq_30815237/article/details/89704855
https://www.bilibili.com/video/BV18y4y1y7Uf

小波变换入门(超清晰的思路)相关推荐

  1. android 6.0 数据库权限,Android超清晰6.0权限申请AndPermission

    Android超清晰6.0权限申请AndPermission的具体实现代码,供大家参考,具体内容如下 前言 这是我经常使用的框架,原因: 1.思路清晰 2.实现方便 开始 准备工作 导包 compil ...

  2. 全程配图超清晰的Springboot权限控制后台管理项目实战第二期(Springboot+shiro+mybatis+redis)

    全程配图超清晰的Springboot权限控制后台管理项目实战第二期(Springboot+shiro+mybatis+redis) 众所周知,作为一个后端新手学习者,通过项目来学习,增长项目经验,是一 ...

  3. Cache超清晰逻辑详解----不一致性(待更)

    文章目录 Cache超清晰逻辑详解 造成Cache与主存内容不一致的原因主要有两个: cache更新协议中的算法 解决Cache不命中的情况: 在多机系统中解决不一致性: 1.共享cache法 2. ...

  4. CTF|pwn栈溢出入门题level3解题思路及个人总结

    CTF|pwn栈溢出入门题level3解题思路及个人总结 解题思路 拿到题目将文件下载下来拖入ubuntu 发现这一次的文件比较特殊:是一个linux环境下的压缩包,自然而然想到的是解压它 通过命令行 ...

  5. 猿人学12题超详细解题思路-入门级js(base64编码)

    前言:服务器为了防止获取他们的数据,可谓是使用各种方法,js逆向可以很方便的解析出来一些加密数据,毕竟道高一尺魔高一丈,今天告诉大家袁人学第12题的解题思路,超详细解题思路. 需求:          ...

  6. 【小波变换】小波变换入门----haar小波

    小波可以认为是一个带通滤波器,只允许频率和小波基函数频率相近的信号通过.小波变换的基本思想是用一组小波函数和基函数表示一个函数或者信号. haar小波变换 首先,以haar小波变换过程为例来理解小波变 ...

  7. 2020年日历电子版(打印版)_2020年日历表(超清晰A4打印版)

    <2020年日历表(超清晰A4打印版)>由会员分享,可在线阅读,更多相关<2020年日历表(超清晰A4打印版)(1页珍藏版)>请在人人文库网上搜索. 1.公元公元2020202 ...

  8. 二、SSM整合按步骤详解(清晰的思路加代码)从零开始一步步整合【二】(完结)

    接上一章节继续SSM整合按步骤详解(清晰的思路加代码)从零开始一步步整合[一] 上面讲了Spring和SpringMVC的整合,现在开始下一步,先来搭建一下MyBatis的环境 我们先来看看目录结构图 ...

  9. 简单实现图形验证接口-去水纹,超清晰

    简单实现图形验证接口-去水纹,超清晰 先给各位大佬上效果图 引入pom文件 <dependency><groupId>com.github.axet</groupId&g ...

最新文章

  1. 使用C# 3.0编译器编译 Asp.Net 项目代码
  2. android 图片过滤,android 图片转为bitmap,黑白镜过滤
  3. java迭代器创建后mutx锁,java集合【5】—— Collections接口源码解析
  4. Intel Realsense D435 python 如何获取(打印)所有摄像头序列号信息?
  5. 广西大学计算机类开设课程,操作系统教学大纲-广西大学计算机与电子信息学院.DOC...
  6. 灰度测试试验流量“洗牌”
  7. Dell R720服务器安装Ubuntu 16.04 Server 版步骤
  8. c语言的关键字怎么编辑,C语言的关键字
  9. C# 让应用程序只运行一个实例
  10. 计算机应用基础讨论,计算机应用基础讨论
  11. JDK10 新特性详解
  12. Solidworks二次开发环境搭建(Net)
  13. 通用模块脚本使用案例:玩家与NPC对话
  14. 小白量化《穿云箭集群量化》(1)小白草根超级量化软件介绍
  15. 数字模型制作规范(转自Unity3D群)
  16. css svg做动图,用svg动态绘制图形
  17. 【HTML学习笔记】link标签中的href路径
  18. mysql load escaped_MySQL load语句详细介绍
  19. 马尔科夫链的一个应用实例
  20. Linux 入门第一节

热门文章

  1. 跟着前辈们,一步一个脚印。 1
  2. Matplotlib---3D图
  3. 网秦第三季度应占净亏损900万美元 同比亏损扩大
  4. 命令行下使用百度网盘(bypy)
  5. 《次元唤醒 需求规格说明书v1.0》
  6. 学霸黄晓南,和她的霸蛮品友互动
  7. 【PTA天梯赛练习题目2】
  8. 微信支付提示支付验证签名失败
  9. Qt 富文本处理(23): Syntax Highlighter Example【来自官档的翻译】
  10. LZ77算法 Python实现