您现在正在浏览:首页 > 职教文章 > 职教论文 > 基于FPGA的FIR数字滤波器的设计

基于FPGA的FIR数字滤波器的设计

日期: 2010/4/20 浏览: 129 来源: 学海网收集整理 作者: 佚名

电子科技 2006年第 7期 (总第 202期 )

基于 FPGA的 F I R数字滤波器 的设计

李 星,杨 家玮

(西安 电子科技大学 ISN 国家重点实验室信息科学研究所 ,陕西 西安 710071)

摘 要 提 出了一种采 用现 场可 编程 门阵列器件 (FPGA)设 计 FIR数 字滤波器的方案 ,利用 MATLAB软件对

滤波器的 系数量化进行 了计 算和仿真 ,对 用 VHDL语 言描述 的滤波 器进行综合和仿真 ,结 果能够达到设计要 求。

关键 词 FPGA;FIR数字滤波器;仿真

中图分类号 TN71 3 .7

The Design of Fir Digital Filter Based on FPGA

Li Xing,Yang Jiawei

(Information Science Institute of State Laboratory of ISN,Xidian University,Xi an 710071,China)

Abstract The paper presents a design method for fir digital filter based on FPGA.Th e coeffi cient quantization of

the filter is calculated and simulated using the M ATLAB,an d the fir filter described by VHDL is synthesized an d

simulated.The results meet the design requirements.

Keywords FPGA ;FIR digital filter;simulate

1 引 言

近几年来 ,随着微 电子技术与工艺 的迅猛发

展 ,现场可编程逻辑 门阵列 (FPGA)以其可编程

性 ,低成本性 ,高逻辑密度和高可靠性 ,得到了越

来越广泛的应用 。其在线编程的特点大大缩短了产

品的设计周期 。FPGA 有着规整 的内部逻辑块 阵列

和丰富的连线资源 ,特别适合于细粒度和高并行度

结构特点 的数字信号处理任务 ,如 FIR滤波器、FFT

等,相对于 串行运算主导的通 用 DSP芯片来说并行

性和可扩展性都更好 。

数字 滤波器 是数字信号处理 的一项 重要的 内

容 ,利用数字滤波器可以在复杂 的信号中提取所需

要的信号,抑制不需要的信号 ,所谓数字滤波器 ,

实际上是 用一有限精度算法来实现 的离散 时间线

性 非时变 系统,以完成对 信号进行 滤波处理 的功

能 。有 限冲激响应 (FIR)滤波器在保证幅度特性

收稿 日期:2005—10—25

作者简介:李 星 (1 980-- ),女 ,硕 士研 究生。研 究方向

软件 无线 电。杨 家玮 (1 946一 ),男,教授 ,博 士生导 师。

研 究方向:数据 通信 和移动通信。

满足技术要求的同时 ,很容易做到有严格的线性相

位特性。

2 用窗函数法设计 FIR滤 波器

由于 FIR数字滤波器的单位冲激相应是有限长

的 (0 n≤N—1),其 z变换为?:

N -1

(z)=∑h(n)Z (1)

n=0

这里 Z 是 Ⅳ一l阶多项式 ,在有限 z平面有

(Jv—1)个零点 ,而它的 Jv—1个极点都位于 z平

面原点 Z=0处,对于线性相位 (FIR)数字滤波器

的设计方法 :一般是给出所要求的理想数字滤波器

的频率响应 (e ),要求设计一个 FIR数字滤波

器频率响应 H(e )= (,1)·e-J 来逼近 Hd(e ),

但是设计是在 时域进行的,因而先 由H (e )的傅

里叶反变换得 出 L2J:

Hd(,1)= r (ej ).ej do) (2)

7【 ~

由于 H (e )是矩形频率特性 ,所以 H (n)一

定是无限长的序列,并且是非因果系统 ,然而要设

维普资讯 http://www.cqvip.com



基于 FPGA的 FIR数字滤波器的设计

计的是 FIR数字滤波器 ,其 h(n)必然是有限长的,

所以要用有 限长的h(n)来逼近无限长的 ha(n),最

有效 的方法是截断 h (,z),或者说用一个有限长度

的窗函数 W(n)序列来截取 ¨ :

h(n)=W (n)·ha(n) (3)

因而窗函数序列 的形状及长 度 的选择都很关

键 。选用 48阶汉宁窗作为窗函数。

2.1设 计指 标

类型 :低通滤波器

通带波纹 ≤1.5dB,阻带衰减为 40dB。

滤波器冲激响应得系数 {ho( ,k=0,1? .,47 J

要求 :

= ∑Nh(kr一 )一ho(七)】 0.03 (4)

k=0

2.2 MATLAB实现系数量化

在用 FPGA实现成形滤波器时 ,运算一般采用

定点实现,因此必须对滤波器 的系数进行量化。量

化结果采 用二进制补码的形式。首先根据滤波器技

术指标计算出滤波器系数 的量化字长 ,然后通过仿

真最终确定滤波器 的量化字长 。FIR 数字滤波器频

率响应的方差表达式为

= 一 1 ( 1) 2之 (5)

l2

其中 为数字滤波器的阶数 ,b为滤波器系数

的量化字长。由式 (4)、(5)得



1 (M+I) 2 9"10 (6)

l2

将 M =48代入式 (6)得 b=6.3。在 MATLAB

上仿真滤波器的频率 响应可知 ,当 b 8时均满足

系统要求 ,我们在设计中采用 12bit量化。

3 F l R滤波器的 FPGA实现

在此设计中,采用功能强大的 Xilinx开发的软

件 ISE5.X ,ISE是集成综合环境的简称,其集成的

工具可以完成整个 FPGA的开发过程 ,设计输入采

用可移植性好 ,可维护性高,较为流行的 VHDL硬

件描述语言 。

用硬件实现 FIR滤波器可采用多种结构 ,如直

接型结构、级联型结构、频率采样型结构等 ,如图

l所示是一个 JV阶 FIR滤波器的直接型设计方案。

这种方案速度快 ,通用型强。

图 1 阶直接型 FIR滤 波器

在实际设计中采用线性相位 FIR滤波器 ,根据

线性相位 FIR滤波器的系数具有对称性这一特点 ,

滤波器的输出可以写成下面的形式 :

(N 一1)/2

y( )=∑[ (f)+x(N—l—f)】 (f) (7)

i=0

其实现框图如图 2所示 。

这样 ,一个 48阶 FIR滤波器只需使用 24个乘

法器就可以实现 。

图 2 线性 FIR滤波 器实现框 图

电子科技/2006年 7月 15日17

维普资讯 http://www.cqvip.com



基 于 FPGA的 FIR数字滤波器 的设计

该滤波器 由两个功能模块构成 ,分别是移位寄

存模块和滤波模块 。移位寄存模块用来实现序列的

延 时输 出,滤波模块用来实现滤波功能 。

由于滤波器输入是 串行 比特输入,滤波器的系

数都 是常数 ,因此不需要通 用的乘法器做乘法运

算 ,系数相乘部分可采用如下算法进行实现 ,来降

低运算复杂度。

输入端 口为 clk和 din,用 VHDL语言描述如

下 :

if clk=’1’and clk’event then

tap<=tap(46 downto 0)&din;

if tap(0)=’0’then

t(0):=h(0);

else

t(O):=not h(0)+~1;

endif;

for i in 1 to 23 loop

if tap(i)=tap(48一i)then

if tap(i)=’0’then

din

clk

t(i):=h(i)+h(i);

else

t(i):=(not h(i)+~1)+(not

h(i)+~1);

endif;

else

t(i):=(others=>一0);

endif;

end loop;

if tap(24)=’0’then

t(24):=h(24);

else

t(24):=not h(24)+~1;

endif;

最后根据设计要求 ,把相加结果作截断处理 ,

选择高八位作为输 出。

4 综合 与仿真结 果

综合环境 :ISE环境下的 Synplify pro 7.3.1综

合后的 RTL级逻辑图如图 3所示。

D[45:0】 I『45:0】

Q[45:01

tap[45:0】

[2l:4l unl— tap[21:4】

_.1>—

unl



tap[21:4】 clk

tap[45:0】

p1.22.un270

_

clk

图 3 FIR滤波器的 RTL逻辑 图

仿真环境 :ISE环境下的 ModelSim 行为仿真 设输入码元为 010101010,仿真结果如图 4所示。

l It Cwr,ar D *m c咤'.r· 黔 0h , f-·t 芏j^扎

q国 墓 B ,民 q Q 囊 :飘 嚣 : 墓! 蠛 蛹 缝

图 4 在 Mode1Sim环境下的行为仿真图 (下转 第 22页 )

18 IT Age/Ju1.15,2006

、 』

¨ 4 一

维普资讯 http://www.cqvip.com



一 种可调节 电流 的电流型 P~q*l直流 转换器

稳定的。只要取定了外设 电阻 R。。 的阻值 ,输出电

流在 2.5~7V的范围内基本不随电源变化而变化。

最大驱动 电

{



{



动能力。

图 5显示了在不 同输 出电流的情况下的 PWM

876 878 880 882 884 886 888 890 892 894

电压,V

图 5 输 出电流波形 图

图 5显示 了输 出电流为不 同值 时输 出 PWM 波

形图,从上到下分别为输出电流 5,15,40mA 的

PWM 波形,电路随输出电流 ,0 的增大 ,自动调节

输出 PWM 的 占空比,延长电感 的储能时间 ,从而

加大驱动电流。

同自动调节 PWM 的占空比,达到了提供稳定输出

的 目的。该 电路能在较宽的输入 电压范围内 (2.5~

7V),提供稳定的输出电流 ,输 出电流在 5到 40mA

的范围内可以依用户需要 自由调节 ,这使该 电路对

不同负载具有较强的适应性 。

4 结 束语 参考文献

带 电流调节功能的 电流型 PWM 直流转换器通

过改变外设电阻调节输 出电流的大小,能够根据需

要驱动不 同的负载发光二极管 ,由于该 电流型控制

电路中的 电压误 差放大器 的基准 电压跟随输 出电

压和输出 电流变化 ,电路能根据输出负载 电流的不

1季少卫,翁继周.电流型 PWM 控制器在开 关电源 中的应

用【J】.电子工程师 ,2004,30(1 1):54~57.

2 Allen P E,Holberg D R.CMOS Analog Circuit Design[M].

北京:电子工业 出版社,2005:93~137.

3张 占松,蔡宣 三.开 关 电源 的原 理与 设计【M】.北京 :电

子工 业出版社,1998.

(上接第 18页 )

将此 FIR滤波器放入通信系统中,作为通信系统 的

子模块,滤波效果能够达到整体设计要求。

参考文献

1 丁玉 美,高 西全.数字 信号 处理 (第二版)【M】.西安 -西

安电子科技 大学出版社,2001.

2王 诚,薛 小刚,钟信 潮.FPGA/CPLD 设 计工 具一 Xihn】【

ISE 5.X使用祥解【M】.北京:人民 邮电出版社,2004.

3楼顺天,陈 生潭,雷虎 民.MATLAB5.X程序语言 设计 【M】.

西安 :西安 电子科技大 学出版社,2001.

4 侯伯亨,顾 新 .VHDL硬件描述语言与数字逻辑 电路设

计[M】.西安:西安 电子科技大学 出版社,2004.

5杨小牛,楼 才义,徐建 良 软件无线 电原理与应 用【M】.北

京:电子工业出版社,2004.

22 ITAge/Ju1.15.2006

日、塔

维普资讯 http://www.cqvip.com




基于FPGA的FIR数字滤波器的设计.pdf

返回顶部