首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 级联信号处理器的FPGA实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
级联信号处理器的FPGA实现
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-23 11:47
|
只看该作者
级联信号处理器的FPGA实现
实际应用
,
处理器
,
滤波器
,
领域
,
矛盾
0 引 言 在数字信号处理领域,滤波器无疑是个非常重要的环节。而在数字滤波器中,有限脉冲响应(FIR)滤波器因为其线性相位的特点,应用尤为广泛。实际应用中FIR滤波器分为常系数FIR滤波器和变系数FIR滤波器。常系数FIR滤波器的系数固定不变,可根据其特点采用分布式算法进行设计,故实现起来速度快,消耗的资源少。变系数FIR滤波器的系数是不断变化的。当前含有变系数FIR滤波环节的芯片普遍存在速度与处理级数的矛盾,有效解决此问题具有重要的现实意义。
随着片上系统(SOC)时代的到来,可编程逻辑器件不仅为FIR滤波器的设计提供了一条可行而高效的方法,而且更被广泛地使用于数字信号处理的各个领域。采用INMOS公司的IMS A100级联型信号处理器为模板,以FIR滤波器设计为核心,用FPGA技术开发设计级联型信号处理器,能够应用于数字FIR滤波、高速自适应滤波、相关和卷积、离散傅里叶变换、脉冲压缩、线性预测编码语音处理、高速定点矩阵乘法等,有较好的应用前景和发展空间。
1 FIR滤波器结构设计
传统的FIR滤波器横向结构如图1(a)所示,为提高系统处理速度,求和单元∑可采用流水线结构。图中的N阶滤波器从系统开始工作到第一个输出数据有效,需经过N个周期,系统最大速度是由一次乘法和N个乘法结果求和运算消耗的时间决定,因而运算速度很低。采用流水线结构后,运算速度则由一次乘法运算决定,运算速度得到提高。为了系统结构的有效设计,根据FIR滤波器结构的可逆性,可采用图1(b)所示的转置结构。
在横向滤波器的转置结构中,N个相同的处理单元级联就组成了滤波器,因此系统能在保证计算结果不溢出的前提下,只改变级联处理单元的数目就能方便地调整滤波器的级数。在t=KT时,滤波器的输出为:
实际应用中常常会用到高阶FIR滤波器,但一块芯片的资源和容量毕竟有限,不能很好地满足设计要求。从图1(b)所示的结构可以看出,多片FIR滤波器可以级联起来,构成高阶FIR滤波器,无需任何附加逻辑,也不会降低运算速度,同时保持运算精度,故对比后优先选择图1(b)的滤波器转置结构。
考虑到FIR滤波器系数的对称性,在横向滤波器的转置结构中再加入一条反向相加、延时支路,把单片FIR滤波器的级数由N扩展到2N,适合于阶数M为N<M≤2N的滤波器使用。系统只需用一个信号便可实现对芯片级联使用或单片使用的控制,具体实现结构如图2所示。
为了让设计的信号处理器能用于自适应信号处理、快速傅里叶变换等领域,还必须使系统能根据用户的要求实时改变当前系数。一般有两种方案可以实现:一是通过一个写入端口直接修改当前系数;二是准备多组备用系数,并可以在与系统工作时钟异步的情况下对这些备用系数进行修改。方案一可以节省一定的系统资源,但对一组当前系数的修改需要较长时间,且此段时间内系统无法正常工作,故实时性较差;方案二虽然消耗了较多的系统资源,但系统能在准备系数(即修改备用系数)时正常工作,修改当前系数只需将当前系数和备用系数交换,交换系数的过程只需一个时钟节拍即可完成。综合考虑各方面因素,方案二具备更好的系统性能,故优先选择方案二。
2 系统设计与FPGA实现
图2的FIR滤波器结构是高速、高精度的数字式横向滤波器结构,在数字信号处理应用中可作为功能块,完成高速离散傅里叶变换、卷积和相关,以及滤波功能。级联型信号处理器的设计正是基于此结构,其FPGA实现的总体结构如图3所示。
此级联型信号处理器的外部输入数据Din字长16位,系数字长16位,输入数据和系数均采用二进制补码方式。内部有A,B两组系数寄存器,一个存储当前系数,另一个存储修改系数,用户可通过数据线D在与系统时钟异步的情况下对系数进行修改,也可使A,B两组系数在系统工作的过程中相互“交换”。系统具有用户控制切换和系统自动切换两种系数切换方式。为了保持完整的数据精度,对于延时、乘法和相加链的中间结果是以满精度进行运算的,若N=2K,则系统的满精度为31+K位,考虑到单片使用时N级可扩展到2N级,所以应选用的满精度为32+K位,本系统采用32阶滤波器设计,故满精度为37位。在延时、乘法和相加链的输出端,设计一个可编程的桶形移位器(即数据选择单元),它可从四组24位数据字段[7~30],[11~34],[15~38]和[20~43]字段中任选一种,这四组字段从FIR滤波器输出的37位结果[0~36]中得到,所选的24位在输出前需进行舍入或符号扩展,至于如何选择,则根据实际应用而定。另外,本系统还为用户提供了系统复位(reset)、工作许可(go)、状态监测(error,out-ready)等常用握手信号。用户可以读写控制逻辑中的状态控制寄存器来切换当前系数,选择输出字段和设置系统工作模式(单片或级联,当系统课用于级联时,Cin为级联输入),其内部寄存器的详细描述见表1。
用户还可以通过数据线D、地址信号address、读写控制信号W、系统使能信号Ce、片选信号Cs等对系数寄存器A,B以及状态控制寄存器进行读写。
收藏
分享
评分
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议