首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
用户93777
修改
文章:
28
阅读:
253719
评论:
12
赞:
251
好友
私信
个人主页
文章
28
原创
0
阅读
253719
评论
12
赞
251
原创
基于FPGA实现FIR滤波器的研究
2007-8-23 16:38
3695
5
6
分类:
通信
基于FPGA实现FIR滤波器的研究
武汉大学电气工程学院(430072) 郭晓宇 潘 登 杨同中
摘 要:
针对在FPGA中实现FIR滤波器的关键——乘法运算的高效实现进行了研究,给出了将乘法化为查表的DA算法,并采用这一算法设计了FIR滤波器。通过FPGA仿真验证,证明了这一方法是可行和高效的,其实现的滤波器的性能优于用DSP和传统方法实现的FIR滤波器。最后介绍了整数的CSD表示和还处于研究阶段的根据FPGA实现的要求改进的最优表示。
关键词:
FPGA DA FIR滤波器 CSD
数字滤波器是语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。
目前FIR滤波器的实现方法有三种:利用单片通用数字滤波器集成电路、DSP器件和可编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要。使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度必然不快。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP 芯片来说,其并行性和可扩展性更好。但长期以来,FPGA一直被用于系统逻辑或时序控制上,很少有信号处理方面的应用,其原因主要是因为在FPGA中缺乏实现乘法运算的有效结构。现在这个问题得到了解决,使FPGA在数字信号处理方面有了长足的发展。
1 分布式运算原理
分布式算法(DA)早在1973年就已经被Croisier提出来了,但是直到FPGA出现以后,才被广泛地应用在FPGA中计算乘积和。
一个线性时不变网络的输出可以用下式表示:
假设系数c[n]是已知常数,x[n]是变量,在有符号DA系统中假设变量x[n]的表达式如下:
重新分别求和(也就是分布式算法的由来),其结果如下:
从(1)式可以发现,分布式算法是一种以实现乘加运算为目的的运算方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序不同。分布式算法在实现乘加功能时,是通过将各输入数据的每一对应位产生的部分积预先进行相加形成相应的部分积,然后再对各个部分积累加形成最终结果的,而传统算法是等到所有乘积已经产生之后再来相加完成乘加运算的。与传统串行算法相比,分布式算法可极大地减少硬件电路的规模,提高电路的执行速度。它的实现框图如图1(虚线为流水线寄存器)所示。
2 用分布式原理实现FIR滤波器
2.1 串行方式
当系统对速度的要求不高时,可以采用串行的设计方法,即采用一个DA表、一个并行累加器和少量的寄存器就可以了。
在用LUT实现串行分布式算法的时候,假设系数为8位,则DA表的规模为2N×8位。可以看到如果抽头系数N过多,则DA表的规模将十分庞大。这是因为LUT的规模随着地址空间的变化(也就是N的增加)而呈指数增加。例如EPF10K20包含1152个LC,而一个27×7位的表就需要394个LC
[2]
。当N过大时,一个FPGA器件就不够用了。
为了减小规模,可以利用部分表计算,然后将结果相加。假定长度为LN的内积为:
将和分配到L个独立的N阶并行DA的LUT之中,结果如下:
如图2所示,实现一个4N的DA设计需要3个次辅助加法器。表格的规模从一个2
4N
×B位的LUT降到4个2
N
×B的位表。
如果再加上流水线寄存器,由于EPF10K20每个LC后面都跟有一个寄存器,所以并没有增加电路规模,而速度却得到了提高。
2.2 并行方式
采用并行方式的好处是处理速度得到了提高。由于数据是并行输入,所以计算速度要比串行方式快,但它的代价是硬件规模更大了。下面举出全并行的例子。
设
可将(1)式改写成如下形式:
利用式(2)可得一种直观的加法器树,如图3所示。
虽然硬件规模加大了,但是如果把系数的个数限制在4个或8个,再加上流水线寄存器,这个代价还是值得的。而且每张表都是相同的,不用为每个采样都设计一张表,减小了设计量。
DA算法的主要特点是巧妙地利用ROM查找表将固定系数的MAC运算转化为查表操作,其运算速度不随系数和输入数据位数的增加而降低,而且相对直接实现乘法器而言在硬件规模上得到了极大的改善。利用ALTERA的FLEX10K实现的16阶8位系数的并行FIR滤波器,其时钟频率可以达到101MHz,而实现的16阶8位系数的串行FIR滤波器,其时钟频率可以达到63MHz,每9个时钟周期可完成一次计算。但是其系数是传统二进制的,造成了很大的冗余(对于用逐位相加法实现的乘法器,当系数有一位为零时不用相加,零位越多,冗余越大),而且查找表的大小随着滤波器阶数的增加成指数增加,虽然可以采用将大查找表分解为小查找表,但是无法从根本上解决这一问题?熏这些都是DA方法的缺点。后面将对FIR滤波器实现给出新的设计方法,进一步降低逻辑资源的消耗。
3 CSD码及最优化方法
一个整数X与另一整数Y的乘积的二进制表示可以写成:
对于标准二进制,由于s
n
=0时的对应项Y2
n并不参与累加运算,所以可以用另一种表示方法使非零元素的数量降低,从而使加法器的数目减少,降低硬件规模。有符号数字量(SD)有三重值{0,-1,+1},如果任意两个非零位均不相邻,即为标准有符号数字量(CSD)。例如:
可以证明CSD表示对给定数是唯一的并且是最少非零位的
[3]
。CSD表示相对于标准二进制表示的改进在于引入了负的符号位,从而降低了非零位个数,大大降低了逻辑资源的占用(大约平均降低33%的逻辑资源)
[2]
。
当用硬件实现时,常常限制系数位数,即每个系数与N个正(负)2的幂次之和近似。标准二进制数在整数轴上是紧密和均匀分布的,而CSD码是非均匀分布的,其对实系数的量化误差比标准二进制大
[3]
,虽然增加N可以减小量化误差,但是会增大逻辑资源的消耗;而且CSD表示无法应用流水线结构,从而降低处理速度。
还可采用优化的方法将系数先拆分成几个因子,再实现具体因子。这就是最优化的代码。例如对系数。用最优化法,系数93可以表示成93=3·31,每个因子需要一个加法器,如图4所示。
从图中可以看出,CSD码需要三个加法器,而最优法只需要两个加法器;CSD码的重要缺陷在于每一级加法都需要初节点参与,而最优表示仅依赖上一级加法的结果,因此也就更适合流水线处理。Dempster等人提出了需要1到4个加法器的所有可能配置表。利用这张表,就可以合成成本在0与4个加法器之间的所有8位二进制整数
[4]
。
本文首先给出了一种巧妙利用FPGA的查找表,将乘法转化为查找表运算的DA算法,并用ALTERA的FLEX10K器件分别实现了一个8位16阶的串行与并行FIR滤波器,系统频率分别达到63MHz与101MHz,采样速度分别达到7MSPS与101MSPS。而DSP实现的FIR滤波器只能达到5MSPS,明显低于FPGA。用传统的位串行方法实现的一个8阶8位FIR滤波器,也只能达到5MSPS,明显低于串行式DA方法;接着,针对系数的二进制表示非零位不是最少(即实现系数乘法的加法器不是最少)的问题,介绍了整数的CSD表示以及最优表示,它们可以用较小的代价和与加法器级数无关的处理速度实现整数乘法运算,能比DA方法用更少的逻辑资源实现FIR滤波器。这些算法都不同于传统的设计观念,为基于FPGA的DSP设计提出了新的思路,必将在高速FIR滤波器设计、高速FFT设计中得到广泛的应用。随着FPGA集成规模的不断提高,许多复杂的数学运算已经可以用FPGA来实现,利用单片FPGA实现系统的设想即将变为现实。
写原创有奖励!2024面包板原创奖励正在进行中
点赞(
5
)
收藏
分享到:
上一篇:
cpld与fpga的区别
下一篇:
FIR数字滤波器分布式算法的原理及FPGA实现
IIC Shenzhen - 2024国际集成电路展览会暨研讨会(深圳,11.5-6)
2024 AI& Connect 是德创新技术峰会(深圳,10.22)
第六届意法半导体工业峰会2024(深圳,10.29)
2024 Arm Tech Symposia 年度大会(上海/深圳,11月19/21日)
文章评论
(
1
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
用户1353238
2009-3-14 22:00
能不能麻烦重新上下图,没图看不见。
回复
查看更多评论
相关推荐阅读
用户93777
2007-10-24 14:53
标准BT.656并行数据结构
标准BT.656并行数据结构标准BT.656并行数据结构BT.656并行接口除了传输4:2:2的YCbCr视频数据流外,还有行、列同步所用的控制信号。如图3所示,一帧图像数据由一个625行、每行1 7...
用户93777
2007-08-23 17:48
集成电路缩写
集成电路缩写 IC Integrated Circuit 缩写,集成电路 ICDS IC Design Service 缩写,芯片设计服务 IP Intellectual Property 缩...
用户93777
2007-08-23 17:32
英文标点符号的使用
英文标点符号的使用句点(Full Stop / Period,“.”) 问号(Question Mark,“?”) 感叹号(Exclamation Mark,“!”) 逗点(Comma,“,”...
用户93777
2007-08-23 17:26
NAND和NOR flash的区别(转载)
NAND和NOR flash的区别 NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM...
用户93777
2007-08-23 17:23
几种常使用的存储卡
几种常使用的存储卡数码相机和摄像机常使用的存储卡主要有Secure Digital简称为SD卡、Memory Stick简称为记忆棒、Compact Flash 简称为CF卡、Smart Media ...
用户93777
2007-08-23 17:21
零欧电阻的作用
零欧电阻的作用1,在电路中没有任何功能,只是在PCB上为了调试方便或兼容设计等原因。2,可以做跳线用,如果某段线路不用,直接不贴该电阻即可(不影响外观)3,在匹配电路参数不确定的时候,以0欧姆代替,实...
用户93777
修改
文章:
28
阅读:
253719
评论:
12
赞:
251
好友
私信
个人主页
文章
28
原创
0
阅读
253719
评论
12
赞
251
最新评论
更多
写的好,学习参考,很实用,拆的很细,老物件,电子产品
开发工匠 ...
评论博文
2024-12-12
不得不拆解修理台式组合音响
图片失效了呢
OPTIMIST
评论博文
2024-12-10
美的风扇灯拆解:如何实现极致高效的稳定输 ...
期待续更
Jun2024
评论博文
2024-12-10
比较器检测模拟脉冲说明(四) ...
最新
博文
服务器系统太复杂?!系统整合测试(SIT ...
「智能家庭关键场景测试」揪出智能电 ...
企业实施全员生产维护的具体步骤有哪 ...
资料下载
本周热帖
[14章附电子书]Springboot+ChatGLM 实 ...
24LC02芯片手册以及注意事项 ...
《高等代数自学教程》(下册,贺昌亭 ...
11-19学习笔记
SATA specification
【富芮坤FR3068x-C】+上手及点灯 ...
【2024年末活动】工程师写总结,送示 ...
【STM32F103C8T6教程】(七)串口通信 ...
【富芮坤 FR3068x-C低功耗开发板】-01 ...
ESD保护二极管的四大特点丨浪拓 ...
最新资讯
芯语最新
蔡司成功收购Beyond Gravity光刻业务 ...
意法半导体:让可持续世界从概念变为 ...
如何制作双变频的航空波段接收机? ...
极越汽车引爆财务危机,CEO讨薪争议被 ...
Rapdidus宣布2025年4月实际生产2纳米 ...
最快倒闭的新势力!只剩24小时的极越 ...
今日新闻丨极越汽车资金流断裂,业务 ...
百度和吉利内部已开始转账流程,为极 ...
2024-2028年动力电池液冷板市场及企业 ...
【车咖●快讯】突然崩塌!极越CEO遭员 ...
EE直播间
更多
提升毫米波信号测试精度
直播时间: 12月18日 14:00
EE Talk主题专访系列直播-对话:释放 Wi-Fi 7 在高带宽应用中的技术潜力
直播时间: 12月19日 10:00
在线研讨会
更多
ADAS系统中采用的MEMS时钟
PLL基础知识及其在时钟系统中的应用
PIC16F13145单片机可配置逻辑模块(CLB)概览
适用于安全连接的新一代PIC32CK SG/GC系列单片机
热门
推荐
精密双向电流感应放大器设计方案
【有奖直播】提升毫米波信号测试精度
【有奖直播】
深入学习Microchip时钟和全新单片机方案
我要评论
1
5
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/2
面包板社区有奖活动汇总楼
1. DIY赢大奖!2. 写原创,有奖励!3.参与话题,奖励E币!4. 免费申领:开发板试用、书籍试读...
电子工程师DIY来分享,赢大疆无人机、小米手机、NAS存储、万用表 ...
展示您的 DIY 电子设计作品,社区将有丰富奖励送给您!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
用户1353238 2009-3-14 22:00