DE102004024415B4 - Fehlzündungserkennungssystem für eine Brennkraftmaschine - Google Patents
Fehlzündungserkennungssystem für eine Brennkraftmaschine Download PDFInfo
- Publication number
- DE102004024415B4 DE102004024415B4 DE102004024415A DE102004024415A DE102004024415B4 DE 102004024415 B4 DE102004024415 B4 DE 102004024415B4 DE 102004024415 A DE102004024415 A DE 102004024415A DE 102004024415 A DE102004024415 A DE 102004024415A DE 102004024415 B4 DE102004024415 B4 DE 102004024415B4
- Authority
- DE
- Germany
- Prior art keywords
- acceleration
- data array
- data
- value
- crankshaft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0248—Filters characterised by a particular frequency response or filtering method
- H03H17/0261—Non linear filters
- H03H17/0263—Rank order filters
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M15/00—Testing of engines
- G01M15/04—Testing internal-combustion engines
- G01M15/11—Testing internal-combustion engines by detecting misfire
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- General Physics & Mathematics (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
Fehlzündungs erkennungssystem für eine Brennkraftmaschine mit einer Kurbelwelle, folgendes umfassend:
a. Kurbelwellen-Beschleunigungs-Erkennungsmittel (24, 28) zur Bestimmung von Kurbelwellen-Beschleunigungswerten;
b. einen Prozessor (14), der mit den Kurbelwellen-Beschleunigungs-Erkennungsmitteln kommuniziert, um einen neuen Beschleunigungswert zu erhalten, wobei der Prozessor (14)
i. eine Datenstruktur (22) und
ii. eine eingebettete Medianfilterroutine (12) aufweist,
dadurch gekennzeichnet,
iii. dass die Datenstruktur (22) ein erstes und ein zweites Datenarray (40, 42) umfasst, wobei das zweite Datenarray (42) eine vorbestimmte Anzahl von Datenfeldern umfasst, in denen Beschleunigungswerte der Größe nach gespeichert sind; das erste Datenarray (40) dieselbe vorbestimmte Anzahl von Datenfeldern umfasst, in denen die Beschleunigungswerte in chronologischer Reihenfolge gespeichert sind, und
iv. dass die Medianfilterroutine (12) ausgebildet ist, um:
1. einen ältesten Beschleunigungswert (A1) im ersten Datenarray zu identifizieren,
2. eine Löschposition (70) in dem zweiten Datenarray (42) gegeben durch den ältesten Beschleunigungswert (A1) durch Durchführen einer binären Suche...
a. Kurbelwellen-Beschleunigungs-Erkennungsmittel (24, 28) zur Bestimmung von Kurbelwellen-Beschleunigungswerten;
b. einen Prozessor (14), der mit den Kurbelwellen-Beschleunigungs-Erkennungsmitteln kommuniziert, um einen neuen Beschleunigungswert zu erhalten, wobei der Prozessor (14)
i. eine Datenstruktur (22) und
ii. eine eingebettete Medianfilterroutine (12) aufweist,
dadurch gekennzeichnet,
iii. dass die Datenstruktur (22) ein erstes und ein zweites Datenarray (40, 42) umfasst, wobei das zweite Datenarray (42) eine vorbestimmte Anzahl von Datenfeldern umfasst, in denen Beschleunigungswerte der Größe nach gespeichert sind; das erste Datenarray (40) dieselbe vorbestimmte Anzahl von Datenfeldern umfasst, in denen die Beschleunigungswerte in chronologischer Reihenfolge gespeichert sind, und
iv. dass die Medianfilterroutine (12) ausgebildet ist, um:
1. einen ältesten Beschleunigungswert (A1) im ersten Datenarray zu identifizieren,
2. eine Löschposition (70) in dem zweiten Datenarray (42) gegeben durch den ältesten Beschleunigungswert (A1) durch Durchführen einer binären Suche...
Description
- Die vorliegende Erfindung bezieht sich auf ein Fehlzündungserkennungssystem für eine Brennkraftmaschine, welches auf einem Medianfilter beruht, und insbesondere auf einem Filter und ein Medianfilterverfahren, die zur Verwendung in einem System mit einer hohen Datenrate, beispielsweise ein Fehlzündungs-Erkennungssystem einer Brennkraftmaschine, geeignet sind. Ein gattungsgemäßes Fehlzündungserkennungssystem ist aus der
DE 695 29 066 T2 bekannt. - Aus der
DE 100 17 749 A1 ist weiterhin ein Verfahren zum Erkennen von Fehlzündungen bekannt, mit dem Fehlzündungen an einzelnen Zylindern erkannt werden können. Es weist einen Schritt zur Erzeugung eines das Drehmomentverhalten des Motors anzeigenden Geschwindigkeitssignals auf. Anschließend wird das Geschwindigkeitssignal gefiltert und in mehrere Datensätze getrennt, von denen jeder gleichartige Abschnitt den Verbrennungszyklus des Motors angibt. Danach wird jeder der Datensätze einer Medianfilterung unterzogen. Die Datensätze werden entsprechend dem verwendeten Medianfilter normalisiert und um den relativen Nullpunkt zentriert. Dieser Zentriereffekt ermöglicht es, dass die Signale nach dem Filtern wieder zusammengefügt werden, wodurch die Art jeder im Signal vorhandenen Abweichungen angezeigt werden kann. - Die
EP 0 858 158 A2 offenbart einen Medianfilter, der geeignet ist, einen Medianwert in Bezug auf Winkelwerte und Höhenwerte anzugeben. Der in derEP 0 858 158 A2 offenbarte Medianfilter eignet sich insbesondere für die Aufbereitung von Signalen für Fernseher oder medizinische Apparate. Der Medianfilter weist eine Mehrzahl an Medienzellen auf, die zuerst eingespeisten Werte unter einer Mehrzahl an zuvor gespeicherten Werten zu löschen. - Die
US 4,155,568 A offenbart einen weiteren Medianfilter zum Herausfiltern von hochfrequentem Rauschen aus Signalen, beispielsweise Signalen aus ei nem Radio-Höhenmesser. Der Medianfilter bildet kontinuierlich den Median einer vorbestimmten Anzahl an Werten des Signals, welche in einem Datenarray angeordnet sind, indem es sukzessive jeden Wert mit einem anderen Wert aus dem Datenarray vergleicht. - Im Stand der Technik sind demnach verschiedene Arten von Medianfiltern bekannt und werden bei einer Vielzahl von Anwendungen verwendet, um plötzliche Abweichungen von historischen oder aufgezeichneten Normen zu erkennen. Bei Fehlzündungs-Erkennungssystemen filtern Medianfilter unerwünschte Signalmuster heraus, die von Kurbelwellenbeschleunigungen herrühren.
- Neben der Zylinderzündung wird die Beschleunigung der Kurbelwelle von vielen verschiedenen Faktoren beeinflusst. Beispielsweise unterliegt die Kurbelwelle einer charakteristischen, sich periodisch wiederholenden Winkelbeschleunigung aufgrund des Massen-Ungleichgewichts, der Hin- und Herbewegung der Massen, von Torsionsschwingungen und Wellenverbiegungen, die durch normale Motorbewegungen hervorgerufen werden. Ein Medianfilter isoliert diese und andere transiente Motoreffekte durch ein Subtrahieren einer aus einer Reihe von umliegenden Zylinderzündungen gebildeten Medianbeschleunigung von der für das speziell interessierende Zündungsintervall berechneten Beschleunigung. Durch das Herausfiltern dieser charakteristischen Beschleunigungen entfernen Medianfilter die Langzeit-Beschleunigungseffekte, wodurch für das Fehlzündungs-Erkennungssystem ein verbessertes Signalrauschverhältnis der charakteristischen Zündvorgangsbeschleunigung erhalten wird, um die Erkennung von jeder Fehlzündung zu verbessern.
- Während des normalen Motorbetriebs wird die Motorkurbelwelle einer cha rakteristischen Beschleunigung aufgrund der einzelnen Zylinderzündvorgänge ausgesetzt. Konventionelle Fehlzündungs-Erkennungssysteme überwachen die Winkelbeschleunigung der Kurbelwelle kontinuierlich, um Fehlzündungsvorkommen zu erkennen. An der Kurbelwelle ist ein Zahnrad befestigt, das sich mit dieser dreht. Ein Sensor überwacht das Passieren des Zahnrades und ist mit einem Frequenzmesser gekoppelt.
- Eine Fehlzündung tritt dann auf, wenn die Kraftstoff-Luftmischung nicht zündet und damit nicht im Zylinder verbrennt. Fehlzündungen können dazu führen, dass unverbrannter Kraftstoff in das Abgassystem geleitet wird, wodurch ein erhöhter Abgasausstoß bewirkt wird; weiter kann eine Beschädigung des Katalysators auftreten und die Motorleistung wird reduziert. Da sich die Anforderungen an Fahrzeugsteuerungssysteme erhöhen, ergibt sich das Bedürfnis, die für das Fehlzündungs-Erkennungssystem erforderliche Rechenleistung zu reduzieren, ohne die Zuverlässigkeit oder die Antwortzeit übermäßig zu reduzieren.
- Die Eignung einer speziellen Art von Medianfiltern hängt unter anderem von der Datenrate ab, mit der das System neue Daten empfängt, von der gewünschten Systemantwortzeit und der Berechnungsrobustheit des Systems. Softwareimplementierte Fehlzündungs-Erkennungssysteme werden üblicherweise für Niedrigratensysteme (LDR) verwendet, die die Zündvorgänge der Zylinder überwachen. In diesem Zusammenhang bedeutet LDR, dass es einen oder höchstens zwei Zeitperioden pro Zylinderzündvorgang gibt, aus denen ein Beschleunigungswert berechnet wird. Beispielsweise wird bei einem herkömmlichen Vierzylindermotor, bei dem das System das Passieren von jedem 9. Zahn des Kurbelwellenzahnrads überwacht, eine verknüpfte Liste verwendet, um eine nach der Größe geordnete Liste der gemessenen Beschleunigungswerte für die Medianbestimmung zu erhalten. Im Wesentlichen enthält eine verknüpfte Liste einen Satz von Datensätzen und Zeiger für jeden Datensatz. Die Zeiger zeigen auf die der Größe nach vorherigen und nachfolgenden Dateneinträge. Für eine Liste von N-Werten kann der Ansatz mit der verknüpften Liste nicht weniger als N-Softwareschleifenvergleiche erfordern, um die Löschposition für den ältesten gemessenen Wert aufzufinden und zusätzliche N-Softwareschleifenvergleiche, um eine Einfügungsposition für einen neuen gemessenen Wert in der nach der Größe sortierten Liste zu identifizieren. Diese konventionelle Technik ist in Bezug auf die Prozessortaktzyklen kostenaufwändig. Beispielsweise benötigt ein konventioneller verknüpfter Listen-Algorithmus zur Medianfilterung etwa 600 Taktzyklen, um eine Liste von 39 Elementen zu sortieren. Somit verringert sich die Eignung einer verknüpften Liste zur Medianfilterung, in dem Maße in dem sich die Berechnungsintensität des Systems erhöht. Demzufolge sind softwareimplementierte Fehlzündungs-Erkennungssysteme mit verknüpften Listen zur Medianfilterung auf Niedrigdatenraten(LDR)-Anwendungen beschränkt.
- In Systemen mit einer hohen Datenrate (HDR) werden mehrfache Zeitperiodenabtastwerte pro Zylinder verwendet, um die mit dem Zylinderzündvorgang verbundene Beschleunigung zu bestimmen. Wenn ein 36-1 Zahnrad verwendet und jeder Zahn erfasst wird, würde ein 6-Zylindermotor 6 Zeitperiodenabtastwerte pro Zylinderzündvorgang und ein 8-Zylindermotor alternativ 4 oder 5 Zeitperiodenabtastwerte pro Zylinderzündvorgang aufweisen.
- Die Verwendung von mehrfachen Zeitperiodenabtastwerten pro Zylinderzündvorgang erhöht die Berechnungsintensität der HDR-Systeme beträchtlich und hat dazu geführt, dass die im Stand der Technik bekannten Systeme als Hardwareimplementationen ausgebildet sind. In derartigen Systemen empfängt ein BSPA (Bus-based Signal Processing ASIC) Sensor-Eingangssignale von dem Zahnrad (zum Beispiel ein 36-1 Zahnrad) auf der Kurbelwelle und führt die Berechnung durch, bevor Medianbeschleunigungswerte zur Haupt-CPU ausgegeben werden. Insbesondere empfängt die BSPA ein analoges CPS-Signal von dem Kurbelwellensensor, digitalisiert dieses, erfasst die Periode dieses Signals und multipliziert es mit einem Korrekturfaktor, um Herstellungsungenauigkeiten des 36-1 Zahnrades zu berücksichtigen. Die korrigierten Zeitdifferenzen ergeben Drehwinkel der Kurbelwelle, die von dem BSPA invertiert und skaliert werden, um die Winkelgeschwindigkeit zu erhalten. Der BSPA filtert dann Torsionsschwingungen mittels eines Tiefpassfilters heraus und verarbeitet das gefilterte Geschwindigkeitssignal, um es in eine skalierte Beschleunigung umzuwandeln. Dann wird die skalierte Beschleunigung mit einem Hochpass mittels eines Medianfilters gefiltert, um die niederfrequenten Beschleunigungen zu entfernen, die von der normalen Motordynamik hervorgerufen werden. Der BSPA filtert dann die Beschleunigung mittels eines Musterabgleichs, um Signale aufgrund der Kurbelwellenverdrehung, der Zylinderunwucht, als auch aller wiederkehrender Fehlzündungssignale zu entfernen, so dass die Beschleunigungen vor und nach dem Musterabgleich eine Erkennung von sich wiederholenden und intermittierenden Fehlzündungsvorgängen ermöglichen. Der BSPA führt auch einen Spitzenerkennungsprozess in einem Betrachtungsfenster mit den Beschleunigungen durch, um die Werte auf den niedrigsten Wert zu reduzieren, das heißt, auf den negativsten Beschleunigungswert, der innerhalb eines Fensters von Abtastwerten aus der Nähe von jedem Zylinderzündvorgang erkannt wurde.
- Die Verwendung von softwareimplementierten Medianfiltern für LDR- Systeme und hardwareimplementierten Medianfiltern für HDR-Systeme hat sich als anerkannte Praxis im Stand der Technik aufgrund vieler Gründe erwiesen, von denen einige oben beschrieben sind. Konventionelle Versuche zur Verbesserung der Chronometrik der HDR-Fehlzündungserkennungssysteme werden von diesen Annahmen beschränkt.
- Somit ergibt sich die Aufgabe der vorliegenden Erfindung, die oben genannten Nachteile zu beseitigen. Insbesondere ist es Aufgabe der vorliegenden Erfindung ein System anzugeben, das eine Fehlzündungserkennung ermöglicht, ohne eine hohe Rechenleistung zu benötigen.
- Die Aufgabe wird durch die Merkmale des unabhängigen Anspruchs gelöst.
- Die vorliegende Erfindung wird anhand der nachfolgenden detaillierten Beschreibung, den beigefügten Ansprüchen und der beigefügten Zeichnung deutlich. In dieser zeigen:
-
1 eine schematische Darstellung des Kurbelwellen-Positionserkennungssystems mit einem Prozessor mit einer Medianfilterroutine gemäß der vorliegenden Erfindung; -
2 ein Ablaufdiagramm für die Medianfilterroutine; -
3 ein exemplarisches Datenarray für den Medianfilter zu einem ersten Zeitpunkt; und -
4 ein exemplarisches Datenarray für den Medianfilter zu einem zweiten Zeitpunkt. - Ein Fehlzündungserkennungssystem
10 mit einer Medianfilterroutine12 , die in der Haupt-CPU14 des Fahrzeugs eingebettet ist, ist in1 allgemein dargestellt. Die CPU14 kann jede geeignete Konfiguration mit Prozessessor-Einrichtungen und Speichereinrichtungen und aufweisen, um den Betrieb der hierin beschriebenen Medianfilterroutine zu unterstützen. Obwohl es hierin nicht speziell dargestellt oder beschrieben ist, kann die CPU auch viele der üblichen, mit konventionellen Fahrzeug-CPUs verbundenen Steuerungs- und Speicherfunktionen durchführen, einschließlich Zündmanagement, Kraftstoffsteuerung und Motordiagnose. In Bezug auf den Medianfilter empfängt die CPU14 Fehlzündungs-Zeitperioden, berechnet Beschleunigungswerte, bspw. mit einem konventionellen Geschwindigkeits-/Beschleunigungsberechner24 , und gibt den Medianbeschleunigungswert aus einer Liste von der Größe nach sortierten N-Werten unter Benutzung der Medianfilterroutine12 aus. Die CPU14 umfasst auch eine Fehlzündungsroutine18 , die das Auftreten der Fehlzündungen zusammenzählt, ein Fehl zündungs-Erkennungsmonitor20 , der die Art der Fehlzündung bestimmt (zum Beispiel Typ A oder Typ B) und eine Datenstruktur22 . Wie grundsätzlich schon oben beschrieben, gibt die vorliegende Erfindung ein Fehlzündungs-Erkennungssystem und eine Medianfilterroutine an, die in die CPU eingebettet ist, um sowohl die Geschwindigkeit und die Effizienz des Systems zu verbessern, als auch eine Kosteneinsparung in Bezug auf die konventionellen Ansätze zu erzielen. Die vorliegende Erfindung beruht auf der Erkenntnis, dass der Medianfilter ein Engpass in der Fehlzündungs-Erkennungschronometrik ist und weicht von den konventionellen Ansätzen ab, indem eine softwareimplementierte Medianfilterroutine verwendet wird, die eine nach Größen sortierte Liste von Beschleunigungswerten erzeugt und die in der Liste gespeicherten Beschleunigungswerte verschiebt, wenn ein neuer Wert hinzugefügt wird. Insbesondere erzeugt das erfindungsgemäße Verfahren das nach Größen sortierte Datenarray, ohne eine verknüpfte Liste zu verwenden. Im Gegensatz zum Ansatz der verknüpften Liste, der mehr als 600 Taktzyklen benötigt, um eine Liste von 39 Elementen zu sortieren, erfordert die Medianfilterroutine gemäß der vorliegenden Erfindung nur etwa 200 Taktzyklen für dieselbe Liste. Die Vorteile der vorliegenden Erfindung umfassen außerdem Kosteneinsparungen, die sich aus der Verschiebung der Fehlzündungsfunktionalität von dem BSPA zur CPU ergeben. Darüber hinaus stellt die vorliegende Erfindung ein Fehlzündungs-Erkennungssystem zur Verfügung, das sowohl für LDR- und HDR-Anwendungen verwendet werden kann. - In dem dargestellten Beispiel werden die Fehlzündungs-Zeitperioden der CPU in konventioneller Art und Weise zugeführt, beispielsweise durch eine konventionelle Kurbelwellen-Positionserkennungsbaugruppe
28 . Dem Fachmann ist bekannt, dass grundsätzlich eine Vielzahl von Mechanismen zur genauen Aufzeichnung der Zeitperioden im Rahmen bei der Erfindung verwendet werden können. In dem dargestellten Ausführungsbeispiel werden dem Controller14 die Fehlzündungsperioden von einer konventionell Zeit signal-verarbeitenden Einheit (TPU)26 zugeführt. Die TPU bestimmt die Fehlzündungsperioden mittels eines herkömmlichen Position- oder Winkelerkennungssensors30 , der ein auf der Kurbelwelle32 angebrachten Zahnrad (beispielsweise 36-1-Zahnrad) überwacht. Der Geschwindigkeits-/Beschleunigungsberechner24 empfängt die Fehlzündungs-Zeitperioden und berechnet aus den Zeitwerten und den bekannten Abständen zwischen den Zähnen des Kurbelwellenzahnrads32 Geschwindigkeiten und Beschleunigungen unter Verwendung konventioneller Techniken, beispielsweise der Profilkorrektur, um Herstellungsungenauigkeiten zu kompensieren. Obwohl hier die CPU14 so beschrieben und dargestellt ist, dass sie einen eingebetteten Geschwindigkeits-/Beschleunigungsberechner24 umfasst, um die Beschleunigungswerte basierend auf den von der CPU bereitgestellten Fehlzündungs-Zeitperioden zu bestimmen, kann das erfindungsgemäße Fehlzündungs-Erkennungssystem10 auch so ausgebildet werden, dass die Beschleunigungswerte separat, d. h. nicht von der CPU14 bestimmt werden, und diese Werte dann der CPU14 für weitere Bearbeitungsschritte, wie hierin beschrieben, zugeführt werden. Die Kurbelwellen-Positionserkennungs-Baugruppe28 und der Geschwindigkeits-/Beschleunigungsberechner24 der CPU14 bilden ein Kurbelwellen-Beschleunigungs-Erkennungsmittel, das Kurbelwellen-Beschleunigungswerte bestimmt und diese Werte an anderen Modulen des Prozessors überträgt. Für den Fachmann ist es offensichtlich, dass auch andere Mechanismen verwendet werden können, um diese Kurbelwellen-Beschleunigungswerte zu erhalten, einschließlich der oben beschriebenen Ausführungsbeispiele und der Beispiele in der Einleitung dieser Anmeldung. - Die Details der CPU
14 bezüglich des Betriebs der Medianfilterroutine12 werden in den1 und2 dargestellt. Die CPU-Datenstruktur22 umfasst ein erstes und ein zweites Datenarray40 und42 , auf die die Medianfilterroutine zugreifen kann. Das erste Datenarray40 umfasst eine zeitgeordnete Liste von Beschleunigungswerten, die von der CPU empfangen wurden. - Das zweite Datenarray
42 umfasst dieselben Beschleunigungswerte, jedochder Größe nach sortiert. Gemäß2 ist die Medianfilterroutine12 so konfiguriert, das sie, wenn die CPU einen neuen Beschleunigungswert44 erhält, den ältesten Beschleunigungswert aus dem ersten Datenarray40 (Schritt50 ) heraussucht, den neuen Beschleunigungswert in dem jüngsten Zeitfeld im ersten Datenarray (Schritt52 ) einfügt, eine Löschposition in dem zweiten Datenarray42 für den herausgesuchten Beschleunigungswert identifiziert (Schritt54 ), die Einfügeposition des neuen Beschleunigungswerts im zweiten Datenarray42 basierend auf seiner Größe in Relation zu den übrigen Werten im zweiten Datenarray (Schritt58 ) identifiziert, die Beschleunigungswerte im zweiten Datenarray42 verschiebt, die zwischen der Einfügeposition und der Löschposition angeordnet sind, um die Löschposition zu überschreiben oder auszufüllen und die Einfügeposition frei zu machen (Schritt60 ), den neuen Beschleunigungswert in die nun leere Einfügeposition einfügt (Schritt62 ) und den Mittelwert in dem zweiten Datenarray (Schritt64 ) identifiziert. - Zur Verdeutlichung wird das oben allgemein beschriebene und in
2 dargestellte Verfahren nun anhand eines Beispiels beschrieben, das in den3 und4 gezeigt ist. In diesem Beispiel umfasst das erste Datenarray40 sieben chronologisch sortierte Beschleunigungswerte und das zweite Datenarray42 umfasst dieselben 7 Beschleunigungswerte sortiert nach ihrer Größe.3 zeigt die exemplarischen Datenarrays40 ,42 zum Zeitpunkt t = 8 (das ist der Zeitpunkt, an dem die CPU und die Medianfilterroutine den achten Beschleunigungswert A8 empfangen).4 zeigt die exemplarischen Datenarrays40 ,42 zum Zeitpunkt t = 9. Wenn breit = 8 der neue Beschleunigungswert A8 empfangen wird, sucht die Medianfilterroutine12 den ältesten Beschleunigungswert A1 aus dem ersten Datenarray (Schritt50 ) heraus und fügt den neuen Beschleunigungswert A8 in das erste Datenarray40 (Schritt52 , siehe2 ) ein. In dem dargestellten Ausführungsbeispiel wird ein umlaufender First-In-First-Out (FIFO) Buffer verwendet, um die chronologische Liste des ersten Datenarray40 zu implementieren. Unabhängig von der hier gezeigten Darstellung des ersten Datenarrays40 (einschließlich der Sortierung der Beschleunigungswerte in einer chronologischen Liste von oben nach unten), kann die Medianfilterroutine beliebige herkömmliche Speicher- und Auffindetechniken verwenden, um die chronologische Reihenfolge der empfangenen Beschleunigungswerte zu identifizieren. - In Schritt
54 (2 ) identifiziert die Medianfilterroutine12 zweiten Datenarray42 eine dem herausgesuchten Beschleunigungswert, zugeordnete Löschposition70 , d. h. die Position des ältesten Werts A1 im zweiten Datenarray42 . Die Medianfilterroutine12 identifiziert auch eine Einfügeposition72 für den neuen Beschleunigungswert A8 im zweiten Datenarray42 , basierend auf der Größe des neuen Beschleunigungswertes in Relation zu den Werten im zweiten Datenarray42 (Schritt58 ). In diesem Beispiel ist die Größe des neuen Beschleunigungswerts A8 größer als der Beschleunigungswert A4 und kleiner als der Beschleunigungswert A5. Somit identifiziert die Medianfilterroutine12 das sechste Feld F6 im zweiten Datenarray42 als Einfügeposition72 . Nach dem Identifizieren der Einfügeposition verschiebt die Medianfilterroutine die Beschleunigungswerte, die zwischen der Einfügeposition72 und der Löschposition70 liegen (z. B. Werte A2, A7 und A4), um die Löschposition zu überschreiben und die Einfügeposition freizumachen (Schritt60 ). Das bedeutet, dass der Wert A2 von Feld F4 zu F3, der Wert A7 von F5 zu F4 und der Wert A4 von F6 zu F5 verschoben wird, wodurch der Wert A1 in der Löschposition F3 überschrieben wird und die Einfügeposition F6 freigemacht wird. In dem bevorzugten Ausführungsbeispiel verschiebt die Medianfilterroutine simultan wenigstens 2 der ausgewählten Werte, um die Effizienz der Routine weiter zu erhöhen. Die Medianfilterroutine fügt dann den neuen Beschleunigungswert A8 in die nun offene Einfügeposition F6 ein (Schritt62 ) und identifiziert den in der Mitte liegenden Wert im zweiten Datenarray (Schritt64 ). In dem dargestellten Beispiel wird der Medianbeschleunigungs wert einfach aus dem „Medianfeld", d. h. aus dem mittleren Feld, ausgelesen, hier z. B. der Wert A7 aus dem Medianfeld F4 des zweiten Datenarrays42 . - Um die Berechnungseffizienz der Medianfilterroutine
12 im Zusammenhang mit dem CPU-implementierten Fehlzündungs-Erkennungssystem zu verbessern, ist die Medianfilterroutine so ausgebildet, dass die Löschposition (Schritt54 ) und die Einfügungsposition (Schritt58 ) mittels binärem Suchen identifiziert werden. D. h., die Medianfilterroutine12 teilt die Liste der N-Werte in dem nach der Größe sortierten zweiten Datenarray42 in zwei Hälften, vergleicht den neuen Wert, z. B. A8, mit dem höchsten Wert in der unteren Wertehälfte, z. B. A1, oder mit dem niedrigsten Wert in der höheren Wertehälfte z. B. A7, und wiederholt dies, bis die Einfüge- oder Löschposition identifiziert sind. Ungeachtet der hier bevorzugten binären Suchstrategie, wird der Fachmann erkennen, dass auch andere Suchtechniken verwendet werden können. Beispielsweise kann die Suche durch den Beginn bei einem gegebenen Punkt in der Liste durchgeführt werden, (vorzugsweise dem Anfang oder dem Ende) und dem Vergleichen der Größe des neuen Beschleunigungswerts mit jedem Wert im zweiten Datenarray42 , um die Einfüge- und Löschpositionen aufzufinden. - Wie oben beschrieben, wird mit der Medianfilterroutine der vorliegenden Erfindung eine CPU-implementierte Medianfilterroutine angegeben, die die Effizienz und die Geschwindigkeit des Systems verbessert, um das bislang bestehende Problem des chronometrischen Engpasses der herkömmlichen Medianfilteransätze zu lösen. Die vorliegende Erfindung beruht auf der Erkenntnis, dass der Medianfilter üblicherweise ein Engpass in Fehlzündungserkennungs-Chronometriken ist. Sie weicht von den konventionellen Medianfilteransätzen in HDR-Anwendungen durch Verwendung einer softwareimplementierten Medianfilterroutine ab, die eine nach der Größe sortierte Liste von Beschleunigungswerten erzeugt und die in der Liste gespeicherten Beschleunigungswerte verschiebt, wenn ein neuer Wert empfangen wird.
- Außerdem erzeugt die Erfindung das nach der Größe sortierte Datenarray, ohne eine verknüpfte Liste zu verwenden. Die vorliegende Erfindung ermöglicht eine schnelle und effiziente softwareimplementierte Medianfilterroutine mit einer Anzahl von Vorteilen gegenüber konventionellen Systemen. Insbesondere ermöglicht sie Kosteneinsparungen aufgrund der Verschiebung der Fehlzündungsfunktionalität von dem BSPA zur Haupt-CPU. Darüber hinaus stellt die vorliegende Erfindung ein Fehlzündungs-Erkennungssystem bereit, das sowohl für LDR- als auch HDR-Verwendungen verwendet werden kann.
- An dem oben beschriebenen exemplarischen Ausführungsbeispiel können verschiedene Modifikationen vorgenommen werden. Beispielsweise soll die obige Beschreibung nicht als eine dahingehende Einschränkung interpretiert werden, dass eine spezielle Abfolge von Operationen erforderlich wäre. Zum Beispiel kann die Identifikation der Löschposition im zweiten Datenarray (Schritt
54 ) vor oder nach der Identifikation der Einfügeposition (Schritt58 ) vorgenommen werden. Weiter kann das Einfügen des neuen Beschleunigungswerts in das erste Datenarray40 (Schritt52 ) zu jedem Zeitpunkt vor dem Empfang des nächsten Werts vorgenommen werden. Außerdem kann, obwohl die Datenarrays40 ,42 in den3 und4 nur 7 Beschleunigungswerte enthalten, die Größe der Datenarrays nach Bedarf variieren. Die Medianbestimmung erfolgt in Schritt64 durch einfaches Heraussuchen des Beschleunigungswertes aus dem Medianfeld aus einer ungeraden Anzahl von größengeordneten Beschleunigungswerten. Der Fachmann wird jedoch erkennen, dass in einem Datenarray mit einer geraden Anzahl von Datenfeldern der Durchschnitt von zwei mittleren Beschleunigungswerten verwendet werden kann, um den Medianwert zu bestimmen. Obwohl die Medianfilterroutine der vorliegenden Erfindung insbesondere für Anwendungen mit hoher Datenrate geeignet ist, kann ein zusätzlicher Nutzen der Medianfilterroutine darin bestehen, dass aufgrund ihrer Eignung auch für Anwendungen mit niedriger Datenrate verschiedene Fehlzündungs-Erkennungstechniken für verschiedene Datenraten nicht mehr erforderlich sind. - Der Fachmann wird erkennen, dass eine Vielzahl von alternativen Systemkomponenten einschließlich alternativer Konfigurationen zur Bestimmung der Kurbelwellenbeschleunigung als auch zur Filterung und der Skalierung der gemessenen Daten verwendet werden können, ohne von dem Bereich der Erfindung abzuweichen, die in den beigefügten Ansprüchen definiert ist. Darüber hinaus können die Medianbeschleunigungswerte, die von der eingebetteten Medianfilterroutine
12 bereitgestellt werden, von dem System12 und/oder CPU14 in bekannter Weise weiter verarbeitet werden. Beispielsweise kann der Beschleunigungswert durch Verwendung eines Musterabgleichs oder einer ausschnittsweisen Spitzenerkennung in der oben beschriebenen Art weiterverarbeitet werden. Darüber hinaus können die12 erhaltenen Medianbeschleunigungswerte aus der Medianfilterroutine verwendet werden, um einen Medianfilterwert zu bestimmen (einen Beschleunigungswert ohne Musterabgleich) indem der Medianbeschleunigungswert, der von dem zweiten Datenarray42 in Schritt64 bestimmt wurde, von einem Medianwert des ersten Datenarrays40 abgezogen wird. Der Medianfilterwert kann dann an dem Fehlzündungsmonitor20 (1 ) übertragen werden. Konventionelle Fehlzündungsmonitore verwenden Medianfilterwerte, um relevante Fehlzündungen zu erkennen (z. B. wiederholtes Fehlzünden eines einzelnen Zylinders) und erhalten üblicherweise einen Beschleunigungswert mit Musterabgleich, um zufälliges Fehlzündungsauftreten, welches einen Schwellwert übersteigt zu erkennen.
Claims (5)
- Fehlzündungs erkennungssystem für eine Brennkraftmaschine mit einer Kurbelwelle, folgendes umfassend: a. Kurbelwellen-Beschleunigungs-Erkennungsmittel (
24 ,28 ) zur Bestimmung von Kurbelwellen-Beschleunigungswerten; b. einen Prozessor (14 ), der mit den Kurbelwellen-Beschleunigungs-Erkennungsmitteln kommuniziert, um einen neuen Beschleunigungswert zu erhalten, wobei der Prozessor (14 ) i. eine Datenstruktur (22 ) und ii. eine eingebettete Medianfilterroutine (12 ) aufweist, dadurch gekennzeichnet, iii. dass die Datenstruktur (22 ) ein erstes und ein zweites Datenarray (40 ,42 ) umfasst, wobei das zweite Datenarray (42 ) eine vorbestimmte Anzahl von Datenfeldern umfasst, in denen Beschleunigungswerte der Größe nach gespeichert sind; das erste Datenarray (40 ) dieselbe vorbestimmte Anzahl von Datenfeldern umfasst, in denen die Beschleunigungswerte in chronologischer Reihenfolge gespeichert sind, und iv. dass die Medianfilterroutine (12 ) ausgebildet ist, um: 1. einen ältesten Beschleunigungswert (A1) im ersten Datenarray zu identifizieren, 2. eine Löschposition (70 ) in dem zweiten Datenarray (42 ) gegeben durch den ältesten Beschleunigungswert (A1) durch Durchführen einer binären Suche in den Dateneinträgen im zweiten Datenarray (42 ) zu identifizieren, 3. eine Einfügeposition (72 ) in dem zweiten Datenarray (42 ) zu identifizieren, 4. ausgewählte Beschleunigungswerte (A2, A7, A4) in dem zweiten Datenarray (42 ) zu verschieben, um die Einfügeposition (72 ) freizumachen, 5. den neuen Beschleunigungswert (A8) in die Einfügeposition (72 ) einzufügen, und 6. den Medianwert (F4) der Beschleunigungswerte (A1–A8) in dem zweiten Datenarray (42 ) zu bestimmen. - Fehlzündungserkennungssystem nach Anspruch 1, bei dem der Prozessor (
14 ) weiter eine Fehlzündungsroutine (18 ) und einen Fehlzündungsmonitor (20 ) umfasst. - Fehlzündungserkennungssystem nach Anspruch 1, dadurch gekennzeichnet, dass die Medianfilterroutine (
12 ) gleichzeitig zwei der ausgewählten Beschleunigungswerte verschiebt. - Fehlzündungserkennungssystem nach Anspruch 1, dadurch gekennzeichnet, dass der Prozessor (
14 ) neue Beschleunigungswerte von den Kurbelwellen-Beschleunigungs-Erkennungsmitteln (24 ,28 ) mit einer hohen Datenrate empfängt. - Fehlzündungserkennungssystem nach Anspruch 1, dadurch gekennzeichnet, dass die ausgewählten Beschleunigungswerte in Schritt 4 die Beschleunigungswerte in der Einfügeposition (
72 ) und alle Beschleunigungswerte zwischen der Einfügeposition (72 ) und der Löschposition (70 ) umfassen.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/438,640 US6847882B2 (en) | 2003-05-15 | 2003-05-15 | Misfire detection system and method of median filtering |
US10/438640 | 2003-05-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102004024415A1 DE102004024415A1 (de) | 2004-12-16 |
DE102004024415B4 true DE102004024415B4 (de) | 2009-08-06 |
Family
ID=32508061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102004024415A Expired - Fee Related DE102004024415B4 (de) | 2003-05-15 | 2004-05-14 | Fehlzündungserkennungssystem für eine Brennkraftmaschine |
Country Status (3)
Country | Link |
---|---|
US (1) | US6847882B2 (de) |
DE (1) | DE102004024415B4 (de) |
GB (1) | GB2401687A (de) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7591172B2 (en) * | 2007-03-27 | 2009-09-22 | Temic Automotive Of North America, Inc. | Method and system for misfire detection |
JP4503631B2 (ja) * | 2007-05-18 | 2010-07-14 | 本田技研工業株式会社 | 内燃機関の制御装置 |
US20090088956A1 (en) * | 2007-09-27 | 2009-04-02 | Caterpillar Inc. | Robust onboard diagnostic misfire detection |
ATE528190T1 (de) * | 2008-05-26 | 2011-10-15 | Fiat Ricerche | Steuersystem für ein mit einem halbautomatischen getriebe mit getrennten übersetzungen ausgestattetes fahrzeug |
JP5448567B2 (ja) * | 2009-05-21 | 2014-03-19 | 株式会社やまびこ | 安全装置付き作業機 |
US8027782B2 (en) * | 2009-09-16 | 2011-09-27 | GM Global Technology Operations LLC | Pattern recognition for random misfire |
JP5622050B2 (ja) * | 2011-04-18 | 2014-11-12 | アイシン・エィ・ダブリュ株式会社 | 車両用駆動装置 |
US9494090B2 (en) * | 2013-03-07 | 2016-11-15 | GM Global Technology Operations LLC | System and method for controlling an engine in a bi-fuel vehicle to prevent damage to a catalyst due to engine misfire |
US9457789B2 (en) | 2014-05-13 | 2016-10-04 | GM Global Technology Operations LLC | System and method for controlling a multi-fuel engine to reduce engine pumping losses |
US10598113B2 (en) | 2016-08-31 | 2020-03-24 | Ford Global Technologies, Llc | Method for determining and applying an engine misfire threshold |
US10677834B2 (en) * | 2018-09-14 | 2020-06-09 | Schweitzer Engineering Laboratories, Inc. | Distance protection of electric power delivery systems using time domain and frequency domain |
CN111366370B (zh) * | 2020-04-15 | 2021-04-20 | 东风汽车集团有限公司 | 一种发动机故障注入方法和系统 |
CN111953318B (zh) * | 2020-06-28 | 2021-04-13 | 上海定九康科技股份有限公司 | 一种适应流水线架构的中值滤波方法、装置及滤波器 |
JP7363714B2 (ja) * | 2020-08-07 | 2023-10-18 | トヨタ自動車株式会社 | 内燃機関の失火検出装置 |
US11735907B2 (en) | 2021-02-03 | 2023-08-22 | Schweitzer Engineering Laboratories, Inc. | Traveling wave overcurrent protection for electric power delivery systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5144568A (en) * | 1987-05-26 | 1992-09-01 | Sundstrand Corporation | Fast median filter |
EP0858158A2 (de) * | 1997-02-04 | 1998-08-12 | Medison Co., Ltd. | Zirkulares Medianfilter |
DE10017749A1 (de) * | 1999-06-28 | 2001-01-11 | Ford Global Tech Inc | System zur Erfassung von Fehlzündungen in Verbrennungsmotoren |
DE69529066T2 (de) * | 1995-03-03 | 2003-04-17 | Motorola Inc | Effizienter medianfilter und verfahren |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109695A (en) * | 1990-08-24 | 1992-05-05 | Ford Motor Company | Misfire detection in an internal combustion engine |
US5237862A (en) * | 1992-06-22 | 1993-08-24 | Ford Motor Company | Adaptive method of cylinder misfire detection in an internal combustion engine |
US5515720A (en) * | 1994-07-25 | 1996-05-14 | Motorola, Inc. | Acceleration based misfire detection system and method with improved signal fidelity |
US5841025A (en) * | 1995-03-31 | 1998-11-24 | Motorola Inc. | Misfire detection method and apparatus |
US5699253A (en) * | 1995-04-05 | 1997-12-16 | Ford Global Technologies, Inc. | Nonlinear dynamic transform for correction of crankshaft acceleration having torsional oscillations |
US5528931A (en) * | 1995-04-05 | 1996-06-25 | Ford Motor Company | Engine diagnostic monitor with on-board adjustment of correction factors |
US5610328A (en) * | 1995-08-04 | 1997-03-11 | Ford Motor Company | Misfire detector for 50% misfire rate |
US5542291A (en) * | 1995-08-04 | 1996-08-06 | Ford Motor Company | Misfire detection in an internal combustion engine using modified median averaging |
US6018750A (en) * | 1995-08-07 | 2000-01-25 | Motorola Inc. | Fast and efficient median search method and filter |
US6070567A (en) * | 1996-05-17 | 2000-06-06 | Nissan Motor Co., Ltd. | Individual cylinder combustion state detection from engine crankshaft acceleration |
KR100221248B1 (ko) * | 1996-07-08 | 1999-09-15 | 이민화 | 차수확장이 용이한 미디언필터 |
US5862506A (en) * | 1996-07-29 | 1999-01-19 | Motorola Inc. | Modified trimmed mean filtering for misfire detection |
US6115727A (en) * | 1997-10-31 | 2000-09-05 | Motorola, Inc. | Time-weighted trimmed-mean filtering apparatus and method |
US6178414B1 (en) * | 1997-12-16 | 2001-01-23 | Nortel Networks Limited | Method and apparatus for updating and searching an ordered list of values stored within a memory resource |
US5906652A (en) * | 1998-07-31 | 1999-05-25 | Motorola Inc. | Method and system for misfire determination using synchronous correction |
US6388444B1 (en) * | 2000-01-13 | 2002-05-14 | Ford Global Technologies, Inc. | Adaptive method for detecting misfire in an internal combustion engines using an engine-mounted accelerometer |
US6787761B2 (en) | 2000-11-27 | 2004-09-07 | Surromed, Inc. | Median filter for liquid chromatography-mass spectrometry data |
US7315631B1 (en) | 2006-08-11 | 2008-01-01 | Fotonation Vision Limited | Real-time face tracking in a digital image acquisition device |
-
2003
- 2003-05-15 US US10/438,640 patent/US6847882B2/en not_active Expired - Lifetime
-
2004
- 2004-05-04 GB GB0409867A patent/GB2401687A/en not_active Withdrawn
- 2004-05-14 DE DE102004024415A patent/DE102004024415B4/de not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5144568A (en) * | 1987-05-26 | 1992-09-01 | Sundstrand Corporation | Fast median filter |
DE69529066T2 (de) * | 1995-03-03 | 2003-04-17 | Motorola Inc | Effizienter medianfilter und verfahren |
EP0858158A2 (de) * | 1997-02-04 | 1998-08-12 | Medison Co., Ltd. | Zirkulares Medianfilter |
DE10017749A1 (de) * | 1999-06-28 | 2001-01-11 | Ford Global Tech Inc | System zur Erfassung von Fehlzündungen in Verbrennungsmotoren |
Also Published As
Publication number | Publication date |
---|---|
GB2401687A (en) | 2004-11-17 |
DE102004024415A1 (de) | 2004-12-16 |
GB0409867D0 (en) | 2004-06-09 |
US20040230367A1 (en) | 2004-11-18 |
US6847882B2 (en) | 2005-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102004024415B4 (de) | Fehlzündungserkennungssystem für eine Brennkraftmaschine | |
EP0572584B1 (de) | Geberanordnung einer brennkraftmaschine mit zylinder- erkennung | |
DE10017749B4 (de) | System zur Erfassung von Fehlzündungen in Verbrennungsmotoren | |
DE19622448B4 (de) | Verfahren zur Erkennung von Verbrennungsaussetzern | |
DE102005042794B4 (de) | Automatisches Kalibrierverfahren für ein Zündaussetzererfassungssystem eines Motors | |
EP1309841B1 (de) | Klopferkennung bei brennkraftmaschinen mit modifizierung bei änderung einer filtercharakteristik oder zylinderindividueller änderung | |
DE19609872C2 (de) | Vorrichtung zur Steuerung des Betriebs einer Brennkraftmaschine | |
DE10321665A1 (de) | System und Verfahren zur Diagnose und Kalibrierung von Verbrennungsmotoren | |
DE69818904T2 (de) | Vorrichtung und Verfahren zur Erkennung von Fehlzündungen in einer Mehrzylinder-Brennkraftmaschine | |
DE4100527A1 (de) | Verfahren und vorrichtung zum bestimmen von aussetzern in einer brennkraftmaschine | |
DE112010000984T5 (de) | Drehmomentschätzungssystem für einen Verbrennungsmotor | |
EP1321655A1 (de) | Verfahren zur Detektion und Regelung des Verbrennungsbeginns in einer Brennfraftmaschine | |
DE19814732B4 (de) | Drehzahlerfassungsverfahren, insbesondere zur Verbrennungsaussetzererkennung | |
DE102005054399B4 (de) | System zum Unterscheiden von Takten einer Viertakt-Maschine | |
DE102004048330B4 (de) | Verfahren zur Diagnose für eine Motorsteuerung und entsprechende Motorsteuerung | |
DE19815143A1 (de) | Fehlzündungszustandsunterscheidungssystem für eine Brennkraftmaschine | |
DE10127378B4 (de) | Zylinder-Identifizierungssystem für eine Brennkraftmaschine | |
DE4231322C2 (de) | Fehlzündungs-Erfassungsvorrichtung für eine Brennkraftmaschine | |
EP0465614B1 (de) | Verfahren zur arbeitstakterkennung bei einem viertaktmotor | |
DE19638338A1 (de) | Geberanordnung zur schnellen Zylindererkennung bei einer Brennkraftmaschine | |
WO1995010032A1 (de) | Verfahren zur klopferkennung | |
DE102011007174A1 (de) | Vefahren zur Bestimmung einer Anfangsposition einer zyklischen Bewegung | |
DE10081774B4 (de) | Vorrichtung und Verfahren zum Erfassen der Kurbelwinkelposition in einem Verbrennungsmotor | |
EP0560793B1 (de) | Verfahren zum erkennen von irregulären verbrennungen in einem zylinder einer brennkraftmaschine | |
DE102016204263B4 (de) | Verfahren zum Gleichstellen von Zylindern einer Brennkraftmaschine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: VISTEON GLOBAL TECHNOLOGIES, INC., VAN BUREN TOWNS |
|
8128 | New person/name/address of the agent |
Representative=s name: BAUER-VORBERG-KAYSER, 50968 KOELN |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20131203 |