Daubechies小波介绍
Daubechies小波是正交、连续且紧支撑的。
正交条件下,$H(\omega)$必须满足下式:
$|H(\omega)|^2+|H(\omega + \pi)|^2 =1$
连续紧支撑条件下,$H(\omega)$必须满足下式:
$H(\omega)=\left( \frac{1+e^{-i\omega}}{2} \right) ^N S(\omega)$
$S(\omega)=\sum^A_{k=0}a_ke^{-ik\omega}$
从上式可以看出,$h[n]$可看做N个[1,1]的卷积再和$s[n]$卷积(不考虑归一化),而$s[n]$就是$S(\omega)$的系数:$s[n]=[a_0, a_1, a_2,...]$。
将紧支撑条件代入正交条件,简化后可得:
$(cos^2(\frac{\omega}{2}))^N|s(\omega)|^2+(sin^2(\frac{\omega}{2}))^N|S(\omega+\pi)|^2=1$
若将$s[n]$限定为实数,那么$|S(\omega)|^2$是偶函数,所以$|S(\omega)|^2$可写作下式:
$|S(\omega)|^2=\sum^A_{k=0}d_k cos^k (\omega) = \sum^A_{k=0} d_k ( 1 - 2sin^2( \frac{\omega}{2} ) )$
至此,我们将三角变量全部化成$\frac{\omega}{2}$,且上式只包含$cos$和$sin$的平方项。
我们暂时令$ y=sin^2 ( \frac{\omega}{2} ) $,$P(y)=\sum^A_{k=0}d_k(1-2y)^k$,就得到:
$(1-y)^NP(y)+y^NP(1-y)=1$
这种形式的方程的解为:
$P(y)=\sum^{N-1}_{k=0}\dbinom{2N-1}{k}y^k(1-y)^{N-1-k}$
然后将$y$和$P(y)$恢复成三角形式,以$\frac{1-cos \omega}{2}$代替$sin^2(\frac{\omega}{2})$,再将$cos \omega$以欧拉公式替换为复指数形式,最后以$z=e^{-i\omega}$替换复指数,最终得到:
$T(z)=|S(z)|^2 = \frac{1}{ 4^{N-1} } \sum^{N-1}_{k=0} \dbinom{2N-1}{k} (-z+2-z^{-1})^k (z+2+z^{-1})^{N-1-k}$
上式满足$T(z)=T(\frac{1}{z})$。于是我们就能得到一系列关于$T(z)$的零点的性质:
(a) 若$z_0 \neq 0$是$T(z)$的零点,那么$1/z_0$也是$T(z)$的零点
(b) 若$z_0$是$T(z)$的零点,那么$\overline{z_0}$也是$T(z)$的零点
考虑到将$z$的取值限定在单位圆上,我们有(考虑$|z|=|\overline{z}|=z\overline{z}=1$):
$|(z-w)(z-1/\overline{w})|=|(z-w)(z-z\overline{z}/\overline{w})|=|(z-w)z(1-\overline{z/w})|=|z-w||w|^{-1}|\overline{w-z}|=|w|^{-1}|z-w|^2$
这样,$T(z)=|S(z)|^2$就可以化为所有项均为平方的$z$的一次多项式连乘,且$z$的所有零点全部“翻转”到单位圆内成为最小相位系统。将$T(z)$开方(并归一化)后得到的$F(z)$代回到文章开头的$H(\omega)=\left( \frac{1+e^{-i\omega}}{2} \right) ^N S(\omega)$,即可求得Daubechies尺度滤波器系数。
下面是一个求六抽头Daubechies尺度滤波器系数的例子:
$N=3$
$P(y)=1+3y+6y^2$
$T(z)=1+3(\frac{1-z}{2})(\frac{1-1/z}{2})+6((\frac{1-z}{2})(\frac{1-1/z}{2}))^2$\
$=\frac{3}{8} z^2+\frac{9}{4} z+\frac{19}{4} z^{-1}+\frac{3}{8} z^{-2}$
$\alpha=\frac{3}{8}$
$T(z)$用计算机求解,取单位圆内零点:$z_1=0.28725+0.15289i, \overline{z_1}=0.28725+0.15289i$
$F(z)=\sqrt{\frac{3}{8}} \frac{1}{z_1}(z-z_1)(z-\overline{z_1}) $
于是$H(\omega)=(\frac{1+e^{-i\omega} }{2})^3 F(e^{-i\omega}) $展开后即得滤波器系数。(习惯上将求得的滤波器系数逆序排列)
Daubechies小波介绍的更多相关文章
- dennis gabor 从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换(转载)
dennis gabor 题目:从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换 本文是边学习边总结和摘抄各参考文献内容而成的,是一篇综述性入门文档,重点在于梳理傅 ...
- 【转】小波与小波包、小波包分解与信号重构、小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)
转:https://blog.csdn.net/cqfdcw/article/details/84995904 小波与小波包.小波包分解与信号重构.小波包能量特征提取 (Matlab 程序详解) ...
- 完全搞懂傅里叶变换和小波(2)——三个中值定理<转载>
书接上文,本文章是该系列的第二篇,按照总纲中给出的框架,本节介绍三个中值定理,包括它们的证明及几何意义.这三个中值定理是高等数学中非常基础的部分,如果读者对于高数的内容已经非常了解,大可跳过此部分.当 ...
- ECG信号读出,检测QRS,P,T 波(小波去噪,并根据检测),基于BP辨识的神经网络
这学期的课程选择神经网络.最后的作业处理ECG信号,并利用神经网络识别. 1 ECG引进和阅读ECG信号 1)ECG介绍 详细ECG背景应用就不介绍了,大家能够參考百度 谷歌.仅仅是简单说下ECG ...
- 小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化)--转载
小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化) 在上回<小波学习之一>中,已经详细介绍了Mallat算法C++实现,效果还可以,但也存在一些问题,比如,代码 ...
- MATLAB(2)——小波工具箱使用简介
作者:桂. 时间:2017-02-19 21:47:27 链接:http://www.cnblogs.com/xingshansi/articles/6417638.html 前言 本文主要介绍MA ...
- [Python ]小波变化库——Pywalvets 学习笔记
[Python ]小波变化库——Pywalvets 学习笔记 2017年03月20日 14:04:35 SNII_629 阅读数:24776 标签: python库pywavelets小波变换 更多 ...
- CSS3 波浪简单模拟--我是波浪,我有起伏,有大波与小波(坏笑中...)
我是波浪,我有起伏,我有大波与小波(坏笑中...) 最近改版网站,一般也不会去写动画,但是有些网站还是需要的,故拿出一个较简单的动画出来分享,很简单很简单. 原理简单阐述 其实很简单,使用一张美工做好 ...
- 3.3 哈尔小波空间W0
在3.2节我们学习了关于(3.8)定义的Vj的性质.特别的,我们可以乘以系数从一个Vj空间变换到另一个.我们这节学习V0和V1的关系. 将f1(t)∈V1投影至V0 我们考虑一个属于V1的函数f1(t ...
随机推荐
- HTTP基本原理(转)
1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少. ...
- zedboard开发板上移植opencv代码(立体匹配)
前言 公司要做立体匹配相关的项目,已有matlab和c++版本,可是不能做到实时显示立体信息,想要硬件实现实时,无奈本渣也是个硬件的新手,先按照实验室lyq同学的思路在zedboard开发板的纯ARM ...
- Java匿名内部类的继承者、终结者————lambda表达式
一.什么是lambda表达式? lambda表达式就是一个代码块,可以传入变量和放入相应的代码. 二.基本格式 (参数 ) - >{ 代码 ...
- Java中的容器 I————浅谈Queue和PriorityQueue
一.Queue的实现 通过LinkedList类实现Queue接口来完成对Queue的实例类的实现,代码如下: Queue<Integer> queue=new LinkedList< ...
- pytorch实现autoencoder
关于autoencoder的内容简介可以参考这一篇博客,可以说写的是十分详细了https://sherlockliao.github.io/2017/06/24/vae/ 盗图一张,自动编码器讲述的是 ...
- 服务器死机 导致 mongo 挂掉
1.删除mongod.lock和mongodb.log日志文件 2.携带参数重新启动 mongod --dbpath=/var/lib/mongo --port=27017 --fork --logp ...
- gcd(1,n)+gcd(2,n)....gcd(n-1,n); Uva11426
#include<bits/stdc++.h> #define int long long using namespace std; ; int phi[maxn]; int prime[ ...
- nodeJs项目 相关命令
npm install -g cnpm --registry=https://registry.npm.taobao.org npm run dev
- ★ MYSQL隔离级别 通俗理解 + mysql、oracle默认事务隔离级别
★ 脏读 : 读取了前一事务 未提交 的数据 ; 不可重复读 : 读取了前一事务 提交 的数据: ★ 幻读 与 不可重复读 common :都是读取了另一条已经提交的事务(这点与脏读不 ...
- sailsjs learning note
menu list: custom controller custom 模块使用 custom model custom middleware custom service ? 路由与对应的contr ...