登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
单片机应用于方案
›
优化FIR数字滤波器的FPGA实现
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版
优化FIR数字滤波器的FPGA实现
[复制链接]
1139
0
ad***
管理员
发表在
单片机/DSP
2013-6-7 10:26:37
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
摘要:基于提高速度和减少面积的理念,对传统的FIR数字滤波器进行改良。考虑到
FPGA
的实现特点,研究并设计了采用Radix-2的Booth算法乘法器以及结合了CSA加法器和树型结构的快速加法器,并成功应用于FIR数字滤波器的设计中。滤波器的系数由Matlab设计产生。仿真和综合结果表明,Booth算法乘法器和CSA算法加法器树,在满足FIR数字滤波器的性能要求的同时,在电路实现面积上、尤其是速度上有明显的优化;并且当数据量越多时,优化也越明显。
关键词:Matlab;Booth算法;CSA算法;ISE
研究数字滤波器的意义就在于它们正日益成为一种主要的DSP(DigitaI Signal Processing)运算,并正在逐渐代替传统的模拟滤波器。它可以保证任意幅频特性的同时具有严格的线性相频特性。而现场可编程门阵列(Field Programmable Gate Array,FPGA)可并行执行的特点决定它更加广泛地应用于实时数字信号处理领域。不能想象今天的生活如果没有音频;视频和言语交际的样子,而这些都要应用数字信号处理技术。并且在任何时候,高性能,低规模,低成本都是设计的目标。滤波器(Finite Impulse Response,FIR)的实现方法有很多种,最常见的有串行结构和并行结构方法。前者根据FIR滤波器的实现表达式,将滤波器实质看作是做一个乘累加运算。一次乘累加运算的次数由滤波器的阶数来决定。这种方法使用硬件资源相对较少,但速度较慢。并行结构的方法,将滤波器的串行实现展开,就可以直接用多个乘法器和加法器并行实现,其可以在一个时钟周期内完成一次滤波,但要占用大量的乘累加器,器件延迟比较大。目前为了满足面积和速度的需要,人们通常采用Booth算法、CSD算法,分布式算法等技术对FIR设计进行优化,优化效果各有利弊。本文针对串行结构对乘累加运算的乘和加分别进行优化设计。分析了提高乘法器速度的途径;针对多数据量的运算,提出了一种新型的快速加法器的解决方案。体现了优化设计中提高速度和减小面积的设计理念。同时给出并实现了一个16阶FIR的设计实例。
1 用Matlab设计滤波器系数
利用Matlab软件的FDATool模块,选择滤波器类型为低通FIR,设计方法为窗口法,阶数为16,窗口类型为Kaiser,数据采样频率fs为4.8 kHz,滤波器的截止频率fc为1.08 kHz,导出的滤波器系数为16个15位的小数。将每一个系数扩大相同的倍数,最后四舍五人得到一系列整数系数。如下:
2 优化FIR滤波器在FPGA中的实现结构
2.1 FIR滤波器的基本算法原理
本文采用滤波器实现的基本的串行乘累加结构。FIR滤波器的差分方程可表示为:
式中:t为滤波器的阶数。
其直接运算结构如图1所示。
从公式(1)中可知FIR滤波器在硬件上的设计主要是完成乘累加功能,实现的一种方法是直接相乘累加。在实际应用中,当滤波器设计对滤波速度要求不高时,可采用串行结构或改进串行结构来实现,这样可以选取资源较少的器件,降低设计成本;当对滤波速度有较高要求时,可以考虑采用并行或DA来实现。但要进行FIR运算,尤其在阶数较高时,几乎无法在FPGA内实现并行结构,所以这里采用串行运算的结构,仅使用一个乘加器。所以本文的设计着重于提高串行结构FIR的速度。下面将介绍一种高速的Booth算法乘法器和高速的加法器。
2.2 乘法器设计
乘法器是数字信号处理电路中最常用的单元,20年前就已经研究的非常成熟。高性能乘法器是实现高性能的FIR运算的关键,乘法器的运算过程可以分解为部分积的产生和部分积的相加2个步骤。部分积的产生非常简单,实现速度较快;而部分积相加的过程是多个二进制数的相加,实现速度通常较慢。解决乘法器速度问题,需要减小部分积的个数、提高部分积相加运算的速度。在乘法器设计上这里着重研究能够减少部分积的Booth算法。
Booth算法乘法器可以减少乘法运算部分积个数,提高乘法运算的速度。本文讨论Radix-2的Booth算法,其基本算法思想是,一次看乘数的两个位,依照当前与前一位的不同,执行不同的操作。总结出Radix-2 Booth算法的编码规则如表1所示。
||更多精彩
分享到:
本页面信息由华强电子网用户提供,如果涉嫌侵权,请与我们客服联系,我们核实后将及时处理。
上一篇:无线通信基站系统T1电路测量方案
下一篇:烟支重量在线识别及控制
相关阅读
06-03[解决方案]1200V高频碳化硅
06-03[技术资讯]ATM / SONET MMF收发器
06-03[技术资讯]27日至930MHZ多通道接收机
06-03[设计应用]2.1A升压型稳压器
06-03[解决方案]600 MHz高速时钟发生器
06-03[新品播报]高度集成的PFC IC
06-03[技术资讯]IC设备智能电池组
06-03[技术资讯]多路复用器/多路解复用器开关芯片
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Allegro论坛
模电数电论坛
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
产品品牌:永嘉微电/VINKA 产品型号:VKL44A 封装形式:TSSOP48 概述 VKL144是
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
产品品牌:永嘉微电/VINKA 产品型号:VKL128 封装形式:SSOP44 概述 VKL128是一
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
产品品牌:永嘉微电/VINKA 产品型号:VK2C23A/B 封装形式:LQFP64/48 概述 VK2C
高抗干扰液晶驱动/点阵式液晶显示IC/VK2C21
产品品牌:永嘉微电/VINKA 产品型号:VK2C21D 封装形式:SOP16 概述 VK2C21D是
I2C通信接口段码液晶驱动芯片VK2C21C SOP20
产品品牌:永嘉微电/VINKA 产品型号:VK2C21C 封装形式:SOP20 概述 VK2C21C是
更多
精华推荐
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
高抗干扰液晶驱动/点阵式液晶显示IC/VK2C21
I2C通信接口段码液晶驱动芯片VK2C21C SOP20
VK2C21B SOP24高抗干扰LCD液晶段码驱动芯片
低成本、高性能、带EEPROM了解一下
工控仪表/水电气表LCD驱动/抗干扰液晶段码
更多
社区学堂
VKL144A TSSOP48 点阵式液晶驱动芯片/
高抗干扰液晶显示驱动/省电液晶驱动IC/
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
产品品牌:永嘉微电/VINKA 产品型号:VKL44A 封装形式:TSSOP48 概述 VKL144是
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
产品品牌:永嘉微电/VINKA 产品型号:VKL128 封装形式:SSOP44 概述 VKL128是一
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
产品品牌:永嘉微电/VINKA 产品型号:VK2C23A/B 封装形式:LQFP64/48 概述 VK2C
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表