- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SOPC的FIR数字滤波器的设计
摘要:为了探讨如何优化设计数字滤波器系统课题,本文首次提出了利用可编程的片上系统 (SOPC)技术,釆用基于SOPC的软硕件协同开发方法,设计了一个高速的、软件灵活配置 的一个片上FIR系统,同时给出了硬件系统设计方法和软件系统的设计流程,还探讨了软硬 件协同仿真和验证方法。在此系统上,用软件可以泄制各种类型的FIR滤波器系统,包括自 适应的FIR滤波器系统,又能满足系统的高速的要求。FIR (Finite Impulse Response有限 冲激响应)数字滤波器在数字通信系统屮,被人量的用于实现各种功能,如低通滤波、带通 选择、抗混叠、抽取和内插等。
目前FIR滤波器的实现方法有三种:利用单片通用数字滤波器集成电路、DSP器件和可 编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完 全满足实际需要。使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度必然不快。 对编程逻辑器件虽然川以并行处理数据和定制不同精度要求,但是它很难实现算法复杂的滤 波器。随着当今集成电路的高速发展,一种新的可编程的片上系统技术(SOPC)也发展起来, 这里我们用SOPC技术结合传统数字滤波器的两种实现方法,既可以很好满足数字处理的高 速的要求,又容易实现复杂的算法。
1 FIR滤波器的原理与设计
对于一个FIR滤波器系统,它的冲激响应总是有限长的,其系统函数可以记为:
H⑵二土林厂
心0
最基本的FIR滤波器可用下式表示:
y(”)二 ⑺-7)饨)
其中:x(n)是输入采样序列,h(n)是滤波器系数,L是滤波器的阶数,y(n)表示滤波器的输 出序列。用卷积来表示:
y(n)=x(n)?h(n)
图1中显示了一个典型的直接一型的3阶FIR滤波器,其输出序列y(n)满足下列等式: y(n)=h(0)x(n)+h(l)x(n-l)+h(2)x(n-2)+h(3)x(n-3)
在这个FIR滤波器中,总共有3个延时结、4个乘法单元、一个4输入的加法器。如果 采用普通的数字信号处理器(DSP Processor)来实现,只能采用顺序的方式执行延时、乘加 操作,不可能在一个DSP处理器指令周期完成,必须用多个指令周期完成。但是,如果采 用FPGA来实现,就可以采用并行结构,在一个吋钟周期内得到一个FIR滤波器的输出。而 且从图1中对以看出所示的电路结构是一种流水线结构,这种结构在硬件系统中有利丁?并行
高速运行。▼V(n)
高速运行。
▼
图1 3阶FIR滤波器结构
在SOPC中的硕件模块可以独立成为一个功能块,也可成为SOPC系统的一个组成模块, 甚至可以成为Nios嵌入式系统中一条自定义的指令对应的加速器模块。以下将设计一个可 输人参数、方便调用、支持DMA方式的16阶FIR滤波器模块,作为SOPC系统的一个组 成模块。
为了使该滤波器方便来回调用,在Xin输入后插入一个延时,同时让Z0的系数项h(0) 恒为0。FIR滤波器处理的往往是信号流,增加延时单元不会影响处理结果,只是让系统增 加了一个时钟周期。对于该FIR滤波,其系统函数表示为:
H(z)=h(l)z_1 +h(2)z_2+h(3)z3+h(4)z_4
其中h(n)作为输入端口。由于浮点运算所需的硬件资源太大,所以将参数进行量化处理 后再输入到端口。
采用4个4阶的FIR滤波器级连在一起构成一个16阶的FIR滤波器,有16个参数输入 端口,系统依然是流水线的结构,其系统函数表示为:
16
H(z X h(n)z “
n w 1
据此设计一个4阶的FIR滤波器模块:
module FIR_Rank4(clk,rstzchipselect,fir_in,fir_outzcoffl,coff2,coff3,coff4)
这个模块将作为下面设计的16阶的FIR滤波器的子模块来调用,它的接口的定义:elk 系统吋钟、「st同步复位而1=1.可以清空所有的参数寄存器、chipselect是片选信号、fir_in是 输入的处理信号、fir_out是输111处理完的信号、coff_x是系统的滤波系数。
为了更加有效地利用总线资源,在FIR滤波器单元加入缓存器,在数据输入端加人1K16 位宽的FIFO,在数据输出端加入同样大小的FIFO.
整个FIR滤波器的硬件模块可分为:一个管理控制模块MCU、一个16阶的FIR模块和2个 FIFO模块,如图2所示。
Avanon BUS and Coiirol BUS
Avanon BUS and Coiirol BUS
图2 FIR滤波器系统
FIFO模块是利用FPGA的Block RAM生成的,加入输入输出两个FIFO可以让FIR系统 支持DMA,提高整个系统的效率。FIR_X是一个四阶的
FIR滤
文档评论(0)