Data processing method, electronic equipment and storage medium

By removing non-numerical values ​​and simplifying variable names in the simulation platform data, and adjusting the data time length, the calculation anomalies caused by non-numerical values ​​in the simulation platform data were resolved, improving the reliability and accuracy of data calculation, simplifying the processing flow, and enhancing data analysis efficiency.

CN121435544APending Publication Date: 2026-01-30GREAT WALL MOTOR CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511838862.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-08
Publication Date
2026-01-30

AI Technical Summary

Technical Problem

The presence of non-numerical (NAN) values ​​in the data obtained from simulation based on the simulation platform leads to abnormal calculations of vehicle performance parameters, affecting the reliability and accuracy of the data calculation results.

Method used

By obtaining the total number of rows and time intervals occupied by non-numeric data in the data to be processed, the first duration is determined, and rows or columns containing non-numeric data are deleted, variable names are simplified, and the start and end points of the data are adjusted to improve data quality.

Benefits of technology

It improves the reliability and accuracy of data calculation results, simplifies the data processing flow, increases data processing speed and efficiency, simplifies visualization effects, and enhances the flexibility and accuracy of data analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121435544A_ABST
    Figure CN121435544A_ABST
Patent Text Reader

Abstract

The invention provides a data processing method, an electronic device and a storage medium, the method is applied to the technical field of simulation testing, and the method comprises the steps: obtaining to-be-processed data, the to-be-processed data comprises data obtained by simulating a vehicle under a target test condition through a simulation platform, each row of data in the to-be-processed data represents multiple kinds of driving data at the same sampling moment, and each column of data in the to-be-processed data represents the same kind of driving data at different sampling moments; under the condition that the non-numerical value exists in the to-be-processed data, determining a first duration based on the total row number occupied by the non-numerical value in the to-be-processed data; and based on the first duration, deleting at least one row of data including non-numerical values and / or at least one column of data including non-numerical values in the to-be-processed data to obtain target data. According to the method, the situation that data calculation is abnormal due to the fact that non-numerical values exist in the data obtained through simulation can be improved, and therefore the reliability and accuracy of a data calculation result are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of simulation testing technology, and more specifically, to a data processing method, electronic device, and storage medium in the field of simulation testing technology. Background Technology

[0002] With the development of the automotive industry, in order to test and verify some performance parameters of vehicles, simulation platforms can be used to simulate driving scenarios of vehicles under real target test conditions in order to obtain data simulated by the simulation platform.

[0003] However, when calculating the vehicle's performance parameters based on the data obtained from the simulation platform described above, data calculation anomalies may occur. Summary of the Invention

[0004] This application provides a data processing method, an electronic device, and a storage medium. This method can improve the reliability and accuracy of data calculation results by mitigating the occurrence of data calculation anomalies caused by the presence of non-numerical data in the simulated data.

[0005] Firstly, a data processing method is provided, comprising: acquiring data to be processed, the data to be processed including data obtained by simulating a vehicle under target test conditions through a simulation platform, each row of data in the data to be processed representing multiple driving data at the same sampling time, and each column of data in the data to be processed representing the same driving data at different sampling times; in the case that there are non-numerical values ​​in the data to be processed, determining a first duration based on the total number of rows occupied by non-numerical values ​​in the data to be processed; and deleting at least one row of data including non-numerical values ​​and / or at least one column of data including non-numerical values ​​in the data to be processed based on the first duration to obtain target data.

[0006] The above technical solution can delete at least one row and / or at least one column of data containing non-numerical values ​​from the data obtained by the simulation platform, thereby improving the reliability and accuracy of the data calculation results and mitigating the occurrence of data calculation anomalies caused by the presence of non-numerical values ​​in the simulation data.

[0007] In conjunction with the first aspect, in some possible implementations, the first duration is determined based on the total number of rows occupied by non-numerical data in the data to be processed, including: obtaining the total number of rows occupied by non-numerical data in the data to be processed, and the time interval between the sampling times of every two adjacent rows of data in the data to be processed; and determining the first duration based on the total number of rows and the time interval.

[0008] Using the above technical solution, the first duration can be calculated based on the total number of rows occupied by non-numerical data and the time interval between the sampling times of each two adjacent rows of data, so as to accurately measure the occupancy of non-numerical data in the data to be processed.

[0009] Combining the first aspect and the above implementation methods, in some possible implementation methods, based on a first duration, deleting at least one row of data and / or at least one column of data containing non-numeric values ​​from the data to be processed to obtain target data includes: if the first duration is less than a first preset duration, deleting all rows of data containing non-numeric values ​​from the data to be processed to obtain target data; if the first duration is greater than or equal to the first preset duration, determining the target column data in the data to be processed, where the target column data is the column of data containing the most non-numeric values ​​in the data to be processed; deleting the target column data in the data to be processed, and then re-executing the step of determining the first duration based on the total number of rows occupied by non-numeric values ​​in the data to be processed when non-numeric values ​​exist in the data to be processed.

[0010] With the above technical solution, if the first duration is greater than or equal to the first preset duration, it can be considered that the simulation of a certain type of driving data or multiple types of driving data is incorrect, resulting in one or more columns of data in the data to be processed having multiple non-numerical values. Therefore, the column of data with the most non-numerical values ​​in the data to be processed is deleted so that more driving data corresponding to the sampling time can be retained in the target data, thereby further improving the reliability and accuracy of the data calculation results.

[0011] Combining the first aspect and the above implementation methods, in some possible implementation methods, acquiring the data to be processed includes: acquiring the original data obtained by simulating a vehicle under target test conditions through a simulation platform; receiving a first variable name input by the user; detecting whether the first variable name matches a second variable name in the original data, where the second variable name is used to represent the data name corresponding to the driving data; if the first variable name matches the second variable name, extracting the data corresponding to the second variable name from the original data to obtain initial extracted data; if the first variable name does not match the second variable name, prompting the user to change the input first variable name, and after receiving the changed first variable name input by the user, re-executing the step of detecting whether the first variable name matches the second variable name in the original data; and determining the data to be processed based on the initial extracted data.

[0012] The above technical solution allows for the flexible extraction of initial data from the original data based on variable names, according to user needs. This reduces the amount of data that needs to be processed subsequently, thereby improving data processing speed and computational efficiency. Furthermore, this data extraction method is highly efficient and less prone to errors.

[0013] In conjunction with the first aspect and the above implementation methods, in some possible implementation methods, after obtaining the initial extracted data, the method further includes: detecting whether a first preset symbol exists in the second variable name; if the first preset symbol exists in the second variable name, extracting a portion of the string from the second variable name based on the first preset symbol to obtain a third variable name, wherein the string length of the third variable name is less than the string length of the second variable name; detecting whether a second preset symbol exists in the third variable name; if the second preset symbol exists in the third variable name, extracting a portion of the string from the third variable name based on the second preset symbol to obtain a target variable name, wherein the string length of the target variable name is less than the string length of the third variable name.

[0014] The above technical solution processes the second variable name corresponding to the driving data in the initial extracted data to remove redundant prefixes, resulting in initial extracted data with target variable names. This simplifies lengthy variable names, making the target variable names shorter. In subsequent visualization of the output data, this improves the visualization effect, readability, and data analysis efficiency.

[0015] Combining the first aspect and the above implementation methods, in some possible implementation methods, multiple driving data, including driving speed, are used. Based on the initial extracted data, the data to be processed is determined, including: obtaining the start point and end point of the initial extracted data, where the start point is a sampling time located before the target time and spaced a second preset time interval from the target time, the target time is the sampling time corresponding to the first driving speed that is greater than a preset vehicle speed, and the end point is a sampling time located after the start point and spaced a third preset time interval from the start point; and extracting multiple driving data corresponding to all sampling times between the start point and the end point from the initial extracted data to obtain the data to be processed.

[0016] The above technical solution can uniformly adjust the time length of the driving data from the first sampling time to the last sampling time in the data to be processed in each test batch to the third preset time. This facilitates horizontal comparison of energy consumption and other performance parameters calculated from different test batches, improving the accuracy of the analysis results. Furthermore, it does not require manual adjustment by the user, making the operation simple and less prone to errors.

[0017] Combining the first aspect and the above implementation methods, in some possible implementation methods, after deleting at least one row of data and / or at least one column of data that include non-numerical values ​​from the data to be processed based on the first time duration to obtain the target data, the method further includes: obtaining the reasonable value range corresponding to each type of driving data in the target data; determining each row of data in the target data that is outside the reasonable value range as the target row data; and deleting the target row data in the target data to obtain the data to be output.

[0018] The above technical solution can delete rows of data containing unreasonable data from the target data to obtain the output data. This improves the reliability and accuracy of the calculation results when performance parameters are calculated based on the output data.

[0019] Combining the first aspect and the above implementation methods, in some possible implementation methods, after deleting the target row data in the target data to obtain the output data, the method further includes: receiving a first sampling frequency input by the user; if the first sampling frequency is less than the second sampling frequency corresponding to the data to be processed, extracting a portion of the data from the data to be output according to the first sampling frequency to obtain output data, wherein the total number of rows in the output data is less than the total number of rows in the data to be output; if the first sampling frequency is greater than the second sampling frequency corresponding to the data to be processed, performing linear interpolation processing on the data to be output according to the first sampling frequency to obtain output data, wherein the total number of rows in the output data is greater than the total number of rows in the data to be output.

[0020] The above technical solution can automatically discretize the output data according to the user's actual needs, so that the sampling frequency of the output data is less than the second sampling frequency of the data to be output, thereby reducing the amount of output data, improving the flexibility of data analysis, and eliminating the need for the user to manually re-import the discretized output data into the Simulink simulation tool during subsequent Simulink simulations, thus improving the data processing speed and computational efficiency in subsequent processing.

[0021] Secondly, a data processing apparatus is provided, comprising: a data acquisition module for acquiring data to be processed, the data to be processed including data obtained by simulating a vehicle under target test conditions through a simulation platform, each row of data in the data to be processed representing multiple types of driving data at the same sampling time, and each column of data in the data to be processed representing the same type of driving data at different sampling times; a duration determination module for determining a first duration based on the total number of rows occupied by non-numerical values ​​in the data to be processed when non-numerical values ​​exist in the data to be processed; and a data deletion module for deleting at least one row of data including non-numerical values ​​and / or at least one column of data including non-numerical values ​​in the data to be processed based on the first duration to obtain target data.

[0022] In conjunction with the second aspect, in some possible implementations, the duration determination module is specifically used to obtain the total number of rows occupied by non-numerical data in the data to be processed, and the time interval between the sampling times of every two adjacent rows of data in the data to be processed; based on the total number of rows and the time interval, the first duration is determined.

[0023] Combining the second aspect and the above implementation methods, in some possible implementation methods, the data deletion module is specifically used to delete all rows of data including non-numerical values ​​in the data to be processed when the first duration is less than the first preset duration, to obtain the target data; when the first duration is greater than or equal to the first preset duration, to determine the target column data in the data to be processed, the target column data being the column of data to be processed that contains the most non-numerical values; to delete the target column data in the data to be processed, and to execute again the step of determining the first duration based on the total number of rows occupied by non-numerical values ​​in the data to be processed when non-numerical values ​​exist in the data to be processed.

[0024] Combining the second aspect and the above implementation methods, in some possible implementation methods, the data acquisition module is specifically used for: acquiring raw data obtained by simulating a vehicle under target test conditions through a simulation platform; receiving a first variable name input by the user; detecting whether the first variable name matches a second variable name in the raw data, where the second variable name is used to represent the data name corresponding to the driving data; if the first variable name matches the second variable name, extracting the data corresponding to the second variable name from the raw data to obtain initial extracted data; if the first variable name does not match the second variable name, prompting the user to change the input first variable name, and after receiving the changed first variable name input by the user, re-executing the step of detecting whether the first variable name matches the second variable name in the raw data; and determining the data to be processed based on the initial extracted data.

[0025] In conjunction with the second aspect and the above implementation methods, in some possible implementation methods, the data processing device may further include: a first symbol detection module, used to detect whether a first preset symbol exists in the second variable name; a first string extraction module, used to extract a portion of the string from the second variable name based on the first preset symbol when the first preset symbol exists in the second variable name, to obtain a third variable name, wherein the string length of the third variable name is less than the string length of the second variable name; a second symbol detection module, used to detect whether a second preset symbol exists in the third variable name; and a second string extraction module, used to extract a portion of the string from the third variable name based on the second preset symbol when the second preset symbol exists in the third variable name, to obtain a target variable name, wherein the string length of the target variable name is less than the string length of the third variable name.

[0026] Combining the second aspect and the above implementation methods, in some possible implementation methods, multiple driving data include driving speed. The data acquisition module is specifically used to: acquire the starting point and ending point of the initial extraction data, where the starting point is a sampling time located before the target time and spaced a second preset time interval from the target time, the target time is the sampling time corresponding to the first driving speed that is greater than a preset vehicle speed, and the ending point is a sampling time located after the starting point and spaced a third preset time interval from the starting point; and extract multiple driving data corresponding to all sampling times between the starting point and the ending point from the initial extraction data to obtain the data to be processed.

[0027] In conjunction with the second aspect and the above implementation methods, in some possible implementation methods, the data processing device may further include: a reasonable value range acquisition module, used to acquire the reasonable value range corresponding to each type of driving data in the target data; a target row data determination module, used to determine each row of driving data located outside the reasonable value range in the target data as the target row data; and a target row data deletion module, used to delete the target row data in the target data to obtain the data to be output.

[0028] In conjunction with the second aspect and the above implementation methods, in some possible implementations, the data processing device may further include: a sampling frequency receiving module for receiving a first sampling frequency input by a user; a data extraction module for extracting a portion of the data from the data to be output according to the first sampling frequency when the first sampling frequency is less than the second sampling frequency corresponding to the data to be processed, to obtain output data, wherein the total number of rows in the output data is less than the total number of rows in the data to be output; and an interpolation processing module for performing linear interpolation processing on the data to be output according to the first sampling frequency when the first sampling frequency is greater than the second sampling frequency corresponding to the data to be processed, to obtain output data, wherein the total number of rows in the output data is greater than the total number of rows in the data to be output.

[0029] Thirdly, an electronic device is provided, comprising: a memory for storing executable program code; and a processor for calling and running the executable program code from the memory, causing the electronic device to perform the method described in the first aspect or any possible implementation thereof.

[0030] Fourthly, a computer program product is provided, comprising: computer program code, which, when run on a computer, causes the computer to perform the methods described in the first aspect or any possible implementation thereof.

[0031] Fifthly, a computer-readable storage medium is provided that stores a computer program, which, when executed, implements the method described in the first aspect or any possible implementation thereof.

[0032] The possible implementations of aspects two through five have similar effects to those of aspect one and its possible implementations, and will not be elaborated upon here. Attached Figure Description

[0033] Figure 1 This is a flowchart illustrating a data processing method provided in an embodiment of this application; Figure 2 This is a schematic diagram of the specific process of processing raw data to obtain data to be processed, provided in an embodiment of this application. Figure 3 This is a schematic diagram illustrating the specific process of processing the data to be processed to obtain the target data, as provided in the embodiments of this application. Figure 4 This is a schematic diagram illustrating the specific process of processing target data provided in an embodiment of this application; Figure 5 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application; Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0034] The technical solutions in this application will be clearly and thoroughly described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. "And / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.

[0035] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0036] To facilitate understanding of the technical solutions in the embodiments of this application, some terms involved in the embodiments of this application will be briefly explained below.

[0037] A co-simulation platform (CoSym) is a collaborative simulation platform used to integrate multiple independent simulation tools or subsystems, enabling cross-platform data exchange and joint simulation through standardized interfaces. Its core objective is to solve problems related to multi-physics coupling and multi-timescale interaction in complex systems (such as vehicles, energy, and industrial automation), supporting efficient and flexible simulation analysis and optimization design.

[0038] Target test cycle: This refers to a test cycle within a standard cycle test that assesses a vehicle's performance parameters, including energy consumption and emissions. The standard cycle test cycle can include any of the following: the Worldwide Harmonized Light Vehicles Test Cycle (WLTC), the China Light Vehicle Test Cycle (CLTC), and the New European Driving Cycle (NEDC), etc.

[0039] Not a number (NAN): Used to represent invalid, undefined, or unrepresentable numerical values; it is a special type of floating-point number.

[0040] Matlab refers to a mathematical software, a high-level technical computing language and interactive environment used for algorithm development, data visualization, data analysis, and numerical computation.

[0041] Simulink refers to a visual simulation tool, a modular graph environment used for multi-domain simulation and model-based design, supporting continuous testing and verification of embedded systems.

[0042] Timeseries format: A structured format in Matlab used for storing and processing time series data, supporting Simulink simulation.

[0043] In related technologies, to test and verify vehicle performance parameters such as energy consumption and emissions, simulation platforms (such as CoSym) can be used to simulate driving scenarios under real target test conditions to obtain simulation data. Then, based on this simulation data, the vehicle's performance parameters are calculated.

[0044] Because the data obtained from the simulation platform may contain non-numerical values ​​(i.e., NAN values), data calculation anomalies may occur when calculating the vehicle's performance parameters based on the data obtained from the simulation platform.

[0045] To address the aforementioned problems, this application provides a data processing method. The method involves acquiring data to be processed, including data obtained by simulating a vehicle under target test conditions using a simulation platform. Each row of data in the data represents multiple driving data at the same sampling time, and each column of data represents the same driving data at different sampling times. If non-numerical values ​​exist in the data to be processed, a first duration is determined based on the total number of rows occupied by these non-numerical values. Based on the first duration, at least one row and / or at least one column of data containing non-numerical values ​​is deleted from the data to obtain the target data. Therefore, this application can delete at least one row and / or at least one column of data containing non-numerical values ​​from the data obtained through simulation, thereby improving the reliability and accuracy of the data calculation results and mitigating the occurrence of data calculation anomalies caused by the presence of non-numerical values ​​in the simulated data.

[0046] The data processing method provided in this application can be applied to cloud servers, smart cars equipped with processors, and other electronic devices, such as mobile phones, tablets, in-vehicle devices, roadside devices, charging piles, augmented reality (AR) devices, virtual reality (VR) devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), and other electronic devices. This application does not impose any restrictions on the specific type of electronic device.

[0047] In order to better understand the embodiments of this application, the technical solutions of this application and how the technical solutions of this application solve the above-mentioned technical problems are described in detail below with specific embodiments.

[0048] Figure 1This is a flowchart illustrating a data processing method provided in an embodiment of this application. This data processing method can be applied to electronic devices, such as... Figure 1 As shown, this data processing method may specifically include the following steps: S101, acquire the data to be processed. The data to be processed includes data obtained by simulating the vehicle under the target test conditions through the simulation platform. Each row of data in the data to be processed represents multiple driving data at the same sampling time, and each column of data in the data to be processed represents the same driving data at different sampling times.

[0049] In this embodiment, a simulation platform can be used to simulate a vehicle driving scenario under real target test conditions, that is, to simulate driving the vehicle according to the relevant requirements of the real target test conditions, in order to obtain sampled data of the driving scenario simulated by the simulation platform, thereby obtaining raw data. This raw data represents the simulation data corresponding to the driving scenario of the vehicle under real target test conditions simulated on the simulation platform, rather than the measured data of the vehicle under real driving conditions.

[0050] The simulation platform can be the CoSym platform. The target test cycle refers to a cycle test cycle in the standard cyclic test cycle that tests the vehicle's energy consumption and emission-related performance parameters. The standard cyclic test cycle can include any of the following: WLTC, CLTC, and NEDC.

[0051] Therefore, the raw data includes data from a single cyclic test condition. Specifically, the raw data may include multiple sampling times and various driving data for the vehicle at each sampling time. These driving data may include vehicle speed, battery charge, battery voltage, battery current, motor torque, motor speed, engine torque, and engine speed, among others.

[0052] In one example, battery capacity can be represented by the state of charge (SOC), which indicates how much charge the battery currently has remaining.

[0053] In this embodiment of the application, the original data can be processed to obtain data to be processed. The data to be processed can be a portion of the original data; each row of data in the data to be processed represents multiple types of driving data at the same sampling time; and each column of data in the data to be processed represents the same type of driving data at different sampling times.

[0054] S102, if there are non-numerical values ​​in the data to be processed, determine the first duration based on the total number of rows occupied by the non-numerical values ​​in the data to be processed.

[0055] In this embodiment, after acquiring the data to be processed, the electronic device can detect whether there are non-numerical values ​​in the data, that is, detect whether one or more driving data in all the driving data in the data to be processed are non-numerical values. If there are non-numerical values ​​in the data to be processed, each row of data in the data to be processed can be traversed sequentially.

[0056] Specifically, before iterating through each row of data in the data to be processed, the total number of rows occupied by non-numeric values ​​can be set to 0. When iterating through each row of data in the data to be processed, if one or more driving data in a row are non-numeric, then the total number of rows occupied by non-numeric values ​​is incremented by 1; if all driving data in a row are not non-numeric, then the total number of rows occupied by non-numeric values ​​remains unchanged.

[0057] By following the above method, starting from the first row of data to be processed and ending at the last row, the total number of rows occupied by non-numeric data can be calculated.

[0058] Then, the electronic device can determine the first duration based on the total number of rows occupied by non-numerical values ​​in the data to be processed. The first duration is positively correlated with the total number of rows occupied by non-numerical values ​​in the data to be processed; that is, the more rows occupied by non-numerical values ​​in the data to be processed, the longer the first duration, and the fewer rows occupied by non-numerical values ​​in the data to be processed, the shorter the first duration.

[0059] In this context, non-numeric values ​​(i.e., NAN values) in the data to be processed can refer to empty values ​​or spaces, etc.

[0060] S103, based on the first time duration, delete at least one row of data and / or at least one column of data that include non-numeric values ​​from the data to be processed to obtain the target data.

[0061] In this embodiment, after calculating the first duration, the electronic device can compare the first duration with a first preset duration. Based on the relationship between the first duration and the first preset duration, it can delete at least one row of data and / or at least one column of data that includes non-numerical values ​​from the data to be processed, thereby obtaining the target data.

[0062] Therefore, in this embodiment of the application, at least one row of data and / or at least one column of data containing non-numerical values ​​can be deleted from the data obtained by the simulation platform to improve the situation where data calculation is abnormal due to the presence of non-numerical values ​​in the simulated data, thereby improving the reliability and accuracy of the data calculation results.

[0063] In practical applications, a simulation platform is used to simulate driving scenarios of a vehicle under real target test conditions to obtain sampled data of that driving scenario. After obtaining the raw data, the volume of data is substantial due to the diverse types of driving data included in the simulation. When electronic devices process large amounts of raw data, the data processing speed slows down, resulting in low data computation efficiency.

[0064] Since some types of driving data in the original data may not be used in subsequent data calculations, the driving data that is needed can be extracted from the original data to reduce the amount of data that needs to be processed later, thereby improving data processing speed and data calculation efficiency.

[0065] In related technologies, users can manually filter and process raw data to extract the necessary driving data. However, this data extraction method is inefficient and prone to errors.

[0066] In one possible implementation of this application, the above-mentioned S101 "acquiring data to be processed" may specifically include the following steps: acquiring raw data obtained by simulating a vehicle under target test conditions through a simulation platform; receiving a first variable name input by the user; detecting whether the first variable name matches a second variable name in the raw data, wherein the second variable name is used to represent the data name corresponding to the driving data; if the first variable name matches the second variable name, extracting the data corresponding to the second variable name from the raw data to obtain initial extracted data; if the first variable name does not match the second variable name, prompting the user to change the input first variable name, and after receiving the changed first variable name input by the user, performing the step of detecting whether the first variable name matches the second variable name in the raw data again; and determining the data to be processed based on the initial extracted data.

[0067] In this system, each type of driving data in the original data corresponds to a second variable name. The electronic device can compare the first variable name entered by the user with the second variable name in the original data. If the first variable name entered by the user matches the second variable name in the original data, it means that the first variable name and the second variable name in the original data are matched; if the first variable name entered by the user does not match the second variable name in the original data, it means that the first variable name and the second variable name in the original data are not matched.

[0068] When the first variable name matches the second variable name, the electronic device extracts the data corresponding to the second variable name from the original data to obtain the initial extracted data. The initial extracted data consists of the driving data in the original data whose data name is the second variable name.

[0069] In practical applications, the mismatch between the first variable name and the second variable name may be caused by the following two reasons: one is that the original data does not contain driving data corresponding to the first variable name; the other is that the user entered an incorrect first variable name, resulting in a mismatch between the first variable name and the second variable name.

[0070] Therefore, if the first variable name and the second variable name do not match, the electronic device can index the second variable name from the original data that does not match the first variable name and display it, thus prompting the user to change the entered first variable name. The user can manually change the first variable name on the electronic device, allowing the device to receive the changed first variable name. Furthermore, after receiving the changed first variable name, the device again checks whether the changed first variable name matches the second variable name in the original data.

[0071] Therefore, the embodiments of this application can flexibly extract various types of driving data from the original data based on variable names according to user needs to obtain initial extraction data, which can reduce the amount of data that needs to be processed subsequently, thereby improving data processing speed and data calculation efficiency; moreover, this data extraction method is relatively efficient and not prone to errors. In practical applications, the driving scenario of the vehicle under real target test conditions is simulated on the simulation platform to obtain the sampling data of the driving scenario simulated by the simulation platform. After obtaining the raw data, the variable names corresponding to the driving data in the raw data simulated by the simulation platform have too many prefixes, which causes the second variable names corresponding to the driving data in the initially extracted data to also have too many prefixes. The second variable names are too long, which may affect the visualization effect of the subsequent output data and affect the data analysis efficiency.

[0072] Therefore, in one possible implementation of this application, after the above-mentioned "obtaining initial extracted data" step, the following steps may also be included: detecting whether a first preset symbol exists in the second variable name; if the first preset symbol exists in the second variable name, extracting a portion of the string from the second variable name based on the first preset symbol to obtain a third variable name, wherein the string length of the third variable name is less than the string length of the second variable name; detecting whether a second preset symbol exists in the third variable name; if the second preset symbol exists in the third variable name, extracting a portion of the string from the third variable name based on the second preset symbol to obtain a target variable name, wherein the string length of the target variable name is less than the string length of the third variable name.

[0073] Specifically, the electronic device can first determine whether the number of first preset symbols in each second variable name exceeds M; if the number of first preset symbols in the second variable name exceeds M, then extract the string after the Mth last first preset symbol in the second variable name from beginning to end to obtain the third variable name; if the number of first preset symbols in the second variable name does not exceed M, then the second variable name is determined as the third variable name, that is, all strings in the second variable name are retained.

[0074] Next, the electronic device determines whether the number of second preset symbols in each third variable name exceeds N. If the number of second preset symbols in the third variable name exceeds N, the string after the Nth second preset symbol from the end of the third variable name is extracted to obtain the target variable name. If the number of second preset symbols in the third variable name does not exceed N, the third variable name is determined as the target variable name, that is, all strings in the third variable name are retained.

[0075] Where M and N are both positive integers. Thus, if the number of the first preset symbol in the second variable name exceeds M, it indicates that the second variable name contains the first preset symbol; and if the number of the second preset symbol in the third variable name exceeds N, it indicates that the third variable name contains the second preset symbol.

[0076] In one example, the first preset symbol can be an underscore "_", the second preset symbol can be a forward slash " / ", M can be 2, and N can be 1. If the second variable name corresponding to the motor torque in the initial extracted data is "B16_PowerSplit / Outports / expseu_1_TMCU_ActTrq", then the simplified target variable name for the motor torque is "TMCU_ActTrq". If the second variable name corresponding to the battery charge in the initial extracted data is "B16_PowerSplit / Outports / expseu_1_BMS_BattSOC", then the simplified target variable name for the battery charge is "BMS_BattSOC". If the second variable name corresponding to the engine torque in the initial extracted data is "ECM / Outports / EngTrqCrankshaftLvl", then the simplified target variable name for the engine torque is "EngTrqCrankshaftLvl".

[0077] Therefore, the embodiments of this application can use the above method to process the second variable name corresponding to the driving data in the initial extracted data to remove redundant prefixes from the second variable name, thereby obtaining the initial extracted data with the target variable name. That is, the variable name corresponding to the driving data in the initial extracted data is simplified from the second variable name to the target variable name. In this way, lengthy variable names can be simplified, making the target variable name shorter. This improves the visualization effect of the subsequent output data, as well as the readability and efficiency of data analysis.

[0078] In practical applications, a simulation platform is used to simulate driving scenarios of a vehicle under real target test conditions to obtain sampled data for that driving scenario. After obtaining the raw data, the duration of the driving data from the first to the last sampling time varies between different test batches. For example, in the raw data obtained from three test batches, the duration of the driving data from the first to the last sampling time is 1810 seconds, 1820 seconds, and 1850 seconds, respectively. This difference in the duration of the driving data from the first to the last sampling time in the initial extracted data of different test batches makes it difficult to compare and analyze performance parameters such as energy consumption calculated from different test batches.

[0079] In related technologies, users can manually adjust the time length of the driving data included in the initial extracted data of each test batch, from the first sampling time to the last sampling time, to ensure consistency. However, this method of unifying the time length is cumbersome and prone to errors.

[0080] In one possible implementation of this application, the various driving data include driving speed. The aforementioned "determining the data to be processed based on the initial extracted data" may specifically include the following steps: obtaining the start point and end point of the initial extracted data, wherein the start point is a sampling time located before the target time and spaced apart from the target time by a second preset time interval, the target time is the sampling time corresponding to the first driving speed that is greater than a preset vehicle speed, and the end point is a sampling time located after the start point and spaced apart from the start point by a third preset time interval; and extracting various driving data corresponding to all sampling times between the start point and the end point from the initial extracted data to obtain the data to be processed.

[0081] In one example, the preset vehicle speed can be 0. Taking the standard cycle test condition WLTC as an example, in the initial data extraction, the time interval between the starting point and the sampling time when the driving speed starts to be greater than 0 is 11 seconds, and the duration of a cycle test condition in WLTC can be 1800 seconds. Therefore, the second preset duration can be 11 seconds, and the third preset duration can be 1800 seconds.

[0082] We can first determine the sampling time corresponding to the first driving speed greater than 0 from the initial extracted data as the target time; then determine the sampling time that is 11 seconds before the target time as the starting point. Finally, determine the sampling time that is 1800 seconds after the starting point as the ending point.

[0083] Therefore, this embodiment of the application uses the above method to determine the starting point and the ending point, and extracts various driving data corresponding to all sampling times between the starting point and the ending point from the initial extracted data to obtain the data to be processed. This ensures that the time length of the driving data included in the data to be processed for each test batch, from the first sampling time to the last sampling time, is uniformly adjusted to a third preset duration. This facilitates horizontal comparison of performance parameters such as energy consumption calculated from different test batches, improving the accuracy of the analysis results; furthermore, it eliminates the need for manual adjustment by the user, making the operation simple and less prone to errors.

[0084] The above process describes the extraction of initial data from the raw data, the simplification of the second variable names corresponding to the driving data in the initial data, and the extraction of data to be processed from the initial data. To facilitate understanding of the relationships between these processing steps, the following section will discuss... Figure 2The specific process of processing the raw data to obtain the data to be processed is illustrated in the diagram.

[0085] Indicative Figure 2 This is a schematic diagram illustrating the specific process of processing raw data to obtain data to be processed, provided in an embodiment of this application. (Refer to...) Figure 2 As shown, it can specifically include the following steps S201 to S216. Among them, steps S201 to S206 are used to extract initial extraction data from the original data; steps S207 to S214 are used to simplify the second variable name corresponding to the driving data in the initial extraction data; steps S215 and S216 are used to extract the data to be processed from the initial extraction data.

[0086] S201, Obtain the raw data obtained by simulating the vehicle under the target test conditions through the simulation platform.

[0087] S202, Receive the first variable name input by the user.

[0088] S203, check if the name of the first variable matches the name of the second variable in the original data.

[0089] If the first variable name matches the second variable name in the original data, proceed to step S204 below; if the first variable name does not match the second variable name in the original data, proceed to step S205 below.

[0090] S204, if the first variable name matches the second variable name in the original data, extract the data corresponding to the second variable name from the original data to obtain the initial extracted data.

[0091] S205, if the first variable name does not match the second variable name in the original data, prompt the user to change the entered first variable name.

[0092] S206, Receive the user input of the changed first variable name.

[0093] In some embodiments, after receiving the changed first variable name input by the user, step S203 above is executed again to determine whether the changed first variable name matches the second variable name in the original data.

[0094] Therefore, following the implementation process from S201 to S206, various types of driving data can be flexibly extracted from the original data based on variable names, according to user needs, to obtain initial extracted data. At this point, the variable name corresponding to the driving data in the initial extracted data is the second variable name.

[0095] S207, determine whether the number of first preset symbols in each second variable name exceeds M.

[0096] If the number of first preset symbols in the second variable name exceeds M, proceed to step S208 below; if the number of first preset symbols in the second variable name does not exceed M, proceed to step S209 below.

[0097] S208, if the number of first preset symbols in the second variable name exceeds M, extract the string after the Mth last first preset symbol in the second variable name to obtain the third variable name.

[0098] S209, if the number of the first preset symbols in the second variable name does not exceed M, the second variable name is determined as the third variable name.

[0099] S210, determine whether the number of second preset symbols in each third variable name exceeds N.

[0100] If the number of second preset symbols in the third variable name exceeds N, proceed to step S211 below; if the number of second preset symbols in the third variable name does not exceed N, proceed to step S212 below.

[0101] S211, if the number of second preset symbols in the third variable name exceeds N, extract the string after the Nth second preset symbol from the end of the third variable name to obtain the target variable name.

[0102] S212, if the number of second preset symbols in the third variable name does not exceed N, the third variable name is determined as the target variable name.

[0103] S213, obtain the initial extracted data with the target variable name.

[0104] S214 displays the name of the target variable.

[0105] After simplifying the variable names corresponding to the driving data in the initial extracted data from the second variable names to the target variable names, all simplified target variable names can be displayed for the user to check.

[0106] S215, obtain the starting point and ending point of the initial data extraction.

[0107] S216. Extract various types of driving data corresponding to all sampling times between the start and end points from the initial extracted data to obtain the data to be processed.

[0108] It should be noted that the specific processes described in S201 to S216 above can be used to process the raw data to obtain the data to be processed. Furthermore, the specific implementation process of each step in S201 to S216 can be found in the corresponding descriptions above, and will not be repeated here.

[0109] In one possible implementation, the above-mentioned 102 "determining the first duration based on the total number of rows occupied by non-numerical values ​​in the data to be processed" may specifically include the following steps: obtaining the total number of rows occupied by non-numerical values ​​in the data to be processed, and the time interval between the sampling times of every two adjacent rows of data in the data to be processed; determining the first duration based on the total number of rows and the time interval.

[0110] Specifically, the electronic device can first detect whether there are non-numerical values ​​in the data to be processed; if there are no non-numerical values ​​in the data to be processed, the data to be processed is determined as the target data, that is, all the data to be processed is retained; if there are non-numerical values ​​in the data to be processed, each row of data in the data to be processed can be traversed in turn.

[0111] Specifically, before iterating through each row of data in the data to be processed, the total number of rows occupied by non-numeric values ​​can be set to 0. When iterating through each row of data in the data to be processed, if one or more driving data in a row are non-numeric, then the total number of rows occupied by non-numeric values ​​is incremented by 1; if all driving data in a row are not non-numeric, then the total number of rows occupied by non-numeric values ​​remains unchanged.

[0112] By following the above method, starting from the first row of data to be processed and ending at the last row, the total number of rows occupied by non-numeric data can be calculated.

[0113] The electronic device can also acquire the time interval between the sampling times of every two adjacent rows of data in the data to be processed. Then, based on the total number of rows occupied by non-numerical data in the data to be processed and the time interval between the sampling times of every two adjacent rows of data in the data to be processed, a first duration is determined. In some embodiments, the first duration is determined by multiplying the total number of rows occupied by non-numerical data in the data to be processed by the time interval between the sampling times of every two adjacent rows of data in the data to be processed.

[0114] In one example, the time interval between sampling times of every two adjacent rows of data in the data to be processed can be 100 milliseconds (ms). If the total number of rows occupied by non-numeric data in the data to be processed is 10, then the first duration is 1 second.

[0115] In one possible implementation, the above-mentioned S103 "based on a first duration, deleting at least one row of data and / or at least one column of data containing non-numeric values ​​from the data to be processed to obtain target data" may specifically include the following steps: if the first duration is less than a first preset duration, deleting each row of data containing non-numeric values ​​from the data to be processed to obtain target data; if the first duration is greater than or equal to the first preset duration, determining the target column data in the data to be processed, wherein the target column data is the column of data containing the most non-numeric values ​​in the data to be processed; deleting the target column data in the data to be processed, and then performing the step of determining the first duration based on the total number of rows occupied by non-numeric values ​​in the data to be processed when non-numeric values ​​exist in the data to be processed again.

[0116] Specifically, the electronic device can compare the first duration with the first preset duration. If the first duration is less than the first preset duration, all rows of data containing non-numerical values ​​in the data to be processed can be deleted to obtain the target data. If the first duration is greater than or equal to the first preset duration, it can be assumed that the error is due to a simulation error of one or more types of driving data, resulting in multiple non-numerical values ​​in one or more columns of data in the data to be processed. In this case, the column with the most non-numerical values ​​in the data to be processed can be identified as the target column, and then the target column in the data to be processed can be deleted. The system then checks again to determine whether there are any non-numerical values ​​in the data to be processed.

[0117] In one example, the first preset duration can be 3 seconds.

[0118] The following is combined Figure 3 The specific process of processing the data to be processed to obtain the target data is illustrated.

[0119] Indicative Figure 3 This is a schematic diagram illustrating the specific process of processing data to obtain target data, as provided in an embodiment of this application. (Refer to...) Figure 3 As shown, it may specifically include the following steps S301 to S311.

[0120] S301, Detect whether there are non-numerical values ​​in the data to be processed.

[0121] After obtaining the data to be processed by performing S216 above, it can be checked whether there are non-numerical values ​​in the data to be processed. If there are non-numerical values ​​in the data to be processed, the following step S302 is performed; if there are no non-numerical values ​​in the data to be processed, the data to be processed is directly determined as the target data.

[0122] S302, if there are non-numeric values ​​in the data to be processed, set the total number of rows occupied by non-numeric values ​​Number1=0, and the current row number X=1.

[0123] S303, sequentially check whether each row of data in the data to be processed includes non-numeric values.

[0124] Starting from the first row of data in the data to be processed, check each row of data sequentially to see if it contains non-numeric values. If a row of data in the data to be processed contains non-numeric values, proceed to step S304 below; if a row of data in the data to be processed does not contain non-numeric values, proceed to step S305 below.

[0125] S304, if a row of data in the data to be processed includes non-numeric values, make the total number of rows occupied by non-numeric values ​​Number1 = Number1 + 1, and the current row number X = X + 1.

[0126] S305, if a row of data in the data to be processed does not contain non-numeric values, make the current row number X = X + 1.

[0127] After executing S304 or S305, continue to determine whether the next row of data in the data to be processed includes non-numeric values. That is, repeat the above steps S303 to S305 until all rows of data in the data to be processed have been traversed to obtain the total number of rows occupied by non-numeric values ​​in the data to be processed.

[0128] S306, determine the first duration based on the total number of rows occupied by non-numerical data in the data to be processed and the time interval between the sampling times of every two adjacent rows of data in the data to be processed.

[0129] S307, determine whether the first duration is less than the first preset duration.

[0130] If the first duration is less than the first preset duration, proceed with step S308 below; if the first duration is greater than or equal to the first preset duration, proceed with step S309 below.

[0131] S308, if the first duration is less than the first preset duration, delete all rows of data that are not numerical in the data to be processed to obtain the target data.

[0132] S309, if the first duration is greater than or equal to the first preset duration, the column of data in the data to be processed that contains the most non-numerical values ​​is determined as the target column data.

[0133] S310, delete the target column data in the data to be processed.

[0134] After deleting the target column data in the data to be processed, the above step S301 is executed again to check whether there are non-numeric values ​​in the data to be processed after the target column data has been deleted.

[0135] S311 displays the name of the target variable corresponding to the first duration and the target column data.

[0136] After identifying the target column data in the data to be processed, the electronic device can also display the first duration and the target variable name corresponding to the target column data for the user to check.

[0137] It should be understood that the deletion of non-numerical values ​​in the data to be processed in the embodiments of this application can generally include the following three situations.

[0138] In the first scenario, if the initially determined time duration (i.e., the initial time duration before deleting non-numeric values ​​from the data to be processed) is less than the first preset time duration, then it is only necessary to delete the rows of data containing non-numeric values ​​from the data to be processed to obtain the target data. In this case, at least one row of data containing non-numeric values ​​from the data to be processed is actually deleted.

[0139] In the second scenario, if the first determined duration is greater than or equal to the first preset duration, it is necessary to delete the target column data that includes non-numerical values ​​from the data to be processed, and then determine again whether there are non-numerical values ​​in the data to be processed after deleting the target column data.

[0140] If the data to be processed after deleting the target column does not contain any non-numeric values, the data to be processed after deleting the target column can be directly used as the target data. In this case, it actually involves deleting at least one column of data that includes non-numeric values ​​from the data to be processed.

[0141] In the third scenario, if non-numeric values ​​still exist in the pending data after deleting the target column, it's necessary to again determine whether the first duration corresponding to the pending data after deleting the target column (i.e., the second determined first duration) is less than the first preset duration. If the second determined first duration is less than the first preset duration, it's necessary to delete all rows of data containing non-numeric values ​​from the pending data after deleting the target column again to obtain the target data. In this case, it actually involves deleting at least one row of data containing non-numeric values ​​and at least one column of data containing non-numeric values ​​from the pending data.

[0142] Therefore, in this embodiment of the application, the above method is used to delete the rows of data that include non-numerical values ​​in the data to be processed, and / or delete the target column data in the data to be processed. The target column data is the column of data with the most non-numerical values ​​in the data to be processed, so as to improve the situation of data calculation abnormalities caused by the presence of non-numerical values ​​in the data obtained by simulation, thereby improving the reliability and accuracy of data calculation results.

[0143] In practical applications, the target data may also include driving data that falls outside the reasonable range. If the performance parameters are calculated directly based on the target data, the accuracy of the calculation results may be low.

[0144] Therefore, in one possible implementation of this application, after the above-mentioned step S103 "based on the first duration, delete at least one row of data and / or at least one column of data including non-numerical values ​​from the data to be processed to obtain target data", the following steps may also be included: obtaining the reasonable value range corresponding to each type of driving data in the target data; determining each row of data in the target data that is outside the reasonable value range as the target row data; deleting the target row data in the target data to obtain the data to be output.

[0145] When driving data includes speed, the reasonable range for speed is 0 to 200 kph (km / h). When driving data includes battery voltage, the reasonable range for battery voltage is 200V to 500V. When driving data includes battery current, the reasonable range for battery current is -500A to 500A. When driving data includes engine speed, the reasonable range for engine speed is the minimum engine external characteristic speed + 50 rpm to the maximum engine external characteristic speed + 50 rpm. When driving data includes engine torque, the reasonable range for engine torque is the minimum engine external characteristic torque + 20 Nm to the maximum engine external characteristic torque + 20 Nm. When driving data includes motor speed, the reasonable range for motor speed is the minimum motor external characteristic speed + 50 rpm to the maximum motor external characteristic speed + 50 rpm. When the driving data includes motor torque, the reasonable range for motor torque can be from the minimum value of the motor's external characteristic torque + 20 Nm to the maximum value of the motor's external characteristic torque + 20 Nm.

[0146] It should be understood that the external characteristics of an engine refer to the curves showing how parameters such as torque, power, and fuel consumption rate change with engine speed under full load; while the external characteristics of an electric motor refer to the curves showing the relationship between the output torque and speed of an electric motor under specific conditions.

[0147] Specifically, the electronic device can sequentially traverse each row of data in the target data, comparing all driving data in each row with its corresponding reasonable value range to perform reasonable value detection for all driving data in each row. If one or more driving data in a row are outside the reasonable value range, then one or more driving data in that row are considered unreasonable data, and that row is designated as the target row.

[0148] Following the above method, starting from the first row of data in the target data and ending at the last row, all target rows in the target data can be counted. Then, the target rows in the target data are deleted to obtain the data to be output.

[0149] Therefore, by employing the above-described method, the target data, including rows containing unreasonable data, can be deleted to obtain the output data. Subsequent calculations of performance parameters based on the output data can improve the reliability and accuracy of the calculation results.

[0150] In practical applications, a simulation platform is used to simulate driving scenarios of a vehicle under real target test conditions to obtain sampled data of that driving scenario. After obtaining the raw data, the large volume of data is due to the high sampling frequency of the data obtained from the simulation platform. The resulting output data after processing the raw data is also large, leading to slower data processing speeds and lower computational efficiency in subsequent processing steps.

[0151] Therefore, in one possible implementation of this application, after "deleting the target row data in the target data to obtain the output data", the method further includes: receiving a first sampling frequency input by the user; if the first sampling frequency is less than the second sampling frequency corresponding to the data to be processed, extracting a portion of the data from the data to be output according to the first sampling frequency to obtain output data, wherein the total number of rows in the output data is less than the total number of rows in the data to be output; if the first sampling frequency is greater than the second sampling frequency corresponding to the data to be processed, performing linear interpolation processing on the data to be output according to the first sampling frequency to obtain output data, wherein the total number of rows in the output data is greater than the total number of rows in the data to be output.

[0152] The second sampling frequency for the data to be processed is the same as the sampling frequency for the original data. The second sampling frequency is actually equal to 1 and the ratio of the time interval between the sampling times of any two adjacent rows of data in the data to be processed. For example, the time interval between the sampling times of any two adjacent rows of data in the data to be processed can be 100 milliseconds, and the second sampling frequency can be 10 Hz (Hertz).

[0153] In one scenario, the first sampling frequency of the user input is lower than the second sampling frequency corresponding to the data to be processed. In this case, it is necessary to discretize the data to be output, that is, extract a portion of the data from the data to be output according to the first sampling frequency to obtain the output data.

[0154] For example, if the first sampling frequency is 2Hz and the second sampling frequency is 10Hz, then one row of data can be extracted from every five rows of data in the data to be output to obtain the output data.

[0155] In another scenario, the first sampling frequency of the user input is greater than the second sampling frequency corresponding to the data to be output. In this case, linear interpolation processing needs to be performed on the data to be output according to the first sampling frequency to obtain the output data.

[0156] For example, if the first sampling frequency is 20Hz and the second sampling frequency is 10Hz, then a row of data can be inserted between every two adjacent rows of data in the data to be output to obtain the output data.

[0157] In related technologies, users need to manually discretize the output data using MDA (measurement data analysis, a professional tool for visualizing vehicle test data) or CANApe (an integrated tool for measurement, calibration, diagnosis, and automated testing) to obtain the output data. Subsequently, when performing Simulink simulation, users also need to manually re-import the discretized output data into the Simulink simulation tool, resulting in low data processing efficiency.

[0158] Based on the above-described method, this embodiment can automatically discretize the output data according to the user's actual needs, making the sampling frequency of the output data lower than the second sampling frequency of the data to be output. This reduces the amount of output data and improves the flexibility of data analysis. Consequently, during subsequent Simulink simulations, the user does not need to manually re-import the discretized output data into the Simulink simulation tool, thereby improving the data processing speed and computational efficiency in subsequent processes. Furthermore, this embodiment can also support linear interpolation of the output data, making the sampling frequency of the output data higher than the second sampling frequency of the data to be output, to support various requirements.

[0159] It should be understood that the first sampling frequency can be any sampling frequency, such as 20Hz, 10Hz, 5Hz, 2Hz, 1Hz, etc.

[0160] The following is combined Figure 4 The specific process of processing the target data is illustrated. (Illustrative) Figure 4 This is a schematic diagram illustrating the specific process of processing target data provided in an embodiment of this application. (Refer to...) Figure 4 As shown, it may specifically include the following steps S401 to S414.

[0161] S401, set the total number of rows occupied by unreasonable data in the target data to Number2=0, and set the current row number Y=1.

[0162] After obtaining the target data by executing S308 above, the total number of rows occupied by unreasonable data in the target data can be set to Number2=0, and the current row number Y=1.

[0163] S402, sequentially check whether each row of data in the target data includes unreasonable data.

[0164] If one or more driving data points in one row of the target data are outside the reasonable value range, then that row of data is determined to include unreasonable data; if all driving data points in one row of the target data are within the reasonable value range, then that row of data is determined to not include unreasonable data.

[0165] If a row of data in the target data contains unreasonable data, proceed with step S403 below; if a row of data in the target data does not contain unreasonable data, proceed with step S404 below.

[0166] S403, if a row of data in the target data includes unreasonable data, make the total number of rows occupied by the unreasonable data Number2 = Number2 + 1, and the current row number Y = Y + 1.

[0167] S404, if a row in the target data does not contain unreasonable data, make the current row number Y = Y + 1.

[0168] After executing S403 or S404, continue to determine whether the next row of data in the target data includes unreasonable data. That is, repeat the above steps S402 to S404 until all rows of data in the target data have been traversed and the row containing unreasonable data in the target data is determined.

[0169] S405, delete the data in the row containing unreasonable data in the target data to obtain the data to be output.

[0170] S406 displays the name of the target variable corresponding to the unreasonable data.

[0171] In some embodiments, the second duration can also be determined based on the total number of rows occupied by unreasonable data in the target data and the time interval between the sampling times of every two adjacent rows of data in the target data. Specifically, the second duration can be determined as the product of the total number of rows occupied by unreasonable data in the target data and the time interval between the sampling times of every two adjacent rows of data in the target data.

[0172] Therefore, in addition to displaying the name of the target variable corresponding to unreasonable data, electronic devices can also display a second duration for users to check.

[0173] S407 receives the first sampling frequency input by the user.

[0174] S408, determine whether the first sampling frequency is equal to the second sampling frequency corresponding to the data to be processed.

[0175] If the first sampling frequency is equal to the second sampling frequency, proceed with step S409 below; if the first sampling frequency is not equal to the second sampling frequency, proceed with step S410 below.

[0176] S409, when the first sampling frequency and the second sampling frequency are equal, the data to be output is determined as the output data.

[0177] S410, when the first sampling frequency and the second sampling frequency are not equal, performs discretization or linear interpolation on the output data to obtain the output data.

[0178] Specifically, when the first sampling frequency is less than the second sampling frequency, the output data is discretized; when the first sampling frequency is greater than the second sampling frequency, the output data is linearly interpolated.

[0179] S411 generates data files in various formats based on the output data.

[0180] The data files can be in various formats, including xls / xlsx, tsv, and Timeses formats. xls / xlsx files can be used by users to inspect the output data and serve as alternative input files for simulations. tsv files are used to visualize the output data using MDA tools, and the variable names corresponding to the driving data in the output data are simplified versions of the target variable names. Timeses files are automatically generated by Matlab and are used as input for Simulink simulations, thereby improving simulation efficiency.

[0181] Therefore, embodiments of this application can generate data files in various formats based on the output data to meet different needs and facilitate subsequent data analysis and processing.

[0182] S412 calculates the vehicle's first energy consumption based on the output data.

[0183] In one example, the vehicle's first energy consumption can be calculated based on parameters such as driving speed, battery voltage, and battery current in the output data.

[0184] Specifically, firstly, the product of battery voltage and battery current at each sampling moment in the output data can be integrated from the first sampling moment to the last sampling moment to obtain the change in electrical energy, with the unit of change in electrical energy being Wh (watt-hours). Then, the driving speed at each sampling moment can be integrated from the first sampling moment to the last sampling moment to obtain the driving distance, with the unit of driving distance being km. Finally, the change in electrical energy is divided by the driving distance to obtain the vehicle's first energy consumption, with the unit of energy consumption being Wh / km (watt-hours per kilometer).

[0185] Of course, in addition to calculating the vehicle's first energy consumption based on the output data, the embodiments of this application can also calculate the vehicle's engine thermal efficiency, motor efficiency, and other performance parameters based on the output data.

[0186] S413 verifies the vehicle's primary energy consumption.

[0187] In one example, the first fuel consumption can be calculated based on the vehicle's fuel supply, and the second fuel consumption can be obtained by looking up a table based on the engine speed and engine torque; the sum of the first fuel consumption and the second fuel consumption is determined as the second energy consumption; the numerical relationship between the first energy consumption and the second energy consumption is compared to verify the first energy consumption.

[0188] Therefore, in the embodiments of this application, after processing the output data in the above manner, the calculation and verification of the first energy consumption are performed based on the output data, which can improve the accuracy and effectiveness of the data calculation.

[0189] S414 generates the engine universal characteristic curve and the electric motor characteristic curve based on the output data.

[0190] The engine universal characteristic curve is mainly used to reflect the fuel consumption of a vehicle's engine under the same load conditions of different speeds and torques. This engine universal characteristic curve is plotted with engine speed on the horizontal axis and engine torque on the vertical axis, showing the vehicle's equivalent fuel consumption rate. The engine universal characteristic curve reveals the engine's fuel economy (minimum fuel consumption).

[0191] The motor characteristic curve is mainly used to reflect the motor efficiency of a vehicle at different speeds and torques. The motor characteristic curve is plotted with motor speed on the horizontal axis and motor torque on the vertical axis.

[0192] Furthermore, the embodiments of this application can automatically output the calculated first energy consumption and the verification results of the first energy consumption to a table, which is convenient for users to manage and use; it also supports outputting the universal characteristic curve of the engine and the characteristic curve of the motor to a table in a unified manner, which is convenient for users to further analyze, thereby achieving efficient, accurate and consistent automated output.

[0193] It should be understood that the "user" mentioned in the embodiments of this application can be understood as the relevant test personnel who test some performance parameters of the vehicle.

[0194] The above combination Figures 1 to 4 The data processing method provided in the embodiments of this application has been described. The apparatus for performing the above method provided in the embodiments of this application is described below.

[0195] Figure 5 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application. Figure 5 As shown, the data processing device 500 may include: a data acquisition module 501, a duration determination module 502, and a data deletion module 503.

[0196] The data acquisition module 501 is used to acquire data to be processed, which includes data obtained by simulating vehicle testing under target test conditions through a simulation platform. Each row of data in the data to be processed represents multiple driving data at the same sampling time, and each column of data in the data to be processed represents the same driving data at different sampling times. The duration determination module 502 is used to determine a first duration based on the total number of rows occupied by non-numerical values ​​in the data to be processed when there are non-numerical values ​​in the data to be processed. The data deletion module 503 is used to delete at least one row of data and / or at least one column of data containing non-numerical values ​​from the data to be processed based on the first duration to obtain the target data.

[0197] In one possible implementation, the duration determination module 502 is specifically used to obtain the total number of rows occupied by non-numerical data in the data to be processed, and the time interval between the sampling times of every two adjacent rows of data in the data to be processed; and to determine the first duration based on the total number of rows and the time interval.

[0198] In one possible implementation, the data deletion module 503 is specifically used to: delete all rows of data that include non-numeric values ​​from the data to be processed when the first duration is less than the first preset duration, to obtain target data; determine the target column data in the data to be processed when the first duration is greater than or equal to the first preset duration, the target column data being the column of data that includes the most non-numeric values ​​in the data to be processed; delete the target column data in the data to be processed, and then execute again the step of determining the first duration based on the total number of rows occupied by non-numeric values ​​in the data to be processed when non-numeric values ​​exist in the data to be processed.

[0199] In one possible implementation, the data acquisition module 501 is specifically used for: acquiring raw data obtained by simulating a vehicle under target test conditions through a simulation platform; receiving a first variable name input by the user; detecting whether the first variable name matches a second variable name in the raw data, the second variable name being used to represent the data name corresponding to the driving data; if the first variable name matches the second variable name, extracting the data corresponding to the second variable name from the raw data to obtain initial extracted data; if the first variable name does not match the second variable name, prompting the user to change the input first variable name, and after receiving the changed first variable name input by the user, re-executing the step of detecting whether the first variable name matches the second variable name in the raw data; and determining the data to be processed based on the initial extracted data.

[0200] In one possible implementation, the data processing device 500 may further include: a first symbol detection module for detecting whether a first preset symbol exists in the second variable name; a first string extraction module for extracting a portion of the string from the second variable name based on the first preset symbol when the first preset symbol exists in the second variable name, to obtain a third variable name, wherein the string length of the third variable name is less than the string length of the second variable name; a second symbol detection module for detecting whether a second preset symbol exists in the third variable name; and a second string extraction module for extracting a portion of the string from the third variable name based on the second preset symbol when the second preset symbol exists in the third variable name, to obtain a target variable name, wherein the string length of the target variable name is less than the string length of the third variable name.

[0201] In one possible implementation, the various driving data include driving speed. The data acquisition module 501 is specifically used to: acquire the start point and end point of the initial extraction data, where the start point is a sampling time located before the target time and spaced a second preset time interval from the target time, the target time is the sampling time corresponding to the first driving speed that is greater than a preset vehicle speed, and the end point is a sampling time located after the start point and spaced a third preset time interval from the start point; and extract the various driving data corresponding to all sampling times between the start point and the end point from the initial extraction data to obtain the data to be processed.

[0202] In one possible implementation, the data processing device 500 may further include: a reasonable value range acquisition module, used to acquire the reasonable value range corresponding to each type of driving data in the target data; a target row data determination module, used to determine each row of driving data located outside the reasonable value range in the target data as target row data; and a target row data deletion module, used to delete the target row data in the target data to obtain the data to be output.

[0203] In one possible implementation, the data processing device 500 may further include: a sampling frequency receiving module for receiving a first sampling frequency input by a user; a data extraction module for extracting a portion of the data from the data to be output according to the first sampling frequency when the first sampling frequency is less than the second sampling frequency corresponding to the data to be processed, to obtain output data, wherein the total number of rows in the output data is less than the total number of rows in the data to be output; and an interpolation processing module for performing linear interpolation processing on the data to be output according to the first sampling frequency when the first sampling frequency is greater than the second sampling frequency corresponding to the data to be processed, to obtain output data, wherein the total number of rows in the output data is greater than the total number of rows in the data to be output.

[0204] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. For example, as shown... Figure 6 As shown, the electronic device 600 includes a memory 601 and a processor 602. The memory 601 stores executable program code 6011, and the processor 602 is used to call and execute the executable program code 6011 to perform a data processing method.

[0205] Furthermore, embodiments of this application also protect an apparatus that may include a memory and a processor, wherein the memory stores executable program code, and the processor is used to call and execute the executable program code to perform a data processing method provided in embodiments of this application.

[0206] This embodiment can divide the device into functional modules based on the above method example. For example, each module can correspond to a separate function, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware. It should be noted that the module division in this embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.

[0207] When each function is divided into modules corresponding to its specific function, the device may further include a data acquisition module, a duration determination module, a data deletion module, a first symbol detection module, a first string extraction module, a second symbol detection module, a second string extraction module, a reasonable value range acquisition module, a target row data determination module, a target row data deletion module, a sampling frequency receiving module, a data extraction module, and an interpolation processing module. It should be noted that all relevant content of each step involved in the above method embodiments can be referenced from the functional descriptions of the corresponding functional modules, and will not be repeated here.

[0208] It should be understood that the apparatus provided in this embodiment is used to perform the above-described data processing method, and therefore can achieve the same effect as the above-described implementation method.

[0209] When using integrated units, the device may include a processing module and a storage module. When applied to an electronic device, the processing module can be used to control and manage the operation of the electronic device. The storage module can be used to support the execution of relevant program code by the electronic device.

[0210] The processing module may be a processor or a controller, which can implement or execute various exemplary logic blocks, modules, and circuits shown in conjunction with the disclosure of this application. The processor may also be a combination of functions that implement computing capabilities, such as a combination of one or more microprocessors, a combination of digital signal processing (DSP) and a microprocessor, etc., and the storage module may be a memory.

[0211] In addition, the apparatus provided in the embodiments of this application may specifically be a chip, component or module. The chip may include a connected processor and a memory. The memory is used to store instructions. When the processor calls and executes the instructions, the chip can execute a data processing method provided in the above embodiments.

[0212] This embodiment also provides a computer-readable storage medium storing computer program code. When the computer program code is run on a computer, the computer executes the aforementioned method steps to implement a data processing method provided in the above embodiment.

[0213] This embodiment also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned related steps to implement a data processing method provided in the above embodiment.

[0214] In this embodiment, the device, computer-readable storage medium, computer program product, or chip are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0215] Through the above description of the embodiments, those skilled in the art will understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0216] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0217] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A data processing method, characterized by, The method comprises: acquiring to-be-processed data, the to-be-processed data comprising data obtained by simulating a vehicle in a target test mode by a simulation platform, each row of data in the to-be-processed data representing a plurality of driving data at a same sampling time, and each column of data in the to-be-processed data representing a same driving data at different sampling times; in a case where non-numerical values exist in the to-be-processed data, determining a first time length based on a total number of rows occupied by the non-numerical values in the to-be-processed data; based on the first time length, deleting at least one row of data comprising the non-numerical values and / or at least one column of data comprising the non-numerical values in the to-be-processed data to obtain target data.

2. The method of claim 1, wherein, The method comprises: acquiring the total number of rows occupied by the non-numerical values in the to-be-processed data and a time interval between sampling times of each two adjacent rows of data in the to-be-processed data; based on the total number of rows and the time interval, determining the first time length.

3. The method of claim 1, wherein, The method comprises: in a case where the first time length is less than a first preset time length, deleting each row of data comprising the non-numerical values in the to-be-processed data to obtain the target data; in a case where the first time length is greater than or equal to the first preset time length, determining target column data in the to-be-processed data, the target column data being a column of data comprising the most non-numerical values in the to-be-processed data; deleting the target column data in the to-be-processed data and again performing the step of determining the first time length based on the total number of rows occupied by the non-numerical values in the to-be-processed data in a case where non-numerical values exist in the to-be-processed data.

4. The method of claim 1, wherein, The method comprises: acquiring original data obtained by simulating the vehicle in the target test mode by the simulation platform; receiving a first variable name input by a user; detecting whether the first variable name matches a second variable name in the original data, the second variable name being used to represent a data name corresponding to the driving data; in a case where the first variable name matches the second variable name, extracting data corresponding to the second variable name from the original data to obtain initial extraction data; in a case where the first variable name does not match the second variable name, prompting the user to replace the input first variable name, and after receiving the replaced first variable name input by the user, again performing the step of detecting whether the first variable name matches the second variable name in the original data; based on the initial extraction data, determining the to-be-processed data.

5. The method of claim 4, wherein, After the initial extraction data is obtained, the method further comprises: detecting whether a first preset symbol exists in the second variable name; In a case where the first preset symbol exists in the second variable name, a part of a character string in the second variable name is extracted based on the first preset symbol to obtain a third variable name, and a character length of the third variable name is less than a character length of the second variable name; It is detected whether a second preset symbol exists in the third variable name; In a case where the second preset symbol exists in the third variable name, a part of a character string in the third variable name is extracted based on the second preset symbol to obtain a target variable name, and a character length of the target variable name is less than a character length of the third variable name.

6. The method of claim 4, wherein, The plurality of driving data includes a driving speed, and the determining the to-be-processed data based on the initial extracted data includes: obtaining a starting point and an ending point of the initial extracted data, the starting point being a sampling time point located before a target time point and spaced from the target time point by a second preset time length, the target time point being a first sampling time point corresponding to the driving speed greater than a preset vehicle speed, and the ending point being a sampling time point located after the starting point and spaced from the starting point by a third preset time length; extracting, from the initial extracted data, the plurality of driving data corresponding to all sampling time points between the starting point and the ending point to obtain the to-be-processed data.

7. The method according to any one of claims 1 to 6, characterized in that, After the deleting, based on the first time length, at least one row of data including the non-value and / or at least one column of data including the non-value in the to-be-processed data to obtain target data, the method further includes: obtaining a reasonable value interval corresponding to each kind of driving data in the target data; determining each row of data in which driving data located outside the reasonable value interval in the target data as target row data; deleting the target row data in the target data to obtain to-be-output data.

8. The method of claim 7, wherein, After the deleting the target row data in the target data to obtain to-be-output data, the method further includes: receiving a first sampling frequency input by a user; in a case where the first sampling frequency is less than a second sampling frequency corresponding to the to-be-processed data, extracting part of rows of data from the to-be-output data according to the first sampling frequency to obtain output data, and a total number of rows of data in the output data is less than a total number of rows of data in the to-be-output data; in a case where the first sampling frequency is greater than the second sampling frequency corresponding to the to-be-processed data, performing linear interpolation processing on the to-be-output data according to the first sampling frequency to obtain output data, and a total number of rows of data in the output data is greater than a total number of rows of data in the to-be-output data.

9. An electronic device, comprising: The electronic device includes: a memory for storing executable program code; a processor for calling and running the executable program code from the memory, so that the electronic device executes the method of any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, when the computer program is executed, the method of any one of claims 1 to 8 is realized. The computer readable storage medium stores a computer program, when the computer program is executed, the method of any one of claims 1 to 8 is realized.