c语言haar小波函数 c语言实现小波分解

一维离散小波变换dwt调用方式

(1)[cA,cD]=dwt(X,‘wname’)

鄄城网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

(2)[cA,cD]=dwt(X,Lo_D,Hi_D)

说明:该函数用于进行一维离散小波分解,X为被分析的离散信号,wname为分解所用到的波函数,Lo_D,Hi_D为分解滤波器,cA和cD分别为返回的低频系数和高频系数向量,它们长度相等且为:length(X)/2(当length(X)为偶数时)或(length(X)+1)/2(当length(X)为奇数时)。

如果令lx=length(X),lf=length(Lo_R),则有length(cA)=length(cD)=floor(lx+lf-2)/2)

[例6-15]load noissin;%装载原始一维信号

s=noissin(1:1000);

%画出原始信号的波形

subplot(411);plot(s);

title(‘原始信号’);

%下面用haar小波函数进行一维离散小波变换

[cal,cdl]=dwt(s,‘haar’);

subplot(4,2,3);plot(cdl);

Ylabel(‘haar(cal)’);

Subplot(4,2,4);plot(cdl);

%给定一个小波db2,计算与之相关的分解滤波器

[Lo_D,Hi_D]=wfilters(‘db2’,‘d’);

%用分解滤波器Lo_D,Hi_D计算信号s的离散小波分解系数

[ca2,cd2]=dwt(s,Lo_D,Hi_D);

subplot(4,2,5);plot(ca2);

Ylabel(‘db2(ca2)’);subplot(4,2,6);plot(cd2);

Ylabel(‘db2(cd2)’);

Haar小波的滤波函数问题

你好

这是电子信息方面的问题?

harr小波应该是一种已知波形,类似正弦波的东西。

应该是用harr小波做滤波函数。

第三行的变换基于数学里的y=a+bx和y=[(a+bx)^2]*(c+dx)里,c和d取合适的数值,两式等价,。

设个(e^-iw)为x,第三行的式子分解开就是(1/2)*{a/2+(a+b/2)x+(a/2+b)(x^2)+b/2(x^3)}。

和harr函数等价,四个h对应四个系数,不能让b=0,那么白费劲了。

w=0时,m=1,是一个条件

正则条件是第二个条件,应该是对应第三行数学变换成立的条件。

这样解出a b 两个数

带到式子出来个harr函数的变换函数D4。

什么是HAAR小波

小波(Wavelet)这一术语,顾名思义,“小波”就是小的波形。所谓“小”是指它具有衰减性;而称之为“波”则是指它的波动性,其振幅正负相间的震荡形式。与Fourier变换相比,小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。有人把小波变换称为“数学显微镜”。

Haar小波是小波的一种,是最简单的正交归一化小波。Haar基本小波函数定义在区间 [0,1]上。

wfilter = 'haar';%选择小波基

[CA,CH,CV,CD] = dwt2(x,wfilter, 'per');%小波变换

CA = (CA=T1) .* CA;%对4个自带分别阈值处理

CH = (CH=T2) .* CH;

CV = (CV=T3) .* CV;

CD = (CD=T4) .* CD;

result = idwt2(CA, CH, CV, CD, wfilter, 'per');%反变换重构图像。


网页题目:c语言haar小波函数 c语言实现小波分解
分享URL:http://cdiso.cn/article/ddeshcs.html

其他资讯