滤波软件的程序实例
扫描二维码
随时随地手机看文章
我们可以用数字滤波方法的C语言程序代码子函数,来完成软件滤波功能。我们假定,从8位AD中读取数据,如果是更高位的AD可以定义数据类型为int,子程序定义为get_ad()。
(1)算术平均滤波程序,调用读取数据予函数get_ad()。
(2)判断滤波程序,调用读取数据子程序get_ad()。
(3)滑动平均滤波法C语言程序,调用读取数据子程序get_ad()。
(4)中值平均滤波法C语言程序,调用读取数据子函数get_ad()。
(5)中位值滤波法,N值可根据实际情况调整,排序采用冒泡法。
本实例主要介绍的是应用单片机实现软件滤波的方法和程序,对于滑动平均滤波法对周期性干扰有良好的抑制作用,平滑度高,灵敏度低,但对于偶然出现的脉冲干扰的抑制作用差,不易消除由于脉冲干扰引起的采样值的偏差。因此不宜用于脉冲干扰比较严重的场合,而更适用于高频振荡系统。
算术平均滤波不能将明显的脉冲干扰消除,只能将其影响减弱,从而使平均滤波的输出值更接近真实值。程序判断滤波法,能有效克服因偶然因素引起的脉冲干扰缺点,但是无法抑制那种周期性的干扰,并且平滑度差。