基于LabVIEW和Matlab混合编程的小波去噪方法

点赞:9288 浏览:34657 近期更新时间:2024-03-29 作者:网友分享原创网站原创

摘 要:分析了传统滤波器方法在处理非平稳信号时的缺点,研究了小波去噪的原理和方法,研究了利用LabVIEW和Matlab混合编程的方法,将LabVIEW完美的图形编程技术和Matlab强大的的数学解算功能结合起来,实现了小波降噪的数学建模和信号图像显示.通过对振动冲击信号的滤波处理,表明了小波降噪方法在处理非平稳信号时的有效性.

关 键 词:小波去噪;滤波器;LabVIEW;Matlab

中图分类号:TN911.734;TP391文献标识码:A文章编号:1004373X(2013)19004603

0引言

信号降噪是信号处理领域的经典问题之一.传统的降噪方法主要包括线性滤波方法和非线性滤波方法,滤波器在工作时对信号进行筛选,只让特定频段的信号通过.当信号中的有用成分和噪声成分各占不同频带,可以将噪声成分有效除去.但如果信号和噪声的频谱重叠,则经典滤波器将不起作用.这些滤波器按滤波的频段可分为高通、低通及带通滤波器,根据设计滤波器的思想可以把滤波器分为巴特沃斯滤波器、贝塞尔滤波器、椭圆滤波器及切比雪夫滤波器等[1].

此外,传统的滤波器降噪方法的不足在于使信号变换后熵增加,无法刻画信号的非平稳性并且无法得到信号的相关性.为了克服上述缺点,采用小波变换来解决信号降噪的方法应用越来越广泛[2].但是,由于小波变换数学理论较深,对于初学者而言,使用传统的C语言等编程方法,编程难度很大.本文采用LabVIEW和Matlab混合编程的方法,将LabVIEW完美的图形编程技术和Matlab强大的数学解算功能结合起来,实现了小波降噪的数学建模和信号图像显示.

1小波变换原理

小波变换的理论主要包括连续小波变换、离散小波变换和多分辨分析[36].

1.1连续小波变换

设[ψ∈L2(R)L1(R)]且[ψ(0)等于0],则按如下方式平移和伸缩而生成的函数族[ψa,b]叫分析小波或连续小波(ContinueWeletTranorm,CWT),[ψ]称为基本小波.

[ψa,b等于a-12ψt-ba,a,b∈R,但a≠0](1)

对于[f∈L2(IR)],信号[f]的连续小波变换[Wψf(a,b)]定义为:

[Wψf(a,b)等于f,ψa,b等于a-12-∞∞f(t)ψt-badt](2)

式中引入因子[a-12]的原因是规范化,使[ψa,b2等于ψ2]对于所有[a,b]成立.

任意函数在某一尺度[a]、平移点[b]上的小波变换系数,实质上表征的是在[b]位置处,时间段[2aΔψ]上包含在中心频率为[ω*a],带宽为[2Δψ/a]频窗内的频率分量大小,随着尺度[a]的变化,对应窗口中心频率为[ω*a]及窗口宽度[2Δψ/a]也发生变化.

1.2离散小波变换

在实际应用中,一般分析的信号都是经过离散采样后得到的离散时间序列,需要把连续小波及其变换离散化,以进行数字信号处理.具体作法是通过对其伸缩尺度因子[a]和平移因子[b]的采样而离散化.

[a,b]只取离散值.[a等于am0,][b等于nb0am0,][m,n][∈][Z]且[a0≠1,][b0≠0.]不失一般性可检测设[a0>1],则有:

[ψm,n(t)等于a-m/20ψt-nb0am0am0等于a-m/20ψa-m0t-nb0](3)

从而式(2)的连续小波变换变为如式(4)的离散小波变换:

[Wψf(m,n)等于a-m/20-∞∞f(t)ψ(a-m0t-nb0)dt](4)

式中:[m,n]分别称为频率范围指数和时间步长变化指数.

在连续小波变换[Wψf(a,b)]中,由于[a,b]是连续变化的,它是高冗余的,只要母小波[ψ(t)]满足容许条件,则可由[Wψf(a,b)]完全恢复原信号[f(t)].对于离散小波变换,由于对[a,b]进行了离散采样,为了使[Wψf(m,n)]包含足够的信息以恢复原信号[f(t)],就需要对变换使用的母小波作出更严格的限制.

在Hilbert空间H中的一族函数[∈J]称为是一个框架,如果存在[A,B∈(0,∞)]时,对于所有[f∈H,]有:

[Af2≤j∈Jf,j2≤Bf2](5)

并称[A]与[B]为框架界.如果两个框架界相等,则称框架是紧框架.

根据有关的框架理论,当[ψm,n(t)]成为[L2(R)]的框架时,可由离散小波变换[Wψf(m,n)]恢复原信号[f(t)],其重构公式为:

[f(t)等于m,nWψf(m,n)ψm,n(t)](6)

式中[ψm,n(t)]是[ψm,n(t)]的对偶框架.

2小波降噪原理

小波变换具有低熵性、多分辨率特性、去相关性、选基灵活性的特点,因此小波降噪得到更广泛的应用.其中阈值去噪方法是一种实现简单、结果较好的小波降噪方法.

阈值去噪方法就是对小波分解后的各层系数中模大于和小于某阈值的系数分别处理,然后对处理完的小波系数进行反变换,重构经去噪的信号.在现实情况下,有用的信号通常是低频信号,而噪声信号通常是高频信号,在去噪的过程中,通常对小波分解的高频系数进行阈值化后重构信号.阈值的获取是小波去噪的关键,本文中的小波去噪模块借助于Matlab小波分析工具箱中的小波分析函数获取阈值.

Matlab中实现信号阈值获取的函数有ddencmp、thselect、wbmpen和wdcbm,本文采用了wbmpen.小波去噪的部分Matlab代码如下:[c,1]等于wedec(y3,m,′db6′);

%估计尺度1的噪声标准偏差

sigma等于wnoisest(c,1,1);

alpha等于2;

%获取消噪过程中的阈值

thr等于wbmpen(c,1,sigma,alpha);

keepapp等于1;

%对信号进行消噪

y等于wdencmp(′gbl′,c,l,′db6′,m,thr,′s′,keepapp);

3LabVIEW和Matlab混合编程方法

3.1LabVIEW简介

LabVIEW(LaboratoryVirtualInstrumentEngineering)是NI(NationalInstruments)公司的产品,是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件.这是一个功能强大且灵活的软件,利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣.利用LabVIEW,可产生独立运行的可执行文件.

图形化的程序语言,又称为“G”语言.使用这种语言编程时,基本上不写程序代码,取而代之的是流程图.它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具,提供了实现仪器编程和数据采集系统的便捷途径.使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率[7].

3.2LabVIEW调用外部代码的方法

LabVIEW的Functions模块内Advanced中CIN节点,用户可将需要调用的外部代码编译成LabVIEW所能识别的格式与此节点相连,当此节点执行时,LabVIEW将自动调用与此节点相连的外部代码,并向CIN传递特定的数据结构.

使用CIN技术,用户可向CIN传递任意复合的数据结构.由于LabVIEW中数据的存储格式遵循了C语言中数据的存储格式,所以通常情况下,使用CIN可获得较高的程序效率.

3.3利用LabVIEW的图形界面编程方法

为了更直观地显示信号波形,采用LabVIEW开发了图形显示界面,用以显示原始信号波形和消噪后信号波形.图1是图形显示界面的LabVIEW编程代码.图2是采用LabVIEW和Matlab混合编程的代码.

4应用实例

本文采用小波去噪方法对两种不同的振动冲击信号进行了分析处理,如图3和图4所示.

从图形显示结果可以看出,经小波降噪后,滤除了噪声干扰信号,各激励响应信号更加明显,这对于后期的信号分析处理奠定了良好基础.

5结语

小波去噪方法相比于传统的滤波器方法,在处理非平稳信号时具有独特的优势,有助于提高信号分析处理精度.而采用LabVIEW和Matlab混合编程的方法,则降低了编程难度,可以大大提高工作效率,是一种实现仪器编程的便捷途径.

基于LabVIEW和Matlab混合编程的小波去噪方法参考属性评定
有关论文范文主题研究: 关于数学建模的论文范文检索 大学生适用: 专科毕业论文、本科论文
相关参考文献下载数量: 16 写作解决问题: 写作参考
毕业论文开题报告: 标准论文格式、论文总结 职称论文适用: 期刊发表、高级职称
所属大学生专业类别: 写作参考 论文题目推荐度: 优质选题

;//ProceedingsofIEEEInternationalConferenceonAcoustics,Speech,andSignalProcessing.Toronto,Canada:ICASSP,1991:22732276.

[4]SHENSAM.Thediscretewelettranorm:weddingtheatrousandMallatalgorithms[J].IEEETransactionsonSignalProcessing,1992,40(10):24642482.

[5]ZHANGXP,TIANLS,PENGYN,etal.Fromtheweletseriestothediscretewelettranorm—Theinitialization[J].IEEETransactionsonSignalProcessing,1996,44(1):129133.

[6]周伟.Matlab小波分析高级技术[M].西安:西安电子科技大学出版社,2005.

[7]杨乐平,李海涛,赵勇,等.LabVIEW高级程序设计[M].北京:清华大学出版社,2003.