(2020年编辑)Matlab 小波工具箱入门
小波MATLAB工具箱@
![小波MATLAB工具箱@](https://img.taocdn.com/s3/m/9d5b981ac5da50e2524d7f17.png)
subplot(2,1,1);plot(s); title('Original')
subplot(2,1,2);plot(A3); title('Level 3 Approximation')
阈值去噪
当然,摒弃所有高频信息,我们会失去原始信号中的很多最尖锐的特 征。最佳的去噪需要通过一种更精细的叫阈值方法,它只丢弃部分超 过一定范围的细节。
一层小波分解分析 多层小波分解及粗糙去噪 阈值去噪
一层小波分解分析
我们用一个真实世界的信号----测量3天的电功耗, 这个信号很典型,因为它包含一个很明显的测量噪声,而 小波分析以有效的移除噪声。
一层小波分解分析
一维分析----使用命令行
1. 加载信号 load leleccum 截取信号 s = leleccum(1:3920); l_s = length(s); 2. 对信号执行一层小波分解 使用db1小波执行一层小波分解,执行下面的语句产生近似系数cA1、 细节系数cD1 [cA1,cD1] = dwt(s,'db1');
阈值去噪
cD1,cD2,cD3是向量,那么我们就可以通过直接操纵这些向量来达到 目的,即设置这些向量小于其峰值或平均值的一部分,然后就可以由 这些设定了阈值的系数重建新的细节信号D1、D2、D3。 实际去噪过程中,可以使用ddencmp函数来计算默认的阈值参数,然 后用wdencmp函数来执行实际的去噪过程,代码如下: [thr,sorh,keepapp] = ddencmp('den','wv',s); clean = wdencmp('gbl',C,L,'db1',3,thr,sorh,keepapp); 注意wdencmp使用了第1步中小波分解的结果C、L,另外指定了db1小 波来做分析,指定全局阈值选项gb1.
Matlab中的小波分析工具箱
![Matlab中的小波分析工具箱](https://img.taocdn.com/s3/m/242ae5225901020207409cef.png)
Family
Short name
Meyer
meyr
Orthogonal Biorthogonal
yes yes no possible but without FWT possible
Compact support DWT CWT
Support width
Effective support Regularity
多小波的多分辨分析
( x)生成r重多分辨分析 V j },j Z , 如果{V j }满足下列性质: { (1) ( 2) (3) ( 4) (5) V1 V0 V1 closL2 ( V j ) L2
jZ
V
jZ
j
{0}
f ( x) V j f (2 x) V j 1 {l , j ,k : 1 l r , k Z }是V j的Riesz基。
wnoislop.mat ……
具有二阶可微跳变的信号
叠加了白噪声的斜坡信号 ……
sum sin .m at sum sin(t ) sin(3t ) sin(0.3t ) sin(0.03t ) freqbrk.m at 1 t 500 sin(0.03t ) freqbrk(t ) sin(0.3t ) 501 t 1000
二维信号的多层小波分解:
[A,L]=wavedec2(X,N,’wname’) [A,L]=wavedec2(X,N,H,G) 其中:A :各层分量, L:各层分量长度 N:分解层数 X:输入信号。 wname:小波基名称 H:低通滤波器 G:高通滤波器
其他的二维函数:
对变换信号的伪彩色编码:wcodemat 反变换:idwt2,idwtper2, 重构: upwlev2,waverec2,wrcoef2,源自线调频小波变换:
Matlab 7.0小波工具
![Matlab 7.0小波工具](https://img.taocdn.com/s3/m/58df6e1b0740be1e650e9af2.png)
Matlab 7.0小波工具1. 小波管理函数wavemngrwavemngr(‘read’)输出该软件中所存有的全部小波函数的名称和代号wavemngr('read')wavemngr('read',1)更详细的信息wavemngr('read',1)waveinfo(‘wname’)单个小波的详细信息waveinfo('db')waveinfo('bior')2.画小波函数图像的函数类wavefun……[PSI, X]=mexihat(LB,UB,N)ψ的值,X 向量PSI 为区间[LB,UB] 上等分N 个点上Mexicohat 小波函数()x为x 点的值[PHI,PSI, X]=meyer(LB,UB,N)ϕ的值,向向量PhI 为区间[LB,UB] 上等分N 个点上Meyer 小波尺度函数()xψ的值,X 为x 点的量PSI 为区间[LB,UB] 上等分N 个点上Meyer小波函数()x值e.g. [PHI,PSI, X]=meyer(-5,5,256);画图函数可用plot(X,PSI) , plot(X,PHI)[PHI,PSI, X]=meyer(-5,5,256);plot(PHI)plot(X,PHI)plot(X,PSI)对于各种正交小波可统一使用[phi,psi,x]=wavefun(‘wname’,iter)向量phi 为尺度函数()x ϕ的值,向量psi 为小波函数()x ψ的值,wname 为小波代号x 在支集上有2iter个点一般取iter=7 即128 个点。
[phi,psi,x]=wavefun(‘db4’,7);plot(x,phi)plot(x,psi)看图形。
> [PHI,PSI, X]=wavefun('coif4',8);>plot(X, PHI)>plot(X, PSI) 3. 显示滤波器系数函数wfilterswfilters (‘wname’)查询滤波器系数wfilters('db1')wfilters('db4')[lod,hid]=wfilters('bior3.5')同时查询低通和高通滤波器系数4. 连续小波变换函数 cwtY=cwt(s,scale,'wname','plot');s :信号以抽样向量表示scale :需要的a 的变化范围(b 的取值点个数与s 同)t=0:0.02:5.1;tt=t.*t;s=sin(tt);plot(t,s)X=cwt(s,5:0.5:15,'meyr','plot');ss=s+cos(t);X=cwt(ss,5:0.5:15,'meyr','plot');Y=cwt(ss,10:0.5:20,'mexh','plot');sss=3*sin(20*pi*t)+2*sin(13*pi*t)+5*cos(15*pi*t)+randn(1,length(t));X=cwt(sss,5:0.5:15,'meyr','plot');5. 单尺度离散小波正、逆变换函数 dwt ,……[ca,cd]=dwt(x,’wname’)x 为输入信号,ca, cd 分别为低频系数和高频系数。
matlab小波工具箱及其应用
![matlab小波工具箱及其应用](https://img.taocdn.com/s3/m/c5a5be06bed5b9f3f90f1cc0.png)
Matlab小波工具箱的相关应用09信息02班玺瑞孟魄 20092294前言在传统的傅里叶分析中,信号是完全在频域展开的,不包含任何时域的信息,这对于某些应用来说是恰当的,因为信号的频率信息对其是非常重要的。
但其丢弃的时域信息可能对某些应用非常重要,所以人们对傅里叶分析进行了推广,如短时傅里叶变换,但是短时傅里叶变换只能在一个分辨率上进行,所以对很多应用来说还不够精确,存在很大的缺陷。
而小波分析则克服了短时傅里叶变换在单分辨率上的缺陷,具有多分辨率分析的特点,在时域和频域都有表征信号局部信息的能力,所以小波运用广泛应用于各个时域分析领域,而matlab小波工具箱正是处理小波变换的一个有用工具。
在matlab中,小波工具箱提供了两种实现方式,命令行方式和图形方式[1]。
命令方式比较灵活,可以看到具体的处理过程,适合对于matlab比较熟悉的人。
而图形方式(GUI, Graphical User Interface)操作简便,界面友好,对于matlab初学者或是不熟悉小波分析具体过程的人来说,GUI是最佳选择。
GUI的主要问题是处理模式相对固定,不如命令行凡是灵活,而且可视化的操作模式看不到具体的操作机制。
本实验运主要进行了,一维小波变换,二维小波变换,图像压缩,图像降噪,边缘提取,图像扩展等操作。
通过本次试验,从命令行方式和GUI方式两个方面,运用到了matlab小波工具箱的部分功能,一方面熟悉了matlab小波工具箱,另一方面,通过matlab 对图像的处理方式,加深了对《数字图像处理》中“数字”的理解。
方法一维离散小波变换公式[2]对于还有其中表示近似值或尺度系数,表示细节或小波系数,,,)是离散变量的函数。
一维连续小波变换连续的平方可积函数的连续小波变换与实数值的小波的关系如下其中,和分别成为尺度和变换参数。
给定,可以通过反连续小波变换求得:其中,是的傅里叶变换。
二维小波变换在二维情况下,需要一个二维尺度函数和三个二维小波和。
Matlab中的小波分析工具箱 2
![Matlab中的小波分析工具箱 2](https://img.taocdn.com/s3/m/139843b7f121dd36a32d82c0.png)
连续小波发换:
格式: coefs=cwt(s,scales,’wname’) coefs=cwt(s,scales,’wname’,’plot’) 说明: s:输入信号 scales: 需要计算的尺度范围 wname:所用的小波基 plot: 用图像斱式显示小波系数
例子:
c = cwt(s,1:32,'meyr') c = cwt(s,[64 32 16:-2:2],'morl') c = cwt(s,[3 18 12.9 7 1.5],'db2')
q j t 2 2 1 j t 2 p
g (t )
g (t )
发换的统一表述:
将五种变换分别用下标 表示: g t0 , f 0 ,a , p ,q (t ) 则: ˆ Fourier 变换:f f , g 0, f ,0,0, 0 (t ) 加窗Fourier 变换:STFT( f ) f , g t , f ,0, 0, 0 (t ) 小波变换:WT ( f )(a, t ) f , g t , 0,a , 0,0 (u ) 高斯线调频小波变换: GCT ( s )(t , f ) s (u ), g t , f ,log(t ),0,q (u ) 1 1 u t 2 s (u ) exp[ ( ) ] exp[ j 2 ( fu qu2 )]du 2 T t
coifwavf biowavf
计算近似对称的紧支集双正交小波滤波器系数
计算Coifmant小波尺度滤波器系数 计算双正交样条小波尺度滤波器参数
wname='bior2.2'; [rf,rd]=biorwavf(wname)
rf =
小波分析MATLAB工具箱简介
![小波分析MATLAB工具箱简介](https://img.taocdn.com/s3/m/bf07a9ca80c758f5f61fb7360b4c2e3f572725a3.png)
小波分析MATLAB工具箱简介MATLAB的小波分析一、小波分析用于降噪的基本过程1、分解过程:选定一种小波,对信号进行N层分解;2、作用阈值过程:对分解得到的各层系数选择一个阈值,并对细节系数进行软阈值处理;3、重建过程:降处理后的系数通过小波重建恢复原始信号;二、基本降噪模型函数一维离散小波分解命令Dwt [cA cD] = dwt(X,’wname’)使用小波’wname’对型号X 进行单层分解,求得的近似系数存放于数组cA中,细节系数存放在数组cD 中;[cA cD] = dwt(X,’wname’,’mode’,MODE) 利用MODE方式进行扩展[cA cD] = dwt(X,Lo_D,Hi_D) 利用指定滤波器进行小波分解Wanedec [C, L] = wavedec(X,N,’wname’) 使用wname的小波进行N层分解,C为层数,L为各层系数Idwt X= idwt(cA,cD,’wname’) 利用小波wname把近似系数CA和CD重建为上一层近似系数XX= idwt(cA,cD,’wname’,L) 重建至L层Waverec X= waverec(C,L,‘wname‘)重建为原始信号Wrcoef X = wrcoef(‘type’,C,L,’wname’,N) 通过分解系数重构指定的数,type为a 或者dX= wrcoef(‘type’,C,L,’wname’) 把分解系数重建至最高层Upcoef Y= upcoef(O,X,’wname’,N)用适当的滤波器作用在X上N次,求得重建系数Y,O为a表示低通滤波器,d表示高通滤波器Detcofe D= detcoef(C,L,N)从分解系数中提取第N层近似系数D= detcoef(C,L,N)提取至最后一层Appcoef A= appcoef(C,L,’wname’,N) 用小波从分解系数中提取第N层系数Wnoisest stdc = woisest(c,l,s)根据传入的小波分解系数[c,l]对s中标识的小波层数求得其标准差,作为对噪声强度的估计;Ddencmp [THR,SORH,KEEPAPP,CRIT] = ddencmp(IN1,IN2,X) 根据传入的参数IN1 和IN2所指定的方式,对输入信号X求得其降噪或压缩的各级阈值。
Matlab中的小波分析工具箱 2
![Matlab中的小波分析工具箱 2](https://img.taocdn.com/s3/m/101a060d90c69ec3d5bb75b5.png)
例子:
c = cwt(s,1:32,'meyr') c = cwt(s,[64 32 16:-2:2],'morl') c = cwt(s,[3 18 12.9 7 1.5],'db2')
一维离散小波变换:
dwt [cA,cD]=dwt(X,’wname’) [cA,cD]=dwt(X,H,G) 其中:cA :低频分量, cD:高频分量 X:输入信号。 wname:小波基名称 H:低通滤波器 G:高通滤波器
1 ≤ t < 500 ⎧sin(0.03t ) freqbrk (t ) = ⎨ ⎩ sin(0.3t ) 501 ≤ t ≤ 1000
连续小波变换:
格式: coefs=cwt(s,scales,’wname’) coefs=cwt(s,scales,’wname’,’plot’) 说明: s:输入信号 scales: 需要计算的尺度范围 wname:所用的小波基 plot: 用图像方式显示小波系数
LastWave 小波信号和图像处理软件,用C语言编写,可在 Unix和Macintosh上运行。 下载地址:
值得关注的几个发展方向:
提升小波变换(Lifting scheme wavelet transform) 多小波变换(Multiwavelet transform) 线调频小波变换(chirplet transform)。
小波基的名称 计算Morlet小波滤波器系数 计算墨西哥草帽小波滤波器系数 计算Meyer小波与尺度滤波器系数 计算Meyer小波辅助函数 计算紧支集双正交小波滤波器系数 计算紧支集双正交小波尺度滤波器系数 计算近似对称的紧支集双正交小波滤波器系数 计算Coifmant小波尺度滤波器系数 计算双正交样条小波尺度滤波器参数
Matlab小波工具箱的使用2
![Matlab小波工具箱的使用2](https://img.taocdn.com/s3/m/c953b656793e0912a21614791711cc7931b778fd.png)
Matlab小波工具箱的使用2工具箱提供了如下函数做一维信号分析:在这一部分,可以学到l 加载信号l 执行一层小波分解l 从系数重建近似和细节l 显示近似和细节l 通过逆小波变换重建信号l 执行多层小波分解l 抽取近似系数和细节系数l 重构第三层近似l 重构第1、2、3层细节l 显示多层分解的结果l 从第三层分解重构原始信号l 从信号中去除噪声l 改善分析l 压缩信号l 显示信号的统计信息和直方图一维分析---使用命令行这个例子包含一个真实世界的信号---测量3天的电功耗。
这个信号很典型,因为它包含一个明显的测量噪声,而小波分析可以有效的移除噪声。
1. 加载信号load leleccum截取信号s = leleccum(1:3920);l_s = length(s);2. 对信号执行一层小波分解使用db1小波执行一层小波分解,执行下面的语句产生近似系数cA1、细节系数cD1 [cA1,cD1] = dwt(s,'db1');3. 从系数中构建近似和细节从系数cA1和cD1中构建一层近似A1和细节D1,执行以下代码A1 = upcoef('a',cA1,'db1',1,l_s);D1 = upcoef('d',cD1,'db1',1,l_s);或A1 = idwt(cA1,[],'db1',l_s);D1 = idwt([],cD1,'db1',l_s);4. 显示近似和细节subplot(1,2,1); plot(A1); title('Approximation A1')subplot(1,2,2); plot(D1); title('Detail D1')5. 使用逆小波变换恢复信号A0 = idwt(cA1,cD1,'db1',l_s);err = max(abs(s-A0))err =2.2737e-0136. 执行多层小波分解执行3层信号分解[C,L] = wavedec(s,3,'db1');函数返回3层分解的各组分系数C(连接在一个向量里),向量L里返回的是各组分的长度。
Matlab中的小波分析工具箱
![Matlab中的小波分析工具箱](https://img.taocdn.com/s3/m/54d5123c551810a6f42486b4.png)
CHENLI
9
连续小波变换:
格式: coefs=cwt(s,scales,’wname’) coefs=cwt(s,scales,’wname’,’plot’)
说明: s:输入信号 scales: 需要计算的尺度范围 wname:所用的小波基 plot: 用图像方式显示小波系数
2021/3/7
CHENLI
2021/3/7
小波基的名称
计算Morlet小波滤波器系数
计算墨西哥草帽小波滤波器系数
计算Meyer小波与尺度滤波器系数
计算Meyer小波辅助函数
计算紧支集双正交小波滤波器系数
计算紧支集双正交小波尺度滤波器系数
计算近似对称的紧支集双正交小波滤波器系数
计算Coifmant小波尺度滤波器系数
计算双正交样条小波尺度滤波器参数
对变换信号的伪彩色编码:wcodemat 反变换:idwt2,idwtper2, 重构: upwlev2,waverec2,wrcoef2,
2021/3/7
CHENLI
17
小波包分解:
树操作
allnodes 列出数结构的所有节点。 isnode 判断指定位置是否存在节点。 istnode 判断一个节点是否为终端节点。 nodejoin 树的剪枝。
在多小波变换域,目前,矢值信号的边界处理仅从数量上不增加 和完全重建两个方面来考虑。在此基础上,可进一步研究如何更 好地保持边界的连续性及适合于人的视觉特性。
在静止图像压缩方面,将多小波变换和矢量量化结合起来,是 今后值得探讨的一个方向。同时,多小波在活动图像编码中的应 用,还有待研究。
研究双正交多小波的构造和应用也是富有意义的工作。
dwt2
[cA,cH,cV,cD]=dwt2(X,’wname’)
matlab 小波分析工具箱
![matlab 小波分析工具箱](https://img.taocdn.com/s3/m/a38f696c1eb91a37f1115cc8.png)
技术凝聚实力 专业创新出版
26.1 小波变换
本节以一维小波变换为例,在简要介绍小波变 换基本原理的基础上,介绍小波变换、反变换 的基本内容,并介绍几种常用的基小波函数, 以增加读者的感性认识。
技术凝聚实力 专业创新出版
26.1.1 基本原理
20世纪80年代,法国地球物理学家Morlet在分析人工地震勘探信号时,发现这类信 号有一个明显的特点,即在信号的低频段应具有很高的频率分辨率,而在高频端的 频率分辨率可以较低。根据时频不确定性原理,这类信号的高频分量应具有很高的 时间分辨率,而低频分量的时间分辨率可以很低。根据人工地震勘探信号的这一特 点,Morlet提出小波变换。小波分析的目的是“既要看到森林(信号的概貌),又 要看到树木(信号细节)”,即具有多分辨能力。 小波变换具有多分辨率特性,非平稳信号的小波变换定义为。与Fourier变换相似, 小波变换即是信号在小波函数上的分解,通过移动、压缩小波基函数从而实现对信 号的多分辨分析,如图所示。
本章在简要介绍小波分析基本原理、基本概念的基础上, 详细讨论了小波变换、反变换的计算及其应用,通过本 章学习,读者应当熟练掌握以下内容: 小波变换简单原理; 基小波函数; 小波变换及反变换的计算; 应用小波变换解决实际问题。
技术凝聚实力 专业创新出版
第26章 小波分析工具箱
Fourier变换是信号处理的重要手段,如前所述,Fourier变换通过 将信号展开成不同频率的正弦信号之和,在频域对信号进行分析和 处理,如滤波、参数估计等。对平稳信号来说,Fourier分析具有 较好的效果,并取得了非常广泛的应用。Z变换、S变换分别在Z域 和S域对信号进行分析处理,其与Fourier变换相似,都是平稳信号 处理方法。 实际中,理想的平稳信号是很少的,所谓的平稳信号往往只是一种 近似,大量存在的是非平稳信号,如语音信号、心电图等。对非平 稳的信号,仍然采用平稳信号的处理方法,往往不能获得理想的效 果。因此需要引入其他信号处理手段解决这类问题,如短时 Fourier变换、时频分布、Gabor变换等。20世纪80年代兴起的小波 分析技术弥补了这方面的不足,目前正越来越广泛地应用于数据与 信号处理以及图像处理等领域。
MATLAB小波分析工具箱常用函数
![MATLAB小波分析工具箱常用函数](https://img.taocdn.com/s3/m/2a03f5d7900ef12d2af90242a8956bec0975a5fa.png)
MATLAB小波分析工具箱常用函数matlab小波分析工具箱常用函数1.Cwt :一维连续小波变换格式:coefs=cwt(s,scales,'wavename')coefs=cwt(s,scales,'wavename','plot')scales:尺度向量,可以为离散值,表示为[a1,a2,a3……],也可为连续值,表示为[amin:step:amax]2.dwt:单尺度一维离散小波变换格式:[ca,cd]=dwt(x,'wavename')[ca,cd]=dwt(x,lo-d,hi-d)先利用小波滤波器指令wfilters求取分解用低通滤波器lo-d和高通滤波器hi-d。
[lo-d,hi-d]=wfilters('haar','d');[ca,cd]=dwt(s,lo-d,hi-d)3.idwt:单尺度一维离散小波逆变换4.wfilters格式:[lo-d,hi-d,lo-r,hi-r]=wfilters('wname')[f1,f2]=wfilters('wname','type')type=d(分解滤波器)、R(重构滤波器)、l(低通滤波器)、h(高通滤波器)5.dwtmode 离散小波变换模式格式:dwtmodedwtmode('mode')mode:zdp补零模式,sym对称延拓模式,spd平滑模式6.wavedec多尺度一维小波分解格式:[c,l]=wavedec(x,n,'wname')[c,l]=wavedec(x,n,lo-d,hi-d)7.appcoef 提取一维小波变换低频系数格式:A=appcoef(c,l,'wavename',N)A=appcoef(c,l,lo-d,hi-d,N) N是尺度,可省略例:load leleccum;s=leleccum(1:2000)subplot(421)plot(s);title('原始信号')[c,l]=wavedec(s,3,'db1');ca1=appcoef(c,l,'db1',1);subplot(445)plot(ca1);ylabel('ca1');ca2=appcoef(c,l,'db1',2);subplot(4,8,17)plot(ca2);ylabel('ca2');8.detcoef 提取一维小波变换高频系数格式:d=detcoef(c,l,N),N尺度的高频系数。
Matlab中的小波分析工具箱
![Matlab中的小波分析工具箱](https://img.taocdn.com/s3/m/d40196daa58da0116c17492b.png)
其他的一维函数:
抽样: dyaddow 补零插值:dyaup 滤波器生成:qmf,orthfilt,wfilters 反变换:idwt,idwtper, 重构: upwlev,waverec,wrcoef,
二维离散小波变换:
dwt2 [cA,cH,cV,cD]=dwt2(X,’wname’) [cA,cH,cV,cD]=dwt2(X,H,G)
小波变换:WT ( f )(a, t) f , gt,0,a,0,0 (u)
高斯线调频小波变换:GCT (s)(t, f ) s(u), gt, f (u) ,log(t),0,q
ቤተ መጻሕፍቲ ባይዱ
1 s(u) exp[ 1 (u t )2 ]exp[ j2 ( fu qu2 )]du
f reqbrk(t )
sin(0.03t)
sin(0.3t)
1 t 500 501 t 1000
连续小波变换:
格式: coefs=cwt(s,scales,’wname’) coefs=cwt(s,scales,’wname’,’plot’)
说明: s:输入信号 scales: 需要计算的尺度范围 wname:所用的小波基 plot: 用图像方式显示小波系数
其中:(x)=(1,2 ,,r )T
双尺度方程:
(x) Pk(2x k) k
其中:Pk是r r矩阵。 由于研究无穷矩阵序列的困难,通常的双尺度方程 为有限项。
M
(x) Pk(2x k) k 0
多小波在理论上所表现出来的优势以及它在应用领域 所具有的潜力,使其受到高度重视。在它诞生的短短 几年时间内,从理论方面,多小波的构造、多小波变 换实现中,预滤波器的设计及信号的边界处理正迅速 成为新的研究热点,而对它在图像处理方面的应用, 人们正进行积极探索,并在静止图像编码、图像去噪 两方面取得了一定的成果。
使用MATLAB小波工具箱进行小波分析:
![使用MATLAB小波工具箱进行小波分析:](https://img.taocdn.com/s3/m/351c47f827fff705cc1755270722192e45365839.png)
使用MATLAB小波工具箱进行小波分析:如上图所示的小波分解过程,可以调用wfilters 来获得指定小波的分解和综合滤波器系数,例如:% Set wavelet name.wname = 'db5';% Compute the four filters associated with wavelet name given% by the input string wname.[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(wname);subplot(221); stem(Lo_D);title('Decomposition low-pass filter');subplot(222); stem(Hi_D);title('Decomposition high-pass filter');subplot(223); stem(Lo_R);title('Reconstruction low-pass filter');subplot(224); stem(Hi_R);title('Reconstruction high-pass filter');xlabel('The four filters for db5')% Editing some graphical properties,% the following figure is generated.以上例子,得到’db5’小波的分解和综合滤波器系数,并显示出来。
下面是wfilters的具体用法:Wname 可指定为列表中的任意一种小波,直接调用[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('wname')会返回分解和综合滤波器系数。
如果只想返回其中的一些而不是全部,可以调用[F1,F2] = wfilters('wname','type')其中’type’可指定为4种类型,每种类型的具体意义详见matlab wfilters帮助。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用 MATLAB 小波工具箱进行小波分析:
如上图所示的小波分解过程,可以调用 wfilters 来获得指定小波的分解和综合滤波器系数,例如:
以上例子,得到’db5’小波的分解和综合滤波器系数,并显示出来。
下面是wfilters的具体用法:
Wname 可指定为列表中的任意一种小波,直接调用
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('wname')
会返回分解和综合滤波器系数。
如果只想返回其中的一些而不是全部,可以调用
[F1,F2] = wfilters('wname','type')
其中’type’可指定为4种类型,每种类型的具体意义详见matlab wfilters 帮助。
查看具体小波的信息
waveinfo(‘wname’)
获得一个标准的正交变换/双正交变换的尺度和小波函数(数字近似值)
[PHI,PSI,XVAL] = wavefun('wname',ITER)
[PHI1,PSI1,PHI2,PSI2,XVAL] = wavefun('wname',ITER)
例如
如果已知小波分解滤波器系数,计算小波变换的最简单方法就是
[C,S] = wavedec2(X,N,'wname')
[C,S] = wavedec2(X,N,Lo_D,Hi_D)
反过来,已知小波综合滤波器系数,计算反小波变换,只需
X = waverec2(C,S,'wname')
X = waverec2(C,S,Lo_R,Hi_R)
subplot(224),imagesc(cD);
其中C是小波变换后的结果数据,以一维矢量的形式组织,S是二维数组,记录了C中数据的分布形式,详见matlab 的帮助文档。
此外,dwtmode可以设定输入的边界处理方式。
提取小波的系数。
前面使用的wavedec2得到的[C,S]不是非常的直观,可以利用小波工具箱中的函数 appcoef2和detcoef2来提取近似矩阵和的n级的某一个细节矩阵。
A = appcoef2(C,S,'wname',N)
A = appcoef2(C,S,'wname')
D = detcoef2(O,C,S,N)
针对特定的小波系数矩阵进行阈值化处理
NC = wthcoef2('type',C,S,N,T,SORH)
NC = wthcoef2('type',C,S,N)
NC = wthcoef2('a',C,S)
NC = wthcoef2('t',C,S,N,T,SORH)
使用 wave2gray来显示小波分解的结果
wave2gray(C,S);
关于wave2gray更多用法详见dipum_1.1.4 toolbox 的说明文档[官方网站]。
小波综合(重建):waverec2
X = waverec2(C,S,'wname')
X = waverec2(C,S,Lo_R,Hi_R)
[C,S]是使用小波分解函数wavedec2得到的小波矢量和矢量描述矩阵,或者符合这种规定形式的数据。
返回X是实数图像矩阵,由于计算误差,可能需要经过一些处理才能正常显示。
欢迎来主页
精品文档。