You are on page 1of 13

1

Deteccin de Misfire a travs de la velocidad angular instantnea del CKP


mediante filtrado adaptativo.
Universidad Tecnolgica Nacional, Facultad Regional Buenos Aires


Teora de circuitos II - Trabajo Final
Grass, Pablo
(i)(ii)


(i)
Estudiante de Ing. Electrnica, UTN, FRBA.
(ii)
Desarrollador S. Embebidos, Departamento de I&D Electrnica, T.A Gas Technology S.A

Resumen:
En el presente trabajo se estudiara la factibilidad de detectar el fenmeno de Misfire en un
motor de combustin interna, procesando la velocidad angular del cigeal mediante filtrado
adaptativo.
Dicha velocidad angular instantnea se adquiri con un osciloscopio conectado al sensor de
posicin angular del cigeal (CKP, CrankShaft Position Sensor) mientras se inducan distintos
tipos de patrones de misfire.
El procesamiento se hizo utilizando la herramienta MatLab

, creando scripts para bajar al


entorno capturas realizadas mediante instrumento de la seal, procesarla, filtrarla y graficarla.

Adems de la factibilidad, se har hincapi en el anlisis del filtrado adaptativo, sus
aplicaciones, ventajas e inconvenientes al aplicarlos en este caso particular y en general.

Palabras clave: Motor combustin interna, Misfire, Filtros adaptativos, IIR, FIR, MatLab.

1. Introduccin
Los motores modernos de combustin interna (SI y CI engines), son sometidos a
especificaciones cada vez ms rigurosas respecto a contaminacin ambiental y performance de
los mismos.
Es por eso que las ECU (Electrnic Control Unit) de gestin de combustible modernas, cumplen
con normas de contaminacin Euro IV y Euro V, las cuales tienen una serie de requisitos de
contaminacin y de diagnostico de fallas bastante exigente.

Estos eventos de diagnostico los tiene que reportar por una interfaz llamada OBD II (On Board
Diagnostics), que estipula que detectar, y como informarlo [1].

Uno de esos diagnsticos principales, es la deteccin de un fenmeno llamado misfire.
En base a la deteccin de estos fenmenos, la ECU tiene que, aparte de detectarlos en tiempo
real, tomar decisiones en base a ellos, como por ejemplo, apagar el cilindro que presenta el
problema e informar por tablero (y puerto de diagnostico) que hay un problema con el motor y
el cilindro especifico (check engine, MIL).

Que es el fenmeno de misfire (falla)?
Es la ausencia, o parcialidad del torque generado por un cilindro.
Esto puede implicar que, o no se produjo la combustin interna, o por algn motivo, fue
deficiente (mezcla rica/pobre, ausencia/desfasaje de encendido, falta de compresin del
cilindro, etc.) [2].

Hay varios mtodos de deteccin a travs de distintos sensores del fenmeno mencionado [2].
El mtodo ms usado (porque el sensor siempre est presente para sincronizar las fases de
inyeccin y encendido del combustible), es la deteccin a travs del sensor de posicin angular
del cigeal (CKP).
El resto, adems de tener que agregar un sensor especialmente para la funcin, resulta
particularmente caro para implementar en linear de produccin.
2


Distribucin tpica (y sensores) de un motor moderno con los cilindros en lnea.

Descripcin del mtodo:
Los impulsos de torque generados por cada cilindro, generan en el cigeal una velocidad
angular proporcional a ellos, la cual es filtrada por toda la masa y la friccin del sistema.


Combustin

Escape

Admisin

Compresin
Detalle de los 4 tiempos de un motor 4T.

El sistema con el cual se mide la velocidad angular del cigeal, normalmente es una rueda
dentada, con alguna caracterstica mecnica para definir un punto de referencia absoluto de
posicin angular.
Por ejemplo, la rueda ms comn es 60-2 dientes. Hay otros fabricantes, que usan 36-1, 36-2,
30-2, 12-1 o incluso con doble referencia de posicin angular.
Esta rueda, es leda elctricamente, a travs de un sensor inductivo, o HALL, dependiendo del
fabricante.

Disposicin de las pruebas.

El vehculo utilizado en las pruebas de esta publicacin fue una Chevrolet Silverado, con motor
Vortec 5.3litros, 8 cilindros en V con orden de encendido 1-8-6-2-7-3-4-5 y 4 vlvulas por cada
uno. Potencia de 315HP@5200RPM.
Una seal analgica relacionada al sensor inductivo que esta frente a la rueda de 60 dientes,
ha sido adquirida con un Osciloscopio Tektronix DPO4034, con una base de tiempo adecuada
a cada prueba.
La generacin de misfire fue realizada sacando el inyector de combustible del respectivo
cilindro bajo prueba.
Tirada completa, sin misfire [RPM/ CKP]. Detalle de la aceleracin [RPM/ CKP].

3


2. Marco terico.
2.1 Filtro Adaptativo.

Un filtro adaptativo es un arreglo computacional que trata de modelar la relacin entre dos
seales en tiempo real de una manera iterativa.

Est definido por cuatro aspectos:
1. Las seales que son procesadas por el filtro.
2. La estructura que define como la seal de salida del filtro es calculada desde su seal
de entrada.
3. Los parmetros dentro de esta estructura que puede ser iterativamente cambiados
para alterar la relacin salida/entrada del filtro.
4. El algoritmo de adaptacin que describe como los parmetros son ajustados de un
momento a otro.


Adaptacin de un sistema a lazo abierto y a lazo cerrado.

En ambos bloques llamados filtros adaptativos puede haber tanto una estructura FIR o IIR, a
las cuales se le varan los coeficientes.
La eleccin del tipo de estructura, depende de la aplicacin.

Caso general, estructura de un filtro IIR.

La salida del sistema puede ser representada matemticamente como:

Usando notacin de matrices:

Donde los vectores de (2N+1) dimensiones estn definidos como:


En el segundo caso, la seal de salida es comparada con una segunda seal d(n), llamada
seal deseada o seal de respuesta deseada.
c(n) = J(n) -y(n)
Esa es conocida como seal de error. Ella es introducida a un procedimiento el cual altera o
adapta los parmetros del filtro desde el tiempo (n) al tiempo (n+1) de una manera bien
definida.
4

Lo que se espera a medida que el ndice de tiempo se incrementa, es que la salida del filtro
adaptativo se vaya convirtiendo en una mejor representacin de la seal deseada a travs del
proceso de adaptacin, logrando que la magnitud del error disminuya en el tiempo.

2.2 La tarea de un filtro Adaptativo.

Presentado el modelo del filtro, podra llegar a plantearse, si ya tengo la seal deseada, cual es
el punto de tratar de igualar la salida usando un filtro adaptativo?
Puntos a considerar:
En la prctica, la cantidad de inters, no es siempre d(n). En y(n) queremos representar cierto
componente de d(n) contenido en x(n).
Hay situaciones en las que d(n) no est presente todo el tiempo. Solo se adapta el sistema
cuando est disponible, y cuando no, se usa la ultima mejor estimacin.
Hay situaciones en las que d(n) nunca est disponible. En estos casos, se puede usar
informacin adicional sobre las caractersticas de x(n) o una hipottica d(n) prediciendo su
comportamiento de manera estadstica, o a travs de otras seales.

2.3 Aplicaciones Tpicas de un filtro adaptativo.

Identificacin de un sistema.

El sistema dentro de la lnea punteada es una caja negra, esto significa que las seales
dentro de ella no son observables desde el exterior.

Aqu, la tarea del filtro adaptativo es representar J
`
(n) en su salida.

Modelizacin Inversa.

Aqu, la tarea del filtro adaptativo es ajustar sus caractersticas de tal manera que la seal de
salida sea una representacin precisa de la fuente de seal demorada.

Prediccin Lineal.

En este caso, el filtro adaptativo lineal trata de predecir valores futuros de la seal de entrada
usando muestras anteriores.
Una aplicacin especial de esta configuracin es la de Mejora de lnea adaptiva (ALE: Adaptive
Line Enhancement).

En algunas situaciones, la seal deseada consiste en una suma de una seal de banda ancha
y una seal peridica cercana en banda, y lo que se quiere hacer es separar esas dos seales
sin demasiado conocimiento sobre los parmetros de dichas seales.

5

En esta situacin, la topologa anterior puede ser usada. Para esta aplicacin, la demora es
elegida lo suficientemente larga tal que la componente de banda ancha de x(n) esta
descorrelacionada con la componente de banda ancha de x(n -). En este caso, la seal de
banda ancha no puede ser removida por el filtro adaptativo en su operacin, y permanece en la
seal de error c(n) despus de un adecuado periodo de adaptacin.
La salida del filtro adaptativo y(n) converge a la seal de banda angosta, la cual es fcilmente
predecible a travs de los valores anteriores.

Control anticipativo.

Esta otra aplicacin combina los elementos de modelizacin inversa e identificacin de un
sistema.
Un ejemplo de esta aplicacin, es el control activo del ruido.

2.4 Algoritmos de adaptacin.

Hay toda una familia de algoritmos que adaptan los coeficientes del filtro en funcin del error.
Sin embargo, el ms utilizado es el LMS (Least Mean Squeared) o de cuadrados mnimos.
Ese es el que usamos en las pruebas.
La forma general de un algoritmo de un FIR adaptativo es:

Donde 0() es una funcin vectorial no lineal, p(n) es el parmetro de paso de ajuste, c(n) y
x(n)son la seal de error y el vector de entrada de seal, y (n) es un vector de estados que
guarda informacin pertinente sobre las caractersticas de las seales de entrada y erro y sus
coeficientes en los instantes previos. En los algoritmos ms sencillos, este ltimo termino no es
utilizado, as que la informacin necesitada para ajustar los coeficientes al ndice de tiempo (n)
son el vector de la seal de error, la seal de entrada y el paso de ajuste.

La funcin de costo del error cuadrtico medio:

Esta funcin es til en FIR adaptativos porque:
Tiene un mnimo bien definido respeto de los parmetros en w(n).
Los coeficientes obtenidos en su mnimo son los mismos que minimizan la seal de error
c(n), indicando que y(n) se igualo a x(n).
es una funcin suave de cada parmetro de w(n), haciendo que sea diferenciable respecto
de dichos parmetro.

Una de las posibles funciones de costo es la de cuadrados mnimos dada por:

Donde o(n) es una secuencia de pesos adecuada para los trminos de la sumatoria.
Adems, se propone la versin simplificada de la misma:



6

Tomando las derivadas de [
LMS
(n) respecto de los elementos de w(n) se obtiene el algoritmo
adaptativo LMS:

Hay que destacar que solo requiere multiplicaciones y sumas para implementarlo. De hecho, el
nmero y tipo de operacin necesitados para el algoritmo LMS es casi el mismo que una
estructura tipo FIR con valores de coeficientes fijos, la cual es una de las razones por la cual
este algoritmo es popular.

Para mayor referencia de filtrado adaptativo, ver capitulo 18 al 23 de [3].

2.1 Deteccin de Misfire.

Para la deteccin del fenmeno, nos basamos en la idea de que la seal de la velocidad
angular instantnea del motor en funcin de la posicin angular del mismo, se puede
descomponer en tres valores caractersticos [4]:

Valor medio de la seal.
Seal con un periodo del ciclo de motor 720. (Th[]=720; fh =1/720).
Como el cilindro que falla repite su ciclo en dos rotaciones del cigeal, se presenta
una cada de torque con el mismo periodo. Esto genera una componente en la
velocidad angular del motor con un periodo de 720.
Adems, la ubicacin del mnimo de esta componente indica que cilindro est fallando
(misfire).
Seal con un periodo igual a la duracin en grados del tiempo de combustin de cada cilindro.
Esta frecuencia (engine firing frecuency) depende de la cantidad de cilindros del motor.
Por ejemplo:
En un vehculo de 8 cilindros, Tc[] =720/8 =90. (fc =1/Tc =1/90)
En un vehculo de 4 cilindros, Tc[] =720/4 =180. (fc =1/Tc =1/180)

En el trabajo tomado como ejemplo, lo que hace el autor es aproximar la seal de entrada
mediante un algoritmo de interpolacin trigonomtrica recursivo.


Seal de entrada y filtrada por el algoritmo. Calculo de la amplitud de la seal de
frecuencia fc.
Y se focaliza en calcular los componentes de inters:


Velocidad angular filtrada.


Coeficientes ajustados recursivamente
Frecuencias de inters.

El resto del espectro o contenido de la seal, contiene ruidos por imprecisiones mecnicas,
diferencia de encendido entre cilindros, diferencias de suministro de combustible, ruido
elctrico; Elementos que se desean eliminar.
7

3. Desarrollo
3.1 Captura e importacin de datos al entorno de trabajo.

Las capturas de la seal del sensor CKP en cada tirada de prueba del motor fueron adquiridas
con un osciloscopio Tektronix DPO4034, con 10Mega muestras por canal.
Este instrumento permite guardar las adquisiciones crudas de los canales, en un archivo .isf
(propio de la marca).
Tambin est disponible un osciloscopio porttil Picoscope 4424, que tiene 32Megamuestras
distribuidas hasta 4 canales.
Este instrumento guarda las adquisiciones directamente en un archivo .mat para usar en
MatLab.
As que en el primer caso, con el que se hizo las mediciones, tuvimos que hacer una funcin de
importacin, que nos va a permitir tener en el entorno de MatLab, una seal adquirida en el
campo de aplicacin.

Aplicacin:
>> [ t , v, f s] = i sf r ead( ' t ek0001CH1. i sf ' ) ;
>> pl ot ( t , v) ;
Donde la primer lnea, lee el archivo, y devuelve el vector t y v, siendo tiempo de la muestra y el
valor de la tensin de entrada en dicho momento. fs, es la frecuencia con la cual se muestreo la
seal. Esto se devuelve porque es til para el clculo y utilizacin de filtros digitales sobre la
secuencia resultante de la adquisicin.
La segunda lnea es una funcin que grafica.

3.2 Calculo de la velocidad angular instantnea.
Para calcular la velocidad angular, nos encontramos con cuatro problemas.

1El archivo que da el instrumento es la adquisicin cruda, as que tiene ruido debido a la
adquisicin y elctrico.
Para solucionarlo, se opto por tener una funcin que calcule un filtro FIR de parmetros a
eleccin (dependiendo de la seal a procesar). Dicho filtro se le aplica a la seal de entrada.

Aplicacin:
>> [ t , v, f s] = i sf r ead( ' t ek0000CH1. i sf ' ) ;
>> [ b] = FI R_Fi l t er s( f s, 100, 10000, 0, ' l ow' , @hammi ng, ' scal e' ) ;
>> y = f i l t er ( b, 1, v) ;
>> Pl ot Resul t s( v, y, t , 1500000) ;
La funcin generada, recibe como parmetros.
- Fs: frecuencia de muestreo donde se aplica el filtro.
- Orden: Orden del filtro. En este caso prctico, 100.
- Frecuencia de corte inferior: En este caso 10KHz.
- Frecuencia de corte superior: En este caso, 0 (no aplica al tipo de filtro seleccionado).
- Tipo de filtro: Puede ser, low, high, bandpass stop. En este caso prctico low o pasa bajo.

Seal original y filtrada Detalle de seal original y filtrada con flancos
definidos.
8

2La rueda acoplada al cigeal naturalmente da una seal discreta y no analgica, que es lo
que se medira con un dispositivo digital.

Para ello se diseo un algoritmo, el cual toma la seal analgica muestreada y calcula la
secuencia de periodos de la misma.
Dicha funcin devuelve pares coordenados, siendo X=la posicin temporal donde comienza el
periodo medido, e Y=el valor del periodo medido en ese punto.

Aplicacin:
>> [ t , v, f s] = i sf r ead( ' t ek0001CH1. i sf ' ) ;
>> [ b] = FI R_Fi l t er s( f s, 100, 10000, 0, ' l ow' , @hammi ng, ' scal e' ) ;
>> y = f i l t er ( b, 1, v) ;
>> Per i ods = Per i odMet er ( t , y, 2. 5, 0. 5, ' Negat i ve' ) ;
>> Pl ot Resul t s( v, y, t , Per i ods, 2250000) ;

La funcin generada, recibe como parmetros:
- t,y : Son los vectores de valor de la secuencia y valor temporal donde ocurri cada muestra.
- Valor de umbral de deteccin de comienzo de periodo.
- Valor de histresis de umbral.
- Flanco de comienzo de periodo.

Detalle de una aceleracin. En los primero grficos no es posible distinguir el aporte de torque
de cada cilindro, pero en el ultimo grafico se ve perfectamente.

3El dominio de la seal es el tiempo, no la posicin angular como se necesita.
La solucin fue crear un algoritmo que detecte el punto de sincronizacin caracterstico de la
rueda (por ejemplo, el diente/s faltante/s) y en funcin del total de dientes conocidos, ir
calculando el dominio.

4No se tiene la seal de velocidad angular, sino el tiempo que tardo en recorrer ciertos
grados.

Se cre una simple funcin, que acepta un dominio predefinido de [,T] y calcula las RPM o
Omega segn requerimiento.
Aplicacin:
>> RPM = Per i ods2Angul ar Vel oci t y( V8Mi sf i r eNO, ' RPM' ) ;
>> Pl ot _XYSequence( X, ' Cont ' ) ;
9


4La posicin angular de la rueda, no es equidistante en todas sus muestras.

Esto es un problema, al querer aplicar filtros y funciones de filtros cuya implementacin est
pensada para muestreos de la variable independiente constantes y equidistantes.

Aqu se implemento una funcin, que usa funciones de MatLab, la cual toma el dominio original
de la funcin, el nuevo muestreo que se necesita, y genera el nuevo dominio. Adems, en el
proceso de genera el dominio, genera los valores de la variable independiente para los nuevos
puntos, mediante una interpolacin lineal.

Aplicacin:
Seal con muestreo no equidistante
debido a los dientes faltantes.
Seal con muestreo equidistante cada
seis grados.
>> RPM =
Per i ods2Angul ar Vel oci t y( V8Mi sf i r eNO, ' RP
M' ) ;
>> RPMResampl ed =
Resampl i ngSequence( RPM, 1, 6) ;
>>
Pl ot _XYSequence( RPMResampl ed, ' Di scr et e'
) ;

Seal con muestreo equidistante cada 1
grado.
>> RPM =
Per i ods2Angul ar Vel oci t y( V8Mi sf i r eNO, ' RP
M' ) ;
>> RPMResampl ed =
Resampl i ngSequence( RPM, 1, 1) ;
>>
Pl ot _XYSequence( RPMResampl ed, ' Di scr et e'
) ;


3.3 Desarrollo del Filtro Adaptativo.
Como solo disponemos de una sola seal en este sistema, intuitivamente elegimos la topologa
de prediccin lineal, y tratar de sacar como salida, la seal peridica con frecuencia fc. En este
caso la salida con dicha seal estar en c(n).
Dicha topologa solo nos deja como parmetros variables, el orden del filtro, la demora, y el
paso de ajuste.
El orden, en primera medida, tomamos 60.
La demora, tiene que ser una suficiente como para descorrelacionar la seal total de la seal
peridica con frecuencia fc que queremos encontrar.
Se eligi en primera medida 124, que equivale a 745 muestreados cada 6.
El paso de ajuste se elige con la funcin maxst ep de MatLab. Esta funcin analiza de
manera estadstica, en la seal que se va a filtrar, cual es el mximo paso de ajuste permitido
para que el filtro converge.

3.4 Aplicacin del Filtro Adaptativo.
Secuencia de MatLab que se ejecuto. Tener en cuenta que en V8 RPM 6 degr ees. mat estn
las tres seales a usar, ya procesadas con los procedimientos descriptos anteriormente.

10

l oad( ' V8 RPM 6 degr ees. mat ' )
Test Si gnal = V8Mi sf i r eCyl 5;
%cal cul o f i l t r o adapt at i vo LMS, par amet r os.
L = 121; %or den del f i l t r o adapt at i vo, 360/ 6
Del ay = 124; %l o cor r o 745 ( 124 = 745/ 6) par al ogr ar ci er t a
descor r el aci on
hl ms = adapt f i l t . l ms( L) ; %t r ansf er enci a.
[ mumaxl ms, mumaxmsel ms] = maxst ep( hl ms, Test Si gnal ( : , 2) ) ; %eval uo maxi mo st ep
hl ms. St epSi ze = mumaxmsel ms; %maxi mo val or de st ep per mi t i do par a que
conver ga.
%seal demor ada.
h = df i l t . del ay( Del ay) ; %l o cor r o 745 ( 124 = 745/ 6)
Del ayedTest Si gnal = Test Si gnal ; %asi gno domi ni o
Del ayedTest Si gnal ( : , 2) = f i l t er ( h, Test Si gnal ( : , 2) ) ;

yl ms = Test Si gnal ; %asi gno domi ni o y l ar go a l a sal i da
el ms = Test Si gnal ; %asi gno domi ni o y l ar go al er r or
[ yl ms( : , 2) , el ms( : , 2) ] = f i l t er ( hl ms, Del ayedTest Si gnal ( : , 2) , Test Si gnal ( : , 2) ) ;
Pl ot _XYSequence( yl ms, ' Di scr et e' ) ;
Pl ot _XYSequence( el ms, ' Di scr et e' ) ;

Luego se ejecuto lo mismo, pero usando Test Si gnal = V8Mi sf i r eNO; seal que no contiene
misfire como la anterior. Tener en cuenta que, en esta configuracin del filtro adaptativo, la
seal de inters es la de error.
Se obtuvo.

Sin fallas (variable V8Mi sf i r eNO) :
Se puede observar que el filtro es
lento en adaptarse. Incluso en
transitorios de la seal.
11


Con falla en el cilindro #5 (variable V8Mi sf i r eCyl 5) :


Se puede observar la seal a frecuencia fc,
todos los cilindros aportan torque, el rea
positiva de RPM es mayor que la negativa.
NO aparece componente en fh, ya
que todos los cilindros funcionan.
Se puede observar que el filtro es
lento en adaptarse. Incluso en
transitorios de la seal.
12




4. Conclusiones
Respecto al Misfire, Se pudo verificar que la seal de RPM contiene dos seales con
frecuencias fh (1/720) y fc (1/Tiempo de combustin), y que se ven modificadas ante un
comportamiento ineficiente de un cilindro dado.
Adems, es perfectamente posible detectar el fenmeno monitoreando la amplitud de seales
con dichas frecuencias para cada cilindro.

Pese a que en ningn momento se defini las frecuencias de combustin, el filtro adaptativo
obtuvo a su salida dicha seal. El mtodo sirve para N cilindros.

Sobre los filtros adaptativos, se concluye que no es una tarea simple implementarlos, en esta
configuracin, fue difcil elegir el orden del filtro y la demora para obtener resultados
aceptables. Los valores usados surgieron luego de varias pruebas empricas.
Adems, se noto que el filtro toma demasiado tiempo en adaptarse, trayendo problemas en los
transitorios de la seal.
Tampoco se pudo sacar perfectamente el ruido por imperfeccin mecnica.

Por ahora, este tipo de solucin no muestra una ventaja aparente respecto de los mtodos
tradicionales de deteccin de misfire, que son ms simples de implementar.

Queda para posterior trabajo:

Revisar los valores ptimos de L y Demora para filtrar la seal descorrelacionando las seales
perfectamente.
Aparecen componentes en fh, debido
a un cilindro fallando. El filtro lo
elimino de la seal bajo anlisis.
Se puede ver la mayor rea negativa
en la posicin angular del cilindro
que falla
13

Respecto a la lentitud de adaptacin, se comprob que sacndole a la seal su valor medio,
el valor mximo de ajuste que devuelve maxst ep es dos rdenes mayor, adaptando ms
rpido, pero se pierde precisin. Hay que buscar la solucin ptima.

Evaluar otro tipo de topologa, por ejemplo, generando a partir de filtros de coeficientes
constantes, una nueva seal deseada para inyectar al filtro adaptativo, y que no sea la misma
pero demorada.

Mejorar y agregar funcionalidad a las funciones creadas de MatLab para el presente trabajo.

Generar las adquisiciones de fallas, en vehculos con distinta configuracin de cilindros, y con
posibilidad de generar fallas en secuencias controladas.

5. Definiciones, abreviaciones y smbolos.
- CKP: (Crankshaft Position Sensor). Sensor de posicin de cigeal.
- CMP: (Camshaft Position Sensor). Sensor de posicin de rbol de leva.
- Rueda: Esta acoplada axialmente al cigeal, y enfrentada al sensor.
- Tirada: prueba de un vehculo, en condiciones predefinidas.
- Ralent: Marcha mnima estable del motor, sin carga.

6. Referencias

[1] http://es.wikipedia.org/wiki/OBD
[2] J .Merkiszt, P. BogusZ, R. Grzeszczyk . Overview of engine misfire detection methods used
in on board diagnostics.
[3] Madisetti, Vijay. The Digital Signal Processing Handbook (Electrical Engineering Handbook)
[4] Stotsky, Alexander. Statistical Engine Misfire Detection

You might also like