首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
用户93777
修改
文章:
28
阅读:
255581
评论:
12
赞:
268
好友
私信
个人主页
文章
28
原创
0
阅读
255581
评论
12
赞
268
原创
基于FPGA实现FIR滤波器的研究
2007-8-23 16:38
3748
6
7
分类:
通信
基于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
医疗电子
工业电子
管理
写博文
点赞(
6
)
收藏
分享到:
上一篇:
cpld与fpga的区别
下一篇:
FIR数字滤波器分布式算法的原理及FPGA实现
PARTNER CONTENT
换一换>
更多>
赤池昌二先生升任TEL集团副总裁兼中国区总裁
Tokyo Electron
2025-03-04
全球知名科技公司正在出售一批未使用的IC载板先进封装工艺生产设备
ALLSURPLUS
2025-02-14
德中技术发布数控设备操作系统MOS V1.0版本软件
德中技术
2025-02-06
文章评论
(
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
阅读:
255581
评论:
12
赞:
268
好友
私信
个人主页
文章
28
原创
0
阅读
255581
评论
12
赞
268
最新评论
更多
写的好,大师之作,Deepseek AI越来越火
开发工匠 ...
评论博文
2025-3-6
DeepSeek成AI TV最优解?海信彻底坐不住了 ...
管理是人性的,AI,Deepseek会让管理者更好管理,更人性化
开发工匠 ...
评论博文
2025-3-6
AI永远不会取代管理者,只会改变管理者 ...
呵呵,见怪不怪,如今AI
自做自受 ...
评论博文
2025-3-6
本网站第二见怪事儿?
最新
博文
2025年全球邻苯二胺底物片市场深度调 ...
技术分享 | RK3568编译第三方驱动 ...
两会声音|TCL李东生:加强AI监管,优 ...
资料下载
本周热帖
RC拉普拉斯逆变换计算C上的充电曲线 ...
PCB电镀填孔药水介绍 macdermid VF-TH ...
ESP8266硬件设计指南
RAG全栈技术从基础到精通 ,打造高精 ...
高精度气压计与海拔传感器HP203N的技 ...
《极简图解电磁学基本原理》轻松入门 ...
MOS管选型十大陷阱:参数误读引发的血 ...
DP、HDMI 和 Type-C:接口解析与应用 ...
AD19 规则设置含义
这种5pin的 A座是否支持PD快充?PD是 ...
最新资讯
芯语最新
宇树科技深圳新公司成立,选址地机器 ...
三星电子工会批准加薪协议,今年涨薪5 ...
人工智能的下一个前沿应用:Agentic A ...
小尺寸FPGA如何发挥大作用
应用LM317正向稳压器,另辟蹊径的供电 ...
雷军:成功来得猝不及防
新能源商用车高压线束设计与布置 ...
国外一开发者用AI三小时做的小游戏9天 ...
一天打出两张“大牌”,华为余承东宣 ...
UTDOA技术,让你不再迷失方向! ...
EE直播间
更多
不一样的热像检测 - 电子产品的热像检测技术要点和案例分享
直播时间: 03月26日 10:00
利用高性能源表和强大的软件, 实现半导体参数的测试和分析
直播时间: 04月17日 00:00
在线研讨会
更多
迈来芯电流传感器:从汽车到工业与消费电子全面应用
如何在隔离的状态监控系统中捕获同步数据
助力AI服务器,思瑞浦I3C产品及相关模拟产品方案介绍
MAXQ™ Power转换器架构:性能零浪费
热门
推荐
工程师必看:B2900隐藏的15个超频测试模式
破解工业通信时延困局
开放·连接 2025玄铁RISC-V生态大会
芯片现货市场行情分析
我要评论
1
6
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/4
面包板社区有奖活动汇总楼
1. 拆解活动即将上线!2. 写原创,有奖励!3. 免费申领:开发板试用、书籍试读...
关于内容审核不通过原因的公告
为了给大家营造一个优质、高效的社区环境,保证论坛秩序和内容质量,现对内容审核不通过的原因进行说明
【赚大额E币】用AI来分析电路或编程!
用AI工具进行电子设计方面的工作?比如分析电路、元件选型、写代码...哪些AI大模型在硬件分析设计方面、编程方面的能力更强?
2025面包板社区&博客原创征集活动
2025 面包板原创征集活动继续! 好文有大奖!月月有奖励!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
用户1353238 2009-3-14 22:00