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为familyname,FSN为familyshortnameWT为小波类型:WT=1表示正交小波,=2表示非正交小波,=3表示带尺度函数的小波,=4表示无尺度函数的小波,=5表示无尺度函数的复小波。小波族只有一个小波,则NUMS=“,否则NUMS表示小波参数的字符串FILE表示文件名B=[lbub]指定小波有效支撑的上下界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决定的准频率。(3)orthfilt函数【正交小波滤波器组】[Lo_D,Hi_D,Lo_R,Hi_R]=orthfilt(W)%计算与小波函数对应的尺度滤波器相关的4个滤波器Lo_D—分解低通滤波器Hi_D—分解高通滤波器Lo_R—重构低通滤波器Hi_R—重构高通滤波器(4)wmaxlev函数【小波分解的最大尺度】L=wmaxlev(S,’wname’)%返回信号或者图像的最大分解尺度,可以帮助避免分解是超过这个值。(5)biorfilt函数【双正交小波滤波器组】[Lo_D,Hi_D,Lo_R,Hi_R]=biorfilt(DF,RF)[Lo_D1,Hi_D1,Lo_R1,Hi_R1,Lo_D2,Hi_D2,Lo_R2,Hi_R2]=biorfilt(DF,RF,’8’)%DF—分解滤波器,RF—重构滤波器。(6)intwave函数【积分小波函数】[INTEG,XVAL]=intwave(‘wname’,PREC)[INTEG,XVAL]=intwave(‘wname’,PREC,PFLAG)[INTEG,XVAL]=intwave(‘wname’)%计算小波函数在区间(xval)上的积分INTEG(7)qmf函数【镜像二次滤波器】Y=qmf(X,p)/Y=qmf(X)(等价于Y=qmf(X,0))%p为偶数时,函数改变向量x中偶数位置的元素符号;p为奇数时,函数改变向量x中奇数位置的元素符号;(8)dyadup函数【二维插值】Y=dyadup(X,evenodd)%evenodd为偶数,则进行偶插值;为奇数则进行奇插值。Y=dyadup(X)%偶插值Y=dyadup(X,evenodd,’type’)Y=dyadup(X,’type’,evenodd)%X为一个矩阵,’type’=’c’,则插入列;’type’=’r’,则插入行;’type’=’m’,则插入行和列。(9)wavefun函数【小波和尺度函数】[phi,psi,xval]=wavefun(‘wname’,iter)%对于正交小波,返回尺度函数和小波函数;(适用meyer小波)[phi1,psi1,phi2,psi2,xval]=wavefun(‘wname’,iter)%对于双正交小波,返回分别用于分解和重构的尺度和小波函数;[psi,xval]=wavefun(‘wname’,iter)%适用没有尺度函数的小波,如morlet、mexicanhat,Gaussianderivatives和复小波。[…]=wavefun(‘wname’,A,B)%A,B为正整数,并画图。(10)wavefun2函数【二维小波和尺度函数】返回尺度函数与3个小波函数,它们是一位小波函数与尺度函数的矢量积。[s,w1,w2,w3,xyval]=wavefun2(‘wname’,iter)%尺度函数s是phi与psi的矢量积。小波函数w1,w2,w3分别是(phi,psi),(phi,phi),(psi,psi)的矢量积。xyval是(xval,yval)的矢量积得到的网格,iter表示重复计算次数。[s,w1,w2,w3,xyval]=wavefun2(‘wname’,iter,’plot’)[s,w1,w2,w3,xyval]=wavefun2(‘wname’,iter,A,B)%AB为正整数,计算小波函数和尺度函数的近似值并画图。(11)wfilters函数【小波滤波器】[Lo_D,Hi_D,Lo_R,Hi_R]=wfilters(‘wname’)%计算正交小波或双正交小波wname相关4个滤波器[F1,F2]=wfilters(‘wname’,’type’)‘Type’=’d’,返回分解滤波器‘Type’=’r’,返回重构滤波器‘Type’=’l’,返回低通滤波器‘Type’=’h’,返回高通滤波器(12)centfrq函数【计算小波中心频率】freq=centfrq=(‘wname’)%得到wname小波的中心频率。freq=centfrq=(‘wname’,iter)%iter是被wavefun函数调用的次数。[freq,xval,recfreq]=centfrq=(‘wname’,iter,’plot’)%返回基于2^iter点网格xval上近似的recfreq,计算相关中心频率,并画出小波函数和recfreq。(13)dyaddown函数【二元抽取】Y=dyaddown(X,evenodd)%从向量X中每隔一个元素抽取一个元素组成的向量Y,evenodd为奇数的时候,进行奇抽取;偶数的时候为偶抽取。Y=dyaddown(X)%默认evenodd为0Y=dyaddown(X,evenodd,’type’)Y=dyaddown(X,’type’,evenodd)%X为一个矩阵,’type’=’c’,则抽取列;’type’=’r’,则抽取行;’type’=’m’,则抽取行和列。2、小波函数(1)fbspwavf函数【频率B样条小波】[psi,x]=fbspwavf(lb,ub,n,m,fb,fc)%返回M阶频率B样条小波(m=1),带宽FB,中心频率FC;Psi定义在N点均匀分布的区间[lb,ub]。(2)dbwavf函数【Daubechies小波滤波器】F=dbwavf(W)%返回与所指定的Daubechies小波的尺度滤波器。(3)cmorwavf函数【复morlet小波】[psi,x]=cmorwavf(lb,ub,n,fb,fc)%返回复morlet小波,带宽FB,中心频率FC;Psi定义在N点均匀分布的区间[lb,ub]。(4)mexihat函数【mexicanhat小波】[psi,x]=mexihat(lb,ub,n)%返回有效支撑为[lb,ub],N点均匀分布网格上的mexicanhat小波,输出变量为网格X上计算得到的小波函数psi。(5)coifletf函数【coifletf小波滤波器】p=coifletf(W)%返回由W指定的coifletf小波尺度滤波器,其中W=’coifN’,N取值可以是1-5。(6)meyeraux函数【Meyer小波辅助函数】Y=meyeraux(X)%返回meyer小波使用的辅助函数在向量获矩阵X上的各点值。(7)morlet函数【morlet小波】[psi,x]=morlet(lb,ub,n)%返回morlet小波在N点均匀分布的支撑[lb,ub]的值,输出变量为网格X上计算得到的小波函数psi。(8)symaux函数【计算symlet小波】W=symaux(N,sumw)%N阶symlet尺度滤波器。W=symaux(N)(9)symwavf函数【symlet小波滤波器】F=symwavf(W)%返回由字符串W定义的symlet小波相关的尺度滤波器。(10)Biorwavf函数【双正交样条小波滤波器】[rf,df]=biorwavf(W)%返回与指定双正交小波W相交联的两个尺度滤波器。Rf是重构滤波器,df是分解滤波器。(11)cgauwavf函数【复高斯小波】[psi,x]=morlet(lb,ub,n,p)%定义在区间[lb,ub]上的N点均匀分布的网格上,返回P次复高斯函数。(12)dbaux函数【计算Daubechies小波滤波器】W=dbaux(n,sumw)%返回N阶Daubechies尺度滤波器W=dbaux(n)%等价于W=dbaux(n,1)(13)gauswavf函数【gaussian小波】[psi,x]=gausswavf(lb,ub,n,p)%定义在区间[lb,ub]上的N点均匀分布的网格上,返回P次复高斯函数。(不同于11中的复高斯函数)(14)rbiowavf函数【反双正交样条滤波器】[rf,df]=rbiorwavf(W)%返回由字符串W定义的和双正交小波相关的两个尺度滤波器。(15)shanwavf函数【复shannon小波】[psi,x]=shanwavf(lb,ub,n,fb,fc)%返回复shannon小波,带宽FB,中心频率FC;Psi定义在N点均匀分布的区间[lb,ub]。(16)meyer函数【meyer小波】[phi,psi,t]=meyer(lb,ub,n)%返回有效支撑为[lb,ub],N点均匀分布网格上的估计得到的meyer尺度与小波函数。N必须为2的整次幂。[phi,t]=meyer(lb,ub,n,’phi’)[psi,t]=meyer(lb,ub,n,’psi’)四、小波变换的Matlab实现4.1一维连续小波1、计算步骤:(1)选定一个小波,并与处在分析时段部分的信号相比较。(2)计算该时刻的连续小波变换系数C。(3)调整参数b,调整信号的分析时间段,向右平以小波,直至分析时段已经覆盖了信号的整个支撑区间。(4)调整参数a,尺度伸缩。重复(1)-(3)。(5)重复(1)-(4),计算完所有尺度的连续小波变换系数。2、相关matlab函数(1)cwt函数【一维连续小波变换函数】COEFS=cwt(s,scales,’wname’)%采用wname小波,在正、实尺度scales下计算向量一维连续小波系数。S为被分析信号。COEFS=cwt(s,scales,’wname’,’plot’)%计算小波系数加上图形显示。COEFS=cwt(s,scales,’wname’,’plotmode’)%计算并画出连续小波变换的系数,并使用plotmode对图像着色。COEFS=cwt(s,scales,’wname’,’plotmode’,xlim)%计算并画出连续小波变换的系数,并使用plotmode和xlim对图像着色。Mode=’lvl’,使用scale-by-scale着色模式Mode=’glb’,考虑所有尺度的着色模式Mode=’abslv

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功