1. A method of detecting misfire in an engine comprising: detecting engine speed fluctuations; determining a linear model for estimating engine firing events based on the engine speed fluctuations; applying a Kalman filter to the linear model to determine parameters of the linear model; and detecting a misfire event in the engine based on the linear model.