基于MATLAB/GUI的FIR和IIR 数字滤波器的设计实现

2022-03-01 06:03陈中祥熊莹霞
智能计算机与应用 2022年1期
关键词:数字信号滤波滤波器

陈中祥,熊莹霞

(上海航天电子有限公司,上海 201821)

0 引言

数字滤波器是指通过一定的运算关系,改变输入数字信号中所含有的频率成分的相对比例,或者滤除其中某些频率成分的离散时间系统。数字滤波器的作用是对离散数字信号进行运算处理,从而达到改变信号频谱的目的。在数字信号快速发展的时代,数字滤波器的重要性不言而喻。数字滤波器能够将有用信号与噪声分离,使得信号尽可能少的占用频谱资源,增强信号的抗干扰性能,提高信噪比改善通信的质量。因此,在工程应用中,必须在接收和发送端加入数字滤波器来保证信号传输的质量。

MATLAB 作为一款专业的数学软件,其数据处理能力十分强大,可以在实际生产应用中提供现实可靠的依据。鉴于其强大的功能,本文运用MATLAB 以及GUI 人机界面设计了一款软件,该软件可根据输入的指标参数,得到FIR和IIR 数字滤波器的频谱图,通过分析数字信号经过两种滤波器滤波后的频谱图,来选择适合工程使用的滤波器。这一设计满足了工程应用中对数字滤波器设计高效稳定的需求。

1 数字滤波器的设计原理

数字滤波器的设计基础是低通型数字滤波器,其它类型滤波器的设计可以根据低通型转化。基于此,本文以数字低通滤波器为例进行说明。数字低通滤波器的幅频响应如图1 所示:

图1 数字低通滤波器的幅频响应Fig.1 Amplitude frequency response of digital low pass filter

其中,ω表示通带截止频率;ω表示阻带截止频率;Δω=ω-ω表示过渡带;δ表示通带波纹;δ表示阻带波纹。

数字低通滤波器的系统函数为:

相频特性为:

通带内的最大衰减为:

阻带内的最小衰减为:

数字滤波器根据单位冲激响应的时域特性,分为有限长冲激响应(FIR)滤波器和无限长冲激响应(IIR)滤波器。下面分别介绍具体的设计原理。

1.1 FIR 滤波器的设计原理

对于有限长冲激响应(FIR)数字滤波器,其差分形式为:

系统函数为:

其中,()是单位冲击响应。

有限长冲激响应(FIR)滤波器设计常用的3 种方法有窗函数法、频率抽样法和最优化方法。本文采用的是窗函数法设计,这种方法比较简单,运算量较小。窗函数有三角窗、矩形窗、汉宁窗、凯塞(Kaiser)窗等。本设计采用是凯塞(Kaiser)窗,其表达式为:

其中,是第一类修正零阶贝塞尔函数;的值主要用于调节窗函数的主瓣宽度和旁瓣幅度;的值越大,主瓣越宽,但是旁瓣的幅度会变小。

1.2 IIR 滤波器的设计原理

对于无限长冲激响应(IIR)数字滤波器,其差分方程表示形式为:

其传递函数可以表示为:

IIR 数字滤波器的设计方法通常分为直接设计法和间接设计法。直接设计法是利用优化技术,借助计算机进行大量迭代运算,然后在优化准则下逼近所需要的频率响应。间接设计法是以模拟原型滤波器的()为基础,然后转变为数字域的系统函数()。考虑到直接设计法占用大量运算资源,且运算时间较长,不适合工程使用。因此本文采用间接法设计IIR 数字滤波器。

通常情况下,模拟滤波器可以分为巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器。在满足相同滤波器幅频响应指标下,巴特沃斯滤波器阶数最高,而椭圆滤波器阶数最低。

综上所述,根据模拟滤波器的指标参数调用相应的模拟滤波器函数,通过运用双线性变换法将模拟原型滤波器转换为IIR 数字滤波器。对于非低通型的滤波器,可以通过低通型滤波器转化实现。以低通型滤波器为基础,高通、带通和带阻型滤波器实现过程如图2 所示。

图2 高通、带通和带阻型滤波器实现方法Fig.2 Implementation method of high pass,band-pass and band stop filters

2 MATLAB GUI 数字滤波器设计软件

数字滤波器设计软件的总体框架如图3 所示。该软件主要针对FIR和IIR 数字滤波器进行设计,分为高通型、低通型和带通型3 种类型滤波器。与此同时,还可以对数字信号进行滤波处理,检验滤波器的性能。具体设计流程为:导入数字信号文件,得到信号的采样频率;将需要设计的滤波器参数配置到软件中,其中包括通带衰减值、阻带衰减值、通带和阻带的频率范围;配置好参数后选择要使用的滤波器类型;最后得到滤波后的信号并分析评估所设计的滤波器。

图3 系统设计框架图Fig.3 System design framework

根据总体框架,使用GUI 控件设计MATLAB GUI 人机交互界面,如图4 所示。整个界面由菜单栏、按钮、坐标轴、输入框等控件组合而成。菜单栏有3个功能部分,分别实现添加数据文件、选择滤波器的类型并显示出频率响应和滤波后的时域和频域图像。输入框可以输入工程应用中所需要的通带衰减和阻带衰减值(单位为dB),以及各种滤波类型对应的通带频率值(单位为Hz)。

图4 基于GUI的信号滤波界面Fig.4 GUI-based signal filtering interface

3 滤波器设计实现

在工程实践中,合理的运用滤波器设计软件来设计满足工程应用指标下的滤波器,通过对设计的结果进行比较,选择适合实际使用的具体滤波器类型,并进一步确定滤波器的参数,能够达到预设计的功能,提高设计效率。

应用本软件对接收机的数字下变频信号进行滤波处理。接收机接收到中频信号波形后,对信号进行采样,将模拟信号转换为离散的数字信号。数字信号经过数字下变频处理后,需要进行数字滤波。此数字滤波的目的是为了滤除中频信号,得到基带信号,方便下一阶段的解调处理。数字处理流程如图5 所示。

图5 数字下变频处理过程Fig.5 Digital down conversion process

该设计以双极性的数字序列作为数字基带信号,通过成型滤波器和BPSK 调制后,经过高斯白噪声信道被接收机接收。信号的载波频率为4 MHz,滤波器的采样频率为40 MHz。为了与滤波后的图像作比较,首先对接收机收到的信号进行采样,得出信号的时域和频域图像。

图6 语音信号的时频域图像Fig.6 Time-frequency domain image of speech signal

结果表明,信号中包含着需要接收的数字信号和噪声信号。其次,为了滤除不需要的频段,需要输入相应的滤波器参数。按照卫星通信的要求,信号的第一旁瓣的高度应低于-40 dB,杂散频率低于-60 dB。因此,设置阻带衰减为-60 dB,通带衰减设置为1 dB,以及输入预设计的滤波器的频率范围。

根据载波频率,可以选择低通型或者带通型数字滤波器对其进行滤波。选择低通型滤波器时,设置通带截止频率为5 MHz,阻带截止频率为5.5 MHz,得到滤波器的幅频和相频特性曲线图。同时将接收到的信号通过所设计的滤波器进行滤波处理,得到滤波后的波形。如前所述,选择带通型滤波器时,设置通带截止频率的上限设置为5 MHz,下限设置为2 MHz。阻带截止频率上限设置为5.5 MHz,下限设置为1.5 MHz。滤波器的仿真设计结果如图7~图10 所示。

图7 FIR 数字低通滤波器Fig.7 FIR digital low pass filter

图8 IIR 数字低通滤波器Fig.8 IIR digital low pass filter

图9 FIR 数字带通滤波器Fig.9 FIR digital bandpass filter

图10 IIR 数字带通滤波器Fig.10 IIR digital bandpass filter

仿真结果表明,信号通过滤波处理,有效抑制了带外的噪声。通过比较FIR和IIR 滤波器得知,FIR滤波器具有良好的线性相位,IIR 滤波器的相位则是非线性的。非线性相位不满足工程应用需求。此外,FIR的通带波纹比IIR 滤波器的小,在相同的工程指标下,设计IIR 滤波器的阶数要比设计FIR 滤波器的阶数少。因此,综合实际应用需求,在没有较高相位要求的条件下,选用IIR 较为合适,可以节省成本和时间。但是,对于图像信号处理、数据传输等以波形携带信息的系统,则对线性相位要求较高,采用FIR 滤波器较好。另一方面,低通型和带通型数字滤波器都能较好的滤除带外信号,在实际工程应用中,应该合理选择滤波器的类型。

综上所述,基于MATLAB 设计的数字滤波器,其实用性比较强,能够在较短的时间内完成频率特性的设计要求。特别是在设计复杂的数字滤波器和数字信号处理系统时,运用MATLAB 预先设计,可以极大缩短设计周期。此外,IIR 与FIR 滤波器各有优势,因此在工程应用时,应该从实现难度,占用资源等方面考虑,选择合适的滤波器类型和阶数。

4 结束语

数字滤波器在工程应用的数字信号处理中是广泛使用的。合理高效的分析和设计滤波器不仅是工程应用的需求,也是其他通信领域的需求之一。寻找便捷的设计工具,更能够节约成本和资源。本文在MATLAB的GUI 平台上,设计了界面可视化的数字滤波器设计软件,方便对数字信号的处理和分析,同时简化了数字滤波器的设计过程。

猜你喜欢
数字信号滤波滤波器
基于HP滤波与ARIMA-GARCH模型的柱塞泵泄漏量预测
浅谈有源滤波器分析及仿真
应用于农业温度监测的几种滤波算法研究
CIC插值滤波器的研究
基于非下采样剪切波变换与引导滤波结合的遥感图像增强
可见光通信及其关键技术研究
蛙泳动作教学中巧用数字信号研究
FIR滤波器线性相位特性的研究
浅谈传感器的应用及发展
合成孔径雷达图像的最小均方误差线性最优滤波