基于MATLAB软件的FIR数字滤波器的设计和仿真

2016-08-08 07:54陕西长岭电子科技有限责任公司赵秀克巩沛源
电子世界 2016年13期
关键词:仿真

陕西长岭电子科技有限责任公司 赵秀克 刘 剑 巩沛源



基于MATLAB软件的FIR数字滤波器的设计和仿真

陕西长岭电子科技有限责任公司 赵秀克 刘 剑 巩沛源

【摘要】FIR 数字滤波器由于具有诸多优点,因而在数字信号处理中得到了十分广泛的应用。本文介绍了FIR 数字滤波器的理论设计,详细描述了MATLAB 软件平台下FIR 滤波器的设计步骤并给出了软件仿真结果。

【关键词】数字滤波器;FIR;MATLAB;仿真

1.引言

数字滤波器在数字信号处理中起着非常重要作用,它是一个按预定的有限算法实现的、将输入的数字信号转换为所要求的输出数字信号的线性时不变系统,它的实现包括硬件实现和软件实现两大部分。从硬件的角度看,数字滤波器可以看作是由数字乘法器、加法器和延时单元组成的一种装置。从软件的角度看,数字滤波器可以理解为一个计算程序或者算法。数字滤波器虽然在硬件平台(如单片机、DSP或通用计算机)上运行,滤波器的性能不由硬件决定,而由一系列的数字系数及相应算法决定。

数字滤波器根据单位冲激响应特性不同可分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。FIR滤波器的单位冲激响应长度有限,因而它是稳定的;同时,FIR滤波器可以实现严格的线性相位。基于以上两优点,FIR滤波器得到了更为广泛的应用。

本文介绍在MATLAB软件平台上如何实现FIR滤波器的设计。

2.FIR滤波器的理论设计

2.1数字滤波器的频域性能参数

以数字低通滤波器的幅频响应曲线(如图1)为例,简要介绍数字滤波器的频域性能参数。

图1 数字低通滤波器的幅频响应

2.2FIR滤波器的数字特性描述

FIR滤波器是一种线性时不变系统(LTI)。对于LTI系统可以从单位冲激响应、系统传递函数、差分方程等多种形式进行分析。

FIR滤波器的单位冲激响应h(n)定义为:

FIR滤波器的传递函数H(z)为的h(n)的Z变换,用数学公式表示为:

FIR滤波器的输入/输出关系可用差分方程表示为:

FIR滤波器也可以用卷积的形式表示如下:

通过式(1)~式(4),可以概括出FIR滤波器的基本特征如下:1)FIR滤波器的单位冲激响应长度有限;2)由于长度有限,FIR滤波器是绝对稳定系统;3)FIR滤波器当前时刻的输出仅与当前及之前时刻的输入有关;4)FIR滤波器一般是非递归的,因而对有限字长的影响不敏感;5)FIR滤波器的卷积运算可用FFT来实现,提高了运算效率。

3.FIR滤波器的设计方法

3.1FIR滤波器设计方法的比较

从第2.2节可以看出,计算出FIR滤波器的系数h(0)、h(1)、h(2)…h(n-1),或者说是滤波器的单位冲激响应,是FIR滤波器设计的主要内容。FIR滤波器的设计方法有很多种,最常用的有窗函数法、频率采样法和最优化方法。

窗函数设计方法最主要的优点在于其实现过程较为简单,运算量小,缺点是通带偏差和阻带偏差近似相等,使得窗函数很难同时满足通带起伏和阻带衰减的要求。

频率采样法直接从频域进行设计,物理概念清楚;适合窄带滤波器的设计,频率响应只有少数几个非零值;其缺点在于只能控制阻带衰减这个指标,不能控制通带起伏。

最优化法能够精确地控制FIR滤波器的通带、阻带的边沿频率,并且能够确定通带、阻带偏差,在满足相同技术指标的情况下,滤波器的系数最少,因此这种设计方法使用较为普遍。

本文采用最优法完成FIR滤波器的设计和仿真。

3.2FIR滤波器的最优化法设计

MATLAB软件中采用firpm算法来实现FIR滤波器的最优化法的设计。其调用格式如下:

h=firm(N,f,a)

其中,h为滤波器的系数;N为滤波器的长度;

f为滤波器给定的边沿频率;

a为各给定频率上理想的幅度响应。

firpmord函数用于估算FIR滤波器的最优化法设计的最低阶数N,从而使滤波器在满足指标的前提下占用硬件资源最少,其基本调用格式如下:

[N,fo,mo,w]=remezord(f,a,dev)

设计一FIR带通滤波器,要求低端阻带边界频率:ωs1=0.2π,高端阻带边界频率:ωs2=0.8π;阻带最小衰减:As=60dB;低端通带边界频率:ωp1=0.35π,高端通带边界频率:ωs1=0.65π;通带最大衰减:Rp=1dB。

用firpm算法完成该带通滤波器的设计,部分程序如下:

可得出幅频响应曲线如图2所示。

图2 FIR带通滤波器的频率响应

从图2仿真结果可以看出,通带边沿频率、阻带边沿频率、通带衰减和阻带衰减满足指标要求。

4.结束语

FIR滤波器具有稳定和线性相位的优点,在数字信号处理中应用非常广泛。MATLAB软件计算功能强大,为数字滤波器的设计和仿真提供了良好平台,并大大简化了数字滤波器的设计,缩短了开发周期。

参考文献

[1]陈后金,薛健,胡健.数字信号处理[M].北京:高等教育出版社,2004.

[2]陈亚勇.MATLAB信号处理详解[M].北京:人民邮电出版社,2001.

[3]薛年喜.MATLAB在数字信号处理中的应用[M].北京:清华大学出版社,2003.

作者简介:

赵秀克(1984-),男,工程师,现供职于陕西长岭电子科技有限责任公司,主要从事无线电高度表的设计。

猜你喜欢
仿真
Proteus仿真软件在单片机原理及应用课程教学中的应用
工业机器人模拟仿真技术在职业教育中的应用浅析
一种帮助幼儿车内脱险应急装置的仿真分析
论虚拟仿真实训系统在口腔实验教学中的应用
基于机电设备电气控制线路排故的仿真系统设计
Buck开关变换器的基本参数设计及仿真分析
试析PLC控制下的自动化立体仓库仿真情况分析
基于MADYMO的航空座椅约束系统优化设计
中国体态假人模型与FAA Hybrid Ⅲ 型假人模型冲击差异性分析
机械加工仿真技术研究