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. 面向对象ZJ

    面向对象: 对象: 万事万物皆为对象. 特征, 动作或功能放在一起的就是一个对象 对象如何创建的. 在python中对象是通过类来创建的. 类是对对象的描述.统称.约束. class Car: def ...

  2. Linux内存压力测试stressapptest

    /********************************************************************** * Linux内存压力测试stressapptest * ...

  3. Excel导入CSV文件中文乱码

    参考: iconv -f UTF8 -t GB18030 a.csv >b.csv 或iconv -f UTF-8 -t GB18030 a.csv >b.csv

  4. ECUST Div2 训练赛3 (只有代码)

    题解见:http://ecustacm.cn/contest/11/announcements A #include<bits/stdc++.h> #define rep(i,a,b) f ...

  5. ubuntu安装mysql遇到的问题

    ERROR 1698 (28000): Access denied for user 'root'@'localhost' ubantu linux下安装新版mysql,登录时必须sudo mysql ...

  6. HashMap的四种遍历方法,及效率比较(简单明了)

    https://yq.aliyun.com/ziliao/210955 public static void main(String[] args) { HashMap<Integer, Str ...

  7. 【MAC】常用方法-持续更新

    1.Homebrew安装 删除brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ma ...

  8. 让使用SQLite的.NET应用自适应32位/64位系统

    如果一个.NET应用要自适应32位/64位系统,只需要在项目的“目标平台”设置为“Any CPU”.但是如果应用中使用了SQLite,情况就不同了. SQLite的.NET开发包来自是System.D ...

  9. 在CentOS 6上使用 AWStats 分析 httpd 和 Tomcat 日志

    准备工作: Awstats 是由perl语言编写的,所以要首先准备好awstats的运行环境.# yum install –y perl*   Apache 一.首先,要安装apache服务器,并且启 ...

  10. [转]DB2错误代码大全

    DB2 SQLSTATE 消息 异常 一2008-03-31 13:17SQLSTATE 消息本节列示 SQLSTATE 及其含义.SQLSTATE 是按类代码进行分组的:对于子代码,请参阅相应的表. ...