赞
踩
为了对stm32f4的ADC和DAC有更多的了解,我决定做一个实用性比较强的实验。就是数字滤波实验,利用stm32f4的DAC可以产生噪声的特点,利用它的一路DAC产生叠加噪声的信号作为原始信号。然后用ADC测量,把结果经过滤波处理后用DAC的另一通道把结果输出,用双踪示波器观察。
一阶惯性滤波器及其数字化
一阶惯性滤波器的传递函数为:
利用一阶差分法离散化,可以得到一阶惯性数字滤波算法:
其中T为采样周期,为滤波时间常数。T和必须根据信号频谱来选择。
编程实现:
a. 设定一个1024点正弦波表,用DAC1叠加噪声输出
b. 配置定时器6更新频率为1M
c. DAC的时钟为TIM6更新事件,1024点,频率大概为0.5M
d. 在TIM6的更新中断中启动一次AD转换
e. AD转换中断中做滤波处理,然后把数值送DAC2,启动一次DAC2
程序:
输出的信号:
用AD测量后不经过滤波直接输出:
经过滤波的输出:
结论:经过滤波后,很好地把噪声滤除了,但相位有一定的滞后,幅值会变小。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。