首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» FIR数字滤波器的FPGA实现研究
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
FIR数字滤波器的FPGA实现研究
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-23 08:46
|
只看该作者
FIR数字滤波器的FPGA实现研究
集成电路
,
滤波器
,
寄存器
,
复用器
,
存储器
如今,FPGA已成为数字信号处理系统的核心器件,尤其在数字通信、网络、视频和图像处理等领域。现在的FPGA不仅包含查找表、寄存器、多路复用器、分布式块存储器,而且还嵌入专用的快速加法器、乘法器和输入,输出设备。FPGA具有实现高速并行运算的能力,因而成为高性能数字信号处理的理想器件。此外,与专用集成电路(ASIC)相比,FPGA具有可重复编程的优点。 根据单位脉冲响应的不同,数字滤波器主要分为有限脉冲响应(FIR)和无限脉冲响应(IIR)2大类。在同样的设计要求下,IIR方式计算工作量较小。但难以得到线性相位响应,且系统不易稳定;FIR方式的计算工作量稍大,但在设计任意幅频特性时,能保证严格的线性相位特性;由于其实现结构主要是非递归的,FlR滤波器可以稳定工作。FIR数字滤波器是数字多普勒接收机的重要组成部分,因此,研究FIR数字滤波器的实现技术具有重要意义。随着FPGA技术的不断发展,FPGA逐渐成为信号处理的主流器件。而在FPGA中,数字滤波器不同的实现方法所消耗的FPGA资源是不同的,且对滤波器的性能影响也有较大差异。
1 FIR滤波器的原理及结构
FIR滤波器存在N个抽头的h(n),N称为滤波器的阶数,其数学表达式为:
式中,x(k)为第k时刻的采样值,y(n)为滤波器输出。h(k)为FIR滤波器的第k级抽头系数。
通过对h(k)进行Z变换得到FIR的传递函数H(Z),其在Z域内的形式如下:
因此,根据传递函数H(Z)和FIR滤波器系数的对称性,可得FIR滤波器的一般实现结构,如图1所示。
从串行结构中可以看出,FIR滤波过程就是一个信号逐级延迟的过程,将各级延迟输出加权累加,得到滤波输出,其中最主要的运算是乘累加运算。FIR每完成一次滤波过程需要进行N次乘法和(N-1)次加法运算,N为滤波器的阶数。所以,滤波器的运算量完全取决于N的大小,当N很大时,延迟将非常长,无法实现高速信号处理。
根据FIR数字滤波器的对称特性,可以先进行加法运算,然后对加法运算的结果进行串行乘累加运算,从而得到改进的串行结构。与串行结构相比,改进的滤波器完成一次滤波的时钟周期减半,乘累加次数减半,提高了处理速度,但同时要消耗更多的硬件资源。图1(b)为Ⅳ位偶数时改进的串行结构。与串行结构相似,滤波器的运算量完全取决于N的大小,当N很大时,延迟将非常长,无法实现高速信号处理。
将串行结构展开,根据滤波器的信号流图用多个乘法器和加法器并行实现,得到FIR滤波器的并行实现结构,如图1(c)所示。并行滤波器的滤波速度快,一个时钟周期内完成一次滤波,但消耗大量的FPGA资源,如乘累加器,且器件的延迟较大,工作频率不宜太高。
FPGA具有规整的内部逻辑阵列和丰富的连线资源,特别适合用于数字信号处理。但以前FPGA一般用于系统逻辑或时序控制,很少应用在信号处理方面。其原因主要是FPGA中缺乏实现乘法运算的有效结构。随着FPGA技术的不断发展,查找表(LUT)技术的应用有效地解决了这个问题,使FPGA在数字信号处理方面得到了广泛应用。
2 基于分布式算法的FIR滤波器的实现
2.1 分布式算法原理
上世纪70年代Croisie提出了分布式算法DA(Distributed Arithmetic),但由于其特别适合用FPGA实现,所以直到Xilinx公司在FPGA中使用查找表(LUT)后,DA才被广泛应用在FPGA求乘积和中。
FIR的滤波输出y可以表示为输入x和系数h的内积:
由上述推导可知,分布式算法是一种以实现乘加运算为目的的运算方法。它与传统实现乘加运算的先后顺序不同。分布式算法在完成乘加功能时,是通过将各输入数据每一对应位产生的部分积预先进行相加形成相应部分积,然后在对各部分积预先进行累加形成最终结果;而传统算法是等到所有乘积产生之后再进行相加来完成乘加运算。
2.2 分布式FIR的实现结构
图2为分布式FIR滤波器的直接实现结构。对于小位宽的数据,DA算法不仅速度快,而且所占用的芯片资源少。
2.3 性能优化方法
1)流水线结构法 在滤波器中间增加适当的寄存器,构成流水线结构。在并行结构实现中添加流水线结构,可以提高滤波器速度,使其工作在更高的工作频率。对于速度固定的数据,可以通过多次复用乘累加器来节省资源。
2)查找表分隔法 在用LUT实现分布式算法时,由于LUT的规模随着N的增加呈现指数增长,如果滤波器系数N过大,则查找表的规模十分庞大。为了减小规模,可以利用部分表计算。由于FIR滤波器是线性滤波器,因此低阶滤波器输出可以相加,由此定义一个高阶滤波器的输出。例如,把16输入的查找表分割成4个并行的查找表。
查找表的分隔技术和流水线技术可以大大减小设计规模,同时并不会降低滤波速度。使用DA算法实现的FlR滤波器与传统的算法相比,DA算法可以极大地减少硬件电路规模,很容易实现流水线处理,提高电路的执行速度。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议