新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于XC2V1000型FPGA的FIR抽取滤波器的设计

基于XC2V1000型FPGA的FIR抽取滤波器的设计

作者:时间:2015-01-06来源:网络收藏

  1 引言

本文引用地址:http://www.eepw.com.cn/article/267749.htm

  广泛应用在数字接收领域,是数字下变频器的核心部分。目前,的实现方法有3种:单片通用数字滤波器集成电路、DSP和可编程逻辑器件。使用单片通用数字滤波器很方便,但字长和阶数的规格较少,不能完全满足实际需要。使用DSP虽然简单,但程序要顺序执行,执行速度必然慢。现场可编程门阵列()有着规整的内部逻辑阵列和丰富的连线资源,特别适用于数字信号处理,但长期以来,用实现比较复杂,其原因主要是中缺乏实现乘法运算的有效结构。现在,FPGA集成了乘法器,使FPGA在数字信号处理方面有了长足的进步。本文介绍用Xilinx公司的XC2V1000型FPGA实现FIR抽取滤波器的设计方法。

  2 XC2V1000简介

  Virtex-Ⅱ系列是Xilinx公司近几年研发的具有高性能、高速度和低功耗特点的新一代FPGA,一经问世就备受界内人士的青睐。该系列FPGA基于IP核和专用模块设计,能够为电信、无线电、网络、视频和数字信号处理领域的应用提供完整的解决方案。XC2V1000是Virtex-Ⅱ家族的一员,具有如下主要特点:

  ●100万个系统门;

  ●40×32个可配置逻辑单元(5120个slice);

  ●40个18×18 bits乘法器,1个工作时钟内即可完成乘法运算;

  ●720Kbits RAM,可灵活配置(单口、双口、有使能或无使能等);

  ●8个DCM(Digital Clock Manager)模块;

  ●328个用户I/O。

  此外,Xilinx公司还提供了功能强大的开发平台(ISE),开发者可通过该平台完成全部设计。

  3 抽取滤波器的工作原理

  抽取滤波器的工作原理是在滤波过程中实现抽取。对于抽取率为N的抽取滤波器而言,不是每进入1个新数据就完成1次滤波运算,然后再抽取,而是当进来N个数据时滤波器才完成1次滤波运算,输出1次滤波结果。抽取滤波器的结果和先滤波后抽取的结果是一致的,只是对于同样的数据,进行滤波运算的次数大大减少。在数字系统中采用抽取滤波器的最大优点是增加了每次滤波的可处理时间,从而达到实现高速输入数据的目的。下面以抽取率为2的具有线性相位的3阶FIR抽取滤波器为例介绍抽取滤波器的实现过程。

  

 

  线性相位的FIR滤波器的系数具有某种对称的性质[1],3阶Ⅱ类FIR线性相位滤波器在数学上可以表示为

  

 

  其中,h(0)=h(3),h(1)=h(2)。其结构如图1所示。由图1可见,具有4个系数的3阶Ⅱ类FIR线性相位滤波器只需2次加法、2次乘法和2次累加就可以完成1次滤波运算。如果IPGA工作时钟为80MHz,输入x(n)的数据率也为80MHz,那么经2倍抽取后输出y(n)为40MHz。也就是说,抽取滤波器每完成1次滤波运算,需要2个工作时钟。如果加法器、乘法器和累加器在单个时钟内就能完成1次功能运算,那么只需1个加法器、1个乘法器和1个累加器采用流水线操作在2个工作时钟内就可以完成2次加法、2次乘法和2次累加运算,就可以完成一次抽取滤波。

  4 具体实现

  4.1 结构设计

  基于上述抽取滤波器的工作原理,笔者用XC2V1000实现了这个抽取率为2、具有线性相位的3阶FIR抽取滤波器,利用原理图和VHDL硬件描述语言共同完成源文件设计。图2是抽取滤波器的顶层原理图。其中,clock是工作时钟,reset是复位信号,enable是输入数据有效信号,data_in(17:0)是输入数据,data_out(17:0)是输出数据,valid是输出数据有效信号。addei18是加法器模块,mult18是乘法器模块,acc36是累加器模块,signal_36-18是数据截位器模块,fir_controller是控制器模块。控制器定时向加法器、乘法器和累加器发送数据或控制信号,实现流水线操作。

  

滤波器相关文章:滤波器原理


fpga相关文章:fpga是什么


滤波器相关文章:滤波器原理


电源滤波器相关文章:电源滤波器原理


数字滤波器相关文章:数字滤波器原理

上一页 1 2 下一页

关键词: FPGA 抽取滤波器

评论


相关推荐

技术专区

关闭