【转贴】基于LabVIEW的低通滤波器设计

算法相关 徐 自远 1100℃

低通滤波器是指对采样的信号进行浦波处理,允许低于截至频率的信号通过,高于截止频率的信号不能通过,提高有用信号的比重,进而消除或减少信号的噪声干扰。

一.设计思路

本VI设计的低通滤波器主要是先将正弦信号和均匀白噪声信号叠加,利用Butterworth低通滤波器进行滤波处理,得到有用的正弦信号:再对经过低通滤波器处理后的信号及信号频谱与滤波前的进行比较分析,检测滤波后的信号是否满足用户的要求。

二.设计目的

基于LabVIEW虚拟平台,将”正弦波形”函数和”均匀白噪声”函数产生的信号进行叠加以产生原始信号,让其先通过一个高通滤波器,滤除白噪声的带外杂波,以便在后续程序中低通滤波器可以输出正弦波;然后经过低通滤波器滤波处理,对滤波前后的信号和信号频谱进行比较,从而对低通滤波器的滤波效果进行检验。

三.程序框图主要功能模块介绍

如图1-0为低通滤波器设计实例的程序框图。它共分为4个主要的功能块:测试信号生成模块、滤波功能模块、频谱分析模块、while循环模块(详见线框标识),接下来将对侮个功能块实现的具休处理功能和任务进行详细介绍。

1.测试信号生成模块

测试信号由”正弦信号”函数节点和”均匀白噪声”函数节点产生的信号叠加生成。如图,信号生成子选板位于”函数—信号处理”中。”正弦信号”.函数可借助输入的样本参数输出一个存储正弦信号的数组,其调用路径为”函数—信号处理—信号生成—正弦信号”。


2.滤波功能模块

     这个功能块实现的功能是:对输入信号进行此波处理,提高有用信号的比重,消除或减少信号的噪声干扰。如图所示,滤波器子选板位于”函数—信号处理—滤波器”中。本设计中需采用”Butterworth滤波器”,函数进行低通滤波设计,其调用路径是”函数—信号处理—滤波器—Butterworth滤波器”。


3.频谱分析模块

在信号分析和处理过程中,有时仅对信号进行时域分析并不能完全揭示出信号的全部特征,为了便于观察处理,除了对低通滤波前后的信号进行对比分析外,还需要对滤波前后的信号进行频谱分析。

频谱分析功能模块是通过FFT快速傅里叶变换将时域信号变换到频域上的。如图所示,变换子选板位于”函数—信号处理—变换”中,其中”FFT”函数的调用路径是”函数—信号处理—变换—FFT”。


4.While循环模块

该模块的功能是通过控制循环条件,实现波形参数的实时调节与输出显示。如图,While循环的条件接线端接入的是一个布尔变量(停止控件),当布尔值为”真”,.即在前面板按下”停止”按钮时,循环停止;否则循环一直进行,从而实现了波形参数的波形参数的实时调节与输出显示。


产生信号源的程序框图


四.进行频谱分析

1,创建双边频谱转换单边频谱子VI。

2,切换到程序框图设计窗口下,在设计区放置一个”数组大小,函数节点、一个”数组子集”函数节点、一个”替换数组子集”函数节点、一个”商与佘数”函数节点、一个”加法”函数节点和一个”乘法”函数节点。

3,根据各数组节点的端口创建相应的输入/输出控件及相应的常量,然后按图1-1所示完成程序框图的设计。

4,切换到前面扳设计窗口下,对控件进行排列布局和美观设计。在前面板窗口的右上角右键单击LabVIEW 8.2图标,对子VI的连线板进行编辑(如图1-2所示)。

5,将设计好的子VI保存后退出


1-2双边频谱转换单边频谱子VI程序框图


图1-1

五.主要设计步骤

1,首先在程序框图上放一个while循环;,

2,在while里放置一个正弦信号,一个均匀白噪声两个FFT,两个ButteWorth滤波器,两个复数至极坐标的转换和一个等待时间的图标,同时放置放入两个数组,三个除法运算,一个乘法运算和一个加法运算,这些可以在程序框图上右击鼠标右键,在搜索中输入找到并拖拽到程序框图上。

3、在程序框图中放置数值常量,右击鼠标单击”转换为输入控件”,

再右击鼠标将表示法变为DBL格式。同理放置标签为lfSample, Sine Frequency (Hz), error的数值常量,但error控件不用”转换为输入控件”

4、在前面板搜索,”滑动杆”,选择”垂直填充滑动杆”,放置两个,将其中一个的标

签改为”截止波数”,另一个的标签改为”滤波器阶数”。

5、在前面板上放置布尔”停止按钮”,同时将其连线到while循环的停止端。

6、至此所有的图标控件己全部放置完毕,可以开始连线。(连线时注意找好均匀白噪声,正弦信号,FFT和Butterworth滤波器图标的接线端数值常量可以右键单击创建常量即可)同时设置等待时间为50。

7、在前面板上放置四个波形图,在程序框图上右击”显示为图标”,作为输出控件连线。

8、在前面板上放置修饰上凸框

前面板


完整程序框图


图1-0

六.运行结果

单击运行按钮,如图所示,在低通滤波器运行界面上可以观察到”仿真信号”、”滤波后信号”、”仿真信号频谱”和”滤波后信号频谱”控件中的图形显示。改变各输入控件中的值,可以观察到各个”波形图”控件中的波形随之变化。


  1. 设计心得

    这学期的课程设计,主要讲授了一些LabVIEW的基本操作和编程技巧,LabVIEW作为一门新式的以图形化编程的语言,不仅提供了简单易学的编程方法,而且提供了海量的可调用的模块,子vi,涉及到各个方面。

    我对这一门高效简单的编程语言产生很大的兴趣,且从图书馆中借了一些相关应用的书,也在网上搜过教程。从中学到了大量的技巧。也越来越感到, LabVIEW入门很容易,如果要深入做下去,完成一个像样的工程,就必须懂得各方面的知识,

    这是一门实践性很强的课,很多知识是从书上看来的,而且看完之后,自己还觉的不错,觉得自己已经掌握的很好,但真到实际做东西的时候,就会觉得困难重重,这时再去查书,便有了对知识的更深层次的理解。而且我们能感受到老师对这门课的重视,通过让学生自己讲课的方式来,我们对LabVIEW有了更深的掌握。

    学以促用,用以促学,我们感觉这也是这门课教给我们的重要知识带着问题学习才能学到真正的知识。

转载请注明:徐自远的乱七八糟小站 » 【转贴】基于LabVIEW的低通滤波器设计

喜欢 (0)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号