CN106445886A - 用于车载传感器电压信号滤波的算法 - Google Patents
用于车载传感器电压信号滤波的算法 Download PDFInfo
- Publication number
- CN106445886A CN106445886A CN201610788312.2A CN201610788312A CN106445886A CN 106445886 A CN106445886 A CN 106445886A CN 201610788312 A CN201610788312 A CN 201610788312A CN 106445886 A CN106445886 A CN 106445886A
- Authority
- CN
- China
- Prior art keywords
- data
- array
- sequence
- value
- assigned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Vehicle Body Suspensions (AREA)
Abstract
本发明涉及一种用于车载传感器电压信号滤波的算法,包括有以下步骤:对传感器进行初始化,启动AD转换器进行数据采集,把采集好的数据赋值给x1;把数据源数组中要被覆盖的数据赋值给x2,在排序数组中找到x2的位置;把x2序号后面的数据往前移动,把最后一个数据设置为无效值,根据从小到大的顺序找到x1要插入的位置,把当前位置和后面的数据往后移动一个位置,再把x1插入当前位置;把数据源数组中的序号加1;判断x2是否等于0xFFFF,得出有效值。采用上述技术方案,本发明通过时时采集信号和对数据进行时时快速排序,得出精度高和实时性好的有效信号值,有效解决了现有方法的精度低、实时性差等问题。
Description
技术领域
本发明涉及汽车电控领域,特别涉及一种用于车载传感器电压信号滤波的算法。
背景技术
随着智能汽车电子技术的快速发展,各类传感器在汽车上的使用越来越广泛,虽然处理器执行速度也大幅提高,但传感器数量也在成倍增加,而且考虑到各类传感器信号的综合性和关联性,使得对各类传感器信号有效值的实时性和精确性等因素越来越高,就要求一套高效的数据处理算法。
而目前常用的传感器数据处理算法有求平均值和冒泡排序求中间值等算法。求平均值算法比较简单,就是采集完相应个数的数据,求和再求平均值得出有效值,但如果车身电压信号的瞬间波动很大,求平均值得出的有效信号值偏差很大,精确度很低;冒泡排序求中间值算法,通过对数据进行排序,去掉两端的值取中间值为有效值,使得有效值精度提高,但冒泡排序一般是等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得出有效值的具体步骤:
Claims (2)
1.一种用于车载传感器电压信号滤波的算法,其特征在于,至少包括有以下步骤:
(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,供应用程序读取。
2.根据权利要求1所述的用于车载传感器电压信号滤波的算法,其特征在于:步骤(4)中还可以通过判断x1和x2的大小来控制x1插入的位置以及x2覆盖的位置,在排序数组中,如果x1<x2,那么在排序数组中的x2位置之前,根据从小到大的循序插入x1,等于x2的数据位置被覆盖;如果x1>x2,那么在排序数组中的x2位置之后,根据从小到大的循序插入x1,等于x2的数据位置被覆盖。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610788312.2A CN106445886A (zh) | 2016-08-31 | 2016-08-31 | 用于车载传感器电压信号滤波的算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610788312.2A CN106445886A (zh) | 2016-08-31 | 2016-08-31 | 用于车载传感器电压信号滤波的算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106445886A true CN106445886A (zh) | 2017-02-22 |
Family
ID=58165351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610788312.2A Pending CN106445886A (zh) | 2016-08-31 | 2016-08-31 | 用于车载传感器电压信号滤波的算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445886A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107425825A (zh) * | 2017-07-24 | 2017-12-01 | 温州长江汽车电子有限公司 | 一种用于车载电子传感器电压信号滤波的算法 |
CN109737990A (zh) * | 2019-02-22 | 2019-05-10 | 中煤科工集团重庆研究院有限公司 | 强电磁环境下的抗干扰滤波算法 |
CN113671011A (zh) * | 2021-08-20 | 2021-11-19 | 中煤科工集团重庆研究院有限公司 | 一种抗压强突变影响氧气浓度高精度测量方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030095718A1 (en) * | 2001-11-19 | 2003-05-22 | Tatsuhiko Yamazaki | Median filter |
CN102636775A (zh) * | 2012-02-17 | 2012-08-15 | 中国科学院安徽光学精密机械研究所 | 基于模糊逻辑识别的风廓线雷达回波谱重构方法 |
CN103095249A (zh) * | 2011-10-28 | 2013-05-08 | 上海微电子装备有限公司 | 一种中值滤波电路及方法 |
CN105266772A (zh) * | 2014-06-20 | 2016-01-27 | 赵海 | 一种生理参数的测量方法 |
-
2016
- 2016-08-31 CN CN201610788312.2A patent/CN106445886A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030095718A1 (en) * | 2001-11-19 | 2003-05-22 | Tatsuhiko Yamazaki | Median filter |
CN103095249A (zh) * | 2011-10-28 | 2013-05-08 | 上海微电子装备有限公司 | 一种中值滤波电路及方法 |
CN102636775A (zh) * | 2012-02-17 | 2012-08-15 | 中国科学院安徽光学精密机械研究所 | 基于模糊逻辑识别的风廓线雷达回波谱重构方法 |
CN105266772A (zh) * | 2014-06-20 | 2016-01-27 | 赵海 | 一种生理参数的测量方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107425825A (zh) * | 2017-07-24 | 2017-12-01 | 温州长江汽车电子有限公司 | 一种用于车载电子传感器电压信号滤波的算法 |
CN109737990A (zh) * | 2019-02-22 | 2019-05-10 | 中煤科工集团重庆研究院有限公司 | 强电磁环境下的抗干扰滤波算法 |
CN109737990B (zh) * | 2019-02-22 | 2021-02-02 | 中煤科工集团重庆研究院有限公司 | 强电磁环境下的抗干扰滤波算法 |
CN113671011A (zh) * | 2021-08-20 | 2021-11-19 | 中煤科工集团重庆研究院有限公司 | 一种抗压强突变影响氧气浓度高精度测量方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445886A (zh) | 用于车载传感器电压信号滤波的算法 | |
CN105551082B (zh) | 一种基于激光点云的路面识别方法及装置 | |
CN102568009B (zh) | 用于电子地图的线段抽稀装置及其方法 | |
CN106249619B (zh) | 一种基于LabVIEW-Matlab驾驶员风格识别与反馈系统及方法 | |
CN111507226B (zh) | 道路图像识别模型建模方法、图像识别方法及电子设备 | |
CN108021844B (zh) | 一种道路边沿识别方法及装置 | |
CN1217287C (zh) | 指纹识别方法与系统 | |
CN108569297B (zh) | 一种车辆行驶工况的识别方法及系统 | |
CN102208033B (zh) | 基于数据聚类的鲁棒sift特征匹配方法 | |
CN106093946A (zh) | 一种适用于场面监视雷达的目标凝聚方法及装置 | |
CN106019251A (zh) | 雷达定位方法、装置及etc交易方法和系统 | |
CN102194312B (zh) | 一种道路合并方法及道路合并装置 | |
CN104794425A (zh) | 一种基于行驶轨迹的车辆统计方法 | |
CN102636547A (zh) | 一种基于毛细管区带电泳的寡核苷酸文库分级和评价方法 | |
CN103488990A (zh) | 一种十字邻域法提取睫毛图像和定位瞳孔的方法及装置 | |
CN115619871A (zh) | 一种车辆定位方法、装置、设备及存储介质 | |
CN101751517A (zh) | 一种基因组短序列映射的快速处理方法及系统 | |
CN111506408A (zh) | 基于关联数据集合的边缘计算任务调度方法 | |
CN112047209B (zh) | 一种电梯楼层的自动标定方法、介质、终端和装置 | |
CN101149743A (zh) | Dna测序污染序列批量处理工具 | |
CN111572400B (zh) | 一种应用于电动汽车的充电控制方法及装置 | |
CN114529983B (zh) | 事件及视频融合的动作识别方法及装置 | |
CN107391728B (zh) | 数据挖掘方法以及数据挖掘装置 | |
CN103559492A (zh) | 一种车标识别装置及方法 | |
CN107425825A (zh) | 一种用于车载电子传感器电压信号滤波的算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170222 |
|
WD01 | Invention patent application deemed withdrawn after publication |