Abstract:
A method of detecting misfire events in an engine uses system identification technology. A linear model is determined for estimating engine firing events based on engine speed fluctuations. The linear model is represented as a difference equation. A Kalman filter is applied to the difference equation to determine unknown parameters of the linear model. Misfire events in the engine are detected based on the linear model.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to internal combustion engines, and more particularly to engine misfire detection.  
       BACKGROUND OF THE INVENTION  
       [0002]     Government regulations require automobile manufacturers to control the exhaust of engine combustion byproducts such as hydrocarbons, carbon monoxide, and nitrous oxide. Emission of such byproducts is typically controlled by a catalytic converter. However, if an automobile engine misfires, an increased amount of unburned combustion byproducts is passed through the catalytic converter. Engine misfire occurs as a result of the absence of spark in a cylinder, poor fuel metering, poor compression, or other similar conditions. Over time, regular engine misfire can lead to damage of the catalytic converter.  
         [0003]     A difficulty in the development of an on-board real-time misfire detector is the determination of a unified algorithm to detect misfires with high detection accuracy and with no false alarms while maintaining a low implementation cost, under all required engine operating conditions and misfire patterns. These operating conditions include, but are not limited to, varying engine speeds, engine loads, road surfaces, gear positions, and mechanical dynamics. Furthermore, misfire patterns may be regular, random, or special sequences.  
       SUMMARY OF THE INVENTION  
       [0004]     A method of detecting misfire in an engine comprises detecting engine speed fluctuations. A linear model is determined for estimating engine firing events based on the engine speed fluctuations. A Kalman filter is applied to the linear model to determine parameters of the linear model. A misfire event is detected in the engine based on the linear model.  
         [0005]     In another aspect of the invention, a misfire detection system detects misfire in an engine. A sensor determines speed fluctuations of the engine. A controller executes a firing event model for estimating engine firing events based on the engine speed fluctuations. The controller applies a Kalman filter to the model to determine parameters of the model. A misfire detector detects a misfire event based on the model.  
         [0006]     Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]     The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein:  
         [0008]      FIG. 1  is a functional block diagram of an engine misfire detection system according to the present invention;  
         [0009]      FIG. 2  illustrates an engine speed signal in an exemplary six cylinder engine;  
         [0010]      FIG. 3  illustrates an engine speed signal with misfire events in an exemplary six cylinder engine; and  
         [0011]      FIG. 4  illustrates a signal separation diagram according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0012]     The following description is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses.  
         [0013]     An engine combustion process is a dynamic system. Normal firing and misfire events are inputs that excite the system. Crankshaft speed fluctuates in response to the inputs. In other words, crankshaft speed fluctuation may be considered an output of the combustion process. Engine misfire detection may depend on several vehicle conditions. For example, crankshaft speed, average manifold absolute pressure, and firing event signals may be used to detect engine misfires. In particular, a current crankshaft speed is related to current and previous firing events, as well as previous crankshaft speeds. Therefore, engine misfire detection may be expressed as a general difference equation that describes the system in a crankshaft angular sampling domain k:
 
 N ( k )= H (   N ,  P ,  I   )  (equation 1)
        Where      N =[N(k−1),N(k−2), . . . N(k−n)];      P =[P(k),P(k−1), . . . P(k−m)]; and      I =[I(k),I(k−1), . . . I(k−l)]       
 
         [0018]     In the above equations, N denotes crankshaft speed, P denotes the average manifold absolute pressure (MAP), and I denotes a firing event signal. The variables n, m, and l indicate previous samples of the crankshaft speed, MAP, and firing event signal, respectively.  
         [0019]     An inverse model corresponding to the above crankshaft speed model may be described in a general form as follows:
 
 I ( k )= G (   I ,  N ,  P   )  (equation 2)
        Where      I =[I(k−1),I(k−2), . . . I(k−l)];      N =[N(k),N(k−1), . . . N(k−n)]; and      P =[P(k),P(k−1), . . . P(k−m)]       
 
         [0024]     The inverse model implies that the current firing event signal may be inversely estimated from the current and past values of the crankshaft speed fluctuation, the MAP signal, and previous firing event signals. This is a non-linear discrete dynamic system with three inputs and one output. In general, it is very difficult to derive a detailed form of the non-linear dynamic function G. Therefore, misfire detection according to the present invention simplifies the above inverse model into the following form:
 
 I ( k )= R (   N   ) Q (   N , P   )  (equation 3)
        Where      N =[N(k),N(k−1), . . . N(k−n)]; and      P =[P(k),P(k−1), . . . P(k−m)]       
 
         [0028]     The above model (equation 3) separates the non-linear dynamic function G( I , N , P ) from equation 2 into R( N ) and Q( N , P ). For the purposes of the present invention, the function R( N ) is an engine firing event estimator function. Misfire signatures are primarily embedded in the function R( N ). Therefore, the engine firing event estimator function plays a significant role in misfire detection. The function Q( N , P ) is a load compensator function.  
         [0029]     The engine firing event estimator function R( N ) may be written as an (m+1) th  order difference equation as follows:  
                     y   ⁡     (   k   )       =       ⁢     R   ⁡     (       N   ⁡     (   k   )       ,     N   ⁡     (     k   -   1     )       ,     …   ⁢           ⁢     N   ⁡     (     k   -   m     )           )                   =       ⁢         b   0     ⁢     N   ⁡     (   k   )         +       b   1     ⁢     N   ⁡     (     k   -   1     )         +   …   +       b   m     ⁢     N   ⁡     (     k   -   m     )         +     v   ⁡     (   k   )                       (     equation   ⁢           ⁢   4     )             
 
         [0030]     In the above difference equation, b i ,i=0,1, . . . , m are the model parameters and v(k) represents measurement noise. The y(k) term corresponds to the I(k) term in equation 3. Furthermore, the Q( N , P ) function is simplified as a unitary gain in the difference equation. Because crankshaft speed N is a measured value, the model parameters b i ,i=0,1, . . . , m are the only unknown variables in the difference equation. Various system identification techniques may be used to estimate the model parameters of the difference equation. The engine misfire detection system of the present invention uses a Kalman filter to estimate the model parameters.  
         [0031]     To use a Kalman filter to estimate the model parameters, the difference equation (equation 4) is first reformulated using standard state space systems equations as shown below:
 
 x ( k+ 1)= F ( k ) x ( k )+ B ( k ) u ( k )+ G ( k ) w ( k )  (equation 5)
 
 y ( k )= H ( k ) x ( k )+ v ( k )  (equation 6)
        Where     x 1 (k)=b 0 (k)+w 1 (k)     X 2 (k)=b 1 (k)+W 2 (k)     . . .     x m+1 (k)=b m (k)+W m+1 (k)        
 
         [0037]     In the above equations, w i (k) is a zero mean Gaussian noise vector, wherein i=1,2,3, . . . , m+1. Therefore, the result is x(k+1)=x(k)+w(k), where  
               x   ⁡     (   k   )       =     [           b   0               b   1               b   2             ⋮             b   m           ]             (     equation   ⁢           ⁢   7     )             
 
         [0038]     The result of the above equation is a linear system equation that is equivalent to equation 5 with F(k)=G(k)=I, where I is a unitary matrix and u(k)=0.  
         [0039]     Referring again to equation 6, if H(k)=[N(k) N(k−1) N(k−2) . . . N(k−m)], then equation 6 represents the same model as equation 4. Ultimately, the present model for misfire detection is represented by equations 6 and 7. In other words, equations 6 and 7 represent a firing events model. A Kalman filter estimator can be derived based on the model. The base equations of a Kalman filter are:  
           x   ^     ⁡     (     k   +     1   /   k       )       =           F   ⁡     (   k   )       ⁢       x   ^     ⁡     (       k   /   k     -   1     )         +       B   ⁡     (   k   )       ⁢     u   ⁡     (   k   )         +       G   ⁡     (   k   )       ⁢       w   _     ⁡     (   k   )         +             [         F   ⁡     (   k   )       ⁢     ∑       (       k   /   k     -   1     )     ⁢       H   T     ⁡     (   k   )             +       G   ⁡     (   k   )       ⁢     S   ⁡     (   k   )           ]     ⁡     [         H   ⁡     (   k   )       ⁢     ∑       (       k   /   k     -   1     )     ⁢       H   T     ⁡     (   k   )             +     R   ⁡     (   k   )         ]         -   1       ⁡     [       y   ⁡     (   k   )       -       H   ⁡     (   k   )       ⁢       x   ^     ⁡     (       k   /   k     -   1     )         -       v   _     ⁡     (   k   )         ]       ⁢       x   ^     ⁡     (     0   /     -   1       )           =       x   _     ⁡     (   0   )             
 
         [0040]     Where K(k) is the Kalman gain given by:
 
 K ( k )=[ F ( k )Σ( k/k− 1) H   T ( k )+ G ( k ) S ( k )][H( k )Σ( k/k− 1) H   T ( k )+ R ( k )] −1 
 
         [0041]     The base covariance equations are:
 
Σ( k+ 1 /k )= F ( k )Σ( k/k− 1) F   T ( k )+ G ( k ) Q ( k ) G   T ( k )− K ( k )[ F ( k )Σ( k/k− 1) H   T ( k )+ G ( k ) S ( k )] T 
 
Σ(0/−1)=Σ(0)
 
         [0042]     The noise statistics assumptions are:
 
 E[w ( k )]= {overscore (w)} ( k )
 
 E[v{k )]= {overscore (v)} ( k )
 
 E{[w ( k )− {overscore (w)} ( k )][ w ( j )−{overscore (w)}( j )] T   }=Q ( k )δ kj  &gt;0
 
 E{[v ( k )− {overscore (v)} ( k )][ v ( j )− {overscore (v)} ( j )] T   }=R ( k )δ kj  &gt;0
 
 E{[w ( k )− {overscore (w)} ( k )][ v ( j )− {overscore (v)} ( j )] T   }=S ( k )δ kj  &gt;0
 
 E{[x (0)− {overscore (x)} (0)][ w ( k )− {overscore (w)} ( k )] T }=0
 
 E{[x (0)− {overscore (x)} (0)][ v ( k )− {overscore (v)} ( k )] T }=0
 
         [0043]     Using the systems equations 6 and 7, a predictive Kalman filter equation can be simplified to:
 
 x ( k+ 1/ k )= x ( k/k− 1)+ K ( k )[ y ( k )− H ( k ) x ( k/k − 1)]  (equation 8)
 
 x (0/−1)= x (0)
 
Σ( k+ 1/ k )=[ I−K ( k ) H ( k )]Σ( k/k− 1)+ Q ( k )
 
Σ(0/−1)=Σ(0)
 
         [0044]     The vector x(k) in equations 6 and 7 can be estimated from actual vehicle test data. This vector determines the “b” coefficients of the firing events model. The H(k) term can be defined based on engine speed N. Therefore, the firing event signal y(k) from equation 6 can be determined based on crankshaft speed N and the application of a Kalman filter to estimate the vector x(k).  
         [0045]     A misfire detection system  10  according to the present invention is shown in  FIG. 1 . An RPM sensor  12  senses a speed of an engine  14 . The RPM sensor generates an engine speed signal and inputs the engine speed signal to a signal processing system  16 . The signal processing system  16  processes the engine speed signal and derives a firing event signal y(k)  18  according to the above equations and known engine characteristics. For example, the signal processing system correlates the engine speed signal to crankshaft speed. The firing event signal  18  is input to a Kalman filter  20 .  
         [0046]     The Kalman filter  20  estimates unknown parameters of the firing event signal  18 . A misfire detector  22  determines engine misfire events according to an output of the Kalman filter  20 . Additionally, the misfire detector  22  may consider other engine conditions to compensate for signal output variations caused by factors such as engine load. For example, an average manifold absolute pressure and the engine speed determine the Q( N , P ) term as shown in equation 3. The misfire detection system  10  may use a lookup table or a surface mapping function to determine Q( N , P ). Alternatively, other suitable methods may be used to determine Q( N , P ). For example, the signal processing system  16  and the misfire detector  22  may be combined in a single device.  
         [0047]      FIG. 2  is an example of a six cylinder engine at 2000 RPM with no load and no misfire events. An engine speed signal depicts a plot of RPMs against a firing number.  FIG. 3  illustrates a six cylinder engine speed signal with no load and 20% cylinder misfire.  FIG. 4  is a signal separation diagram of the engine speed signal resulting from the present invention. The signal separation diagram plots misfire events and normal firing events against firing number, where “O” denotes a normal firing event and “X” denotes a misfire event. This plot depicts a signal to noise ratio of the misfire detection system according to the present invention.  
         [0048]     The description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention. Such variations are not to be regarded as a departure from the spirit and scope of the invention.