首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 用CPLD实现FIR数字滤波器的设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
用CPLD实现FIR数字滤波器的设计
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2016-8-23 11:50
|
只看该作者
用CPLD实现FIR数字滤波器的设计
滤波器
,
寄存器
,
嵌入式
,
成本
,
电子
当前,无论在军事还是民用方面,对于数字信号处理的实时性、快速性的要求越来越高。可编程逻辑器件(PLD)由于在速度和集成度的飞速提高,越来越多的电子系统采用可编程逻辑器件来实现数字滤波。 Altera公司的FLEX10K是工业界第一个嵌入式的PLD,具有高密度、低成本、低功率等优点。器件的主要结构特点是除主要的逻辑阵列块(LAB)之外,首次采用了嵌入阵列块(EAB)。每个阵列块包含8个逻辑单元(LE)和一个局部互连。一个LE又由四输入查找表(LUT)、一个可编程寄存器和专用的载运和级联功能的信号通道所组成。
在FLEX10K器件中,把每一组逻辑单元(8个LE)组成一个逻辑阵列块(LAB),所有的逻辑阵列块(LAB)排成行和列。在一行里还包含一个单一的EAB。多个LAB和多个EAB采用快速通道互相连接。
嵌入式阵列块(EAB)是FLEX10K系列器件在结构设计上的一个重要部件。它是一个输入端口和输出端口都带有寄存器的一种灵活的RAM块,嵌入阵列块(EAB)组成的规模和灵活性对比较多的内存是适宜的。功能包括乘法器、向量的标准和误差矫正电路等。在应用中,这些功能又能够联合完成数字滤波器和微控制器的功能。
采用可编程的带有只读平台的嵌入阵列块(EAB)在配置期间可执行逻辑功能并建立一个大的查找表(LUT),在这个查找表里用查找的结果执行组合逻辑函数,而不用计算它们。显然,用这种组合逻辑函数执行比通常在逻辑里应用算法执行要快,而且专用EAB容易应用,并且快速提供可能预测的延迟。
本文介绍了应用Altera 公司的FLEX10K系列CPLD快速完成卷积的方法实现有限冲激响应(FIR)滤波器的设计。
查表法实现卷积运算方法
有限冲激响应(FIR)滤波器的基本结构如是一个分节的延时线,把每一节的输出加权累加,得到滤波器的输出。数学上表示为:
结构如图1所示。它由用一条均匀间隔抽头的延迟线上对抽头信号进行加权求和构成。
根据上式,可以看出FIR数字滤波器涉及到大量的卷积运算,使用常规硬件实现时会占用大量的资源。通过充分利用FLEX10K系列芯片所具有的查表结构,将卷积运算转化为查表移位求和来实现。例如:对于式
y = [ x(1) h(1) ]+[ x(2) h(2) ]+[ x(3) h(3) ] + [ x(4) h(4) ] (1)
假设x和h 都是无符号整型二进制数,宽度两位,取值两位如下:
h(1)= 01,h(2)= 11 ,h (3)= 10, h(4)= 11
x(1)= 11,x(2)= 00, x (3)= 10, x(4)= 01
从图2可以看到式(1)运算的实现。中间数据p1(n)中的4个数据实际上是乘数x(n)的最低位比特与h(n)相乘的结果,并且该值不是0就是h(n)。进一步考虑,中间数据p1和p2的值,既“100”和“011”是由不同的h(n)之和构成,而对h(n)的选择是由乘数x(n)的相同位的比特决定的。例如上图x(n)的最低位为1001,则p1的值为h(1) + h(4);其高位为1010,则p1的值为 h (1) + h(3)。因此利用Altera公司FLEX器件中的查找表(LUT)结构,预先将h(n)的各种组合存入查找表,则上例中的原需4次乘法 和3次加法的卷积运算转化为1次加法。图3显示了用查找表实现该例的结构。
用查表法实现卷积运算时,有并行和串行两种结构。图3中为并行结构,其中两个LUT是完全相同的。在并行结构中,LUT的数量根据x(n)的数据宽度决定。一位对应一个LUT,这样速度达到最大,在FLEX10K的结构中提供了两条专用数据通道,即进位链和级联链,通过级联链相邻的LUT可以用来并行计算函数的各个部分。
利用FLEX10K芯片实现FIR数字滤波器
FELEX10K系列芯片具有查找表结构,利用其实现采用全局并行的FIR数字滤波器,也即将输入x(n) 经过不同的延迟后同时进行处理。
FIR数字滤波器的层次结构图如图4所示:
控制器模块(contr)的作用是产生控制信号对延迟、并串转换、抽头系数、移位相加模块进行控制,以使它们按一定的形式组合在一起实现滤波器功能。控制器模块在接收到A/D转换结束信号后,依次产生移位寄存器使能信号、并行到串行转换的装入信号、移位相加的装入信号、加减控制信号和滤波结果输出信号等各种控制信号,使上述各个模块按照一定的时序进行操作,从而完成滤波功能。时延环节模块(shift-reg)的作用为使A/D转换后的数据通过不同的触发器,进而产生不同的延迟。并/串转换模块(p-s-ff)的作用是将通过时延模块产生的不同延迟分别同时转换为查找表的串行地址,提供给抽头系数模块。抽头系数模块(sub-rom)将抽头系数的各种组合固化在ROM中。它的地址输入端接收并/串转换模块的串行输出,然后查表得到卷积的中间数据.。移位相加模块通过将中间数据移位相加而实现两个数相乘的功能。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
测试测量
无线技术
嵌入式技术
软件开发
数字电路
DSP技术
医疗电子
消费电子
PCB综合技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议