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. spawn函数的实现(前文自动执行器的翻版)

    function spawn(genF) { return new Promise(function(resolve, reject) { const gen = genF(); function s ...

  2. BFS深度优先搜索 炸弹人

    题面:一个人在一个坐标放炸弹,请问可以可以杀死的敌人数目最大是,并且输出该点的坐标 G代表敌人 .代表该位置可以走 "#"代表该位置存在障碍物 并且防止炸弹的蔓13 13 3 3 ...

  3. Linux系统修改Home下的目录为英文

    修改Home下的目录为英文 修改目录映射文件名: vim .config/user-dirs.dirs 修改如下:XDG_DESKTOP_DIR="$HOME/Desktop"XD ...

  4. music cube

    music cubehttps://www.youtube.com/watch?v=HBCdC7r7Mp4Blender Tutorial: Make anything react with musi ...

  5. python str使用笔记(更新)

    判断字符串是否以某个串为结尾: str.endswith(strtmp) 返回True/False >>> strs='aba' >>> strs.endswith ...

  6. 【BZOJ4554】【TJOI2016】【HEOI2016】游戏

    我好弱啊quq 原题: 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看 是否能炸到对手,或者躲开对手的炸弹.在玩游戏的过程中,小H想到了这样一 ...

  7. oracle数据库经常提示27102 out of memory解决方法

    网上有很多解决方案,但是我一个也看不懂,不知道写的什么鬼的东西,为什么一句话就能解决的事,非得长篇大论说原理是什么,看得一脸懵逼 我的解决方法入戏 vi /etc/sysctl.conf 修改kern ...

  8. <--------------------------Java多态如何使用------------------------------>

    11多态调用的三种格式 * A:多态的定义格式: * 就是父类的引用变量指向子类对象 父类类型 变量名 = new 子类类型(); 变量名.方法名(); * B: 普通类多态定义的格式 父类 变量名 ...

  9. django之ORM专项训练之图书信息系统 了不起的双下方法实战 和 分组 聚合 Q, F查询,有約束和無約束

    图书信息系统 双下方法的使用情况:要查确定的某一个对象他的属性值时, 首先获得具体对象的方法是  get()   first()   last()   获得具体对象之后,在找他的外键的属性    ge ...

  10. 02基于python玩转人工智能最火框架之TensorFlow人工智能&深度学习介绍

    人工智能之父麦卡锡给出的定义 构建智能机器,特别是智能计算机程序的科学和工程. 人工智能是一种让计算机程序能够"智能地"思考的方式 思考的模式类似于人类. 什么是智能? 智能的英语 ...