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 ...
随机推荐
- Unity镜子效果的实现(无需镜子Shader)
Unity镜子效果制作教程 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- 配置apache-maven-3.6.0时所遇到的坑(一)
在命令行窗口中输入:mvn -v 或 直接 mvn 时报错:“错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Lau ...
- 阿里druid数据库连接池配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- HPU1460: 杨八方的表面兄弟
题目描述 如果你之前关注过HPUOJ的话,那么你一定听说过杨八方的名字.在去年,很多同学共同见证了杨八方同学的填报志愿.来到学校.军训--或许你曾陪同杨八方一起思考过许多问题,又或者你是刚听说这个名字 ...
- 系统间通信——RPC架构设计
架构设计:系统间通信(10)——RPC的基本概念 1.概述经过了详细的信息格式.网络IO模型的讲解,并且通过JAVA RMI的讲解进行了预热.从这篇文章开始我们将进入这个系列博文的另一个重点知识体系的 ...
- java路径
System.out.println(ResourceUtils.getURL("classpath:").getPath());
- php基础-2
php的逻辑运算 &&符号 <?php function tarcrnum() { for ($i = 0; $i <= 100; $i++) { if ($i % 2 = ...
- LeetCode - Boundary of Binary Tree
Given a binary tree, return the values of its boundary in anti-clockwise direction starting from roo ...
- day 06云计算的三种服务模式:IaaS,PaaS和SaaS
云计算的三种服务模式:IaaS,PaaS和SaaS ”云服务”现在已经快成了一个家喻户晓的词了.如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道. “云”其实是互联 ...
- 尚硅谷【SpringBoot】web(源码讲解太多不建议阅读)
四.Web开发 1.简介 使用SpringBoot: 1).创建SpringBoot应用,选中我们需要的模块: 2).SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可 ...