基于小波分析理论的电源信号消噪方法
2010-05-13蔡新举,黄盛霖,李政,林愈
蔡新举,黄盛霖,李 政,林 愈
摘 要:某电源信号是典型的非平稳、非线性信号,信号中带有各种噪声,需进行适当处理。小波变换时的频局域性好,是分析非平稳信号的有效工具之一。研究基于小波变换的阈值消噪法,借助LabVIEW平台,通过仿真试验,对软阈值和硬阈值消噪及采用不同的小波函数消噪进行了分析。应用LabVIEW对电源信号进行采集,并且对LabVIEW中调用Matlab里的小波函数进行去噪分析的程序进行研究,收到良好的效果,为进一步提高电源信号消噪处理的效果奠定了基础。
关键词:LabVIEW;小波变换;Matlab;阈值消噪
中图分类号:TN927文献标识码:A
文章编号:1004-373X(2009)20-175-03
Power Signal De-noising Based on Wavelet Analysis
CAI Xinju,HUANG Shenglin,LI Zheng,LIN Yu
(Naval Aeronautical and Astronautical University,Yantai,264001,China)
Abstract:Power signal of some equipment is typically non-stationary and nonlinear,inevitably,there are kinds of yawp which need being disposed.The time frequency character of wavelet transform is perfect,and it is an effective tool of analyzing non-stationary signal.Threshold de-noising based on wavelet transform is introduced,in virtue of LabVIEW plate,by simulating test,soft threshold de-noising is compared to hard threshold de-noising,and different wavelet function are selected for de-noising,the validity of threshold de-noising based on wavelet transform is proved in the process of power signal de-noising.The electrical power signal by data acquisition card in the LabVIEW developing environment,the wavelet function in Matlab is called to make the study of de-noising analysis.The signal de-noising process and testing platform based on wavelet analysis theory and virtual equipment is completed.This study idea could found the base of pushing the de-noising process effect of all kinds of signal.
Keywords:LabVIEW;wavelet transform;Matlab;threshold de-noising
0 引 言
在现代装备中,电源如同血液在人体中的作用,是整个装备的动力来源,高精度电源信号的需求对电源信号的消噪处理提出了更高要求。为了减少噪声的影响,需要对采集到的信号进行消噪处理。传统的消噪方法是基于傅里叶变换理论的“滤波”法,这种方法存在着保护信号局部性和抑制噪声之间的矛盾,实际的处理效果不够理想。
小波分析是近20年来逐步发展起来的数学分支,目前应用于信号处理、图像处理、语音处理、机械故障诊断、地震波分析等众多领域中。由于小波变换具有良好的时频局部化性质,且小波函数的取法是不惟一的[1]。因此,小波分析在信号的消噪中得到了广泛的应用,小波阈值法就是其中的一种。
LabVIEW(Laboratory Virtual Instrument Engineering Work bench)是由美国NI 公司(National Instruments)推出的一个功能强大而又灵活的仪器和分析软件,是一种崭新的图形化编程语言(G语言)和开发环境,其源程序完全是图形化的框图,避免了传统语言线性结构的困扰。它广泛地被工业界、学术界和研究实验室所接受,被公认为是标准的数据采集和仪器控制软件[2]。
1 硬件方案
1.1 系统组成
测试系统硬件由变压单元、数据采集卡和计算机组成,如图1所示。
图1 系统硬件组成
1.2 功能和原理
测试系统硬件由变压器、数据采集卡和计算机组成。采用变压器对原始信号进行变压处理,以确保信号在额定范围内;采用NIPCI-6013 十六路模拟输入多功能数据采集卡采集数据;计算机担负用户命令接收及实验数据采集、数据显示、数据存盘、数据分析和数据传输等任务。系统的工作原理为变压器对原始产生的电信号进行适当的调理,计算机通过软件对信号进行采集、显示、存储和处理。
2 小波分析理论
2.1 小波变换基本理论
小波变换的基本思想是用一簇函数表示或逼近信号或函数。这一簇函数称为小波函数系,它是由小波函数通过平移和伸缩构成的。小波函数的确切定义是设φ(t)为平方可积函数,也即φ(t)∈L2(R),若其傅里叶变换φ(ω)满足条件:
∫R|φ(ω)|2|ω|dω<∞(1)
则称φ(t)为一个基本小波或小波母函数(Mother Wavelet),并称式(1)为小波函数的可容许性条件(Admissibility Condition),其伸缩因子(又称尺度因子)为a,平移因子为τ,则其按下列方式生成的一系列函数{φa,τ(t)}为:
φa,τ(t)=|a|1/2φt-τa,τ∈R,a≠0(2)
式中:φa,τ(t)称为分析小波(Analyzing Wavelet)或连续小波函数,φa,τ(t)与小波母函数φ(t)一样,也具有振荡性,而且它的振荡性随1/|a|的增大而增大。通过调节尺度参数a,可使小波函数具有非均匀的时频分辨率,即:在高频时,频窗大时窗小;低频时,频窗小时窗大。小波变换的这些特点使其具有多分辨能力,适于分析非平稳信号。
2.2 小波阈值法消噪理论
信号和噪声经小波变换后有着完全不同的特点。小波变换能使信号的能量集中在一些大的小波系数中,而噪声的能量却分布于整个小波域内。因此,可以认为幅值大的小波系数一般以信号为主,而幅值小的系数在很大程度上是噪声。于是采用阈值的方法把信号系数保留,而使大部分噪声系数减少至零。一般说来,小波阈值法消噪的步骤主要包括以下3步:
(1) 信号的小波分解。
对含噪信号选择合适的小波函数,确定要分解的层数M进行小波变换。
(2) 对小波分解后的高频系数的阈值量化。
可以对每层都采用一个阈值进行处理,也可每层用不同的阈值进行处理。对每个小波系数,可采用软阈值法(用“s”表示)和硬阈值法(用“h”表示)进行不同的处理。
(3) 信号的小波重构。
使用小波分解的低频系数以及阈值量化处理后的高频系数进行信号的重构。
3 仿真试验
3.1 试验平台
由于采用虚拟仪器的设计思想,因此软件设计也就成了该试验的关键部分, 设计中使用LabVIEW 7.0Express大大缩短了应用软件的开发周期。
在该次仿真试验过程中,借助了LabVIEW平台。LabVIEW平台有两个窗口,第一个窗口是前面板窗口,虚拟仪器前面板的设计在这个窗口中进行并完成。第二个窗口是框图程序窗口,LabVIEW采用图形化的编程方式实现虚拟仪器的测试功能,框图程序由节点、端口和数据连线组成。尽管LabVIEW有诸多优点,但是它在数学计算方面的功能还是十分有限的,往往会使所开发应用程序的一些功能受到限制。Matlab是Math Works公司开发的“演算纸”式程序设计语言,具有强大的数学计算和图形绘制功能,非常容易学习和掌握。但Matlab的界面开发功能较差,并且在数据输入、网络通信、硬件控制等方面都比较繁琐。因此,将LabVIEW与Matlab有机结合起来,用LabVIEW设计用户图形界面,负责数据采集,用Matlab在后台提供大型算法,供LabVIEW调用,能够快速高效地开发信号采集分析系统[3,4]。NI公司提供的Matlab Script节点使得用户可以将Matlab程序导入到如图2所示的LabVIEW程序流程图中,又可以在图2中根据Matlab程序的语法编辑Matlab程序。选择该节点的操作:Functions→Mathematics→Scripts & Formulas→Script Nodes→Matlab Script Node。点击后在图2中拖曳出Matlab Script Node。Matlab脚本程序可以在Matlab环境下调试,再在Matlab Script Node上单击鼠标右键选择Import命令,导入Matlab脚本;也可以直接在Matlab Script Node中编写。但一定要注意Matlab脚本节点内外数据类型的匹配,否则在LabVIEW运行时将产生错误或错误信息提示。
图2实现了在LabVIEW中调用Matlab中小波函数的目的[5-7]。
图2 LabVIEW中通过Matlab Script Node调用小波函数
3.2 试验情况
含噪声的电源信号如图3所示。
图3 含噪信号
在Matlab Script节点中首先调用wavedec函数,利用“db4”小波函数,对含噪信号进行三层分解;再调用wnoisest函数获取尺度1的噪声标准偏差;调用函数wbmpen获取消噪过程中的阈值;小波阈值分别采用软阈值(见图4)和硬阈值(见图5)进行量化。最后使用函数wdencmp对信号进行消噪。消噪后的信号如图4、图5所示。
图4 软阈值消噪后的信号
图5 硬阈值消噪后的信号
通过仿真可以看出,白噪声得到抑制。软阈值消噪会使消噪后的信号变得平滑一些,但会失去部分信号特征;硬阈值可以保留信号的特征,但在平滑方面有所欠缺,这与理论分析相一致。
在仿真过程中,还分别采用了“haar”小波和“db6”小波函数进行试验(见图6,图7)。
图6 haar小波消噪后的信号
可以看出,“db6”小波的消噪效果较好,而用“haar”小波则出现了明显的阶梯现象。原因是“haar”小波是阶梯状的,连续性较差; 而“db6”小波连续性较好。这说明如果用与信号形状相近的小波消噪,会得到较好的消噪效果[8-10]。
图7 db6小波消噪后的信号
4 结 语
本文应用LabVIEW对电源信号进行采集,并且对LabVIEW中调用Matlab里的小波函数进行去噪分析的程序进行研究,收到良好的效果,为进一步提高电源信号消噪处理的效果奠定了基础。
参考文献
[1]孙延奎.小波分析及其应用[M].北京:机械工业出版社,2005.
[2]杨乐平,李海涛,赵勇,等.LabVIEW高级程序设计[M].北京:清华大学出版社,2003.
[3]冯伟东,韩冰雪.LabVIEW与Matlab在声音信号采集与小波降噪中的应用[J].长春工业大学学报,2006(3):40-41.
[4]李廷军.利用铷钟实现组合导航系统研究[J].通信学报,2006,27(8):144-147.
[5]李廷军.数据复接器研究[J].海军航空工程学报,2005(1):145-146.
[6]Li Tingjun.The System of Long-range Monitor and Measurement Based on Common Telephone[A].5th International Symposium on Test and Measurement[C].2003(6):1 490-1 493.
[7]Li Tingjun.Design of Computer Management System[A].3rd International Conference on Wavelet Analysis and Applications[C].2004(5):744-749.
[8]Li Tingjun.Data Acquiring System Based on Vxi Bus[A].2nd International Conference on Active Media Technology[C].2004(5):688-692.
[9]Li Tingjun.Automatic Measuring Mode of a Reciprocal Two-port Network[A].5th International Symposium on Test and Measurement[C].2003(6):905-907.
[10]Li Tingjun.Design of Boot Loader in Embedded System[A].Proceedings of the 6th International Progress Wavelet Analysis and Active Media Technology[C].2006(8):458-463.