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

时间:2024-09-02 18:36:15 通信工程毕业论文 我要投稿
  • 相关推荐

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

摘要:针对一类非平稳信号的小波系数的非高斯分布特征,提出了基于软、硬值的自动一维信号除噪法和非平稳信号小波变换除噪法。前者使用[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变换方法具有极大的优越性。
 对于非平稳信号进行不断的分解过程,将近似信号连续分解,就可将信号分解成许多低频和高频成分。图就是这样一个小波分解树。图2中S表示原始信号,A表示近似,D表示细节,下标表示分解的层数。
 
             ( 图2 )小波分解树示意图
 由于分解过程是重复迭代的,从理论上说可以无限地连续分解下去,但事实上,分解可以进行到细节只包含单个样本为止。因此在实际应用中,一般依据信号的特性或合适的标准来选择适当的分解层数。
MATLAB 中提供的离散小波分解函数有
 dwt
作用:单层一维小波变换函数。特定的小波或小波滤波器执行单层一维小波分解。
语法:
  [cA,cD]=dwt(X,’wavename’)
  [cA,cD]=dwt(X,Lo_D,Hi_D)
  [cA,cD]=dwt(x,’wavename’,’mode’,mode)
说明:
[cA,cD]=dwt(x,’wavename’) 通过向量X的小波分解,计算近似小波系数向量cA和细节小波系数向量cD.其中:‘wavename’表示指定小波名称。
[cA,cD]=dwt(X,Lo_D,Hi_D)以给定的滤波器计算单层一维小波分解。其中Lo_D表示分解低通滤波器,Hi_D表示分解高通滤波器,两者长度一样。
如果dwt()扩展模式为周期模式,若滤波器长度为Lf,X长度为Lx,则length(cA)=length(cD)=floor((Lx+Lf-1)/2).
[cA,cD]=dwt(x,’wavename’,’mode’,mode)
[cA,cD]=dwt(X,Lo_D,Hi_D,’mode’,mode) 计算小波分解并指定扩展模式。
用dwt()函数,来分解一声音信号。
程序清单如下:
format compact
[W,Fs,bits]=wavread('c:\Documents and Settings\ÕÔÑô\×ÀÃæ\456.wav');
Fs
bits
winrect=[170 170 800 400];
figure;
subplot(2,1,1);plot(W(:,1));
subplot(2,1,2);plot(W(:,2));
dwtmode('sym');
[cA_L,cD_L]=dwt(W(:,1),'coif4');
[cA_R,cD_R]=dwt(W(:,2),'coif4');
l=length(cA_L);
figure;
subplot(2,2,1);plot(cA_L);
subplot(2,2,2);plot(cD_L);

 


用dwt()函数来分解一声音信号如图4
 
 (图3)

 左声道细节信号               右声道细节信号
                    (图4)
结语:
 由以上图中的结果均可以看出,用小波进行信号的消噪可以很好地保留有用信号中的尖峰和突变部分。而用Fourior分析进行滤波时,由于信号集中在低频部分,噪声分布在高频部分,所以用低通滤波器进行滤波。但是他不能将有用信号的高频部分和由噪违拗上起的高频干扰有效区分。若低通滤波器太窄,则滤波后信号中仍存在大量噪声;若低通滤波器太宽,则将一部分有用信号当作噪声滤除了。因此小波分析方法对非平稳信号的消噪比Fourior分析更加优越。
 对于非平稳信号的去噪处理,小波软硬值法、小波变换分解法都能够很好的处理声音信号。通过MATLAB编制程序进行给定信号的噪声抑制和非平衡信号的噪声消除实验表明:基于以上两种的消噪方法是一种提取有用信号、展示突变信号的优越方法,具有广阔的实用价值。

 

 

参考文献
Delyon B,Juditsky A, Benveniste A.Accuracy Analysis forWavelet Approximation[J]. IEEE Transactions on Neural Networks,1995, 6(2): 320-350.
Divid L, Donoho.Denoising by Softthreshold ing.[J]IEEE Transaction on information theory1995, 41(3): 609- 632.
刘贵忠,邸双亮.小波分析及其应用[M].西安:西安电子科技大学出版社,1997.
吴湘淇.信号、系统与信号处理(下)[M].北京:电子工业出版社,1996.
胡昌华,张军波,夏军,等.基于Matlab的系统分析与设计(小波分析) [M].西安:西安电子科技大学出版社,1999.
张明照,刘政波,刘斌等.用MATLAB实现信号分析和处理 [M] 北京:科学出版社,2006.1
 刘永本.非平稳信号分析导论 [M] 北京.国防工业出版社,2006.2

【用来评职称的,非平稳信号去噪方法研究(一)】相关文章:

非现场审计的实现方法研究03-24

基于提升小波构造在图像去噪的应用研究03-07

基于希尔伯特-黄变换的信号处理方法研究11-22

微型热流陀螺信号检测方法03-07

生物医学信号研究概况03-18

一种降低OFDM信号峰均功率比的方法03-07

基于BP算法红外遥感图像去条带方法研究03-07

基于小波阈值的信号降噪方法03-07

基于PARAMICS的感应信号控制仿真研究03-07