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小波介绍的更多相关文章

  1. dennis gabor 从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换(转载)

    dennis gabor 题目:从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换 本文是边学习边总结和摘抄各参考文献内容而成的,是一篇综述性入门文档,重点在于梳理傅 ...

  2. 【转】小波与小波包、小波包分解与信号重构、小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)

    转:https://blog.csdn.net/cqfdcw/article/details/84995904 小波与小波包.小波包分解与信号重构.小波包能量特征提取   (Matlab 程序详解) ...

  3. 完全搞懂傅里叶变换和小波(2)——三个中值定理<转载>

    书接上文,本文章是该系列的第二篇,按照总纲中给出的框架,本节介绍三个中值定理,包括它们的证明及几何意义.这三个中值定理是高等数学中非常基础的部分,如果读者对于高数的内容已经非常了解,大可跳过此部分.当 ...

  4. ECG信号读出,检测QRS,P,T 波(小波去噪,并根据检测),基于BP辨识的神经网络

    这学期的课程选择神经网络.最后的作业处理ECG信号,并利用神经网络识别. 1  ECG引进和阅读ECG信号 1)ECG介绍  详细ECG背景应用就不介绍了,大家能够參考百度 谷歌.仅仅是简单说下ECG ...

  5. 小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化)--转载

    小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化)   在上回<小波学习之一>中,已经详细介绍了Mallat算法C++实现,效果还可以,但也存在一些问题,比如,代码 ...

  6. MATLAB(2)——小波工具箱使用简介

    作者:桂. 时间:2017-02-19  21:47:27 链接:http://www.cnblogs.com/xingshansi/articles/6417638.html 前言 本文主要介绍MA ...

  7. [Python ]小波变化库——Pywalvets 学习笔记

    [Python ]小波变化库——Pywalvets 学习笔记 2017年03月20日 14:04:35 SNII_629 阅读数:24776 标签: python库pywavelets小波变换 更多 ...

  8. CSS3 波浪简单模拟--我是波浪,我有起伏,有大波与小波(坏笑中...)

    我是波浪,我有起伏,我有大波与小波(坏笑中...) 最近改版网站,一般也不会去写动画,但是有些网站还是需要的,故拿出一个较简单的动画出来分享,很简单很简单. 原理简单阐述 其实很简单,使用一张美工做好 ...

  9. 3.3 哈尔小波空间W0

    在3.2节我们学习了关于(3.8)定义的Vj的性质.特别的,我们可以乘以系数从一个Vj空间变换到另一个.我们这节学习V0和V1的关系. 将f1(t)∈V1投影至V0 我们考虑一个属于V1的函数f1(t ...

随机推荐

  1. HTTP基本原理(转)

    1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少. ...

  2. zedboard开发板上移植opencv代码(立体匹配)

    前言 公司要做立体匹配相关的项目,已有matlab和c++版本,可是不能做到实时显示立体信息,想要硬件实现实时,无奈本渣也是个硬件的新手,先按照实验室lyq同学的思路在zedboard开发板的纯ARM ...

  3. Java匿名内部类的继承者、终结者————lambda表达式

    一.什么是lambda表达式? lambda表达式就是一个代码块,可以传入变量和放入相应的代码. 二.基本格式  (参数 ) - >{                      代码       ...

  4. Java中的容器 I————浅谈Queue和PriorityQueue

    一.Queue的实现 通过LinkedList类实现Queue接口来完成对Queue的实例类的实现,代码如下: Queue<Integer> queue=new LinkedList< ...

  5. pytorch实现autoencoder

    关于autoencoder的内容简介可以参考这一篇博客,可以说写的是十分详细了https://sherlockliao.github.io/2017/06/24/vae/ 盗图一张,自动编码器讲述的是 ...

  6. 服务器死机 导致 mongo 挂掉

    1.删除mongod.lock和mongodb.log日志文件 2.携带参数重新启动 mongod --dbpath=/var/lib/mongo --port=27017 --fork --logp ...

  7. 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[ ...

  8. nodeJs项目 相关命令

    npm install -g cnpm --registry=https://registry.npm.taobao.org npm run dev

  9. ★ MYSQL隔离级别 通俗理解 + mysql、oracle默认事务隔离级别

    ★  脏读 : 读取了前一事务 未提交 的数据 ; 不可重复读    : 读取了前一事务     提交 的数据: ★ 幻读 与 不可重复读 common :都是读取了另一条已经提交的事务(这点与脏读不 ...

  10. sailsjs learning note

    menu list: custom controller custom 模块使用 custom model custom middleware custom service ? 路由与对应的contr ...