数字全通滤波器设计研究电子科技论文
在数字信号处理的领域内,数字滤波技术是极其重要的一个分支。小编整理的数字全通滤波器设计研究电子科技论文,希望你能从中得到感悟!
数字全通滤波器设计研究电子科技论文篇一
基于FPGA的IIR带通数字滤波器设计与仿真
【摘要】该文给出了用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的关系为:
只要满足上述两式的关系,就可以保证滤波器的稳定性。
理论设计出的滤波器系数是无限精度的,但在实际的应用中,所有的系数都必须是以二进制数储存在 计算机中,这就要求量化系数,取有限精度的字长,相应造成滤波器零极点的位置发生偏移,使得实际的频率响应和理论情况有所出入,情况严重时还可能使滤波器极点偏移至稳定单位圆外,造成整个系统不稳定。
导致这些不稳定的因素主要有两方面体现:溢出和极限环。溢出问题可以通过饱和模式、保护位、对信号和/或系数进行缩放等消除溢出效应;而对于极限环所造成的不稳定,可以通过截尾法、降低滤波器阶数、使用更多位来提高精度,移动极点使其远离单位圆等方法来消除极限环[7]。总之,在FPGA上实现IIR滤波器之前,检查其稳定性和有限字长效应是非常重要的。
3.4 滤波器系数量化精度造成的影响
在Simulink滤波器模型中,可以通过设定变量的方法可灵活控制滤波器系数字长,如图1、2所示。
在图2所示的Parameter Attri-
butes和Signal Attributes分别对应的data type中可对其进行变量设定;图1所示的InitFcn函数可以对滤波器系数、加法器等设定与图2相对应的变量,并对其初始化。其优势在于当需要改变滤波器字长时,无需通过对每个滤波器系数字长逐一进行修改,只需在InitFcn函数中对其对应的初始化常量值进行修改量化即可。不同的量化字长对应不同的滤波效果,对幅频响应造成的影响如图3-6所示。
从所给的4幅图形中不难看出,图1-3幅频特性基本达到滤波要求,但当量化精度为13bits时,对应滤波器的幅频响应已经不能很好的达到滤波的效果,因此在保证滤波器性能的前提下,最少的量化精度为14bits。
3.5 IIR量化的Simulink仿真
iir_10order和iir_10order1为相同的10阶并联型IIR数字滤波器,如图7所示。
仿真模型[8]的输入为2个带内(1kHz和1.5kHz)和2个带外(0.5kHz和3kHz)共4个单频信号与白噪声信号相加,这些信号的幅度都可自行设置。iir_10order滤波器系数的量化精度为14bits,并以1 024点数据做FFT变换来观察IIR数字滤波器滤波效果。下面以输入4个-20dB单频和-30dB白噪声信号为例,运行了1251×1024=1281024点的数据,得到的仿真结果如图8-10所示:
图8是4个单频信号(0.5kHz、1kHz、1.5kHz和3kHz)和白噪声叠加未经IIR滤波器滤波的仿真波形图;图9则是4个单频信号和白噪声经过IIR滤波器后的仿真波形图;图10为只有白噪声经过滤波器后的仿真图。从图9中不难发现,带外的两个单频信号(0.5kHz和3kHz)和白噪声均得到了有效的衰减,带外抑制基本达到了60dB,带内的信号全部通过,证明选频特性较好。通过这些图形的对比可得出,文章前面确定14bits量化精度设计的IIR滤波器是满足要求的。
4.结束语
本文设计了一种利用Matlab程序法设计的IIR带通滤波器,采用的是椭圆模型5个二阶环并联的10阶带通滤波器,通过对滤波器的系数进行量化处理,然后在Simulink环境下进行了动态仿真,确定了最终的量化字长,从仿真结果来看验证了滤波器良好的选频特性。在实际应用中,可根据FPGA硬件资源情况,灵活的修改滤波器系数从而改变滤波器频率响应,根据Simulink生成的Verillog代码下载至FPGA硬件上实现滤波性能。
参考文献
[1]郭森楙,颜允圣.数字信号处理—体系结构、实现与应用[M].北京:清华大学出版社,2005:4-10.
[2]陈杰.MATLAB宝典[M].北京:电子工业出版社,2010:2-6.
[3]田耕,徐文波.Xilinx FPGA开发实用教程[M].北京:清华大学出版社,2008:370-378.
[4]罗海.基于FPGA的高速IIR数字滤波器设计与实现[D].成都:电子科技大学,2007.
[5]Antoniou A.Digital Filters:Analysis and Design[M].McGraw-Hill Inc.,2000:267-280.
[6][美]Ingle Vihg K,Proakis John G.数字信号处理及MATLAB实现[M].北京:电子工业出版社,1998:201-212.
[7]Kaczorek T.General response formula for two-dimensional linear systems with variablecoefficients[J].IEEE.Trans.Autom.Contr.1986,31:278-283.
[8]Peled A,Liu B.A new hardware realization of digital filters[J].IEEE Trans.on Acoustics Speech and Signal Processing Newsletter,1974(6):456-462.
数字全通滤波器设计研究电子科技论文篇二
基于数字电位器的多频段带通滤波器设计
【摘要】通过单片机系统控制数字电位器的阻控值,实现了滚动轴承振动信号的多频段滤波器中心频率的控制和显示。本文介绍了数字电位器的应用,控制显示部分的硬件及软件设计。
【关键词】数字电位器;I2C串行接口;滤波器
1.引言
为了获取轴承振动信号中某一指定频段中的信号成分,可通过选用中心频率可调的带通滤波器来实现,检测过程中经常需要改变中心频率。滤波器的中心频率与电路中的某个电阻值和电容值的乘积成反比,通常通过改变滤波器中心频率相对应的电阻值来改变中心频率。改变电阻值的方法有调节电位器或用多路开关选择阻值阻值的电阻来实现。但普通的电位器在调节过程中无法知道其准确的阻值;而多路开关虽然可以准确知道所选择的阻值,但受限于开关的触点数和电路板的尺寸,选择的电阻个数是有限的,也就是说中心频率的选择是有限的。而数字电位器却能够较好的解决这两个问题。首先,数字电位器在改变其阻值时可以确定其阻值。另外,数字电位器可改变的阻值数量根据型号的不同可以有256,512和1024档数值,从而可以选择到的中心频率的数量也相应增多,能够满足使用要求。
2.系统的总体设计
系统总体设计框图如图1所示。
数字电位器是状态滤波器的一部分,其阻值可由单片机通过键盘来调节。这样就可以通过键盘来调节其阻值,从而调整状态滤波器的中心频率f0,并且中心频率又可以通过显示器进行显示。
3.数字电位器的应用
数字电位器也称为数控电位器,是一种用数字信号控制其阻值改变的器件。数字电位器与机械电位器相比,具有可程控改变阻值,调节精度高,数据可读写,耐震动,噪声小,寿命长等优点,因而已在自动检测与控制,智能仪器仪表,消费电子产品等领域得到成功应用。
本文采用的数字电位器AD5254通过I2C总线与单片机连接。I2C总线采用两线制实现全双工同步数据传送,可以极方便的构成外围器件扩展系统,它由数据线SDA和时钟线SCL构成。I2C总线为同步传输总线,数据线上信号完全与时钟同步。数据传送采用主从方式,即主器件寻址从器件,启动总线,产生时钟,传送数据及结束数据的传送。
如图2所示,芯片AD5254与单片机相连,可以控制4个可调电阻。也就是说一片AD5254可以视为4个数字电位器,而其阻值可由程序控制分别调整。每个电位器都有三个引出端,分别是A,B和W。A和B分别是电位器的两个固定端,W是滑动端。W端与B端之间的阻值与AD5254内部的RADC寄存器中所写的一字节数字量相对应。由于一字节无符号数的取值为0-255,电位器被平均分成了255份,相当于255个电阻串联而成。所以W端与B端之间的阻值为RADC寄存器中的数量乘以一份阻值。
4.控制及显示部分硬件设计
4.1 键盘控制方案
键盘控制部分采用独立连接式非编码键盘,每个按键都是彼此独立的,分别可以实现阻值增大,减小,快进,快退,保存当前阻值等功能。数字电位器AD5254是255个档位,即255个等值电阻串联而成,通过程序控制可以选择256个档位的任意一档。那么阻值增大就是每按此键一次使阻值增大一档,反之就是阻值减小。快进键每按一次会使阻值增大16个档位。保存键的作用是保存当前数字电位器的阻值,也即保存了当前状态滤波器的中心频率f0,下次使用时重新上电后,数字电位器的阻值就是上次保存的阻值。
所以在调整好状态滤波器的中心频率f0后,按下保存键,下次使用时就不需要再重新调整了。增大阻值与减小阻值是通过对AD5254中RDAC寄存器中存放的数值加一或减一实现的。快进与快退的功能是对RDAC寄存器中存放的数值循环加一或减一实现的。而快进和快退的档数就是循环的次数。保存功能的实现是通过AD5254中的MMEM寄存器实现的。MMEM寄存器是非易失性存储器,它在重新上电后仍然保存掉电前存入的数据。把需要保存的数据存入MMEM寄存器,上电后再把此数据送入RDAC寄存器中即实现保存功能。
4.2 显示电路设计
显示部分采用LED数码显示管,用于显示滤波器当前的中心频率。如图3所示,LED与单片机的通讯是用两根线完成的,分别是时钟线C和数据线D。这是通过74LS164实现的。74LS164是8位移位寄存器,它的作用是串行出入并行输出。单片机把数据串行传送给74LS164,74LS164再把数据并行传送给LED显示。如图3所示。
5.软件设计
软件设计的目的在于实现按键按下后能够执行按键所对应的相应功能,即改变数字电位器的阻值或保存数据。而在改变阻值后LED数码管显示器能够显示此阻值所对应的状态滤波器的中心频率f0。程序的流程如图4所示。
6.总结
该文设计的可调状态滤波器由于采用了数字电位器调节其中心频率,从而使用单片机进行控制以及显示其中心频率成为可能。通过数字电位器便可以用数字信号来控制模拟信号,使其实现振动频率扫描和便利调节等功能。该状态滤波器具有通用性可作为智能仪器仪表的子模块使用。
参考文献
[1]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2005.
[2]王幸之,钟爱琴,王雷,王闪.AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004,5.
[3](美)弗朗哥.基于运算放大器和模拟集成电路的电路设计[M].西安交通大学出版社,2008.
[4]Arth our B.Willians,Fred J.Teaylor.电子滤波器设计[M].科学出版社,2008.
[5]熊诗波,黄长艺.机械工程测试技术基础[M].机械工业出版社,2007.
数字全通滤波器设计研究电子科技论文的评论条评论