一维离散小波变换原理和代码实现

基本原理:

离散小波变换:对连续小波变换的尺度因子和时移动因子采用不同的离散条件进行离散,得到Discrete Wavelet Transform(DWT)。降低计算量的同时,保持连续小波变换的光滑性、紧支性、对称性。对比傅里叶变换,傅里叶变换把信号分解成一系列正弦波,而小波变换把信号分解成一系列尺度和时移不同的小波;


离散小波函数:
ψ j , k ( t ) = 1 a 0 i ψ ( t − k a 0 i b 0 a 0 i ) = a 0 − j / 2 ψ [ a 0 − j ( t − k a 0 j b 0 ) ] = a 0 − j / 2 ψ ( a 0 − j t − k b 0 ) \begin{aligned} \psi_{j,k}(t)=& \frac{1}{\sqrt{a_{0}^{i}}}\psi\Bigl(\frac{t-k a_{0}^{i}b_{0}}{a_{0}^{i}}\Bigr) \\ =& a_{0}^{-j/2}\psi\bigl[a_{0}^{-j}\left(t{-}k a_{0}^{j}b_{0}\right)\bigr] \\ =& a_{0}^{-j/2}\psi(a_{0}^{-j}t-k b_{0}) \end{aligned} ψj,k(t)===a0i 1ψ(a0itka0ib0)a0j/2ψ[a0j(tka0jb0)]a0j/2ψ(a0jtkb0)


离散小波变换:
W T f ( j , k ) = ⟨ f ( t ) , ψ i . t ( t ) ⟩ = ∫ − ∞ ∞ f ( t ) ψ j , k ( t ) ‾ d t = a 0 − j / 2 ∫ − ∞ ∞ f ( t ) ψ ( a 0 − j t − k b 0 ) d t \begin{aligned} \mathbf{W T}_{f}(j,k)& =\langle f(t),\psi_{i.t}(t)\rangle \\ &=\int_{-\infty}^{\infty}f(t)\overline{\psi_{j,k}(t)}\mathrm{d}t \\ &=a_{0}^{-j/2}\int_{-\infty}^{\infty}f(t)\psi(a_{0}^{-j}t-k b_{0})\mathrm{d}t \end{aligned} WTf(j,k)=f(t),ψi.t(t)⟩=f(t)ψj,k(t)dt=a0j/2f(t)ψ(a0jtkb0)dt


Mallat算法:

Mallat算法对信号进行多分辨率分解,将原函数划分为近似(approximation)部分和细节(detail)部分。

使用高通滤波器和低通滤波器进行滤波(可以看做卷积操作),再进行二抽取。,不断进行下去。

在这里插入图片描述

代码实现
PyWavelets/pywt: PyWavelets - Wavelet Transforms in Python (github.com)


参考:

1、《小波变换及其工程应用》

2、PyWavelets/pywt: PyWavelets - Wavelet Transforms in Python (github.com)

3、Python 离散小波变换(DWT) pywt库_import pywt_SongpingWang的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KPer_Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值