基于车辆主控系统的IIR数字滤波器的设计实现
2015-05-14赵耀孙伟
赵耀, 孙伟
(装甲兵工程学院 机械系,北京 100072)
0 引言
现代化汽车越来越朝着自动化、智能化发展,车辆的控制系统也越加完善,车辆的控制系统需要处理由转速传感器、油门开度传感器、踏板角位移传感器等各个类型传感器输入的信号,车辆主控系统如何抗干扰、如何快速滤除干扰获得目标波形数据成为影响车辆主控系统运行速度和控制有效性的一个主要问题。在模拟信号的传播、A/D转换的过程中,仅仅使用硬件的方式进行抗干扰滤波已很难满足现代车辆尤其是越野车行驶地形复杂、振动大、干扰多样化的特点。本文将详细介绍软件抗干扰措施里IIR滤波器的设计与实现。
1 IIR数字滤波器设计方法
在一般情况下,模拟滤波器都具有无限长单位冲激响应,这与IIR滤波器具有相似性。因此,IIR设计的基本思想是使用映射方法将模拟滤波器变成所需的数字滤波器。该熟知的模拟滤波器映射到所需的数字滤波器的设计。这种方法优点:模拟滤波器设计方法是很成熟的,各种模拟滤波器设计方法和映射表已经一应俱全,设计会简单、精准。另一种设计方法是软件辅助设计法,该方法是最优化设计方法中的一个。首先确定一个优化方式,如使所要求的理想的频率响应幅度|Hd(ejw)|与实际频率响应幅度|H(ejw)|的最大误差最小的方法,或均方误差最小化的方法等等。这种设计方法优点是无限优化能有效滤除并得到想要的数据,缺点是需要大量的迭代,并且没有固定的闭合响应函数式[1-2]。
2 硬件实现方法
1)可编程逻辑器件。包括CPLD和FPGA,内部逻辑模块具有非常完整、非常丰富的内部资源,非常适合实现IIR数字滤波器,比较DSP芯片和可编程逻辑器件利弊可知,这种方法的优点是可扩展性和更强大的并行性。
2)单片机。专门用于数字信号区域的数字信号处理芯片,内部预先写好的大量的DSP功能函数,我们可以容易地调用这些函数来实现各种功能的IIR滤波器。但因为不同的公司和不同的系列,数字信号处理芯片的编程代码差距很大,延缓了开发速度,以及滤波的速度有很大的关系与芯片的性能。
图1 IIR数字滤波器部分程序
图2 IIR数字滤波器部分程序
图3 FDATOOL工具设计IIR低通滤波器
3)数字集成电路。单片数字集成电路,或者使用多芯片的数字集成电路串联在一起来实现滤波,我们可以很容易地实现IIR数字滤波器的功能。但是一个单片集成电路缺乏强大的性能,而多芯片集成电路级联的功耗太高,体积过大,这种方法没有非常好的前景[3]。
3 计算机软件设计
在滤波器的实际设计过程,整个计算量是很大的。当滤波器的阶是比较高,则有大量的计算量,且在设计过程中更改滤波器种类或参数时需重新计算。
完成滤波器的频率响应设计时需要重新检查,以获得相位频率振幅频率响应特性,计算量是很大的。数字滤波器通常时,设计的类型和阶数不一定完全确定,它往往是根据滤波效果和目标要求进行不断调整,以实现优化设计。在这种条件下,滤波器的设计将运行大量复杂的计算,简单的靠公式运算和通过一个简单的程序是难以在很短的时间设计成功。采用计算机辅助设计,可以有效和快速地进行设计。
3.1 程序设计法
通常采用的是根据原型转换法原理实现的四种IIR数字滤波器设计函数:butter(巴特沃斯函数)、cheby1(切比雪夫 I型函数)、cheby2(切比雪夫Ⅱ型函数)、ellip(椭圆滤波器函数)及yulewalk函数。
给定采样频率为7000 Hz,通带截至频率为800 Hz,阻带截至频率为1500 Hz,通带衰减为3dB,阻带衰减为60dB。分别采用各个函数设计巴特沃斯滤波器、椭圆滤波器、切比雪夫I型滤波器、切比雪夫II型滤波器和yulewalk滤波器。
该方法可以在程序段调整滤波器参数,试验部分程序见图1、图2,在模拟试验中,可以通过调整滤波器的参数,找出最适合车辆某部分控制系统的滤波器。
3.2 采用FDATOOL工具设计
FDATOOl(Filter Design&Analysis Tool) 是 专 门MATLAB的信号处理工具箱,它使滤波器的分析和设计具体、灵活、简便,并且可以使用多种方式设计IIR滤波器。从 MATLAB界面下点 start→Toolboxes→Filter Design→Filter Design&Analysis Tool即可进入。IIR设计时选择正确的按钮,以下如图3所示是FDATOOL工具设计IIR低通滤波器举例。
可以看出FDATOOL设计滤波器非常方便,另外它还具有以下功能:1)点击左上角的File→Generate MFile,可以根据你设计的滤波器自动生成程序代码。2)单击Targets→ XILINX Coefficient(.COE)File菜单直接生成FPGA所需的滤波器系数配置文件。
IIR滤波器设计成功后,通过串口直接传至ECU,根据滤波效果进一步调整滤波器参数,这是一个循序渐进不断优化的过程。
[1] 张贤达.现代信号处理[M].北京:清华大学出版社,1995.
[2] 钱同慧.数字信号处理[M].北京:机械工业出版社,2005.
[3] 程佩清.数字信号处理的原理和实现[M].上海:上海交通大学出版社,1998.
(编辑黄 获)