新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AMR磁阻传感器和加速度传感器ADXL202的电子罗盘防干扰设计

基于AMR磁阻传感器和加速度传感器ADXL202的电子罗盘防干扰设计

作者:时间:2010-12-07来源:网络收藏


3.2 源程序代码分析

对应程序流程图,给出了单片机通过P4.2口对某一输出通道采样滤波并完成脉宽计数的源程序。源程序如下:





源程序中定义了3个变量,其中变量Flag存储原状态值;FlagReg存储当前采样值;变量i记录采样次数;改变i的值可控制滤除尖峰脉冲的等待时间。程序通过对原状态与当前采样状态异或之后的值来判断当前信号是有效信号还是信号,从而对上升沿、下降沿的中间过度或尖峰脉冲进行相应处理,退出中断子程序。实现了对正常信号计数、滤掉尖峰脉冲的目的。

4 测试结果

由于条件限制以及干扰的随机性,对构成的车载屯子进行的测试,无法对所测量的角度以及方向角进行精确标定。实验时,通过相同条件下同一物理量多次测量值的标准差来对相应算法进行评估。测试结果如表1所列。



从实验测试的标准差可以看出,经过软件滤波后σ小了很多,这种软件滤波算法对滤除尖峰脉冲干扰是非常有效的。

结 语

本文提出的软件滤波算法速度快,代码效率高,滤波效果理想,是一种实用的数字滤波方法,体现了将算法与具体硬件相结合的思想。另一方面,当脉冲干扰较宽时可将存储器变量适当扩展成多字节变量。这个算法还可以与FPGA结合,用于其他计数精度要求较高、易受尖峰脉冲干扰的应用结合。

本文引用地址:http://www.eepw.com.cn/article/173111.htm

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭