Method for diagnosis of an internal combustion engine
A neural network-based method for internal combustion engines estimates torque and detects faults by analyzing exhaust gas pressure, addressing the limitations of crankshaft-dependent methods and enhancing accuracy and robustness.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- PHINIA DELPHI LUXEMBOURG SARL
- Filing Date
- 2026-01-16
- Publication Date
- 2026-07-23
AI Technical Summary
Existing methods for detecting engine misfires and other faults in internal combustion engines are limited by their reliance on crankshaft acceleration, leading to increased system complexity and development costs, and they fail to accurately estimate torque without such calibration.
A computer-implemented method using a neural network to estimate torque and detect engine faults by analyzing exhaust gas pressure data, separating it into average pressure values and pressure waveforms, and optionally incorporating additional engine parameters, to provide robust fault detection and estimation.
This approach simplifies calibration, enhances accuracy in torque estimation and fault detection, and improves engine control by reducing reliance on transmission type-specific calibrations, while compensating for sensor drift due to aging.
Smart Images

Figure EP2026051091_23072026_PF_FP_ABST
Abstract
Description
[0001] P-DELPHI-462 / WO 1
[0002] METHOD FOR DIAGNOSIS OF AN INTERNAL COMBUSTION ENGINE
[0003] Technical field
[0004] The present invention generally relates to the diagnosis and control of internal combustion engines.
[0005] Background Art
[0006] In internal combustion engines, the precise detection of misfires and other engine faults is essential for ensuring operational safety, optimizing performance, and complying with regulatory standards. Misfires, which occur when the air-fuel mixture in the combustion chamber fails to ignite, can result in elevated levels of unburned fuel and oxygen in the exhaust system. In hydrogen-fuelled engines, this presents a significant safety risk due to hydrogen's flammable nature and the potential for hazardous accumulation or explosions. Additionally, undetected misfires reduce engine efficiency, increase emissions, and can lead to mechanical damage over time.
[0007] Traditional methods for detecting engine misfires have employed techniques such as monitoring crankshaft acceleration, analysing electrical characteristics of the ignition spark, and examining exhaust gas properties such as pressure and temperature. However, these approaches have faced inherent limitations that impede the development of a universally effective misfire detection system.
[0008] For instance, methods based on crankshaft acceleration require specific calibrations tailored to each unique transmission system. This reliance on customized calibration not only increases system complexity but also elevates development costs, making broad implementation less feasible. Similarly, conventional methods for estimating torque output also depend on crankshaft acceleration, further compounding these challenges.
[0009] There is therefore a need for a method capable of accurately detecting misfires and other engine faults without relying on crankshaft acceleration. Moreover, there is an additional need for a method to estimate the torque produced by individual combustion events that also avoids dependence on crankshaft acceleration.P-DELPHI-462 / WO 2
[0010] Object of the Invention
[0011] It is an object of the present invention to provide for diagnosis strategies of an internal combustion engine that are able to accurately estimate torque or detect engine faults such as misfires.
[0012] Summary of the Invention
[0013] According to a first aspect, the present invention relates to a computer-implemented method for estimating an operation parameter for an internal combustion engine (ICE). The ICE comprises a plurality of engine cylinders, a fuel delivery system with a plurality of fuel injectors that are arranged to selectively inject fuel in respective cylinders, an exhaust gas pressure sensor arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means for generating signal(s) indicative of crankshaft position (or angle) within a cycle of said ICE. Injection events are performed to inject predetermined amounts of fuel via said injectors, in order to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts.
[0014] In a monitoring step, the computer receives exhaust gas pressure data in a measurement window that is synchronized to the crank shaft positions.
[0015] From the measurement window, the computer derives an analysis window, (i) with a first data point of the analysis window being synchronized to the opening of an exhaust valve that follows the combustion event in a respective cylinder, (ii) with an intermediate, second data point of the analysis window corresponding to the opening of an exhaust valve, and (iii) with a last, third data point of the analysis window being synchronized to end of the exhaust gas release from the cylinder (i.e. when the exhaust valve closes), thereby obtaining exhaust pressure data for the analysis window.
[0016] The computer processes the exhaust pressure data for the analysis window by computing: (i) a first pressure data input, being the current pressure average of the exhaust gas pressure from the second data point to the third data point, in relation to the current combustion event, (ii) a second pressure data input, being the difference between the current pressure average and one of the previous pressure averages (at least), (iii) a third pressure data input, being the exhaust gas pressureP-DELPHI-462 / WO 3
[0017] data with multiple data points from the first data point to the third data point. The computer is feeding - or forwarding - the first, second and third pressure data inputs to a pre-trained neural network to output the operation parameter.
[0018] Optionally, the third pressure data input is being normalized by an average that is the current pressure average or that is an average over the analysis window.
[0019] Optionally, the analysis window spans an exhaust stroke of the corresponding cylinder with an offset.
[0020] Optionally, engine parameters are further data input to the pre-trained neural network. For example, a torque demand, a spark angle, a turbocharger variable gate geometry position, a boost pressure (MAP), an EGR rate, a cylinder identifier, and / or an air mass flow can additionally be fed as inputs to the neural network.
[0021] Optionally, the computer is receiving - from an engine controller - a first engine parameter and a second engine parameter, both parameters comprising numerical values. According to the numerical values, the computer is classifying both engine parameters into at least a first range for lower numerical values and a second range for higher numerical values. According to the ranges, the computer is selecting a pre-trained neural network, such that for the first engine parameter and the second engine parameter being in the first ranges, it is selecting a first pre-trained neural network, for the first engine parameter in the second range, and the second engine parameter being in the first range, it is selecting a second pre-trained neural network, for the second engine parameter in the second range, it is selecting a third pre-trained neural network. Feeding the first, second and third data inputs to the neural network comprises feeding to the selected pre-trained neural network.
[0022] Optionally, selecting the pre-trained neural network is performed in real time during the operation of the engine, for each injection event.
[0023] Optionally, the operation parameter comprises an engine torque. In that case, the neural network is a non-linear regressive neural network pre-trained to output the estimated torque from the average pressure value and the pressure waveform. The estimated torque can be processed to detect engine faults, said engine faults include misfires, valve timing issues, and / or exhaust system blockages.P-DELPHI-462 / WO 4
[0024] Optionally, the operation parameter comprises an indicator of the presence or the absence of engine fault, said engine faults including misfires, valve timing issues, and / or exhaust system blockages. In that case, the neural network is a classification neural network pre-trained to output the indicator of a presence or an absence of engine fault from the average pressure value and the pressure waveform.
[0025] The engine can be configured to operate on gaseous fuel. In a particular embodiment, the gaseous fuel is hydrogen.
[0026] Optionally, during training, the neural network has received noised average pressure values and noised pressure waveforms, whereby noised average pressure values and noised pressure waveforms are generated by applying random perturbation to historical pressure values and historical pressure waveforms. It can be advantageous - such as to compensate for a drift of the pressure sensor - to train the neural network training with different noise levels. In that case, the trained neural network has received noised average pressure values of a first noise level, and have received noised pressure waveforms of a second noise level. For training, the noised average pressure values of the first noise level, and the noised pressure waveforms of the second noise level would be generated by applying random perturbation to historical pressure values and historical pressure waveforms. In view of the drift to be expected at the pressure sensor and in view of the sensors drift to eventually be averaged out for the waveforms, the first noise level can be higher than the second noise level. For example, the first noise level can be between 5 % and 20 % of the overall range (e.g., of the historical pressure values), but the second noise level can be between 1 % and 10% of the overall range (e.g., historical pressure m in-max difference in the waveform).
[0027] A use of the computer-implemented method is also disclosed: The estimated torque can be used to control operation of an internal combustion engine by adjusting fuelling based on said estimated torque.
[0028] A control unit - such as a computer that controls the engine in a vehicle - comprises instructions which, when executed, cause the control unit to carry out the method. A computer program product that, when loaded into a memory of a computer system and executed by at least one processor of the computer system, causes the computer system to perform the steps of a computer-implemented method.P-DELPHI-462 / WO 5
[0029] The disclosure also relates to a computer-implemented method to train a neural network of a computing device to estimate an operation parameter of an internal combustion engine (ICE), to enable the computer to execute the method. Training data for the input of the neural network of is obtained: by monitoring exhaust gas pressure in a measurement window that is synchronized to crank shaft positions, for a reference engine; by processing the exhaust pressure data by computing the first, second and third pressure data input accordingly. Training data for the output of the neural network - as ground truth - is obtained from operation parameters that are monitored while operating the reference engine.
[0030] During training, historical pressure values and historical pressure waveforms can include data from operation parameters that are related to normal, non-misfiring engine operation and from deliberate misfiring operation.
[0031] According to a further aspect, the present invention relates to a computer implemented method for estimating engine torque from an internal combustion engine (ICE) wherein the ICE includes a plurality of engine cylinders, a fuel delivery system with a plurality of fuel injectors arranged to selectively inject fuel in respective cylinders, an exhaust gas pressure sensor arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means for generating signal(s) indicative of crankshaft position within a cycle of said ICE. Injection events are performed to inject predetermined amounts of fuel via said injectors, in order to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts.
[0032] The method comprises the steps of:
[0033] - monitoring exhaust gas pressure over a predetermined analysis window corresponding to a combustion event in a respective cylinder, thereby obtaining exhaust pressure data;
[0034] processing the exhaust pressure data by computing an average pressure value of the exhaust pressure data and determining a pressure waveform from the pressure data; andP-DELPHI-462 / WO 6
[0035] feeding the average pressure value and the pressure waveform as inputs to a neural network to output an estimated torque.
[0036] The estimated torque may then be processed to detect engine faults, such as misfires, valve timing issues, and / or exhaust system blockages. A detected engine fault may be stored in a memory of a control unit for future diagnosis and / or maintenance.
[0037] Additionally, the estimated torque may be used to control operation of the engine by, e.g., adjusting the fuel supply based on said estimated torque.
[0038] The invention provides an optimized approach to estimate torque, and in a second aspect, to detect misfires, based on the exhaust pressure. Indeed, torque produced by an engine is closely linked to the pressure generated within the cylinders during combustion. This pressure directly translates to forces on the crankshaft, contributing to torque. Torque can thus be inferred by monitoring the exhaust pressure during a predetermined analysis window aligned with the exhausts of combustion gases from the cylinder in which a combustion has just occurred. Advantageously, the analysis window is designed to monitor the exhaust pressure over an angular window (i.e., between different crank angles) defined on the basis of the opening period of the exhaust valves for the respective cylinder, optionally with an offset, or overlap. In embodiments, that can be set to limit the angular interval to a region where only the respective cylinder contributes to the exhaust pressure in the exhaust manifold, i.e., only that cylinder is open.
[0039] According to the invention, both the average pressure value and the pressure waveform are fed as inputs, during runtime, to the neural network to output the estimated torque.
[0040] The inventors have found that separating a raw exhaust pressure signal into an average pressure value and a pressure waveform increases the accuracy of the torque estimation. In particular, this approach has shown to allow robust torque prediction even in case of sensor drift due to ageing. Sensor drift refers to the gradual, subtle changes (alteration) in the sensor that happen over time, causing a discrepancy between the physical state that is being measured and the output of the sensor.P-DELPHI-462 / WO 7
[0041] As a further benefit, determining torque from exhaust pressure (instead of from crank shaft acceleration) considerably simplifies calibration, since it depends on the engine design only and not on the transmission type.
[0042] It may be noted that the monitoring step produces pressure data including a plurality of samples / points. The pressure data inherently define a waveform. In the present text, determining a pressure waveform from the pressure data may or may not imply processing the pressure data. For example, determining the pressure waveform may consist of defining the pressure waveform as the sample / points of the pressure data, or a subset thereof. Alternatively, as detailed below, the pressure data may be processed to define the pressure waveform.
[0043] In embodiments, the neural network is a non-linear regressive neural network pretrained to output the estimated torque from the average pressure value and the pressure waveform.
[0044] In embodiments, a spark angle, a turbocharger variable gate geometry position, a boost pressure (MAP), an exhaust gas recirculation (EGR) rate, a cylinder identifier, and / or an air mass flow are additionally fed as inputs to the neural network.
[0045] The invention further provides a computer-implemented method for diagnosing an ICE, wherein the ICE includes a plurality of engine cylinders, a fuel delivery system with a plurality of fuel injectors arranged to selectively inject fuel in respective cylinders, an exhaust pressure sensor arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means for generating signal(s) indicative of crankshaft position within a cycle of said ICE. Injection events are performed to inject predetermined amounts of fuel via said injectors, in order to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts.
[0046] The method comprises the steps of:
[0047] - monitoring exhaust gas pressure over a predetermined analysis window corresponding to a combustion event in a respective cylinder, thereby obtaining exhaust pressure data;P-DELPHI-462 / WO 8
[0048] - processing the exhaust pressure data by computing an average pressure value of the exhaust pressure data and determining a pressure waveform from the pressure data; and
[0049] - feeding the average pressure value and the pressure waveform as inputs to a neural network to output an indicator of a presence or an absence of engine fault, said engine faults including misfires, valve timing issues, and / or exhaust system blockages.
[0050] The neural network here may be a classification neural network pre-trained to output an indicator of a presence or an absence of engine fault from the average pressure value and the pressure waveform.
[0051] According to the invention, both the average pressure value and the pressure waveform are fed as inputs, during runtime, to the neural network to detect engine faults.
[0052] The inventors have found that separating the raw exhaust pressure signal into the average pressure value and the pressure waveform increases the accuracy of misfire detection. In particular, this approach has shown to allow robust torque prediction even in case of sensor drift due to ageing.
[0053] In embodiments, a torque demand, a spark angle, a turbocharger variable gate geometry position, a boost pressure (MAP), an EGR rate, a cylinder identifier, and / or an air mass flow are additionally fed as inputs to the neural network. The torque demand has been found to be a particularly relevant input for the classification neural network as it significantly improves engine fault detection.
[0054] In embodiments, during training, the network has received noised average pressure values and noised pressure waveforms that are generated by applying random perturbation to historical pressure values and historical pressure waveforms. Preferably, a greater magnitude of noise has been applied to the historical average pressure values than the historical pressure waveforms. This has been found to significantly improve the accuracy of torque estimation and of engine fault detection throughout the lifetime of the exhaust pressure sensor.P-DELPHI-462 / WO 9
[0055] In embodiments, monitoring exhaust gas pressure involves sampling the exhaust gas pressure multiple times over the analysis window to obtain a plurality of pressure samples. The average pressure value is computed by summing all the pressure samples and dividing by a corresponding number of pressure samples. The pressure data here thus takes the form of a pressure data set comprising a plurality of pressure samples.
[0056] In embodiments, the pressure waveform is determined by subtracting the average pressure value from the pressure data. In other words, the pressure data are subjected to a so-called base line correction, whereby for each analysis window an average pressure value is computed from the pressure data, and this value is then subtracted from the pressure data to compute a pressure waveform.
[0057] Preferably, the analysis window spans an exhaust stroke of the corresponding cylinder.
[0058] In embodiments, the engine is configured to operate on gaseous fuel, in particular on hydrogen.
[0059] The invention further provides a control unit comprising instructions that, when executed, cause the control unit to carry out the method according to any of the preceding claims.
[0060] The methods disclosed herein are implemented using a trained neural network. As will be explained in more detail, the neural network has been trained to obtain network weights, such that the neural network is able to output prediction data. The invention may be implemented using non-linear, deep neural networks. As is known, structurally, a neural network comprises multiple interconnected processing nodes, commonly referred to as "neurons" or "units," that are organized into layers: an input layer, one or more hidden layers, and an output layer.
[0061] Each neuron in the network processes input data by applying a weighted sum of inputs and a bias term, followed by a non-linear activation function. These connections between neurons are characterized by adjustable parameters, referred to as "weights," that are optimized during a training process to enable the network to learn patterns or relationships within the input data.P-DELPHI-462 / WO 10
[0062] Neural networks are capable of modelling complex, non-linear relationships and are therefore particularly suitable for tasks such as classification, regression, image recognition, natural language processing, and decision-making. The training process typically involves providing the network with a dataset and using an optimization algorithm to minimize a defined error function. Through this process, the weights and biases are iteratively adjusted to improve the network's performance.
[0063] The architecture of the neural network is generally defined by, e.g.,:
[0064] - the number of network layers among the hidden layers;
[0065] - the way the layers are interconnected;
[0066] - the way nodes are implemented (such as artificial neurons);
[0067] - the signal processing at the inputs;
[0068] - the selection of the activation function;
[0069] - the implementation of backpropagation algorithms (that are performed by the network to estimate gradients during training), and so on.
[0070] During training, input vectors (with historical data from phase) are fed into the neural networks. This initiates feedforward propagation through the network layers to compute an estimated output value (here, the estimated torque or the indicator of absence or presence of engine faults). The error between the torque demand (historical data) and the estimated torque is then calculated. Using this error, the weights of the artificial neural network (ANN) are adjusted via the backpropagation algorithm. Through recursive iterations, the ANN learns and stores the correct torque estimation within its weights. This offline learning procedure is stopped once the error falls below a predetermined threshold. At the end of this process, the neural network is prepared to receive new inputs and predict the torque in real time when the vehicle is in operation.
[0071] According to still another aspect, the invention relates to a computer-implemented method to train a neural network of a computing device to estimate torque output by an internal combustion engine, wherein the ICE includes a plurality of engine cylinders, a fuel delivery system with a plurality of fuel injectors arranged toP-DELPHI-462 / WO 11
[0072] selectively inject fuel in respective cylinders, an exhaust pressure sensor arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means for generating signal(s) indicative of crankshaft position within a cycle of said ICE, whereby injection events are performed to inject predetermined amounts of fuel via said injectors to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts, and wherein, after training, the neural network is adapted to process a pressure waveform and an average pressure to estimate a torque output by the ICE, the method to train the neural network being performed with noised average pressure values and noised pressure waveforms that are generated by applying random perturbation to historical pressure values and historical pressure waveforms from a reference ICE. According to yet another aspect, the invention relates to a computer-implemented method to train a neural network of a computing device, to estimate torque output by an internal combustion engine, wherein the ICE includes a plurality of engine cylinders, a fuel delivery system with a plurality of fuel injectors arranged to selectively inject fuel in respective cylinders, an exhaust pressure sensor arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means for generating signal(s) indicative of crankshaft position within a cycle of said ICE, whereby injection events are performed to inject predetermined amounts of fuel via said injectors to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts, and wherein, after training, the neural network is adapted to process a pressure waveform, an average pressure, and optionally a torque demand to output an indicator of a presence or an absence of engine fault, said engine faults including misfires, valve timing issues, and / or exhaust system blockages, the method to train the neural network being performed with noised average pressure values, noised pressure waveforms, and optionally torque demands, whereby noised average pressure values and noised pressure waveforms are generated by applying random perturbation to historical pressure values and historical pressure waveforms from a reference ICE.P-DELPHI-462 / WO 12
[0073] In embodiments of these methods, during training, historical pressure values and historical pressure waveforms includes data from normal, non-misfiring engine operation and from deliberate misfiring operation.
[0074] The above and other embodiments of the invention are recited in the appended claims.
[0075] Brief Description of the Drawings
[0076] Preferred embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings in which:
[0077] Fig. 1 is a schematic diagram of an internal combustion engine;
[0078] Fig. 2A and 2B are plots of exhaust pressure, Fig. 2B representing the demeaned signal of Fig. 2A;
[0079] Fig. 3 is a flowchart of a method for control of an internal combustion engine according to the invention;
[0080] Fig. 4 is a flowchart of a method for diagnosis of an internal combustion engine according to the invention;
[0081] Fig. 5 is a diagram that visualizes monitoring exhaust pressure by showing pressure data over crank angle data;
[0082] Fig. 6 is a diagram that illustrates the input of a neural network at run-time in view of pre-processing;
[0083] Fig. 7 is a diagram of optionally using a network selector component to select network instances according to engine parameters;
[0084] Fig. 8 is a logic diagram to introduce selection criteria;
[0085] Fig. 9 is a diagram that illustrates engine-parameter specific thresholds to convert preliminary operation parameters to binary format.
[0086] Description of Preferred Embodiments
[0087] Embodiments of the present invention will now be described in the context of a hydrogen internal combustion engine. The engine 10 is schematically illustrated on Fig. 1. The engine configuration is conventional and will only be briefly described.P-DELPHI-462 / WO 13
[0088] The engine 10 comprises an engine block 12 with a plurality of cylinders 14 (only one being shown in the Figure). A piston 16 is reciprocally disposed within each cylinder 14, moveable between a bottom dead centre BDC and top dead centre TDC, and connected to a crankshaft 18 through a rod 20. The cylinders 14 are closed by a cylinder head 22, whereby a combustion chamber 24 is defined by the piston, cylinder, and cylinder head. An intake valve 26 is opened to allow fresh air (from intake manifold 30) into the combustion chamber 24 (typically during an intake stroke). An exhaust valve 28 allows opening of the combustion chamber 24 (typically during exhaust stroke) towards the exhaust system, generally indicated at 60, to evacuate combustion gases. As represented, an exhaust gas manifold 62 collects exhaust gas from the individual cylinders and directs it to an exhaust system that may comprise one or several treatment systems depending on engine type (e.g., oxidation catalyst and / or SCR catalyst) together with sensors (e.g., Iambda / O2 sensor).
[0089] Conventionally, an exhaust gas pressure sensor 64 is provided for monitoring exhaust gas pressure, in particular arranged to sense the exhaust gas manifold pressure. Such pressure sensor is often referred to as P3 sensor.
[0090] Each intake valve 26 is connected to an air intake manifold 30 via a respective intake port provided in the cylinder head 22. In this embodiment, a fuel injector 34 (per cylinder) is arranged in so-called direct injection configuration; the fuel injector 34 is configured to selectively inject predetermined fuel quantities directly into the combustion chamber 24 (alternatively, the fuel injectors may be arranged in portfuel configuration, where fuel is injected upstream of the intake valve into the intake air stream).
[0091] Typically, the fuel injector 34 comprises a nozzle (or valve) portion that comprises a seat member with one or more injection holes and a valve member arranged to be moveable between a closed position, resting on the seat member to prevent fuel injection, and an open position, raised from the seat member and hence authorizing fuel flow towards the injection holes. The fuel injector typically comprises an electromechanical actuator that is configured to move the valve member. For example, the electromechanical actuator may comprise a solenoid that generates a magnetic field capable of pulling (lifting) the valve member off the seat member. ForP-DELPHI-462 / WO 14
[0092] this purpose, a magnetic armature may be provided to cooperate with valve member; for example, the valve member may include a needle shaft and the armature surrounds the latter.
[0093] The fuel injectors 34 are part of a fuel delivery system 40, wherein the fuel injectors 34 are coupled to a fuel rail 42, which is fed with pressurized hydrogen from a pressurized fuel gas source 48. It may comprise one or more cylinders / tanks containing gaseous (or liquid) fuel such as hydrogen. A supply pipe 43 connects the pressurized fuel gas source to the fuel rail and may include serially connected components such as a shut-off valve and a pressure regulator 44, which may be integrated in a common housing forming a hydrogen regulation module (HRM), symbolized by the dash-lined square. The HRM may further include one or more of a pressure relief valve, a purge valve, and a fuel filter.
[0094] In the shown embodiment, the pressure regulator 44 also acts as shutoff valve. It may be configured to regulate the pressure in the fuel rail in a predetermined range, e.g., from 2 to 40 bars (other pressure ranges are however possible). A lower range, e.g., 2 to 20 bars may be used for port fuel injection, whereas an upper range, e.g., 20 to 40 bars may be used for direct fuel injection.
[0095] Although not shown, the engine here includes a spark plug to trigger a spark event at a predetermined timing to ignite the air-fuel mixture formed after the fuel event. The engine 10 further typically includes a crankshaft speed sensor 50 that comprises a magnetic sensor 50.1 (e.g., Hall effect sensor) in conjunction with a toothed wheel 50.2. As is known in the art, the toothed wheel 40.2 is fixed to the crankshaft, whereas the magnetic sensor 50.1 is fixed to the engine block 12 and detects changes in the magnetic field as the wheel 50.2 rotates.
[0096] The magnetic sensor 50.1 detects the presence (tooth) and absence (gap) of the metal teeth, generating a voltage pulse each time a tooth passes. The frequency of these pulses corresponds to the rotational speed of the crankshaft.
[0097] Engine operation is conventionally controlled by an engine control unit (ECU), which includes a processor and a memory, that receives signals from various sensors and operates engine systems and components according to predetermined strategies.P-DELPHI-462 / WO 15
[0098] The ECU receives the pulses from magnetic sensor 50.1 and processes them to determine the exact position of the crankshaft and its rotational speed.
[0099] In the context of the invention, it may be noted that the ECU is typically configured to operate injection events, by which the fuel injectors are operated to inject predetermined fuel amounts in respective cylinders. The ECU will then also perform spark events, by which spark plugs (not shown) arranged in the respective cylinders are powered to ignite the air-fuel mixture in the cylinders. The control of injection event and spark event is part of the combustion event.
[0100] < Torque estimation / misfire detection using neural network >
[0101] In a first aspect, a method for controlling an internal combustion engine according to the invention is disclosed, a flowchart of which is shown on Figure 3. The method implements a non-linear neural network, namely a regression model, that uses data from the exhaust gas pressure sensor 64 as input to estimate the engine torque output. Compared to traditional methods that analyse the acceleration of the crankshaft, focusing on exhaust pressure eliminates the need to calibrate distinct models for each transmission when maintaining the same engine and exhaust system definitions. However, pressure sensors are known to drift during their lifetime, negatively affecting the accuracy of the torque estimation. To solve this issue, the inventive method pre-processes data from the exhaust gas pressure sensor before feeding it to the neural network, as will be explained below.
[0102] In an initial step C1, an injection event is triggered by the ECU, causing an injector to open and deliver fuel to its corresponding cylinder in order to perform a planned combustion event. A spark event is then triggered at step C2, causing the formed air-fuel mixture to ignite and bum, thereby generating exhaust gas and pressure in the cylinder. The pressure generated in the cylinder displaces the piston 16 of the cylinder towards its BDC position during a so-called power stroke. The force applied to the piston during this power stroke is transmitted to the crankshaft 18 via the rod 20 as torque. The generated exhaust gas is evacuated through the exhaust valve 28 towards the exhaust gas manifold 62 and the exhaust system 60.
[0103] In step C3, the resulting exhaust gas pressure is monitored by the exhaust gas pressure sensor 64 over a predetermined analysis window, thereby obtainingP-DELPHI-462 / WO 16
[0104] exhaust pressure data. The data may be sampled periodically by sampling at set time intervals or preferably at set crank angle intervals, thereby obtaining a plurality of pressure samples, which define a waveform. The analysis window is based on the combustion events. As will be understood, exhaust strokes of individual cylinders occur at known crank angle intervals based on engine timing. By synchronizing pressure measurements with these intervals, one can isolate data for each cylinder's contribution to exhaust pressure.
[0105] Accordingly, the analysis window may be synchronized with the exhaust strokes of the cylinders to determine individual cylinder contributions to the pressure in the exhaust manifold.
[0106] For example, the analysis window may begin at a moment (crank angle) corresponding to exhaust valve(s) opening minus an offset, and end at a moment (crank angle) corresponding to the end of the exhaust gas release (i.e. , closure of the exhaust valve) plus an offset. Those skilled in the art may adapt the lower and upper bounds of the analysis windows as appropriate, namely depending on engine design (number of cylinders) or to take into account variable valve timing actuation strategies. So, the analysis windows are synchronized to observe the pressure resulting from a previously planned combustion event in a cylinder.
[0107] The term “planned” combustion event underlines the fact that after the injection event, combustion is normally triggered by the spark event. However, in the case of misfire, the combustion does not occur and no torque is produced. Lower pressure gas is expelled during the exhaust stroke, which is then observable from the exhaust pressure data. Also, as an injection event is normally followed by a corresponding combustion event that generates power and exhaust gas, it may be said herein that exhaust pressure is caused by combustion or injection (abuse of language).
[0108] The exhaust pressure data for a typical torque generating combustion stroke is shown in Figure 2A. The analysis window is indicated as "AW" and substantially corresponds to the exhaust stroke that follows the power stroke in the last fired cylinder.
[0109] As can be seen, the base line pressure signal is around 160 kPa and the pressure rises to a peak at about 195 kPa in the second part of the analysis window.P-DELPHI-462 / WO 17
[0110] In step C4, the pressure data is processed by computing an average pressure value. This average pressure value may be computed as the arithmetic mean, i.e. by summing the pressure value of all samples and dividing by a corresponding number of pressure samples. The pressure data is then further processed by subtracting the calculated average pressure value from the pressure data, thereby obtaining a demeaned pressure waveform. More specifically, the demeaned pressure waveform may be computed by subtracting the calculated average pressure value from each sample value of the plurality of sample values.
[0111] This demeaned pressure waveform is represented in Figure 2B. As can be seen, the signal shape is substantially the same as in Figure 2A, however is now centred around zero. In this example, the average pressure value is 168.62 kPa. This value was thus subtracted from the pressure samples of Figure 2A to obtain the demeaned pressure waveform of Figure 2B.
[0112] In step C5, the average pressure value and the demeaned pressure waveform are fed as inputs to a non-linear neural network trained to output an estimated torque. The inventors have found that separating the raw exhaust pressure signal into the average pressure value and the demeaned pressure waveform increases the robustness of the torque estimation against ageing sensors. The neural network may take additional parameters as inputs (related to the respective combustion event), such as a spark angle, a turbocharger variable gate geometry position, a boost pressure (MAP), an EGR rate, a cylinder identifier, and / or an air mass flow. Said estimated torque may then be used at C6 to control operation of the engine, for example to implement fuelling corrections based on this torque estimation. The estimated torque may also advantageously be used at C5’ to assess whether an engine fault has occurred, in particular a misfire. The estimated torque may be compared to a torque demand for the injection event, and a statistical decision may be made by an algorithm to conclude the presence or absence of an engine fault, respectively presence or absence of a misfire.
[0113] For instance, if the estimated torque is considerably lower than the torque demand, the algorithm may conclude that an engine fault has occurred, in particular a misfire. Conversely, if the estimated torque is similar to the torque demand, the algorithmP-DELPHI-462 / WO 18
[0114] may conclude that no engine fault has occurred. The absence or presence of an engine fault may then be stored in a memory of the ECU at step C6’.
[0115] Such statistical algorithms adapted for engine fault detection are known in the art and will not be detailed herein.
[0116] To train the regression model, a reference engine is operated in a testing platform to collect training data by triggering injection and combustion cycles for various torque demands. In particular, the exhaust gas pressure is monitored and processed to compute an average pressure value and a demeaned pressure waveform as described in step C4. Noise is then applied to the average pressure value and the demeaned pressure waveform.
[0117] Remarkably, a greater level of noise may be applied to the average pressure value than the demeaned pressure waveform. For example, the average pressure value may be multiplied by a noise factor in the range of 1 ±0.18, thereby obtaining a noised average pressure value, whilst the demeaned pressure waveform may be multiplied by a noise factor in the range of 1±0.02, thereby obtaining a noised pressure waveform. Having a greater level of noise applied to the average pressure value than the demeaned pressure waveform has been found to improve the accuracy of torque estimation through the lifetime of the pressure sensor. The noised average pressure value and the noised demeaned pressure waveform are used to form training data for the neural network. Training data may additionally include one or more of the following parameters: spark angle, turbocharger variable gate geometry position, boost pressure (MAP), EGR rate, cylinder identifier, and air mass flow.
[0118] Misfires are sometimes deliberately introduced by, e.g., inhibiting the ignition spark or cutting off fuel supply to a specific cylinder for an individual firing event. Training data thus comprises datasets both from normal (non-misfiring) engine operation and from deliberate misfiring operation. This training data, collected from a sufficiently large number of trials, is then presented to the regression model as training vectors, with each training vector being labelled with the torque demand of its respective operation / combustion event. When a misfire is deliberately introduced, the torque demand may be set to a lower value, e.g., 0.P-DELPHI-462 / WO 19
[0119] During training, the regression model's internal coefficients are recursively adjusted until it consistently produces the correct label (i.e., the torque demand) from each training vector. Once training is complete, the regression model, using the same set of internal coefficients, is integrated with an engine substantially identical to the reference engine to enable real-time torque estimation.
[0120] < Misfire estimation using classification network >
[0121] As represented by the flowchart of Figure 4, the invention further provides a method for diagnosing an internal combustion engine without determination of an estimated torque. This method implements a non-linear neural network, namely a classification model that uses data from the exhaust gas pressure sensor as input to assess whether a misfire has occurred. This method has been found to be even more reliable than the method for control of Figure 3 for the detection of engine faults, but has the drawback of not estimating torque. Step D1 to D4 are identical to step C1 to C4 and will thus only be described briefly.
[0122] In an initial step D1, an injection event is triggered by the ECU, causing an injector to open and deliver fuel to its corresponding cylinder. A spark event is then triggered at step D2, causing the fuel to bum, thereby generating exhaust gas and pressure in the cylinder. In step D3, the exhaust gas pressure is monitored by the exhaust gas pressure sensor over a predetermined analysis window, thereby obtaining exhaust pressure data. In step D4, the pressure data is processed by computing an average pressure value. The pressure data is further processed by subtracting the calculated average pressure value from the pressure data, thereby obtaining a demeaned pressure waveform.
[0123] In step D5, the average pressure value and the demeaned pressure waveform are fed as inputs to the classification model trained to output a signal indicative of a presence or an absence of engine fault. Said engine faults may include misfires, valve timing issues, and / or exhaust system blockages. The inventors have found that separating the raw exhaust pressure signal into the average pressure value and the demeaned pressure waveform increases the accuracy of the engine fault determination. The neural network may take additional parameters as inputs, namely one or more parameters from the list comprising: torque demand, sparkP-DELPHI-462 / WO 20
[0124] angle, turbocharger variable gate geometry position, boost pressure (MAP), EGR rate, cylinder identifier, and air mass flow. The torque demand has been found to be a particularly relevant input for the classification neural network as it significantly improves engine fault detection. The signal indicative of absence or presence of an engine fault may then be stored in a memory of the ECU at step D6.
[0125] To train the classification model, the engine is operated in a testing platform to collect training data. In particular, the exhaust gas pressure is collected and processed to compute an average pressure value and a demeaned pressure waveform as described in steps C4 and D4. Noise is then applied to the average pressure value and the demeaned pressure waveform. According to the invention, a greater level of noise is applied to the average pressure value than the demeaned pressure waveform. For example, the average pressure value may be multiplied by a noise factor of 1 ±0.18, thereby obtaining a noised average pressure value, whilst the demeaned pressure waveform may be multiplied by a noise factor of 1 ±0.02, thereby obtaining a noised pressure waveform. Having a greater level of noise applied to the average pressure value than the demeaned pressure waveform has been found to improve the accuracy of engine faults detection through the lifetime of the pressure sensor. The noised average pressure value, the noised pressure, and the torque demand are used to form training data for the neural network. Training data may additionally include torque demand, spark angle, a turbocharger variable gate geometry position, a boost pressure (MAP), an EGR rate, cylinder identifier and / or an air mass flow.
[0126] Misfires are sometimes deliberately introduced by, e.g., inhibiting the ignition spark or cutting off fuel supply to a specific cylinder for an individual firing event. Training data thus comprises datasets both from normal (non-misfiring) engine operation and from deliberate misfiring operation. This training data, collected from a sufficiently large number of trials, is then presented to the regression model as training vectors, with each training vector being labelled with the presence of a deliberate misfire or the absence thereof.
[0127] During training, the classification model's internal coefficients are recursively adjusted until it consistently produces the correct label (classified output) for each training vector. Once training is complete, the classification model, using the sameP-DELPHI-462 / WO 21
[0128] set of internal coefficients, is integrated with an engine substantially identical to the test engine, to enable real-time engine fault detection.
[0129] To further enhance the robustness of the neural networks (regression and classification models) against sensor ageing, training may be performed using multiple sensors with various age.
[0130] < Further Aspects >
[0131] The description now explains the method steps with more details with the focus on selecting input data to the neural network.
[0132] As already explained, the computer performs the method step "monitoring exhaust gas pressure over a predetermined analysis window corresponding to a combustion event in a respective cylinder" (cf. step C3 in Fig. 3). Monitoring leads to obtaining exhaust pressure data P3. The description now discusses details.
[0133] Fig. 5 is a diagram that visualizes monitoring exhaust pressure by showing pressure data P3(a) over crank angle data a. The symbol P3 for the pressure data corresponds to the usual type of the above-mentioned pressure sensor. However, the pressure data P3(a) is not limited to data from a P3 sensor. Fig. 5 can be regarded as a more detailed version of Fig. 2a.
[0134] The ordinate of the diagram shows absolute values for pressure P3(a) that are given in kPa (from 60 kPa to 200 kPa, the values being exemplary). The abscissa of the diagram shows a measurement window. The measurement window that is defined by the crank angle a that changes during a first revolution (from a = a_start = -360° to a = 0) and during a subsequent second revolution (from a = 0 to a_end = +360°, hence arriving at 720° in total). The measurement window can be noted as the closed interval [a_start, a_end].
[0135] In the example, the pressure data P3 and crank angle data a is based on experiments, with for example, the engine parameters being (i) engine speed -typically revolution per minute (RPM = 5000) and (ii) engine load (76 Nm). It is noted that the "engine load" data can be taken as a data value from an engine controller. Depending on a driving situation, the engine controller can demand the engine to provide a particular power.P-DELPHI-462 / WO 22
[0136] Within the measurement window from a_start to a_end (i.e. , the closed interval [ ]), there are substantially equidistant measurement intervals of Aa = 6° (of. the above-mentioned crank angle intervals, here in given degrees, by example only) between each pressure measurement. Using degrees to indicate the crank angle a is convenient, the skilled person can use other units (such as radiant). As already mentioned, using time intervals is possible as well.
[0137] The measurement window [a_start, a_end] can be considered a full-cycle window (i.e., all C cylinders in the engine with injections).
[0138] In other words, two revolutions (in an engine cycle, form a_start to a_end) are associated with 2 * 360° = 720° in total and the given Aa = 6° interval leads to approximately 120 data values P3(a). In the computer, the data value can be processed in an array (that is the "one-engine cycle array").
[0139] Measuring is an ongoing process, and P3(a_end#) of a previous cycle # is the same as P3(a_start) of the current cycle.
[0140] Defining the measurement window by the crank angle a is convenient, because the start a_start of the measurement window, the end a_end of the measurement, window or any other individual a-values can be synchronized to the operation of exhaust valve 28 (cf. Fig. 1).
[0141] For processing the data (i.e., pressure data P3(a)) not all values from the measurement window [a_start, a_end] are relevant. In view of estimating torque, detecting presence or absence of engine faults (such as misfires, valve timing issues, exhaust system blockages, as explained above), there are selections of data sub-sets to be processed. The skilled person can implement selecting data sub-sets by standard programming techniques such as copying data within memory or the like.
[0142] A partofthat measurement window [a_start, a_end] is the mentioned predetermined analysis window [a_1 , a_3].
[0143] As the exhaust valve 28 is being controlled, the timing (angle) for opening and closing the valve 28 is available (to the method-executing computer) so that processing the P3 data can be synchronized to the valve operation. Further,P-DELPHI-462 / WO 23
[0144] processing the individual a-values (and the pressure data at these a-values can be synchronized) so that the predetermined analysis window [a_1 , a_3] can be defined. In other words, although measurement data (pressure and crank-angle) are available by measurement for practically every crank position (such as every Aa), processing that data is adapted to events that occur. Taking P3(a_1) as the first pressure data value for P3(a_3) as the last pressure data value in the analysis window, the number of data values in the analysis window is less than the number of data values in the measurement window (e.g., 120).
[0145] This is advantageous, for a number of reasons: (i) the amount of data values P3 (a) per analysis window (to be processed) is less than for the measurement window, (ii) the analysis window is specific to events that are associated with a particular cylinder so that the output of the neural network (such as torque data, misfire detected etc.) is specific to the particular cylinder.
[0146] As mentioned above, the analysis window can span the exhaust stroke of a particular cylinder 14 (i.e., corresponding cylinder for the corresponding exhaust stroke).
[0147] As used herein, a_2 should be the crank angle when the exhaust valve 28 opens (i.e., exhaust stroke opens), and a_2 belongs to the analysis window (in principle in mathematical terms: a_1 < a_2 < a_3).
[0148] For identifying a_1 , a_2 and a_3, the computer knows (from an engine controller or otherwise) when the exhaust valve 28 is being opened and being closed.
[0149] An offset can be used optionally so that a_1 does not have to correspond exactly to the valve being opened (a_1 would be prior to a_2), and a_3 does not have to correspond exactly to the valve being closed. Offsets can be related to previous injection / combustion segments that impact P3 as well, this may help the neural network to see the evolution from previous cylinder to current one under analysis. It should be noted that most of the pressure data values P3(a) in the analysis [a_1 , a_3] window would belong to the measurement window [a_start, a_end] but that the remaining values P3(a) up to P3(a_3) would belong to the next measurement window.P-DELPHI-462 / WO 24
[0150] Fig. 5 shows some graphs, drawings over the measurement window [a_start, a_end].
[0151] The first line (bold, that is labelled "P3") shows the development of the exhaust pressure for an engine that is operating normally. The P3(a) line is accompanied by thinner lines: by P3_upper(a) and P3_lower(a) that indicate a tolerance band (e.g., mean value obtained over multiple P3(a) measurements, plus / minus sigma for normal distribution). In other words, the upper and lower lines stand for a statistical tolerance obtained from measuring multiple windows.
[0152] The second line (dashed, that is labelled P3_misfire(a)) shows the development of the exhaust pressure for an engine with a misfire. P3_upper_misfire(a) and P3_lower_misfire(a) are applicable accordingly, but they are omitted from the drawing. Simplified, due to deviations in the ignition, the pressure from about a = 180° is less than normal. The computer can detect such deviations by processing. Both lines - for P3(a) and for P3_misfire(a) - are approximately in parallel from a = - 360° to a = 180° and are different from a = 180° to a = 360°.
[0153] A neural network could be operated accordingly with raw data (i.e. such as all data P3(a) in a window from a_start to a_end) and would eventually detect the presence of misfires (and / or of engine faults in general, or estimate torque). Such a neural network would have been trained accordingly with raw data (i.e., with P3(a), P3_misfire(a)) and with misfire annotations.
[0154] It is noted that only P3(a) is being measured and being processed, having P3_misfire(a) as the result of an annotation for known misfire events (such as in training data)
[0155] However, P3(a) (in [a_start, a_end] and also in [a_1 , a_3]) is data from the pressure sensor 28, and such pressure sensors tend to show the above-explained sensor drift over time. Sensor data can also show random variations (such as noise). To increase the accuracy to detect misfires (such as to keep "false positives" low), the disclosed method applies preprocessing.
[0156] As already explained, the computer is processing the exhaust pressure data P3(a) for the analysis window (not for the measurement window) by computing average pressure values (of the exhaust pressure data) and determining a pressureP-DELPHI-462 / WO 25
[0157] waveform from the pressure data, of. step 5. For both, the average pressure and the waveform, sensor drift is being calculated out so that the overall estimation shows more robustness to drift. Absolute values that show drift turn into relative values that do not.
[0158] The description turns to details next.
[0159] Fig. 6 is a diagram that illustrates the input of a neural network at run-time (i.e. , when the neural-network has been trained already).
[0160] The neural network has raw engine parameter inputs, for "Engine RPM" and for "Engine load" (e.g., 5000 RPM, 76 Nm in the example of Fig. 5). The neural network has (at least) 3 pressure data inputs. Fig. 6 refers to a basic option for that a single network processes the data no matter the engine parameters are. Fig. 7 will show an optional approach for alternative networks.
[0161] There are two approaches for preprocessing the P3 data, but both approaches can be combined.
[0162] Fig. 6 illustrates P3(a) for a current engine cycle N (e.g., from a_start = - 360° to a_end = 360°) as in Fig. 5, and also illustrates a previous engine cycle N-1 (e.g., from a_start = - 1080° to a_end = - 360°). In case of a misfire (or other fault in general) in current cycle N, the neural network can detect this as soon as data for the current cycle is available.
[0163] As injections (of fuel to a cylinder) and related combustion cause the cylinder pressure to increase, the injection causes a P3 increase. Fig. 6 symbolizes injections for cylinders 0, 1 and 2 for an engine that has, for example, C = 3 cylinders. During each engine cycle (i.e., 720° angle), every cylinder 0, 1 and 2 undergoes one injection event and corresponding combustion event.
[0164] In a first approach, the network has a first pressure data input (with the acronym P3) to receive a current average (or "mean") value of P3, a second pressure data input to receive the difference between the current average of P3 and a previous average of P3, and a third pressure data input to receive an indication of the pressure waveform (P3), without average. The third input can be implemented as an input to receive multiple P3(a) values in parallel.P-DELPHI-462 / WO 26
[0165] In a second approach, the network uses the first, second, and third pressure data inputs, but the windows for preprocessing (the analysis window from a_1 to a_3) is shorter than the measurement window from a_start to a_end. In other words, the analysis window is a sub-set of the full-cycle measurement window (with some data from next measurement window). Using shorter data windows takes into account that for some sections, P3(a) would not show a misfire.
[0166] The shorter analysis window has different start and end angles a_1 and a_3.
[0167] Simplified, a_1 can be defined in relation to the crank angle a_2 when the exhaust valve 28 opens (as explained above). In a first option, the analysis window starts when the valve 28 opens (a_1 = a_2), but in a second option, the analysis window starts with an offset before the valve opens (a_1 = a_2 - offset).
[0168] Simplified, a_3 can be defined by taking the number of cylinders into account (i.e. , C). When the engine runs, cylinders are in different phases and they contribute to exhaust pressure P3 differently. The effects from cross-cylinder contributions to P3 should be minimized. The end of the analysis window at a_3 is therefore set accordingly.
[0169] But even if there would be contributions to pressure P3 from other cylinders, the network can learn from training that some shares in P3 would not contribute to the estimation of the operation parameters.
[0170] While overlap between windows can be helpful, to calculate the duration of the analysis window from a_1 to a_3, the following estimation can be applied analysis window = 720° I C + overlap
[0171] As mentioned, C is the number of cylinders, and the overlap is between zero degree (i.e., no overlap) and 80°. An overlap between 40° and 60° (closed interval that includes both borders) is the more desired overlap. A slightly prolonged analysis window may be advantageous.
[0172] The pressure input data can be calculated as follows:
[0173] The first pressure data input (cf. item (i) in Fig. 6) can be P3_average [a_1, a_3] = Z P3(a) from a_1 to a_3 divided by the number of data values in that [a_1, a_3] interval. Optionally, the P3_average can be calculated as a median.P-DELPHI-462 / WO 27
[0174] The second pressure data input (cf. item (ii) in Fig. 6) can be P3_average -P3_average# that is the "differential pressure average". (The description discusses further below that the differences can be obtained between averages that belong to other cycles.).
[0175] P3_average# can be obtained from P3 data caused by a previous combustion event in the same engine cycle (but in a different cylinder), or can be caused by a combustion event in an earlier cycle (in the same or in a different cylinder).
[0176] Still in embodiments, P3_average# may be obtained by combining / averaging previous P3 data from several previous combustion events.
[0177] While the data at the first and second pressure data inputs are simple numerical values, the third pressure data input (item (iii) in Fig. 6) is a vector (with a number of elements that corresponds to the analysis window (such as the individual pressure values for angles from a_2 to a_3. The first and last elements belong to the values that are expected to show a different shape (or graph). The third pressure data input can also be regarded as a uni-variate time-series.
[0178] For example, in Fig. 5 shows misfires or the like from about 180° to 360°, but it is noted that synchronization is optimal in relation to the current combustion event (and not necessarily to a).
[0179] The neural network learns by training with historical data for historical operation parameter that comprise normal operation and faults, and / or comprise different torque data. Optionally, averaging can be advantageous because the undesired effect of sensor drift or other circumstance can be alleviated. In case of averaging or rather normalizing (cf. Figs. 2A and 2B), the P3 values would simply be processed by subtracting an average. The third pressure data input (iii) can be normalized by an average that is the current pressure average (P3_average [a_2, a_3]) or that is an average over the analysis window ([a_1, a_3]), other definitions can be applied as well.
[0180] < multiple models >
[0181] As mentioned, choosing data points within the measurement windows to process data from analysis windows allows the neural network to provide an output (such asP-DELPHI-462 / WO 28
[0182] the presence or absence indicators) with increased accuracy (e.g., less false positive, less false negatives, more accurate torque values etc.).
[0183] Figs. 7-8 show a further, optional approach with a further selection, that is the selection of the neural network itself. To be more precise, the neural network can keep its internal architecture. For example, the number of its hidden layers remains the same. A neural network with a classification model keeps its classification function, a neural network with a regression function keeps that function. But the network can be trained for different ranges of input data so that a network has different instances. The difference between such instances is just in their different weights.
[0184] The engine parameter data (such as engine RPM and engine load, but not the P3 data) turned out to be suitable instance differentiators.
[0185] Differently trained neural networks (i.e., network instances) can be loaded to the main memory of computers in parallel. Switching between the networks is just a straightforward approach to direct input data to an appropriate instance to the collect the result from that instance.
[0186] In vehicles, the engine parameters change frequently and the numerical values are known to the computer at substantially any point in time.
[0187] In principle, the shortest time between network switching is the time between each injector evaluation. Due to the above-explained synchronization, it is possible to switch between network instances for every new analysis window.
[0188] In other words, network selection can be synchronized to injection events. Optionally, the network is selected in real time (i.e., during the operation of the engine) for each injection event (e.g., in Fig. 6 "injection 0, 1, 2, 0, 1, 2").
[0189] The overall accuracy is therefore expected to increase. For example, misfires (or other engine fault in general) can in principle occur for any engine parameter, torque is available for any engine parameter (and depends on engine parameters as well). Selecting the network instance can be performed in parallel to preprocessing input data. For example, when the vehicle speeds up, the RPM parameter would increase and the network instance can be selected accordingly.P-DELPHI-462 / WO 29
[0190] Fig. 7 is a diagram of optionally using a model selector component to select network instances according to engine parameters.
[0191] As illustrated, the neural network receives engine parameter data (as well as exhaust pressure data, cf. Fig. 6). Engine parameter data is also available to a model selected component that makes a selection.
[0192] Fig. 8 is a logic diagram to introduce selection criteria (for the network selector component). According to an embodiment with optional network instance selection, the method further comprises the following:
[0193] The method-executing computer receives - from an engine controller - a first engine parameter (such as for example, RPM) and a second engine parameter (such as for example, LOAD). Both parameters comprise numerical values (cf. Fig. 6 with RPM = 5000 and LOAD = 76 Nm).
[0194] According to the numerical values, the computer classifies both engine parameters (RPM, LOAD) into at least a first range L for lower numerical values and a second range H for higher numerical values. The classification can be based on a threshold, there is no need to use a network for that, a single comparator function can be sufficient. As a side-note, it is also possible to use a pre-defined mapping table, taking - for example - speed (RPM) and load as input, and to output a to be-selected network number (such a 1 , 2 or 3). There can be a first map for a first camshaft lift profile and second map for a second camshaft lift profile. A specific model can be applied for pre-defined combustion mode as well, and the specific model can be an overall selection that can have prevalence.
[0195] According to the ranges (such as L, H), the selector component of the computer selects a pre-trained neural network, such that (a) for the first engine parameter (e.g., RPM) and the second engine parameter (e.g., LOAD) being in the first ranges (L, L), the selector component selects a first pre-trained neural network (1 , or rather a network instance), (b) for the first engine parameter in the second range (H), and the second engine parameter being in the first range (L), the selector component selects a second pre-trained neural network (2, or rather a network instance), (c) for the second engine parameter (LOAD) in the second range (H), the selector component selects a third pre-trained neural network (3, or rather a network instance).P-DELPHI-462 / WO 30
[0196] Feeding the first, second and third data inputs to the pre-trained network comprises feeding to the selected pre-trained neural network.
[0197] It is understood that feeding to the selected pre-trained neural network comprises to differentiate at the output of the neural networks as well. If, for example, network 1 has been selected, the result (i.e. , the estimated operation parameter) is the output of that network 1.
[0198] Alternatively, it is possible to run the instances in parallel (so that all 3 instances provide output) and to select the appropriate result (from 1 , 2, or 3 depending on the selection by the selector).
[0199] The description takes the example of 3 network for selection. But depending on the application of the engine and of other technical details, the number of networks and the selection criteria can be different. For example, light duty gasoline engines with huge RPM range would use 4 networks spread in 4 speed ranges. For a heavy-duty slow engine, it would be more advantageous use them across loads: first for low loads, second mid low loads and so on.
[0200] Also, a specific combustion mode (such as, for example, catalyst heating in combination with exhaust regeneration) can benefit having a dedicated model or network.
[0201] Specific networks can be applied for specific valve pattern: some engines can change the valve lift pattern with actuators, and it is possible to use actuator feedback to select the network.
[0202] < Probabilities >
[0203] As explained, the computer-implemented method allows a computer to estimate an operation parameter, and the operation parameter can be, for example, (i) an engine torque, or (ii) an indicator of the presence or the absence of engine fault, said engine faults including misfires, valve timing issues, and / or exhaust system blockages. For case (i), the neural network would by a regression network (the torque has a particular value from a min / max range). For case (ii), the neural network can be classification network that has been trained for presence or absence (i.e., a binary classification). It is also possible to use a regression network that outputs aP-DELPHI-462 / WO 31
[0204] probability (such as the probability of a misfire, the probability of a valve timing issue, and / or the probability of an exhaust system blockage). Probabilities can be simplified to binary outputs. This is similar to an analogue-to-digital converter with a 2-bit-accuracy. A possible implementation is that of a threshold map, to be explained next:
[0205] Fig. 9 is a diagram that illustrates engine-parameter specific thresholds to convert preliminary operation parameters to binary format. Fig. 9 repeats the first and second engine parameters from Fig. 8. But the engine parameter can be applied for a further purpose. A neural network (a single network as in Fig. 6, or a multi-instance network of Fig. 7) outputs operation parameters (torque and / or data regarding engine faults). In case of the faults, the operation parameters are desired to be binary parameters (presence or absence of a fault). For situations in that the network (in regression mode) outputs the mentioned probabilities as preliminary operation parameters, the differentiation into binary values has an accuracy aspect. For some engine parameter combinations, the results of the network are more trustworthy than for others. In other words, there are some regions of engine parameter combinations for that the neural networks are more accurate than for other regions. A threshold maps is a matrix with thresholds that are functions of the engine parameters (RPM, LOAD). The parameters do not have to be differentiated into L and H (as for a 2 x 2 matrix), but the matrix can, for example, a 4 x 4 matrix, a 5 x 5 matrix etc. It is also possible to apply different granularities for RPM and for LOAD (e.g., 5 x 6 matrix)
[0206] By way of example, the figure shows thresholds with 70, 90, 60 and 80 percent. A particular RPM-LOAD-combination is given by dashed coordinate lines (with 85%). Assuming that, for example, the neural network provides a preliminary operation parameter of a 90% probability, a comparator compares that to the 85% matrix value and outputs the binary value "presence" (of a fault or the like).
[0207] < discussion >
[0208] The description has provided further options to improve the accuracy, such asP-DELPHI-462 / WO 32
[0209] a) to select measurement data (P3) with different sub-sets for averaging and with having network input that is a combination of scalar values (i)(ii) and vector values (iii),
[0210] b) to select network instances according to engine parameters (cf. Figs. 7-8), c) to derive binary conclusions according to thresholds that are a function of engine parameters as well.
[0211] It is possible to combine these approaches a), b), c) but it is also possible to apply only two approaches, such as a) and b), a) and c), or b) and c).
[0212] As in Fig. 6, measurement windows (and corresponding analysis windows) are also labelled by [N] and [N-1], In the description, [N-1] is associated with the term "previous", and [N] is associated with the term "current", so that the methodexecuting computer would provide the operation parameter (such as engine torque, or indicator of the presence or the absence of engine fault) for the current engine cycle.
[0213] It is however also possible to expand the estimations over more than two windows. Taking [N-1] as the previous window, taking [N] as the current window (cf. FIG. 6), and also taking [N+1] as the "next" window, delaying the analysis by one cycle is also possible.
[0214] Averages from [N-1], [N] and [N+1] can be combined, and differences between averages can be defined otherwise, such as between [N-1], [N], between [N], [N+1], or even between [N-1], [N+1],
[0215] Averages and / or differences between averages can be further input (or alternative input) to the neural network, as symbolized as input (iv) in Fig. 6.
[0216] As a consequence, a fault event may be detected for cycle [N] when the engine is already in [N+1], but such a delay does not seem to be relevant (because there are multiple cycles per second). The accuracy of the detection may be increased (less false positives).
[0217] The averages to be compared do not have to be from the same cylinder.P-DELPHI-462 / WO 33
[0218] < timing >
[0219] For estimating the operation parameter for the ICE, it may be desired to achieve an estimation granularity with precision for a particular cylinder.
[0220] In a usual setting with multiple cylinders, all cylinders contribute to the exhaust gas, but at different points in time (cf. Fig. 6 with the P3 peaks resulting from different injections, 6 peaks shown). The analysis window should preferably be closed (at a_3) when the pressure contribution of other cylinders has not yet started or has started with minimal contribution. The end of the analysis window can therefore be set in consideration or in synchronization to next injection events, such as for the injection event of a different cylinder or the injection event of the respective cylinder.
[0221] In view of processing the pressure data P3, there are in principle two options: (a) to compare peaks that are caused by the same cylinder (cf. Fig. 6), and (b) to compare peaks between different cylinders (e.g., the peak caused by one cylinder after valve opening, and the earlier or later peak caused be another cylinder. In both cases (a) and (b), deviations (e.g., misfires) would be detectable.
[0222] < Implementation aspects >
[0223] As already mentioned, the computer can process the data values (such as for the pressure) in an array (that is the "one-engine cycle array"). The example uses a Aa = 6° interval for that data values P3(a) are being processed. As the analysis window changes over time, "new" data values join the window and "old" data values are not longer being processed. It is therefore possible - but not required - to implement the array as a so-called circular buffer.
[0224] <Generic Computer>
[0225] The inventive method may be implemented by a control unit or a generic computing device. For the sake of exemplification, such computing device is described below. Computing device is intended to comprise various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, embedded computers, and other appropriate computers.P-DELPHI-462 / WO 34
[0226] Computing device may include a processor, memory, a storage device, a highspeed interface connecting to memory and high-speed expansion ports, and a low speed interface connecting to low speed bus and storage device. Each of the components are interconnected using various buses, and may be mounted on a common motherboard or in other manners as appropriate. The processor can process instructions for execution within the computing device, including instructions stored in the memory or on the storage device to display graphical information for a GUI on an external input / output device, such as display coupled to high speed interface. In other implementations, multiple processors and / or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
[0227] The memory stores information within the computing device. In one implementation, the memory is a volatile memory unit or units. In another implementation, the memory is a non-volatile memory unit or units. The memory may also be another form of computer-readable medium, such as a magnetic or optical disk.
[0228] The storage device is capable of providing mass storage for the computing device. In one implementation, the storage device may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or an array of devices, including devices in a storage area network or other configurations. A computer program product can be tangibly embodied in an information carrier. The computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory, the storage device, or memory on processor.
[0229] The high-speed controller manages bandwidth-intensive operations for the computing device, while the low speed controller manages lower bandwidthintensive operations. Such allocation of functions is exemplary only. In one implementation, the high-speed controller is coupled to memory, display (e.g., through a graphics processor or accelerator), and to high-speed expansion ports,P-DELPHI-462 / WO 35
[0230] which may accept various expansion cards. In the implementation, the low-speed controller is coupled to storage device and low-speed expansion port. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
[0231] The computing device may be implemented in a number of different forms. For example, it may be implemented as a standard server, or multiple times in a group of such servers. It may also be implemented as part of a rack server system. In addition, it may be implemented in a personal computer such as a laptop computer. Alternatively, components from a computing device may be combined with other components in a mobile device. Each of such devices may contain one or more computing devices, and an entire system may be made up of multiple computing devices communicating with each other. In particular, the computing devices may be implemented as an embedded computer, in particular as a so-called engine control unit.
[0232] Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0233] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor and can be implemented in a high-level procedural and / or object-oriented programming language, and / or in assembly / machine language. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, apparatus and / or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machineP-DELPHI-462 / WO 36
[0234] instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0235] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0236] The systems and techniques described here can be implemented in a computing device that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
[0237] The computing device can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0238] A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention.P-DELPHI-462 / WO 37
[0239] < Clauses >
[0240] Various further aspects of the present invention are now summarized in the following numbered clauses:
[0241] (clause 1) Computer-implemented method for estimating engine torque from an internal combustion engine (ICE), wherein the ICE includes a plurality of engine cylinders (14), a fuel delivery system (40) with a plurality of fuel injectors (34) arranged to selectively inject fuel in respective cylinders (14), an exhaust gas pressure sensor (64) arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means (50.1) for generating signal(s) indicative of crankshaft (18) position within a cycle of said ICE;
[0242] whereby injection events are performed to inject predetermined amounts of fuel via said injectors (34), in order to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts;
[0243] whereby the method comprises the steps of:
[0244] - monitoring exhaust gas pressure over a predetermined analysis window corresponding to a combustion event in a respective cylinder (14), thereby obtaining exhaust pressure data;
[0245] - processing the exhaust pressure data by computing an average pressure value of the exhaust pressure data and determining a pressure waveform from the pressure data;
[0246] - feeding the average pressure value and the pressure waveform as inputs to a pre-trained neural network to output an estimated torque.
[0247] (clause 2) Method according to the preceding clause, whereby the neural network is a non-linear regressive neural network pre-trained to output the estimated torque from the average pressure value and the pressure waveform.
[0248] (clause 3) Method according to any of the preceding clauses, whereby a spark angle, a turbocharger variable gate geometry position, a boost pressure (MAP), anP-DELPHI-462 / WO 38
[0249] EGR rate, a cylinder identifier, and / or an air mass flow are additionally fed as inputs to the neural network.
[0250] (clause 4) Method for diagnosing an internal combustion engine implementing the method for estimating torque according to any of the preceding clauses, whereby the estimated torque is processed to detect engine faults, said engine faults including misfires, valve timing issues, and / or exhaust system blockages.
[0251] (clause 5) Method for controlling an internal combustion engine implementing the method for estimating torque according to any of clauses 1 to 3, whereby the estimated torque is used to control operation of the engine by adjusting fuelling based on said estimated torque.
[0252] (clause 6) Computer-implemented method for diagnosing an internal combustion engine (ICE), wherein the ICE includes a plurality of engine cylinders (14), a fuel delivery system (40) with a plurality of fuel injectors (34) arranged to selectively inject fuel in respective cylinders (14), an exhaust gas pressure sensor (64) arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means (50.1) for generating signal(s) indicative of crankshaft (18) position within a cycle of said ICE;
[0253] whereby injection events are performed to inject predetermined amounts of fuel via said injectors (34) in order to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts;
[0254] whereby the method comprises the steps of:
[0255] - monitoring exhaust gas pressure over a predetermined analysis window corresponding to a combustion event in a respective cylinder (14), thereby obtaining exhaust pressure data;
[0256] - processing the exhaust pressure data by computing an average pressure value of the exhaust pressure data and determining a pressure waveform from the pressure data;P-DELPHI-462 / WO 39
[0257] - feeding the average pressure value and the pressure waveform as input to a neural network to output an indicator of a presence or an absence of engine fault, said engine faults including misfires, valve timing issues, and / or exhaust system blockages.
[0258] (clause 7) Method according to the previous clause, whereby the neural network is a classification neural network pre-trained to output the indicator of a presence or an absence of engine fault from the average pressure value and the pressure waveform.
[0259] (clause 8) Method according to any of clauses 6 to 7, whereby a torque demand, spark angle, a turbocharger variable gate geometry position, a boost pressure (MAP), an EGR rate, a cylinder identifier, and / or an air mass flow are additionally fed as inputs to the neural network.
[0260] (clause 9) Method according to any of the preceding clauses, whereby during training, the neural network has received noised average pressure values and noised pressure waveforms, whereby noised average pressure values and noised pressure waveforms are generated by applying random perturbation to historical pressure values and historical pressure waveforms.
[0261] (clause 10) Method according to the previous clause, whereby a greater magnitude of noise has been applied to the historical average pressure values than the historical pressure waveforms.
[0262] (clause 11) Method according to any of the preceding clauses, whereby exhaust gas pressure is monitored by sampling the exhaust gas pressure multiple times over the analysis window, thereby obtaining a plurality of exhaust pressure samples; and
[0263] whereby the average pressure value is computed by summing all the exhaust pressure samples and dividing by a corresponding number of pressure samples.
[0264] (clause 12) Method according to any of the preceding clauses, whereby determining a pressure waveform from the exhaust pressure data includes subtracting the average pressure value from the pressure data.P-DELPHI-462 / WO 40
[0265] (clause 13) Method according to any of the preceding clauses, whereby the analysis window spans an exhaust stroke of the corresponding cylinder (14), optionally with offset(s).
[0266] (clause 14) Method according to any of the preceding clauses, wherein the engine is configured to operate on gaseous fuel, in particular on hydrogen.
[0267] (clause 15) A control unit comprising instructions which, when executed, cause the control unit to carry out the method according to any of the preceding clauses.
[0268] (clause 16) Computer-implemented method to train a neural network of a computing device to estimate torque output by an internal combustion engine (ICE), wherein the ICE includes a plurality of engine cylinders (14), a fuel delivery system (40) with a plurality of fuel injectors (34) arranged to selectively inject fuel in respective cylinders (14), an exhaust gas pressure sensor (64) arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means (50.1) for generating signal(s) indicative of crankshaft (18) position within a cycle of said ICE;
[0269] whereby injection events are performed to inject predetermined amounts of fuel via said injectors (34), in order to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts; and
[0270] wherein, after training, the neural network is adapted to process an average pressure and a pressure waveform to estimate a torque output by the ICE;
[0271] the method to train the neural network being performed with noised average pressure values and noised pressure waveforms, whereby noised average pressure values and noised pressure waveforms are generated by applying random perturbation to historical pressure values and historical pressure waveforms from a reference ICE.
[0272] (clause 17) Computer-implemented method to train a neural network of a computing device to estimate torque output by an internal combustion engine (ICE), wherein the ICE includes a plurality of engine cylinders (14), a fuel delivery system (40) with a plurality of fuel injectors (34) arranged to selectively inject fuel in respectiveP-DELPHI-462 / WO 41
[0273] cylinders (14), an exhaust gas pressure sensor (64) arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means (50.1) for generating signal(s) indicative of crankshaft (18) position within a cycle of said ICE;
[0274] whereby injection events are performed to inject predetermined amounts of fuel via said injectors (34), in order to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts; and
[0275] wherein, after training, the neural network is adapted to process an average pressure, a pressure waveform, and optionally a torque demand to output an indicator of a presence or an absence of engine fault, said engine faults including misfires, valve timing issues, and / or exhaust system blockages;
[0276] the method to train the neural network being performed with noised average pressure values, noised pressure waveforms, and optionally torque demands, whereby noised average pressure values and noised pressure waveforms are generated by applying random perturbation to historical pressure values and historical pressure waveforms from a reference ICE.
[0277] (clause 18) Method according to any of the two preceding clauses, whereby, during training, historical pressure values and historical pressure waveforms includes data from normal, non-misfiring engine operation and from deliberate misfiring operation.
[0278] (clause 19) A computer program product that, when loaded into a memory of a computer system and executed by at least one processor of the computer system, causes the computer system to perform the steps of a computer-implemented method according to any of the clauses 1 to 14.
Claims
P-DELPHI-462 / WO 42Claims1. Computer-implemented method for estimating an operation parameter for an internal combustion engine (ICE),wherein the ICE includes a plurality of engine cylinders (14), a fuel delivery system (40) with a plurality of fuel injectors (34) arranged to selectively inject fuel in respective cylinders (14), an exhaust gas pressure sensor (64) arranged to generate a sensor signal in response to a pressure of exhaust gas from said ICE, and crankshaft position means (50.1) for generating signal(s) indicative of crankshaft (18) position within a cycle of said ICE; whereby injection events are performed to inject predetermined amounts of fuel via said injectors (34), in order to perform combustion events that generate torque and exhaust gas by combustion of said fuel amounts; whereby the method comprises the steps of:monitoring exhaust gas pressure (P3(a)) in a measurement window [a_start, a_end] that is synchronized to crank shaft positions (a),from the measurement window [a_start, a_end], deriving an analysis window ([a_1 , a_3]) ,(i) with a first data point (P3(a_1 )) of the analysis window being synchronized to the opening of an exhaust valve (28) that follows the combustion event in a respective cylinder (14),(ii) with an intermediate, second data point (P3(a_2)) of the analysis window corresponding to the opening of an exhaust valve (28), and(iii) with a last, third data point (P3(a_3)) of the analysis window being synchronized to end of the exhaust gas release from the cylinder (14),thereby obtaining exhaust pressure data (P3 [a_1, a_3]) for the analysis window,processing the exhaust pressure data (P3 [a_1 , a_3]) for the analysis window by computing:P-DELPHI-462 / WO 43(i) a first pressure data input, being the current pressure average (P3_average [a_2, a_3]) of the exhaust gas pressure (P3(a)) from the second data point (P3(a_2)) to the third data point (P3(a_2)), in relation to the current combustion event,(ii) a second pressure data input, being the difference between the current pressure average (P3_average [a_2, a_3]) and one of the previous pressure averages (P3_average [a_2, a_3]#),(iii) a third pressure data input, being the exhaust gas pressure data (P3 [a_1 , a_3] with multiple data points from the first data point (a_1) to the third data point (a_3); andfeeding the first, second and third pressure data inputs to a pre-trained neural network to output the operation parameter.
2. Method according to claim 1 , wherein the third pressure data input is being normalized by an average that is the current pressure average (P3_average [a_2, a_3]) or that is an average over the analysis window ([a_1 , a_3]).
3. Method according to any of the claims 1 or 2, whereby the analysis window spans an exhaust stroke of the corresponding cylinder (14) with an offset.
4. Method according to any of claims 1 to 3, further with feeding engine parameters to the pre-trained neural network.
5. Method according to any of claims 1 to 4, whereby a torque demand, spark angle, a turbocharger variable gate geometry position, a boost pressure (MAP), an EGR rate, a cylinder identifier, and / or an air mass flow are additionally fed as inputs to the neural network.P-DELPHI-462 / WO 446. Method according to any of claims 1 to 5, further with:receiving - from an engine controller - a first engine parameter (RPM) and a second engine parameter (LOAD), both parameters comprising numerical values;according to the numerical values, classifying both engine parameters (RPM, LOAD) into at least a first range (L) for lower numerical values and a second range (H) for higher numerical values;according to the ranges (L, H), selecting a pre-trained neural network (1), such that for the first engine parameter (RPM) and the second engine parameter (LOAD) being in the first ranges (L, L), selecting a first pre-trained neural network (1), for the first engine parameter in the second range (H), and the second engine parameter being in the first range (L), selecting a second pre-trained neural network (2), for the second engine parameter (LOAD) in the second range (H), selecting a third pre-trained neural network (3);wherein feeding the first, second and third data inputs to the neural network comprises feeding to the selected pre-trained neural network (1 , 2, 3).
7. Method according to claim 6, wherein selecting the pre-trained neural network is performed in real time during the operation of the engine, for each injection event.
8. Method according to any of claim 1 to 7, wherein the operation parameter comprises an engine torque.
9. Method according to the claim 8, whereby the neural network is a non-linear regressive neural network pre-trained to output the estimated torque from the average pressure value and the pressure waveform.P-DELPHI-462 / WO 4510. Method according to any of claims 8 or 9, whereby the estimated torque is processed to detect engine faults, said engine faults including misfires, valve timing issues, and / or exhaust system blockages.
11. Method according to any of claims 1 to 7, wherein the operation parameter comprises an indicator of the presence or the absence of engine fault, said engine faults including misfires, valve timing issues, and / or exhaust system blockages.
12. Method according to the claim 11, whereby the neural network is a classification neural network pre-trained to output the indicator of a presence or an absence of engine fault from the average pressure value and the pressure waveform.
13. Method according to any of claims 1 to 12, wherein the engine is configured to operate on gaseous fuel, in particular on hydrogen.
14. Method according to any of claims 1 to 13, whereby during training, the neural network has received noised average pressure values of a first noise level and noised pressure waveforms of a second noise level, whereby noised average pressure values and noised pressure waveforms are generated by applying random perturbation to historical pressure values and historical pressure waveforms.
15. Use of a computer-implemented method according to any of claims 8 to 10 whereby the estimated engine torque is used to control operation of an internal combustion engine by adjusting fuelling based on said estimated torque.
16. A control unit comprising instructions which, when executed, cause the control unit to carry out the method according to any of claims 1 to 13.P-DELPHI-462 / WO 4617. A computer program product that, when loaded into a memory of a computer system and executed by at least one processor of the computer system, causes the computer system to perform the steps of a computer- implemented method according to any of the claims 1 to 13.
18. Computer-implemented method to train a neural network of a computing device to estimate an operation parameter of an internal combustion engine (ICE), to enable the computer to execute a method according to any of claims 1 to 13, wherein training data for the input of the neural network of is obtained: by monitoring exhaust gas pressure in a measurement window that is synchronized to crank shaft positions, for a reference engine; by processing the exhaust pressure data by computing the first, second and third pressure data input accordingly, and wherein training data for the output of the neural network - as ground truth - is obtained from operation parameters that are monitored while operating the reference engine.
19. Method according to claim 18, whereby, during training, historical pressure values and historical pressure waveforms includes data from operation parameters that are related to normal, non-misfiring engine operation and from deliberate misfiring operation.