您的位置 首页 厂商

根据FPGA的FIR滤波器的完成

提出了一种采用现场可编程门阵列器件FPGA并利用窗函数法实现线性FIR数字滤波器硬件电路的方案,并以一个十六阶低通FIR数字滤波器电路的实现为例说明了利用Xilinx公司XC4000系列芯片的设计过程

跟着微电子技术的开展,选用现场可编程门阵列FPGA进行数字信号处理得到了飞速开展。因为FPGA具有现场可编程的特色,能够完结专用集成电路,因而越来越遭到硬件电路规划工程师们的喜爱。本文研讨了依据FPGA的FIR数字低通滤波器硬件电路的完结办法。用这种办法完结的滤波器内部电路结构透明化,并减小了体积,进步了作业效率。

1 用窗函数法规划线性相位FIR滤波器的办法

任何数字滤波器的频率响应H(ejω) 都是ω的周期函数,它的傅立叶级数展开式为:


傅立叶系数h(n)实际上便是数字滤波器的冲激响应。取得有限冲激响应数字滤波器的一种或许办法便是把式(1)的无量级数截取为有限项级数来近似,而众所周知的吉布斯现象使得直接截取法不甚令人满意。

窗函数法是用被称为窗函数的有限加权序列{w(n)}来修正式(2)的傅立叶系数,以求得要求的有限冲激响应序列hd(n),即有:

hd(n)=h(n)·w(n)        (3)

w(n)是有限长序列,当n>N-1及n<0时,w(n)=0。

这儿咱们仅以冲激响应对称,即h(n)=h(N-1-n) (n=0,1,2,…,N-1)时低通滤波器为例进行阐明。低通滤波器的频率响应函数H(ejω)如式(4)所示。

其间,ω为对抽样频率归一化的频率,ωc为归一化截止频率。

使用反傅立叶改换公式求出与式(4)对应的冲激响应h(n),如(5)式所示。

选用汉宁(Hanning)窗作为窗函数,函数如式(6)所示。

2 十六阶FIR低通数字滤波器硬件电路规划

下面以一个十六阶FIR低通滤波器为例阐明硬件电路的规划办法和进程。

2.1 规划目标和参数提取

2.1.1 规划目标

采样频率:≥1.25×106/S 精度:δmax≤±1
截止频率:37.5kHz
类 型:低通 输入数据宽度:8位
阶 数:16阶 输出数据宽度:16位

2.1.2 参数提取

选用上面介绍的低通滤波器的频率响应函数和汉宁窗函数进行规划。计算出的契合规划目标的线性相位16阶FIR数字低通滤波器的特性参数如下:

h[0]=h[15]=0.000000 h[1]=h[14]=0.001992
h[2]=h[13]=0.008241 h[3]=h[12]=0.018332
h[4]=h[11]=0.030784 h[5]=h[10]=0.043353
h[6]=h[9]=0.053550 h[7]=h[8]=0.059257

2.2 单元电路规划

FIR低通数字滤波器电路分为数据位扩展、并串转换器、移位寄存器组、前加单元、中心处理单元、后处理单元以及操控单元等部分,其构成框图如图1所示。

2.2.1 数据位扩展

这儿所规划的FIR数字滤波器输入是8位宽的,为了避免溢出,确保电路的正常作业,这儿选用符号位扩展办法,经过符号位扩展,总的输入数据宽度为9位。

2.2.2 并/串转换器

并/串转换器由9个2选1选择器和9个D触发器组成,结构非常简略,在此不再对其电路结构赘述。其作业进程为:并/串转换器以采样速率周期地采入8位样点数据,并输出1位数据流给后级的移位寄存器。

2.2.3 移位寄存器组

寄存器组首要完结移位功用。

2.2.4 前加单元

前加单元的首要功用是将移位寄存器输出的1位串行数据流进行预相加,它由一位串行加法器构成。XC4000系列芯片具有以下两个特色:

(1)内部根本单元CLB(可装备逻辑模块)包含三个函数发生器,别离以F、G和H符号。其间两个榜首级的函数发生器F和G,每个可完结4输入的任何函数,一起它们也能够与H函数发生器组合生成五输入的任何函数。此外,CLB还具有CLB内部连线比外部连线延时小的特色。

(2)XC4000系列供给了快速进位逻辑(Carray Logic)用来加快加法器和计数器的进位通道。使用快速进位逻辑、加法器和计数器,在占用最小数量CLB的状况下,却具有极快的作业速度。且该进位逻辑能够进行灵敏装备,以完结恣意长度的计数器和减法器。

因而,从进步芯片使用率、布线率,减小电路延时等方面考虑,有必要充分使用XC4000系列芯片的特色,对电路中的1位全加器作适合于FPGA特色的特别规划。图2电路为本文所选用的经优化后的包含快速进位逻辑的1位全加器电路,其间FMAP为函数映射,可将特定电路映射到CLB的F、G或H函数发生器中;CY4为快速进位逻辑宏单元。

2.2.5 中心处理单元

在FIR数字滤波器中,中心处理单元首要完结对来自前加单元的1位串行输出数据的相乘和累加功用。这儿选用依据ROM查表法的分布式算法进行中心处理单元的电路规划。

如前所述,本文仅考虑冲激响应对称的状况,即滤波器的系数是对称的,所以独立系数的数目应等于1/2的阶数。关于16阶的FIR滤波器来说,其独立系数的个数为8个。这8个独立系数按表1所示的各种组合存储于2个依据ROM的查找表内。

2.2.6 后处理单元

后处理单元的首要功用是对数据进行四舍五入和从数据流中取出需求的数据。完结四舍五入功用需求一个16位的加法器,取数据则需求16位并行D触发器。

2.2.7 操控单元

操控单元首要由计数器和D触发器组成。它对电路的操控首要包含:在电路开端作业前进行大局复位,作好作业预备;对输入单元的作业进行操控;供给中心处理单元正常作业所有必要的一些信号;供给终究输出成果时的输出同步信号(OUTSYN)。

2.3 电路原理及功用仿真

选用Xilinx公司的XC4005EPC84规划的16阶FIR低通数字滤波器的硬件电路最上层的电路原理图如图3所示。


图3是FIR数字滤波器的上层图,其输入输出管脚状况和硬件资源占用状况别离见表2和表3。


为了检测规划的电路能否接连正确地作业,接连输入了16位数据(十进制),别离为:100,101,102,103,104,105,106,107,-101,-102,-103,-104,-105,-106,-107。FIR数字滤波器硬件仿真成果(前16个输出)如表4所示。在表4中一起列出了依据文献[4]编写的程序所得到的软件计算成果。


从上述数据能够看出,软件仿真成果与硬件仿真成果比较,差错的绝对值均≤1,能够以为滤波器的硬件电路作业正确。

此外,为了验证此滤波器在边际值输入时能否正确作业,还进行了边际值测验。当输入数据是8位时,其两个边际值别离是+127和-128,对应16进制的7F和80。使用这两组数据做输入,得到的输出也与软件成果进行比照,能够证明此刻电路也能正确作业。

本文规划的16阶线性相位FIR数字低通滤波器,使用XC4005EPC84-2芯片完结时,处理数据的体系时钟频率为36MHz,采样速率为4MHz,计算成果和软件计算成果比较最大差错≤±1。在实际使用时,还能够依据不同精度要求,方便地对该FIR滤波器进行修改以满意不同的目标要求。别的,在本文规划的低通滤波器基础上,能够经过简略地重组滤波器特性参数,得到高通或带通滤波器。一起FPGA器材的可编程特性,可方便地对电路进行改善,便于电路功能的进一步进步。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/196614.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部