总结MATLAB中涉及到的小波函数
- 格式:doc
- 大小:21.00 KB
- 文档页数:1
小波去噪举例MATLAB中用wnoise函数测试去噪算法sqrt_snr=3;init=231434;[x,xn]=wnoise(3,11,sqrt_snr,init); % 加噪,信噪比为3 subplot(3,2,1),plot(x)title('original test function')subplot(3,2,2),plot(xn)title('noised function')lev=5;xd=wden(x,'heursure','s','one',lev,'sym8');%利用小波对一维信号进行降噪, XD为降噪后的%信号,CXD,LXD为XD的小波分解结构% 's' or 'h'决定阈值的使用方式,SCAL决定阈值是%否随噪声变化:'one' 不调整, 'sln'对第一层系%数的层噪声分别进行估计和调整; 'mln'对各层%系数的层噪声分别进行估计和调整;subplot(3,2,3),plot(xd)title('One de-noised function')xd=wden(x,'heursure','s','sln',lev,'sym8');subplot(3,2,4),plot(xd)title('Sln de-noised function')xd=wden(x,'sqtwolog','s','sln',lev,'sym8');% 固定阈值选择算法去噪subplot(3,2,5),plot(xd)title('Sqtwolog de-noised function')[c,l]=wavedec(x,lev,'sym8');subplot(3,2,6),plot(xd)title('CL de-noised function')MATLAB中图像噪声处理举例load sinsin;colormap('default');subplot(1,3,1),image(X);title('original image');axis('square');init=231434;randn('seed',init);X=X+18*randn(size(X)); %产生噪声信号subplot(1,3,2),image(x);title('noised image');axis('square');[thr,sorh,keepapp]=ddencmp('den','wv',x); %自动生成小波去躁或压缩的阈值选择方案,也 %就是寻找默认值[xc,cxc,lxc,perf0,perfl2]=wdencmp('gbl',x,'sym4',2,thr, sorh,keepapp);%使用全局阈值进行%图象降噪subplot(1,3,3),image(xc);title('denoised image');axis('square')可见,含躁图像的噪声含量很强,利用小波去躁,可以有效去除躁声,同时保留了边界。
小波变换matlab总结目录一、预置工具 (4)1.预置信号 (4)2.预置小波 (4)3.滤波器函数 (6)wfilters函数 (6)4.量化编码 (6)wcodemat函数 (6)5.阈值获取 (6)ddencmp函数 (6)thselect函数 (7)wbmpen函数 (7)wdcbm函数 (7)6.阈值去噪 (8)wden函数 (8)wdencmp函数 (8)wthresh函数 (9)wthcoef函数 (9)wpdencmp函数 (9)二、小波变换函数 (12)单尺度一维小波变换 (12)cwt一维连续小波变换 (12)dwt一维离散小波变换 (12)idwt一维离散小波逆变换 (13)upcoef 一维小波系数重构 (13)多尺度一维小波变换 (14)wavedec多尺度一维分解 (14)waverec多尺度一维重构 (15)appcoef低频系数提取 (16)detcoef高频系数提取 (16)wrcoef多尺度小波系数重构 (17)一维静态(平稳)小波变换 (18)swt一维平稳小波变换 (18)iswt一维平稳小波逆变换 (18)实例 (19)单尺度二维小波变换 (19)dwt2二维离散小波变换 (19)idwt2二维离散小波逆变换 (20)upcoef2二维系数重构 (20)多尺度二维小波变换 (21)wavedec2多尺度二维分解 (21)waverec2多尺度二维重构 (22)appcoef2低频系数提取 (23)detcoef2高频系数提取 (23)wrcoef2多尺度小波系数重构 (24)二维静态(平稳)小波变换 (26)swt2二维静态小波变换 (26)iswt2二维静态小波逆变换 (26)实例 (26)直接调用的小波函数 (28)meyer函数 (28)cgauwavf函数 (28)mexihat函数 (28)morlet函数 (29)symwavf函数 (29)三、图像接口调用 (30)使用图形接口做一维连续小波分析 (30)使用图形接口做一维离散小波分析 (33)使用图形接口分析复信号 (36)使用图形接口做一维除噪分析 (36)四、小波变换在图像处理中的应用 (40)4.1 小波分析用于图像压缩 (40)4.1.1 基于小波变换的图像局部压缩 (40)4.1.2 小波变换用于图像压缩的一般方法 (41)4.1.3 基于小波包变换的图像压缩 (45)4.2 小波分析用于图像去噪 (47)小噪声阈值去噪 (48)大噪声滤波去噪 (49)少量噪声的小波分解系数阈值量化去噪 (50)4.3 小波分析用于图像增强 (52)4.3.1 图像增强问题描述 (52)4.3.2 图像钝化 (53)4.3.3 图像锐化 (54)4.4 小波分析用于图像融合 (56)4.5 小波分析用于图像分解 (57)一、预置工具1.预置信号Matlab 内置了大量的信号实例,进行信号试验的时候可以调用。
MATLAB小波函数总结函数含义*:小波通用函数Allnodes 计算树结点appcoef 提取一维小波变换低频系数appcoef2 提取二维小波分解低频系数bestlevt 计算完整最佳小波包树besttree 计算最佳(优)树*biorfilt 双正交样条小波滤波器组biorwavf 双正交样条小波滤波器*centfrq 求小波中心频率cgauwavf Complex Gaussian小波cmorwavf coiflets小波滤波器cwt 一维连续小波变换dbaux Daubechies小波滤波器计算dbwavf Daubechies小波滤波器dbwavf(W) W='dbN' N=1,2,3,...,50 ddencmp 获取默认值阈值(软或硬)熵标准depo2ind 将深度-位置结点形式转化成索引结点形式detcoef 提取一维小波变换高频系数detcoef2 提取二维小波分解高频系数disp 显示文本或矩阵drawtree 画小波包分解树(GUI)dtree 构造DTREE类dwt 单尺度一维离散小波变换dwt2 单尺度二维离散小波变换dwtmode 离散小波变换拓展模式*dyaddown 二元取样*dyadup 二元插值entrupd 更新小波包的熵值fbspwavf B样条小波gauswavf Gaussian小波get 获取对象属性值idwt 单尺度一维离散小波逆变换idwt2 单尺度二维离散小波逆变换ind2depo 将索引结点形式转化成深度—位置结点形式*intwave 积分小波数isnode 判断结点是否存在istnode 判断结点是否是终结点并返回排列值iswt 一维逆SWT(Stationary Wavelet Transform)变换iswt2 二维逆SWT变换leaves Determine terminal nodesmexihat 墨西哥帽小波meyer Meyer小波meyeraux Meyer小波辅助函数morlet Morlet小波nodease 计算上溯结点nodedesc 计算下溯结点(子结点)nodejoin 重组结点nodepar 寻找父结点nodesplt 分割(分解)结点noleaves Determine nonterminal nodesntnode Number of terminal nodesntree Constructor for the class NTREE*orthfilt 正交小波滤波器组plot 绘制向量或矩阵的图形*qmf 镜像二次滤波器rbiowavf Reverse biorthogonal spline wavelet filtersread 读取二进制数据readtree 读取小波包分解树*scal2frq Scale to frequencysetshanwavf Shannon waveletsswt 一维SWT(Stationary Wavelet Transform)变换swt2 二维SWT变换symaux Symlet wavelet filter computation.symwavf Symlets小波滤波器thselect 信号消噪的阈值选择thodes Referencestreedpth 求树的深度treeord 求树结构的叉数upcoef 一维小波分解系数的直接重构upcoef2 二维小波分解系数的直接重构upwlev 单尺度一维小波分解的重构upwlev2 单尺度二维小波分解的重构wavedec 单尺度一维小波分解wavedec2 多尺度二维小波分解wavedemo 小波工具箱函数demo*wavefun 小波函数和尺度函数*wavefun2 二维小波函数和尺度函数wavemenu 小波工具箱函数menu图形界面调用函数*wavemngr 小波管理函数waverec 多尺度一维小波重构waverec2 多尺度二维小波重构wbmpen Penalized threshold for wavelet 1-D or 2-D de-noising wcodemat 对矩阵进行量化编码wdcbm Thresholds for wavelet 1-D using Birge-Massart strategy wdcbm2 Thresholds for wavelet 2-D using Birge-Massart strategy wden 用小波进行一维信号的消噪或压缩wdencmp De-noising or compression using waveletswentropy 计算小波包的熵wextend Extend a vector or a matrix*wfilters 小波滤波器wkeep 提取向量或矩阵中的一部分*wmaxlev 计算小波分解的最大尺度wnoise 产生含噪声的测试函数数据wnoisest 估计一维小波的系数的标准偏差wp2wtree 从小波包树中提取小波树wpcoef 计算小波包系数wpcutree 剪切小波包分解树wpdec 一维小波包的分解wpdec2 二维小波包的分解wpdencmp 用小波包进行信号的消噪或压缩wpfun 小波包函数wpjoin 重组小波包wprcoef 小波包分解系数的重构wprec 一维小波包分解的重构wprec2 二维小波包分解的重构wpsplt 分割(分解)小波包wpthcoef 进行小波包分解系数的阈值处理wptree 显示小波包树结构wpviewcf Plot the colored wavelet packet coefficients.wrcoef 对一维小波系数进行单支重构wrcoef2 对二维小波系数进行单支重构wrev 向量逆序write 向缓冲区内存写进数据wtbo Constructor for the class WTBOwthcoef 一维信号的小波系数阈值处理wthcoef2 二维信号的小波系数阈值处理wthresh 进行软阈值或硬阈值处理wthrmngr 阈值设置管理wtreemgr 管理树结构Wavefun用法:【phi,psi,xval】=wavefun(‘wname’,inter);————对应于正交小波其中:phi是尺度函数,psi是小波函数,xval是相应的点数【phi1,psi1,phi2,psi2,xval】=wavefun(‘wname’,inter);————对应于双正交小波其中:phi1是分解尺度函数,psi1是分解小波函数,phi2是重构尺度函数,psi2是重构小波函数,xval是相应的点数。
小波变换函数 matlab小波变换是一种信号处理方法,可以将信号分解成不同尺度的频谱成分。
它在许多领域中得到广泛的应用,如图像处理、音频处理、压缩编码等。
在Matlab中,我们可以使用小波变换函数来实现对信号的分析和处理。
我们需要了解小波变换的基本原理。
小波变换利用一组基函数,即小波函数,将信号分解成不同频率和不同时间的成分。
小波函数具有局部性和多尺度性的特点,可以更好地描述非平稳信号。
与傅里叶变换相比,小波变换能够提供更加详细的时间和频率信息。
在Matlab中,可以使用wavelet函数进行小波变换。
首先,我们需要选择合适的小波基函数和尺度。
常用的小波函数有Daubechies、Haar、Symlets等,每种小波函数都有不同的特性。
在选择小波基函数时,需要根据信号的特点和需求进行选择。
然后,我们可以使用wavedec函数对信号进行小波分解。
wavedec 函数将信号分解成不同尺度的频谱成分,并返回每个尺度的系数和小波基函数。
通过调整分解的尺度,可以得到不同精度的频谱信息。
接下来,我们可以使用waverec函数对分解后的信号进行重构。
waverec函数将小波系数和小波基函数作为输入,将信号重构回原始信号。
通过调整重构的尺度,可以得到不同精度的信号重构结果。
除了信号的分解和重构,小波变换还可以用于信号的去噪和压缩编码。
通过对小波系数的处理,可以去除信号中的噪声成分,提高信号的质量。
同时,由于小波变换具有多尺度分析的能力,可以对信号进行压缩编码,减小信号的存储空间。
在Matlab中,除了wavelet函数外,还提供了丰富的小波变换工具箱。
这些工具箱包含了各种小波函数和小波变换算法,可以方便地进行信号的分析和处理。
同时,Matlab还提供了图形界面工具,可以通过可视化界面来进行小波变换的操作和参数调整。
总结起来,小波变换是一种重要的信号处理方法,在Matlab中有着丰富的函数和工具箱支持。
通过小波变换,我们可以分析信号的频谱成分,并进行信号的分解、重构、去噪和压缩编码等操作。
Matlab小波函数一、Matlab小波去噪基本原理1、带噪声的信号一般是由含有噪声的高频信号和原始信号所在的低频信号。
利用多层小波,将高频噪声信号从混合信号中分解出来。
2、选择合适的阈值对图像的高频信号进行量化处理3、重构小波图像:依据图像小波分解的低频信号与处理之后的高频信号来重构图像的信息。
二、第二代小波变换1、构造方法特点:(1)继承了第一代小波的多分辨率的特性。
(2)不依赖fourior变换,直接在时域完成小波变换。
(3)变换之后的系数可以是整数。
(4)图像恢复质量与变换是边界采用何种延拓方式无关。
2、优点:算法简单,速度快,适合并行处理。
对存需求量小,便于DSP芯片实现、可用于本位操作运算。
3、提升原理:构造紧支集双正交小波(1)步骤:分裂—预测—更新(2)分解与重构三、matlab小波函数库1、matlab小波通用函数:(1)wavemngr函数【小波管理器(用于小波管理,添加、删除、储存、读取小波)】wavemngr(‘add’,FN,FSN,WT,NUMS,FILE)wavemngr(‘add’,FN,FSN,WT,NUMS,FILE,B)% 添加小波函数,FN为family name,FSN为family short name WT为小波类型:WT=1表示正交小波,=2表示非正交小波,=3表示带尺度函数的小波,=4表示无尺度函数的小波,=5表示无尺度函数的复小波。
小波族只有一个小波,则NUMS=“,否则NUMS表示小波参数的字符串FILE表示文件名B=[lb ub]指定小波有效支撑的上下界wavemngr(‘del’,N) %删除小波wavemngr(‘restore’)/ wavemngr(‘restore’,IN2) %保存原始小波OUT1= wavemngr(‘read’) %返回小波族的名称OUT1= wavemngr(‘read’,IN2) %返回所有小波的名称OUT1= wavemngr(‘read_asc’)%读取wavelets.asc文件并返回小波信息(2)scal2frq函数【尺度转换频率】F=scal2frq(A,’wname’,DELTA)%返回由尺度A,小波函数“wname”和采样周期DELTA决定的准频率。
一、收集和总结MA TLAB中涉及到的小波函数1.cwt函数功能:实现一维连续小波变换的函数。
cwt函数语法格式:COEFS=cwt(S, SCALES, 'wname')COEFS=cwt(S, SCALES, 'wname', 'plot')COEFS=cwt(S, SCALES, 'wname', 'PLOTMODE') 2.dwt函数功能:单尺度一维离散小波变换函数语法格式:[cA,cD] = dwt(X,'wname')[cA,cD] = dwt(X,'wname','mode',MODE)[cA,cD] = dwt(X,Lo_D,Hi_D)3.meyer函数功能:Meyer小波函数语法格式:[PHI,PSI,T] = meyer(LB,UB,N)[PHI,T] = meyer(LB,UB,N,'phi')[PSI,T] = meyer(LB,UB,N,'psi')4.plot函数功能:绘制向量或矩阵的图形函数语法格式:plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)5.cgauwavf函数功能:Complex Gaussian小波函数语法格式:[PSI,X] = cgauwavf(LB,UB,N,P)6.iswt函数功能:一维逆SWT(Stationary Wavelet Transform)变换函数语法格式:X = iswt(SWC,'wname')X = iswt(SWA,SWD,'wname')X = iswt(SWC,Lo_R,Hi_R)7.mexihat函数功能:墨西哥帽小波函数语法格式:[PSI,X] = mexihat(LB,UB,N)8.morlet函数功能:Morlet小波函数语法格式:[PSI,X] = morlet(LB,UB,N)9.symwavf函数功能:Symlets小波滤波器函数语法格式:F = symwavf(W)10.upcoef函数功能:一维小波分解系数的直接重构函数语法格式:Y = upcoef(O,X,'wname',N)Y = upcoef(O,X,'wname',N,L)Y = upcoef(O,X,Lo_R,Hi_R,N)Y = upcoef(O,X,Lo_R,Hi_R,N,L)Y = upcoef(O,X,'wname')Y = upcoef(O,X,Lo_R,Hi_R) 11.upwlev函数功能:单尺度一维小波分解的重构函数语法格式:[NC,NL,cA] = upwlev(C,L,'wname')[NC,NL,cA] = upwlev(C,L,Lo_R,Hi_R) 12.wavedec函数功能:单尺度一维小波分解函数语法格式:[C,L] = wavedec(X,N,'wname')[C,L] = wavedec(X,N,Lo_D,Hi_D) 13.wavefun函数功能:小波函数和尺度函数函数语法格式:[PHI,PSI,XVAL] = wavefun('wname',ITER) 14.waverec函数功能:多尺度一维小波重构函数语法格式:X = waverec(C,L,'wname')X = waverec(C,L,Lo_R,Hi_R)15.wpcoef函数功能:计算小波包系数函数语法格式:X = wpcoef(T,N)X = wpcoef(T)16.wpdec函数功能:一维小波包的分解函数语法格式:T = wpdec(X,N,'wname',E,P)T = wpdec(X,N,'wname')17.wpfun函数功能:小波包函数[函数语法格式:WPWS,X] = wpfun('wname',NUM,PREC) [WPWS,X] = wpfun('wname',NUM) 18.wprcoef函数功能:小波包分解系数的重构函数语法格式:X = wprcoef(T,N)19.wprec函数功能:一维小波包分解的重构函数语法格式:X = wprec(T)20.wrcoef函数功能:对一维小波系数进行单支重构函数语法格式:X = wrcoef('type',C,L,'wname',N)X = wrcoef('type',C,L,Lo_R,Hi_R,N)X = wrcoef('type',C,L,'wname')X = wrcoef('type',C,L,Lo_R,Hi_R)。
matlab小波变换Matlab 1. 离散傅立叶变换的Matlab实现Matlab 函数fft、fft2 和fftn 分别可以实现一维、二维和N 维DFT 算法;而函数ifft、ifft2 和ifftn 则用来计算反DFT 。
这些函数的调用格式如下:A=fft(X,N,DIM)其中,X 表示输入图像;N 表示采样间隔点,如果X 小于该数值,那么Matlab 将会对X 进行零填充,否则将进行截取,使之长度为N ;DIM 表示要进行离散傅立叶变换。
A=fft2(X,MROWS,NCOLS)其中,MROWS 和NCOLS 指定对X 进行零填充后的X 大小。
别可以实现一维、二维和N 维DFTA=fftn(X,SIZE)其中,SIZE 是一个向量,它们每一个元素都将指定X 相应维进行零填充后的长度。
函数ifft、ifft2 和ifftn的调用格式于对应的离散傅立叶变换函数一致。
别可以实现一维、二维和N 维DFT例子:图像的二维傅立叶频谱1. 离散傅立叶变换的Matlab实现% 读入原始图像I=imread('lena.bmp');函数fft、fft2 和fftn 分imshow(I)% 求离散傅立叶频谱J=fftshift(fft2(I));figure;别可以实现一维、二维和N 维DFTimshow(log(abs(J)),[8,10])2. 离散余弦变换的Matlab 实现Matlab2.1. dct2 函数功能:二维DCT 变换Matlab格式:B=dct2(A)B=dct2(A,m,n)B=dct2(A,[m,n])函数fft、fft2 和fftn 分说明:B=dct2(A) 计算A 的DCT 变换B ,A 与B 的大小相同;B=dct2(A,m,n) 和B=dct2(A,[m,n]) 通过对A 补0 或剪裁,使B 的大小为m×n。
2.2. dict2 函数功能:DCT 反变换格式:B=idct2(A)B=idct2(A,m,n)别可以实现一维、二维和N 维DFTB=idct2(A,[m,n])说明:B=idct2(A) 计算A 的DCT 反变换B ,A 与B 的大小相同;B=idct2(A,m,n) 和B=idct2(A,[m,n]) 通过对A 补0 或剪裁,使B 的大小为m×n。
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尺度的高频系数。