基于FPGAIIR带通数字滤波器设计及仿真.docVIP

  • 3
  • 0
  • 约3.91千字
  • 约 8页
  • 2017-09-02 发布于福建
  • 举报

基于FPGAIIR带通数字滤波器设计及仿真.doc

基于FPGAIIR带通数字滤波器设计及仿真

基于FPGAIIR带通数字滤波器设计及仿真   【摘要】该文给出了用Matlab设计IIR带通数字滤波器的方法,利用Matlab语言进行程序设计出二阶环为基础的并联结构模型,通过在Matlab环境下仿真软件Simulink对设计的带通滤波器进行了动态仿真,确定了滤波器系数的量化字长。从仿真结果来看,设计的带通数字滤波器既满足滤波器的选频特性,又优化了硬件资源。在实际的应用中,可以根据不同FPGA资源灵活修改滤波器系数,在不同规模的FPGA上实现。  【关键词】无限脉冲响应;带通数字滤波器;量化字长;现场可编程门阵列    1.引言  在数字信号处理的领域内,数字滤波技术是极其重要的一个分支。无论是信号的获取、传输,还是信号的处理和交换都离不开数字滤波,它对于信号安全有效的传输是至关重要的[1]。在主要的两类数字滤波器中,IIR(无限脉冲响应)滤波器被广泛使用。  Matlab是美国MathWorks公司出品的数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境[2]。其中Matlab自带的信号处理工具箱,具有强大的信号处理和分析功能,它提供了丰富简便的设计,使原来繁琐的程序设计简化成函数的调用,这样便可以快速有效的实现数字滤波器的设计与仿真。 毕业论文  FPGA(现场可编程门阵列)以其优越的实时性和设计灵活性成为了控制系统中不可或缺的一部分,它可利用Simulink设计仿真的有限字长IIR滤波器自动生成VHDL或Verilog代码,下载至FPGA实现滤波器功能[3]。本文研究了基于FPGA有限字长的IIR带通数字滤波器的相关理论,设计方法及仿真。  2.IIR数字滤波器设计基本原理  数字IIR滤波器的设计都是基于模拟IIR滤波器,之后将其转化为等价的数字滤波器[4]。其中冲击响应不变法是一种较为常用的方法。其总的变化流程如下:   (1)  考虑到传统滤波器计算量大,滤波特性不宜调整等缺点,如何解决这些问题便显得极为关键。利用Matlab强大的数字信号处理和计算能力可快速有效的设计数字滤波器,不仅极大的简化了计算量,而且它可以随时对比设计要求和滤波器特性进行参数调整,方便灵活[5]。  3.基于FPGA的IIR滤波器设计  3.1 滤波器设计方法的选择  高阶IIR数字滤波器的系统传递函数可表示为:  根据滤波器传递函数H(z)的不同表达形式,可以得出不同的实现结构。相对较为常用的3种结构为直接型,级联型和并联型。其中直接型对系数的敏感度最高,受有限字长造成的影响最大。级联型H(z)的连接顺序具有很大的自由度,因此在实际设计中这些组合方式,比例变化和H(z)的连接顺序等都会产生很大的问题。并联型滤波器则可以很好的克服上述两种结构的缺点,因此在滤波器极点不重复时,并联型滤波器被广泛使用。 毕业论文  在相同性能的要求下,椭圆滤波器比巴特沃斯和切比雪夫滤波器所需的阶数低,且过渡带窄,可获得更好的选频特性。  3.2 Matlab程序设计  通过Matlab设计的带通滤波器部分代码如下:  N=5;  Wn=[1000 2000]/4000;  [b,a]=ellip(N,1,60,Wn);  [r,p,k]=residuez(b,a);  [b1,a1]=residuez(r(1:2),p(1:2),[]);  [b2,a2]=residuez(r(3:4),p(3:4),[]);  [b3,a3]=residuez(r(5:6),p(5:6),[]);  [b4,a4]=residuez(r(7:8),p(7:8),[]);  [b5,a5]=residuez(r(9:10),p(9:10),[]);  上述程序给出了椭圆滤波器模型设计的10阶并联型结构的数字滤波器[6]。通带为频率1000~2000Hz,采样频率8000Hz,通带衰减1dB,阻带衰减60dB。  3.3 滤波器稳定性问题  二阶IIR滤波器传递函数为:  从式中可以看出,为确保稳定性,极点必须位于单位圆之内(即|p1|<1,|p2|<1),因此可以得到:  由Schur-Cohn稳定性测试可以得到a1和a2的关系为:  只要满足上述两式的关系,就可以保证滤波器的稳定性。  理论设计出的滤波器系数是无限精度的,但在实际的应用中,所有的系数都必须是以二进制数储存在计算机中,这就要求量化系数,取有限精度的字长,相应造成滤波器零极点的位置发生偏移,使得实际的频率响应和理论情况有所出入,情况严重时还可能使滤波器极点偏移至稳定单位圆外,造成整个系统不稳定。 毕业论文  导致这些不稳定的因素主要有两方面体现:溢出和极限环。溢出问题可以通过饱和模式、保护位、对信号和/或系数进行缩放等消除溢出效应;而对于极限环所造成的不稳定,

文档评论(0)

1亿VIP精品文档

相关文档