Engine torque estimation and control systems and methods

An engine control system includes: a normalization module configured to normalize, to within a predetermined range of values, a spark timing of an engine and at least one other parameter of the engine, thereby producing a normalized spark timing and at least one normalized other parameter, respectively; a processing module configured to generate a sigmoidal spark timing by applying, to the normalized spark timing, one of (a) a sigmoidal function and a sinusoidal function; and an estimation module configured to estimate a torque output of the engine based on the normalized spark timing and the at least one normalized other parameter using a mathematical model.

INTRODUCTION

The present disclosure relates to internal combustion engines and more particularly to engine control systems and methods for vehicles.

Internal combustion engines combust an air and fuel mixture within cylinders to drive pistons, which produces drive torque. Air flow into the engine is regulated via a throttle. More specifically, the throttle adjusts throttle area, which increases or decreases air flow into the engine. As the throttle area increases, the air flow into the engine increases. A fuel control system adjusts the rate that fuel is injected to provide a desired air/fuel mixture to the cylinders and/or to achieve a desired torque output. Increasing the amount of air and fuel provided to the cylinders increases the torque output of the engine.

In spark-ignition engines, spark initiates combustion of an air/fuel mixture provided to the cylinders. In compression-ignition engines, compression in the cylinders combusts the air/fuel mixture provided to the cylinders. Spark timing and air flow may be the primary mechanisms for adjusting the torque output of spark-ignition engines, while fuel flow may be the primary mechanism for adjusting the torque output of compression-ignition engines.

SUMMARY

In a feature, an engine control system includes: a normalization module configured to normalize, to within a predetermined range of values, a spark timing of an engine and at least one other parameter of the engine, thereby producing a normalized spark timing and at least one normalized other parameter, respectively; a processing module configured to generate a sigmoidal spark timing by applying, to the normalized spark timing, one of (a) a sigmoidal function and a sinusoidal function; and an estimation module configured to estimate a torque output of the engine based on the normalized spark timing and the at least one normalized other parameter using a mathematical model.

In further features, an actuator module is configured to adjust an engine actuator based on the estimated torque output of the engine.

In further features, the at least one other parameter of the engine includes an engine speed.

In further features, the at least one other parameter of the engine includes a mass of air per cylinder (APC) of the engine.

In further features, the at least one other parameter of the engine includes an intake cam phaser angle.

In further features, the at least one other parameter of the engine includes an exhaust cam phaser angle.

In further features, the at least one other parameter of the engine includes an equivalence ratio (EQR) of the engine.

In further features, the at least one other parameter of the engine includes a maximum braking torque (MBT) spark timing of the engine.

In further features, the at least one other parameter of the engine includes: an engine speed; a mass of air per cylinder (APC) of the engine; an intake cam phaser angle; an exhaust cam phaser angle; an equivalence ratio (EQR) of the engine; and a maximum braking torque (MBT) spark timing of the engine.

In further features, the sigmoid function includes a logistic function.

In further features, the at least one other parameter of the engine includes a timing of a start of fuel injection of the engine.

In further features, the at least one other parameter of the engine includes a timing of an end of fuel injection of the engine.

In further features, the processing module is further configured to generate an exponential engine speed by applying an exponential function to an engine speed, and the estimation module configured to estimate the torque output of the engine further based on the exponential engine speed using the mathematical model.

In further features, the processing module is further configured to generate an exponential of negative engine speed by applying an exponential function to a negative engine speed, and the estimation module configured to estimate the torque output of the engine further based on the exponential of negative engine speed using the mathematical model.

In further features, the processing module is further configured to generate an exponential maximum braking torque (MBT) spark timing by applying an exponential function to an MBT spark timing of the engine, and the estimation module configured to estimate the torque output of the engine further based on the exponential MBT spark timing using the mathematical model.

In further features, the processing module is further configured to generate an exponential of negative maximum braking torque (MBT) spark timing by applying an exponential function to a negative MBT spark timing of the engine, and the estimation module configured to estimate the torque output of the engine further based on the exponential of negative MBT spark timing using the mathematical model.

In a feature, an engine control system includes: a normalization module configured to normalize, to within a predetermined range of values, a maximum braking torque (MBT) spark timing of an engine and at least one other parameter of the engine, thereby producing a normalized MBT spark timing and at least one normalized other parameter, respectively; and an estimation module configured to estimate a torque output of the engine based on the normalized MBT spark timing and the at least one normalized other parameter using a mathematical model.

In further features, a processing module is configured to generate an exponential MBT spark timing by applying an exponential function to the MBT spark timing of the engine, and the estimation module configured to estimate the torque output of the engine further based on the exponential MBT spark timing using the mathematical model.

In further features, a processing module is configured to: generate an exponential MBT spark timing by applying an exponential function to the MBT spark timing of the engine; and generate an exponential of negative MBT spark timing by applying an exponential function to the negative MBT spark timing of the engine, where the estimation module configured to estimate the torque output of the engine further based on the exponential MBT spark timing and the exponential of negative MBT spark timing using the mathematical model.

In further features, an MBT module is configured to generate the MBT spark timing based on an air per cylinder, an inverse APC, an engine speed, an intake cam phaser angle, an exhaust cam phaser angle, an equivalence ratio, and an opening of an EGR valve.

DETAILED DESCRIPTION

Internal combustion engines combust an air and fuel mixture within cylinders to generate torque. Under some circumstances, an engine control module (ECM) may deactivate one or more cylinders of the engine. The ECM may deactivate one or more cylinders, for example, to decrease fuel consumption when the engine can achieve a torque request using less than all of the cylinders of the engine. The ECM may activate one or more deactivated cylinders, for example, when the torque request increases.

According to the present application, the ECM estimates a torque output of the engine (e.g., a brake torque) using an engine torque model. An input to the engine torque model may include, for example, a sigmoid spark generated by applying a sigmoid (e.g., logistic) function or a sinusoidal transformation to a normalized spark timing. Additionally or alternatively, a maximum braking torque (MBT) spark timing may be determined and input to the engine torque model to estimate the torque output of the engine. Pre-processing of the inputs to the engine torque model improves correlation between model inputs and the estimated torque. The engine torque model can also be inverted to estimate a parameter based on a torque of the engine (e.g., a torque request) and the other inputs to the engine torque model.

Referring now toFIG. 1, a functional block diagram of an example engine system100is presented. The engine system100includes an engine102that combusts an air/fuel mixture to produce drive torque for a vehicle based on driver input from a driver input module104. Air is drawn into an intake manifold110through a throttle valve112. For example only, the throttle valve112may include a butterfly valve having a rotatable blade. An engine control module (ECM)114controls a throttle actuator module116, which regulates opening of the throttle valve112to control the amount of air drawn into the intake manifold110.

Air from the intake manifold110is drawn into cylinders of the engine102. While the engine102may include multiple cylinders, for illustration purposes a single representative cylinder118is shown. For example only, the engine102may include 2, 3, 4, 5, 6, 8, 10, and/or 12 cylinders. The ECM114may instruct a cylinder actuator module120to selectively deactivate some of the cylinders, which may improve fuel economy under certain engine operating conditions.

The engine102may operate using a four-stroke cycle or another suitable combustion cycle. The four strokes of a four-stroke cycle, described below, may be referred to as the intake stroke, the compression stroke, the combustion stroke, and the exhaust stroke. During each revolution of a crankshaft (not shown), two of the four strokes occur within the cylinder118. Therefore, two crankshaft revolutions are necessary for the cylinder118to experience all four of the strokes.

During the intake stroke, air from the intake manifold110is drawn into the cylinder118through an intake valve122. The ECM114controls a fuel actuator module124, which regulates fuel injection to achieve a target air/fuel ratio. Fuel may be injected into the intake manifold110at a central location or at multiple locations, such as near the intake valve122of each of the cylinders. In various implementations (not shown), fuel may be injected directly into the cylinders or into mixing chambers associated with the cylinders. The fuel actuator module124may halt injection of fuel to cylinders that are deactivated.

The injected fuel mixes with air and creates an air/fuel mixture in the cylinder118. During the compression stroke, a piston (not shown) within the cylinder118compresses the air/fuel mixture. While not shown, the engine102may be a compression-ignition engine, in which case compression within the cylinder118ignites the air/fuel mixture. Alternatively, as shown, the engine102may be a spark-ignition engine, in which case a spark actuator module126energizes a spark plug128in the cylinder118based on a signal from the ECM114, which ignites the air/fuel mixture. The timing of the spark may be specified relative to the time when the piston is at its topmost position, referred to as top dead center (TDC).

The spark actuator module126may be controlled by a timing signal specifying how far before or after TDC to generate the spark. Because piston position is directly related to crankshaft rotation, operation of the spark actuator module126may be synchronized with crankshaft angle. The spark actuator module126may halt provision of spark to deactivated cylinders. Generating spark may be referred to as a firing event. The spark actuator module126may have the ability to vary the timing of the spark for each firing event. The spark actuator module126may vary the spark timing for a next firing event when the spark timing is changed between a last firing event and the next firing event.

During the combustion stroke, the combustion of the air/fuel mixture drives the piston away from TDC, thereby driving the crankshaft. The combustion stroke may be defined as the time between the piston reaching TDC and the time at which the piston reaches bottom dead center (BDC). During the exhaust stroke, the piston begins moving away from BDC and expels the byproducts of combustion through an exhaust valve130. The byproducts of combustion are exhausted from the vehicle via an exhaust system134.

The intake valve122may be controlled by an intake camshaft140, while the exhaust valve130may be controlled by an exhaust camshaft142. In various implementations, multiple intake camshafts (including the intake camshaft140) may control multiple intake valves (including the intake valve122) for the cylinder118and/or may control the intake valves (including the intake valve122) of multiple banks of cylinders (including the cylinder118). Similarly, multiple exhaust camshafts (including the exhaust camshaft142) may control multiple exhaust valves for the cylinder118and/or may control exhaust valves (including the exhaust valve130) for multiple banks of cylinders (including the cylinder118). The cylinder actuator module120may deactivate the cylinder118by disabling opening of the intake valve122and/or the exhaust valve130. In various other implementations, the intake valve122and/or the exhaust valve130may be controlled by devices other than camshafts, such as camless valve actuators.

The time when the intake valve122is opened may be varied with respect to piston TDC by an intake cam phaser148. The time when the exhaust valve130is opened may be varied with respect to piston TDC by an exhaust cam phaser150. A phaser actuator module158may control the intake cam phaser148and the exhaust cam phaser150based on signals from the ECM114. When implemented, variable valve lift (not shown) may also be controlled by the phaser actuator module158.

The engine system100may include a boost device that provides pressurized air to the intake manifold110. For example,FIG. 1shows a turbocharger including a hot turbine160-1that is powered by hot exhaust gases flowing through the exhaust system134. The turbocharger also includes a cold air compressor160-2that is driven by the turbine160-1. The compressor160-2compresses air leading into the throttle valve112. In various implementations, a supercharger (not shown), driven by the crankshaft, may compress air from the throttle valve112and deliver the compressed air to the intake manifold110.

A wastegate162may allow exhaust to bypass the turbine160-1, thereby reducing the boost (the amount of intake air compression) provided by the turbocharger. The ECM114may control the turbocharger via a boost actuator module164. The boost actuator module164may modulate the boost of the turbocharger by controlling opening of the wastegate162. In various implementations, multiple turbochargers may be controlled by the boost actuator module164. The turbocharger may have variable geometry, which may be controlled by the boost actuator module164.

An intercooler (not shown) may dissipate some of the heat contained in the compressed air charge, which is generated as the air is compressed. The compressed air charge may also have absorbed heat from components of the exhaust system134. Although shown separated for purposes of illustration, the turbine160-1and the compressor160-2may be attached to each other, placing intake air in close proximity to hot exhaust.

The engine system100may include an exhaust gas recirculation (EGR) valve170, which selectively redirects exhaust gas back to the intake manifold110. The EGR valve170may be located upstream of the turbocharger's turbine160-1. The EGR valve170may be controlled by an EGR actuator module172.

The engine system100may measure the rotational speed of the crankshaft in revolutions per minute (RPM) using an RPM sensor180. The speed of the crankshaft may be referred to as an engine speed. The temperature of the engine coolant may be measured using an engine coolant temperature (ECT) sensor182. The ECT sensor182may be located within the engine102or at other locations where the coolant is circulated, such as a radiator (not shown).

The pressure within the intake manifold110may be measured using a manifold absolute pressure (MAP) sensor184. In various implementations, engine vacuum, which is the difference between ambient air pressure and the pressure within the intake manifold110, may be measured. The mass flow rate of air flowing into the intake manifold110may be measured using a mass air flow (MAF) sensor186. In various implementations, the MAF sensor186may be located in a housing that also includes the throttle valve112.

The throttle actuator module116may monitor the position of the throttle valve112using one or more throttle position sensors (TPS)190. The ambient temperature of air being drawn into the engine102may be measured using an intake air temperature (IAT) sensor192. The engine system100may also include one or more other sensors. The ECM114may use signals from the sensors to make control decisions for the engine system100.

The ECM114may communicate with a transmission control module194to coordinate shifting gears in a transmission (not shown). For example, the ECM114may reduce engine torque during a gear shift. The ECM114may communicate with a hybrid control module196to coordinate operation of the engine102and an electric motor198. While the example of one electric motor is provided, the vehicle may include more than one electric motor.

The electric motor198may also function as a generator, and may be used to produce electrical energy for use by vehicle electrical systems and/or for storage in a battery. In various implementations, various functions of the ECM114, the transmission control module194, and the hybrid control module196may be integrated into one or more modules.

Each system that varies an engine parameter may be referred to as an actuator. Each system receives a target actuator value. For example, the throttle actuator module116may be referred to as an actuator, and a target throttle opening (e.g., area) may be referred to as the target actuator value. In the example ofFIG. 1, the throttle actuator module116achieves the target throttle opening by adjusting an angle of the blade of the throttle valve112.

Similarly, the spark actuator module126may be referred to as an actuator, while the corresponding target actuator value may be a target spark timing, for example, relative to piston TDC. Other actuators may include the cylinder actuator module120, the fuel actuator module124, the phaser actuator module158, the boost actuator module164, and the EGR actuator module172. For these actuators, the target actuator values may include target number of activated cylinders, target fueling parameters, target intake and exhaust cam phaser angles, target wastegate duty cycle, and target EGR valve opening area, respectively. The ECM114may generate the target actuator values to cause the engine102to generate a target engine output torque.

Referring now toFIG. 2, a functional block diagram of an example engine control system is presented. An example implementation of the ECM114includes a driver torque module202and a torque arbitration module204. The ECM114may include a hybrid optimization module208. The ECM114may include a torque requesting module224, an air control module228, a spark control module232, a cylinder control module236, and a fuel control module240. The ECM114also includes a torque estimation module244, a boost control module248, a phaser control module252, and an EGR control module253.

The driver torque module202may determine a driver torque request254based on a driver input255from the driver input module104. The driver input255may be based on or include, for example, a position of an accelerator pedal and a position of a brake pedal. The driver input255may also be based on or include a cruise control input, which may be generated by an adaptive cruise control system based on varying vehicle speed to maintain a predetermined following distance. The driver torque module202may include one or more mappings of accelerator pedal position to target torque and may determine the driver torque request254based on a selected one of the mappings.

The torque arbitration module204may arbitrate between the driver torque request254and other torque requests258. The axle torque arbitration module204outputs one or more torque requests257based on the results of the arbitration between the received torque requests254and258.

The torque arbitration module204may output the one or more torque requests257to the hybrid optimization module208. The hybrid optimization module208may determine how much torque should be produced by the engine102and how much torque should be produced by the electric motor198. The hybrid optimization module208outputs one or more modified engine torque requests260and a motor torque request261. The hybrid control module196controls torque output of the electric motor(s) based on (e.g., to achieve) the motor torque request261. The engine102is controlled based on (e.g., to achieve) the one or more modified engine torque requests260. In various implementations, the hybrid optimization module208may be implemented in the hybrid control module196. In various implementations, the one or more modified engine torque requests260may be adjusted based on a torque reserve and/or a torque load. In various implementations, one or more conversions from axle torque (torque at the wheels) to propulsion torque (torque at the crankshaft) may be performed.

The torque requesting module224receives the one or more modified engine torque requests260. The torque requesting module224determines how the one or more modified engine torque requests260will be achieved by the engine102. The torque requesting module224may be engine type specific. For example, the torque requesting module224may be implemented differently or use different control schemes for spark-ignition engines versus compression-ignition engines.

In various implementations, the torque requesting module224may generate an air torque request265based on the one or more modified engine torque requests260. Target actuator values for airflow controlling actuators may be determined based on the air torque request265. For example only, the air control module228may determine a target manifold absolute pressure (MAP)266, a target throttle opening (e.g., area)267, a target air per cylinder (APC)268, and a target APC (APC)291based on the air torque request265. The air control module228may determine the targets266-268and291using one or more equations and/or lookup tables that relate air torque requests to values of the targets266-268and291.

The boost control module248may determine a target duty cycle269for the wastegate162based on the target MAP266. While the target duty cycle269will be discussed, the boost control module248may determine another suitable value for controlling the wastegate162. The phaser control module252may determine target intake and exhaust cam phaser angles270and271based on the target APC268. The EGR control module253determines a target EGR opening292based on the target APC291. The targets269-271and292may be determined by the respective modules using one or more equations and/or lookup tables that relate the respective inputs to the respective targets269-271and292.

The torque requesting module224may also generate a spark torque request272, a cylinder shut-off torque request273, and a fuel torque request274. The spark control module232may determine how much to retard the spark timing (which reduces engine output torque) from a maximum brake torque (MBT) spark timing based on the spark torque request272. For example only, a torque model, such as the torque model discussed below, may be inverted to solve for a target spark timing299. The MBT spark timing may refer to an estimated spark timing used to generate a maximum brake torque for predetermined operating conditions. The MBT spark timing is discussed further below.

The cylinder shut-off torque request273may be used by the cylinder control module236to determine a target number of cylinders to deactivate276. The cylinder control module236may also instruct the fuel control module240to stop providing fuel for deactivated cylinders and may instruct the spark control module232to stop providing spark for deactivated cylinders. The spark control module232may stop providing spark to a cylinder once an fuel/air mixture that is already present in the cylinder has been combusted.

The fuel control module240may control fuel injection into a next cylinder in the predetermined firing order based on the fuel torque request274. More specifically, the fuel control module240may generate target fueling parameters277based on the fuel torque request274. The target fueling parameters277may include, for example, a target equivalence ratio (EQR), a target mass of fuel, a target start of injection (SOI) timing, a target end of injection (EOI) timing, and a target number of fuel injections.

The air control module228generates the target MAP266, the target throttle opening267, the target APC268, and the target APC291based on the estimated torque278. The estimated torque278may be an estimated value of the present engine torque output (i.e., torque output of the engine102) and is determined as described below.

The air control module228may output the target throttle opening267to the throttle actuator module116. The throttle actuator module116regulates the throttle valve112to produce the target throttle opening267. The air control module228outputs the target MAP266to the boost control module248. The boost control module248controls the wastegate162based on (e.g., to achieve) the target MAP266. The air control module228outputs the target APC268to the phaser control module252. Based on the target APC268, the phaser control module252may control positions of the intake and/or exhaust cam phasers148and150.

As discussed further below, the torque estimation module244uses a torque model to determine the estimated torque278based on a present engine speed (RPM)280, a present EQR281, a present air per cylinder (APC)282, a present spark timing283, a present intake cam phaser angle284, and a present exhaust cam phaser angle285. The torque estimation module244may additionally determine the estimated torque278based on a present SOI timing308of fueling and a present EOI timing312of fueling. In various implementations, the torque estimation module244may additionally determine the estimated torque278based on a present MBT spark timing316.

FIG. 3is a functional block diagram of an example implementation of the torque estimation module244. A normalization module304receives the APC282, the engine speed280, the intake cam phaser angle284, the exhaust cam phaser angle285, the spark timing283, and the EQR281. The normalization module304may also receive a present start of injection (SOI) timing308of fueling, and a present end of injection (EOI) timing312of fueling. The normalization module304may also receive a present MBT spark timing316.

An MBT module320(FIG. 2) may determine the MBT spark timing316. The MBT spark timing316may be the spark timing used to generate the MBT for the predetermined operating conditions. Using combustion measurements and sweeping the spark timing for a fixed engine speed, APC, intake cam phaser angle, and exhaust cam phaser angle, the spark closest to MBT is that which yields a CA50 (crankshaft angle after TDC at which 50 percent of injected fuel is consumed/combusted) closest to 8.5 degrees. The MBT module320may determine the MBT spark timing316using the equation:
MBT=C_Spark+(C_CA50−8.5)+offset,
where MBT is the MBT spark timing316, C_Spark and C_CA50 are the spark timing and CA50 values in the spark timing sweep where CA50 is closest to 8.5 degrees. Offset is a predetermined value and may be calibrated based on compensating for operating conditions where the MBT spark timing does not coincide with a CA50 value of 8.5 degrees. As an alternative, the MBT module320may determine the MBT spark timing316based on APC, an inverse APC, the engine speed, the intake and exhaust cam phaser angles, the equivalence ratio, and an opening of the EGR valve. The determination may be made using one or more equations (e.g., a neural network or another suitable type of model) and/or one or more lookup tables The MBT spark timing316may have an inverse relationship with the APC282.

Collectively, the APC282, the engine speed280, the intake cam phaser angle284, the exhaust cam phaser angle285, the spark timing283, and the EQR281, the SOI timing308(if included), the EOI timing312(if included), and the MBT spark timing316will be referred to as input parameters322. The normalization module304normalizes each of the input parameters322to within a predetermined range. The predetermined range may be, for example, 0 to 1, inclusive, −1 to +1, inclusive, or another suitable range. The normalization module304normalizes a given one of the input parameters322using interpolation between predetermined minimum and maximum values of that input parameter. For example, when the input parameter is equal to the predetermined minimum value, the normalization module304may set the normalized parameter to the lower limit value of the predetermined range (e.g., 0 or −1). When the input parameter is equal to the predetermined maximum value, the normalization module304may set the normalized parameter to the upper limit value of the predetermined range (e.g., 1). When the input parameter is between the predetermined minimum and maximum values, the normalization module304may set the normalized parameter between the upper and lower limit values of the predetermined range via interpolation, such as linear interpolation. The normalization module304does this for each of the input parameters322to produce normalized parameters324. The normalized parameters324include a normalized APC, a normalized engine speed, a normalized intake cam phaser angle, a normalized exhaust cam phaser angle, a normalized spark timing, a normalized EQR, a normalized SOI timing (if included), a normalized EOI timing (if included), and a normalized MBT spark timing.

A processing module326performs one or more signal processing functions on one or more of the normalized parameters324to produce one or more processed parameters328, respectively. For example, the processing module326may apply a sigmoid function to one or more of the normalized parameters324to produce one or more sigmoidal parameters, respectively. For example, the processing module326may apply a sigmoid function to the normalized spark timing to produce a sigmoidal spark timing. The sigmoid function may be, for example, a logistic function or another suitable type of sigmoid function. The processing module326may apply an exponential function to one or more of the normalized parameters324to produce one or more exponential parameters, respectively. For example, the processing module326may apply the exponential function to the normalized intake cam phaser angle, the normalized exhaust cam phaser angle, the normalized engine speed, the normalized MBT spark timing, the normalized SOI timing, and the normalized EOI timing to produce an exponential intake cam phaser angle, an exponential exhaust cam phaser angle, an exponential engine speed, an exponential MBT spark timing, an exponential normalized SOI timing, and an exponential normalized EOI timing, respectively. The processing module326may apply a negative exponential function to one or more of the normalized parameters324to produce one or more negative exponential parameters, respectively. For example, the processing module326may apply the negative exponential function to the normalized engine speed, the normalized MBT spark timing, the normalized SOI timing, and the normalized EOI timing to produce a negative exponential engine speed, a negative exponential MBT spark timing, a negative exponential SOI timing, and a negative exponential EOI, respectively. The processing module326may apply a sinusoidal function to one or more of the normalized parameters324to produce one or more sinusoidal parameters, respectively. For example, the processing module326may apply the sinusoidal function to the normalized intake cam phaser angle, the normalized exhaust cam phaser angle, the normalized engine speed, the normalized MBT spark timing, the normalized SOI timing, and the normalized EOI timing to produce a sinusoidal intake cam phaser angle, a sinusoidal exhaust cam phaser angle, a sinusoidal engine speed, a sinusoidal MBT spark timing, a sinusoidal normalized SOI timing, and a sinusoidal normalized EOI timing, respectively.

The exponential function may be described as y=ex, where y is the exponential parameter, e is the exponent function, and x is the normalized parameter. The negative exponential function may be described as y=e−xwhere y is the exponential parameter, e is the exponent function, and x is the normalized parameter. The sigmoid function may be described as y=1/(1+e−mx), where y is the exponential parameter, e is the exponent function, m is a predetermined multiplier value, and x is the normalized parameter. m is may be a calibrated value.

An estimation module332determines the estimated torque278based on one or more of the input parameters322, one or more of the normalized parameters324, and/or one or more of the processed parameters328using a mathematical model336. For example, the estimation module332may determine the estimated torque278based on the following inputs (x), x=[the normalized intake cam phaser angle, the exponential intake cam phaser angle, the normalized exhaust cam phaser angle, the exponential exhaust cam phaser angle, the sigmoidal spark timing, the normalized APC, the normalized engine speed, the exponential engine speed, the negative exponential engine speed, the normalized EQR, the normalized MBT spark timing, the exponential MBT spark timing, the negative exponential spark timing]. The model may be, for example, a second order or a third order polynomial for each of the inputs (x). An example of a third order polynomial is:
f(x1,x2,x3)=ax13+bx23+cz3+dx12+ex12x2+fx12z+gx22+hx22x1+ix22x3+jx32+kx32x1+lz2x2+mx1x2+nx1x3+ox2x3+px1+qx2+rx3+s,
where a-s are predetermined values, and x1-x3 are ones of the input parameters. Use of the above third order polynomial equation may result in the model336having 559 terms. One or more methods may be used to eliminate any underperforming terms in the polynomial equation, such as via Lasso regression or in another suitable manner.

One or more actuators can be controlled based on the estimated torque278. For example, the air control module228may control opening of the wastegate162based on the estimated torque278. The air control module228may control opening of the throttle valve112based on the estimated torque278. The air control module228may control opening of the EGR valve170based on the estimated torque278. The air control module228may control actuation of the intake and/or exhaust cam phasers148and150based on the estimated torque278. The spark control module232may control spark timing based on the estimated torque278. The fuel control module240may control fuel injection based on the estimated torque278. The cylinder control module236may control activation/deactivation of cylinders based on the estimated torque278. The inversion above helps achieve the target air and spark values from the torque request, and the forward estimation provides feedback to assess whether the torque request is being achieved.

FIG. 4is a flowchart depicting an example method of estimating torque output of the engine102and controlling engine actuators. Control begins with404where the normalization module304receives the input parameters322. At408, the normalization module304normalizes the input parameters322to produce the normalized parameters324, respectively.

At412, the processing module326receives the normalized parameters324and performs signal processing on one or more of the normalized parameters324to produce the one or more processed parameters328, respectively. At416, the estimation module332determines the estimated torque278based on the normalized parameters and the one or more processed parameters328using the model336, as discussed above. For example, the estimation module332may determine the estimated torque278using the model336based on the normalized intake cam phaser angle, the exponential intake cam phaser angle, the normalized exhaust cam phaser angle, the exponential exhaust cam phaser angle, the sigmoidal spark timing, the normalized APC, the normalized engine speed, the exponential engine speed, the negative exponential engine speed, the normalized EQR, the normalized MBT spark timing, the exponential MBT spark timing, and the negative exponential spark timing.

At420, one or more actuators are adjusted based on the estimated torque278. For example, the air control module228may adjust opening of the wastegate162based on the estimated torque278. The air control module228may adjust opening of the throttle valve112based on the estimated torque278. The air control module228may adjust opening of the EGR valve170based on the estimated torque278. The air control module228may adjust positioning of the intake and/or exhaust cam phasers148and150based on the estimated torque278. The spark control module232may adjust spark timing based on the estimated torque278. The fuel control module240may adjust fuel injection based on the estimated torque278. The cylinder control module236may adjust activation/deactivation of cylinders based on the estimated torque278. While control is shown as ending after420, control may return to404, and404-420may be started every predetermined period.

When a torque is requested and all inputs except for one are specified, the model336can be used to solve for the one unspecified input. The first, second, third order and constant terms in the model336can be grouped to form the equation:
ax3+bx2+cx+d=0.

Solving a third order equation can result in 1 or 3 real roots. First the general form of the cubic may be modified to remove the leading coefficient (a). x3+c1x2+c2x+c3=0, where c1=b/a, c2=c/a and c3=d/a. Then the discriminant (M) can be calculated. as follows:
Q=(c12−3c2)/9,
R=(2c13−9c1c2+27c3)/54,
M=R2−Q3
If M<0, there are three roots, and if M>0 there is only one root. If 3 real inputs are present, the inversion module358selects which of the 3 roots to use as an engine control target.

For example, the inversion module358may select a root by creating a supplemental forward regressor for the variable that the model336is being inverted to find (the one unspecified input). For example, a forward APC regressor can be used to estimate a target APC given a set of intake and exhaust cam phaser angles, an engine speed, a spark timing, and a torque request. Additionally, the inversion module358may create a regressor using the characteristics of the cubic equation being solved, including the coefficients (a, b, c, d), the inflection and turning points. In the 3-root case, the closest root to the output of the forward regressor may be chosen as a control target.

The inversion module358may rule out infeasible roots based on predetermined control limits. For example, when solving for spark timing, any root found must be less than the MBT spark timing. The MBT spark can be determined as described above or by using the first and second derivative of the univariate third order polynomial with respect to spark timing. Solving the first derivative where the rate of change is equal to zero may yield spark timing values that would cause the minimum and maximum torque (turning points).
3ax2+2bx+c=0

After solving the quadratic equation, the second derivative can be used to distinguish between the roots.
d2f/dx=6ax+2b

Solving for x with the second derivative equal to zero yields the x coordinate of the inflection point (x=−b/3a). If the second derivative for a root is greater than zero, that is the spark advance at which min torque is generated. If the second derivative for a root is less than zero, that is the spark at which the MBT is generated.

To avoid the complexity associated with the 3-root example, the inversion module358may enforce a regression constraint that will only allow the cubic to have a single root solution. The inversion module358may constrain coefficients such that M>0, so that only a single root solution is possible. Alternatively, the inversion module358may eliminate the third order term for the input that the model336is being inverted to find, so that a quadratic formula can be used to find up to 2 real roots. The inversion module358may determine which of the 2 roots to select.