基于LabVIEW的数字滤波器设计与实现

2019-09-10 06:33孟月霞张谦韩亚丽
河南科技 2019年31期

孟月霞 张谦 韩亚丽

摘 要:数字滤波器是数字信号处理必不可少的器件之一。传统数字滤波器利用大规模集成硬件实现,虽然处理速度快,但功能不易改变。本文设计了一种基于LabVIEW的虚拟数字滤波器,利用虚拟仪器生成仿真信号,而后设置滤波器的参数,通过频谱测量模块对原始信号和滤波后的信号进行比较,将比较结果在上位机显示出来。通过测试可知,基于LabVIEW的虚拟滤波器不仅可以实现传统滤波器的功能,而且具有操作方便、结果直观、运行可靠、响应速度快、开发周期短等优点。

关键词:LabVIEW;数字滤波器;虚拟滤波器;传统滤波器

中图分类号:TP274;TN713.7 文献标识码:A 文章编号:1003-5168(2019)31-0032-03

Design and Implementation of Digital Filter Based on LabVIEW

MENG Yuexia ZHANG Qian HAN Yali

(College of Information and Business, Zhongyuan University of Technology,Zhengzhou Henan 450000)

Abstract: Digital filter is one of the essential components of digital signal processing. Traditional digital filter is implemented of large scale integrated hardware, which processing speed is fast, but the function is hard to change. This paper designed a kind of virtual digital filter based on LabVIEW. The virtual filter used virtual instrument to generate simulation signal, then setted the parameters of the filter and compared the original signal with the filtered signal by using the spectrum measurement module, and finally displayed the result in the host computer. The test shows that the virtual filter based on LabVIEW can not only realize the function of the traditional filter, but also has the advantages of convenient operation, direct result, reliable operation, fast response and short development cycle.

Keywords: LabVIEW;digital filter;virtual filter;traditional filter

随着信息化技术的发展,数字信号处理技术的应用越来越广泛。由于数字信号处理不受硬件系统的限制,所以数字信号处理技术在实际应用中越来越受到重视,而数字信号处理技术中,数字滤波器的作用举足轻重。传统数字滤波器可用大规模数字硬件实现,虽然处理速度快,但功能不易改变。所以,本文研究了一种基于LabVIEW的数字滤波器测试系统,可实现低通、高通、带通、带阻等滤波器的基本功能,并且可以对数据进行存储和打印。

LabVIEW软件是由美国仪器公司(NI)开发的面向对象的可视化编程语言,具有开放的源代码和各种设备的驱动[1-3]。不仅如此,LabVIEW软件具有人机交互界面好、开发方便、可移植性好和便于二次开发的优点。由于LabVIEW软件是图形化的编程语言,对编程人员的水平要求不高,与C语言、C++、C#以及JAVA等编程语言相比,LabVIEW软件编程更容易入门,开发周期短,所以LabVIEW软件深受实验室人员、硬件工程师以及生产线的各种工艺人员的喜爱[4-6]。

1 数字滤波器設计内容

数字滤波器是通过对离散信号进行处理从而改变信号频谱的工具,是数字信号处理必不可少的工具之一。所以,本文利用虚拟仪器设计一种基于LabVIEW的虚拟数字滤波器,具体实现方式是通过对含有多种频率的信号进行数据处理,采用低通、高通、带通、带阻等滤波器,提取需要的信号进行相关处理。信号生成模块通过虚拟信号发生器生成不同频率的信号,然后利用频谱测量模块对原始信号的频率进行测量并显示,再把原始信号的波形与频谱信息和经过滤波后的信号进行对比分析和图形显示,而后通过数据存储及打印模块实现数据存储和打印功能,具体设计框图如图1所示。

1.1 信号生成模块

信号生成模块的路径为:程序面板→数选板→信号处理→波形生成→仿真任意信号。

信号生成模块采用虚拟信号发生器VI生成包含多种频率的波形,通过信号叠加生成含有不同频率的波形。此模块可以生成正弦波、方波、三角波和矩形波等,并且可以调整相应的参数,如幅值、频率、相位和偏移量等,还可以根据需求添加相应的噪声信号,如均匀白噪声、高斯白噪声等。

1.2 频谱测量模块

频谱测量模块的路径为:程序面板→函数选板→信号分析→波形测量→频谱测量。

频谱测量模块可以通过配置面板选择相应的测量量,如幅度、功率谱、功率谱密度,并且可以选择测试结果为线性或DB。除此之外,通过配置选板可以设置函数窗的类型。

1.3 滤波器模块

滤波器模块的路径为:程序面板→函数选板→信号处理→滤波器→FIR加窗滤波器。

1.4 显示模块

显示模块的路径为:前面板→控件→新式→图形→波形图。

显示模块可以把抽象信息直观地表示出来,可以根据需要调节相应的标签与线性粗细、颜色,使设计界面更加美观。此模块主要完成仿真信号波形显示以及频谱显示。

1.5 数据存储和打印模块

数据存储和打印模块的路径为:程序面板→函数选板→报表生成→打印报表→保存报表。

数据存储和打印模块可以实现对数字信号的存储和打印,LabVIEW软件自带报表生成函数,可以设置保存文件的格式路径等。

2 软件设计

首先对各参数进行初始化设置(如信号类型、频率、幅值、采样间隔等),根据设定的参数,利用仿真信号VI生成具有多种频率的信号,然后选择滤波器类型(如低通、高通、带通、带阻等),并根据滤波器类型不同,调节相应的低频截止频率和高频截止频率,最后对滤波后的信号通过频谱测量模块进行数据分析并通过波形图显示出来,而后根据需要对处理后的数据进行存储和打印[7,8]。具体程序框图如图2所示。

由于涉及内容包含原始信号与滤波后信号的波形与频率的显示,为了方便对比,在设计前面板的过程中采用四个波形图控件分别实现。其中,图一为包含多种频率的原始信号波形,图二为原始信号的幅频特性图,图三为滤波后信号的波形图,图四为滤波后信号的幅频特性图。为方便测试,前面板设置相应的信号特性调节控件,通过下拉列表控件可以调节相应的波形频率和信号类型。滤波器类型选择控件,可以调节滤波器类型与截止频率。除此之外,为了方便数据的存储和打印,前面板也设置了相應的按钮,具体前面板实现如图3所示。

3 调试及结果

本设计用两个仿真信号模块生成不同频率、幅值的正弦波,通过叠加生成含有两个频率的波形,通过调节相应的按钮可以调节波形的频率。为了测试滤波器对信号的作用,设置原始信号为两个正弦信号的叠加。

具体参数如下:信号1幅值为80,频率为50Hz,采样频率为10 000Hz;信号2幅值为80,频率为500Hz,采样频率为10 000Hz,测试采用低通滤波器。通过设置低通滤波器的低截止频率,人们可以进一步验证低通滤波器的功能。分别设置低截止频率为60Hz和600Hz,具体测试结果如图4、图5所示。

由图4、图5可知,对于含有50Hz和500Hz的正弦波原始信号,通过调节低通滤波器的截止频率,滤波后的信号允许低于截止频率的信号通过,阻断高于截止频率的信号;当低通滤波器截止频率均低于原始信号的两个频率时,低通滤波器对频率高的信号阻断能力更强,并且随着截止频率的增加,阻断能力减弱;当低通滤波器的戒指频率均高于原始信号的频率时,随着截止频率的增加,原始信号与滤波后的信号几乎不受影响。

4 结论

本文介绍了数字滤波器的基本原理,通过LabVIEW软件设计的数字滤波器测试平台,可以直接调节信号的参数以及各滤波器的参数,除此之外,还可以进行数据的存储和打印,方便分析数据。虚拟滤波器与传统滤波器相比具有操作方便、结果直观、运行可靠、响应速度快、开发周期短等特点。测试结果证明了虚拟数字滤波器设计的可行性,为数字信号的分析和处理提供了一种可行方案。

参考文献:

[1]梁忠仔,黄丹羽,姜金辉,等.基于LabVIEW的振动测试数据采集分析软件平台设计与实现[J].国外电子测量技术,2017(7):86-89.

[2]杜鹏辉.基于LabVIEW的浪高数据采集系统设计与实现[D].大连:大连理工大学,2017.

[3]高西全,丁美玉.数字信号处理[M].西安:西安电子科技大学出版社,2016.

[4]耿艳香,蒲艳红,陈宇,等.数字信号处理虚拟实验平台的设计[J].教育教学论坛,2018(36):76.

[5]雷振山.LabVIEW7.1Express实用技术编程[M].北京:中国铁道出版社,2004.

[6]侯国屏,叶齐鑫.基于LabVIEW7.1编程与虚拟仪器设计[M].北京:清华大学出版社,2004.

[7]武嘉,陆劲昆.LabVIEW图形编程[M].北京:北京大学出版社,2002.

[8]陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.