哈工大小波理论及应用 第3章哈尔小波分析
哈尔小波变换

哈尔小波变换哈尔小波变换是一种常用的信号处理方法,它可以将信号分解成不同频率的子信号,从而方便地进行分析和处理。
本文将介绍哈尔小波变换的原理、应用以及在实际工程中的应用。
一、哈尔小波变换的原理哈尔小波变换是一种离散小波变换,与传统的傅里叶变换不同,它不仅可以分解信号的频域信息,还可以分解信号的时域信息。
其基本原理是通过一系列的滤波和下采样操作,将原始信号逐步分解为不同尺度的子信号,同时保留了原始信号的能量和信息。
哈尔小波变换的核心是小波基函数,它是一组特殊的函数,具有良好的局部性和多尺度分析能力。
在哈尔小波变换中,常用的小波基函数有Haar小波、Daubechies小波、Symlet小波等。
其中Haar小波是最简单的小波基函数,它只有两个非零值,可以很好地展示小波变换的基本思想。
对于一个长度为N的离散信号x,Haar小波变换可以通过以下步骤进行计算:1.将信号x分成两部分,分别为奇数项和偶数项。
2.计算这两部分信号的平均值和差值,得到两个长度为N/2的新信号。
3.重复以上步骤,对新信号进行递归处理,直到每个子信号的长度为1。
4.将得到的所有子信号按照尺度大小排列,得到小波系数。
通过上述步骤,可以将原始信号分解成多个不同尺度的子信号,每个子信号代表了一定频率范围内的信号信息。
这些子信号可以通过逆小波变换合成为原始信号,同时也可以通过对不同尺度的子信号进行滤波和下采样操作,得到不同频率的信号信息。
二、哈尔小波变换的应用哈尔小波变换在信号处理、图像处理、音频处理等领域都有广泛的应用。
其中,最常见的应用是信号去噪和信号压缩。
1.信号去噪信号在传输和采集过程中往往会受到各种噪声的干扰,这些噪声会严重影响信号的质量和可靠性。
哈尔小波变换可以通过将信号分解成多个尺度的子信号,对不同尺度的子信号进行滤波和去噪,从而去除信号中的噪声成分。
2.信号压缩信号压缩是一种常用的信号处理方法,可以将信号的冗余信息去除,从而减小信号的存储和传输成本。
Harr小波

图I(x)用V2中的哈尔基表示
(2)用V 1, W 1中的函数表示
生成矢量空间V 1的基函数为 生成矢量空间W1的小波函数为 根据
V 2 V 0 W 0 W1
01 ( x)和11 ( x)
1 1 0 ( x)和 1 ( x)
I(x)可表示成
0 0 1 1 1 I ( x) c0 0 ( x ) d 00 00 ( x) d 0 0 ( x) d11 1 ( x)
Harr基函数
• 基函数是一组线性无关的函数,可以用来 构造任意给定的信号; • 1990年提出,由一组分段常值函数组成的 函数集 • 函数集定义在[0,1),分段常值在一定的 范围内是1,其他为0
如果一图象仅含有20 1个像素,该图象在整个[0,1) 上就是一个常值函数(00(x)),用V 0表示这个常值函数 生成的矢量空间,即: 1 0 x<1 0 0 V :0 (x)={ 0 其他
Harr小波函数
小波函数通常用 i j(x)表示,与框函数对应的小波称 为Haar小波函数,定义如下: 1 (x) {1 0 0 x 1/ 2 1/2 x 1 其他
Haar小波尺度函数 i j(x )定义为:
i j(x) (2 j x i)
生成矢量空间W 0的Haar小波: 1 0 0(x) {1 0 0 x 1/ 2 1/2 x 1 其他
0
谢谢
哈尔ห้องสมุดไป่ตู้换的特性
变换过程中没有丢失信息,因为能够从所记录的 数据中重构出原始图像。 对这个给定的变换,我们可以从所记录的数据中 重构出各种分辨率的图像。例如,在分辨率为1的 图像基础上重构出分辨率为2的图像,在分辨率为 2的图像基础上重构出分辨率为4的图像 通过变换之后产生的细节系数的幅度值比较小, 这就为图像压缩提供了一种途径。例如,去掉一 些微不足道的细节系数并不影响对重构图像的理 解
小波分析整理 第三章 小波变换ppt课件

.
a b
.
小波函数的范数不变性: a(t)b 0 2 R a(t)b 2 d tR (t)2 dt(t)0 2
此式表明: ( t ) 经过平移与伸缩以后,其模量没有 改变。
在不同的尺度a 时,ψa b (t) 终能和母函数ψ(t) 有着相同的能量 。
当a<1时, ( t ) 被拉宽且振幅被压低, ab (t) 含有表现低 频分量的特征;当a>1时, ( t ) 被压窄且振幅被拉
高, ab (t )含有表现高频分量的特征。
(2t)
(2t 3)
a2
0
1 1.5
3
6
t
a 1 a1
2
(t)
0
1
(1 t) 2
0
1
(t 3)
3
6
t
( 1 t 3) 2
R
可以反映局部频率特性,但是窗函数一经设定,没有 自适应能力,不能满足低频部分需要时窗宽、频窗窄, 高频部分需要时窗窄、频窗宽的要求。
为此,定义窗函数的一般形式为:
w ~ab(t)a1/2(a tb) ( 其 他 形 式 w ~ a b(t)a 1 /2 (t ab )
它是经过平移和放缩的结果。
.
小波函数的频域特性: ^a(b)a1/2eib/a^(a) 此式表明, ( t ) 经过平移和伸缩以后得到的新
函数 a b (t )的频域特性随参数a的变化而变化。
.
2、小波变化的回复公式推导
任何一种变换应该是可逆的。为推导小波变换的
回复公式,先得推出与Fourier变换中类似的乘积
公式。
在Fourier变换中,有公式:2 1 R F [f(t)]F _[g(t)]dRf(t)_ g(t)dt
小波理论与应用课程的实践教学设计

[摘要]在哈尔滨工业大学工科研究生小波理论与应用的教学过程中,加入上机实践教学内容后,学生的反响比较强烈,普遍反映以往抽象的概念和理论更加易于接受,而且提高了动手实践能力。
[关键词]小波;滤波器;Mallat 分解与重构算法;实践教学[中图分类号]G642[文献标志码]A[文章编号]2096-0602(2020)40-0202-02小波理论与应用课程的实践教学设计李福利(哈尔滨工业大学数学学院,黑龙江哈尔滨150001)近几年来,哈尔滨工业大学工科研究生学位课中,小波理论与应用的选修人数稳定在300人左右。
这是一门理论性和应用性都比较强的交叉学科。
在以往的研究生小波理论的教学过程中,教师往往偏重于理论教学,忽视了实践教学,导致学生学过小波理论后,不知道如何用小波解决具体的实际问题。
学生课堂上似乎听懂了,实际动手操作起来,就很茫然,不知所以然了。
为此,我们在教学过程中,向哈尔滨工业大学研究生院主管研究生教学培养和哈尔滨工业大学数学学院主抓研究生公共教学的领导申请了12学时的上机实践,申明了实践教学的迫切性和重要性,得到了有关部门领导和研究生院的大力支持。
由于课时限制,经过5年多的教学实践摸索,我们把上机实践内容分成两大块,一块是基础篇内容上机实践部分,另一块是提高篇内容上机实践部分。
我们在基础篇内容实践部分,为了使实践教学不流于形式,特别加强设计了八个实践教学任务,使学生上机实践的时候感觉到任务充实。
基础部分要求学生完成实验报告,报告内容包括实验目的、实验原理、实验结论、实验结果分析、MATLAB 源程序、上机收获体会等内容。
从而加深了学生对基本概念、基本理论的理解,提高了学生的动手能力、实践能力,并有效防止了高分低能现象的产生。
具体的八个实践任务如下。
一、Butterworth 滤波器的原理与实践设计这一实践任务的目的是为了加深学生对滤波器概念的理解,体会到滤波器对信号的滤波作用,和不同参数的Butterworth 滤波器对信号的滤波效果的影响是不同的。
小波变换基础以及haar小波共47页PPT资料

从公式可以看出,不同于傅里叶变换,变量只有频率 ω,小波变换有两个变量:尺度a和平移量 τ。尺度a 控制小波函数的伸缩,平移量 τ控制小波函数的平移。 尺度就对应于频率(反比),平移量 τ就对应于时间。
某一个尺度下乘出来的结果,就可以理解成信号所包 含的当前尺度对应频率成分有多少。其实这样相乘积 分也就是计算信号与基函数的相似程度。
连续小波变换:
W f(a ,b )f ,a ,b |1 a | f(t)(t a b )d, ta 0
连续小波反变换:
f(t)1
C
R RWf(a,b)a,b(t)daa 2 db
其中,a称|
连续小波变换的性质
⑴线性 f ( t ) A 1 ( t ) B f 2 ( t ) f W f ( a , b ) A f 1 ( a , b W ) B f 2 ( a , b W ) ⑵平移 g ( t ) f ( t t 0 ) W g ( a ,b ) W f( a ,b t 0 )
f(t) k 1 e 1 (t) k 2 e 2 (t) .. .k n .e n ( .t) .
如n果 ,那f么 (t) kiei(t)
i 1
小波对于分析瞬时时变信号非常有用. 它有效地从信号中提取信 息,通过伸缩和平移等运算对信号进行多尺度细化分析.
为什么叫小波??? 小波分析所用的波称为小波,小波的能量有限,有限长且会衰减,集 中在某一点附近. 即小波是一种能量在时域非常集中的波.
称φa,b(t)为连续小波. a,b(t)|a|12
(tb)
a
式中的变量a反映函数的尺度(或宽度),变量b检测沿t轴的平移位置.
a,b(t)|a|12
(tb)
a
为什么系数有个 |a |-1 / 2 ??? 为了保证在不同尺度a时,a.b (t) 的 (t) 能量相同 。
小波分析理论ppt课件

S(w,t ) f (t)g*(w t ) eiwt d t R
(1.12)
25
其中,“*”表示复共轭;g(t)为有紧支集的函数;f(t)为被 分析的信号。在这个变换中,ejwt起着频限的作用,g(t)起 着时限的作用。随着时间t的变化,g(t)所确定的“时间窗” 在t轴上移动,使f(t)“逐渐”进行分析。因此g(t)往往被称为
(1.4)
为序列{X(k)}的离散傅里叶逆变换(IDFT)。 在式(1.4)中,n相当于对时间域的离散化,k相当于频
率域的离散化,且它们都是以N点为周期的。离散傅里叶 变换序列{X(k)}是以2p为周期的,且具有共轭对称性。
9
若f(t)是实轴上以2p为周期的函数,即f(t)∈L2(0,2p) ,则f(t)可以表示成傅里叶级数的形式,即
(1.1)
F(w)的傅里叶逆变换定义为
f (t) 1 eiwt F (w)dw 2 π -
(1.2)
6
为了计算傅里叶变换,需要用数值积分,即取f(t)在R 上的离散点上的值来计算这个积分。在实际应用中,我们 希望在计算机上实现信号的频谱分析及其他方面的处理工 作,对信号的要求是:在时域和频域应是离散的,且都应 是有限长的。下面给出离散傅里叶变换(Discrete Fourier Transform,DFT)的定义。
。将母函数y(t)经伸缩和平移后,就可以得到一个小波序
列。
对于连续的情况,小波序列为
y a,b (t)
2
其中,短时傅里叶变换和小波变换也是因传统的傅里叶变 换不能够满足信号处理的要求而产生的。短时傅里叶变换 分析的基本思想是:假定非平稳信号在分析窗函数g(t)的 一个短时间间隔内是平稳(伪平稳)的,并移动分析窗函数,
哈工大小波分析上机实验报告

小波分析上机实验报告院系:电气工程及自动化学院学科:仪器科学与技术实验一小波分析在信号压缩中的应用一、试验目的(1)进一步加深对小波分析进行信号压缩的理解;(2)学习Matlab中有关信号压缩的相关函数的用法。
二、相关知识复习用一个给定的小波基对信号进行压缩后它意味着信号在小波阈的表示相对缺少了一些信息。
之所以能对信号进行压缩是因为对于规则的信号可以用很少的低频系数在一个合适的小波层上和一部分高频系数来近似表示。
利用小波变换对信号进行压缩分为以下几个步骤来完成:(1)进行信号的小波分解;(2)将高频系数进行阈值量化处理。
对从1 到N 的每一层高频系数都可以选择不同的阈值并且用硬阈值进行系数的量化;(3)对量化后的系数进行小波重构。
三、实验要求(1)对于某一给定的信号(信号的文件名为leleccum.mat),利用小波分析对信号进行压缩处理。
(2)给出一个图像,即一个二维信号(文件名为wbarb.mat),利用二维小波分析对图像进行压缩。
四、实验结果及程序(1)load leleccum%将信号装入Matlab工作环境%设置变量名s和ls,在原始信号中,只取2600-3100个点s = leleccum(2600:3100); ls = length(s);%用db3对信号进行3级小波分解[c,l] = wavedec(s, 3, 'db3');%选用全局阈值进行信号压缩thr = 35;[xd,cxd,lxd,perf0,perfl2] = wdencmp('gbl',c,l,'db3',3,thr,'h',1);subplot(2,1,1);plot(s);title('原是信号s');subplot(2,1,2);plot(xd);title('压缩后的信号xd');图1 实验1压缩结果图2 不同阈值下实验1压缩结果(2)clear %清除Matlab工作环境中现有的变量load wbarb;%显示图像subplot(221); image(X); colormap(map);title('原始图像');axis square;disp('压缩前图像X的大小')whos('X')%==================================================== %对图像用bior3.7小波进行2层小波分解[c,s] = wavedec2(X,2,'bior3.7');%提取小波分解结构中第1层的低频系数和高频系数ca1 = appcoef2(c,s,'bior3.7',1);ch1 = detcoef2('h',c,s,1); %小波分解结构中第1层的水平方向高频系数cv1 = detcoef2('v',c,s,1); %小波分解结构中第1层的垂直方向高频系数cd1 = detcoef2('d',c,s,1); %小波分解结构中第1层的斜线方向高频系数%分别对小波分解结构中第1层的各频率成份进行重构a1 = wrcoef2('a',c,s,'bior3.7',1);h1 = wrcoef2('h',c,s,'bior3.7',1);v1 = wrcoef2('v',c,s,'bior3.7',1);d1 = wrcoef2('d',c,s,'bior3.7',1);c1 = [a1,h1;v1,d1];%显示分解后各频率成分的信息subplot(222);image(c1);axis squaretitle('分解后低频和高频信息');%==================================================== %下面进行图像的压缩处理%保留小波分解结构中第1层的低频信息,进行图像压缩%第1层的低频信息为ca1,显示第1层的低频信息%首先对第1层信息进行量化编码ca1 = wcodemat(ca1,440,'mat',0);%改变图像的亮度ca1 = 0.5*ca1;subplot(223);image(ca1);colormap(map);axis square;title('第一次压缩图像');disp('第一次压缩图像的大小为:')whos('ca1')%==================================================== %保留小波分解第二层低频信息,进行图像的压缩,此时压缩比更大%第2层的低频信息即为ca2,显示第2层的低频信息ca2 = appcoef2(c,s,'bior3.7',2);%首先对第2层低频信息进行量化编码ca2 = wcodemat(ca2,440,'mat',0);%改变图像的亮度ca2 = 0.25*ca2;subplot(224);image(ca2);colormap(map);axis square;title('第2次压缩图像');disp('第2次压缩图像的大小为');whos('ca2')图3 实验2压缩结果五、实验分析及结论(1)根据实验1压缩结果分析得到,压缩后的信号保持了原有信号的轮廓信息,即低频信息,而大部分细节信息(高频信息)得到了消除。
小波分析在去噪中应用

小波分析在去噪中的应用哈尔滨工业大学,黑龙江省哈尔滨市150001;摘要:本文首先介绍了图像去噪的方法与发展过程。
然后介绍了小波变换的基本理论知识,包括连续小波变换和离散小波变换;对基于小波变换的图像去噪进行了概述,同时针对小波去噪的理论和方法进行了介绍,其中包括小波去噪的原理、方法和阈值去噪处理等方面的内容。
最后,利用MATLAB 对小波阈值去噪进行了仿真和分析,包括硬阀值去噪、软阀值去噪,半软阀值去噪以及自适应模糊阀值去噪。
最后通过仿真图对比了各种去噪方式的去噪效果,表明了小波变换进行去噪的优越性。
关键词:小波理论;图像处理0 引言图像是信息社会人们获取信息的重要来源之一。
在通过图像传感器将现实世界中的有用图像信号进行采集、量化、编码、传输、恢复的过程中,存在大量影响图像质量的因素。
因此图像在进行使用之前,一般都要经过严格的预处理如去噪、量化、压缩编码等。
噪声的污染直接影响着对图像边缘检测、特征提取、图像分割、模式识别等处理,使人们不得不从各种角度进行探索以提高图像的质量。
所以采用适当的方法尽量消除噪声是图像处理中一个非常重要的预处理步骤。
然而在很多情况下,图像信息会受到各种各样的噪声影响,严重时甚至会影响到图像中的有用信息,因此,对图像的噪声进行处理就显得非常重要。
计算机图像处理主要采取两大类方法:一是在空间域中的处理,即在图像空间中对图像进行各种处理;另一类是把空间域中的图像经过正交变换到频域,在频域里进行各种处理然后反变换到空间域,形成处理后的图像。
人们也根据实际图像的特点、噪声的统计特征和频谱分布的规律,发展了各式各样的去噪方法。
其中最为直观的方法,是根据噪声能量一般集中于高频而图像频谱则分布于一个有限区间的这一特点,采用低通滤波方式来进行去噪,或对图像进行平滑处理等,这属于第一类图像处理方法。
还有就是在频域进行处理,如:傅立叶变换、小波基变换。
近年来,小波理论得到了非常迅速的发展,而且由于其具备良好的时频特性,实际应用也非常广泛。
小波变换基础以及haar小波.资料

傅里叶变换
这幅图可形象的表示傅里 叶变换的不足之处。
如上图,最上边的是频率始终不变的平稳信号。而下边两个则是 频率随着时间改变的非平稳信号,它们同样包含和最上信号相同 频率的四个成分。 做FFT后,我们发现这三个时域上有巨大差异的信号,频谱(幅 值谱)却非常一致。尤其是下边两个非平稳信号,我们从频谱上 无法区分它们,因为它们包含的四个频率的信号的成分确实是一 样的,只是出现的先后顺序不同。
f (t) k1e1(t) k2e2(t) ...... knen(t)
如果 n , 那么 f (t) kiei (t)
i 1
小波对于分析瞬时时变信号非常有用. 它有效地从信号中提取信 息,通过伸缩和平移等运算对信号进行多尺度细化分析.
为什么叫小波??? 小波分析所用的波称为小波,小波的能量有限,有限长且会衰减,集 中在某一点附近. 即小波是一种能量在时域非常集中的波.
CWT(连续小波变换)
设函数
(t) L1(R) L2(R) ,若其FT满足条件:
|ˆ() |2 d
R | |
则称φ(t)为一个小波母函数.
φ(t) ∈L1(R)意味着小波函数具有衰减性. φ(t) ∈L2(R)意味着小波函数的能量有限.
φ(t) 满足 R(t) dt 0 意味着小波函数具有波动性.
⑷等内积特性
Wf (a, b) f (t), a,b (t) F (), Φa,b ()
⑸能量守恒特性
R
R|Wf
(a,
b)
|2
a,b (t )
dadb a2
C
||
R
f (t) ||2dt
⑹具有可变的时间频率窗
连续小波的窗口面积是不随参数a,b而变化的,即时频 窗口的形状变化,而窗口面积固定不变.
哈工大小波实验报告

小波理论实验报告院(系)专业学生学号日期2015年12月实验报告一一、 实验目的1. 运用傅立叶变换知识对常用的基本函数做基本变换。
2. 加深对因果滤波器的理解,并会判断因果滤波器的类型。
3. 运用卷积公式对基本信号做滤波处理并分析,以加深理解。
4. 熟悉Matlab 中相关函数的用法。
二、 实验原理1.运用傅立叶正、反变换的基本公式:()ˆ()() ()(),11ˆ()(),22i x i t i ti t i t f f x e dx f t e dt f t e f t fe df t e ωωωωωωωωππ∞∞---∞-∞∞--∞=====⎰⎰⎰及其性质,对所要处理信号做相应的傅里叶变换和逆变换。
2.运用卷积的定义式:1212()()()()+∞-∞*=-⎰f t f t f f t d τττ对所求信号做滤波处理。
三、 实验步骤与内容1.实验题目:Butterworth 滤波器,其冲击响应函数为,0()0,0若若α-⎧≥=⎨<⎩t Ae t h t t 1. 求$()hω 2. 判断是否因果;是低通、高通、带通还是带阻? 3. 对于信号3()(sin 22sin 40.4sin 2sin 40),-=++t f t et t t t 0π≤≤t ,画出图形()f t4. 画出滤波后图形()*f h t ,比较滤波前后图形,你会发现什么,这里取10α==A5. 取()(sin5sin3sin sin 40),-=+++tf t e t t t t 采用不同的变量值α=A (初始设定A=α=10) 画出原信号图形与滤波后图形,比较滤波效果。
2.实验步骤及分析过程:1.求$()hω 由傅里叶变换的定义式可得:()0ˆαϖαϖωαω+∞+∞-----∞=⋅=⋅=+⎰⎰t i t t i t Ah Ae e dt Ae e dt i (1) 故该滤波器的幅频特性为:()ω==H ,转折频率τα=;假定1,2A α==,绘制该滤波器的幅频特性曲线如下:图1.1滤波器的幅频特性曲线2. 判断是否因果;是低通、高通、带通还是带阻?(1)观察滤波器响应函数可知,只有在输入信号到达后,该滤波器才会有输出响应,此外实际应用的滤波器均是因果滤波器,所以,题中滤波器是因果滤波器。
哈尔小波变换的原理及其实现(Haar)

哈尔小波变换的原理及其实现(Haar)另外参见俄罗斯写的/Articles/22243/Real-Time-Object-Tracker-in-CHaar小波在图像处理和数字水印等方面应用较多,这里简单的介绍一下哈尔小波的基本原理以及其实现情况。
一、Haar小波的基本原理数学理论方面的东西我也不是很熟悉,这边主要用简单的例子来介绍下Haar小波的使用情况。
例如:有a=[8,7,6,9]四个数,并使用b[4]数组来保存结果.则一级Haar小波变换的结果为:b[0]=(a[0]+a[1])/2, b[2]=(a[0]-a[1])/2b[1]=(a[2]+a[3])/2, b[3]=(a[2]-a[3])/2即依次从数组中取两个数字,计算它们的和以及差,并将和一半和差的一半依次保存在数组的前半部分和后半部分。
例如:有a[8],要进行一维Haar小波变换,结果保存在b[8]中则一级Haar小波变换的结果为:b[0]=(a[0]+a[1])/2, b[4]=(a[0]-a[1])/2b[1]=(a[2]+a[3])/2, b[5]=(a[2]-a[3])/2b[2]=(a[4]+a[5])/2, b[6]=(a[4-a[5]])/2b[3]=(a[6]+a[7])/2, b[7]=(a[6]-a[7])/2如果需要进行二级Haar小波变换的时候,只需要对b[0]-b[3]进行Haar小波变换.对于二维的矩阵来讲,每一级Haar小波变换需要先后进行水平方向和竖直方向上的两次一维小波变换,行和列的先后次序对结果不影响。
二、Haar小波的实现使用opencv来读取图片及像素,对图像的第一个8*8的矩阵做了一级小波变换#include <cv.h>#include <highgui.h>#include <iostream>using namespace std;int main(){IplImage* srcImg;double imgData[8][8];int i,j;srcImg=cvLoadImage("lena.bmp",0);cout<<"原8*8数据"<<endl;for( i=0;i<8;i++){for( j=0;j<8;j++){imgData[i][j]=cvGetReal2D(srcImg,i+256,j+16); cout<<imgData[i][j]<<" ";}cout<<endl;}double tempData[8];//行小波分解for( i=0;i<8;i++){for( j=0;j<4;j++){double temp1=imgData[i][2*j];double temp2=imgData[i][2*j+1]; tempData[j]=(temp1+temp2)/2;tempData[j+4]=(temp1-temp2)/2;}for( j=0;j<8;j++)imgData[i][j]=tempData[j];}//列小波分解for( i=0;i<8;i++){for( j=0;j<4;j++){double temp1=imgData[2*j][i]; double temp2=imgData[2*j+1][i]; tempData[j]=(temp1+temp2)/2; tempData[j+4]=(temp1-temp2)/2; }for( j=0;j<8;j++)imgData[j][i]=tempData[j];}cout<<"1级小波分解数据"<<endl; for( i=0;i<8;i++){for( j=0;j<8;j++){cout<<imgData[i][j]<<" ";}cout<<endl;}//列小波逆分解for( i=0;i<8;i++){for( j=0;j<4;j++){double temp1=imgData[j][i]; double temp2=imgData[j+4][i]; tempData[2*j]=temp1+temp2; tempData[2*j+1]=temp1-temp2; }for( j=0;j<8;j++){imgData[j][i]=tempData[j];}}//行小波逆分解for( i=0;i<8;i++){for( j=0;j<4;j++){double temp1=imgData[i][j]; double temp2=imgData[i][j+4]; tempData[2*j]=temp1+temp2; tempData[2*j+1]=temp1-temp2; }for( j=0;j<2*4;j++){imgData[i][j]=tempData[j];}}cout<<"1级小波逆分解数据"<<endl; for( i=0;i<8;i++){for( j=0;j<8;j++){cout<<imgData[i][j]<<" ";}cout<<endl;}return 0;}====================================== ===================================== /// 小波变换Mat WDT( const Mat &_src, const string _wname, const int _level )const{int reValue = THID_ERR_NONE;Mat src = Mat_<float>(_src);Mat dst = Mat::zeros( src.rows, src.cols, src.type() );int N = src.rows;int D = src.cols;/// 高通低通滤波器Mat lowFilter;Mat highFilter;wavelet( _wname, lowFilter, highFilter );/// 小波变换int t=1;int row = N;int col = D;while( t<=_level ){///先进行行小波变换for( int i=0; i<row; i++ ){/// 取出src中要处理的数据的一行Mat oneRow = Mat::zeros( 1,col, src.type() );for ( int j=0; j<col; j++ ){oneRow.at<float>(0,j) = src.at<float>(i,j);}oneRow = waveletDecompose( oneRow, lowFilter, highFilter ); /// 将src这一行置为oneRow中的数据for ( int j=0; j<col; j++ ){dst.at<float>(i,j) = oneRow.at<float>(0,j);}}#if 0//normalize( dst, dst, 0, 255, NORM_MINMAX );IplImage dstImg1 = IplImage(dst);cvSaveImage( "dst.jpg", &dstImg1 );#endif/// 小波列变换for ( int j=0; j<col; j++ ){/// 取出src数据的一行输入Mat oneCol = Mat::zeros( row, 1, src.type() );for ( int i=0; i<row; i++ ){oneCol.at<float>(i,0) = dst.at<float>(i,j);}oneCol = ( waveletDecompose( oneCol.t(), lowFilter, highFilter ) ).t();for ( int i=0; i<row; i++ ){dst.at<float>(i,j) = oneCol.at<float>(i,0);}}#if 0//normalize( dst, dst, 0, 255, NORM_MINMAX );IplImage dstImg2 = IplImage(dst);cvSaveImage( "dst.jpg", &dstImg2 );#endif/// 更新row /= 2;col /=2;t++;src = dst;}return dst;}/// 小波逆变换Mat IWDT( const Mat &_src, const string _wname, const int _level )const{int reValue = THID_ERR_NONE;Mat src = Mat_<float>(_src);Mat dst = Mat::zeros( src.rows, src.cols, src.type() );int N = src.rows;int D = src.cols;/// 高通低通滤波器Mat lowFilter;Mat highFilter;wavelet( _wname, lowFilter, highFilter );/// 小波变换int t=1;int row = N/std::pow( 2., _level-1);int col = D/std::pow(2., _level-1);while ( row<=N && col<=D ){/// 小波列逆变换for ( int j=0; j<col; j++ ){/// 取出src数据的一行输入Mat oneCol = Mat::zeros( row, 1, src.type() );for ( int i=0; i<row; i++ ){oneCol.at<float>(i,0) = src.at<float>(i,j);}oneCol = ( waveletReconstruct( oneCol.t(), lowFilter, highFilter ) ).t();for ( int i=0; i<row; i++ ){dst.at<float>(i,j) = oneCol.at<float>(i,0);}}#if 0//normalize( dst, dst, 0, 255, NORM_MINMAX );IplImage dstImg2 = IplImage(dst);cvSaveImage( "dst.jpg", &dstImg2 );#endif///行小波逆变换for( int i=0; i<row; i++ ){/// 取出src中要处理的数据的一行Mat oneRow = Mat::zeros( 1,col, src.type() );for ( int j=0; j<col; j++ ){oneRow.at<float>(0,j) = dst.at<float>(i,j);}oneRow = waveletReconstruct( oneRow, lowFilter, highFilter );/// 将src这一行置为oneRow中的数据for ( int j=0; j<col; j++ ){dst.at<float>(i,j) = oneRow.at<float>(0,j);}}#if 0//normalize( dst, dst, 0, 255, NORM_MINMAX );IplImage dstImg1 = IplImage(dst);cvSaveImage( "dst.jpg", &dstImg1 );#endifrow *= 2;col *= 2;src = dst;}return dst;}/////////////////////////////////////////////////////////////////// //////////////////////////// 调用函数/// 生成不同类型的小波,现在只有haar,sym2void wavelet( const string_wname, Mat &_lowFilter, Mat &_highFilter )const{if ( _wname=="haar" || _wname=="db1" ){int N = 2;_lowFilter = Mat::zeros( 1, N, CV_32F );_highFilter = Mat::zeros( 1, N, CV_32F );_lowFilter.at<float>(0, 0) = 1/sqrtf(N);_lowFilter.at<float>(0, 1) = 1/sqrtf(N);_highFilter.at<float>(0, 0) = -1/sqrtf(N);_highFilter.at<float>(0, 1) = 1/sqrtf(N);}if ( _wname =="sym2" ){int N = 4;float h[] = {-0.483, 0.836, -0.224, -0.129 };float l[] = {-0.129, 0.224, 0.837, 0.483 };_lowFilter = Mat::zeros( 1, N, CV_32F );_highFilter = Mat::zeros( 1, N, CV_32F );for ( int i=0; i<N; i++ ){_lowFilter.at<float>(0, i) = l[i];_highFilter.at<float>(0, i) = h[i];}}}/// 小波分解Mat waveletDecompose( const Mat &_src, const Mat &_lowFilter, const Mat &_highFilter )const{assert( _src.rows==1 && _lowFilter.rows==1 && _highFilter.rows==1 );assert( _src.cols>=_lowFilter.cols && _src.cols>=_highFilter.cols );Mat &src = Mat_<float>(_src);int D = src.cols;Mat &lowFilter = Mat_<float>(_lowFilter);Mat &highFilter = Mat_<float>(_highFilter);/// 频域滤波,或时域卷积;ifft( fft(x) * fft(filter)) = cov(x,filter) Mat dst1 = Mat::zeros( 1, D, src.type() );Mat dst2 = Mat::zeros( 1, D, src.type() );filter2D( src, dst1, -1, lowFilter );filter2D( src, dst2, -1, highFilter );/// 下采样Mat downDst1 = Mat::zeros( 1, D/2, src.type() );Mat downDst2 = Mat::zeros( 1, D/2, src.type() );resize( dst1, downDst1, downDst1.size() );resize( dst2, downDst2, downDst2.size() );/// 数据拼接for ( int i=0; i<D/2; i++ ){src.at<float>(0, i) = downDst1.at<float>( 0, i );src.at<float>(0, i+D/2) = downDst2.at<float>( 0, i );}return src;}/// 小波重建Mat waveletReconstruct( const Mat &_src, const Mat &_lowFilter, const Mat &_highFilter )const{assert( _src.rows==1 && _lowFilter.rows==1 && _highFilter.rows==1 );assert( _src.cols>=_lowFilter.cols && _src.cols>=_highFilter.cols );Mat &src = Mat_<float>(_src);int D = src.cols;Mat &lowFilter = Mat_<float>(_lowFilter);Mat &highFilter = Mat_<float>(_highFilter);/// 插值;Mat Up1 = Mat::zeros( 1, D, src.type() );Mat Up2 = Mat::zeros( 1, D, src.type() );/// 插值为0//for ( int i=0, cnt=1; i<D/2; i++,cnt+=2 )//{// Up1.at<float>( 0, cnt ) = src.at<float>( 0, i ); ///< 前一半// Up2.at<float>( 0, cnt ) = src.at<float>( 0, i+D/2 ); ///< 后一半//}/// 线性插值Mat roi1( src, Rect(0, 0, D/2, 1) );Mat roi2( src, Rect(D/2, 0, D/2, 1) );resize( roi1, Up1, Up1.size(), 0, 0, INTER_CUBIC );resize( roi2, Up2, Up2.size(), 0, 0, INTER_CUBIC );/// 前一半低通,后一半高通Mat dst1 = Mat::zeros( 1, D, src.type() );Mat dst2= Mat::zeros( 1, D, src.type() );filter2D( Up1, dst1, -1, lowFilter );filter2D( Up2, dst2, -1, highFilter );/// 结果相加dst1 = dst1 + dst2;return dst1;}====================================== =====================================*************************************************************** **************************************************其他代码实现*************************************************************** **************************************************// 哈尔小波.cpp : 定义控制台应用程序的入口点。
第三章 小波分析

2 n +1
2
∑ h
k∈ z
w
(2t − k )
0
(t ) = φ (t )
w 1 (t ) = ψ (t )
确定的函数集合 {wn (t )}n∈z 为由 w0 (t) =φ(t) 定义的小波包
其频域表达式
ω wn (ω ) = ∏ H k , 其中 εk k =1 2 1 1 , , H 0 (ω) = 2 H0 (ω), H1 (ω) = 2 H1(ω) 其中ε k = 0或1
取a=2,b=1,对应的尺度为2j,而平移为2jk。由此 得到的小波
ψ j, k ( t ) = 2
小波变换
− j/ 2
ψ (2 t − k )
-j
W2
j
f (k) =< f (t),ψ (k ) >=
2
j
1
2
j
∫
R
f (t )
ψ(2 t − k)
-j
通过频率作不同层次的分解,获得各种信号特征。
二、小波分析
信息代价函数
• 定义: 设实数列x={xj}是函数f(t) 在某组基下的系数, 若存在非负连续函数µ,使得
M ( x) = ∑ µ (| x j |), µ (0) = 0,
j
则称M为x的代价函数。
常用的代价函数
1、香农熵代价函数:序列x={xj}的熵为: x M ( x ) = − ∑ P j lg P j P x 且P=0时,PlgP=0. j λ (x) = −∑ 可加函数: x k lg x k 则: M ( x ) = x λ ( x ) + lg x
a ,b
二、小波分析
3、离散小波变换 把连续小波变换中尺度参数a和平移参数b的 离散化公式分别取作 a=a0j, b=k a0jb0 ,对应的离散小波函数
小波分析及其工程应用-Haar小波分析

l (a b) l (a ) l (b) 1
a0 , a1 , a2 ,, am
a0 , a1 , a2 ,, am
a0 , a1 , a2 ,, am
bk , , b2 , b1 , b0
初始状态
bk , , b2 , b1 , b0
中间状态
bk , , b2 , b1 , b0
2n 1 k 0
an,k
2
2n 1 1
k 0
an1,k
2
2n 1 1
k 0
d n1,k
2
快速计算公式:
an 1,k (an ,2 k an,2 k 1 ) / 2 d n 1,k (an ,2 k an,2 k 1 ) / 2 k 0,1, , 2 n 1 1 k 0,1, , 2n 1 1
1 1 1,0 (t ) 1,1 (t ) 2 2 1 1 1,0 (t ) 1,1 (t ) 2 2
1.5 小波变换的快速计算
作用: 不同分辨率下的小波函数及尺度函数具有相同的能量.
f (t ) an 1,0n 1,0 (t ) an1,2n1 1n1,2n1 1 (t ) d n 1,0 n 1,0 (t ) d n1,2n1 1 n1,2n1 1 (t )
X 1/4,2/4 , X 2/4,3/4 , X 3/4,1 与 X 0,1/4 之间的关系? X 0,1/4 与 X 0,1 之间的关系?
j ,k (t ) (2 j t k )
k 0,1,, 2 j 1
f (t ) x12,0 (t ) x22,1 (t ) x32,2 (t ) x42,3 (t )
Haar小波

二维金字塔分解算法
令I(x,y)表示大小为M N的原始图像,l(i)表示相对于分析
函数可以由一个尺度函数的伸缩与平移的线性组合表示
同理,对小波变换
1
(t) X[0,1/ 2) (t) X[1/ 2,1) (t) 1
0
伸缩和平移
0 t 1/ 2
1/ 2 t 1
其它
序列的多分辨率表示:
f (t) a0,0 0,0 (t) d0,0 0,0 (t) d1,01,0 (t) d1,11,1(t)
平均与细节
{x1,x2,x3,x4}-最高分辨率信息 {a1,0,a1,1}-次高分辨率低频信息 {d1,0,d1,1}-次高分辨率细节信息 {a0,0}-最低分辨率低频信息 {d0,0}-最低分辨率细节信息
{x1,x2,x3,x4}的小波变换{a0,0,d0,0,d1,0,d1,1}由整体 平均和两个不同分辨率的细节信息构成
f (t) x1X[0,1/ 4) (t) x2 X[1/ 4,1/ 2) (t) x3 X[1/ 2,3 / 4) (t) x4 X[3 / 4,1) (t)
平移 X[1/ 4,1/ 2) (t) X[0,1/ 4) (t 1/ 4) X[1/ 2,3 / 4) (t) X[0,1/ 4) (t 1/ 2) X[3 / 4,1) (t) X[0,1/ 4) (t 3 / 4)
金字塔算法
{1.5}:最低分辨率低频信息 {0.5}:最低分辨率细节信息 {2,1}:次高分辨率低频信息 {1,-3}:次高分辨率细节信息 {3,1,-2,4}:最高分辨率信息
Haar小波分析

谢谢观赏
WPS Office
Make Pringsoftwps
尤其是下边两个非平稳信号我们从频谱上无法区分它们因为它们包含的四个频率的信号的成分确实是一样的只是出现的先后顺序不同
Haar小波分析
郑克芝 轮机工程
傅里叶变换的局限性
傅里叶变换:知道一段时间内,信号的各个频 如上图,最上边的是频率始终不变的平稳信号。而 率分量有分别多少。 下边两个则是频率随着时间改变的非平稳信号,它 们同样包含和最上信号相同频率的四个成分。 傅里叶变换是把时域的函数比作无数不同频率的 做FFT后,我们发现这三个时域上有巨大差异的信 正余弦函数的叠加,计算每个频率分量有多少,形 号,频谱(幅值谱)却非常一致。尤其是下边两个 成频谱。 非平稳信号,我们从频谱上无法区分它们,因为它 问题: 如果每个频率分量都在整个时间域上持 们包含的四个频率的信号的成分确实是一样的,只 续,没问题。但如果有些频率分量可能一开始没有, 是出现的先后顺序不同。 只在某一段时间范围内出现(非平稳过程)。频谱 图上看不出来。也就是说,时域相差很大的两个信 可见,傅里叶变换处理非平稳信号有天生缺陷。它 号,可能频谱图一样!所以,对非平稳过程,傅里 只能获取一段信号总体上包含哪些频率的成分,但 叶变换有局限性!! 是对各成分出现的时刻并无所知。因此时域相差很 大的两个信号,可能频谱图一样。
Haar小波
Haar基函数
对于多分辨率而言,尺度函数与小波函数共同构 造了信号的分解。这里尺度函数可以由低通滤波器 构造,而小波函数则由高通滤波器实现。这样的滤 波器组就构成了分解的框架。而同时我们可以看到 ,低通滤波器的尺度函数可以作为下一级的小波函 数和尺度函数的母函数。说明白些,其实尺度函数 表征了信号的低频特征,小波函数才是真正逼近高 频的基。利用尺度函数可以构造出小波函数。
哈工大小波理论及应用 第3章哈尔小波分析

lZ j l
f 可由以高为 a 、宽为 l / 2 j x (l 1) / 2 j 的阶
梯函数表示。
2.重构算法
研究对象:
f ( x) f 0 ( x) w0 ( x) ... w j 1 ( x)
其中,
0 f 0 ( x) ak ( x k ) V0
重构算法
(Haar重构)设
f f 0 w0 w1 ... w j 1
这里,
0 f 0 ( x) ak ( x k ) V0 kZ
w j ( x) bkj (2 j x k ) W j
0 j j
那么
kZ
f ( xቤተ መጻሕፍቲ ባይዱ alj (2 j x l ) V j
k 1,0 k 1,0
结果 H ( x) (h * x) 1 x 1 x k k k k 1
2 2 1 1 L( x) k (l * x) k xk xk 1 2 2
分解实现
1 1 H ( x) 2 k (h * x) 2 k x2 k x2 k 1 2 2 1 1 L( x) 2 k (l * x) 2 k x2 k x2 k 1 2 2
下取样 算子D
分解公式表示为:
bkj 1 DH (a j ) k
H
akj 1 DL(a j ) k 2
b j 1 a j 1
aj
L
2
4.重构实现
重构算法: 和 L ,相应的冲击相应为: 两个离散滤波器 H
(...0...1 1...0...), l (...0...11...0...) h
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用 x k 代替 x ,得:
0 f 0 ( x) ak (x k) 0 ak (2 x 2k ) ak0 (2 x 2k 1)
kZ
所以
kZ
0 a k , 若l 2k是偶数 1 1 ˆl 0 ˆl (2 x l ) a f 0 ( x) a kZ ak , 若l 2k 1是奇数
重构算法
ˆ1 (2 x l ) w0 ( x) b l
lZ
0 b k , 若l 2k是偶数 1 ˆ bl 0 bk , 若l 2k 1是奇数
结合上面两个式子,有:
f 0 ( x) w0 ( x) al1 (2 x l )
lZ
0 0 a b k k , 若l 2k 是偶数 1 1 1 ˆ ˆl bl 0 0 al a ak bk , 若l 2k 1是奇数
6.空间 W j
V j ,V j 1 ,得到: 不断的分解
V j W j 1 V j 1 W j 1 W j 2 V j 2 ... 所以V j中的任一 f 可唯一地分解
为以下的和式:
V j W j 1 W j 2 ... W0 V0
f w j 1 w j 2 ... w0 f 0
分解算法
把 f j ( x) ak (2 j x k ) 分解为偶部和奇部:
f j ( x) a2 k (2 j x 2k ) a2 k 1 (2 j x 2k 1)
kZ kZ
kZ
a2 k ( (2 j 1 x k ) (2 j 1 x k )) / 2
f ( x) al (2 x l )
lZ j l
f 可由以高为 a 、宽为 l / 2 j x (l 1) / 2 j 的阶
梯函数表示。
2.重构算法
研究对象:
f ( x) f 0 ( x) w0 ( x) ... w j 1 ( x)
其中,
0 f 0 ( x) ak ( x k ) V0
kZ
a2 k 1 ( (2 j 1 x k ) (2 j 1 x k )) / 2
a2 k a2 k 1 a2 k a2 k 1 j 1 ( ) (2 x k ) ( ) (2 j 1 x k ) 2 2 kZ kZ
w j 1 f j 1
3.空间
Vn
的性质
1) V0 V1 V2 Vn 1 Vn Vn 1 由于 (2 x) V1 ,
(2 x) V0 因此上面的包含关系严格成立。
n f ( x ) V f (2 x ) Vn 2) 0
3.空间
3) 函数集
Vn
的性质
个标准正交基。 其中系数 2 因为
分解算法
与 之间的关系式:
(2 x) ( ( x) ( x)) / 2
(2 x 1) ( ( x) ( x)) / 2
用2
j 1
x k 取代 x ,可得以下两式:
(2 j x 2k ) ( (2 j 1 x k ) (2 j 1 x k )) / 2 (2 j x 2k 1) ( (2 j 1 x k ) (2 j 1 x k )) / 2
ห้องสมุดไป่ตู้
wl ( x) bkl (2l x k ) Wl
kZ
kZ
0 l j 1
j j f f ( x ) a (2 x l ) ,而 目的:把 重新表示为 l l 且要找到一个计算 alj 的算法。
重构算法
应用下列等式:
( x) (2 x) (2 x 1) ( x) (2 x) (2 x 1)
重构算法
(Haar重构)设
f f 0 w0 w1 ... w j 1
这里,
0 f 0 ( x) ak ( x k ) V0 kZ
w j ( x) bkj (2 j x k ) W j
0 j j
那么
kZ
f ( x) alj (2 j x l ) V j
下取样 算子D
分解公式表示为:
bkj 1 DH (a j ) k
H
akj 1 DL(a j ) k 2
b j 1 a j 1
aj
L
2
4.重构实现
重构算法: 和 L ,相应的冲击相应为: 两个离散滤波器 H
(...0...1 1...0...), l (...0...11...0...) h
j/2
j/2 j 2 (2 x k ); k Z 是V j 的一
的存在是
( (2 j x)) 2 dx 1/ 2 j
4.Haar小波函数
构造 的两个关键点: 1. 是 V1 的成员,所以可表示为
( x) al (2 x l ), al R(仅有有限个 al 非零)
其中,
kZ
j j a a 2 k 1 bkj 1 2 k 2
j j a a 2 k 1 akj 1 2 k 2
分解算法
f j w j 1 w j 2 ... w0 f 0
下一步可滤波或压缩 系数 bkj 已被修改,需要一个重构算法,以便被 j (2 x l) V 压缩或滤波的信号能根据 j 的基元素 重建,即 j j
1
l
f w j 1 w j 2 w1 w0 f 0 , wl Wl
§2
基于Haar小波的分解算法与重构算法
1.分解算法 第一步,用一阶梯函数近似原信号 f :
f j ( x) al (2 j x l )
lZ
j j x ..., 1/ 2 , 0,1/ 2 ,... 处取样,从而 对信号在 得到 j al f (l / 2 ), l Z
k 1,0 k 1,0
结果 H ( x) (h * x) 1 x 1 x k k k k 1
2 2 1 1 L( x) k (l * x) k xk xk 1 2 2
分解实现
1 1 H ( x) 2 k (h * x) 2 k x2 k x2 k 1 2 2 1 1 L( x) 2 k (l * x) 2 k x2 k x2 k 1 2 2
其中 wl Wl , 0 l j 1 且 f 0 V0
上面讨论了空间 V j 中的任意元素可以逐级唯一分解系列子 空间序列 Wk 上元素与空间 V0 上的元素的和, 即 其中wl 表示当且仅当在长度为 2 的区间上取简单常数的 函数。当 l 充分大时,该函数可以用来表示噪音 ,例如 假设持续时间低于0.02 的信号被看作噪声,则由于 2 6 0.02 2 5 因此对 l 6 的 wl 都可以被当作噪声来处理。为 了达到去噪声的目的,将 l 6 的分量设置 wl =0 其他剩 余的信号近似地看成实际信号内容。
j1 j1 a b k k , 若l 2k 是偶数 j al j1 j1 a b k , 若l 2k 1是奇数 k
lZ
3.分解实现
分解算法: 离散滤波器H和L,其冲击响应分别为 h和 l :
1 1 1 1 h (...0... ...0...),l (...0... ...0...) 2 2 2 2
第3章 哈尔小波分析
• Haar小波 • Haar分解和重构 • 分解和重构实现 • 信号处理步骤
§1.Haar小波
有两个函数在小波分析中起着非常重要的 作用,即尺度函数 和小波函数 ,这两个函 数产生了一组可以用于分解和重构信号的函数 族。
有时称为“父小 在构造该函数族中, 称为“母小波”。 波”,
4.Haar小波函数
利用正交性,可以求出参数a, b 之值,并规范化,得
1 1, x 0, 2 1 ( x) 1, x ,1 2 0, 其他
Haar小波函数
1 0 0 0.5 -1 1 0 x
Haar小波函数为:
kZ
分解算法
结论:设
f j ( x) akj (2 j x k ) V j
kZ
那么 f j 可分解为:
f j w j 1 f j 1
这里,
w j 1 bkj 1 (2 j 1 x k ) W j 1
kZ
f j 1 akj 1 (2 j 1 x k ) V j 1
k 0,1 k 0,1
* x) x x 和 (l * x) k xk xk 1 有 (h k k k 1 如果 x, y 是两个奇部为0的序列,那么
x2 k l 2k 偶数 y2 k l 2k 偶数 ( h * x )l (l * y )l x2 k l 2k 1奇数 y2 k l 2k 1奇数
V j 1 V j W j
kZ
Vn
定理 kZ 间,其中ak 含有限个非0项,则W j 构成 V j 在 V j 1中的正交补,并且
Vj1 Vj Wj
j a (2 x k ),ak R 的函数所组成的线性空 W k 设 j 是由形如
证明 上述定理的证明包含两个方面; W j 中的每一个函数均与 V j 中的任意函数正交 (1) (2) V j 1 中的每一个与空间V j 正交的函数均属于空间 W j
1.Haar尺度函数
• Haar尺度函数定义为:
( x)
Y