数字滤波抗干扰技术.doc_第1页
数字滤波抗干扰技术.doc_第2页
数字滤波抗干扰技术.doc_第3页
数字滤波抗干扰技术.doc_第4页
数字滤波抗干扰技术.doc_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字滤波抗干扰技术在A/D转换中的应用| 1引言 仪器仪表设备在现场测试过程中,由于生产变量的测试数据对生产过程具有重要的意义,因此对各种物理量测试数据精度要求是比较高的。 在前向测试通道上采用的抗干扰措施中,滤波方法是抑制干扰的一种有效途径。在工业现场中,可利用硬件滤波器电路或软件滤波器算法提高测试数据的准确性。硬件滤波措施是使用较多的一种方法,技术比较成熟,但同时也增加了设备,提高了成本,而且电子设备的增加有可能带来新的干扰源。而采用软件滤波算法不需增加硬件设备,可靠性高,功能多样,使用灵活,具有许多硬件滤波措施所不具备的优点,当然它需要占一定的运行时间。 2常用的几种软件滤波方法 (1)中值滤波法:即每次取N个AD值,去除其中的最大值和最小值而取剩余的N-2个A/D转换值的平均值。 (2)程序判断滤波法:即根据经验确定出两次采样的最大偏差Y,若先后两次采样的信号相减数值大于Y,表明输入为干扰信号,应去除;用上次采样值与本次采样值比较,若小于或等于 Y,表明没有受到干扰,此时本次采样值有效,这样可以滤去随机干扰和传感器不稳定而引起的误差。 (3)利用格拉布斯(Grubbs)准则进行处理:根据误差理论,要有效地剔除偶然误差,一般要测量10次以上,兼顾到精度和响应速度,取15次为一个单位。在取得的15个数据中,有些可能含有较大的误差,需要对它们分检,剔除可疑值,提高自适应速度。对可疑值的剔除有多种准则,如莱以达准则、肖维勒(Chauvenet)准则、格拉布斯(Grubbs)准则等。以Grubbs准则为例,它认为若某测量值 xi对应的残差Vi满足下式 |Vi|=| xi-|g(n,a) (X) 时应将该数据舍去。式中,为n次采集到的AD 值的平均值,=(xi)/n ;(X)为测量数据组的标准差,由贝塞尔函数可得: (X)=(Vi2 )/(n-1)1/2;g(n, a)是取决于测量次数n和显著性水平a (相当于犯“弃真” 错误的概率系数),a通常取0.01或0.05。通过查表可得:当 n=15时,a=0.05, g(n,a)=2.41。 把15次采集到的AD值存入一个数组中然后求平均值,计算残差,求标准差(X)。将残差绝对值与2.41倍的标准差(X)比较。剔除可疑值以后,再求平均值,求出新的平均值以后,应再重复以上过程,验证是否还有可疑值存在。据我们对测量装置大量的实际测试结果看,这样做没有什么必要,因为一般只有第一遍即可达到要求。 然而这种方法也有它的不足, 利用Grubbs准则需要处理大量的数据,而在一般的工业现场测试设备中,仪表结构大多采用嵌入式结构,如AVR单片机。这些MCU程序空间和数据空间有限,若处理大量数据,难以满足资源要求。而且,由于Grubbs准则要求MCU进行大量数据处理,使得系统降低了信号采集速率,影响实时性。 3.AD7705内置的数字滤波器 上述的几种软件滤波方法对抑制个别的异常数据方面具有一定作用,然而对于由工频干扰引起的平稳随机干扰信号不太理想。随着近几年来集成电路的快速发展,一些数字滤波器也集成到数据处理芯片当中,而且数字滤波器的设计参数通过软件可编程实现,具有极大的灵活性和实用性。3.1 芯片介绍及应用 目前市场上由美国AD公司新近推出的AD7705 就是一例1。它是内置了数字滤波器的带信号调理电路的16位A/D转换器件,可应用于低频测量的2通道的模拟前端。该器件可以接受直接来自传感器的低电压输入信号,然后产生串行的数字输出,利用-转换技术实现16位无丢失代码性能。选定的输入信号被送到一个基于模拟调制器的增益可编程专用前端,片内数字滤波器处理调制器的输出信号,通过片内控制寄存器可调节滤波器的截止点和输出更新率,从而对数字滤波器的第一个陷波进行编程。 AD7705有以下几个特点: (1)差分输入通道ADC,具有16位无丢失代码和0.003%非线形误差; (2)MCU的接口为串行的三线接口模式; (3)可编程增益1128,信号极性以及更新速率配置有工作寄存器,通过对寄存器的操作可以选择等; (4) 器件还包括自标定和系统校准功能,以消除器件本身或系统的增益和编程误差; (5) 内带数字信号处理电路,由软件可编程进行设置。 引脚排列如图1。 主要管脚说明如下: MCLK IN:为转换器提供主时钟信号,能以晶体/谐振器或外部时钟的形式提供。 MCLK OUT:当主时钟为晶体/谐振器时,晶体谐振器被接在MCLK IN和MCLK OUT之间;如果在MCLK IN引脚处连接一个外部时钟,MCLK OUT将提供一个反向时钟信号。 CS :片选,低电平有效的逻辑输入。 A1N2(+)A1N1:对于AD7705,差分模拟输入通道2的正输入端;对于AD7706,模拟输入通道1的输入端。 A1N1(+)A1N2:差分模拟输入通道1的正输入端。 A1N1(-)COMMON:差分模拟输入通道1的负输入端。 A1N2(-)A1N3:差分输入模拟通道2的负输入端。 DRDY :逻辑输出。这个输出端上的逻辑低电平表示可从AD7705的数字寄存器获取新的输出字。 DOUT:串行数据输出端。 DIN:串行数据输入端。 SCLK:串行时钟,施密特逻辑输入。 从AD转换器件发展趋势来看,目前的16位A/ D转换器除具有较高的转换精度外,还具有高度的集成化、可编程等特点 2,3。AD7705符合这些特点,其简化的应用电路如图2。 图2给出了一个完整的前向测试通道,图中 AD7705可直接接收传感器输入信号,而不用外接信号调理电路,模拟量输出增益可实现软件可编程调节。输出的AD值通过SPI三线口模式发送给MCU。图中,MCU采用的是P87LPC764,它是 PHILIPS公司新推出的增强型8位单片机,内核与MCS51系列兼容,内置电源检测、看门狗WDT、 IIC总线等资源。 AD7705的数据接口采用了SPI接口标准。SPI 接口利用4根线可完成主从之间的数据通信。接口非常方便。这4根口线分别为时钟线(SCLK)、数据输入线(SDI)、数据输出线(SDO)和片选线(CS)。DIN线用来向片内寄存器传输数据,而DOUT线用来访问寄存器里的数据。SCLK是串行时钟输入,所有的数据传输都和SCLK信号有关。DRDY线作为状态信号,以提示数据什么时候已准备好从寄存器读数据。输出寄存器中有新的数据时,DRDY变为低电平,在数据寄存器更新前,若DRDY变为高电平,则提示这个时候不读数据,以免在寄存器更新的过程中读数据。CS作为片选信号,在本电路中由于只用一片AD7705故CS端接地。 3.2 低通滤波及陷波处理 AD7705包含一个片内低通滤波器,用它处理器件的-调制器的输出信号。所以,该器件不仅提供模数转换功能,而且还具备一定的滤波能力。AD7705内嵌了数字低通滤波器,数字滤波发生在模-数转 换之后,它能消除模-数转换过程中产生的噪音。此外,数字滤波器容易实现可编程性。依靠数字滤波器设计,用户可以编程截断频率和输出更新频率。 AD7705的数字滤波器是一个低通(sin x/x)3 滤波器(也称为sinc3),其在Z 域的转换功能可描述为, 在3次域可描述为, 图3是截止频率为15.72Hz的滤波器频率响应,这一频率与滤波器的第一个陷波频率(50Hz)对应,这曲线显示从直流到300Hz。在数字滤波器采样频率的两边这个频率曲线各重复一次。这种滤波器响应与一个平均滤波器的相似。因此,图中的输出速率为50Hz,滤波器的第一个陷波频率为50Hz。这种(sin x/x)3 滤波器的陷波位置多次在第一个陷波的倍数处重复。在这些陷波处滤波器提供大于100dB 的衰减。 AD7705内部带有数字滤波器,具有抑制干扰功能。对于50Hz的工频干扰在第一陷波位置已衰减180dB,这样有效抑制工频干扰。另外,我们在每次采集AD值时,每采集10个AD值作为一组数据,去除其中的最大值,最小值而取剩余的8个A/D转换值的平均值,这样可有效去除数据随机误差。 高性能数据采集系统中信号的低通滤波原理及实践| 随着计算机技术和高性能数据采集卡的迅速发展,高性能的数据采集系统越来越广泛地应用于科研和工业的许多领域。在实际应用中,往往需要对经A/D转换采集到的信号进行频谱分析,例如,航空发动机试车中振动信号的谱分析就对分析和排除航空发动机的振动故障起着极为重要的作用。为了避免信号分析时产生频率混淆,就需要对模拟信号进行低通滤波。笔者在研制开发航空发动机CAT系统的过程中,尝试采用美国MAXIM公司生产的MAX292 八阶低通开关电容滤波器并配合8254定时计数器,在Pentium计算机的控制下实现对振动信号的低通滤波,并取得了成功。1问题的提出在对航空发动机振动信号进行采样分析时,单靠增加采样频率不可能消除频谱分析时的频率混淆现象。因为理论上讲,发动机振动信号所包含的频率范围是无限的。那么如何解决这个问题呢?一般采用抗混滤波器来解决。即在采样前,用一截止频率为fc的抗混滤波器,先将信号x(t)施行低通滤波,将不感兴趣或不需要的高频成分滤掉,再将采样频率提高到fs=(2.55)fc对信号进行采样及处理。为此,采用MAX292和8454芯片来实现对信号的抗混滤波。2MAX292低通滤波器及8254定时计数器MAX292能按0.1 Hz25 kHz的转角频率来建立滤波。MAX292为Bessel型滤波器,提供低的过冲和快速置定特性。其引脚结构及典型工作电路如图1(a),(b)所示。图1MAX292低通滤波器MAX292的特点及工作极限参数如下:时钟可调转角频率范围: 0.1 Hz25 kHz;不需要外部的电阻器或电容器;内部时钟或外部时钟;时钟频率对转角频率之比: 1001;低噪声:-70 dB总谐波畸变+噪声(典型值);在+5 V单电源或5 V双电源条件下运行;独立的运放用于抗混叠或时钟噪声滤波;8引脚双列直插;绝对最大额定值:电源电压(V+V-)12 V;任一脚处输入电压,V-(0.3 V)VINV(0.3 V);连续功率损耗(TA+70)727mW;工作温度范围(C级):0+70。其频率响应曲线及相位响应曲线如图2所示(fc=1kHz)。图2MAX292频率和相位响应曲线从图2(b)可以看出MAX292具有线性的相位响应,所有的频率分量被等量延迟,这对于保持输入信号的波形具有重要意义。另外,MAX292低通滤波器的转角频率是通过加在引脚1(CLOCK)上的时钟信号的频率来控制的。在所研制的航空发动机CAT系统中,有时需要改变对振动信号的滤波范围。为此,采用8254定时计数器来实现对MAX292转角频率的计算机控制。为了控制MAX292的转角频率,采用8254定时计数器的工作方式3来产生加在MAX292引脚1上的时钟脉冲。8254的工作方式3为方波频率发生器,当控制字写进控制字寄存器后,输出变为高电平。在写完计数值后,计数器将自动开始对输入时钟CLK计数。在计数值完成一半时,计数器将改变输出状态,使输出OUT变为低电平,直到计数结束OUT又恢复为高电平,然后重复此计数过程。这样,就产生一个连续不断的方波,要想改变此方波信号的频率,只需向计数值锁存器重新写入计数值即可。3计算机控制低通滤波系统的实现在以上讨论的基础上,将MAX292及8254集成于数据采集系统中,实现了对振动信号可编程控制的低通滤波。具体联接方式如图3所示(单路)。图3计算机控制低通滤波按图3所示,若将转角频率设置为1 kHz,则要8254之OUT0输出一100 kHz的方波。这时,只要通过计算机向8254计数器的计数值锁存器写入:2M/100 000=20即可实现。最后值得一提的是,以上的系统从1路扩展到多路是非常方便的,只要增加计数器及滤波器芯片的个数即可实现。另外,对滤波器的控制也可通过单片机来完成,这就使其在工业和科研领域有着广泛的应用前景。基于Verilog HDL的FIR数字滤波器设计与仿真类别:电子综合 阅读:1153 摘要:本文主要分析了FIR数字滤波器的基本结构和硬件构成特点,简要介绍了FIR滤波器实现的方式优缺点;结合Altera公司的Stratix系列产品的特点,以一个基于MAC的8阶FIR数字滤波器的设计为例,给出了使用Verilog硬件描述语言进行数字逻辑设计的过程和方法,并且在QuartusII的集成开发环境下编写HDL代码,进行综合;利用QuartusII内部的仿真器对设计做脉冲响应仿真和验证 关键词:CPLD/FPGAVerilogHDLFIR仿真 引言:数字滤波器是语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足波器对幅度和相位特性的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。 一、FIR数字滤波器 FIR滤波器用当前和过去输入样值的加权和来形成它的输出,如下所示的前馈差分方程所描述的。 FIR滤波器又称为移动均值滤波器,因为任何时间点的输出均依赖于包含有最新的M个输入样值的一个窗。由于它的响应只依赖于有限个输入,FIR滤波器对一个离散事件冲激有一个有限长非零响应,即一个M阶FIR滤波器对一个冲激的响应在M个时钟周期之后为零。 FIR滤波器可用图1所示的z域块图来描述。 其中每个标有z-1的方框都代表了有一个时钟周期延时的寄存器单元。这个图中标出了数据通道和必须由滤波器完成的操作。滤波器的每一级都保存了一个已延时的输入样值,各级的输入连接和输出连接被称为抽头,并且系数集合hk称为滤波器的抽头系数。一个M阶的滤波器有M+1个抽头。通过移位寄存器用每个时钟边沿n(时间下标)处的数据流采样值乘以抽头,并且求和得到输出yFIRn。滤波器的加法和乘法必须足够快,在下一个时钟来到之前形成yn。并且在每一级中都必须测量它们的大小以适应他们数据通道的宽度。在要求精度的实际应用中,LATTICE结构可以减少有限字长的影响,但增加了计算成本。一般的目标是尽可能快地滤波,以达到高采样率。通过组合逻辑的最长信号通路包括M级加法和一级乘法运算。FIR结构指定机器的每一个算术单元有限字长,并且管理运算过程中数据流。 二、FIR数字滤波器设计的实现 目前FIR滤波器的实现方法有三种:利用单片通用数字滤波器集成电路、DSP器件和可编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要。使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度必然不快。FPGA/CPLD有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好。但长期以来,FPGA/CPLD一直被用于系统逻辑或时序控制上,很少有信号处理方面的应用,其原因主要是因为在FPGA/CPLD中缺乏实现乘法运算的有效结构。 现在的FPGA产品已经能够完全胜任这种任务了。其中Altera公司的Stratix系列产品采用1.5V内核,0.13um全铜工艺制造,它除了具有以前AlteraFPGA芯片的所有特性外,还有如下特点:芯片内有三种RAM块,即512bit容量的小RAM(M512)、4KB容量的标准RAM(M4K)、512KB的大容量RAM(MegaRAM)。内嵌硬件乘法器和乘加结构的DSP块,适于实现高速信号处理;采用全新的布线结构,分为三种长度的行列布线,在保证延时可预测的同时增加布线的灵活性;增加片内终端匹配电阻,提高信号完整性,简化PCB布线;同时具有时钟管理和锁相环能力。 FIR滤波器的VerilogHDL设计实例 1、设计意图 本例主要是在Stratix器件内实现基本有限脉冲响应滤波器。 FIR的基本结构包括一系列的乘法和加法。FIR的运算可用式(1)的方程描述,现重写如下: 一个L=8的FIR设计如图2,利用了输入的8个样本。因此称之为8抽头滤波器。该结构是有一个移位寄存器,乘法器和加法器组成的,可实现L=8阶的FIR。其数据通道必须足够宽,以适应乘法器和加法器的输出。这些采样值被编码为有限字长的形式,然后通过M个寄存器并行移动。可见用一个MAC级连链就可以构成这种机器。每个寄存器提供一个单位样本内延迟。这些延迟输入与各自的系数相乘,然后叠加得到输出。图2所示为基于MAC的8阶FIR数字滤波器结构 在该设计中有八个抽头,各抽头有18位输入和滤波器系数。由于一个DSP块可以支持4个18位输入的分支,所以设计需要2个DSP块。输入数据串行加载到DSP块中,DSP内部的移入/移出寄存器链用于产生延迟。滤波器系数从TriMatrix的ROM存储器中加载。 2、VerilogHDL代码编写风格 HDL代码编写应该具有很好的易读性和可重用性,而自顶向下的分割方法可以帮助我们达到最佳的结果。HDL代码在达到功能的情况下要尽可能的简洁,尽量避免使用带有特殊库单元的实例,因为这样会使得整个进程变得不可靠。 在本设计中,我们将设计划分成一个顶级文件和三个次级文件,并且调用了QuartusII中的MegaFunction功能辅助完成整个设计。 图3显示FIR滤波器的顶级方块图 表1:FIR滤波器的设计范例的端口列表 表1: FIR滤波器端口列表 端口名 类型 备注 data_in17.0 输入 输入为18位带符号整数,通过DSP块的移位寄存器串行输入 clock 输入 时钟 clk_ena 输入 时钟使能 RESET 输入 异步复位 fir_result37.0 输出 FIR滤波器输出 3、验证仿真 完全可综合设计的一个优点就是同样的HDL代码能够用于验证和综合。在使用HDL代码之前必须要验证设计的功能,最好且最简单的方法就是利用验证工具,其次是利用仿真工具作有目的的仿真。 QuartusII内部带有仿真器,只要通过建立正确的Vector Waveform File(向量波形文件)就可以开始仿真了。图4所示为QuartusII内部仿真器得到的8阶FIR的脉冲响应波形。 五、结论 利用Verilog HDL设计数字滤波器的最大优点就是可使设计更加灵活。比较硬件电路图设计,Verilog HDL语言设计的参数可以很容易在Verilog程序中更改,通过综合工具的简化和综合即可以得到电路图,其效率要高出利用卡诺图进行人工设计许多。而且编译过程也非常简单高效。优秀编码风格能够在综合过程中节省芯片使用的单元,从而降低设计成本。 利用开关电容滤波器实现抗混叠滤波 带外杂散信号所引起的混叠现象是A/D转换器应用中所面临的关键问题,如果没有适当的滤波处理,这些信号会严重影响数据转换系统的性能指标。本文主要讨论抗混叠滤波的原理及其对系统性能的影响。本文针对这一应用,提供了一个开关电容滤波器设计范例,该方案具有极高的性价比。本文几乎涵盖了所有与高性能系统设计有关的重要参数和实际问题。 产生混叠的来源:这一点在奈奎斯特定理中给出了说明。奈奎斯特定理指出:时间连续信号转换成离散信号时,需要在一个周期内的采样次数多于2次。如果采样次数不够,将无法恢复丢失的信息。从图1可以更清晰地看到这一点,如果信号每周期采样一次,得到的只是一个直流信号(幅度为任意值),如图1a所示。如果每周期采样两次,得到一个方波信号(图1b)。值得注意的是:对输入信号进行每周期2次的采样是一种非常特殊的情况,任何时候都要避免这种情况。图1c所示是以200kHz采样率对190kHz信号进行采样的情况。所得信号是一个完好的正弦波,但频率是错误的。频率的改变正是由于混叠现象导致的。 图1a。 对正弦信号进行每周期一次的采样时,得到一个幅度为任意值的直流信号。 图1b. 对同一正弦波每周期采样两次,得到一个方波,幅度信息丢失。 图1c. Fsignal = 190kHz、Fs = 200kHz是欠采样信号,所得结果是混叠现象导致的。 图2所示是在频域的表现形式,从图中可以看出,频率高于 f fs/2的信号被镜像到fs/2。为了避免这种现象,必须保证信号中没有更高的频率成份。因此,我们必须了解信号的最高频率,采样频率需要高于这个频率的两倍。一种最原始的考虑是从数字域解决这个问题,但这显然是不可取的,因为一旦完成信号采样,有些信号混叠到所感兴趣的频段,则无法从信号中移除这些频率成份。抗混叠滤波必须在模拟域进行,即在信号采样之前。 图2. 频域中的混叠现象,欠采样信号镜像到fs/2。 下一步 设计抗混叠滤波器。设计抗混叠滤波器需要首先确定所希望的滤波特性(截止频率、过渡带衰减等),然后选择能够满足应用需求的最佳滤波方案(有时称为滤波器类型)。一般情况下,采用过采样、而且过采样频率越高,滤波器设计越容易。但是,过采样需要更高速率的ADC,成本也越高。 例如,过采样因子为8时,采样频率是最高信号频率的八倍。这在ADC成本和滤波器复杂度方面达到了一个较好的折衷。假设ADC分辨率为14位,能够提供80dB的信噪比(SNR)。采用一半的采样率(这里为信号频率的4倍)时,低通滤波器需要提供80dB的衰减,以确保所有杂散信号经过足够的衰减,不会出现在采样后的信号中。这意味着在过渡带内需要提供每倍频程40dB的衰减,需要高阶滤波器达到这一设计要求。7阶巴特沃斯滤波器能够满足上述要求,但对于具体应用并非最佳选择。可针对不同的应用选择不同的滤波器类型,图3所示为巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器的频响特性。从图中可以看出,它们具有不同的通带、过渡带特性。椭圆滤波器与巴特沃斯滤波器相比,椭圆滤波器的过渡带更陡峭,但其相频特性较差。应根据具体应用选择滤波器类型,对于普通的数据采集系统,可以选用巴特沃斯滤波器(或贝塞尔滤波器),如果对相位精度要求不高的话,也可以选择切比雪夫、甚至椭圆滤波器。 图3. 不同滤波器频率响应的比较。 通用的A/D转换器有:用于中等速率的SAR (逐次逼近) ADC;用于高速到超高速率的闪速ADC;用于低速系统的- ADC。它们都需要抗混叠滤波器,对滤波器的要求取决于转换速率、所希望的输入带宽,但- ADC比较特殊。这种转换技术采用非常高的输入采样率和转换速率,而后续数字滤波降低了有效吞吐率,这会影响分辨率(动态范围)的提高。- ADC对抗混叠滤波器的要求与输入采样率和最高信号频率之比有关,这种对需求的降低同样也表现在其它过采样数据转换器中,这种情况下可以选用简单的RC滤波器。选用较简单的抗混叠滤波器会产生较长的传输延时,这为使用闭环控制或多路转换的转换器增加了设计难度。 由于模拟滤波器具有一定的设计难度和较大的公差,而且制造困难,特别是对于空间紧凑的产品,许多设计人员不愿意使用模拟滤波器。衡量误差的一个较好准则是假设分离元件容限加倍,这样,如果采用标准的商用化电阻器和电容器,将对角频率和过渡带造成很大的误差。解决这一问题的最佳途径是选择集成滤波器方案,可以从Maxim等公司获得这种芯片。集成滤波器有两种类型:连续时间滤波器和开关电容滤波器,连续时间滤波器通常需要外部元件调节角频率,从而限制了它们的灵活性。开关电容滤波器可以根据其结构灵活使用,一般情况下,可以替代分离或集成连续时间滤波器。 集成滤波器有两种类型:连续时间滤波器和开关电容滤波器,连续时间滤波器通常需要外部元件调节角频率,从而限制了它们的灵活性。开关电容滤波器可以根据其结构灵活使用,一般情况下,可以替代分离或集成连续时间滤波器。 开关电容滤波器是一种很早就被人们认可的滤波器结构,利用当前的硅工艺技术能够可靠集成。其工作原理和数学推导如图4所示。工作原理是:在电容器两端的开关控制下,电容被充电、放电。这种电荷转移过程产生脉冲电流,可以计算其平均电流,当开关频率足够快时,该电流等效于流过电阻的电流,可看作是电阻被一个电容所取代。电流和间接电阻值取决于两个因素:电容大小和开关频率。开关频率越高、电容值越大,则电流越大,或者说,电阻值越小。如果采用这种滤波器结构,频率特性将随着电容尺寸或开关频率的变化而改变。在集成方案中,电容值是固定的,滤波特性受开关频率的控制。这种滤波器的原理如图5所示。 图4. 开关电容原理框图。 图5. 利用开关电容技术构成简单的滤波器。 滤波器的精度取决于各个元件的容限,分离方案中,我们只能使用容限不一致的元件。而在集成方案中,可以保证很高的元件一致性(0.1%以内)。因此,我们可以很好地控制集成滤波器的频响特性。例如,MAX7490的角频率精度可以达到0.2%,而采用分离元件则无法达到这一指标。另外,集成方案还具有出色的温度特性,温漂系数可以达到10ppm/C。 这里还需要特别指出开关电容方案对信号的采样,它将时间连续信号转换成时间离散信号,这意味着我们还要再次考虑混叠问题。值得庆幸的是,这种滤波器的采样速率非常高,通常是100倍的过采样。所以,只需采用一个简单的阻容滤波器。系统中另外一个需要考虑的问题是:开关时钟的相位抖动所产生的失真,这与ADC中存在的问题相同。图6给出了一个正确信号被错误采样的情况,会导致一定的幅度误差。 图6. 欠采样引起的幅度失真 时钟抖动有两种表现形式,如果相位误差是随机的,噪声基低将升高;如果抖动是周期性的,失真(THD)将增大。抖动是一个时间量,例如:ps峰峰值或RMS。为了达到一定的信号纯度,能够容许多大的抖动呢?参考文献1中指出,对于一个16位的系统,1nspp (峰峰值)的时钟抖动会使SNR从98dB降至91dB。为了将抖动的影响限制到0.5dB,抖动不能高于400pspp。 利用商用化的时钟振荡器可以很容易地满足上述抖动指标的要求,如:SaRonix NTH5,抖动只有8psRMS (53pspp)。这种方案的缺陷是限制了信号频率。大多数系统中,其它器件(如ADC、C等)也需要提供时钟。如果这些时钟用其它振荡器产生,这些时钟将不同步,将会引起其它诸多问题。MAX7375或DS1085能够产生多个时钟,而且彼此同步,并可提供较好的抖动指标(分别为160ps和300ps),可以达到90dB以上的信号纯度。利用这种器件提供时钟的另一个好处是:可编程不同的时钟频率。也就是说,可以获得具有软件可编程频率响应特性的模拟滤波器,从而创建一个极其灵活的系统。 图7是基于上述讨论提供的一个数据采集系统方案。ADC具有14位分辨率和200ksps采样率(MAX1067系列)。该器件每次转换至少需要24个时钟。抗混叠滤波器采用了MAX7418-21系列产品,该系列滤波器提供各种滤波器类型,如贝塞尔、巴特沃斯、椭圆等。角频率设置为1/100 fClk。考虑到DSP控制转换器的采样(只需要一个定时器),同一时钟可以用于滤波器和ADC,完全同步。利用DS1085产生时钟,能够得到两路时钟,第二路时钟可用于DSP。DS1085通过2线接口编程,当系统工作在不同的采样速率时可以重新设置频率,用同一块PCB实现不同的功能。 图7. 数据采样系统原理框图 图7所示电路,器件之间协同工作,在成本和复杂程度上都是可以接受的。另外一个优势是可编程性,提供了极大的灵活性,既简化了设计,也降低了成本基于FPGA的分布式算法FIR滤波器设计作者: 时间:2007-10-29 来源: 电子测量技术 浏览评论 引 言FIR(finite impulse response)滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。目前FIR滤波器的硬件实现有以下几种方式:一种是使用单片通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。另一种是使用DSP芯片。DSP芯片有专用的数字信号处理函数可调用,实现FIR滤波器相对简单,但是由于程序顺序执行,速度受到限制。而且,就是同一公司的不同系统的DSP芯片,其编程指令也会有所不同,开发周期较长。还有一种是使用可编程逻辑器件,FPGA/CPLD。FPGA有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用DSP芯片来说,并行性和可扩展性都更好。FIR滤波器的主要组成模块是乘累加单元(MAC),如果按照直观结构构造乘法器和系数寄存器来实现会占用大量的逻辑资源,显然不可取。本文采用基于分布式算法思想的方法来设计FIR滤波器,并在FPGA上实现。1 分布式算法原理分布式算法(distributed arithmetic,DA)最初是在1973年由Croisier提出的,但直到Xilinx发明FPGA的查找表以后,DA算法才在上世纪90年代初重新受到重视,并有效地应用在FIR滤波器的设计中。DA算法的原理如下。一线性时不变网络的输出为: 假设c(n)为已知常系数,x(n)是变量,用(B+1)位2进制补码表示为: 函数f(c(n),xb(n)的实现方法是利用一个LUT(查找表)实现影射f(c(n),xb(n),也就是说2N字宽、预先设定程序的LUT接收一个N位输入向量xb=xb0,xb1xbN-1,输出为f(c(n),xb(n),个个影射,f(c(n),xb(n)都由相应的二次幂加权并累加。对于固定系数,整数乘以2b即左移6位,可以通过硬连线实现,不占用逻辑资源,利用图1所示的移位加法器就能有效地实现累加。DA算法的主要特点是巧妙利用SRAM查找表将固定系数的MAC运算转化为查表操作,其运算速度不随系数和输入数据精度的增加而降低,而且相对直接实现乘法器和系数寄存器在逻辑资源占用上得到了极大的改善。缺点是查找表的大小随滤波器的阶数的增加呈指数增长,这时可以采用将大查找表分解为小查找表的方法来降低逻辑资源的消耗,如图2所示。 2 FIR滤波器的网络结构N阶FIR滤波器相对于输入时间序列x(n)的输出表达式为: 即输出序列为单位脉冲相应h(n)与输入x(n)的卷积,由卷积关系可直接画出结构图,称之为直接型结构,如图3所示,该结构中共需要N个乘法器。 对于线性相位FIR滤波器,其单位取样响应是对称或反对称的,即: 利用对称性可以简化网络结构,当h(n)为偶对称且N为偶数时, 其线性网络结构如图4所示,仅需N/Z个乘法器。 3 FIR滤波器的硬件电路设计下面以一个32阶FIR带通滤波器为例说明硬件电路设计的方法和过程。3.1 设计指标采用频率:200 Hz 类型:带通上限截止频率:54.3 Hz 下限截止频率:46 Hz阶数:32阶 系数数据宽度:16位输入数据宽度:16位 输出数据宽度:16位3.2 滤波器的设计使用MATLAB 7.1软件中Filter Design&AnalysisTool,选取带通滤波器,Kaiser窗设计方法,设计出符合设计指标的32阶线性相位FIR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论