基于XC2V1000型FPGA的FIR抽取滤波器的设计
发布时间:2008/5/26 0:00:00 访问次数:646
    
    
    作者:国防科技大学atr实验室 佟力永, 肖山竹
    
    摘要:介绍xc2v1000型现场可编程门阵列(fpga)的主要特性和fir抽取滤波器的工作原理,重点阐述用xc2v1000实现fir抽取滤波器的方法,并给出仿真波形和设计特点。
    
    关键词:fir抽取滤波器;流水线操作;xc2v1000;现场可编程门阵列
    
    1 引言
    
    抽取滤波器广泛应用在数字接收领域,是数字下变频器的核心部分。目前,抽取滤波器的实现方法有3种:单片通用数字滤波器集成电路、dsp和可编程逻辑器件。使用单片通用数字滤波器很方便,但字长和阶数的规格较少,不能完全满足实际需要。使用dsp虽然简单,但程序要顺序执行,执行速度必然慢。现场可编程门阵列(fpga)有着规整的内部逻辑阵列和丰富的连线资源,特别适用于数字信号处理,但长期以来,用fpga实现抽取滤波器比较复杂,其原因主要是fpga中缺乏实现乘法运算的有效结构。现在,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硬件描述语言共同完成源文件设
    
    
    作者:国防科技大学atr实验室 佟力永, 肖山竹
    
    摘要:介绍xc2v1000型现场可编程门阵列(fpga)的主要特性和fir抽取滤波器的工作原理,重点阐述用xc2v1000实现fir抽取滤波器的方法,并给出仿真波形和设计特点。
    
    关键词:fir抽取滤波器;流水线操作;xc2v1000;现场可编程门阵列
    
    1 引言
    
    抽取滤波器广泛应用在数字接收领域,是数字下变频器的核心部分。目前,抽取滤波器的实现方法有3种:单片通用数字滤波器集成电路、dsp和可编程逻辑器件。使用单片通用数字滤波器很方便,但字长和阶数的规格较少,不能完全满足实际需要。使用dsp虽然简单,但程序要顺序执行,执行速度必然慢。现场可编程门阵列(fpga)有着规整的内部逻辑阵列和丰富的连线资源,特别适用于数字信号处理,但长期以来,用fpga实现抽取滤波器比较复杂,其原因主要是fpga中缺乏实现乘法运算的有效结构。现在,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硬件描述语言共同完成源文件设
热门点击
- OrCAD/PSpice9偏压点和直流扫描分
- 有限带宽信号的采样和混叠分析
- LTC6910系列数字控制可编程增益放大器原
- 四通道四象限模拟乘法器MLT04
- 可编程多路A/D转换芯片THS1206的原理
- 使用Verilog实现基于FPGA的SDRA
- 基于FCHIP2指纹芯片的应用方案
- PCB线路板抄板方法及步骤
- 基于Nios的掌纹鉴别系统设计与实现
- 模拟/数模混合电路加速仿真技术
推荐技术资料
- 泰克新发布的DSA830
- 泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]