wdencmp()函数使用

来源:互联网 发布:同步助手备份软件 编辑:程序博客网 时间:2024/06/04 19:40
      1    [XC,CXC,LXC,PERF0,PERFL2] = wdencmp('gbl',X,'wname',N,THR,SORH,KEEPAPP)
      2    [XC,CXC,LXC,PERF0,PERFL2] = wdencmp('lvd',X,'wname',N,THR,SORH)
      3    [XC,CXC,LXC,PERF0,PERFL2] = wdencmp('lvd',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是恢复和压缩L^2的范数百分比, 是用百分制表明降噪或压缩所保留的能量成分。如果[C,L]是X的小波分解结构,则PERFL2=100*(CXC向量的范数/C向量的范数)^2;如果X是一维信号,小波wname是一个正交小波,则PERFL2=100||XC||^2 / ||X||^2


应用举例:

% 载入原始图像.

load sinsin

% X 包含载入图像.

% 产生噪声图像.

init=2055615866; randn('seed',init);

x = X + 18*randn(size(X)); Matlab中文论坛

% 查找默认值(可参考ddencmp函数).

[thr,sorh,keepapp] = ddencmp('den','wv',x);

% 全局阈值设置去噪.

xd = wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);




转载地址http://wfqsyyy.blog.163.com/blog/static/183488425201192210106206/


0 0