基于fpga和单片机的程控滤波器

来源:本站
导读:目前正在解读《基于fpga和单片机的程控滤波器》的相关信息,《基于fpga和单片机的程控滤波器》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《基于fpga和单片机的程控滤波器》的详细说明。
简介:以单片机和可编程逻辑器件(FPGA)为控制核心,设计了一个程控滤波器,实现了小信号程控放大、程控调整滤波器截止频率和幅频特性测试的功能。其中放大模块由可变增益放大器AD603实现,最大增益60dB,10dB步进可调,增益误差小于1%。程控滤波模块由MAX297低通滤波、TLC1068高通滤波及椭圆低通滤波器构成,滤波模式用模拟开关选择。本系统程控调整有源滤波的-3dB截止频率,使其在1~30kHz范围内可调,误差小于1.5%。此外,采用有效值采样芯片AD637及12位并行A/D转换器MAX120实现了对扫频信号幅度的测量。

滤波器是一种用来消除干扰杂讯的器件,可用于对特定频率的频点或该频点以外的频率进行有效滤除。它在电子领域中占有很重要的地位,在信号处理、抗干扰处理、电力系统、抗混叠处理中都得到了广泛的应用。而对于程控滤波器,该系统的最大特点在于其滤波模式可以程控选择,且-3 dB截止频率程控可调,相当于一个集多功能于一体的滤波器,将有更好的应用前景。此外,系统具有幅频特性测试的功能,并通过示波器显示频谱特性,可直观地反应滤波效果。

1 方案论证与选择

1.1 可变增益放大模块的设计与论证

方案1:数字电位器控制两级INA129级联。用FPGA控制数字电位器DS1267使其输出不同的阻值,作为高精度仪表放大器INA129的反馈电阻。通过控制数字电位器来改变INA129的放大倍数,从而实现放大器的增益可调。

方案2:采用可变增益放大器AD603实现。可变增益放大器内部由R-2R梯形电阻网络和固定增益放大器构成,加在其梯型网络输入端的信号经衰减后,由固定增益放大器输出,衰减量是由加在增益控制接口的参考电压决定;可通过单片机控制,由DAC产生精确的参考电压控制增益,从而实现较精确的数控。

由于输入的正弦小信号振幅10 mV,电压增益60 dB,10 dB步进程控可调,且电压增益误差不能大于5%。对精度而言两个方案都可实现,在AD603后再加一级放大也可实现60 dB的放大倍数。但数字电位器内部结构复杂,有电容影响,后级接运放后会带来意想不到的后果,因此采用方案2。

1.2 滤波器模块的设计与论证

方案1:采用数字滤波器。利用MATLAB的数字滤波器设计FIR或者IIR滤波器。数字滤波器具有精度高,截止特性好等优点。但是FIR滤波器会占用太多FPGA资源,IIR滤波器设计时工作量大且稳定性不高,且要使截止频率可调,必须使用不同的参数,设计起来软件量比较大。

方案2;采用无源LC滤波器。利用电感和电容可以搭建各种类型的滤波器。参照滤波器设计手册上的相关参数,可以比较容易地设计出理想的滤波器。但是如果要截止频率可调,只有改变电感电容参数,硬件会非常复杂。

方案3:采用集成的开关电容滤波器芯片。开关电容滤波器是由MOS开关、MOS电容和MOS运算放大器构成的一种大规模集成电路滤波器。其开关电容组在时钟频率的驱动下,可以等效成一个和时钟频率有关的等效电阻。当用外部时钟改变时,等效电阻改变,从而改变了滤波器的时间常敦,也就改变了滤波特性。开关电容滤波器可以直接处理模拟信号,而不必像数字滤波器那样需要A/D、D/A变换,简化了电路设计,提高了系统的可靠性。

综上所述,本系统采用方案3,利用集成芯片MAX297实现低通滤波器,利用LTC1068实现高通滤波器;采用方案2,利用无源LC滤波器技术来实现四阶椭圆低通滤波器。

2 系统总体设计方案及实现方框图

本系统以单片机及FPGA为控制核心,由可控增益放大模块、程控滤波模块和幅频特性测试模块构成。系统框图如图1所示。输入振幅为1 V的信号经分压网络衰减后变成振幅10 mV的小信号,经OPA690前级放大2倍,同时起到阻抗变换和隔离的作用。与此同时由AD9851产生一设定频率的正弦信号,通过模拟开关选择一道送到后级。信号由程序控制AD603进行0~60dB的可调增益放大后,送入滤波模块。滤波模块包括低通、高通、椭圆滤波器,其中低通、高通由程序控制-3 dB截止频率在1~30 kHz范围内可调,步进1kHz。椭圆滤波器截止频率50 kHz。再通过模拟开关选择某一特定滤波信号输出,经有效值检波和A/D转换后送入FPGA进行幅频特性的测试,再用两块DAC0800实现幅频特性曲线的显示。

基于fpga和单片机的程控滤波器

3 主要功能电路设计

3.1 放大模块

放大模块的具体电路如图2所示。第一部分是一个分压网络,其中前4个电阻将输入信号衰减100倍,并与信号源内阻共同构成51Ω阻抗,后面的51Ω为匹配电阻。第二部分采用OPA690将小信号放大2倍,同时起到阻抗变换和隔离的作用。由于AD603输入阻抗为100Ω,所以在后面串接一个100 Ω的电阻进行匹配。第三部分即为AD603可变增益放大,它的增益随着控制电压的增大以dB为单位线性增长。1脚的参考电压通过单片机进行运算并控制DAC芯片输出电压来得到,从而实现精确的数控。增益G(dB)=40VG+G0,其中VG为差分输入电压,范围-500~500mV;G0是增益起点,接不同反馈网络时也不同。在5、7脚间接一个5kΩ的电位器,从而改变。

基于fpga和单片机的程控滤波器

3.2 高通滤波模块

LTC1068是低噪声高精度通用滤波器,当其用于高通滤波时,截止频率范围1 Hz~50 kHz,并且直至截止频率的200倍都无混叠现象。由于LTC1068的4个通道都是低噪声、高精度、高性能的2阶滤波器,因此每个通道只要外接若干电阻就可以实现低通、高通、带通和带阻滤波器的功能。具体电路如图3所示。其中B端口Q值0.57,A端口Q值约为1。在电路的调试中发现,A口的Q值需比B口Q值大,否则信号在截止频率处幅值会有上翘。

基于fpga和单片机的程控滤波器

LTC1068的时钟频率与通带之比为200:1,由于LTC1068内部对时钟信号CLK二倍频,所以当截止频率最小为1 kHz时,内部时钟频率其实为400kHz,故在LTC1068后面再加一个截止频率为450kHz的低通滤波器以滤除分频带来的噪声及高次谐波。

3.3 低通滤波模块

用MAX297实现低通滤波器。开关电容滤波器MAX297可以设置为8阶低通椭圆滤波器,阻带衰减为-80dB,时钟频率与通带频率之比为50:1。通过改变CLK的频率,即可满足滤波器-3 dB截止频率在1~20kHz范围内可调,步进1 kHz的要求。

在使用MAX297时要注意的是,当信号频率和采样辨率同频,开关电容组在电容上各次采到相同的幅度为信号幅值的信号,相当于输入信号为直流的情况,使滤波器输出一个直流电平。同理,当信号频率为采样频率的整数倍时,也会出现相同的现象。为此,在其前面,要增加模拟低通滤波器,把采样频率及其以上的高频信号有效地排除。故又用一级MAX297,截止频率设置为50kHz。其中时钟频率设置为2.5 MHz。在其后面,也要增加低通滤波器,其截止频率为150 kHz,以滤去信号的高频分量,使波形更加平滑。具体电路如图4所示。

基于fpga和单片机的程控滤波器

3.4 四阶椭圆低通模块

系统要求制作一个四阶椭圆型低通滤波器,带内起伏≤1 dB,-3 dB通带为50 kHz,采用无源LC椭圆低通滤波器来实现。用Filter Sol ution模拟仿真滤波器,随后在MulTIsim中再模拟仿真并调整电容、电感的参数使其为标称值。此外,在椭圆滤波器前后接射级跟随器避免前后级影岣。具体电路如图5所示。

基于fpga和单片机的程控滤波器

4 系统软件设计

系统软件设计由单片机和FPGA组成,用户可以通过界面的显示选择高通、低通和椭圆滤波器,可以设置截止频率,同时可以显示幅频曲线。其中单片机主要完成用户的输入输出处理和系统控制,FPGA主要完成的功能有:控制AD9851产生扫频信号、控制滤波器截止频率的时钟信号的产生以及控制两块D/A以显示幅频特性曲线。程序流程图如图6所示。

基于fpga和单片机的程控滤波器

5 测试方案与测试结果

5.1 放大器测试

放大器输入端的正弦信号频率为10 kHz,振幅为10 mV,设定增益大小分别为10、20、30、40、50、60dB,用示波器测量实际输出幅值,计算出实际增益,其误差小于1%。此外,测得放大器通频带为1~200kHz。

5.2 低通、高通滤波器测试

将放大器增益设置为40dB,滤波器设置为低通滤波器,预置滤波器截止频率在1~30 kHz范围,步进为1kHz。用示波器测量实际截止频率,计算相对误差小于1.5%,且2fc处的电压总增益小于20dB。高通滤波器测试方法同理。

5.3 椭圆滤波器测试

放大器增益设置为40 dB,用示波器测量实际-3 dB截止频率和200 kHz处的总电压增益。测得fc=50.0kHz,在150 kHz处幅度就已几乎衰减到0。

5.4 幅频特性与相频特性测试

测量低通、高通滤波器的频率特性,在示波器上显示其幅频特性曲线,与所设置的滤波模式及截止频率相符。

6 结束语

本系统放大器增益范围10~60 dB,通频带1~200 kHz,增益误差小于1%。滤波器截止频率范围1~30kHz,误差小于1.5%。椭圆滤波器截止频率误差为0,在150 kHz处幅度几乎衰减到0。误差主要来源于时钟频率,当截止频率为20 kHz的时候,所需最高的时钟频率为2MHz,不能保证很好的时钟沿,而且时钟频率也不可能精确地控制,以及放大器的非线性误差。此外,利用DAC0800和有效值检波电路实现了幅频特性测试仪,系统整体性能良好。整个系统在单片机和FPGA的有机结合、协同控制下,工作稳定,测量精度高,人机交互灵活。

提醒:《基于fpga和单片机的程控滤波器》最后刷新时间 2024-03-14 00:50:17,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《基于fpga和单片机的程控滤波器》该内容的真实性请自行鉴别。