西安石油大学本科毕业设计(论文)
阈值处理过程可看作是一个多假设验证过程。Abramovich等引入了错判率(false discovery rate,FDR)的概念,它指的是经过阈值化处理后,错判的非零系数个数与所保留的非零系数总数比值的期望。在满足给定的FDR上界的前提下,使所保留的系数个数达到极大值的阈值,即为所要求取的最优阈值。FDR滤波方法是在给出错判率的前提下,导出阈值。此方法与通用阈值法相比有一定灵活性,而且它可以从本质上解释通用阈值依赖于信号长度这个现象。当然FDR滤波方法也有其局限性,其一是如何给定错判率,其二是错判率只考虑了将噪声 误判为信号的情况,却没有考虑将信号误判为噪声的错判率,也就是说着重考虑了滤波结果的平滑性问题。
若阈值在整个滤波过程中固定不变,即对所有的小波系数均采用相等的阈值进行收缩,可将其称为全局阈值,而自适应阈值是根据小波系数的局部特征来对其进行阈值化处理,最简单的自适应阈值是可以是适应于不同尺度上信号和噪声具体特征的阈值,也就是基于尺度自适应(scale-adaptivity)的阈值。
- 14 -
西安石油大学本科毕业设计(论文)
5
小波域阈值滤波的Matlab实现
5.1 一维离散小波变换的Matlab函数
(1) wavedec函数
【函数功能】多尺度一维小波分解 【语法格式】
[C,L]= wavedec(X,N,’wname’)
X代表输入信号;N代表小波分解层数;wname代表使用的小波名称;C为小波分解向量;L是相应地记录向量。
(2) dwt函数
【函数功能】单尺度一维离散小波变换 【语法格式】
① [cA,cD]=dwt(X,’wname’)
② [cA,cD]=dwt(X,’wname’,’mode’,MODE)
X代表输入信号;wname代表使用的小波名称;cA代表计算的低频系数向量;cD代表计算的高频系数向量。
②式表示使用指定的MODE扩展模式计算小波分解。
DWT扩展模式
‘mode’ ‘sym’或’symh’ ‘symw’ ‘asym’ 或’asymh’ ‘saymw’ ‘zpd’ ‘spd’或’spl’ ‘sp0’ ‘ppd’ (3) idwt函数
【函数功能】单尺度一维小波逆变换 【语法格式】
X=idwt(cA,cD,’wname’)
X代表重构信号;wname代表使用的小波名称;cA代表计算的低频系数向量;
- 15 -
DWT扩展模式 对称延拓模式:对称复制边缘值。默认模式 对称延拓模式:对称复制边缘值 反对称延拓模式:反对称复制边缘值 反对称延拓模式:反对称复制边缘值 补零 1阶平滑模式(边缘处进行1阶导数插补) 0阶平滑模式(边缘处进行常数插补) 周期延拓模式(边缘处进行周期延拓) 西安石油大学本科毕业设计(论文)
cD代表计算的高频系数向量。
(4) waverec函数
【函数功能】多尺度一维小波重构 【语法格式】
X=waverec(C,L,’wname’)
X代表重构信号;wname代表使用的小波名称;C为小波分解向量;L是相应地记录向量。
(5) wrcoef函数
【函数功能】由一维小波系数进行单支重构 【语法格式】
①X=wrcoef(‘type’, C,L,’’wname’,N) ②X=wrcoef(‘type’, C,L,’wname’)
X代表重构信号;wname代表使用的小波名称;C为小波分解向量;L是相应地记录向量。N代表在N层计算重构系数向量。
(6) wmaxlev函数
【函数功能】计算小波分解的最大尺度 【语法格式】
L=wmaxlev(S, ‘wname’)
S表示一维信号或者二维图像;wname代表使用的小波名称;L代表函数返回值,是信号或图像的最大分解尺度。使用它可以避免分解时超过这个值。一般情况下,小波分解尺度都大于理论上的最大值。一般一维分解尺度为5,二维分解尺度为3。
(7) detcoef函数
【函数功能】提取一维小波高频系数 【语法格式】 ①D=detcoef(C,L,N) ②D=detcoef(C,L)
D代表提取的一维小波高频系数;C为小波分解向量;L是相应地记录向量。N代表提取N层高频系数。①式表示提取第N层的高频系数,②式表示提取最后一层(即最大层)的高频系数。
(8) appcoef函数
【函数功能】提取一维小波低频系数 【语法格式】
① A=appcoef(C,L, ‘wname’,N) ② A=appcoef(C,L, ‘wname’)
A代表提取的一维小波低频系数;C为小波分解向量;L是相应地记录向量。N
- 16 -
西安石油大学本科毕业设计(论文)
代表提取N层低频系数。①式表示提取第N层的低频系数,②式表示提取最后一层(即最大层)的低频系数。
(9) dwtmode函数
【函数功能】离散小波变换扩展模式 【语法格式】 ① ST=dwtmode ② dwtmode(‘mode’)
dwtmode命令用来设置信号或者图像进行离散小波和小波包变换的扩展模式。扩展模式表示信号或者图像分析时边界问题的处理方法。
dwtmode或者dwtmode(‘status’)显示当前模式。 ST返回当前模式。 ‘mode’为DWT扩展模式。 (10)upwlev函数
【函数功能】一维单尺度小波重构 【语法格式】
[NC,NL,cA]= upwlev(C,L,’wname’)
上格式用于对小波分解结构[C,L]进行单尺度重构,返回新的结构[NC,NL],并提取最后一层的低频系数向量cA。
C为小波分解向量;L是相应地记录向量;wname代表使用的小波名称。 (11)upcoef函数
【函数功能】一维小波系数直接重构 【语法格式】
① Y=upcoef(O,X, ‘wname’,N) ② Y=upcoef(O,X, ‘wname’,N,L) ③ Y=upcoef(O,X, ‘wname’)
格式①计算向量X向上N步的重构系数。wname代表使用的小波名称,N必须为严格的正整数。如果O=‘a’,则重构低频系数;如果O=‘d’,则重构高频系数。
格式②计算向量X向上N步的重构系数,并提取结果中长度为L的中间部分。 Y=upcoef(O,X, ‘wname’)等同于Y=upcoef(O,X, ‘wname’,1)。
5.2 二维离散小波变换的Matlab函数
(1) upwlev2函数
【函数功能】二维小波分解的单尺度重构 【语法格式】
[NC,NS,cA]= upwlev2(C,S, ‘wname’)
- 17 -