小波变换学习笔记(一)

本文介绍了小波分析的基本概念和与傅里叶变换的区别,强调了小波在时频分析中的优势。通过haar小波的例子,解释了小波分解和重构的过程,以及正交性在求解中的关键作用。小波变换包括CWT、SWT和DWT,文中主要关注DWT在数据滤波和压缩中的应用。同时,介绍了Python中pywt库进行小波分析的使用。

写在前面。

小波分析绝对是工科生的噩梦。为了搞懂小波到底是什么,搬了本教材研究了几个月。学完了才发现,教材老了,人家已经是第二代小波了。好在作为工科生,只需要学会应用就行了。
好了,在学习小波之前,我们先要大致了解一些东西,以确定小波的基本脉络。

  1. 小波的教材基本都是坑。这里面最关键的问题是,它们基本都是数学家写的,不是为了工科生准备的。数学家的目标是证明小波理论的正确性,探索发现新的小波。工科生的目标是我只想有个分析数据的工具。这两者是完全不同的,小波理论的证明极其繁琐,需要大量的泛函知识。而小波的应用非常简单,和DFT相比的话,也就是多了一些超参数的选择。教材的另一个问题是写作时间,小波体系在80年代末到90年代逐渐成熟起来,很多函数和方法都是这一阶段发现和发明的。如果你的教材比这早,那么恭喜你,中标了。
  2. haar小波是最基本的小波,也是最容易理解的小波,但也是最没有应用的小波。当滤波后的函数成了这个样子的时候,你心中也会有几万头草泥马奔驰而过。在这里插入图片描述但是haar小波给出了小波最基本的特性。小波理论后面所有的东西,就是利用haar小波总结出来的特性,找出符合这些特性要求而且更好用的其它小波。对于我们工科生而言,拿过来用就可以了,除非你非要自己发明一个小波。
  3. 所以本文的内容,虽然也介绍小波理论(其实我也只了解皮毛),但是会只关注和应用相关的东西,不求甚解。另外,文章里不会涉及二维和多维小波,只有一维的。搞图像的朋友还是看别的资料吧。
  4. 小波变换有三类。CWT、SWT、DWT。CWT是连续小波变换,一上来我也认为这完全是理论的东西,因为我们面对的数据都是离散的。但是,然而,并不是这么回事,实际上要想获得时频特性,这也是把我吸引进小波的特性,必须使用CWT。SWT是介于CWT和DWT之间的一种变换,特点是时移不变性。我搞不懂也不想搞,所以就不涉及了。DWT是离散小波变换,是数据滤波和压缩的首选。据说SWT在消噪上效果好,没试过,不知道实际效果,哪位大神给我们讲一下。
  5. python中的小波包叫做pywt ,conda install pywt即可,让我们开始小波之旅吧。

小波变换和傅里叶变换

不论是小波还是傅里叶,它的核心思想都是对函数或者时间序列进行分解。傅里叶变换是把函数分解成不同频率和相位的简谐振动。而小波则是分解成不同宽度和强度的小波函数的组合。既然讲到函数的分解和组合,就要讲一下基的概念。基是一组函数ϕi(x)\phi_i(x)ϕi(x),它们的线性组合可以张成一个函数空间,就是所有下列函数的集合:
f(x)=∑inaiϕi(x) f(x) = \sum_i^na_i\phi_i(x) f(x)=inaiϕi(x)
对于傅里叶变换来讲,它的基是cos(ix)cos(ix)cos(ix)sin(ix)sin(ix)sin(ix),而它的函数空间则几乎涵盖了所有的函数(没有冲击响应的)。
怎么来理解它呢?我们希望它的函数空间能够涵盖我们遇到的所有函数。这样,这些时间序列才能够有效的分解。而基,就是它们分解后每一个分量的样子。
小波也是如此,它的基函数是这样一组函数:ϕn(x),ψn(x),ψn−1(x),…,ψ1(x)\phi_n(x),\psi_n(x),\psi_{n-1}(x),\dots,\psi_1(x)ϕn(x),ψn(x),ψn1(x),,ψ1(x)
其中ϕn(x)\phi_n(x)ϕn(x)是尺度函数,ψi(x)\psi_i(x)ψi(x)是小波函数。注意尺度函数只有一个,小波函数则是一组。下面的标号代表着层次,或者说频率。下标为1的是频率最高的基准点。在pywt中,基本就是序列采样频率的一倍。下标增加到i,则频率是基准频率的2i2^i2i倍。这些都是个啥(四声)!看完haar小波的部分就明白了。现在需要明白的是,小波变换就是一个函数分解的过程。而所谓的滤波,就是分解,处理分解数据,再组合的过程。
下面说小波和傅里叶变换的区别:
傅里叶变换的基是周期函数,因此傅里叶变换也是把所要分解的时间序列作为周期函数来对待的。傅里叶变换后两端的Gibbs现象就是这个原因造成的,它默认为数据的两端之外也有数据,而且应该是周期性的。另外cos和sin函数基的特点,也使得获得的频谱是全数据的,换句话说频谱信息里没有时间信息。
而小波的基是这个样子的(只是几个例子,实际大概一百多种):
在这里插入图片描述前四个是离散小波,用于DWT;后两个是连续小波,用于CWT。说实话,CWT和DWT好像是两个完全不一样的东西。比方说,连续小波是没有尺度函数的,是可忍孰不可忍!
从上图可以看到,小波都是很短小的,即使是延伸到非常长的如香农小波,其能量也集中于0的附近。这种特点使得用小波为基的函数空间,并不要求原函数是周期函数,Gibbs效应明显减轻,而且其频率信息中是包含时间信息的,因为每一个小波只能涵盖很小的时间段。
DFT和CWT分析的频谱没法比较。因为DFT是频率和能量的关系,是二维的。CWT分析的是频率、时间和能量的关系,是三维的。不可否认的是,CWT的时频分析,获得了许多额外的信息,也许是冗余的,但也可能是有用的,也许其中就蕴藏着函数的特征。
下图是DFT和DWT的滤波比较。
在这里插入图片描述在工程上,小波的使用要比傅里叶困难,因为其中有不少超参数的选择。比如选择小波。与此同时,它的可能性也要更大一些。换个小波,换个参数,也许会有更好的结果呢?二者孰好孰坏,只能在工程中验证。

haar小波

这个一百多年前提出的数学概念奠定了小波的基础。相比较其它的小波,haar小波直观、容易理解,所以它也成为了讲解小波理论的不二法门。
小波分析的基本思路是这样的,在不同的频率下,用近似的小波函数组装成原函数的近似函数。二者之间的差值再用更高频率下的小波函数组装出来,这样一层层分解下去,累加的结果就更加近似于原函数,同时,我们也得到了不同频率下的时间和频率特性。
haar小波的尺度函数实际就是方波,它是这样的:
在这里插入图片描述它的定义是:
ϕ(x)={ 1,if 0≤x<1,0,otherwise \phi(x) = \begin{cases} 1, & \text{if }0\leq x<1, \\ 0, & \text{otherwise} \end{cases} ϕ(x)={ 1,0,if 0x<1,otherwise
这个函数是可以平移的,ϕ(x−k)\phi(x-k)ϕ(xk)就是向右平移了k,这个函数还是可以拉伸的,ϕ(2x)\phi(2x)ϕ(2x)的宽度2,以此类推。那个使用这个haar尺度函数做基,就可以张成一个这样的函数空间,这个空间中的函数总有一个是与原函数最接近的:
f(x)=∑k∈Zakϕ(x−k),ak∈R f(x) = \sum_{k\in Z}a_k\phi(x-k), \qquad a_k\in R f(x)=kZak</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值