Sélection de la langue

Search

Sommaire du brevet 2844926 

Énoncé de désistement de responsabilité concernant l'information provenant de tiers

Une partie des informations de ce site Web a été fournie par des sources externes. Le gouvernement du Canada n'assume aucune responsabilité concernant la précision, l'actualité ou la fiabilité des informations fournies par les sources externes. Les utilisateurs qui désirent employer cette information devraient consulter directement la source des informations. Le contenu fourni par les sources externes n'est pas assujetti aux exigences sur les langues officielles, la protection des renseignements personnels et l'accessibilité.

Disponibilité de l'Abrégé et des Revendications

L'apparition de différences dans le texte et l'image des Revendications et de l'Abrégé dépend du moment auquel le document est publié. Les textes des Revendications et de l'Abrégé sont affichés :

  • lorsque la demande peut être examinée par le public;
  • lorsque le brevet est émis (délivrance).
(12) Brevet: (11) CA 2844926
(54) Titre français: PROCEDES ET APPAREIL D'ANALYSE DE MOTEUR UTILISANT DES SIGNAUX ELECTRIQUES INTERNES
(54) Titre anglais: METHODS AND APPARATUS FOR ENGINE ANALYSIS USING INTERNAL ELECTRICAL SIGNALS
Statut: Accordé et délivré
Données bibliographiques
(51) Classification internationale des brevets (CIB):
  • G01M 15/11 (2006.01)
  • G01R 23/16 (2006.01)
(72) Inventeurs :
  • HORLBECK, ERIC G. (Etats-Unis d'Amérique)
  • THOMPSON, JOHN (Etats-Unis d'Amérique)
  • CARR, EMERY (Etats-Unis d'Amérique)
  • EBERHARDT, ALLEN C. (Etats-Unis d'Amérique)
(73) Titulaires :
  • THOMPSON AUTOMOTIVE LABS, LLC
(71) Demandeurs :
  • THOMPSON AUTOMOTIVE LABS, LLC (Etats-Unis d'Amérique)
(74) Agent: SMART & BIGGAR LP
(74) Co-agent:
(45) Délivré: 2020-09-08
(22) Date de dépôt: 2014-03-06
(41) Mise à la disponibilité du public: 2014-09-15
Requête d'examen: 2019-03-06
Licence disponible: S.O.
Cédé au domaine public: S.O.
(25) Langue des documents déposés: Anglais

Traité de coopération en matière de brevets (PCT): Non

(30) Données de priorité de la demande:
Numéro de la demande Pays / territoire Date
13/835,067 (Etats-Unis d'Amérique) 2013-03-15

Abrégés

Abrégé français

Il est décrit un procédé danalyse dun moteur pour une activité de raté dallumage. Le procédé consiste à recevoir, par un processeur par lintermédiaire dune interface, un signal électrique associé à une pluralité de cycles du moteur à partir dun capteur. Le signal électrique se répète en synchronicité avec une révolution du vilebrequin du moteur ou un multiple dun mouvement de rotation du vilebrequin du moteur ou une fraction du mouvement de rotation vilebrequin du moteur. Le procédé comprend également le processeur déterminant des pointes dénergie dans le signal électrique lié aux allumages des cylindres dans le moteur, la production destimations de la vitesse du moteur en fonction de lécart entre les pointes dénergie et lanalyse des anomalies dans les estimations de la vitesse du moteur pour cerner une activité de raté dallumage. Le procédé peut permettre au moteur dêtre analysé aux fins dune activité de raté dallumage même si le moteur dépasse la portée des systèmes de diagnostic embarqués (OBD II).


Abrégé anglais


Disclosed is a method of analyzing an engine for misfire activity. The method
includes
receiving, by a processor via an interface, an electrical signal associated
with a plurality of cycles
of the engine from a sensor. The electrical signal repeats in one of
synchronicity with a crankshaft
revolution of the engine or a multiple of a crankshaft rotation of the engine
or a fraction of the
crankshaft rotation of the engine. The method also includes the processor
identifying energy
spikes in the electrical signal associated with cylinder firings in the
engine, generating engine
speed estimates based on spacing between the energy spikes, and analyzing
anomalies in the
engine speed estimates to identify misfire activity in the engine. The method
can enable the
engine to be analyzed for misfire activity even if the engine is outside a
scope of on-board
diagnostics (OBD) II regulations.

Revendications

Note : Les revendications sont présentées dans la langue officielle dans laquelle elles ont été soumises.


CLAIMS:
1. A method of analyzing an engine for misfire activity, comprising:
receiving, by at least one processor via an interface, an electrical signal
associated with a
plurality of cycles of the engine from a sensor, the electrical signal
repeating in one of
synchronicity with a crankshaft revolution of the engine or a multiple of a
crankshaft rotation of
the engine or a fraction of the crankshaft rotation of the engine;
using the at least one processor for:
identifying energy spikes in the electrical signal associated with cylinder
firings in the engine, wherein the energy spikes correspond to spark plug
firings in
the engine;
generating engine speed estimates based on spacing between the energy
spikes; and
analyzing anomalies in the engine speed estimates to identify misfire
activity in the engine.
2. The method of Claim 1, wherein identifying the energy spikes comprises:
filtering the electrical signal with a matched filter to isolate the energy
spikes; and
discarding outlying spikes.
3. The method of Claim 1, wherein the spacing comprises time spacing and
generating the
engine speed estimates is performed in response to a crank angle and the time
spacing between the
energy spikes.
4. The method of Claim 1, wherein the anomalies comprise changes in engine
speed, the
method further comprising weighting the anomalies based on a magnitude of the
change in engine
speed.
5. The method of Claim 1, wherein the electrical signal comprises a 12 Volt
signal associated
with the engine.
6. A method performed by at least one processor of analyzing an engine for
misfire activity,
comprising:
34

receiving, by the at least one processor via an interface, an electrical
signal associated
with a plurality of cycles of the engine from a sensor, the electrical signal
repeating in one of
synchronicity with a crankshaft revolution of the engine or a multiple of a
crankshaft rotation of
the engine or a fraction of the crankshaft rotation of the engine;
using the at least one processor for:
identifying components of the electrical signal associated with alternator
poles in the engine by performing a fast Fourier transform of the electrical
signal
to identify a frequency of diode ripple harmonic energy;
filtering the electrical signal with a bandpass filter around the frequency
identified to provide a filtered electrical signal;
normalizing an amplitude of the filtered electrical signal;
tracking a peak of the filtered electrical signal;
generating engine speed estimates in response to the peak of the filtered
electrical signal; and
analyzing anomalies in the engine speed estimates to identify misfire
activity in the engine.
7. The method of Claim 6, further comprising filtering the electrical
signal to reduce DC
components in the electrical signal.
8. The method of Claim 6, further comprising filtering the electrical
signal using a median
filter to reduce impulse noise in the electrical signal.
9. The method of Claim 8, further comprising filtering the electrical
signal using a bandpass
filter to precondition the electrical signal.
10. The method of Claim 6, further comprising determining accelerations of
the engine due to
cylinder firings derived from the engine speed estimates.
11. The method of Claim 10, further comprising determining changes in radio
frequency
energy associated with the accelerations of the engine due to the cylinder
firings, and identifying
misfire activity when a change in the radio frequency energy of the engine
associated with the
accelerations of the engine due to the cylinder firings is less than a
predetermined amount.

12. The method of Claim 6, wherein the electrical signal comprises a 12
Volt signal associated
with the engine.
13. The method of Claim 6, wherein tracking the peak of the filtered
electrical signal
comprises performing Teager-Kaiser energy operator analysis on the electrical
signal.
14. A method of analyzing an engine for misfire activity, comprising:
receiving, by at least one processor an electrical signal associated with the
engine from a
sensor, the electrical signal repeating in one of synchronicity with a
crankshaft revolution of the
engine or a multiple of a crankshaft rotation of the engine or a fraction of
the crankshaft rotation
of the engine;
using the at least one processor for:
detecting AC ripple in the electrical signal;
generating engine speed estimates in response to the detected AC ripple,
wherein
detecting the AC ripple in the electrical signal comprises performing a fast
Fourier
transform of a sample of the electrical signal less than 20 ms long and
identifying peaks in
a spectrum of a bandpass signal of the electrical signal at a frequency
between 700 Hz and
4000 Hz; and
analyzing anomalies in the engine speed estimates to identify misfire activity
in
the engine;
the method further comprising removing amplitude variations from the sample of
the
electrical signal by forming an envelope between peaks in the bandpass
electrical signal and
normalizing the electric signal with respect to the envelope.
15. The method of Claim 14, wherein the envelope comprises a piecewise
spline between
peaks in the bandpass electrical signal.
16. The method of Claim 15, wherein the envelope comprises a linear
envelope.
17. The method of Claim 14, wherein generating the engine speed estimates
comprises
performing a short time fourier transform analysis on the electrical signal to
generate a frequency
domain signal, and tracking changes in location of spectrum peaks over time in
response to
changes in the frequency domain signal.
36

18. The method of Claim 17, further comprising performing frequency domain
autocorrelation
in at least one short time fourier transform frame to reduce noise therein.
19. The method of Claim 14, further comprising:
identifying anomalies in the engine speed by comparing heights of peaks in the
engine
speed relative to preceding valleys in the engine speed.
20. The method of Claim 19, further comprising smoothing the frequency
domain signal,
wherein identifying anomalies in the engine speed is performed on a smoothed
version of the
frequency domain signal.
21. The method of Claim 14, wherein the AC ripple comprises harmonic
components of a
spark signal and/or harmonics components of an exhaust signal.
37

Description

Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.


81778106
METHODS AND APPARATUS FOR ENGINE ANALYSIS USING INTERNAL
ELECTRICAL SIGNALS
RELATED APPLICATIONS
[0001] The present application is related to PCT Application No.
PCT/US2012/050127,
fled August 9, 2012, entitled "METHODS AND APPARATUS FOR ENGINE
ANALYSIS AND REMOTE ENGINE ANALYSIS," (Atty Docket 9916-3W0)
which claims the benefit of and priority to U.S. Provisional Patent
Application No.
61/521,934, fled August 10,2011, entitled "ME'FHODS AND APPARATUS FOR ENGINE
ANALYSIS," (Atty Docket 9916-2PR), U.S. Provisional Patent Application No.
61/641,493,
filed May 2,2012, entitled "METHODS AND APPARATUS FOR REMOTE ENGINE
ANALYSIS," (Atty Docket 9916-3PR).
BACKGROUND
[0002] An engine is a device that generates mechanical motion. In general, an
engine
is any electromechanical device that converts energy, including electrical,
chemical, heat, or
any other type of energy, into meclianical motion. This includes, for example,
internal
combustion engines, steam engines, Camot engines, Stirling engines, etc. A
cyclo-
mechanical engine is any engine that operates on a cycle to generate
mechanical motion.
[0003] Internal combustion engines typically have one or more cylinders in
which
mechanical energy is generated by combustion of flammable materials. In an
internal
combustion engine, a piston is typically movably positioned within the
cylinder and
connected to a cranksbaft.by a rod. The movement of the piston turns the
crankshaft
providing motive force to the wheels of the vehicle,
[0004] Engines typically operate using a four stroke combustion cycle, also
known as
the Otto cycle, The four strokes are: 1) the intake stroke, where the piston
moves from an in
position. to an out position, drawing fuel and air into the cylinder; 2) the
compression stroke,
where the piston moves from the out position to the in position, compressing
the fuel and air
mixture in. the cylinder; 3) the combustion stroke, where a spark plug emits a
spark, igniting
the fuel and air mixture, causing an explosion that propels the piston to the
out position; and
4) the exhaust stroke, where the piston moves back to the in position, forcing
the exhaust
fumes from the cylinder. Valves permit the introduction of fuel and air, and
another valve
allows the expulsion of the exhaust fumes.
1
CA 2844926 2019-12-05

CA 02844926 2014-03-06
9916-4
[0005] The combustion cycle is made inefficient when a misfire occurs. A
misfire is
sometimes thought of as the total lack of combustion in a cylinder. More
broadly, however, a
misfire occurs any time the firing of a cylinder fails to release an expected
amount of energy.
A misfire, therefore, can be thought of as a total or partial lack of
combustion in a cylinder.
[0006] Misfires can occur for many different reasons. For example, the spark
plug
may not be providing a spark to the compressed fuel/air mix, A bad fuel mix,
which may be
the result of a clogged fuel injector, a clogged air intake, or both, can
cause a misfire to occur.
Essentially, the fuel and the air are not being introduced into the cylinder
in the proper ratio
to achieve optimal combustion. A lack of compression, such as when the seals
in the cylinder
fail and allow the fuel/air mixture to leak out as the piston attempts to
compress the mixture,
can also lead to a misfire. Many other factors can contribute to a lack of
complete
combustion.
[0007] Misfires are a cause for concern for vehicle operators, When a misfire
occurs,
the fuel in the cylinder does not combust and is sent out the exhaust valve.
This unburned fuel
then passes out through the exhaust system of the vehicle. This results in
lower fuel
efficiency as well as additional wear and tear on catalytic converters.
[0008] Misfires, particularly those accompanied by partial combustion, may be
difficult to detect.
SUMMARY
[0009] A method of analyzing an engine for misfire activity according to some
embodiments includes receiving an electrical signal associated with a
plurality of cycles of
the engine, identifying energy spikes in the electrical signal associated with
cylinder firings in
the engine, generating engine speed estimates based on spacing between the
energy spikes,
and analyzing anomalies in the engine speed estimates to identify misfire
activity in the
engine.
[0010] The energy spikes may be associated with spark plug firings in the
engine.
[0011] Identifying the energy spikes may include filtering the electrical
signal with a
matched filter to isolate the energy spikes, and discarding outlying spikes.
[0012] Generating the engine speed estimates may be performed in response to a
crank angle and a time spacing between the energy spikes.
[0013] The anomalies may include changes in engine speed, and the method may
further include weighting the anomalies based on a magnitude of the change in
engine speed.
[0014] The electrical signal may include a 12 Volt signal associated with the
engine.
2

CA 02844926 2014-03-06
9916-4
[0015] A method of analyzing an engine for misfire activity according to
further
embodiments includes receiving an electrical signal associated with a
plurality of cycles of
the engine, identifying components of the electrical signal associated with
alternator poles in
the engine, generating engine speed estimates based on timing of the
alternator poles, and
analyzing anomalies in the engine speed estimates to identify misfire activity
in the engine.
[0016] The method may further include filtering the electrical signal to
remove DC
components from the electrical signal.
[0017] Identifying components of the electrical signal associated with
alternator poles
may include performing a fast Fourier transform of the electrical signal.
[0018] The method may further include measuring accelerations of the engine
due to
cylinder firings derived from the engine speed estimates.
[0019] The method may further include determining changes in energy associated
with the accelerations of the engine due to cylinder firings, and identifying
misfire activity
when a change in energy of the engine associated with the accelerations of the
engine due to
cylinder firings is less than a predetermined amount.
[0020] A method of analyzing an engine for misfire activity according to
further
;5.
embodiments includes receiving an electrical signal associated with the
engine, detecting AC
ripple in the electrical signal, generating engine speed estimates in response
to the detected
AC ripple, and analyzing anomalies in the engine speed estimates to identify
misfire activity
in the engine.
[0021] Detecting the AC ripple in the electrical signal may include performing
a fast
fourier transform of a sample of the electrical signal less than 20 ms long
and identifying
peaks in a spectrum of the electrical signal at a frequency between 700 Hz and
4000 HZ.
[0022] The method may further include removing amplitude variations from the
sample of the electrical signal by forming an envelope between peaks in the
electrical signal
and normalizing the electrical signal with respect to the envelope.
[0023] The envelope may include a linear envelope.
[0024] Generating the engine speed estimates may include performing a short
time
fourier transform analysis on the electrical signal to track changes in
location of spectrum
peaks over time.
[0025] The method may further include generating a coarse engine speed trace
in
response to changes in the location of the spectrum peaks, and generating a
frequency ratio
estimate by dividing an average coarse engine speed by an average short time
fourier
transform frequency value.
3

= 81778106
[0026] The method may further include identifying anomalies in the engine
speed by
comparing heights of peaks in the engine speed relative to preceding valleys
in the engine speed.
[0026a] In some embodiments of the invention, there is provided a method of
analyzing an
engine for misfire activity, comprising: receiving, by at least one processor
via an interface, an
electrical signal associated with a plurality of cycles of the engine from a
sensor, the electrical
signal repeating in one of synchronicity with a crankshaft revolution of the
engine or a multiple of
a crankshaft rotation of the engine or a fraction of the crankshaft rotation
of the engine; using the
at least one processor for: identifying energy spikes in the electrical signal
associated with
cylinder firings in the engine, wherein the energy spikes correspond to spark
plug firings in the
engine; generating engine speed estimates based on spacing between the energy
spikes; and
analyzing anomalies in the engine speed estimates to identify misfire activity
in the engine.
[0026b] In some embodiments of the invention, there is provided a method
performed by at
least one processor of analyzing an engine for misfire activity, comprising:
receiving, by the at least
one processor via an interface, an electrical signal associated with a
plurality of cycles of the engine
from a sensor, the electrical signal repeating in one of synchronicity with a
crankshaft revolution of
the engine or a multiple of a crankshaft rotation of the engine or a fraction
of the crankshaft rotation
of the engine; using the at least one processor for: identifying components of
the electrical signal
associated with alternator poles in the engine by performing a fast Fourier
transform of the electrical
signal to identify a frequency of diode ripple harmonic energy; filtering the
electrical signal with a
bandpass filter around the frequency identified to provide a filtered
electrical signal; normalizing an
amplitude of the filtered electrical signal; tracking a peak of the filtered
electrical signal; generating
engine speed estimates in response to the peak of the filtered electrical
signal; and analyzing
anomalies in the engine speed estimates to identify misfire activity in the
engine.
[0026c] In some embodiments of the invention, there is provided a method of
analyzing an
engine for misfire activity, comprising: receiving, by at least one processor
an electrical signal
associated with the engine from a sensor, the electrical signal repeating in
one of synchronicity
with a crankshaft revolution of the engine or a multiple of a crankshaft
rotation of the engine or a
fraction of the crankshaft rotation of the engine; using the at least one
processor for: detecting AC
ripple in the electrical signal; generating engine speed estimates in response
to the detected AC
ripple, wherein detecting the AC ripple in the electrical signal comprises
performing a fast Fourier
transform of a sample of the electrical signal less than 20 ms long and
identifying peaks in a
spectrum of a bandpass signal of the electrical signal at a frequency between
700 Hz and 4000 Hz;
and analyzing anomalies in the engine speed estimates to identify misfire
activity in the engine;
4
CA 2844926 2019-12-05

=
81778106
the method further comprising removing amplitude variations from the sample of
the electrical
signal by forming an envelope between peaks in the bandpass electrical signal
and normalizing the
electric signal with respect to the envelope.
[0027] It is noted that aspects of the inventive concepts described with
respect to one
embodiment may be incorporated in a different embodiments although not
specifically described
relative thereto. That is, all embodiments and/or features of any embodiments
can be combined in
any way and /or combination. These and other objects and/or aspects of the
present inventive
concepts are explained in detail in the specification set forth below.
[0028] Other systems, methods, and/or computer program products will be or
become
apparent to one with skill in the art upon review of the following drawings
and detailed
description. It is intended that all such additional systems, methods, and/or
computer program
products be included within this description, be within the scope of the
present inventive concepts,
and be protected by the accompanying claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The accompanying drawings are included to provide a further
understanding of the
disclosure and are incorporated in and constitute a part of this application.
In the drawings:
[0030] Figures IA to 113 are cross sectional views of an internal combustion
engine
showing various aspects of a four-stroke engine cycle.
[0031] Figure 2 is a block diagram illustrating an apparatus according to some
embodiments.
[0032] Figure 3 is flowchart illustrating operations of systems/methods
according to some
embodiments.
[0033] Figure 4 illustrates an example of an audio signal sample recorded from
an engine
exhaust, and a DC-adjusted electrical signal sample recorded from a cigarette
lighter of a car
during engine operation
[0034] Figures 5A-5D illustrate frequency spectra of various signals.
[0035] Figures 6A to 6D illustrate correlation results and alignment of
portions of the
signals corresponding to Figures 5A to 5D, respectively.
[0036] Figures 7A and 7B illustrate processing of "simple" signals in
accordance with
some embodiments.
[0037] Figures 8A to 8C are graphs illustrating maximum adjacent correlation
in
accordance with some embodiments.
4a
CA 2844926 2019-12-05

CA 02844926 2014-03-06
9916-4
[0038] Figures 9-10 illustrate analysis of an engine signal from a six
cylinder engine
having a simple spectrum in accordance with some embodiments.
[0039] Figures 11-12 illustrate analysis of an engine signal from an eight
cylinder
engine having a complicated spectrum in accordance with some embodiments.
[0040] Figures 13A to 13D illustrate graphs of engine speed in RPM versus time
corresponding to Figures 5A-5D, respectively.
[0041] Figure 14 is a block diagram illustrating systems for remote engine
analysis in
accordance with some embodiments.
[0042] Figure 15 is a block diagram illustrating systems for remote engine
analysis in
accordance with further embodiments.
[0043] Figure 16 is a graph of an engine electrical signal showing alternator
poles and
spark timing.
[0044] Figure 17 is a flowchart illustrating engine analysis according to some
embodiments.
[0045] Figure 17A is a graph of an impulse response of a matched filter that
maybe
used to identify spark events.
[0046] Figures 18 to 20 are flowcharts illustrating engine analysis according
to some
embodiments.
[0047] Figure 21 illustrates a convolved step function that may be used to
filter an
engine signal in accordance with some embodiments.
[0048] Figure 22 illustrates a spark indicator signal.
[0049] Figure 23 illustrates a comparison of the diode ripple method and the
spark
timing method.
[0050] Figures 24 and 25 are flowcharts illustrating engine analysis according
to
some further embodiments.
[0051] Figures 26A and 26B are graphs illustrating normalization of an
electrical
signal according to some embodiments.
DETAILED DESCRIPTION
[0052] Embodiments of the present invention are described herein with
reference to
the accompanying drawings, in which embodiments of the invention are shown.
This
invention may, however, be embodied in many different forms and should not be
construed
as limited to the embodiments set forth herein. Rather, these embodiments are
provided so

CA 02844926 2014-03-06
9916-4
that this disclosure will be thorough and complete, and will fully convey the
scope of the
invention to those skilled in the art. Like numbers refer to like elements
throughout.
[0053] It will be understood that, although the terms first, second, etc. may
be used
herein to describe various elements, these elements should not be limited by
these terms.
These terms are only used to distinguish one element from another. For
example, a first
element could be termed a second element, and, similarly, a second element
could be termed
a first element, without departing from the scope of the present invention. As
used herein,
the term "and/or" includes any and all combinations of one or more of the
associated listed
items.
[0054] The terminology used herein is for the purpose of describing particular
embodiments only and is not intended to be limiting of the invention. As used
herein, the
singular forms "a", "an" and "the" are intended to include the plural forms as
well, unless the
context clearly indicates otherwise. It will be further understood that the
terms 'comprises,"
"comprising," "includes" and/or "including" when used herein, specify the
presence of stated
features, integers, steps, operations, elements, and/or components, but do not
preclude the
presence or addition of one or more other features, integers, steps,
operations, elements,
components, and/or groups thereof.
[0055] Unless otherwise defined, all terms (including technical and scientific
terms)
used herein have the same meaning as commonly understood by one of ordinary
skill in the
art to which this invention belongs. It will be further understood tbat terms
used herein
should be interpreted as having a meaning that is consistent with their
meaning in the context
. of this specification and the relevant art and will not be interpreted in an
idealized or overly
formal sense unless expressly so defined herein.
[0056] There is presently a need for methods and/or apparatus that allow an
automotive technician to analyze the performance of an engine. For example, a
technician
may need to determine if any of an engine's cylinders are misfiring, on
vehicles outside the
scope of on-board diagnostics (OBD) II regulations, such as heavy duty, diesel
and pre-OBD
II vehicles. Moreover, there is a need for systems/methods outside of the
vehicle's onboard
OBD II system that can determine if any of an engine's cylinder(s) are
misfiring. It may also
be desirable to determine if an engine is running smoothly, with little or no
variation in
engine speed under constant conditions, such as at idle.
[0057] Embodiments of the present invention can be used to analyze many
different
types of engines. As used herein, the term "engine" includes any engine, motor
or other
electromechanical device that converts energy, including electrical, chemical,
heat, or any
6

CA 02844926 2014-03-06
9916-4
other type of energy, into mechanical motion. This includes, for example,
internal
combustion engines, electric motors, steam engines, Camot engines, Stirling
engines, etc. A
cyclo-mechanical engine is any engine that operates on a cycle to generate
mechanical
motion.
[0058] Some embodiments of the invention identify variations in engine speed,
which
can indicate likely misfire activity and/or other problematic conditions, from
any of a variety
of signals derived from a running engine that contain information of the
repeating patterns of
the engine's cycle. An example of such a signal is the sound from the engine's
exhaust,
However, other signals, such as electrical signals within the vehicles
electrical system can be
used.
[0059] Some embodiments of the invention utilize a combination of remote
signal
processing (e.g., signal processing performed at the location of the engine)
and central
processing (e.g., processing performed at a location remote from the engine)
for automotive
diagnostics. In particular, some embodiments can identify variations in engine
speed by
collecting engine-related data at the engine and transmitting the data to a
remote location for
processing. Some pre-processing of the data can occur before it is transmitted
to the remote
location, Some vehicles include systems that transmit diagnostic data, such as
fault codes,
collected by an onboard controller in the vehicle to a remote location.
However, such
systems may not actually process the data to diagnose or analyze the engine.
[0060] As an engine operates, it produces a repeating pattern of vibrations
and/or
electrical/electromagnetic patterns as it repeats its engine cycle. Some
embodiments of the
invention detect changes to or other characteristics of this repeating pattern
to infer
instantaneous changes in the speed of the engine. Some patterns of change may
indicate
misfire activity. Some embodiments provide a process for inferring misfire
Activity due to
the presence of these patterns.
[0061] Figures lA to 1D illustrate operation of a four-stroke an internal
combustion
engine that operates according to the Otto cycle. The engine 10 includes an
intake valve 12
= controlled in part by a rocker arm 14 and a spring 16. A valve cover 18
may be positioned
over the intake valve 12. The intake valve 12 is positioned in an intake port
20, Collectively
this forms the intake of the engine. While not illustrated, it should be
understood that a fuel
injector and an air intake are fluidly coupled to the intake port 20.
[0062] On the exhaust side, an exhaust valve 22 is controlled in part by a
rocker arm
24 and a spring 26. The exhaust valve 22 is positioned in an exhaust port 28.
The valve cover
18 may also cover the exhaust valve 22. A spark plug 30 may be positioned
proximate the
7

CA 02844926 2014-03-06
9916-4
exhaust valve 22. A camshaft 32 has cam surfaces that sequentially trigger
rocker arms 14
and 24 as camshaft 32 rotates.
[0063] The intake port 20 and the exhaust port 28 are selectively fluidly
connected to
the cylinder 34. A piston 36 is positioned within the cylinder 34. The piston
36 is connected
to a rod 38 which in turn is connected to a crankshaft 39. The crankshaft 39
dips into oil pan
40 so that oil in oil sump 42 may be used to lubricate the moving parts of the
engine 10. The
engine 10 is enclosed by engine block 44 and head 46,
[0064] During operation, the engine 10 goes through four stages of the Otto
cycle,
Figure lA illustrates the intake stroke. During the intake stroke, the piston
36 moves from an
in position to an out position (illustrated generally by arrow 48). Intake
valve 12 is open,
allowing a fuel and air mixture to flow into the cylinder 34. Exhaust valve 22
is closed.
[0065] Figure 1B illustrates the compression stroke. The piston 36 moves from
the
out position to the in position (illustrated generally by arrow 50). Both the
intake valve 12
and the exhaust valve 22 are closed. This compresses the fuel and air mixture.
[0066] Figure 1C illustrates the combustion stroke. The spark plug 30 emits a
spark
52, which causes the fuel and air mixture to ignite and explode, The force of
the explosion
pushes the piston 36 to the out position (illustrated generally by arrow 54),
which in turn
pushes the crankshaft 39 and provides the motive force. Both intake valve 12
and the exhaust
valve 22 remain closed,
[0067] Figure 1D illustrates the exhaust stroke. The exhaust valve 22 opens,
and the
piston 36 moves from the out position to the in position (illustrated
generally by arrow 56),
pushing the contents of the cylinder 34 out through the exhaust port 28
(illustrated generally
by arrow 58).
[0068] A misfire occurs in the engine 10 when the firing of a cylinder fails
to release
an expected amount of energy. For example, a misfire may occur when the
fuel/air mixture
=
in the cylinder fails to ignite, ignites incompletely, or otherwise fails to
increase pressure in
= the cylinder by an expected amount when it ignites. For example, a
misfire can occur if the
spark plug fails to provide an adequate spark, if the air/fuel mixture is out
of balance, and/or
if there is a loss of compression in the cylinder during the compression
cycle. A misfire can
have a number of detrimental effects, including loss of power, emission of
unignited
,
hydrocarbons through the engine exhaust, backfiring, etc.
[0069] A system 120 for analyzing an engine according to some embodiments is
illustrated schematically in Figure 2. As shown therein, the system 120
includes a sensor 122
and an engine speed analyzer 124. The sensor 122 may sense a signal 130
associated with an
8

CA 02844926 2014-03-06
9916-4
engine 10 and responsively generate a sensor output signal 132, where
"associated" means
any signal that is generated as a byproduct of engine operation. The signal
may in some
embodiments be an electronic signal. Alternatively, the sensor 122 can sense a
non-
electronic signal 130, such as an audible signal, a vibration signal, an
electromagnetic signal,
etc., associated with the engine 10, and generate the sensor output signal 132
in response to
the non-electronic signal. In that case, the sensor 122 can include a
transducer that generates
an electronic sensor output signal 132 in response to an audible signal 130
associated with the
engine 10. The engine speed analyzer 124 analyzes the sensor output signal
132. From this
analysis, the engine speed analyzer 124 may identify the occurrence of a
misfire condition in
the engine 10 as described in detail below.
[0070] The signal 130 can be detected using a microphone placed in the exhaust
pipe,
a directional microphone attached to the vehicle, an airflow sensor in the air
intake or
exhaust, a MAP sensor, an RF sensor near the engine, a vibration sensor
attached to the
vehicle, an optical sensor arranged to determine vibration by measuring
deflection of a laser,
an electrical sensor attached to the electrical system of the vehicle, such as
by being plugged
into a 12V power outlet. In some embodiments, an optical sensor may be used to
measure
the movement of a belt, gear, sprocket, timing chain, or other moving part of
an engine.
[0071] In embodiments in which a sensor on a belt, gear, sprocket, timing
chain, or
other moving part of an engine is analyzed, it is possible to detect
variations in engine speed
within a single engine cycle.
[0072] The system 120 further includes a processor 125 and a display 126 that
can
determine and indicate what remediation is appropriate for a detected misfire.
For example,
the processor 125 can examine the output of the engine speed analyzer 124 and
determine
what service on the engine is recommended or desired based on the severity of
the engine
rpm variability or misfire activity. In some embodiments, if the misfire
activity indicates that
the misfires are likely due to dirty or clogged valves, the processor 125 can
identify a strength
and/or composition of chemical cleaner that is recommended to remediate the
misfire
problem for the engine being analyzed. The results may be displayed on the
display 126.
[0073] The processor 125 may optionally be configured to receive a cylinder
timing
signal 140 from the engine 10 that may be used to determine a firing order of
cylinders in the
engine 10. The cylinder timing signal 140 can be obtained, for example from a
spark plug
connector of one of the cylinders to provide a spark timing point.
Alternatively, the cylinder
timing signal can be obtained from a earn sensor or crank sensor in the engine
10. By
comparing the cylinder timing signal 140 with the analysis of the sensor
output signal 132,
9

CA 02844926 2014-03-06
,
9916-4
the processor 125 can identify which particular cylinder(s) are misfiring.
This information
can be displayed to a user of the system 120 via the display 126.
[0074] Figure 3 is a flowchart of operations of a system 12 according to some
embodiments, Referring to Figures 2 and 3, initially, a sample of the signal
130 output by the
sensor 122 is recorded by the misfire analyzer 124 (Block 201). In some cases,
a misfire can
be detected in a sample of the signal 130 that is less than a second, However,
it is typically
desirable to record a longer sample. For example, if an engine is misfiring
every 20 seconds
on the average, it may not be possible to detect a misfire using a measurement
sample that is
less than 20 seconds long. Some embodiments record a sample of the signal 130
that is about
1 minute long.
[0075] The signal 130 can be digital or analog. However, an analog signal may
be
digitized for analysis. Some embodiments may use a digital audio signal
obtained from the
engine exhaust sampled at 44,100 Hz. For example, a microphone may be used to
detect the
sound coming from the exhaust. A signal can also be obtained using (i) a
microphone in the
intake manifold, (ii) a voltage sensor on the electrical system (including the
cigarette lighter),
(iii) electromagnetic sensor near the engine (detecting radio signals created
by the engine's
electrical system), (iv) a microphone near the engine suspended from the
raised hood of the
vehicle, (v) a piezo sensor (or microphone) attached to the body of the
vehicle, and/or any
other similar signal acquisition apparatus.
[0076] Figure 4 illustrates an example of an audio signal sample 181 (upper
portion
of the graph) recorded from an engine exhaust, and a DC-adjusted electrical
signal sample
182 (lower portion of the graph) recorded from a cigarette lighter of a car
during engine
operation. These samples can be analyzed in accordance with the methods
described herein
to determine the presence or absence of a misfire condition.
[0077] Returning to Figures 2 and 3, in preparation for misfire detection, the
signal
130 may be filtered using, for example, a low pass filter (Block 202). The
signal 130 may
include numerous high frequency signal components that correspond to sources
other than the
720 degree engine cycle, as well as reflections and resonances in the signal
path and other
noise. The signal 130 may be passed through a loi,v pass filter to reduce
these components of
the signal. In general, the low pass filter may have a cutoff frequency
selected to be high
enough to retain signal components associated with the 720-degree engine cycle
yet low
enough to reject undesirable signal components, such as high frequency
components
associated with the presence of stators in the engine's alternator,

CA 02844926 2014-03-06
9916-4
[0078] In some embodiments, a fourth order Butterworth filter may be applied
twice
to the signal, once forward in time and then once in reverse to reduce impact
on the phase of
the signal.
[0079] Each direction may have a -3db cutoff point at a frequency
corresponding to
900 RPM, which is expected to be higher than the idle speed of the engine
under test. It will
be appreciated that the actual cutoff frequency in cycles per second (Hertz)
is based on the
number of cylinders of the engine. For example, an 8-cylinder engine will
experience 8
cylinder firings per 720 degrees of rotation, or four cylinder firings per
revolution of the
crankshaft. For an 8-cylinder engine, therefore, 900 RPM corresponds to a
frequency of
900*4/60 Hz, or 60 Hz.
[0080] Accordingly, filter parameters for a fourth order Butterworth filter
may
depend on the number of cylinders in the engine being analyzed, as shown in
Table 1.
No, of cylinders Normalized cutoff
frequency (in half
cycles/sample)
3 0.00102040816327
4 0.00136054421769
0,00170068027211
6 0,00204081632653
8 0.00272108843537
Table I ¨ Filter design parameters
[0081] Information about the number of cylinders in the engine may be obtained
in
some embodiments by scanning and decoding the vehicle identification number
(VIN) of the
vehicle and/or reading information from the vehicle's OBD II port. The VIN may
include
information about the vehicle, such as its make, model, year, options, engine
type, etc. The
systems/methods disclosed herein may choose a particular algorithm, filter
parameters, etc.,
based on information derived from the YIN. In addition, it is possible to look
up information
about the car in a database using the VIN,
11

CA 02844926 2014-03-06
9916-4
[0082] Next, cycle length estimation is performed (Block 220). The length of
the
fundamental basis cycle of the engine (i.e., the "duration") is then estimated
at various times
throughout the recorded sample of the signal 130. In the case of a four-stroke
engine, for
example, the fundamental basis cycle of the engine may correspond to a 720
degree cycle in
which each 720 degree cycle corresponds to two rotations of the engine
crankshaft. While
analysis of a four-stroke engine is described in detail herein, it will be
appreciated that the
inventive concepts described herein are not limited to analysis of four-stroke
engines.
[0083] The times at which the engine duration is estimated may be spaced
evenly
throughout the signal. "Duration" is related to engine speed in revolutions
per minute (RPM)
as follows. As each 720 degree cycle in a four-stroke engine corresponds to
two rotations of
the engine crankshaft, the engine speed, in RPM, of a four-stroke engine can
be expressed as
shown in Equation (1).
Speed (in RPM) 120/Duration (in seconds) (1)
.;
[0084] Thus, for example, an engine having a 720-degree cycle duration of 0.1
seconds is running at 1200 RPM.
[0085] In cycle length estimation, the operations first determine if the
signal has a
complicated spectrum (Block 204). If so, maximum adjacent correlation is
performed on the
1
signal 130 as discussed below relative to Block 208, Otherwise, if the signal
does not have a
complicated spectrum, correlation analysis is performed on portions of the
signal as discussed
below (Block 206).
[0086] The complexity of the frequency spectrum of the signal is analyzed
(Block
204). The frequency spectra of a signal may be obtained by taking a 1024-point
Discrete
Fourier Transform (DFT) of the signal 130, although other DFT window sizes
could be used.
It will be appreciated that when a 2N-point DFT is being calculated wherein N
is an integer, a
computationally efficient Fast Fourier Transform (FFT) algorithm could be used
for the
calculation. Figures 5A-5D illustrate frequency spectra of various signals 30.
Figures 5A
and 5B show simple DFTs having a single peak in the frequency spectrum, while
Figures 5C
and 5D show more complicated DFTs including multiple peaks in the frequency
spectrum.
[0087] The basic concept is that "simple" frequency spectra have single
dominant
peaks while the "complicated" frequency spectra have multiple dominant peaks.
When a
spectrum is complicated, the fundamental frequency can be ambiguous, and
therefore harder
to identify when attempting to track variations in the fundamental frequency.
12

CA 02844926 2014-03-06
9916-4
[0088] In general, signals obtained from engines with 5 or fewer cylinders may
be
considered "simple", However, in some cases, 6-cylinder engines can produce a
"simple"
signal (i.e., a signal having a "simple" ftequency spectrum).
[0089] Correlation refers to a mathematical operation that compares one signal
with
another. In particular, correlation is a measure of how similar two signals
(e.g. f[k] and g[k])
are when they are offset from each other by a given shift n. Mathematically,
correlation of
discrete signals Ilk] and g[k] is defined as:
(f g)[n]= E f[m]g[n + m] (2)
[0090] In a correlation operation, the signals are repeatedly shifted and
multiplied
together. At each shift n, the signals are multiplied together on a saniple by
sample basis, and
the results are summed. Thus, correlation of two signals produces a sequence
of numbers
that indicate how similar the signals are over a range of shift values. The
peak of the
correlation sequence indicates the shift value at which the signals are most
similar.
[0091] Figures 6A to 6D illustrate correlation results and alignment of
portions of the
signals corresponding to Figures 5A to 5D, respectively, based on the
correlation results, In
particular, Figures 6A(1) to 6D(1) illustrate RPM variation over a 10-second
interval, The
graphs of Figures 6A(2) and 6B(2) illustrate portions of simple filtered
engine signals that
were aligned using autocorrelation, while the graphs of Figures 6C(2) and
6D(2) illustrate
portions of complex filtered engine signals that were aligned using maximum
adjacent
correlation.
[0092] Figures 6A(3) to 6D(3) illustrate frequency spectra of the filtered
engine
signals. Figures 6A(4) and 6B(4) illustrate reduced sample rate
autocorrelation results, while
Figures 6C(4) and 6D(4) illustrate results of reduced sample rate maximum
adjacent
correlation.
[0093] As will be appreciated, interpretation of the correlation results for
"simple"
engine signals may be relatively straightforward, while the correlation
results from
"complicated" signals may be more difficult to interpret.
[0094] In particular, Figure 6A(4) shows a repeating pattern of correlation
peaks 190
spaced at regular intervals.
[0095] In particular, correlation results for "simple" signals may have local
maxima at
time points when the signal shows more similarity to earlier versions of
itself. The repetitive
13

CA 02844926 2014-03-06
= 9916-4
nature of the engine's signal produces regular peaks in the correlation
results that show where
it repeats.
[0096] The duration is determined to be a multiple of the distance between the
correlation peaks (e.g., the cycle duration is determined based on the number
of samples from
the first correlation peak 190A to the next correlation peak 190A).
[0097] Accordingly, for a "simple" signal, the engine speed at a particular
portion of
the signal 130 can be measured directly from the correlation results at that
particular portion
of the signal 130.
[0098] Processing of "Simple Signals"
[0099] According to some embodiments, the duration of an engine cycle can be
determined in one of two ways depending on whether or not the signal 130 has a
complicated
frequency spectrum. For signals having simple frequency spectra, a correlation
is performed
and the correlation results are analyzed. A number of peaks in the correlation
output
corresponding to the number of cylinders of the engine is counted.
[00100] In particular, estimation of the engine cycle
length, or duration, may be
rl done using an auto-correlation analysis of portions of the signal
sample at selected time
points. This means that a section of the signal is correlated with a time
shifted version of
itself (or another section of the signal).
[00101] Processing of "simple" signals is illustrated in
Figures 7A and 7B. The
X- and Y- axis scales shown in Figures 7A and 7B are arbitrary. ,
[00102] Referring to Figure 7A, sections 200 of the signal
130 are chosen for
correlation analysis at various locations in the signal Sample. These sections
200 may be
referred to as correlation windows. The length of the sections 200 may be
chosen to be large
enough to include at least several engine cycle durations. For example, for a
four cylinder
engine, the correlation window may have a length of 0.6 seconds.
[00103] Referring to Figure 7B, a fixed reference window
230 is established at
the start of each section. A sliding correlation window 235 is defined
relative to the fixed
reference window 230. The portion of the signal 130 in the sliding window 235
is correlated
with the portion of the signal in the sliding window, and the correlation
results are analyzed.
The sliding window is advanced to start at the next sample, and the
correlation is again
performed until sufficient cylinder peaks are counted in the correlation
output. The speed of
the engine can then be taken from the correlation output results as described
above with
respect to Figure 6A.
14

CA 02844926 2014-03-06
9916-4
[00104] In other embodiments, for simple signals, the portion of the
signal in
the reference window 230 may simply be correlated with itself, and the
correlation results
analyzed as described above with respect to Figure 6A(4).
[00105] In still other embodiments, the portion of the signal in the
reference
window 230 may be analyzed to identify repetitive features, such as zero
crossings with
positive slope, zero crossings with negative slope, etc. The zero crossings
may be used to
align adjacent cycles, and the last cycle length may be used to predict the
next cycle length
and then use the zero (or other constant) to fine tune the next one.
[00106] Processing of "Complicated" Signals
[00107] For engines with complicated frequency spectra, (e.g., engines
with 6
or more cylinders), a single DFT, such as a 1024-point Hamming-windowed FFT,
is taken
from the middle of each ten-second segment (at the reduced sample rate of
1378.125 Hz,
equivalent to approximately one second worth of signal).
[00108] In the eight cylinder case, the spectrum for a ten-second
segment is
considered "complicated" if it has at least two peaks above the minimum
threshold (for
example, 0,0625 * maximum FFT magnitude). In the six cylinder case, a spectrum
is
considered complicated if it has at least four strong peaks (at 0,03125 *
maximum FFT
magnitude), OR if it has at least two strong peaks, but at least one of the
peaks is very strong
(0,5 * maximum FFT magnitude), and outside the min/max RPM range for a six
cylinder. In
addition, a noise reduction step may be applied between the FFT and the peak
detection,
which amounts to a frequency domain cyclic autocorrelation (i.e. conjugate
multiplication of
the spectrum). Note this is completely unrelated to the primary [moving]
correlation
analysis that is performed in the time domain for signals with simple spectra,
although it is
used for a similar reason.
[00109] For signals having more complicated spectra (as indicated by
the
presence of multiple peaks in the FFT output), a maximum adjacent correlation
method
(Block 208) may be used.
[00110] Maximum adjacent correlation is illustrated in Figures 8A to
8C. The
X- and Y- axis scales shown in Figures 8A-8C are arbitrary.
[00111] Referring to Figure 8A, similar to the "simple" case, sections
225 of
the signal arc chosen for correlation analysis at various locations in the
signal sample. A
minimum expected duration (corresponding to a maximum RPM) and a maximum
expected
duration (corresponding to a minimum RPM) are estimated.

81778106
[00112] Referring to Figure 8B, at each section 225, a first
correlation window
240 is defined. The first correlation window 240 has a length equal to the
minimum expected
duration. A second correlation window 245 is defined adjacent the first
correlation window
240, and has the same length as the first correlation window 240.
[00113] The portion of the signal 130 in the first correlation
window 240 is
correlated with the portion of the signal 130 in. the second correlation
window 245.
[00114] The first and second correlation windows 240,245 are then
increased
by one sample each, and the correlation is performed again. This process is
repeated until the
first and second correlation windows have reached their maximum length,
corresponding to
the minimum expected RPM, as shown in Figure 8C.
[00115] The duration is assumed to be equal to the length of the
correlation
windows 240, 245 at which the .correlation output is maximized.
[00116] To speed processing of this step, the following can be done:
a. At a
lower sample rate, the algorithm estimates the length of engine cycles using
the above
technique for time periods spaced (evenly, randomly or otherwise chosen)
throughout the
signal. b. RPM estimates that would not be likely due to unrealistic
accelerations are
discarded. In other words, RPMs that change "too fast" are removed. c. The
remaining RPMs
are curve fit to create an initial guess of how RPM varies over time using a
spline, linear or
other fit. d. Using the full sample rate and the estimated RPM trace as a
starting point, the
RPM prediction is optimized over time by looking for the nearest auto-
correlation or
maximum adjacent correlation maximum corresponding to the guessed RPM and
using that
maximum to derive the predicted RPM at full sample rate.
[00117], Figures 9-10 illustrate analysis of an engine signal from a
six cylinder
engine having a simple spectrum, while Figures 1142 illustrate analysis of an
engine signal
from an eight cylinder engine having a complicated spectrum.
[00118] In particular, Figure 9(a) is a graph of a raw acoustic
signal measured
at the exhaust of a vehicle. Figure 9(b) illustrates a low pass filtered
version of the exhaust
signal, while Figure 9(c) illustrates the relatively simple frequency spectrum
of the filtered
signal.
[00119] Figure 10(a) illustrates a segment 200 of the filtered
signal, while
Figure 10(b) illustrates autocorrelation results obtained by autocorrelating
the segment 200
(i.e., correlating it with itself). The autocorrelation results show clear
autocorrelation peaks
from which the duration of the engine signal can be determined as discussed
above.
16
CA 2844926 2019-12-05

CA 02844926 2014-03-06
9916-4
[00120] Figure 11(a) is a graph of a raw acoustic signal
measured at the
exhaust of a vehicle having an eight-cylinder engine. Figure 11(b) illustrates
a low pass
filtered version of the exhaust signal, while Figure 11(c) illustrates the
relatively complicated
frequency spectrum of the filtered signal,
[00121] Figure 12(a) illustrates a segment 225 of the
filtered signal including
adjacent correlation windows 230, 235, while Figure 12(b) illustrates
correlation results
obtained by correlating the portion of the signal in the first correlation
window 230 with the
portion of the signal in the second correlation window 235.
[00122] Figures 13A-13D illustrate graphs of engine speed in
RPM versus time
corresponding to Figures 5A-5D, respectively.
[00123] Referring again to Figure 3, once a set of data
points corresponding to
estimated RPMs at each selected segment of the signal 130 have been obtained,
outlying data
points in the correlation results may be eliminated (Block 210), In
particular, assuming that
the engine is idling at near-constant RPM, an iterative outlier analysis is
applied to remove
duration length estimates that are more than two standard deviations away from
the mean of
the remaining estimates. The remaining duration lengths arc assumed to be
representative of
the true engine idle RPM.
[00124] Next, the duration lengths between the remaining
duration length
= estimates are interpolated (Block 212) to produce an estimated duration
length trace for the
time-span of the recording. In some embodiments, the algorithm takes the
estimated duration
= length trace and computes and subtracts a drift trace to account for RPM
drift caused by
engine warming.
[00125] The cycle length estimates may then be refined (Block
214). In some
embodiments, the algorithm then starts back at the beginning of the recording
and attempts to
identify each engine duration explicitly by aligning the signal sections from
adjacent
durations. The starting point for the first duration is chosen to be the
lowest point in the first
half second of the recording, The starting point of the next duration is
determined by: 1. First,
looking up the duration length of the previous duration in the estimated
duration length trace,
2. Then, shifting the start time of the next duration either earlier or later
by the number of
samples that maximizes the correlation of the adjacent segments. 3. When
determining the
length of the third and subsequent durations, the maximal auto-correlation
shifted start time
for each duration is determined by selecting the shift that maximizes the auto-
correlation to
any of the previous N durations (e.g., N=5). This step may be important for
the robustness of
17

CA 02844926 2014-03-06
9916-4
the algorithm, since the presence of a misfire can cause adjacent durations to
be very
dissimilar.
[00126] The alignment process continues until the end of the recording is
. reached. The final, partial duration is discarded.
[00127] A further refinement may be to discard "outlier" engine speed
estimates (e.g., estimates that are more than two standard deviations from
mean) and then
interpolate the remaining engine speed estimates. Such a refinement may enable
these
= systems/methods to make sense of very noisy signals
[00128] Finally the engine is diagnosed by looking for characteristic
patterns in
RPM variation over time based on the computed cycle durations. For instance, a
misfire may
be characterized by a sudden drop in RPM followed by a recovery. The severity
of each
misfire can be characterized by the size of the RPM drop. The results are
scored (Block 216)
indicating predicted misfires.
[00129] In some casts, the shape of the signal can be analyzed to identify
characteristic patterns or misfire activity. For example, any departure from
the regular pattern
of a non misfiring signal, such as when a regular peak or valley in the signal
is greater or
= smaller than usual, may indicate the occurrence of a misfire.
[00130] Some embodiments of the invention can be totally non-invasive to
the
vehicle. Embodiments of the invention may be implemented in many different
ways, as there
are many difference sources of signals that can be used,
. [00131] Moreover, the measurements used in connection with embodiments of
the invention may be very easy to perform.
[00132] Some individual sub-components of the engine and vehicle ("Other"
motors, e.g., fuel injectors, spark plugs, ignition coils, valves, etc) also
have a fixed and
repeating constant eleetro mechanical motion that can also be diagnostically
analyzed with ,
the teclmiques of the invention.
[00133] Some embodiments may further provide methods of measuring
crankshaft angular acceleration without the need for using sensors and
processors built
directly in to the vehicle itself.
[00134] Further embodiments of the invention are illustrated in Figure 14,
which is a block diagram of systems/methods for remote engine analysis. As
shown therein,
a test unit 320 includes a sensor 322 that senses a signal 130 associated with
an engine 10,
including an electronic signal or a non-electronic signal, such as an audible
signal, a vibration
signal, an electromagnetic signal, etc. The sensor 322 can include a
transducer that generates
18

CA 02844926 2014-03-06
9916-4
an electronic signal in response to an audible signal associated with the
engine 10. When the
signal 130 includes an analog signal, the processor 325 may sample the signal
130 to convert
the signal 130 into a digital signal.
[00135] The test unit 320 further includes a processor 325, a
display 326 and a
communication module 328. The communication module is configured to enable the
test unit
320 to communicate with a remote server 400 over a communication interface
350, which
can include a public communication network, such as the Internet, a private
communication
network such as a privately operated Ethernet, a direct point-to-point
communication
interface, etc. Accordingly, the communication module 328 may be configured to
communicate using a data communication protocol, such as TCP/IP, over a wired
or wireless
communication interface.
[00136] The signal 130 is provided by the sensor 322 to the
processor 325,
which transmits the signal 130 using the communication module 228 over the
communication
interface 350 to the remote server 400. The test unit 320 may send the signal
130 to the
remote server 400 as raw signal data. In some embodiments, the test unit 320
may process
the signal data prior to transmitting the data to the remote server. For
example, the test unit
320 may truncate the signal to a predetermined number of samples, may filter
the data, may
compress the data and/or may perform other data processing operations on the
signal prior to
transmission of the signal to the remote server 400,
[00137] The remote server 400 includes an analyzer 410, a
communications
module 430 and a data store 420. The communications module 430 is configured
to enable
'
the remote server 400 to communicate with the test unit 220 over the
communication
interface 300. In particular, communications module 430 receives the data
signal 130 from
the test unit 220 and provides the data signal 130 to the analyzer 410 for
analysis using the
techniques described herein. The communication module 430 also transmits a
signal from
the analyzer 410 to the test unit 220 indicative of the results of the
analysis of the data signal
130.
[00138] The data store 420, which may include one or more
local or remotely
accessed databases, may contain information used by the analyzer 410 to
analyze the signal.
[00139] The engine speed analyzer 410 analyzes the electronic
signal 130.
From this analysis, the engine speed analyzer 410 may identify the occurrence
of a misfire
condition in the engine 10 as described in detail above.
[00140] Further embodiments of the invention are illustrated
in Figure 15. As
shown therein, a sensor 522 may be provided that is separate from a test unit
520. The sensor
19

CA 02844926 2014-03-06
9916-4
522, which may include for example an acoustic transducer, a voltage detector,
a current
sensor, etc., may provide a data signal 130 derived from an engine 10 to a
test unit 520,
= which includes a processor 525, a communications module 528 and a display
526. The
processor 525, communications module 528 and display 526 are similar in
function to the
processor 225, communication module 228 and display 226 shown in Figure 14.
[00141] In some embodiments, the test unit 520 may include a
handheld
computer, a laptop computer, a smartphone, a tablet computer, a desktop
computer or any
other general purpose computing device that is configured to receive a data
signal 130
generated by the sensor 522 and transmit the signal to a remote server 400.
When the signal
130 received by the test unit 520 is an analog signal, the test unit 520 may
sample the signal
to form a digital signal. The digital signal is transmitted by the test unit
520 over a
communication interface 300 to a remote server 400 that analyzes the signal as
discussed
above.
[00142] Some embodiments provide systems and/or methods that
can
accurately measure engine speed variations at short timescales by analyzing
electrical signals
generated within an automotive system. In particular, these systems/methods
may analyze an
electrical signal associated with the engine, such as a 12-volt signal
generated by the
electrical system of an automobile. The 12-volt signal can be sensed, for
example, through a
standard 12-V outlet in an automobile. Further embodiments may use additional
information
derived through the ODB II port on an automobile to assess whether or not the
engine is
misfiring and help determine the cause of the misfire and the cylinder(s) that
are experiencing
misfires. In some embodiments, a current signal associated with the engine,
such as an
ignition signal, can be detected and analyzed to identify a misfire condition,
[00143] In automobiles in which an engine control computer is
present, the
engine control computer keeps track of where each cylinder is in relation to
the crank angle
and turns on ignition and injector coils to charge the coils and fire the
spark plugs at the
appropriate time, A vehicle engine control computer monitors where each
cylinders piston is
(via crankshaft position) and controls spark and injection timing. The engine
control
computer may, but need not, have an ODB II compliant interface.
[00144] An ignition coil has both primary and secondary coil
windings. Most
cars provide a constant 12 volt signal to one of the two inputs on the primary
coil, while the
ignition system provides a switched ground to the other input on the primary
coil that pulses
on and off as the engine is turning.

CA 02844926 2014-03-06
9916-4
[00145] On modern cars, the vehicle's power train control
processor determines
the ground pulse timing by monitoring crank angle position via a crankshaft
position sensor
(CKP). With the ignition switched on and the primary ground closed, current
flows from the
positive battery terminal, through the ignition switch and the primary winding
to ground, then
back to the negative battery terminal. The on/off ground pulse provides signal
for a spark that
= comes out of the secondary side of the coil,
[00146] The CKP can be used in combination with a camshaft
position sensor
(CMP) by the vehicle processor to monitor the relationship between the pistons
and valves in
= the engine. The rotational speed of the camshaft is half that of the
crankshaft. Fuel injection
coils are also triggered in the same way as ignition coils with a switched
ground to properly
time a multi-port fuel injection system. Cylinder specific injection coils are
each triggered
once every 720 crankshaft degrees, just before each cylinder's intake valve
opens. The
discharge of injection coils may also appear in the engine electrical signal.
[00147] When a spark plug discharges, the entire electrical
system of an
automobile sees a momentary voltage drop coupled with a spike in RF energy at
the moment
of discharge.
[00148] For example, Figure 16 is a graph that illustrates a
12V signal of an
automobile engine measured while the engine is running. As shown in Figure 16,
the 12V
signal includes some low frequency fluctuation or ripple peaks 72 due to the
poles in the
.= alternator that generates the signal. A regular series of high
frequency pulses ,74 is
superimposed onto the 12V signal. Some high frequency pulses are generated
each time a
spark plug in the engine fires.
[00149] In general, the timing of the sparks directly
indicates the crankshaft
position over time. There may be small differences due to retardation of the
ignition to
control knocking or for traction control. However, this is not typically
evident when the
engine is idling, Moreover, if the ignition timing is altered by the vehicle's
onboard
computer, it is normally altered for all cylinders equally.
[00150] In general, the vehicle processor will always retard
or advance ignition
timing for all cylinders equally (as opposed to individually) based on engine
load timing
requirements. Timing should not change at any given engine speed unless engine
load
increases, e.g., accelerating after a traffic stop light turns green, or
cruising at 3000 rpm and
then increasing engine load by pushing the accelerator pedal down further to
maintain 3000
RPM while climbing a hill or grade.
= 21

CA 02844926 2014-03-06
:
9916-4
[00151] Some embodiments measure engine rpm activity by
connecting
directly to the electrical system, such as to a 12V outlet, or by measuring
external RF signals
generated by the engine. Some embodiments identify the timing of spark
ignition due to
either RF spikes or electrical system voltage drops. This information may be
used to
determine the average speed of the engine based on the spacing of spark
ignitions. Other
embodiments may identify the engine speed in response to changes in the
voltage level of the
DC voltage produced by the alternator.
[00152] Some further embodiments may use the spacing of the
AC peaks 72 in
the DC signal due to the alternator poles. Other embodiments use the overall
baseline DC
voltage as it increases when the engine moves faster to obtain an estimate of
engine speed.
[00153] Some embodiments may use time domain and/or frequency
domain
analysis of digital and/or analog signals.
[00154] Some embodiments may independently measure a signal,
such as an
electromagnetic signal, a current signal, an acoustic signal or other signal
from an engine
component, such as a spark plug, fuel injector, valve, etc,, to determine the
timing of a
specific single cylinder. In general, a signal may be obtained from any
mechanical or
electronic component of an engine that repeats in synchronicity with the
crankshaft
revolution, or some multiple or fraction of a crankshaft rotation.
[00155] The signal can be used to accurately measure engine
RPM over each
õ.
720 degree cycle.. When this is combined with one of the methods described
above along
with knowledge of the engine cylinder firing order, it is possible to
determine specifically
which cylinder firing corresponds to each of the individual rpm accelerations.
If a misfire is
detected, this will show which cylinder did not fire properly. In fact, it is
possible for the
engine speed to vary even during individual cylinder firings. It is possible
to see the
crankshaft speed up with each firing and slow down between firings. From this,
it is possible
to detect a misfire if the speed up is less than expected or less than some
threshold based on
µ,
previous (or following) engine speed increases.
[00156] When the analysis requires knowledge of the number of
cylinders
and/or the firing order of the cylinders, this information can be derived from
the VIN of the
car and a database or lookup service, and/or information queried from the OBD
II port
combined with a database or a lookup service.
[00157] This approach can determine random misfires, which
can be a sign of
the need of an engine cleaning and/or which can be a sign of faulty or
incorrect (i) ignition
related component, such as spark plugs, ignition coil(s), ignition cables,
crankshaft sensor,
22

CA 02844926 2014-03-06
9916-4
etc., (ii) fuel/air ratio related components, such as injector(s), injector
poppets(s), MAF (mass
airflow) sensor, fuel pump, camshaft sensor, etc., or (iii) compression
related components,
such as weak valve spring(s), sticky valve(s), sticky ring(s), jumped timing
chain or belt, etc,
[00158] This approach may also enable a repair technician to isolate
which
cylinder(s) are intermittently misfiring and causing a driveability issue,
and/or before a
drivability issue becomes evident.
[00159] Some embodiments may further be capable of identifying regular
repeating misfires, which can be a result of faulty or incorrect (i) ignition
related component,
such as spark plugs, ignition coil(s), ignition cables, crankshaft sensor,
etc., (ii) fuel/air ratio
related components, such as injector(s), injector poppets(s), MAF (mass
airflow) sensor, fuel
pump, camshaft sensor, etc., or (iii) compression related components, such as
weak valve
spring(s), sticky valve(s), sticky ring(s), defective head gasket, etc.
[00160] Some embodiments allow a technician to narrow down what service
an
engine may or may not benefit from and help decide an effective course of
action based on
the information.
[00161] The vehicle identification number (VIN) can be found by reading
from
the VIN plate or badge on the car and typed in by hand, scanned as a barcode
or optical
character recognition (OCR) and/or queried from the OBD II port.
[00162] From the VIN, it is possible to determine using a database or
lookup
service the make, model, engine type (including number of cylinders and firing
order), year
and other details and options on the car. With this information, it is
possible to better
diagnose issues or predict recommended service.
[00163] In particular, it becomes possible to fine tune recommendations
for
engine cleaning based on additional information known about the car's details.
Moreover, it
is possible to look for known rpm variation patterns for a particular
vehiele.to identify a
known potential problem with the engine or other system tied to the engine.
[00164] In a V-6 engine, the cylinders are arranged in two rows, or
banks of
three cylinders each. In modern V-6 engines the cylinders are fired from
alternating banks.
For example, the firing pattern may described as Bl-B2-31-32-B1-B2. According
to some
embodiments, it is also possible to detect a jumped timing belt or chain on a
V6 engine if the
spacing between cylinder firings is only equidistant on every other firing (as
opposed to
equidistant spacing for all cylinders on a correctly mechanically timed V6
engine). Spacing
between cylinder firings can be determined, for example, from the spacing
between RF
spikes associated with the cylinder firings.
23

CA 02844926 2014-03-06
=
9916-4
[00165] Unlike a V6 engine, a modern crossplane V8 engine may
not have a
completely alternating firing order by bank. For example, Some modern
crossplane V-8's use
the firing order Bl-B1-B2-B1-B2-B2-B1-B2. Other modern crossplane V-8 engines
using
the firing order Bl-B2-B1-B2-B2-B1-B2-B1. Most, if not all, modern crossplane
V-8's
follow one of these patterns and are actually the same firing sequence
depending on where
the firing sequence is considered to start.
[00166] Thus, a jumped timing belt or chain can also be
detected on a V8 (or
V10) engine if only the even spike spacing follows the same pattern as the
firing order (as
opposed to equidistant spike spacing for all cylinders on a correctly
mechanically timed V8
engine).
[00167] According to some embodiments, analysis of RF spikes
associated
with spark plug firing can include the operations illustrated in Figure 17. As
shown therein,
first, the input electrical signal is received and conditioned. For example,
the electrical input
signal that is received from the engine can be filtered with a series
capacitor to protect the
measurement device and to filter DC components out of the input signal (block
902). The
electrical signal can also be filtered with a median filter to reduce impulse
noise in the
electrical signal and/or filtered with a bandpass filter to precondition the
signal for
processing.
[00168] A matched digital filter may be applied to the input
signal to isolate
short energy spikes for analysis. For most vehicles, each spark event is
composed of a
sudden drop in DC voltage terminated by a sharp vertical jump. Ignition coil
charging events
may be detected by looking for asymmetric dips in DC voltage. Once the coil
charging event
is detected, it is possible to refine the timing of the spark by looking for
the exact location of
the following vertical jump. An impulse response of a suitable matched filter
is shown in
Figure 17A.
[00169] Returning to Figure 17, the systems/methods may
identify a plurality
of spikes for analysis that are larger than a threshold level, such as energy
level, voltage level,
shape, etc. (block 904). The systems/methods then check the spacing of the
spikes to verify
=
that they are almost regularly spaced (i.e., within the constraints of how
quickly engine speed .
can actually change). Outlying samples can be discarded.
[00170] From the remaining spikes, the systems/methods
calculate engine
speed based on the angle between firings divided by time (block 908). The
engine speed can
be recorded at some time between (e.g. in the middle of) the last two firings,
which
corresponds to the average engine speed between those two firings.
24

CA 02844926 2014-03-06
9916-4
[00171] The engine speed can be tracked over time. (Block
910). When the
engine speed drops by more than an expected amount, an engine speed anomaly
may be
recorded. The anomaly may be weighted based on the magnitude of the drop in
engine
speed (block 912). Any detected misfire/anomaly activity may be reported by
the
systems/methods (block 914), and the systems/methods can recommend a service
based on
the report (block 916).
[00172] Other systems/methods may analyze peaks in the
electrical signal
associated with alternator poles to identify potential misfire activity,
Analyzing the poles ,
may provide more data points between individual cylinder firings that are
obtained by
analyzing spark plug signals. For example, referring to Figure 18, the
systems/methods may
= receive and condition an input signal (block 1002), For example, the
electrical input signal
that is received from the engine can be filtered with a series capacitor to
protect the
= measurement device and to filter DC components out of the input signal. A
band pass digital
= filter may be applied to the input signal to isolate signal components
associated with the
alternator poles for analysis.
[00173] The systems/methods may then identify signal cycle
variation due to
poles (block 1004). The systems/methods may use a fast Fourier transform (FFT)
with
padded input to achieve higher frequency resolution. The systems/methods may
then record
the real time engine speed based on the spacing of the poles in the time
domain (block 1006).
The systems/methods may identify accelerations due to cylinder firings (block
1008). In
some embodiments, the systems/methods may estimate an energy difference due to
the
acceleration in the frequency domain (w2f-w2i) (block 1010), If the energy
difference is less
than a threshold amount, the systems/methods may record the event as an
anomaly (block
1012).
[00174] The threshold can, for example, include a moving
average energy
difference, a last energy difference for the cylinder in question, and/or an
difference
compared to the energy difference associated with the previous cylinder,
[00175] = The misfire (or anomaly) may be weighted based on the
magnitude of
the energy drop (block 1014).
[00176] The misfire/anomaly activity may be reported (block
1016), and the
systems/methods may generate a service recommendation based on the reported
misfire/anomaly activity (block 1018),
[00177] Analysis of the electrical signal may further include
the operations
illustrated in Figure 19, These operations may also analyze the AC ripple
present in the

CA 02844926 2014-03-06
9916-4
alternator output (referred to herein as "alternator diode ripple" or simply
"diode ripple").
Some further embodiments may identify engine speed variations by tracking one
or more
harmonics of the spark signal, such as harmonics within a range of about 10 Hz
to about 1000
Hz using the techniques described herein, Some further embodiments may
identify engine
speed variations by tracking increases in DC output from the alternator,
typically at a
frequency between about 10 Hz and about 40 Hz, using the techniques described
herein. Still
further embodiments may identify engine speed variations by tracking one or
more harmonics
= in an exhaust signal, typically at a frequency between about 10 Hz and
about 200 Hz, but
potentially up to 10 kHz. Thus, the AC ripple that is tracked using these
techniques may
correspond to spark signal harmonics, variations in the DC alternator signal,
and/or
harmonics in an exhaust signal.
[00178] First, the diode ripple harmonic energy (which his
usually located
between 500hz and 1500hz) may be isolated by taking a FFT of the electrical
signal and
identifying the highest peak within the range of interest (block 1102). In
some embodiments,
the fundamental frequency range of the ripple may be identified by looking for
a strong peak
between 700 Hz and 4000 Hz in a short FFT (e.g., less than 20 ms). The signal
may be
filtered using a bandpass filter with a bandwidth of about 200 Hz at the
detected frequency.
A median filter may be applied to the resulting signal to reduce noise, and
amplitude
variations may be removed from the filtered signal by creating a piecewise
spline envelope,
such as a linear envelope, between peaks and normalizing the signal with
respect to the
envelope.
[00179] An example of such an envelope is shown in Figure 26.
In particular,
the top portion of Figure 26 shows the signal (curve 102) after the bandpass
filter has been
applied, along with the extracted amplitude envelope (curve 104). The bottom
plot (curve
=
106) shows the signal after resampling the envelope to the same rate as the
bandpass signal,
then dividing each sample of the 'signal by the corresponding value of the
envelope (i.e.
normalizing).
[00180] Referring again to Figure 19, the systems/methods may
perform peak
tracking using short time Fourier transform (STFT) analysis centered on the
detected
frequency. =
[00181] To perform the STFT analysis, a hamming-windowed
analysis frame
that is about 0,02 times the sample rate may be used. The sample may be zero-
padded about
0.35 times the sample rate (e.g., 1024 + 16384 samples for a sample rate of
47619). A hop-
size of roughly 0.002 times the sample rate may be used (100 samples for
47619). The use
26

CA 02844926 2014-03-06
9916-4
of zero-padding results in high-quality interpolation. Sample noise may be
reduced by
autocorrelating the STFT frames once in the frequency domain through
multiplication with
the complex conjugate.
[00182] For the first frame, the maximum frequency-domain
peak may be used.
For other frames, the peak that is closest (in frequency) to the previous peak
may be used.
[00183] Quadratic interpolation may be performed around the
maximum peak
to refine the frequency estimate. Quadratic interpolation is described, for
example, in
https : //ccrina. stanfo rd. edu/¨j o s/s asp/Quad ratic Interpolation
Spectral Peaks .html.
[00184] The resulting frequency trace may be smoothed using
local least
squares polynomial fits, such as in Savitsky-Golay filtering.
[00185] In some embodiments, Tcager-Kaiser energy operator
(TKEO)
analysis may be used instead of STFT analysis for peak tracking.
[00186] Next, the diode ripple harmonic frequency ratio may
be calculated to
estimate the engine speed (block 1106). In particular, over an analysis window
of less than a
second, peak distances in the STFT frequency trace are tracked to obtain a
coarse engine
speed trace. The average coarse RPM trace value is divided by the average STFT
frequency
value within the same analysis window to determine the frequency ratio
estimate.
[00187] The STFT frequency trace is multiplied by the
frequency ratio estimate
to produce a high-resolution RPM trace.
[00188] Further embodiments may determine engine speed based
on spark coil
charging events. For example, referring to Figure 20, the input electrical
signal may be
filtered using a step function convolved with itself (block 1202). More
complex shapes, such
as the ringing after an RF spike, could also be analyzed. A convolved step
function is
illustrated in Figure 21. Such a filter may isolate short (e.g., about 4ms)
increases in
=
intensity, which produce a spark indicator signal as shown in Figure 22. In
Figure 22, a spark
indicator signal is shown as curve 1210, while curve 1220 is the raw
electrical signal obtained
at the terminals of an automotive battery.
[00189] The spark signal 1210 trace may be used to determine
engine speed. In
particular, the locations of peaks may be extracted from the spark indicator
trace (block
1204), and a median filter may be used to eliminate transients (block 1206),
An engine speed
trace may then be formed based on distances between peak locations (block
1208). In some
embodiments, when the engine speed drops by more than a threshold amount, an
engine
speed anomaly may be recorded. (block 1210). In particular, the engine speed
trace may be
segmented with respect to the valleys in the trace. The height of the peak
following each
27

CA 02844926 2014-03-06
9916-4
valley is extracted, the peak heights are compared to the median peak height.
Peak heights
=that are less than a predetermined percentage of the median peak height may
be taken as
indicative of a misfire,
[00190] The anomaly may be weighted based on the magnitude of the drop
in
engine speed (block 1212). Any detected misfire/anomaly activity may be
reported by the
systems/methods (block 1214), and the systems/methods can recommend a service
based on
the report (block 1216).
[00191] Figure 23 illustrates a comparison of the diode ripple method
of Figure
19 and the spark timing method of Figure 20, In particular, curve.1250 is a
graph of the
engine speed determined in response to diode ripple, while curve 1260 is a
graph of the
engine speed determined in response to spark timing.
[00192] Some further embodiments may diagnose engine anomalies,
including
sensing of incomplete ignition in response to a spark event.
[00193] As discussed above, three factors must be present in a properly-
functioning internal combustion Otto-cycle engine. Namely, there must be (1) a
fuel/air
mixture in the combustion chamber with the correct proportions and quantity
(2),
compression of the fuel/air mixture, and (3) a spark. Systems/methods
described herein may
identify misfires that can be caused by the failure of any of these factors.
Typically, clogged
fuel injectors and/or carbon build-up on the intake valves are more frequently
the cause of
misfires than low compression or a faulty spark system. Thus, in many cases, a
thorough
cleaning of the fuel system can resolve a misfire problem.
[00194] It may be difficult, however, to identify misfires based on a
faulty
spark system, as such misfires may occur regularly, rather than
intermittently, in the 720-
degree Otto-cycle period. =
[00195] Therefore, some embodiments may examine the condition of the
spark
system to determine if the spark system is in proper working Condition, Such
information
may allow a service technician to better diagnose a misfire condition,
Accordingly, some
embodiments provide methodologies for detecting irregularities in a spark
system,
[00196] In some embodiments, a 12VDC signal in an automobile may be
analyzed, and changes in voltage and current flow during a spark event may be
examined.
Spark events can be identified, for example, using the methods described
above.
[00197] A normal spark will have a completed circuit to ground. A
faulty spark
system that has more than one cylinder involved will be noticeably miming
rough. The
signatures of a number of spark system signals present in the 12VDC signal may
be averaged
28

CA 02844926 2014-03-06
=
9916-4
to form an expected spark system signal. Any single spark pattern that
deviates from the
normal pattern by a predetermined threshold amount may be deemed to represent
an
anomaly.
[00198] Some embodiments calculating a Fast Fourier transform (FFT)
of the
12V signal and analyze the FFT for changes in successive spark events. Note
that this
methodology will detect a constant cyclic failure as well as an intermittent
failure.
[00199] Figure 24 illustrates operations that may be performed in
accordance
with some embodiments. As shown therein, a spark signal may be obtained using,
for
example, the methods discussed above (block 1302). A number of spark signals
may be
averaged to obtain an expected spark signal (block 1304). A FFT may be taken
of the
expected spark signal and of a plurality of measured spark signals (block
1306). The FFT of
the measured spark signals may then be compared to the FFT of the expected
spark signal to
determine if there are any significant differences between them (block 1308).
For example, a
spark that is generated by a faulty spark system may have frequency components
that are not
present in the spectrum of the expected spark signal and/or may not include
frequency
components that are present in the spectrum of the expected signal. Such a
missing or extra
frequency component may be indicative of a particular type or class of problem
in the spark
system of the automobile.
[00200] In some embodiments, the measured spark signals and/or the
spectra of
the measured spark signals may be compared with spark signals and/or spectra
obtained a
library of spark signals collected from non-misfiring engines and/or from
misfiring engines to
determine if the spark signal represents misfire activity.
[00201] Any anomalies between the measured and expected spark signals
may
be identified (block 1312) and reported (block 1314). Finally, the anomalies
may be
analyzed, and a service recommendation generated in response (block 1316),
[00202] Still further embodiments are illustrated in Figure 25. As
shown
therein, an electrical signal may be obtained using, for example, the methods
discussed above
(block 1402). A FFT may be taken of the signal (block 1406). The
largestfrequency peak in
the FFT is identified (block 1406), and the signal is filtered with a tight
bandpass filter near
the frequency peak (block 1408), The result of the bandpass filtering gives a
waveform
where each peak tends to correspond to a single cylinder firing, or at least
has a regular
= cyclical pattern. The spacing of these peaks may provide a good relative
engine speed trace,
and variations in the engine speed trace may correspond to misfire events.
29

CA 02844926 2014-03-06
9916-4
[00203] In some embodiments, the methods may identify a
largest peak near an
expected (normal) engine idle speed, In still further embodiments, the peaks
may be
weighted based on proximity to an expected engine idle speed before the
largest peak is
identified at block 1406.
[00204] Any anomalies between the measured and expected spark
signals may
be identified (block 1412) and reported (block 1414), Finally, the anomalies
may be
analyzed, and a service recommendation generated in response (block 1416).
[00205] Other embodiments involve the injection of a radio
frequency (RF)
pulse train into the 12V signal and tracking the change of reflections as
measured during the
periods when the RF signal pulse is not being transmitted. The RF signal pulse
may in some
= embodiments have a single frequency or multiple frequencies. In some
embodiments, the RF
= signal may have a time dependent frequency, such as a chirp signal.
[00206] These embodiments may be similar to passive radar
systems.
Measuring the changes of the reflections of an injected RF pulse is well known
in the
telecommunications industry and is commonly used to dynamically adjust and
"condition" a
telecommunications pathway to obtain maximum usable bandwidth. Some
embodiments of
the present invention use a similar approach to detect and identify anomalies
in an
electromechanical system, namely, an engine.
[00207] The frequency and duration of the pulses may be
selected depending
on the particular system within the engine that is being interrogated by the
signal. The
amplitude of the RF pulses may be adjusted to achieve a desired signal to
noise ratio, but
should be sufficiently small as not to harm or interfere with the normal
operation of the
engine.
[00208] As in the previous technique, the reflection pattern
of the normalized
N-1 spark events, where N = number of cylinders, may be used to detect an
outlier spark
signal. This information may be displayed to the service technician.
[00209] Still further embodiments include analyzing passive
RF signals output
by an engine electrical signal. That is, RF energy output by an engine
electrical system
without inputting an RF pulse to the system may contain information relating
to engine
speed. The frequency of the RF energy output by the engine electrical system
may be related
to the engine speed. Accordingly, some embodiments analyze changes in the
frequency of
the RF energy output by the engine electrical system to identify changes in
engine speed that
may be caused by misfire conditions. The above-described analytical techniques
(e.g.,
analysis of spikes, ripple, etc.) can also be applied to an RF signal.

CA 02844926 2014-03-06
9916-4
[00210] Various embodiments of the inventive concepts are
presented herein,
According to the inventive concepts, there are three main aspects of an engine
electrical
signal that can be used to track RPM variations, namely, diode ripple
corresponding to the
poles of the alternator (which tracks alternator RPM), spark plug coil
charging/discharging
transients (which tracks engine RPM), and/or periodic increases in voltage
output when the
alternator speed increases (which indirectly tracks engine RPM).
[00211] Some embodiments disclosed herein for tracking diode
ripple can be
used for any of these three aspects of the signal. However, the spark plug
coil
charging/discharging transients and periodic and increases in voltage output
when the
alternator speed increases are present in a different part of the spectrum
(e.g., around 30 Hz,
as opposed to around 1000 Hz for the diode ripple). In addition to tracking
spark plug events
(e.g., by correlating with an approximate matched filter in the time domain),
it is also
possible to use the diode ripple algorithm to track harmonics of the spark
plug (between
about 30 Hz and 500 Hz or so). Some embodiments described herein that employ
linear
envelopes, STFT and/or TKEO, followed by smoothing, can be used to analyze any
of the
= three physical aspects of the signal. In addition, harmonics of the spark
signal can be tracked.
This method would apply in more cases than the time-domain correlation method,
which is a
way of tracking a certain pattern of harmonics all at once.
[00212] As will be appreciated by one of skill in the art,
the present invention
may be embodied as a method, data processing system, and/or computer program
product.
Furthermore, the present invention may take the form of a computer program
product on a
tangible computer usable storage medium having computer program code embodied
in the
medium that can be executed by a computer. Any suitable tangible computer
readable
medium may be utilized including hard disks, CD ROMs, optical storage devices,
or
magnetic storage devices.
[00213] Some embodiments of the present invention are
described herein with
reference to flowchart illustrations and/or block diagrams of methods, systems
and computer
program products according to embodiments of the invention. It will be
understood that each
block of the flowchart illustrations and/or block diagrams, and combinations
of blocks in the
flowchart illustrations and/or block diagrams, can be implemented by computer
program
instructions. These computer program instructions may be provided to a
processor of a
general purpose computer, special purpose computer, or other programmable data
processing
31

CA 02844926 2014-03-06
9916-4
apparatus to produce a machine, such that the instructions, which execute via
the processor of
the computer or other programmable data processing apparatus, create means for
implementing the functions/acts specified in the flowchart and/or block
diagram block or
blocks.
[00214] These computer program instructions may also be
stored in a computer
readable memory that can direct a computer or other programmable data
processing apparatus
to function in a particular manner, such that the instructions stored in the
computer readable
memory produce an article of manufacture including instruction means which
implement the
function/act specified in the flowchart and/or block diagram block or blocks.
[00215] The computer program instructions may also be loaded
onto a
computer or other programmable data processing apparatus to cause a series of
operational
steps to be performed on the computer or other programmable apparatus to
produce a
computer implemented process such that the instructions which execute on the
computer or
other programmable apparatus provide steps for implementing the functions/acts
specified in
the flowchart and/or block diagram block or blocks.
[00216] It is to be understood that the functions/acts noted
in the blocks may
occur out of the order noted in the operational illustrations. For example,
two blocks shown
in succession may in fact be executed substantially concurrently or the blocks
may sometimes
be executed in the reverse order, depending upon the functionality/acts
involved. Although
some of the diagrams include arrows on communication paths to snow a primary
direction of
communication, it is to be understood that communication may occur in the
opposite
direction to the depicted arrows.
[00217] Computer program code for carrying out operations of
the present
invention may be written in an object oriented programming language such as
Java or C++.
However, the computer program code for carrying out operations of the present
invention
may also be written in conventional procedural programming languages, such as
the "CI
programming language, functional programming languages, or other programming
languages. The program code may execute entirely on the user's computer,
partly on the
= user's computer, as a standalone software package, partly on the user's
computer and partly
on a remote computer or entirely on the remote computer. In the latter
scenario, the remote
computer may be connected to the user's computer through a local area network
(LAN) or a
wide area network (WAN), or the connection may be made to an external computer
(for
example, through the Internet using an Internet Service Provider).
32

CA 02844926 2014-03-06
9916-4
[00218] Many different embodiments have been disclosed
herein, in connection
with the above description and the drawings. It will be understood that it
would be unduly
repetitious and obfuscating to literally describe and illustrate every
combination and
subcombination of these embodiments, Accordingly, all embodiments can be
combined in
any way and/or combination, and the present specification, including the
drawings, shall be
construed to constitute a complete written description of all combinations and
subcombinations of the embodiments described herein, and of the manner and
process of
making and using them, and shall support claims to any such combination or
subcombination.
[00219] In the drawings and specification, there have been
disclosed typical
embodiments and, although specific terms are employed, they are used in a
generic and
descriptive sense only and not for purposes of limitation, the scope of the
inventive concepts
being set forth in the following claims.
=
=
=
33

Dessin représentatif
Une figure unique qui représente un dessin illustrant l'invention.
États administratifs

2024-08-01 : Dans le cadre de la transition vers les Brevets de nouvelle génération (BNG), la base de données sur les brevets canadiens (BDBC) contient désormais un Historique d'événement plus détaillé, qui reproduit le Journal des événements de notre nouvelle solution interne.

Veuillez noter que les événements débutant par « Inactive : » se réfèrent à des événements qui ne sont plus utilisés dans notre nouvelle solution interne.

Pour une meilleure compréhension de l'état de la demande ou brevet qui figure sur cette page, la rubrique Mise en garde , et les descriptions de Brevet , Historique d'événement , Taxes périodiques et Historique des paiements devraient être consultées.

Historique d'événement

Description Date
Représentant commun nommé 2020-11-07
Accordé par délivrance 2020-09-08
Inactive : Page couverture publiée 2020-09-07
Inactive : Taxe finale reçue 2020-07-29
Préoctroi 2020-07-29
Un avis d'acceptation est envoyé 2020-05-11
Lettre envoyée 2020-05-11
Un avis d'acceptation est envoyé 2020-05-11
Inactive : Approuvée aux fins d'acceptation (AFA) 2020-05-07
Inactive : Q2 réussi 2020-05-07
Modification reçue - modification volontaire 2020-04-08
Requête visant le maintien en état reçue 2020-02-24
Inactive : Rapport - CQ réussi 2019-12-13
Rapport d'examen 2019-12-13
Modification reçue - modification volontaire 2019-12-05
Représentant commun nommé 2019-10-30
Représentant commun nommé 2019-10-30
Inactive : Rapport - Aucun CQ 2019-09-05
Inactive : Dem. de l'examinateur par.30(2) Règles 2019-09-05
Lettre envoyée 2019-05-23
Avancement de l'examen jugé conforme - alinéa 84(1)a) des Règles sur les brevets 2019-05-23
Inactive : Avancement d'examen (OS) 2019-05-14
Lettre envoyée 2019-03-14
Requête d'examen reçue 2019-03-06
Exigences pour une requête d'examen - jugée conforme 2019-03-06
Toutes les exigences pour l'examen - jugée conforme 2019-03-06
Requête visant le maintien en état reçue 2018-02-26
Requête visant le maintien en état reçue 2016-10-27
Requête visant le maintien en état reçue 2016-03-01
Inactive : Page couverture publiée 2014-10-09
Demande publiée (accessible au public) 2014-09-15
Inactive : CIB attribuée 2014-03-31
Inactive : CIB en 1re position 2014-03-31
Inactive : CIB attribuée 2014-03-31
Inactive : Certificat dépôt - Aucune RE (bilingue) 2014-03-24
Lettre envoyée 2014-03-24
Demande reçue - nationale ordinaire 2014-03-17
Inactive : Pré-classement 2014-03-06

Historique d'abandonnement

Il n'y a pas d'historique d'abandonnement

Taxes périodiques

Le dernier paiement a été reçu le 2020-02-24

Avis : Si le paiement en totalité n'a pas été reçu au plus tard à la date indiquée, une taxe supplémentaire peut être imposée, soit une des taxes suivantes :

  • taxe de rétablissement ;
  • taxe pour paiement en souffrance ; ou
  • taxe additionnelle pour le renversement d'une péremption réputée.

Les taxes sur les brevets sont ajustées au 1er janvier de chaque année. Les montants ci-dessus sont les montants actuels s'ils sont reçus au plus tard le 31 décembre de l'année en cours.
Veuillez vous référer à la page web des taxes sur les brevets de l'OPIC pour voir tous les montants actuels des taxes.

Historique des taxes

Type de taxes Anniversaire Échéance Date payée
Enregistrement d'un document 2014-03-06
Taxe pour le dépôt - générale 2014-03-06
TM (demande, 2e anniv.) - générale 02 2016-03-07 2016-03-01
TM (demande, 3e anniv.) - générale 03 2017-03-06 2016-10-27
TM (demande, 4e anniv.) - générale 04 2018-03-06 2018-02-26
TM (demande, 5e anniv.) - générale 05 2019-03-06 2019-01-31
Requête d'examen - générale 2019-03-06
TM (demande, 6e anniv.) - générale 06 2020-03-06 2020-02-24
Taxe finale - générale 2020-09-11 2020-07-29
TM (brevet, 7e anniv.) - générale 2021-03-08 2020-12-10
TM (brevet, 8e anniv.) - générale 2022-03-07 2022-01-19
TM (brevet, 9e anniv.) - générale 2023-03-06 2022-12-15
TM (brevet, 10e anniv.) - générale 2024-03-06 2024-02-09
Titulaires au dossier

Les titulaires actuels et antérieures au dossier sont affichés en ordre alphabétique.

Titulaires actuels au dossier
THOMPSON AUTOMOTIVE LABS, LLC
Titulaires antérieures au dossier
ALLEN C. EBERHARDT
EMERY CARR
ERIC G. HORLBECK
JOHN THOMPSON
Les propriétaires antérieurs qui ne figurent pas dans la liste des « Propriétaires au dossier » apparaîtront dans d'autres documents au dossier.
Documents

Pour visionner les fichiers sélectionnés, entrer le code reCAPTCHA :



Pour visualiser une image, cliquer sur un lien dans la colonne description du document. Pour télécharger l'image (les images), cliquer l'une ou plusieurs cases à cocher dans la première colonne et ensuite cliquer sur le bouton "Télécharger sélection en format PDF (archive Zip)" ou le bouton "Télécharger sélection (en un fichier PDF fusionné)".

Liste des documents de brevet publiés et non publiés sur la BDBC .

Si vous avez des difficultés à accéder au contenu, veuillez communiquer avec le Centre de services à la clientèle au 1-866-997-1936, ou envoyer un courriel au Centre de service à la clientèle de l'OPIC.


Description du
Document 
Date
(aaaa-mm-jj) 
Nombre de pages   Taille de l'image (Ko) 
Dessin représentatif 2020-08-06 1 6
Description 2014-03-05 33 1 912
Dessins 2014-03-05 27 917
Revendications 2014-03-05 3 117
Abrégé 2014-03-05 1 21
Dessin représentatif 2014-08-19 1 7
Description 2019-12-04 34 2 034
Abrégé 2019-12-04 1 21
Revendications 2019-12-04 4 145
Paiement de taxe périodique 2024-02-08 4 139
Certificat de dépôt 2014-03-23 1 177
Courtoisie - Certificat d'enregistrement (document(s) connexe(s)) 2014-03-23 1 102
Rappel de taxe de maintien due 2015-11-08 1 111
Rappel - requête d'examen 2018-11-06 1 117
Accusé de réception de la requête d'examen 2019-03-13 1 174
Avis du commissaire - Demande jugée acceptable 2020-05-10 1 551
Changement à la méthode de correspondance 2015-01-14 45 1 707
Paiement de taxe périodique 2016-02-29 2 83
Paiement de taxe périodique 2016-10-26 2 79
Paiement de taxe périodique 2018-02-25 1 66
Requête d'examen 2019-03-05 2 69
Avancement d'examen (OS) 2019-05-13 3 85
Courtoisie - Requête pour avancer l’examen - Conforme (OS) 2019-05-22 1 53
Demande de l'examinateur 2019-09-04 8 416
Modification / réponse à un rapport 2019-12-04 28 1 416
Demande de l'examinateur 2019-12-12 4 204
Paiement de taxe périodique 2020-02-23 2 80
Modification / réponse à un rapport 2020-04-07 7 236
Taxe finale 2020-07-28 5 140