资源描述:
《MATLAB中的阈值获取和阈值去噪 超级有用.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.阈值获取 MATLAB中实现阈值获取的函数有ddencmp、thselect、wbmpen和wwdcbm,下面对它们的用法进行简单的说明。(1)ddencmp的调用格式有以下三种: (1)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,IN2,X) (2)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,'wp',X) (3)[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,'wv',X) 函数ddencmp用于获取信号在消噪或压缩过程中的默认阈值。输入参数X为一维或二维信号;IN1取值
2、为'den'或'cmp','den'表示进行去噪,'cmp'表示进行压缩;IN2取值为'wv'或'wp',wv表示选择小波,wp表示选择小波包。返回值THR是返回的阈值;SORH是软阈值或硬阈值选择参数;KEEPAPP表示保存低频信号;CRIT是熵名(只在选择小波包时使用)。(2)函数thselect的调用格式如下: THR=thselect(X,TPTR); THR=thselect(X,TPTR)根据字符串TPTR定义的阈值选择规则来选择信号X的自适应阈值。 自适应阈值的选择规则包括以下四种: *TPTR='rigrsure',自适应阈值选择使用Stein
3、的无偏风险估计原理。 *TPTR='heursure',使用启发式阈值选择。 *TPTR='sqtwolog',阈值等于sqrt(2*log(length(X))). *TPTR='minimaxi',用极大极小原理选择阈值。 阈值选择规则基于模型y=f(t)+e,e是高斯白噪声N(0,1)。(3)函数wbmpen的调用格式如下: THR=wbmpen(C,L,SIGMA,ALPHA); THR=wbmpen(C,L,SIGMA,ALPHA)返回去噪的全局阈值THR。THR通过给定的一种小波系数选择规则计算得到,小波系数选择规则使用Bir
4、ge-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=
5、c(t*)
6、。 wbmpen(C,L,SIGMA,ALPHA,ARG)计算阈值并画出三条曲线。 2*SIGMA^2*t*(ALPHA+log(n/t
7、)) sum(c(k)^2,k<=t) crit(t)(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层的分解结构;LAPHA和M必须是大于1的实数;THR是关于j的向量,THR(i)是第i层的阈值;N
8、KEEP也是关于j的向量,NKEEP(i)是第i层的系数个数。一般压缩时ALPHA取1.5,去噪时ALPHA取3.2.信号的阈值去噪 MATLAB中实现信号的阈值去噪的函数有wden、wdencmp、wthresh、wthcoef、wpthcoef以及wpdencmp。下面对它们的用法作简单的介绍。(5)函数wden的调用格式有以下两种: [XD,CXD,LXD]=wden(X,TPTR,SORH,SCAL,N,'wname') [XD,CXD,LXD]=wden(C,L,TPTR,SORH,SCAL,N,'wname') 函数wden用于一维信号的自动消噪。X为原始信
9、号,[C,L]为信号的小波分解,N为小波分解的层数。 THR为阈值选择规则: *TPTR='rigrsure',自适应阈值选择使用Stein的无偏风险估计原理。 *TPTR='heursure',使用启发式阈值选择。 *TPTR='sqtwolog',阈值等于sqrt(2*log(length(X))). *TPTR='minimaxi',用极大极小原理选择阈值。 SO