当前位置:首页 > 演讲稿 > FIR数字滤波器设计与软件实现_基于FPGA的高速FIR滤波器设计
 

FIR数字滤波器设计与软件实现_基于FPGA的高速FIR滤波器设计

发布时间:2019-02-28 03:47:37 影响了:

  摘要 在数字无线电中,高速的FIR滤波器起到重要的作用。因此,提出了一种基于FPGA的高速FIR滤波器设计方案,并采用Quartus II软件和Matlab软件对该方案进行了开发、仿真和验证。该方案设计的FIR滤波器具有运算速度快、实时性好和节省硬件资源的特点,能广泛应用于各种滤波领域。
  关键词 FPGA;FIR滤波器;Verilog HDL;Matlab
  中图分类号TN911 文献标识码A 文章编号 1674-6708(2011)34-0201-02
  在现代信号处理和电子应用技术领域,系统的设计正朝着高速、实时的方向发展。在数字系统中,特别是在无线通信系统中,除A/D转换前的抗混叠滤波和D/A转换之后的抗镜像滤波必须采用模拟滤波器外,其它场合可以优先采用数字滤波器。而滤波器主要作为系统的前端部分,对信号进行预处理。滤波性能的优劣直接影响着下一级的信号处理。因此,高性能的滤波器在系统中占据着重要位置。
  FIR滤波器由于具有严格的线性相位特性以及易于实现等特点在数字信号处理中被广泛应用。目前FIR滤波器主要有3种实现方式:第1种,采用DSP处理器实现;第2种,采用专用信号处理芯片实现;第3种,采用可编程逻辑器件FPGA实现。第1种实现方式使用灵活,但是由于其结构的限制不能进行并行运算,对于FIR阶数较高或者数据位宽较宽的情形,处理速度通常无法满足实时性的要求;第2种实现方式实时性好,由于其通用性差,经常无法满足特定的滤波需求;第3种实现方式,由于FPGA具有高逻辑密度、可编程以及能够可并行计算等优点,能够很好地满足通用性和实时性的要求。因此,采用FPGA实现FIR滤波器成为高性能FIR滤波器的优选方案。
  1 数字滤波器的原理分析
  1.1 数字滤波器的分类
  数字滤波器是从分析信号提取用户需要的信息,滤去不需要的信号成分或者干扰成分。可以从时域或频域进行信号滤波设计。时域滤波主要是根据信号和噪声之间的统计特性差异完成滤波的。频域滤波是要提取或抑制所分析信号中某些频带的信号成分,要求信号和被滤除的信号在频域具有可分性。
  1.2 数字滤波器的数学模型
  线性时不变数字滤波器的数学模型有多表示方法,在时域中可以用线性常系数差分方程给出:
  当dk值不全为零时,该滤波器Z域系统函数至少包含一个极点,此时相应的单位脉冲必定无限长,所以常被称为无限冲激响应(IIR)数字滤波器。对于一个稳定的数字系统,极点必须都在单位圆内部。当dk值全为0时,Z域系统函数只有零点,数字滤波器的单位冲激响应有限,通常被称为有限冲激响应(FIR)滤波器。
  2 FIR滤波器理论与结构
  FIR滤波器有直接型、级联型和频率抽样型三种基本结构,其中直接型是最常见的结构,其差分方程表达式为:
  式中,N是滤波器的阶数。可以看到,FIR滤波器的输出是x(n)与单位脉冲响应h(n)的直接卷积。这种结构也称为抽头延迟线结构,在实现的过程中,每一抽头的信号被适当的系数(脉冲响应)加权,然后将所得乘积相加就得到输出y(n)。
  线性相位FIR滤波器的结构如图1所示:
  3 FIR滤波器设计
  3.1 FIR滤波器的设计流程
  FIR滤波器的设计流程如图2,先确定滤波器的特性要求,借助Matlab数学软件计算抽头系数,在Quartus II软件上用硬件描述语言进行逻辑设计,用第三方仿真软件Modelsim进行功能仿真和时序仿真,最后把程序下载到开发板上进行测试。
  3.2 FIR滤波器设计举例
  本文以设计一个低通滤波器为例,按系统设计的要求,FIR 滤波器的设计指标确定如表1。
  FIR滤波器的冲激响应h(n)的确定主要有频率抽样法、最佳一致法和采用窗函数法。其中采用窗函数法是一种较为成熟的方法,本文选择的窗函数是Kaiser窗。具体实现是使用MATLAB软件中start目录下Toolboxes工具箱中的Filter Design的Filter Design& Analysis Tool(FDA Too1),调用滤波函数fir1(),选择相应的参数:滤波器类型,窗类型,采用频率Fs,截止频率Fc,阶数,即可以得到符合设计指标的51阶线性相位FIR数字低通滤波器的特征参数。设计代码如下:
  Wn=[0.136];
  n=50;
  window=chebwin(n+1,24);
  b=fir1(n,Wn,"low",window);
  [h,w]=freqz(b,1,512,2);
  plot(w*16000,20*log10(abs(h)));
  grid
  xlabel("频率Hz");
  ylabel("幅度dB");
  图3是由以上代码得出51阶FIR滤波器幅频特性图,信号在2kHz时开始进入过渡带。
  图4是用Verilog HDL语言描述的RTL级功能图,FirRom模块存储h(n)系数表,FirRam模块存储每一个输入的样本数据,Mult模块实现乘法功能,Fir51是总控制模块,使每一次输入,对51个数据进行加权运算。
  3.4 FIR滤波器仿真结果分析
  图5所示,输入信号是一个方波,经过FIR滤波器后,输出信号为一正弦波。仿真结果表明,此FIR滤波器能够实时4 结论
  FIR滤波器在数字信号处理领域有着广泛的应用。本文采用高速对称型算法设计了51阶的低通滤波器,并在FPGA上进行了系统仿真。仿真结果表明该方法不仅提高系统的运算速度而且占有较少的硬件资源,另外可以通过修改查找表的内容,很容易实现同阶数的高通,带通滤波器。
  
  参考文献
  [1]王学梅.基于FPGA的有限冲激响应数字滤波器的研究及实现[D].长沙:中南大学,2004.
  [2]李明伟,黄世震.应用分布式算法在FPGA平台上实现FIR低通滤波器[J].中国集成电路,2007,2:50-51.
  [3][美]John G,Proakis,Dimitris( Manolakis).数字信号处理[M].4版.北京:电子工业出版社,2007.
  [4]刘海兵,刘雄飞,张德恒.基于FPGA的数字滤波器的设计与实现[J].现代电子技术,2006,29(15):70-71.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3