信号的小波降噪
- 格式:doc
- 大小:91.00 KB
- 文档页数:4
信号的小波降噪(完整)
小波分析的重要应用之一就是用于信号降噪。在此,简要地阐述一下小波分析对信号降噪的基本原理。(完整)
我们知道,一个含噪的一维信号模型可表示为如下形式:
1,,1,0),()()(nkkekfks
其中,)(ks为含噪信号,)(kf为有用信号,)(ke为噪声信号。这里我们认为)(ke是一个1级高斯白噪声,通常表现为高频信号,而实际工程中)(kf通常为低频信号或者是一些比较平稳的信号。因此我们可按如下的方法进行降噪处理。
首先对信号进行小波分解,一般地,噪声信号多包含在具有较高频率的细节中,从而,可利用门限阀值等形式对所分解的小波系数进行出来,然后对信号进行小波重构即可达到对信号降噪的木的。对信号降噪实质上是一直信号中的无庸部分,恢复信号中有用部分的过程。
1. 噪声在小波分解下的特性
在此,我们将噪声e看做普通信号分析以下它的相关性、频谱和频率分布这3个主要特征。
总体上,对于一维离散信号来说,其高频部分所影响的是小波分解的第一层细节,其低频部分所影响的小波分解的最深层和低频层。如果对一个仅由白噪声所组成的信号进行分析,则可得出这样的结论:高频系数的幅值随着分解层次的增加而迅速地衰减,且其方差也有同样的变化趋势。在这里用),(kjC表示对噪声用小波分解后的系数,其中,j表示尺度,k表示时间,对离散时间信号引入如下的属性:
(1) 如果e是一个平稳、零均值的白噪声,那么它的小波分解系数是相互独立的。
(2) 如果e是一个高斯型噪声,那么其小波分解系数是互不相关的,且服从高斯分布。
(3) 如果e是一个平稳、有色、零均值的高斯型噪声序列,那么他的小拨分解系数也是高斯序列,并且对每一个分解尺度j,其相应的系数是一个平稳、有色的序列。如何选择对分解系数具有解相关性的小波是一个很困难的问题,在目前也没有得到很好的解决。进一步需指出,即使存在一个小波,但是它对噪声的解相关性取决于噪声的有色性,为了用小波计算噪声的解相关性,必须知道噪声本身的颜色。
(4) 如果e是一个固定的零均值ARMA模型,那么对每一个小波分解尺度j,)(),,(zkkjC也是固定的零均值ARMA模型,且其特性取决于尺度j。
(5) 如果e是一个噪声:
● 若其相关函数已知,则可计算系数序列),(kjC和),(kjC;
● 若其相关函数谱已知,则可计算)(),,(zkkjC的谱及尺度j和j的交叉谱。
2. 小波降噪的步骤和方法
一般而言,一维信号降噪的过程可分为如下3个步骤。 (1) 信号的小波分解。选择一个小波并确实分解的层次,然后进行分解计算。
(2) 小波分解高频系数的阀值量化。对各个分解尺度下的高频系数选择一个阀值进行软阀值量化处理。
(3) 一维小波重构。根据小波分解的底层低频系数和各层高频系数进行一维小波重构。
这3个步骤中,最关键的是如何选择阀值及如何进行阀值量化,在某种程度上,它关系到信号降噪的质量。
应用一维小波分析进行信号降噪处理,主要通过前面介绍的两个函数wden和wdencmp来实现。wden函数返回的是经过对原始信号s进行降噪处理后的信号sd。wdencmp函数是一种使用更为普遍的函数,它可以直接对一维或二维信号进行降噪或压缩,处理方法也是通过对小波分解系数进行阀值量化来实现。
小波分析进行阀值处理一般有下述3种方法。
(1) 默认阀值消噪处理。该方法利用函数ddencmp生成信号的默认阀值,然后利用函数wdencmp进行消噪处理。
(2)
给定阀值消噪处理。在实际的消噪处理过程中,阀值往往可通过经验公式获得,且这种阀值比默认阀值的可信度高。在进行阀值量化处理时可用函数wthresh。
(3) 强制消噪处理。该方法是将小波分解结构中的高频系数全部置为0,即滤掉所有高频部分,然后对信号进行小波重构。这种方法比较简单,且消噪后的信号比较平滑,但是容易丢失信号中的有用成分。
3. 一维小波降噪的综合应用实例
下面用具体的例子来说明小波分析对信号的降噪作用。
%当前延拓模式是补零
%设置信噪比和随机数种子
snr=3;init=2055615866;
%产生原始信号,并叠加标准高斯白噪声
[xref,x]=wnoise(3,11,snr,init);
%对x使用sym8小波进行5层分解,得到高频系数。使用SURE阀值、软阀值进行降噪
lev=5;
xd=wden(x,'heursure','s','one',lev,'sym8');
figure(1);
set(gcf,'color','w');
%画出原始信号
subplot(311),plot(xref),axis([1 2048 -10 10]);
title('原始信号');
subplot(312),plot(x), axis([1 2048 -10 10]);
title(['降噪信号-信噪比为',num2str(fix(snr))]);
subplot(313),plot(xd), axis([1 2048 -10 10]);
title('降噪信号-heuristic SURE');
% 使用软SURE阀值降噪
xd=wden(x,'heursure','s','one',lev,'sym8');
%画出信号
figure(2); set(gcf,'color','w');
subplot(311),plot(xd), axis([1 2048 -10 10]); title('降噪信号-SURE');
% 对噪声标准差进行单层估计,使用fixed form 阀值降噪
xd=wden(x,'sqtwolog','s','sln',lev,'sym8');
% 画出信号
subplot(312),plot(xd), axis([1 2048 -10 10]);
title('降噪信号-Fixed form 阀值');
% 对噪声标准差进行单层估计,使用minimax 阀值降噪
xd=wden(x,'minimaxi','s','sln',lev,'sym8');
% 画出信号
subplot(313),plot(xd), axis([1 2048 -10 10]);
title('De-noised signal-Minimax');
% 如果需要多次尝试,最后是执行一次分解,多次设置阀值
% 分解
[c,l]=wavedec(x,lev,'sym8');
% 使用小波分解结构[c,l]设置阀值
xd=wden(c,l,' minimaxi','s','sln',lev,'sym8');
结果如图所示。