小波降噪的方法有多种,如利用小波分解与重构的方法滤波降噪、利用小波变换模极大值的方法去噪、利用信号小波变换后空域相关性进行信噪分离、非线性小波阈值方法去噪、平移不变量小波降噪法,以及多小波降噪等等。归结起来主要有三类:模极大值检测法、阈值降噪法和屏蔽(相关)降噪法。其中最常用的就是阈值法去噪,其基本思想就是利用图像小波分解后,各个子带图像的不同特性选取不同的阈值,从而达到较好的降噪目的。
一、小波降噪函数简介MATLAB中实现图像的降噪,主要是阈值获取和图像降噪实现两个方面。
1.阈值获取MATLAB中实现阈值获取的函数有ddencmp、select、wbmpen、和wdcbm2。这里主要介绍函数ddencmp。
函数ddencmp的功能是获取降噪或压缩的默认值。该函数是降噪和压缩的导向函数,它给出一维或二维信号使用小波或小波包进行降噪和压缩一般过程的所有默认值。
其语法格式为:
[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,IN2,X)
[THR,SORH,KEEPAPP]=ddencmp(IN1,’wv’,X)
[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,’wp’,X)
2.阈值降噪MATLAB中实现阈值降噪的函数有wden、wdencmp、wpdencmp、wthresh、wpthcoef和wthcoef2。这里主要介绍函数wdencmp。
其语法格式为:
[XC,CXC,LXC,PERF0,PERFL2]=wdencmp(‘gbl’,X,‘wname’,N,THR,SORH,KEEPAPP)
[XC,CXC,LXC,PERF0,PERFL2]=wdencmp(‘lvd’,X,‘wname’,N,THR,SORH)
[XC,CXC,LXC,PERF0,PERFL2]=wdencmp(‘lvd’,C,L,‘wname’,N,THR,SORH)
函数wdencmp的功能是使用小波进行降噪。该函数是二维小波降噪的导向函数。它使用小波对信号或图像执行降噪过程。wname是所用的小波函数。gbl(global)表示每层都采用同一个阈值进行处理。lvd表示每层用不同的阈值进行处理。N表示小波分解的层数。THR为阈值向量,长度为N。SORH表示选择软阈值或硬阈值(分别取值为‘s’和‘h’)。参数KEEPAPP取值为1是,则低频系数不进行阈值量化,反之,则低频系数要进行阈值量化。XC是降噪后的信号,[CXC,LXC]是XC的小波分解结构,PHRF0和PERFL2是恢复和压缩L2的范数百分比。如果[C,L]是x的小波分解结构,则PERFL2=100(CXC向量的范数/C向量的范数)2;如果X是一维信号,小波wname是一个正交小波,则:
二、用小波对信号进行降噪 1、使用小波进行一维信号的降噪
对含噪一维信号降噪,实现信噪分离。含噪的正弦信号:对含噪信号进行分解,从分解中得出高频与低频系数。高频系数对应细节信号,低频系数对应逼近信号。由高频系数中检测噪声,低频系数中识别各分量信号的不同频率。然后,再从去噪的高频信号与逼近的低频信号重构目标信号。
降噪的程序如下:欢迎分享,转载请注明来源:内存溢出
评论列表(0条)