matlab小波函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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小波的尺度滤波器。

相关文档
最新文档