- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于fpga的高阶高速fir滤波器的设计与实现
1 fir滤波器的改进
无线通信的标准滤波在无线通信中发挥着重要作用。一般来说,低通滤波器近距离,相应的线性相位特性(fir)滤波器越来越受到重视。近年来,针对FIR滤波器的重要应用,很多研究者进行了大量的研究工作,内容包括FIR滤波器系数的简化、FIR滤波器结构的改进、可编程FIR滤波器的设计、可编程FIR滤波器的高速设计,本文在前面研究的基础上,在FPGA中对高阶FIR滤波器进行了优化设计,并对其性能进行了仿真和分析。
本文通过对一个169阶的均方根升余弦(SRRC)滤波器(滚降系数为0.05)的结构设计,介绍了一种适合在FPGA中实现的高阶高速FIR滤波器的流水线结构。
2 滤波器及滤波器的设置
在数字滤波器尤其是高阶数字滤波器设计时,由于受可编程逻辑器件资源的限制,直接把传统的硬件结构翻译成流水线结构会使可编程逻辑器件的逻辑门的数目急剧增加,因此必须对滤波器的系数以及滤波器的结构做一定程度的处理,在本设计中,以CSD算法来表示滤波器系数,采用并行处理流水线结构。
2.1 ami编码
利用CSD算法对滤波器系数进行编码,把所有系数表示为H=a0×20+a1×21+…+aM-1×2M-1的形式,其中am由CSD编码来确定,只能是0、1或者-1,M为用CSD算法表示滤波器系数时所需的最大位数。根据线性相位滤波器系数对称的特性,滤波器输出y(n)可以表示为:
y(n)=∑i=0int((N?1)/2)(x(i)+x(N?1?i))(a0i×20+a1i×21+?+a(M?1)i×2M?1)(1)y(n)=∑i=0int((Ν-1)/2)(x(i)+x(Ν-1-i))(a0i×20+a1i×21+?+a(Μ-1)i×2Μ-1)(1)
其中ami是0、1或者-1,它代表第i个系数在CSD编码中的2m次幂的对应值。进一步推导,则式(1)可写为:
y(n)=∑i=0int((N?1)/2)(X(i)×a0i)×20+∑i=0int((N?1)/2)(X(i)×a1i)×21+?+∑i=0int((N?1)/2)(X(i)×a(M?1)i)×2M?1=∑m=0M?1∑i=0int((N?1)/2)(X(i)×ami)×2my(n)=∑i=0int((Ν-1)/2)(X(i)×a0i)×20+∑i=0int((Ν-1)/2)(X(i)×a1i)×21+?+∑i=0int((Ν-1)/2)(X(i)×a(Μ-1)i)×2Μ-1=∑m=0Μ-1∑i=0int((Ν-1)/2)(X(i)×ami)×2m
其中X(i)=x(i)+x(N-1-i) (2)
由于ami的值只能是0、1或者-1,乘2m在FPGA实现中对应着移位操作,则式(2)中∑i=0int((N?1)/2)(X(i)×ami)×2m∑i=0int((Ν-1)/2)(X(i)×ami)×2m实际就是n(n≤int(n+1)/2)个数并行加法操作后进行移位处理的结果,式(2)为我们在FPGA中实现高阶高速FIR数字滤波器提供了理论依据。
2.2 基于16阶均方根升余弦滤波器的优化结构
文献介绍了基于CSD系数的高速FIR滤波器的设计方法,通过对存储区里的输入数据进行逐个移位相加来满足高速的要求,如果应用到169阶这样的高阶滤波器,它所消耗的资源会比较大,因此本文在式(2)的基础上,提出了一种更节约硬件资源的改进结构,以169阶均方根升余弦滤波器为例,其结构如图1所示。
输入数据首先输入到一个深度为169的移位寄存器,根据滤波器线性相位的特性完成对称数据相加操作,对称相加后的数据按照式(2),对2的所有相同(0~13)次方的数进行求和(差)运算后再统一进行移位,这样完成整个运算只需要进行13次移位操作。相对于文献提出的实现结构,在加法次数相当的情况下,节约了大量的移位器,同时也减少了进行加法运算时所需要的位宽,移位后的13路信号再送入并行加法处理模块,最后输出滤波信号。
2.3 折中滤波器结构
并行加法器流水线结构如图2所示。
如图2所示,并行加法器由双操作数加(减)法器和寄存器组成,因此电路的工作速度主要取决于加法器和寄存器的工作速度,整个结构中参与求和(差)的操作数只有两个,因此要达到百兆以上的速度是完全可以满足的,与普通的并行流水线结构相比,这种滤波器结构对速度和资源进行了折中考虑,使滤波器在满足较高速度要求的情况下尽量减少资源消耗,同时硬件的复杂度也得到降低。
2.4 理论滤波后的采样结果对比
我们使用Altera公司的QuartusⅡ5.0进行了仿真验证,输入为带符号有直流分量的16位随机数,由Matlab产生后导入,仿真后由Matlab读出结果进行分析,用Matlab进行的理论滤波之后的时域采样值与本设计得到的时域采
原创力文档


文档评论(0)