APP下载

基于优化DA算法滤波器的设计及其FPGA实现

2015-12-07朱效效

电子技术应用 2015年2期
关键词:低通滤波器理论值滤波器

朱效效,蔡 俊,陆 伟

(安徽理工大学 电气与信息工程学院,安徽 淮南232001)

基于优化DA算法滤波器的设计及其FPGA实现

朱效效,蔡俊,陆伟

(安徽理工大学 电气与信息工程学院,安徽 淮南232001)

由于传统MAC方法在设计数字滤波器时频繁使用乘法器,导致整个系统运行速率下降,而一般DA算法在设计高阶滤波器时存在查找表规模过大以至于难以实现的问题。提出一种优化的DA算法来克服这一缺陷,为此设计了一个 18阶的线性相位结构的 FIR低通滤波器,并用 Verilog HDL语言在FPGA上实现,在第三方仿真平台Modelsim工具上仿真。仿真结果与MATLAB计算的理论值进行对比,验证了此优化算法的正确性。

MAC;优化DA算法;线性相位;FPGA

0 引言

FIR滤波器具有严格的线性相频特性,同时又可保证任意幅频特性。而这个特点使FIR滤波器在数据传输、图像处理和识别、语音处理和通信系统中具有广泛的应用。除此之外,FIR滤波器除0以外没有其他的极点,所以整个滤波系统是相对稳定的,不存在不稳定的问题,这是FIR区别于IIR的本质原因,而FIR在传输数据时存在色散。

本文只讨论FIR滤波器的设计方法。基于DA算法的滤波器有效解决了MAC结构的不足,但是随着滤波器的阶数增加,查找表的规模呈指数增加,再设计高阶滤波器时普通DA算法甚至难以实现。本文提出了一种优化的DA算法来克服一般DA算法在设计高阶滤波器时的缺陷,并用Verilog HDL语言在FPGA上实现[1]。

1 线性相位FIR滤波器的结构

如果 FIR中的h(n)为实数,并符合下列条件其中的一种:

偶对称:h(n)=h(N-1-n)

奇对称:h(n)=-h(N-1-n)

称其具有线性相位结构。

当 N为奇数时,其系统函数为[2]:

其直接型结构如图1所示。

图1 N为奇数线性相位FIR的直接型结构

当N为偶数时,其系统函数为:

其直接型结构如图2所示。

图2 N为偶数时直接型结构

2 分布式算法

2.1分布式算法基础

DA算法是基于查找表结构的,其详细公式解析如下[3]:

其中c[n]为已知的,可令x[n]如下式:

则内积y为:

重新分配求和的顺序,其结果如下:

2.2分布式算法的优化

假如N的数量增加,一个单一的LUT无法执行全字,就能够利用部分表并先将结果相加。其原理为:假定长度为LN的内积,那么可以用一个DA体系结构实现它:

表的规模从一个24NB的LUT减少4个2NB表。优化的DA算法的结构图如图3所示。

图3 优化的DA算法的结构图

3 基于FPGA的FIR低通滤波器的设计

3.1基于FPGA的FIR设计流程

本文设计的FIR滤波器的流程如图4所示,主要分为系数提取和FPGA完成[4]。

图4 基于FPGA的FIR滤波器的设计流程

3.2FIR滤波器的MATLAB设计

本文设计滤波器主要参数为阻带最小衰减为30 dB,通带波纹小于0.5 dB,截止频率为0.4π。为此设计了18阶的FIR线性相位低通滤波器,采用窗函数中的凯泽窗来设计。根据凯泽窗参数β对滤波器的性能的影响,取β= 2.12来满足条件。由这些技术指标可通过MATLAB提供的滤波器设计工具箱FDAtool来仿真设计滤波器,从而提取滤波器的系数[5]。

由于提取出来的系数是浮点型,而FPGA只能处理定点型数据,所以需要把提取出来的系数进行量化,在该设计方案中将系数扩大 1 024倍,即 210。再通过编码转化为二进制形式。通过FDAtool工具提取出的数据及其量化结果如下:

其量化结果分别为:-15,0,29,25,-34,-78,0,202,382。十六进制补码分别为 fff1,0000,001d,0019,ffde,ffb2,0000,00ca,017e。

3.3线性相位FIR滤波器的FPGA实现

本文采用模块化思想,由一个主时钟控制各个子时钟,全部模块分别为并串转换、延时与预求和、移位累加、查找表采用3个分割查表结构和求部分和的模块[6]。

为了验证电路能否连续正确运行,本文连续随机输入序列0、127、100、57、26、5、20、26、79、8、12、49、35、102、99、125、63、82在 Modelsim工具上进行仿真,其结果如图5所示。

图5 线性相位FIR低通滤波器的仿真结果

仿真结果与MATLAB工具计算的理论值相比较,其Modelsim部分仿真结果如下:0、-2、-1、3、6、0、-11、-9、19、19、66。MATLAB理论计算结果对应为:0、-1.823 9、-1.436 2、2.816 0、5.568 3、-0.247 6、-11.1261、-9.084 2、19.414 9、66.125 3。通过仿真与MATLAB计算理论结果进行比较,理论值与仿真结果存在误差但是误差在允许的范围内,误差主要是因为量化时产生的。

4 结束语

本文提出的优化DA算法本质是提出对查找表的优化,事实证明滤波器阶数越高,此优化算法的作用越明显,而且可以节省内部逻辑资源。最后通过硬件实现,结果与理论值相比较,设计符合预期。

[1]程佩青.数字信号处理[M].北京:清华大学出版社,2001.

[2]Meyer-Baese U(美).数字信号处理的 FPGA实现[M].北京:清华大学出版社,2011.

[3]杜勇.数字滤波器的MATLAB与FPGA实现[M].北京:电子工业出版社,2012.

[4]高耀红.基于 FPGA的FIR低通滤波器[D].长沙:湖南大学,2012.

[5]刘朋全.基于FPGA的FIR数字滤波器的设计和实现[D].西安:西北工业大学,2006.

[6]夏宇闻.数字系统设计教程[M].北京:北京航空航天大学出版社,2008.

Implementation of digital filter with optimal distributed arithmetic based on FPGA

Zhu Xiaoxiao,Cai Jun,Lu Wei
(School of Electrical and Information Engineering,Anhui University of Science and Technology,Huainan 232001,China)

Due to traditional MAC method used multiplier frequently in design of the digital filter,which led to decrease the speed of the whole system,while the general DA algorithm in the design of high order filter existed the problem of that the scale of look-up table was too large to achieve.This papper proposes an optimized DA algorithm to overcome this defect,to verify the algorithm the thesis design a 18 order linear phase structure of FIR low pass filter.Finally,this algorithm is brought out that is used Verilog HDL in FPGA,and simulated in Modelsim tool.The simulation outcome is contrasted with that the MATLAB calculated theoretical values,which verifies the correctness of optimization algorithm.

MAC;optimization of DA algorithm;linear phase;FPGA

TN713

A

0258-7998(2015)02-0059-02

10.16157/j.issn.0258-7998.2015.02.012

2014-10-22)

朱效效(1988-),男,硕士研究生,主要研究方向:检测技术与自动化装置。

猜你喜欢

低通滤波器理论值滤波器
GH4169高温合金螺栓高温疲劳载荷理论值的选择研究
扩招百万背景下各省区高职院校新增招生规模测度研究
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
组合变形实验中主应力方位角理论值的确定
基于瞬时无功理论的谐波检测中低通滤波器的改进
基于Canny振荡抑制准则的改进匹配滤波器
ASME规范与JB/T4730对接焊缝超声检测的灵敏度差异探讨
基于TMS320C6678的SAR方位向预滤波器的并行实现
非等纹响应低通滤波器研究