发动机测试数据分类方法、电子设备和可读存储介质
技术领域
本发明涉及数据处理领域,特别涉及一种发动机测试数据分类方法、电子设备和可读存储介质。
背景技术
在一款新车型的开发过程中,为尽可能降低污染物排放、降低油耗,改善驾驶性等目的,一般会在发动机允许的工作范围进行参数遍历扫描,获得所工作范围内(以转速-进气量进行组合为例)污染物排放量,油耗的相关参数(log数据),根据目标选择最优控制参数。目前,在获得如上数据后,工程师通过把记录的发动机工况(log)数据导入特定软件,手动记录和分组分析本项目中扫描过的工作范围。如在进行碳罐流量的测试后,需要手动计算本项目测试时电磁阀控制的PWM(脉冲宽度调制)值,以获得测试的工作范围和后续控制参数的计算,然而,这样的人工打开软件分析log,人工分析和汇总模式不适合进行大数据自动化的分析、优化控制参数。
发明内容
本发明的目的在于提供一种发动机测试数据分类方法、电子设备和可读存储介质,以能够从数据测试的数据文件中通过软件算法自动的获得准确的运行区间分组,从而解决现有技术在对测试数据进行测试分析时不够简便、可靠度低以及效率低的问题。
为解决上述技术问题,本发明提供一种发动机测试数据分类方法,所述发动机测试数据分类方法包括:
获取发动机测试数据,并按设定采样频率对所述发动机测试数据重新采样,以形成第一数组;
对所述第一数组中的数据按从小到大进行排序,以形成第二数组;
将所述第二数组划分为多个测试窗口;
依次判断每个所述测试窗口内数据的稳定性,以根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值,并将多组所述运行区间值依次输出以形成最终数组。
可选的,在所述的发动机测试数据分类方法中,在依次判断每个所述测试窗口内数据的稳定性之前,所述发动机测试数据分类方法包括:
计算每个所述测试窗口内数据的最大值、最小值和平均值,以用于判断对应所述测试窗口数据的稳定性。
可选的,在所述的发动机测试数据分类方法中,所述根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值的方法包括:
依次判断每个所述测试窗口内的所述最大值、所述最小值和所述平均值之大小是否满足设定条件;
若满足设定条件,则将满足设定条件的所述测试窗口内的数据作为新的运行区间值。
可选的,在所述的发动机测试数据分类方法中,当所述最终数组内为空时,所述设定条件包括:
Max>Avg*Fct1,且Min<Avg*Fct2;其中,
Max表示相应测试窗口内的最大值,Min表示相应测试窗口内的最小值,Fct1和Fct2分别表示可调整比例系数。
可选的,在所述的发动机测试数据分类方法中,当所述最终数组内不为空时,所述设定条件包括:
Max>Avg*Fct1,且Min<Avg*Fct2,且Avg>Dout(-1)*Fct3;其中,
Max表示相应测试窗口内的最大值,Min表示相应测试窗口内的最小值,Dout(-1)表示上一输出的所述运行区间值中的最后一个数据,Fct1、Fct2和Fct3分别表示可调整比例系数。
可选的,在所述的发动机测试数据分类方法中,所述根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值的方法还包括:
若不满足设定条件,且所述最终数组内不为空,则判断所述第二数组中剩余的数据的长度是否大于所述测试窗口的长度,若是,则判断下一窗口内数据的稳定性。
可选的,在所述的发动机测试数据分类方法中,在将满足设定条件的所述测试窗口内的数据作为新的运行区间值后,所述根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值的方法还包括:
判断所述第二数组中剩余的数据的长度是否大于所述测试窗口的长度,若是,则判断下一窗口内数据的稳定性。
可选的,在所述的发动机测试数据分类方法中,所述根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值的方法还包括:
判断所述第二数组中剩余的数据的长度是否大于所述测试窗口的长度,若否,则结束对所述测试窗口内数据的稳定性的判断。
基于同一发明构思,本发明还提供一种电子设备,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如上所述的方法。
基于同一发明构思,本发明还提供一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的方法。
与现有技术相比,本发明的技术方案具有以下有益效果:
本发明提供的发动机测试数据分类方法、电子设备及可读存储介质,在获取发动机测试数据后,通过按设定采样频率对所述发动机测试数据重新采样,以形成第一数组,并对所述第一数组中的数据按从小到大进行排序,以形成第二数组,以及将所述第二数组划分为多个测试窗口,进而依次判断每个所述测试窗口内数据的稳定性,以根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值,并将多组所述运行区间值依次输出以形成最终数组,,由此能够从发动机测试的数据文件中自动化地获得准确的运行区间分组,以便于为后续的自动化分析和控制参数等提供前提条件,而且,由于采用软件算法的形式,故而实现过程更加高效,快捷,简便。
附图说明
图1是本发明具体实施例的发动机测试数据分类方法的流程图;
图2是本发明具体实施例的发动机测试数据分类方法各步骤的过程示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的发动机测试数据分类方法、电子设备和可读存储介质作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
请参考图1,本发明一实施例提供一种发动机测试数据分类方法,所述发动机测试数据分类方法包括以下步骤:
S1,获取发动机测试数据,并按设定采样频率对所述发动机测试数据重新采样,以形成第一数组;
S2,对所述第一数组中的数据按从小到大进行排序,以形成第二数组;
S3,将所述第二数组划分为多个测试窗口;
S4,依次判断每个所述测试窗口内数据的稳定性,以根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值,并将多组所述运行区间值依次输出以形成最终数组(Dout数组)。
通常,在汽车开发阶段会对汽车的各种工况下的性能参数进行相应的测试,这些测试的类型例如为爆震测试、排气温度测试、高温道路试验、高原道路试验和高寒道路试验、电磁干扰和电磁兼容测试、稳态测功器试验、闭环燃油控制测试、瞬态燃油控制测试、怠速控制测试、启动控制测试、喷油控制测试、空调控制测试、百公里加速测试以及起步停车测试等等,每个测试会对应汽车的相应工况,例如,怠速控制测试为汽车运行在怠速工况下的性能测试。在每个测试过程中,会通过发动机转速传感器、冷却液温度传感器、油温传感器、进气温度传感器、进气压力传感器、档位位置开关、车速传感器、节气门位置传感器、加速踏板位置传感器、空调开关传感器等相应的信号采集设备来分别采集发动机转速、发动机水温、油温、进气温度、进气压力、变速箱档位、档位使用频度、车速、油门开度(即节气门开度)、加速度、发动机负荷、振动频率以及发动机运转时间等发动机测试数据,这些发动机测试数据也可称之为log文件。
根据发动机标定和测试的特点,针对稳态运行测试的数据:要求运行区间的切换具有一定的区分度(比如进气量从15kg/h切换到25kg/h),且稳态运行一定的时间长度(比如10秒),故而最终输出的数组中,多组运行区间值应以“阶梯”形式呈现,步骤S4中,根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值正是基于此展开,通过对数据的稳定性进行判断,以将应位于不同“台阶”的数据区别开来。
故而,请参考图2,步骤S4中,在判断每个所述测试窗口内数据的稳定性之前,先执行步骤S41,计算每个所述测试窗口内数据的最大值、最小值和平均值,以用于接下来步骤中对对应所述测试窗口数据的稳定性的判断。
在对某一所述测试窗口内数据的稳定性进行判断时,所述Dout数组是否存在数值,影响其判断依据,这是因为,在进行“台阶”(运行区间值)的切换时,运行区间值应有相对明显的一个变化,所以当所述Dout数组内不为空,即已产生“台阶”后,待生成新台阶的值应与已生成的“台阶”的最后一值进行比较,只有当满足一定大小关系时,即满足新“台阶”生成条件时,才可生成新的“台阶”。有鉴于此,在步骤S42之前,还应包括:判断所述Dout数组内是否为空,相应的,所述设定条件可具体做如下设置:
(1)当所述Dout数组内为空时,所述设定条件包括:
Max>Avg*Fct1,且Min<Avg*Fct2;其中,
Max表示相应测试窗口内的最大值,Min表示相应测试窗口内的最小值,Fct1和Fct2分别表示可调整比例系数。
(2)当所述Dout数组内不为空时,所述设定条件包括:
Max>Avg*Fct1,且Min<Avg*Fct2,且Avg>Dout(-1)*Fct3;其中,
Max表示相应测试窗口内的最大值,Min表示相应测试窗口内的最小值,Dout(-1)表示上一输出的所述运行区间值中的最后一个数据,Fct1、Fct2和Fct3分别表示可调整比例系数。
在此基础上,所述根据每个所述测试窗口内数据的稳定性在所述第二数组中检测出多组运行区间值的方法具体可包括如下步骤:
S42,依次判断每个所述测试窗口内的所述最大值、所述最小值和所述平均值之大小是否满足设定条件;若满足设定条件,不论所述Dout数组内为空或不为空,则依次执行步骤S43和步骤S44;当不满足设定条件,且所述最终数组内不为空,则执行步骤S44;
S43,将当前所述测试窗口内的数据作为新的运行区间值;
S44,判断所述第二数组中剩余的数据的长度是否大于所述测试窗口的长度,若是,则执行步骤S45,若否,则执行步骤S46;
S45,判断下一窗口内数据的稳定性;
S46,结束对所述测窗口内数据的稳定性的判断。
需要说明的是,步骤S45中,在判断下一窗口内数据的稳定性时,由于所述Dout数组已经输入了部分运行区间值,故在对其稳定性进行判断时,应以前文中第(2)种设定条件作为判断依据。
完成上述步骤后,本实施提供的所述发动机测试数据分类方法从发动机测试的数据文件中自动化地获得准确的运行区间分组,便于为后续的自动化分析和控制参数等提供前提条件,而且,由于采用软件算法的形式,故而实现过程更加高效,快捷,简便。
基于同一发明构思,本发明一实施例还提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现本发明一实施例提供所述的发动机测试数据分类方法。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分。
所述存储器可用于存储所述计算机程序,所述处理器通过运行或执行存储在所述存储器内的计算机程序,以及调用存储在存储器内的数据,实现所述电子设备的各种功能。
所述存储器可以包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
基于同一发明构思,本发明一实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被一处理器执行时能实现本发明一实施例所述的发动机测试数据分类方法。
所述可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备,例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所描述的计算机程序可以从可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收所述计算机程序,并转发该计算机程序,以供存储在各个计算/处理设备中的可读存储介质中。用于执行本发明操作的计算机程序可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。所述计算机程序可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机程序的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、系统和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序实现。这些计算机程序可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些程序在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机程序存储在可读存储介质中,这些计算机程序使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有该计算机程序的可读存储介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机程序加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的计算机程序实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
综上所述,本发明发动机测试数据分类方法、电子设备和可读存储介质,能够通过从数据测试的数据文件中通过软件算法自动的获得准确的运行区间分组,从而解决了现有技术在对测试数据进行测试分析时不够简便、可靠度低以及效率低的问题。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。