fir滤波器的fpga实现方法

fir滤波器的fpga实现方法

ID:25307394

大小:60.50 KB

页数:8页

时间:2018-11-19

fir滤波器的fpga实现方法_第1页
fir滤波器的fpga实现方法_第2页
fir滤波器的fpga实现方法_第3页
fir滤波器的fpga实现方法_第4页
fir滤波器的fpga实现方法_第5页
资源描述:

《fir滤波器的fpga实现方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、FIR滤波器的FPGA实现方法 摘要:为了给实际应用中选择合适FIR滤波器的FPGA实现结构提供参考,首先从FIR数字滤波器的基本原理出发,分析了FIR滤波器的结构特点,然后分别介绍了基于FPGA的FIR滤波器的串行、并行、转置型、FFT型和分布式结构型的实现方法,对于各种实现的结构做了分析、比较以及优化处理,特别是对基于FFT的FIR滤波器与传统卷积结构进行了精确的数值计算比较,最后得出满足于低阶或高阶的各种FIR滤波器实现结构的适用范围及其优缺点,并针对实际工程应用提出了下一步需解决的问题。关键词:

2、FIR滤波器;FPGA;FFT;分布式算法  中图分类号:TN710-34图4并行结构FIR滤波器转置型  2.4基于FFT的结构  应用快速傅里叶变换(fastfouriertransform,FFT)实现FIR滤波器是一种快速实现滤波算法的重要途径。  由式(1)可知,FIR滤波器的输出y(n)是输入x(n)与系统冲击响应序列h(n)的卷积,应用FFT可以快速实现卷积变换。如图5所示,先将输入信号x(n)通过FFT变换为它的频谱采样值X(k),然后再与FIR滤波器的频响采样值H(k)相乘,H(k)

3、可事先存放在存储器中,最后再将乘积X(k)H(k)通过快速傅里叶反变换(IFFT)还原为时域序列,即得到输出y(n)[7]。  图5基于FFT的FIR滤波器结构  为实现FFT,根据两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度N≥N1+N2-1,即将x(n)和h(n)补零至长度为N的序列,即:  x(n)=x(n),0≤n≤N1-1  0,N1≤n≤N-1  h(n)=h(n),0≤n≤N2-1  0,N2≤n≤N-1(4)  在基于FFT的FIR滤波器结构中,求X(k

4、),H(k)以及反傅里叶变换y(n)需要的乘法次数均为N/2log2N,而计算X(k)H(k)需要N次乘法,所以基于FFT的总乘法次数为mf=3/2Nlog2N+N。由于h(n)满足式(3)条件,所以直接卷积所需的乘法次数为md=1/2N1N2。假设N1=N2,则比较这两种乘法计算量有:  Km=mdmf=N1N22N(1+32log2N)=  N21(2N1-1)[2+3log2(2N1-1)](5)  表1不同点时的运算量对比  N1=N2KmN1=N2Km  80.312564.42  

5、160.495128.00  320.82102414.64  421.01204826.95  641.40409649.96  1282.47819293.10  从表1可知,当N1<42时,FFT法的运算量小于直接卷积的运算量,当N1=42时,FFT法的运算量与直接卷积的运算量相当,当N1>42时,FFT法的运算量大于直接卷积的运算量,并且随着N1增加,FFT法的运算速度越来越快,特别是N1=8192时,FFT法的运算速度与直接卷积相比快上将近100倍。  2.5分布式结构  2.

6、5.1分布式算法原理  分布式算法(distributedarithmetic,DA)于1973年就由Croisier提出[8],但是直到FPGA出现,才广泛的被应用于FPGA中计算乘累积和。  对于有符号数x(n)可以用下式的补码形式表示:  x(n)=-2BxB(n)+∑B-1b=0xb(n)×2b(6)  式中:xb(n)代表x(n)的第b位数字,取0或者1;xB(n)代表x(n)的最高位即符号位,当x(n)>0时,xB(n)取0,当x(n)<0时,xB(n)取1。  将式(6)代

7、入式(1)得:  y(n)=-2B∑N-1i=0xB(n-i)h(i)+∑B-1b=02b∑N-1i=0h(i)xb(n-i)(7)  对于式(7)中的h(i)xb(n-i)代表着输入数据x(n-i)的第i位与抽头系数h(i)的乘积,对于FIR滤波器,其系数h(i)是常数,所以可以事先构造一个查找表。该查找表存储所有h(i)xb(n-i)的乘积值,通过输入(xb(N-1),xb(N-2),…,xb(0))对该表寻址,然后将查得的值乘上2b后移位累加便得到滤波器输出y(n)。该查找表构造规则如表2

8、所示。  2.5.2基于分布式算法的FIR滤波器结构  基于分布式算法的FIR滤波器主要有3种结构类型。  (1)第一种结构为串行分布式结构。串行分布式FIR滤波器的原理为,首先用所有N个输入量的最低位对DA查找表进行寻址查值,得到一个部分积,将部分积右移一位即相当于除以2后放到寄存器中暂存。同时,N个输入量的次低位开始对DA查找表进行寻址查值,得到另一个部分积,把该部分积与上一个储存在寄存器中的值进行相加,相加后的值再右移一位放到寄存器中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。