当前位置:首页 > 消费电子 > 消费电子
[导读]本文分析了传统滤波器方法在处理非平稳信号时的缺点,研究了小波去噪的原理和方法,研究了利用LabVIEW 和Matlab混合编程的方法,将LabVIEW完美的图形编程技术和Matlab强大的的数学解算功能结合起来,实现了小波降噪的数学建模和信号图像显示。通过对振动冲击信号的滤波处理,表明了小波降噪方法在处理非平稳信号时的有效性。

0 引言

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

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

1 小波变换原理

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

1.1 连续小波变换

按如下方式平移和伸缩而生成的函数族 {ψ a,b } 叫分析小波或连续小波(Continue Wavelet Transform,CWT),ψ 称为基本小波。

 

 

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

1.2 离散小波变换

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

 

 

式中: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中的一族函数{- }jj ∈ J称为是一个框架,如果存在A,B ∈(0,∞) 时,对于所有f ∈ H,有:

 

 

2 小波降噪原理

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

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

Matlab 中实现信号阈值获取的函数有ddencmp、thselect、wbmpen 和wdcbm,本文采用了wbmpen.小波去噪的部分Matlab代码如下:

 

[!--empirenews.page--]

 

3 LabVIEW 和Matlab 混合编程方法

3.1 LabVIEW简介

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

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

3.2 LabVIEW调用外部代码的方法

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

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

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

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

 

 

4 应用实例

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

 

 

 

 

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

5 结语

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

下面的项目包括一个机器人完成各种任务。这是通过在机器人上使用和实现各种传感器来完成的。机器人能够在一个封闭的区域内移动,收集球,并在最后的一个点上放下球。机器人将绘制出它去过的位置和该区域内的障碍物。

关键字: 传感器 机器人 LabVIEW

交流电(AC)电源几乎用于所有的住宅、商业和工业需求。但是交流电最大的问题是它不能储存起来以备将来使用。交流电被转换成直流电,然后直流电被储存在电池和超级电容器中。现在,每当需要交流时,直流又被转换成交流电来运行基于交流...

关键字: 逆变器 MATLAB MOSFET

在现代科学计算和工程应用中,矩阵求逆是一项基础而重要的任务。然而,对于大型矩阵,如90000×90000的规模,直接求逆不仅计算量大,而且容易遇到性能瓶颈。MATLAB,作为一款强大的数值计算软件,虽然提供了丰富的矩阵运...

关键字: MATLAB 矩阵

在现代计算领域中,MATLAB和FPGA是两种非常重要的工具。MATLAB以其强大的数学计算能力和丰富的工具箱,成为算法设计和验证的首选平台。而FPGA,作为一种可以被编程来执行特定任务的硬件,具有高度的灵活性和强大的并...

关键字: MATLAB FPGA

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

一直以来,EDA都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来EDA软件的相关介绍,详细内容请看下文。

关键字: EDA SPICE MATLAB

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程
关闭