一维信号的消噪处理可分为下面的几个步骤进行:
²
一维信号的分解;
²
小波分解高频系数的阈值量化;
²
一维小波的重构;
其中,最关键的步骤就是如何选取阈值和进行阈值量化处理方式,它直接关系到信号消噪处理的质量。
阈值分为软阈值和硬阈值:软阈值是指把信号的绝对值和阈值比较,小于或等于阈值的点变为0,大于阈值的点变为该点数值与阈值的差。硬阈值是指将信号的绝对值与阈值比较,小于等于阈值的点变为0,大于阈值的点保持不变。
Ddencmp函数:自动生成小波消噪或压缩的阈值选取方案。
调用方式
[THR,SORH,KEEPAPP,CRIT] = ddencmp(IN1,IN2,X)
[THR,SORH,KEEPAPP] = ddencmp(IN1,'wv',X)
[THR,SORH,KEEPAPP,CRIT] = ddencmp(IN1,'wp',X)
自动生成信号x的小波或小波包消噪或数据压缩的阈值选取方案。
输入参数X为一维或二维的信号向量或矩阵;输入参数IN1指定处理的目的是消噪还是压缩,可选值为:
IN1=den,为信号消噪;
IN1=cmp;为信号压缩;
输入参数IN2指定处理的方式,可选值:
IN2=wv,使用小波分解;
IN2=wp,使用小波包分解;
输出参数thr为函数选择的阈值。
输出参数sorh为函数选择阈值使用方式:
Sorh=s,为软阈值;
Sorh=h,为硬阈值;
输出参数keepapp决定了是否对近似分量进行阈值处理。可选为0或1。
Crit为使用小波包进行分解时所选取的熵函数类型。
例:自动生成信号小波处理的阈值选取方案。
r=2055415866;
randn('seed',r);
x=randn(1,1000);%产生白噪声;
%求取对信号进行小波消噪处理的默认阈值、软阈值,并且保留低频系数;
[thr,sorh,keepapp]=ddencmp('den','wv',x);
运行结果
thr =
3.8593
sorh =
s
keepapp =
1