文档库 最新最全的文档下载
当前位置:文档库 › 高精度ADC、DAC 和IIR 滤波器

高精度ADC、DAC 和IIR 滤波器

高精度ADC、DAC和IIR滤波器

设计说明书

文档版权声明

本文档版权归华中科技大学电工电子科技创新中心网站所有,未经本网站授权不得向任何其它企业、网站、论坛或个人上传、拷贝或其它方式传播本文档内容。

修订记录

目录

目录

1.方案设计 (7)

1.1总体方案选择 (7)

1.2数字滤波的选择 (7)

2.理论分析与计算 (8)

2.1.IIR滤波器的设计计算 (8)

2.2 ADC、DAC的设计 (9)

2.3外围电路计算 (9)

3.硬件电路设计 (9)

3.1.输入调理电路的设计 (9)

3.2.输出调理电路的设计 (11)

4.软件功能设计 (12)

4.1软件流程框图 (12)

4.2 IIR数字滤波器的设计 (13)

4.3自动增益控制AGC的设计 (13)

5. 系统测试与总结 (13)

5.1.测试方案 (13)

1)测试环境 (13)

2)测试方案: (14)

5.2.测试用例及结果 (14)

5.3.总结 (15)

关键词:ADC,DAC,IIR滤波器,AGC处理

摘要:本系统采用stm32F103单片机作为控制核心实现ADC、DAC和IIR滤波器,通过矩阵键盘选择 ADC 采集到的信号经IIR 滤波器或AGC 处理后给DAC 输出,或是直接输出信号测试DAC 输出量程,每种处理方式通过LCD屏幕给出指示。测试表明本系统各功能均已达到或超出了题目要求。

1.方案设计

1.1总体方案选择

为了实现本系统,信号经调理信号经调理电路由ADC 采集进入处理器,处

理器可以选择使用IIR 滤波器对信号进行处理,可以选择不处理,也可以做DAC 输出测试,最终数据由DAC 和调理电路输出产生波形。系统总体框图如图一所示。

图一系统整体框图

由于基于stm32可以较为轻松地实现数字IIR滤波器,而我们目前正好有stm32f103,因而我们选用stm32f103为核心处理器进行软件设计。

1.2数字滤波的选择

为了实现题目所给的滤波器幅频响应曲线,我们可以选择带通与带阻滤波器级联,这样子的设计代码量相对较少,较易实现,IIR滤波器采用级联结构

在于其储存单元需要较少,教之并联型可以准确地实现滤波器的零、极点,便

于调整滤波器的频率特性,且对系数的变化敏感度小,受有限字长的影响比直接型低,。而在滤波器的选型上本系统选择椭圆滤波器,因为椭圆滤波器与巴特沃斯滤波器,切比雪夫滤波器等滤波器类型相比,椭圆滤波器具有最佳的频率响应,下降幅度最快且所需阶数最少,这样可以使运算速度达到最快并且效果较好。

2. 理论分析与计算

2.1. I IR 滤波器的设计计算

IIR 数字滤波器是一种递归线性时不变因果系统,其差分方程可以写为

1

()()()i N

M

i i i y n a y n i b x n i ===-+-∑∑

式中x 表示输入系列,y 表示输出序列。通过z 变换得到传递函数

1

()1M

i

i i N i

i i b z

H z a z

-=-==

-∑∑

在线性非移变系统情况下,级联系统的总输入-输出关系与子系统级联次序无关,故而y(n)部分与x(n)部分可以交换,我们可以得到采用级联的二阶形式的信号流图如图二

图二IIR 滤波器级联二阶形式信号流图

2.2 ADC 、DAC 的设计

由于采用的stm32f103开发板板载12位的AD/DA,故无需额外设计AD/DA 转换电路,注意其采样速率设置为10KHz 与滤波器匹配,并定时读取AD 采样值,处理写入DA 即可。

2.3外围电路计算

本次系统外围电路相对较为简单,主要为信号降幅,仪表放大器放大并给直流偏置以及滤波器滤波。输入信号可用电阻分压至初始的六分之一,对于仪表放大器而言,本系统采用的INA128放大倍数为

501G

k G R Ω

=+

为了方便起见取G R =50k Ω,放大倍数为俩倍,则仪表放大器输出

Ref 2out in V V V =+,

Ref V 为所加直流偏置,大小为单片机供压3.3V 的一半1.67V 。

3. 硬件电路设计

3.1.输入调理电路的设计

由于单片机只能识别输入为0到3.3V 的信号,故需要将输入的信号通过调理电路调理,由题目可知输入信号范围最大为±5V(即最大10Vpp),信号频率最高500Hz ,最低10Hz ,为了将其调理成所需的信号本作品采用低通滤波器将可能的高频信号过滤,利用仪表放大器的Ref 脚调整其直流偏置。本作品设定仪表放大器放大两倍,为了达到目的首先用电阻分压的方式将最高±5V 的信号源降低幅度,如图三所示,

图三电阻分压电路

之后进入滤波电路,通过Filter.Solutions设计出的滤波电路如图四所示

图四滤波电路

其为截止频率为1.5KHz的巴特沃斯滤波器,通过滤波器过滤后的信号再进入仪表放大器INA128,其电路图如图五所示

图五输入仪表放大电路

Ref端的直流偏置电压同样通过对电源采用电阻分压的方式获得如图六

图六直流偏置产生电路

为了确保采集的Ref电压正确,使用了电压跟随器确保其不会受仪放的影响电压跟随器的设计如图七

图七电压跟随电路

3.2.输出调理电路的设计

与输入信号需要调理类似,由于单片机只能输出0到3.3V信号,需要用调理电路转化为最高±5V的信号,处理过程也与输入调理电路类似,不过在输出调理电路中本作品使用了加法器给输出信号加直流偏置。首先使用与输入调理电路相同的滤波电路滤去可能存在的高频杂波,然后通过加法器完成信号放大以及增加直流偏置,如图八

图八加法器电路

直流偏置同样使用电压跟随器确保不受运放电路影响。

4.软件功能设计

4.1软件流程框图

软件设计的总体流程框图如图九

图九软件设计总体框图

信号经外围电路处理后进行ADC转化,通过按键选择不同的类型对应不同的处理,并在屏幕予以显示,最后经DAC处理后输出信号通过外部电路转化在示波器上显示。

4.2 IIR数字滤波器的设计

为了得到IIR数字滤波器,首先需要在matlab上利用fdatool进行滤波

器设计,选型并导出C语言的滤波器系数,调用STM32库文件中基于C语言

IIR函数并更改对应的各项系数,配置ADC,每隔10kHz采集一次,ADC采集完

成中断使能,在ADC中断程序中调用IIR滤波器函数,最后将输出的y值赋值

到DAC数据寄存器上。采用10KHz的采样率可以做到波形变形较小,且采集的

数据可以及时处理完成。由于浮点数运算慢,处理困难,采集的数据很难及时

处理完成,本系统采用的是基于定点数的IIR滤波器设计,为使输出波形正常,需要对其定点数定标计算,即两定点数相乘,得到结果的定标是两乘数定标值

相加;两定点数相加减,前提是两数的定标值相等。在经过一系列的配置后最

终IIR滤波器可以正常工作。

4.3自动增益控制AGC的设计

自动增益控制AGC作为一个反馈控制系统,采样测量一段数据的最大值,算出输出最大值到计算最大值的倍数,软件增益设置成这个算出来的增益就是AGC原理了,但是由于时间的限制,本次系统对自动增益控制并未完全完成。

5. 系统测试与总结

5.1.测试方案

1)测试环境

测试在正常室内环境下,具体测试仪器如表一

表一测试仪器

2)测试方案:

用直流稳压电源对本系统进行供电,输入函数信号发生器产生的信号,通过键盘选择不同的处理方式,使用示波器测试DAC输出,并对不同信号不同模式下的输出进行记录和处理。

5.2.测试用例及结果

1)直接输出信号测试:

表二DAC输出测试

2)IIR滤波器处理后输出信号测试

±的正弦波

输入信号为5V

表三经IIR处理后的信号输出测试

3)AGC处理后输出信号测试

输入为200Hz的正弦波

表四AGC处理后输出信号测试

3.8V

4.9V

5.0V 2%

5.0V 5.01V 5.0V 0.2%

5.3.总结

本次系统整体基本达到了题目要求,并且系统运行稳定,不足之处在于关于AGC的拓展处理部分仍有很大完善进步空间,选择的主控制器stm32f103运算能力不足也限制了对本次题目的进一步完善,未来可以考虑使用fpga作为新的主控重新对该系统进行改进。

相关文档