小波阈值的函数介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 阈值获取
MATLAB中实现信号阈值获取的函数有ddencmp、thselect、wbmpen和wdcbm,下面对它们的用法进行简单的说明。

1.1 函数Ddencmp的调用格式
(1)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,IN2,X)
(2)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,'wp',X)
(3)[THR,SORH,KEEPAPP]=ddencmp(IN1,'wv',X)
函数ddencmp用于获取在消噪或压缩过程中的默认阈值。

输入参数X为一维或二维信号;IN1取值为'den'或'crop',den表示进行去噪,crop表示进行压缩;IN2取值为'wv'或'wp',wv表示选择小波,wp表示选择小波包。

返回值THR 是返回的阈值;SORH是软阈值或硬阈值选择参数;KEEPAPP表示保存低频信号;CRIT是熵名(只在选择小波包时用)。

1.2 函数thselect的调用格式
THR=thselect(X,TPTR)
THR=thselect(X,TPTR)根据字符串TPTR定义的阈值选择规则来选择信号X 的自适应阈值。

自适应阈值选择规则包括下面四种:
(1)TPTR='rigrsure',自适应阈值选择使用Stein的无偏风险估计原理。

(2)TPTR='heursure',使用启发式阈值选择。

(3)TPTR='sqtwolog',阈值等于sqrt(2*log(1ength(X)))。

(4)TPTR='minimaxi',用极大极小原理选择阈值。

阈值选择规则基于模型e
=)
y+
(,e是高斯A噪声N(O,1)。

t
f
1.3 函数wbmpen的调用格式
THR=wbmpen(C,L,SIGMA,ALPHA)
THR=wbmpen(C,L,SIGMA,ALPHA)返回去噪的全局阈值THR。

THR通过给定的一种小波系数选择规则计算得到,小波系数选择规则使用Birge-Massart的处罚算法。

[C,L]是进行去噪的信号或图像的小波分解结构;SIGMA是零均值的高斯白噪声的标准偏差;ALPHA用于处罚的调整参数,它必须是一个大于1的实数,一股取ALPHA=2。

设t*是crit(t)=-sum(c(k)^2,k<=t)+2*SIGMA^2*t*(ALPHA+log(n/t))的最小值,其中c(k)是按绝对值从大到小排列的小波包系数,n是系数的个数,则
THR=c(t*)。

wbmpen(C ,L ,SIGMA ,ALPHA ,ARG)计算阈值并画出三条曲线。

(1)2*SIGMA^2*t*(ALPHA+10g(n/t))
(2)Sum(c(k)^2,k<=t)
(3)crit(t)
1.4 函数wdcbm 的调用格式
(1)[THR ,NKEEP]=wdcbm(C ,L ,ALPHA)
(2)[THR ,NKEEP]=wdcbm(C ,L ,ALPHA ,M)
函数wdcbm 用于使用Birge-Massart 算法获取一维小波变换的阈值。

返回值THR 是与尺度无关的阈值,NKEEP 是系数的个数。

[C ,L]是要进行消噪或压缩的信号在j=length(L)-2层的分解结构;ALPHA 和M 必须是大于1的实数;THR 是关于j 的向量,THR(i)是第i 层的阈值;NKEEP 也是关于j 的向量,NKEEP(i)是i 层的系数个数。

一般压缩时ALPHA 取1.5,去噪时ALPHA 取3。

2 信号的阈值去噪
MATLAB 中实现信号的阈值去噪的函数有wden 、wdencmp 、wthresh 、wthcoef 、wpthcoef 以及wpdencmp 。

下面对它们的用法进行简单的介绍。

2.1 函数wden 的调用格式
(1)[XD ,CXD ,LXD]=wden(X ,TPTR ,SORH ,SCAL ,N ,'wname')
(2)[XD ,CXD ,LXD]=wden(C ,L ,TPTR ,SORH ,SCAL ,N ,'wname')
函数wden 用于一维信号的自动消噪。

X 为原始信号,[C ,L]为信号的小波分解,N 为小波分解的层数。

TPTR 为阈值选择规则,TPTR 的取值有以下四种:
·TPTR='rigrsure',采用Stein 无偏似然估计。

·TPTR='heursure',采用启发式阈值选择。

·TPTR='sqtwolog',取通用阈值n t n log 2σ=。

·TPTR='minimaxi',采用极大极小值进行阈值选择。

SORH 是软阈值或硬阈值的选择(分别对应's'和'h')。

SCAL 指所使用的阈值是否需要重新调整,包含下而三种:
·SCAL='one',不调整。

·SCAL='sln',根据第一层的系数进行噪声层的估计来调整阈值。

·SCAL='mln',根据不同层的噪声估计来调整阈值。

XD 为消噪后的信号,[CXD ,LXD]为消噪后信号的小波分解结构。

格式(1)返回对信号X 经过N 层分解后的小波系数进行阈值处理后的消噪信号XD 和信号XD 的小波分解结构[CXD ,LXD]。

格式(2)返回参数与格式(1)相同,但其结构是由直接对信号的小波分解结构[C,L]进行阈值处理得到的。

2.2 函数wdencmp 的调用格式
(1)[XC ,CXC ,LXC ,PERF0,PERFL2]=wdenemp('gbl ’,X ,'wname',N ,THR ,SORH,KEEPAPP)
(2)[XC ,CXC ,LXC ,PERF0,PERFL2]=wdencmp('1vd',X ,'wname',N ,THR ,SORH)
(3)[XC ,CXC ,LXC ,PERF0,PERFL2]=wdencmp('1vd ’,C ,L ,'wname',N ,THR ,SORH)
函数wdencmp 用于一维或二维信号的消噪或压缩。

wname 是所用的小波函数,gbl(global 的缩写)表示每层都采用同一个阈值进行处理,lvd 表示每层用不同的阈值进行处理,N 表示小波分解的层数,THR 为阈值向量,对于格式(2)和(3)每层部要求有一个阈值,因此阈值向量THR 的长度为N ,SORH 表示选择软阈值或硬阈值(分别取值为's'和'h),参数KEEPAPP 取值为1时,则低频系数不进行阈值量化,反之,则低频系数要进行阈值量化。

XC 是消噪或压缩后的信号,[CXC,LXC]是XC 的小波分解结构,PERF0和PERFL2是恢复和压缩2L 的范数百分比。

如果[C ,L]是X 的小波分解结构,则PERFL2=100*(CXC 向量的范数/C 向量的范数)2;如果X 是一维信号,小波wname 是一个正交小波,则PERFL2=22/100X XC。

2.3 函数wthresh 的调用格式
Y=wthresh(X ,SORH ,T)
Y=wthresh(X ,SORH ,T)返回输入向量或矩阵X 经软阈值(如果SORH='s')或 硬阈值(如果SORH='h')处理后的信号。

T 是阈值。

Y=wthresh(X ,'s',T)返回的是Y=+-∙)|(|)(T X X SING ,即把信号的绝对值与阈值进行比较,小于或等于阈值的点变为0,大于阈值的点变为该点值与阈值的差值。

Y=_wthresh(X ,'h',T)返回的是Y=)|(|1T X X >∙,即把信号的绝对值与阈值比较,小于或等于阈值的点变为0,大于阈值的点保持不变。

一股来说,用硬阈值处理后的信号比软阈值处理后的信号更粗糙。

2.4 函数wpthcoef 的调用格式
T=wpthcoef(T ,KEEPAPP ,SORH ,THR)
NT=wpthcoef(T ,KEEPAPP ,SORH ,THR)通过对小波包树T 的系数进行阈值处理后返回一个新的小波包树NT 。

如果KEEPAPP=1,则细节信号的系数不进行阈值处理;否则,就要进行阈值处理。

如果SORH='s',使用软阈值,如果SORH='h',则使用硬阈值。

THR 是阈值。

函数wthcoef 的调用格式有下面四种:
(1)NC=wthcoef('d',C ,L ,N ,P)
(2)NC= wthcoef('d',C ,L ,N)
(3)NC=wthcoef('a',C ,L)
(4)NC=wthcoef('t',C ,L ,N ,T ,SORH)
函数wthcoef 用于一维信号小波系数的阈值处理。

格式(1)返回小波分解结构 [C ,L]经向量N 和P 定义的压缩率处理后的新的小波分解向量NC ,[NC ,L]即构成一个新的小波分解结构。

N 包含要被压缩的细节向量,P 是把较小系数置0的百分比信息的向量。

N 和P 的长度必须相同,向量N 必须满足1≤N(i)≤length(L)-2。

格式(2)返回小波分解结构[C ,L]经过将向量N 中指定的细节系数置0后的小波分解向量NC 。

格式(3)返回小波分解结构[C ,L]经过近似系数置0后的小波分解向量NC 。

格式(4)返回小波分解结构[C ,L]经过将向量N 作阈值处理后的小波向量NC 。

如果SORH='s',则为软阈值;如果SORH='h',则为硬阈值。

N 包含细节的尺度向量,T 是N 相对应的阈值向量。

N 和T 的长度必须相等。

2.5 函数wpdencmp 的调用格式
(1)[XD ,TREED ,PERF0,PERFL2]=wpdencmp(X ,SORH ,N ,'wname',CRIT,PAR,KEEPAPP)
(2)[XD ,TREED ,PERF0,PERFL2]=wpdencmp(TREE ,SORH ,CRIT ,PAR ,KEEPAPP) 函数wpdencmp 用于使用小波包变换进行信号的压缩或去噪。

格式(1)返回输入信号X(一维和二维)的去噪或压缩后的信号XD 。

输出参数TREED 是XD 的最佳小波包分解树;PERFL2和PERF0是恢复和压缩L2的能量百分比。

PERFL2=100*(XD 的小波包系数范数/X 的小波包系数)2。

如果X 是一维信号,wname 是正交小波,则PERFL2=22/100X XC。

SORH 的取值为's'或'h',表示
是软阈值或硬阈值。

输入参数N 是小波包分解的层数,wname 是包含小波名的字符串。

函数使用
由字符串CRIT定义的熵标准和阈值参数PAR实现最佳分解。

如果KEEPAPP=1,则近似信号的小波系数不进行阈值量化;否则,则进行量化。

相关文档
最新文档