首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
IIC Shenzhen 2025
行业及技术活动
嵌入式设计资源库
杂志免费订阅
EE直播间
白皮书
小测验
在线研讨会
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
用户93777
修改
文章:
28
阅读:
261942
评论:
12
赞:
392
好友
私信
个人主页
文章
28
原创
0
阅读
261942
评论
12
赞
392
原创
基于FPGA实现FIR滤波器的研究
2007-8-23 16:38
3906
10
11
分类:
通信
基于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实现系统的设想即将变为现实。
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
10
)
收藏
分享到:
上一篇:
cpld与fpga的区别
下一篇:
FIR数字滤波器分布式算法的原理及FPGA实现
PARTNER CONTENT
换一换>
更多>
创业板首家未盈利企业上会,供货谷歌、通过英伟达等AI前沿企业测试导入
2025-12-25
AI基础设施的下一场效率革命:供电、计算、存储的三路突围
黄烨锋
2025-12-31
高频谐振转换器设计注意事项,第 2 部分
德州仪器
2025-12-17
文章评论
(
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
阅读:
261942
评论:
12
赞:
392
好友
私信
个人主页
文章
28
原创
0
阅读
261942
评论
12
赞
392
最新评论
更多
学习榜样,太成功了,2025收获很多
开发工匠 ...
评论博文
2026-1-15
坚 守
少干预,少得了吗?人人得要有衣食住行,还有排放。即使人人做到勤俭节约,毕竟有底线,但既是有底线,也会量变到质变,明摆着的 ...
自做自受 ...
评论博文
2026-1-14
LoRaWAN协议,如何促进人与自然的和谐发展 ...
curton : 向前辈学习 向前辈致敬 我今年40了,生活中和身体上都经历了很多事情 我现在通过练习跑马拉松 第一次半马150安 ...
linkissrj
评论博文
2026-1-13
生命如同全马,既充满了挑战,也充满了机遇 ...
最新
博文
电流感应开关在应用中如何防静电或瞬 ...
LoRaWAN协议,如何促进人与自然的和谐 ...
【电子世界的“超频”心脏】 ...
资料下载
本周热帖
CF 电机滤波器在直流电机的整改案例分 ...
TI-模拟工程师口袋参考书第四版 ...
ADI无法接触顶部反馈电阻时的环路响应 ...
双运放仪表放大器基本配置_cn ...
仪表放大器和电流检测放大器的区别 ...
双十一晒单:赚E币兑换实物经历 ...
《Linux设备驱动开发(第2版)》(第 ...
红外光谱技术应用与原理分析 ...
云途32位MCU实现高精度电机FOC控制 ...
IP6559至为芯支持AC双口快充的100W升 ...
最新资讯
芯语最新
你家Wi-Fi即将过时?CES 2026揭秘Wi- ...
用一个经典Norton放大器,打造超简洁 ...
三星关停8英寸晶圆厂,专注高利润12英 ...
格罗方德收购新思科技ARC处理器IP业务 ...
三星子公司起诉美国政府,要求退还“ ...
晶湛半导体GaN功率器件实现关键突破 ...
斯坦福新突破!薄化GaN 结合金刚石热 ...
俄罗斯研究所开发了一种利用纳米金刚 ...
中科大,新型半导体材料,取得重要进 ...
即将推出 | 旋变解码芯片SR3511N与创 ...
EE直播间
更多
【瑞萨 边缘AI线上技术月】第三讲:为AI而生——瑞萨高性能AIMCU RA8P1介绍及应用
直播时间: 01月21日 19:30
【瑞萨 边缘AI线上技术月】第四讲:使用Reality AlTools基于数据创建微小型AI模型
直播时间: 01月28日 19:30
【瑞萨 边缘AI线上技术月】第五讲:使用RUHMI模型转换器部署BYOM模型
直播时间: 02月04日 19:30
频谱管理:从发现到决策
直播时间: 02月06日 10:00
在线研讨会
更多
Wolfspeed 功率器件设计指南 - 如何设计持续适应恶劣运行条件的高电压功率系统(上)
Wolfspeed 功率器件设计指南 - 如何设计持续适应恶劣运行条件的高电压功率系统(下)
村田产品解决方案在高速光模块中的技术创新探讨
博通霍尔电流传感器:产品介绍在线研讨会
热门
推荐
5节课系统掌握边缘AI,送200套开发板
【边缘AI第2讲】AI MCU/MPU技术及边缘AI案例
从散热瓶颈到散热突破:SiC系统设计
2节课,系统解决SiC设计的可靠性难题
我要评论
1
10
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/1
【直播中】5节课搞定边缘AI开发,送40套开发板
每周三晚19:30开播,共5讲—MCU/MPU实战案例与在线演示,系统深入掌握边缘AI开发!
一键报名5场,报名立领:瑞萨MCU/MPU/边缘AI资料集(共348页);
每场都送出40+块瑞萨MCU开发板,50元E卡/保温杯,数量多多!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
IIC Shenzhen 2025
行业及技术活动
嵌入式设计资源库
杂志免费订阅
EE直播间
白皮书
小测验
在线研讨会
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
用户1353238 2009-3-14 22:00