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 取值为'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 的无偏风险估计原理。 *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通过给定的一种小波系数选择规则计算得到,小波系数选择规则使用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)计算阈值并画出三条曲线。 2 * SIGMA^2 * t*(ALPHA+log(n/t)) 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]...