基于FPGA的FIR数字滤波器的设计
电子科技 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