[发明专利]一种用于车载电子传感器电压信号滤波的算法在审
申请号: | 201710607347.6 | 申请日: | 2017-07-24 |
公开(公告)号: | CN107425825A | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 夏亚军;林尚栋 | 申请(专利权)人: | 温州长江汽车电子有限公司 |
主分类号: | H03H17/02 | 分类号: | H03H17/02 |
代理公司: | 温州瓯越专利代理有限公司33211 | 代理人: | 何志红 |
地址: | 325000 浙江省温*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 车载 电子 传感器 电压 信号 滤波 算法 | ||
技术领域
本发明涉及一种适用车载电子传感器电压信号滤波的新型算法,属于汽车电子技术领域,也适用于嵌入式电子设备。
背景技术
随着智能汽车电子技术的快速发展,各类传感器在汽车上的使用越来越广泛,虽然处理器执行速度也大幅提高,但传感器数量也在成倍增加,而且考虑到各类传感器信号的综合性和关联性,使得对各类传感器信号有效值的实时性和精确性等因素越来越高,就要求一套高效的数据处理算法。
而目前常用的传感器数据处理算法有求平均值和冒泡排序求中间值等算法。
求平均值算法比较简单,就是采集完相应个数的数据,求和再求平均值得出有效值,但如果车身电压信号的瞬间波动很大,求平均值得出的有效信号值偏差很大,精确度很低。
冒泡排序求中间值算法,通过对数据进行排序,去掉两端的值取中间值为有效值,使得有效值精度提高,但冒泡排序一般是等AD转换器采集满相应个数的数据源,再对数据源进行排序。而应用程序是周期性去读取有效值,很难保证任意时间点读取有效值是最新数据源求出的有效值,如果读取的周期小于采集完相应数据的周期,还会导致数据排序错乱等问题,数据实时性很差。
显然以上两种常用的算法已经不能满足现有汽车电子的快速发展。
发明内容
为了解决现有数据滤波算法的不足,本发明提出了一种车载电子传感器电压信号滤波的新型算法,结合数据流处理的自身规律,通过时时采集信号和对数据进行时时快速排序,得出精度高和实时性好的有效信号值,便于应用层及时对传感器的信号进行判断,有效解决了现有方法的精度低、实时性差等问题。
本发明为解决其现有算法问题所采用的新方案是:提供了一种车载电子传感器电压信号采集滤波的新型算法,在此发明中只对一个通道的算法进行说明,但此发明也适用多个通道,而且在数据源填满数组前是把瞬间电压作为有效值,填满后取数组中的中间值为有效值,AD转换器的采样精度定位12bit,采样的数据有效范围是【0,0xFFF】。其中单个通道的数据滤波算法包括以下步骤:
(1)对传感器模块进行初始化,包括AD转换器驱动的初始化、相应IO口的配置、数组大小的定义、数组数据初始化为0xFFFF、模块变量的初始化等,启动AD口的数据采样;
(2)运行传感器模块的周期任务,一般周期的大小根据传感器的通道数量、数据精度和系统资源分配等因素而定,在本发明中设定任务运行的周期为5毫秒;
(a1)周期查询AD采样是否转换完成,如果完成,把采集好的数据赋值给x1,再进入步骤(a2);
(a2)把数据源数组中要被覆盖的数据赋值给x2,进入步骤(a3);
(a3)在排序数组中找到x2的位置,把x2序号后面的数据往前移动,这样x2在排序数组中被覆盖掉,同时把最后一个数据设置为无效值(0xFFFF),进入步骤(a4);
(a4)在排序数组中,根据从小到大的循序找到x1要插入的位置,把当前位置和后面的数据往后移动一个位置,再把x1插入当前位置,进入步骤(a5);
(a5)把x1保存在数据源数组中的当前位置,同时数据源中的序号加1,如果序号>=最大值,把序号清0,进入步骤(a6);
(a6)判断x2是否等于0xFFFF,如果不相等,把排序数组中的中间值作为有效值赋给x;如果相等,把x1的值作为有效值赋给x,进入步骤(a7);
(a7)返回有效值x,供应用程序读取。
若对快速排序算法的删除和插入数据进行优化,则进入步骤(b1)至步骤(b7):
(b1)周期查询AD采样是否转换完成,如果完成,把采集好的数据赋值给x1,再进入步骤(b2);
(b2)把数据源数组中要被覆盖的数据赋值给x2,进入步骤(b3);
(b3)在排序数组中找到数据等于x2的位置,进入步骤(b4);
(b4)在排序数组中,判断x1和x2的大小,如果x1<x2,那么在排序数组中的x2位置之前,根据从小到大的循序插入x1,等于x2的数据位置被覆盖;如果x1>x2,那么在排序数组中的x2位置之后,根据从小到大的循序插入x1,等于x2的数据位置被覆盖,进入步骤(b5);
(b5)把x1保存在数据源数组中的当前位置,同时数据源中的序号加1,如果序号>=最大值,把序号清0,进入步骤(b6);
(b6)判断x2是否等于0xFFFF,如果不相等,把排序数组中的中间值作为有效值赋给x;如果相等,把x1的值作为有效值赋给x,进入步骤(b7);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于温州长江汽车电子有限公司,未经温州长江汽车电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710607347.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电感的性能稳定性的调节电路和方法
- 下一篇:一种电缆井沟在线监测系统