用来评职称的,非平稳信号去噪方法研究(一)

时间:2020-08-28 17:37:17 通信工程毕业论文 我要投稿

用来评职称的,非平稳信号去噪方法研究(一)

摘要:针对一类非平稳信号的小波系数的非高斯分布特征,提出了基于软、硬值的自动一维信号除噪法和非平稳信号小波变换除噪法。前者使用[XD,CXD,LXD]=wden(Xtptr,sorh,scal,n,’wavename’)的语法应用Matlab程序辅助工具对非平稳信号进行小波直接分解结构除噪;后者则利用离散小波分解函数DWT将非平稳信号分解为高频成分和低频成分,即细节(小尺度)和近似(大尺度)。因此这两种方法可以获得比常规的小波去噪方法更好的去噪效果。仿真信号和实际信号的实验都验证了这两种方法的有效性。
关键字:非平稳信号 去噪 小波软硬值 DWT Matlab
一、引言
 语音信号大多是非平稳信号,研究非平稳信号的去噪在许多领域具有重要的意义。自从小波问世以来,基于小波变换的去噪方法便层出不穷。Donoho和Johnslone提出了硬、软值法和值收缩法,就是用值的方法来保留大于值的小波系数而达到去噪的目的。它们在小波去噪领域应用极其广泛,并在值及值函数的选取方面不断有新的方法提出。再者,利用离散小波变换分解非平稳信号为低频成分和高频成分,对于许多信号,低频成分常蕴涵着信号的特征:而对于高频成分,常给出信号的细节或差别。例如。人的语音,如果除去高频成分,语音听起来有所不同,但仍能知道所说的内容,然而除去足够的高频成分,则听到的是一些无意义的声音。在小波分析中常用大的近似与细节。近似表示信号的大尺度,低频率成分;而细节表示的是小尺度,高频成分,因此原始信号通过两个互补滤波器产生两个信号。
二、小波消噪的基本原理方法
 运用小波分析进行信号噪声消除是小波分析的一个非常重要的应用之一。
 一个含噪声的一维信号的模型可表示为:
s(i)=f(i)+δ·e(i)   i=0,1,2,3…,n-1
式中, f(i)为真实信号;e(i)为噪声;s(i)为含噪信号。这里以一个简单的噪声,模型加以说明,即e(i)为高斯白噪声 N(0,1),噪声级为1。在实际工程中,有用信号通常表现为低频信号或平稳的信号,噪声信号则表现为高频信号,所以消噪过程可按以下方法进行处理。
   首先对实际信号进行小波分解,选择小波并确定分解层次为N,则噪声部分通常包含在高频中。然后对小波分解的高频系数进行门限值量化处理。最后根据小波分解的第N层低频系数和经过量化后的1——N层高频系数进行小小重构,达到消除噪声的目的,即抑制信号的噪声,在实际信号中恢复真实信号。
三、小波消噪的方法一般有3种:
 强制消噪处理该方法利用Matlab中DWT函数把小波分解结构中的高频部分全变成零,即把高频部分全部消除,再对信号进行重构。此方法简单,消噪后信号也比较平滑,但易丢失有用信号。
 默认值消噪处理在Matlab 中利用ddencmp函数产生信号默认值,然后利用wden 函数进行消噪处理。
 给定软或硬值消噪处理在实际消噪处理过程中,值可通过经验公式获得,而且这种值比默认值更具有可信度。
 
 
 
 
四、非平稳信号的小波软、硬值除噪分析方法
利用小波进行自动一维信号除噪
语法:
     [XD,CXD,LXD]=wden(X,tptr,sorh,scal,n.’wavename’)
     [XD,CXD,LXD]=wden(C,L,tptr,sorh,scal,n,’wavename’)
说明:
[XD,CXD,LXD]=wden(X,tptr,sorh,scal,n,’wavename’)使用小波系数值,返回输入信号X除噪后的信号XD,输出参数[CXD,LXD]表示XD的小波分解结构。
输入参数中,tptr同thselect()函数;sorh为‘ s’或‘h’表示软硬值;n表示在n层上的小波分解;wavename指定小波名称;scal定义值调整比例:
                ‘one’不设定比例;
                ‘sln’使用的基于第单层系数噪声估计,设置比例;
                ‘mln’用噪声层的层相关估计,调整比例。
[XD,CXD,LXD]=wden(C,L,tptr,sorh,scal,n,’wavename’)使用同上面一样选项,返回直接对小波分解结构[C,L]锄除噪后的信号XD,在n层上,使用‘wavename’指定的正交小波。

用来评职称的,非平稳信号去噪方法研究(一)


利用小波进行自动一维信号除噪。

程序清单如下:

winrect=[100 100 600 600];
figure;
[W,Fs,bits]=wavread('C:\Documents and Settings\ÕÔÑô\×ÀÃæ\456.wav');
tptr='sqtwolog';n=5;
[thr,sorh,keepapp]=ddencmp('den','wv',W(:,1));
scal='one';
[XD,CXD,LXD]=wden((W(:,1)),tptr,sorh,scal,n,'db5');
subplot(4,2,1);plot(W(:,1));
subplot(4,2,3);plot(XD);
subplot(4,2,4);plot(W(:,1)-XD);
scal='sln';
[XD,CXD,LXD]=wden((W(:,1)),tptr,sorh,scal,n,'db5');
subplot(4,2,5);plot(W(:,1)-XD);
subplot(4,2,6);plot(W(:,1)-XD);
[XD,CXD,LXD]=wden((W(:,1)),tptr,sorh,scal,n,'db5');
subplot(4,2,7);plot(W(:,1)-XD);
subplot(4,2,8);plot(W(:,1)-XD);
小波进行自动一维信号除噪如图1

(图1)


五、基于小波变换分解的信号去噪技术及实现
 研究利用小波变换技术对信号噪声进行抑制和去除非平稳信号的噪声,然后利用Matlab软件编制程序实现了基于小波分解非平稳信号的'去噪仿真分析。仿真结果表明小波去除噪声的效果比传统的Fourior变换方法具有极大的优越性。
 对于非平稳信号进行不断