ddencmp()函数自动生成小波消噪或压缩的阈值选取方案。
调用方式
1 [THR,SORH,KEEPAPP,CRIT] = ddencmp(IN1,IN2,X)
2 [THR,SORH,KEEPAPP] = ddencmp(IN1,'wv',X)
3 [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);%产生白噪声;
%求取对信号进行小波消噪处理的默认阈值、软阈值,并且保留低频系数; Matlab中文论坛
[thr,sorh,keepapp]=ddencmp('den','wv',x);
运行结果
thr =
3.8593
sorh =
s
keepapp =
1