1.2 数字滤波器的传统设计方法
数字滤波器的传统设计过程可归纳为以下三个步骤:
(1)按照实际需要确定滤波器的性能要求。
(2)用一个因果稳定的系统函数(即传递函数)去逼近这个性能要求。此函数可以分为两类:即IIR 传递函数和FIR 传递函数。
(3)用一个有限精度的运算去实现这个传递函数。
FIR 滤波器设计实质是确定能满足要求的转移序列或脉冲响应的常数,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。目前,FIR 滤波器设计没有封闭的设计公式。虽然窗函数法对窗口函数可给出计算公式,但计算通带与阻带衰减仍无计算公式。FIR 滤波器的设计只有计算程序可循,因此对计算工具要求较高,不用计算机编程一般很难实现。
IIR 滤波器的设计源于模拟滤波器设计,它通过对低通滤波器进行模拟频率变换得到。常用的IIR 滤波器有巴特沃斯滤波器、切比雪夫滤波器、切比雪夫Ⅱ滤波器、椭圆滤波器和贝塞尔滤波器。目前,IIR 滤波器的设计可以借助模拟滤波器的成果,有封闭形式的设计公式,对计算工具的要求不高。
IIR 滤波器的设计虽然简单,但脱离不了模拟滤波器的设计模式,主要用于设计低通、高通、带通及带阻滤波器。而FIR 滤波器的设计要灵活得多,尤其是频率采样设计法更易适应各种幅度特性和相位特性的要求。
2 基于LabVIEW 的数字滤波器设计
2.1 LabVIEW 简介
LabVIEW 是NI(National INSTRUMENT,美国国家仪器)公司推出的一种基于G 语言的虚拟仪器(virtual INSTRUMENT,VI)开发工具。LabVIEW 编程使用图形化语言,它是非计算机专业人员使用的工具,它为设计者提供了一个便捷、轻松的设计环境,因此,LabVIEW 在世界范围内的众多领域如航空、航天、通信、电力、汽车、化学等领域得到广泛应用[4]。
LabVIEW 有两个基本窗口:前面板窗口和流程图窗口。编译环境下显示两个窗口,前面板用于放置控制对象和显示对象,控制对象相当于常规仪器的控制和调节按钮;前面板用于显示程序运行结果,相当于常规仪器的显示屏幕或指针。流程图窗口用于编写和显示程序的图形源代码,它相当于语言编程中一行行的语句,它由各种能完成一定功能的模块通过连线连接而成。当编写的LabVIEW 程序调试无误后,可将程序编译成应用程序(EXE 文件)。此时,设计的虚拟仪器可以脱离LabVIEW 开发环境,用户只需通过前面板进行控制和观测。
2.2 LabVIEW 中的数字滤波器
利用文本软件设计实现的滤波器在使用过程中往往出现难以调整波形系数,与硬件接口程序复杂,开发周期长等问题。而使用LabVIEW 设计的滤波器不仅设计简单,而且使用起来要比利用文本文件实现的滤波器方便得多。