测·控领域专业互动媒体平台
推动测试测量,检测诊断,传感物联,遥测自控智能化发展
当前位置:CK365测控网 > 论文 > 设计技术 >

基于LabVIEW虚拟滤波器去除噪声VI设计

中国测控网 2014-09-18 09:28:56

引言

在振动、声学、地震、通讯、雷达、控制系统和生物医学工程等广泛的科学技术领域中都对实际所观察的信号提出了滤波和频谱分析的要求。以数字形式对它们进行处理的内容,就构成了数字信号处理的基本研究内容。在虚拟仪器中滤波技术有着广泛的应用。从测试现场采集到的信号中包含有对数据处理有用的信号、无用信号和噪声,滤波的目的是从信号中提取有用的信号。在虚拟仪器系统中,将信号采集到电脑中,通常还需要利用软件完成复杂的分析和信号处理工作,LabVIEW 提供了大量的分析工具,成熟的算法,方便了软件的开发。基于此本文在PC机LabVIEW软件中模拟产生一个接近于实际信号的带噪声的信号,生成一个带噪声的信号发生装置。选择滤波速度较快的无限冲激响应滤波器IIR,对虚拟滤波器去除噪声进行设计。

1、设计思路

在信号传输过程中,经常会混入高频噪声,噪声的能量甚至会超过信号能量。因此接收端收到信号后,通常首先要进行低通滤波,然后才能对信号做进一步处理。 设计的流程图图1所示:

2.虚拟滤波器去除噪声VI设计原理

2.1 生成滤波器的自选信号

自选信号是信号发生器发出的信号加上噪声信号来实现的。在信号发生器部分应用Basic Function Generator.vi产生正弦波、方波、三角波、锯齿波等标准信号,噪声部分我使用了UNIform White Noise Waveform.vi生成均匀分布的伪随机的白噪声,然后一起相加生成自选信号。

在本程序中,设定Fs(采样频率)和#s(采样点数)均为1000,根据奈奎斯特抽样定理生成信号的频率小于Fs/2,频谱就不会失真,所以Basic Function Generator.vi生成信号的频率最好不要超过500Hz。但经过试验在LabVIEW中采样频率如果越接近Fs/2频谱很容易失真。所以Basic Function Generator.vi生成信号的频率一定要根据实际使用情况选择。

噪声的幅度值在[-a,a]之间,a是幅度的绝对值,本次设的是默认值0.10。由于生成的噪声输出信号要和Basic Function Generator.vi的生成信号相加,所以Sampling info(采样信息)和Basic Function Generator.vi的Sampling info一致。输出的signal out同样也是一个簇,包含了to,Y,dt三个数据,各个数据的作用和Basic Function Generator.vi中的signal out是一样的。Basic Function Generator.vi和Uniform White Noise Waveform.vi的signal out输出的信号各自经过一个get waveform component.vi得到波形成分Y。最后两者生成的信号经过get waveform component.vi后再经过一个Add得到模仿的真实信号,如图2所示,在连线时可以将两者的error in(out)相连以备最后总程序产生报错系统。

2.2. 滤波部分

滤波部分是本程序的核心部分。选用滤波速度快,对相位没有要求的IIR滤波器,本程序采用Butterworth滤波器和Chebyshev滤波器。巴特沃斯滤波器拥有最平滑的频率响应,在截断频率以外,频率响应单调下降。在通带中是理想的单位响应,在阻带中响应为零,过渡带的陡峭成度正比于滤波器的阶数,所以通过提高阶数可以明显的提高滤波效果。并且可以选择低通滤波,高通滤波,带通滤波或者带阻滤波,用户可以根据自己的滤波要求选择合适的滤波模式。这个功能的实现是用一个case选择结构完成的。

在程序的前面板,用一个下拉框表来实现选择不同滤波器模式的功能,总共设置了九种不同的模式,当我们要观察自选信号不经过滤波的形状时我们可以选择关闭滤波器,当我们观察在不同滤波器下的滤波效果时可以切换到不同的模式观察,滤波部分的程序图表如图3所示。

2.3.显示部分

显示部分是本程序面向用户的一个关键部分,最终的成果是通过它呈现出来。我们要显示的波形图分为滤波前的自选信号和滤波后的信号。

时域信号的显示:从滤波部分以数组方式输出的信号即为滤波结果的时域信号,这里通过一个Build Waveform.vi来恢复波形并连接Waveform Graph(波形图)这样就可以在前面板上显示滤波后的信号波形了。在本程序中,Y就是从滤波器输出的数组元素,dt是在生成自选信号时设定的Fs的倒数。to为默认值0,相当于从坐标轴的原点开始显示波形。

频域信号的显示:这里主要用到的是Real FFT.vi

Real FFT.vi:这个VI计算输入序列的快速傅立叶变换(FFT)或离散傅立叶变换(DFT)。如果输入序列的长度为2的幂,Real FFT.vi将执行FFT程序;如果输入序列的长度不是2的幂,则会调用一个有效的DFT程序。本程序中将滤波器输出的数组输入到Real FFT中进行快速傅立叶变换,这时候的输出是复数数组,才通过一个Complex To Polar.vi得到信号的幅度分量。显示部分的程序如图4所示:

3. 去除噪声效果测试

首先选择待滤波的自选信号的参数,这里选择的自选信号是由频率为10Hz,幅度为1V的正弦信号叠加幅度为0.5V的白噪声信号组成的,如图5所示:

设置巴特沃斯低通滤波器的低截止频率大于10HZ,这里选择是的是15Hz。自选信号经过滤波器后的输出信号如图6所示:从图中看到,噪声信号已经被滤除掉,得到加噪声之前的正弦信号,达到我们预期的滤波效果。

4、结论

本文的创新点是在PC机LabVIEW软件中模拟产生一个接近于实际信号的带噪声的信号,生成一个带噪声的信号发生装置。由于需要滤除的是白噪声,所以选择滤波速度较快的无限冲激响应滤波器IIR,对于滤波后的信号以数组的方式得到,通过合理的显示方式可以直观的看到信号滤波后的效果,对信号滤波前后的时域对比给出。

[整理编辑:CK365测控网]
标签:  LabVIEW,[0]    滤波器,[0]    虚拟仪器[2]
 
[ 论文搜索 ]  [ ]  [ 好友分享 ]  [ 打印本文 ]  [ 关闭窗口 ]  [ 返回顶部 ]

版权与免责声明:

①凡本网注明"来源:CK365测控网"的所有作品,版权均属于CK365测控网,转载请必须注明CK365测控网 www.ck365.cn。违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

注册成为CK365测控网会员

可以无需任何费用浏览专业技术文章

 
 
注册CK365测控网会员以便浏览全文