一、小波变换

1、连续型小波变换

小波变换是一个平方可积函数 f(t) f ( t ) <script type="math/tex" id="MathJax-Element-59">f(t)</script> 与一个时频域上具有良好局部性质的小波函数 ψ(t) ψ ( t ) <script type="math/tex" id="MathJax-Element-60">\psi \left( t \right)</script>的内积:

Wf(a,b)=<f,ψa,b>=1aψ(tba)dt W f ( a , b ) =< f , ψ a , b >= 1 a ψ ∗ ( t − b a ) d t
<script type="math/tex; mode=display" id="MathJax-Element-61">{{W}_{f}}\left( a,b \right)= =\frac{1}{\sqrt{a}}{{\psi }^{*}}\left( \frac{t-b}{a} \right)dt</script>

式中, <,> < ∗ , ∗ > <script type="math/tex" id="MathJax-Element-62"></script>表示内积; b b <script type="math/tex" id="MathJax-Element-63">b</script>为位移因子; <script type="math/tex" id="MathJax-Element-64">*</script>表示复数共轭; ψa,b(t) ψ a , b ( t ) <script type="math/tex" id="MathJax-Element-65">{{\psi }_{a,b}}\left( t \right)</script>为

ψa,b(t)=1aψ(tba) ψ a , b ( t ) = 1 a ψ ( t − b a )
<script type="math/tex; mode=display" id="MathJax-Element-66">{{\psi }_{a,b}}\left( t \right)=\frac{1}{\sqrt{a}}\psi \left( \frac{t-b}{a} \right)</script>

式中, ψa,b(t) ψ a , b ( t ) <script type="math/tex" id="MathJax-Element-67">{{\psi }_{a,b}}\left( t \right)</script>是母小波 ψ(t) ψ ( t ) <script type="math/tex" id="MathJax-Element-68">\psi \left( t \right)</script>经位移和伸缩所产生的一族函数,称为小波基函数或简称小波基

由上式可以看到,改变 a a <script type="math/tex" id="MathJax-Element-69">a</script>值,对函数 ψ a , b ( t ) <script type="math/tex" id="MathJax-Element-70">{{\psi }_{a,b}}\left( t \right)</script>具有伸展 (a>1) ( a > 1 ) <script type="math/tex" id="MathJax-Element-71">(a>1)</script>或收缩 (a<1) ( a < 1 ) <script type="math/tex" id="MathJax-Element-72">(a<1)</script>的作用;改变 b b <script type="math/tex" id="MathJax-Element-73">b</script>,则会影响函数 f ( t ) <script type="math/tex" id="MathJax-Element-74">f(t)</script>围绕 b b <script type="math/tex" id="MathJax-Element-75">b</script>点的分析结果。
ψ ( t ) <script type="math/tex" id="MathJax-Element-76">\psi \left( t \right)</script>必须满足容许性条件:

ψ(t)dt=0  |Ψ(ω)|2|ω|dω=Cψ< ∫ − ∞ ∞ ψ ( t ) d t = 0   或   ∫ − ∞ ∞ | Ψ ( ω ) | 2 | ω | d ω = C ψ < ∞
<script type="math/tex; mode=display" id="MathJax-Element-77">\int_{-\infty }^{\infty }{\psi \left( t \right)}dt=0\text{ }或\text{ }\int_{-\infty }^{\infty }{\frac{{{\left| \Psi \left( \omega \right) \right|}^{2}}}{\left| \omega \right|}}d\omega ={{C}_{\psi }}<\infty </script>

式中, Ψ(ω) Ψ ( ω ) <script type="math/tex" id="MathJax-Element-78">\Psi \left( \omega \right)</script>是 ψ(t) ψ ( t ) <script type="math/tex" id="MathJax-Element-79">\psi \left( t \right)</script>的傅里叶变换。
由上式可以得出, ψ(t) ψ ( t ) <script type="math/tex" id="MathJax-Element-80">\psi \left( t \right)</script>的时域波形具有“衰减性”和“波动性”,即其振幅具有正负相间的振荡;从频谱上看, Ψ(ω) Ψ ( ω ) <script type="math/tex" id="MathJax-Element-81">\Psi \left( \omega \right)</script>集中在一个“小”的频带内,具有“带通性”。
ψa,b(t) ψ a , b ( t ) <script type="math/tex" id="MathJax-Element-82">{{\psi }_{a,b}}\left( t \right)</script>中参数 a a <script type="math/tex" id="MathJax-Element-83">a</script>的伸缩和参数 b <script type="math/tex" id="MathJax-Element-84">b</script>的平移为连续取值的小波变换称为连续小波变换,连续小波变换主要用于理论分析方面。

2、离散型小波变换

在实际应用中,需要对尺度因子 a a <script type="math/tex" id="MathJax-Element-85">a</script>和位移因子 b <script type="math/tex" id="MathJax-Element-86">b</script>进行离散化处理,可以取:

a=am0,b=nb0am0 a = a 0 m , b = n b 0 a 0 m
<script type="math/tex; mode=display" id="MathJax-Element-87">a=a_{0}^{m},b=n{{b}_{0}}a_{0}^{m}</script>

式中, m,n m , n <script type="math/tex" id="MathJax-Element-88">m,n</script> 为整数; a0 a 0 <script type="math/tex" id="MathJax-Element-89">{a}_{0}</script>为大于1的常数; b0 b 0 <script type="math/tex" id="MathJax-Element-90">{b}_{0}</script>为大于0的常数; a a <script type="math/tex" id="MathJax-Element-91">a</script>和 b <script type="math/tex" id="MathJax-Element-92">b</script>的选取与小波 ψ(t) ψ ( t ) <script type="math/tex" id="MathJax-Element-93">\psi \left( t \right)</script>的具体形式有关。
离散小波函数表示为

ψm,n(t)=1am0ψ(tnb0am0am0)=1am0ψ(am0tnb0) ψ m , n ( t ) = 1 a 0 m ψ ( t − n b 0 a 0 m a 0 m ) = 1 a 0 m ψ ( a 0 − m t − n b 0 )
<script type="math/tex; mode=display" id="MathJax-Element-94">{{\psi }_{m,n}}\left( t \right)=\frac{1}{\sqrt{a_{0}^{m}}}\psi \left( \frac{t-n{{b}_{0}}a_{0}^{m}}{a_{0}^{m}} \right)=\frac{1}{\sqrt{a_{0}^{m}}}\psi \left( a_{0}^{-m}t-n{{b}_{0}} \right)</script>

相应的离散小波变换表示为

Wf(m,n)=<f,ψm,n(t)>=+f(t)ψm,n(t)dt W f ( m , n ) =< f , ψ m , n ( t ) >= ∫ − ∞ + ∞ f ( t ) ψ m , n ∗ ( t ) d t
<script type="math/tex; mode=display" id="MathJax-Element-95">{{W}_{f}}\left( m,n \right)= =\int_{-\infty }^{+\infty }{f\left( t \right)}\psi _{m,n}^{*}\left( t \right)dt</script>

特别的,当 a0=2,b0=1 a 0 = 2 , b 0 = 1 <script type="math/tex" id="MathJax-Element-96">{a}_{0}=2,{b}_{0}=1</script>时,离散小波变换称为二进离散小波变换。这种二进离散小波变换简单方便没在实际时间序列处理中被广泛应用。

二、小波包变换

1、小波包

小波包的介绍参考:https://baike.baidu.com/item/%E5%B0%8F%E6%B3%A2%E5%8C%85/19065272?fr=aladdin

2、小波包对时间序列的分解特性

小波分析是把时间序列 S S <script type="math/tex" id="MathJax-Element-97">S</script> 分解成低频信息 a 1 <script type="math/tex" id="MathJax-Element-98">a_1</script> 和高频信息 d1 d 1 <script type="math/tex" id="MathJax-Element-99">d_1</script> 两部分,在分解中 ,低频 a1 a 1 <script type="math/tex" id="MathJax-Element-100">a_1</script> 中失去的信息由高频 d1 d 1 <script type="math/tex" id="MathJax-Element-101">d_1</script> 捕获。在下一层的分解中,又将 a1 a 1 <script type="math/tex" id="MathJax-Element-102">a_1</script> 分解成低频 a2 a 2 <script type="math/tex" id="MathJax-Element-103">a_2</script>和高频 d2 d 2 <script type="math/tex" id="MathJax-Element-104">d_2</script> 两部分,低频 a2 a 2 <script type="math/tex" id="MathJax-Element-105">a_2</script>中失去的信息由高频 d2 d 2 <script type="math/tex" id="MathJax-Element-106">d_2</script>捕获。依此类推,可以进行更深层的分解。小波包分解不仅对低频部分进行分解,而且还对高频部分进行分解。因此,小波包分解是一种更广泛应用的小波分解方法,应用于信号的分解、编码、消噪、压缩等方面。

三、小波包算法

下面介绍小波包的分解算法和重构算法。
gnj(t)Unj g j n ( t ) ∈ U j n <script type="math/tex" id="MathJax-Element-107">g_{j}^{n}\left( t \right)\in U_{j}^{n}</script>,则 gnj(t) g j n ( t ) <script type="math/tex" id="MathJax-Element-108">g_{j}^{n}\left( t \right)</script>可表示为

gnj(t)=ldj,nlu(2jtl) g j n ( t ) = ∑ l d l j , n u ( 2 j t − l )
<script type="math/tex; mode=display" id="MathJax-Element-109">g_{j}^{n}\left( t \right)\text{=}\sum\limits_{l}{d_{l}^{j,n}}u\left( {{2}^{j}}t-l \right)</script>

1、小波包分解算法

{dj+1,nl} { d l j + 1 , n } <script type="math/tex" id="MathJax-Element-110">\left\{ d_{l}^{j+1,n} \right\}</script>求 {dj,2nl} { d l j , 2 n } <script type="math/tex" id="MathJax-Element-111">\left\{ d_{l}^{j,2n} \right\}</script>与 {dj,2n+1l} { d l j , 2 n + 1 } <script type="math/tex" id="MathJax-Element-112">\left\{ d_{l}^{j,2n+1} \right\}</script>:
这里写图片描述

2、小波包重构算法

{dj,2nl} { d l j , 2 n } <script type="math/tex" id="MathJax-Element-141">\left\{ d_{l}^{j,2n} \right\}</script>求 {dj+1,nl} { d l j + 1 , n } <script type="math/tex" id="MathJax-Element-142">\left\{ d_{l}^{j+1,n} \right\}</script>与 {dj,2n+1l} { d l j , 2 n + 1 } <script type="math/tex" id="MathJax-Element-143">\left\{ d_{l}^{j,2n+1} \right\}</script>:

dj+1,nl=k[hl2kdj,2nk+gl2kdj,2n+1k] d l j + 1 , n = ∑ k [ h l − 2 k d k j , 2 n + g l − 2 k d k j , 2 n + 1 ]
<script type="math/tex; mode=display" id="MathJax-Element-144">d_{l}^{j+1,n}\text{=}\sum\limits_{k}{\left[ {{h}_{l-2k}}d_{k}^{j,2n}+{{g}_{l-2k}}d_{k}^{j,2n+1} \right]}</script>

有关小波的几个术语及常见的小波基介绍见博客:https://blog.csdn.net/jbb0523/article/details/42586749

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐