matlab小波函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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决定的准
频率。
(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’)
%计算小波函数在区间( (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、mexican hat,Gaussian derivatives和复小波。 […]=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’) ‘T ype’=’d’,返回分解滤波器 ‘T ype’=’r’,返回重构滤波器 ‘T ype’=’l’,返回低通滤波器 ‘T ype’=’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为0 Y=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小波的尺度滤波器。