基于SysGenFIR滤波器系数加载设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SysGenFIR滤波器系数加载设计

基于SysGenFIR滤波器系数加载设计   【摘要】本文介绍了基于SysGen开发环境实现数字下变频算法时的FIR滤波器系数加载设计。采用此技术可以大大节省滤波器设计时的FPGA资源占用,并有利于算法扩展,使得多通道、多带宽数字下变频系统能够在有限的硬件空间内实现。   【关键词】SysGen;滤波器系数加载;数字下变频;FPGA   1.引言   在应用FPGA实现的数字下变频系统中,FIR滤波器设计是占用硬件资源最多的,尤其是含多种信号带宽,且带宽相对于采样率较小的数字中频接收系统。为保证滤波效果,对每种带宽的接收信号需要设计各自对应的滤波器,而信号带宽远小于采样率时就要求滤波器的阶数必须设计得很大。在某些窄带数字接收系统中,为使数字下变频后的基带信号信噪比更好,可能需要在数字混频前增加带通滤波,而带通滤波不进行数据抽取,占用的FPGA资源更多。   针对这样的应用需求,若仍采用传统数字下变频的滤波器设计方式,即每种信号带宽的滤波器均并行平铺设计,那么在有限的硬件空间内只能采用更大容量的FPGA或增加FPGA在单系统中的数量才能实现。而采用FIR滤波器加载技术后,可以应用更少的FPGA资源实现更大的系统设计,不仅节约硬件成本,也利于算法扩展。   2.FIR滤波器核简介   使用Xilinx公司FPGA进行数字下变频设计时,通常在SysGen开发环境中实现算法。SysGen作为Matlab软件Simulink的一个插件,提供了大量的IP核给用户使用,本文应用FIR Compiler 5.0完成系数加载设计,如图1所示。din和dout分别为滤波器信号输入和输出端口,rfd为滤波器已准备好接收新数据的标志,coef_din、coef_ld和coef_we为系数重加载相关端口,其中coef_din为滤波器系数输入端口。对于数字下变频算法中的抽取设计,FIR Compiler提供了抽取滤波类型,这使得滤波和抽取算法能够同时实现,工程应用更加方便。   图1 SysGen中FIR滤波器IP核   3.系数加载工程实现   本文以某窄带雷达接收系统为例说明滤波器系数加载实现过程,信号中频为60MHz,采样率为80MHz,输入信号带宽包括1MHz、2MHz、3MHz和4MHz。信号处理系统要求对1MHz和2MHz带宽的信号,ADC采样后要经过带通滤波器,而对另外两种带宽的信号,仅需要低通滤波即可。低通滤波过程需要进行16倍抽取,得到5MHz速率的基带I/Q信号,算法实现结构如图2所示。   滤波器系数加载设计分为两部分:信号带宽为1MHz和2MHz的带通滤波器加载,以及3MHz和4MHz的低通滤波器加载。   3.1 系数存储   基于SysGen进行算法设计时,通常采用Matlab的FDATool工具实现FIR滤波器设计。FDATool是很好的界面化滤波器设计工具,只需根据系统需求设置滤波器的通带频率、截止频率以及带外抑制等参数,即可直观地得到滤波器的频率响应曲线、脉冲响应特性和系数等。FDATool设计产生的系数可以在FIR Compiler中直接调用,应用起来十分方便。   采用系数重加载设计后,滤波器的阶数设计不用局限于FPGA资源能否实现,这样滤波器的性能也得到较大提高。由于信号带通滤波时不需要抽取,滤波器阶数没有固定要求。低通滤波时需要完成16倍抽取,为便于不同版本的FIR Compiler IP核都能够实现系数重加载,滤波器阶数N与抽取倍数D最好满足(N+1)/D=2M(其中M为正整数),这是系数加载设计中抽取与非抽取的最大区别,也是低通抽取滤波器能够实现系数加载的关键。   为便于系数加载的工程实现,不同信号带宽滤波器的阶数应该设计一致,这样便于系数缓存至相同深度的ROM中,并且利于读取逻辑设计。由于带通和低通滤波器系数分别重加载,这样阶数可以分别相同。考虑到FIR滤波器系数均为对称结构,因此只需存储一半系数,这样可以节省存储占用的FPGA资源。以带通滤波器为例,SysGen中实现的1MHz和2MHz滤波器系数存储设计如图3所示,根据不同的信号带宽选择相应的系数。   3.2 加载控制时序   滤波器系数加载设计需要严格保证coef_ld、coef_we和coef_din等加载相关端口的时序关系,如图4所示。   coef_ld端口表示新的系数加载周期的开始,需要至少保持一个时钟周期的高电平;coef_we端口则表示加载系数的有效标志,可以在coef_ld下降沿后的任何时刻开始起效,时间长度与需要加载的系数保持一致;coef_din端口为系数输入端,在最后一个系数加载完成两个时钟周期后,加载的系数开始起效。SysGen中实现加载控制设计如图5示,其中load_ld_begin、l

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档