用于车载传感器电压信号滤波的算法制造技术

技术编号:14697862 阅读:244 留言:0更新日期:2017-02-24 03:22
本发明专利技术涉及一种用于车载传感器电压信号滤波的算法,包括有以下步骤:对传感器进行初始化,启动AD转换器进行数据采集,把采集好的数据赋值给x1;把数据源数组中要被覆盖的数据赋值给x2,在排序数组中找到x2的位置;把x2序号后面的数据往前移动,把最后一个数据设置为无效值,根据从小到大的顺序找到x1要插入的位置,把当前位置和后面的数据往后移动一个位置,再把x1插入当前位置;把数据源数组中的序号加1;判断x2是否等于0xFFFF,得出有效值。采用上述技术方案,本发明专利技术通过时时采集信号和对数据进行时时快速排序,得出精度高和实时性好的有效信号值,有效解决了现有方法的精度低、实时性差等问题。

【技术实现步骤摘要】

本专利技术涉及汽车电控领域,特别涉及一种用于车载传感器电压信号滤波的算法
技术介绍
随着智能汽车电子技术的快速发展,各类传感器在汽车上的使用越来越广泛,虽然处理器执行速度也大幅提高,但传感器数量也在成倍增加,而且考虑到各类传感器信号的综合性和关联性,使得对各类传感器信号有效值的实时性和精确性等因素越来越高,就要求一套高效的数据处理算法。而目前常用的传感器数据处理算法有求平均值和冒泡排序求中间值等算法。求平均值算法比较简单,就是采集完相应个数的数据,求和再求平均值得出有效值,但如果车身电压信号的瞬间波动很大,求平均值得出的有效信号值偏差很大,精确度很低;冒泡排序求中间值算法,通过对数据进行排序,去掉两端的值取中间值为有效值,使得有效值精度提高,但冒泡排序一般是等AD转换器采集满相应个数的数据源,再对数据源进行排序,而应用程序是周期性去读取有效值,很难保证任意时间点读取有效值是最新数据源求出的有效值,如果读取的周期小于采集完相应数据的周期,还会导致数据排序错乱等问题,数据实时性很差。因此,以上两种常用的算法已经不能满足现有汽车电子的快速发展。
技术实现思路
本专利技术的目的:为了克服现有技术的缺陷,本专利技术提供了一种用于车载传感器电压信号滤波的算法,结合数据流处理的自身规律,通过时时采集信号和对数据进行时时快速排序,得出精度高和实时性好的有效信号值,便于应用层及时对传感器的信号进行判断,有效解决了现有方法的精度低、实时性差等问题。本专利技术的技术方案:一种用于车载传感器电压信号滤波的算法,其特征在于,至少包括有以下步骤:(1)对传感器进行初始化,启动AD转换器进行若干个样本数据采集,按照先后顺序对采集的数据进行排列形成数据源数组,对采集的数据进行从小到大排序形成排序数组,设定采集周期;(2)周期查询AD采样是否完成,如果完成,把采集好的数据赋值给x1;(3)把数据源数组中要被覆盖的数据赋值给x2,在排序数组中找到x2的位置;(4)把x2序号后面的数据往前移动,这样x2在排序数组中被覆盖掉,同时把最后一个数据设置为无效值,在排序数组中,根据从小到大的顺序找到x1要插入的位置,把当前位置和后面的数据往后移动一个位置,再把x1插入当前位置;(5)把x1保存在数据源数组中的当前位置,同时数据源数组中的序号加1,如果序号>=数据样本的最大值,把序号清0;(6)判断x2是否等于0xFFFF,如果不相等,把排序数组中的中间值作为有效值赋给x;如果相等,把x1的值作为有效值赋给x;(7)返回有效值x,供应用程序读取。采用上述技术方案的有益效果为:(1)本专利技术利用两个数组,数据源数组保证了数组中始终是最新采集的数据;排序数组对最新数据进行排序,把排序后的中间值作为有效值,返回给应用程序适用,使得应用程序得到高精度的、实时性好的有效值;(2)本专利技术利用快速排序法,把每次采集的数据根据从小到大的先后顺序立即插入到排序数组中,相对冒泡排序算法,此快速插入排序算法代码简单,执行效率就高很多,适合多路传感器的同时采样算法;(3)本专利技术利用的数据滤波算法,根据采集周期进行快速排序,在最小周期中就立即得出当前的有效值,而常用的求平均值算法和冒泡排序算法,都需要采集完规定的数据后,再进行排序得出有效值,所以本专利技术的数据快速排序滤波算法,得出有效值的实时性很好,根据采集周期快速更新有效值;(4)本专利技术对应用程序不做要求,兼容性很好,应用程序任意时间都可以读取有效值。本专利技术的进一步设置:步骤(4)中还可以通过判断x1和x2的大小来控制x1插入的位置以及x2覆盖的位置,在排序数组中,如果x1<x2,那么在排序数组中的x2位置之前,根据从小到大的循序插入x1,等于x2的数据位置被覆盖;如果x1>x2,那么在排序数组中的x2位置之后,根据从小到大的循序插入x1,等于x2的数据位置被覆盖。采用上述进一步设置,通过对x1插入的位置以及x2覆盖的位置进行优化,以x2为分界线,把排序数组分成两个部分,比较x1和x2的大小,来决定是在前部分还是后部分插入x1,此方法只要移动一次即可插入x1,而且移动的数据平均个数减少了一半,使得效率进一步提高,特别是x1等于x2时,不用对排序数组进行插入等操作。附图说明图1为本专利技术具体实施例1的工作流程图;图2为本专利技术具体实施例2的工作流程图。具体实施方式实施例1:如图1所示,一种用于车载传感器电压信号滤波的算法,包括有以下步骤:(1)对传感器进行初始化,启动AD转换器进行5个样本数据采集,按照先后顺序对采集的数据进行排列形成数据源数组SrcData[5],对采集的数据进行从小到大排序形成排序数组DesData[5],数据源数组的序号定义为i,设定采集周期5ms,采样周期可以根据传感器的通道数量、数据精度和系统资源分配等因素而定;(2)周期查询AD采样是否完成,如果完成,把采集好的数据赋值给x1;(3)把SrcData[i]赋值给x2,在数组DesData[5]中找到x2的位置;(4)把x2序号后面的数据往前移动,这样x2在数组DesData[5]中的数据被覆盖掉,同时把DesData[4]数据设置为0xFFFF,在DesData[5]中,根据从小到大的顺序找到x1要插入的位置,把当前位置和后面的数据往后移动一个位置,再把x1插入当前位置;(5)把x1保存在SrcData[i]中,同时i加1,如果i>=5,把i清0;(6)判断x2是否等于0xFFFF,如果不相等,把DesData[2]作为有效值赋给x;如果相等,把x1的值作为有效值赋给x;(7)返回有效值x,供应用程序读取。表一为实施例1中覆盖x2、插入x1得出有效值的具体步骤:实施例2:如图2所示,一种用于车载传感器电压信号滤波的算法,包括有以下步骤:(1)对传感器进行初始化,启动AD转换器进行5个样本数据采集,按照先后顺序对采集的数据进行排列形成数据源数组SrcData[5],对采集的数据进行从小到大排序形成排序数组DesData[5],数据源数组的序号定义为i,设定采集周期5ms,采样周期可以根据传感器的通道数量、数据精度和系统资源分配等因素而定;(2)周期查询AD采样是否完成,如果完成,把采集好的数据赋值给x1;(3)把SrcData[i]赋值给x2,在数组DesData[5]中找到x2的位置,;(4)在排序数组中,如果x1<x2,那么在DesData[5]中的x2位置之前,根据从小到大的循序插入x1,x2被覆盖;如果x1>x2,那么在DesData[5]中的x2位置之后,根据从小到大的循序插入x1,x2被覆盖;(5)把x1保存在SrcData[i]中,同时i加1,如果i>=5,把i清0;(6)判断x2是否等于0xFFFF,如果不相等,把DesData[2]作为有效值赋给x;如果相等,把x1的值作为有效值赋给x;(7)返回有效值x,供应用程序读取。表二为实施例2中覆盖x2、插入x1得出有效值的具体步骤:本文档来自技高网...
用于车载传感器电压信号滤波的算法

【技术保护点】
一种用于车载传感器电压信号滤波的算法,其特征在于,至少包括有以下步骤:(1)对传感器进行初始化,启动AD转换器进行若干个样本数据采集,按照先后顺序对采集的数据进行排列形成数据源数组,对采集的数据进行从小到大排序形成排序数组,设定采集周期;(2)周期查询AD采样是否完成,如果完成,把采集好的数据赋值给x1;(3)把数据源数组中要被覆盖的数据赋值给x2,在排序数组中找到x2的位置;(4)把x2序号后面的数据往前移动,这样x2在排序数组中被覆盖掉,同时把最后一个数据设置为无效值,在排序数组中,根据从小到大的顺序找到x1要插入的位置,把当前位置和后面的数据往后移动一个位置,再把x1插入当前位置;(5)把x1保存在数据源数组中的当前位置,同时数据源数组中的序号加1,如果序号>=数据样本的最大值,把序号清0;(6)判断x2是否等于0xFFFF,如果不相等,把排序数组中的中间值作为有效值赋给x;如果相等,把x1的值作为有效值赋给x;(7)返回有效值x,供应用程序读取。

【技术特征摘要】
1.一种用于车载传感器电压信号滤波的算法,其特征在于,至少包括有以下步骤:(1)对传感器进行初始化,启动AD转换器进行若干个样本数据采集,按照先后顺序对采集的数据进行排列形成数据源数组,对采集的数据进行从小到大排序形成排序数组,设定采集周期;(2)周期查询AD采样是否完成,如果完成,把采集好的数据赋值给x1;(3)把数据源数组中要被覆盖的数据赋值给x2,在排序数组中找到x2的位置;(4)把x2序号后面的数据往前移动,这样x2在排序数组中被覆盖掉,同时把最后一个数据设置为无效值,在排序数组中,根据从小到大的顺序找到x1要插入的位置,把当前位置和后面的数据往后移动一个位置,再把x1插入当前位置;(5)把x1保存在数据源数组中...

【专利技术属性】
技术研发人员:夏亚军林尚栋富晓东
申请(专利权)人:温州长江汽车电子有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1