高精度ADC、DAC和IIR滤波器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高精度ADG 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
52测试用例及结果 (14)
53总结 (15)
关键词:ADC,DAC,IIR滤波器,AGCi理
摘要:本系统采用stm32F103单片机作为控制核心实现ADC DAC和IIR 滤波器,通过矩阵键盘选择ADC采集到的信号经IIR滤波器或AGC处理后给DAC输出,或是直接输出信号测试DAC输出量程,每种处理方式通过LCD屏幕给出指示。

测试表明本系统各功能均已达到或超出了题目要求。

1. 方案设计
1.1 总体方案选择
为了实现本系统,信号经调理信号经调理电路由 ADC 采集进入处理器,处
理器可以选择使用IIR 滤波器对信号进行处理,可以选择不处理,也可以做 DAC 输出测试,最终数据由DAC 和调理电路输出产生波形。

系统总体框图如图一所 示。

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

1.2 数字滤波的选择
为了实现题目所给的滤波器幅频响应曲线,我们可以选择带通与带阻滤波 器级联,这样子的设计代码量相对较少,较易实现,IIR 滤波器采用级联结构 在于其储存单元需要较少,教之并联型可以准确地实现滤波器的零、极点,便 于调整滤波器的频率特性,且对系数的变化敏感度小,受有限字长的影响比直 接型低,。

而在滤波器的
D 航输出测试
图一系统整体框图
【【R 滤波器 锯槪选择
输小信号冏理
输入
信号


选型上本系统选择椭圆滤波器,因为椭圆滤波器与巴特沃斯滤波器,切比雪夫滤波器等滤波器类型相比,椭圆滤波器具有最佳的频率响应,下降幅度最快且所需阶数最少,这样可以使运算速度达到最快并且效果较好。

2. 理论分析与计算
2.1. I IR滤波器的设计计算
IIR数字滤波器是一种递归线性时不变因果系统,其差分方程可以写为
N M
y(n) a y(n i) 0x(n i)
i 1 i 0
式中x表示输入系列,y表示输出序列。

通过z变换得到传递函数
M
bz i
H(z)i 0
N
1 a i Z i
i 1
在线性非移变系统情况下,级联系统的总输入-输出关系与子系统级联次序
无关,故而y(n)部分与x(n)部分可以交换,我们可以得到采用级联的二阶形式的信号流图如图二
图二IIR滤波器级联二阶形式信号流图
2.2 ADC、DAC勺设计
由于采用的stm32f103开发板板载12位的AD/DA故无需额外设计AD/DA
转换电路,注意其采样速率设置为10KHZ与滤波器匹配,并定时读取AD采样值,处理写入DA即可。

2.3外围电路计算
本次系统外围电路相对较为简单,主要为信号降幅,仪表放大器放大并给直流偏置以及滤波器滤波。

输入信号可用电阻分压至初始的六分之一,对于仪表放大器而言,本系统采用的INA128放大倍数为
50k
为了方便起见取R G=50k ,放大倍数为俩倍,则仪表放大器输出
V out 2V in V Ref ,
V Ref为所加直流偏置,大小为单片机供压 3.3V的一半1.67V
3. 硬件电路设计
3.1. 输入调理电路的设计
由于单片机只能识别输入为0到3.3V的信号,故需要将输入的信号通过调理电路调理,由题目可知输入信号范围最大为土5V(即最大10Vpp),信号频率最高500Hz,最低10Hz为了将其调理成所需的信号本作品采用低通滤波器将可能的高频信号过滤,利用仪表放大器的Ref脚调整其直流偏置。

本作品设定
仪表放大器放大两倍,为了达到目的首先用电阻分压的方式将最高土5V的信号
源降低幅度,如图三所示,
R1
10k
7PF- - II
VWPL二5V
FREQ -500
AC - 5
图三电阻分压电路
之后进入滤波电路,通过Filter.Solutions 设计出的滤波电路如图四所示
图四滤波电路
其为截止频率为1.5KHz的巴特沃斯滤波器,通过滤波器过滤后的信号再进入仪表放大器INA128,其电路图如图五所示
VEE
Ref JM128
图五输入仪表放大电路
Ref 端的直流偏置电压同样通过对电源采用电阻分压的方式获得如图六
图八加法
图六直流偏置产生电路
为了确保采集的Ref 电压正确,使用了电压跟随器确保其不会受仪放的影 响电压跟随器的设计如图七
32输出调理电路的设计
与输入信号需要调理类似,由于单片机只能输出 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俞出,并对不同信号不同模式下的输出进行记录和处理。

52测试用例及结果
1) 直接输出信号测试:
输入信号为5V的正弦波
通过对几个关键点幅频的测定,基本可以肯定滤波器工作正常。

3)AGC处理后输出信号测试
输入为200Hz的正弦波
53总结
本次系统整体基本达到了题目要求,并且系统运行稳定,不足之处在于关于AGC勺拓展处理部分仍有很大完善进步空间,选择的主控制器stm32f103运算能力不足也限制了对本次题目的进一步完善,未来可以考虑使用fpga作为新的主控重新对该系统进行改进。

相关文档
最新文档