DE102017111926A1 - Prozesssteuerschaltung und Verfahren zum Steuern einer Bearbeitungsanordnung - Google Patents

Prozesssteuerschaltung und Verfahren zum Steuern einer Bearbeitungsanordnung Download PDF

Info

Publication number
DE102017111926A1
DE102017111926A1 DE102017111926.4A DE102017111926A DE102017111926A1 DE 102017111926 A1 DE102017111926 A1 DE 102017111926A1 DE 102017111926 A DE102017111926 A DE 102017111926A DE 102017111926 A1 DE102017111926 A1 DE 102017111926A1
Authority
DE
Germany
Prior art keywords
data
measurement
state information
state
matrix
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.)
Pending
Application number
DE102017111926.4A
Other languages
English (en)
Inventor
Ulf Seidel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102017111926.4A priority Critical patent/DE102017111926A1/de
Priority to US15/993,304 priority patent/US10963449B2/en
Publication of DE102017111926A1 publication Critical patent/DE102017111926A1/de
Priority to US17/153,404 priority patent/US11640386B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Complex Calculations (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen kann eine Verarbeitungschaltung (108) Folgendes enthalten: eine Datenerfassungsschaltung (102), die konfiguriert ist, Prozessdaten und Messdaten einer Bearbeitungsanordnung (104) zu erfassen, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; eine Datenverschmelzungsschaltung (108), die konfiguriert ist, Zustandsinformationen, wobei die Zustandsinformationen einen Status der Bearbeitungsanordnung (104) repräsentieren, und Genauigkeitsinformationen, die eine Genauigkeit der Zustandsinformationen repräsentieren, bereitzustellen; wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, basierend auf den erfassten Prozessereignisdaten die Zustandsinformationen zu aktualisieren, wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen basierend auf den erfassten Messereignisdaten den früheren Zustand der Zustandsinformationen wiederherzustellen, wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und eine Steuerschaltung (110), die konfiguriert ist, die Bearbeitungsanordnung (104) basierend auf den Zustandsinformationen und/oder basierend auf den Genauigkeitsinformationen zu steuern.

Description

  • Technisches Gebiet
  • Verschiedene Ausführungsformen beziehen sich im Allgemeinen auf eine Prozesssteuerschaltung und ein Verfahren zum Steuern einer Bearbeitungsanordnung.
  • Hintergrund
  • Im Allgemeinen können in vielen Industriezweigen mehr oder weniger komplexe Bearbeitungsanordnungen verwendet werden, um die gewünschten Waren, z. B. elektronische Vorrichtungen, mechanische Vorrichtungen, elektromechanische Vorrichtungen und dergleichen, herzustellen oder zu bearbeiten. Derartige Bearbeitungsanordnungen können mehrere Bearbeitungswerkzeuge oder irgendwelche anderen geeigneten Vorrichtungen zum Bearbeiten der Waren enthalten. In der Halbleiterindustrie kann ein sogenannter Werkzeugpark, der mehrere Bearbeitungswerkzeuge enthält, zum Bearbeiten irgendeines geeigneten Typs des Werkstücks, z. B. zum Bearbeiten eines Wafers, eines Chips, einer Chip-Baugruppe, einer Leiterplatte und dergleichen, verwendet werden. In der Halbleiterindustrie kann das Bearbeiten eines Werkstücks einen oder mehrere Schichtungsprozesse, einen oder mehrere Prozesse des Versehens mit Mustern, eine oder mehrere Temperaturbehandlungen, einen oder mehrere Implantationsprozesse usw. enthalten. Obwohl die Bearbeitungswerkzeuge einzeln gesteuert sein können, kann ein globales Steuersystem verwendet werden, um alle Bearbeitungswerkzeuge zu steuern, z. B. zum Einstellen der jeweiligen Bearbeitungswerkzeuge, zum Festlegen eines oder mehrerer Betriebsparameter der jeweiligen Bearbeitungswerkzeuge oder für eine andere Einstellung der jeweiligen Bearbeitungswerkzeuge. Die lokale und/oder globale (z. B. fabrikweite) Steuerung der jeweiligen Bearbeitungswerkzeuge kann außerdem als Durchlauf-zu-Durchlauf-System (bzw. „Run-to-Run-System“) bezeichnet werden. Im Allgemeinen kann es jedoch schwierig sein, eine große Anzahl von Bearbeitungswerkzeugen zu steuern, die außerdem eine große Anzahl verschiedener Prozesse bezüglich der Datenverarbeitung ausführen.
  • Zusammenfassung
  • Gemäß verschiedenen Ausführungsformen kann eine Verarbeitungsschaltung Folgendes enthalten: eine Datenerfassungsschaltung, die konfiguriert ist, Prozessdaten und Messdaten einer Bearbeitungsanordnung zu erfassen, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; eine Datenverschmelzungsschaltung, die konfiguriert ist, Zustandsinformationen, wobei die Zustandsinformationen einen Status der Bearbeitungsanordnung repräsentieren, und Genauigkeitsinformationen, die eine Genauigkeit der Zustandsinformationen repräsentieren, bereitzustellen; wobei die Datenverschmelzungsschaltung ferner konfiguriert ist, die Zustandsinformationen basierend auf den erfassten Prozessereignisdaten zu aktualisieren, wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen den früheren Zustand der Zustandsinformationen basierend auf den erfassten Messdaten wiederherzustellen (engl: „downdate“), wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und eine Steuerschaltung, die konfiguriert ist, die Bearbeitungsanordnung basierend auf den Zustandsinformationen zu steuern.
  • Figurenliste
  • In den Zeichnungen beziehen sich gleiche Bezugszeichen im Allgemeinen überall in den verschiedenen Ansichten auf die gleichen Teile. Die Zeichnungen sind nicht notwendigerweise maßstabsgerecht, wobei die Betonung stattdessen im Allgemeinen auf das Veranschaulichen der Prinzipien der Erfindung gelegt ist. In der folgenden Beschreibung werden verschiedene Ausführungsformen der Erfindung bezüglich der folgenden Zeichnungen beschrieben, worin:
    • 1 eine schematische graphische Darstellung einer Prozesssteuerschaltung gemäß verschiedenen Ausführungsformen zeigt,
    • 2A und 2B ein Beispiel einer Operation einer Datenverschmelzungsschaltung gemäß verschiedenen Ausführungsformen zeigen,
    • 3A eine schematische graphische Darstellung des Betriebs einer Prozesssteuerschaltung gemäß verschiedenen Ausführungsformen zeigt,
    • 3B eine schematische graphische Darstellung des Betriebs einer Prozesssteuerschaltung gemäß verschiedenen Ausführungsformen zeigt,
    • 4A bis 4E verschiedene Konfigurationen einer Datenverschmelzungsschaltung in einer schematischen graphischen Darstellung gemäß verschiedenen Ausführungsformen zeigen,
    • 5A und 5B ein Beispiel einer Modellmehrdeutigkeit in einer schematischen graphischen Darstellung gemäß verschiedenen Ausführungsformen zeigen,
    • 6A bis 6I verschiedene Konfigurationen einer Datenverschmelzungsschaltung gemäß verschiedenen Ausführungsformen zeigen,
    • 7A und 7B verschiedene Konfigurationen einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigen,
    • 8 eine Konfiguration einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigt,
    • 9 eine Konfiguration einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigt,
    • 10 eine Konfiguration einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigt,
    • 11 eine Konfiguration einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigt,
    • 12 eine Konfiguration einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigt,
    • 13 eine Konfiguration einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigt,
    • 14 eine Konfiguration einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigt,
    • 15 eine Konfiguration einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigt,
    • 16A bis 16C verschiedene Konfigurationen einer Datenverschmelzungsschaltung gemäß verschiedenen Ausführungsformen zeigen,
    • 17A und 17B verschiedene Konfigurationen einer Datenverschmelzungsschaltung in einer schematischen Ansicht gemäß verschiedenen Ausführungsformen zeigen, und
    • 18 einen schematischen Ablaufplan eines Verfahrens zum Betreiben einer Prozesssteuerschaltung gemäß verschiedenen Ausführungsformen zeigt.
  • Beschreibung
  • Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen, die zur Veranschaulichung spezifische Einzelheiten und Ausführungsformen zeigen, in denen die Erfindung praktiziert werden kann. Die Ausführungsformen werden in ausreichender Ausführlichkeit beschrieben, um es den Fachleuten auf dem Gebiet zu ermöglichen, die Erfindung zu praktizieren. Es können andere Ausführungsformen verwendet werden, wobei strukturelle, logische und elektrische Änderungen vorgenommen werden können, ohne vom Schutzumfang der Erfindung abzuweichen. Die verschiedenen Ausführungsformen sind nicht notwendigerweise wechselseitig ausschließend, da einige Ausführungsformen mit einer oder mehreren anderen Ausführungsformen kombiniert werden können, um neue Ausführungsformen zu bilden. Verschiedene Ausführungsformen sind im Zusammenhang mit Verfahren beschrieben, während verschiedene Ausführungsformen im Zusammenhang mit Vorrichtungen beschrieben sind. Es kann jedoch erkannt werden, dass die im Zusammenhang mit Verfahren beschriebenen Ausführungsformen ähnlich für die Vorrichtungen gelten können und umgekehrt.
  • Die Begriffe „wenigstens einer“ und „einer oder mehrere“ können so verstanden werden, dass sie irgendeine ganze Zahl, die größer als oder gleich eins ist, d. h., eins, zwei, drei, vier, [...], usw., enthalten. Der Begriff „mehrere“ kann so verstanden werden, dass er irgendeine ganze Zahl, die größer als oder gleich zwei ist, d. h., zwei, drei, vier, fünf, [...], usw., enthält.
  • Die Redewendung „wenigstens eines von“ hinsichtlich einer Gruppe von Elementen kann hier so verwendet werden, dass wenigstens ein Element aus der Gruppe, die aus den Elementen besteht, gemeint ist. Die Redewendung „wenigstens eines von“ hinsichtlich einer Gruppe von Elementen kann hier z. B. so verwendet werden, dass eine Auswahl von Folgenden gemeint ist: eines der aufgelisteten Elemente, mehrere von einem der aufgelisteten Elemente, mehrere einzelne aufgelistete Elemente oder mehrere von mehreren aufgelisteten Elementen.
  • Eine „Schaltung“, wie sie hier verwendet wird, wird als irgendeine Art einer logikimplementierenden Entität verstanden, die Spezial-Hardware oder einen Prozessor, der Software ausführt, enthalten kann. Eine Schaltung kann folglich eine analoge Schaltung, eine digitale Schaltung, eine Mischsignalschaltung, eine Logikschaltung, ein Prozessor, ein Mikroprozessor, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), ein digitaler Signalprozessor (DSP), eine feldprogrammierbare Gatteranordnung (FPGA), eine integrierte Schaltung, eine anwendungsspezifische integrierte Schaltung (ASIC) usw. oder irgendeine Kombination daraus sein. Irgendeine andere Art der Implementierung der jeweiligen Funktionen, die im Folgenden ausführlicher beschrieben werden, kann außerdem als eine „Schaltung“ verstanden werden. Es wird erkannt, dass zwei (oder mehr) der Schaltungen, die hier ausführlich beschrieben sind, als eine einzige Schaltung mit einer im Wesentlichen äquivalenten Funktionalität verwirklicht sein können, und dass umgekehrt irgendeine einzelne Schaltung, die hier ausführlich beschrieben ist, als zwei (oder mehr) separate Schaltungen mit einer im Wesentlichen äquivalenten Funktionalität verwirklicht sein kann. Zusätzlich können sich die Bezugnahmen auf eine „Schaltung“ auf zwei oder mehr Schaltungen beziehen, die gemeinsam eine einzige Schaltung bilden. Der Begriff „Schaltungsanordnung“ kann sich auf eine oder mehrere Schaltungen und/oder eine elektronische Vorrichtung, die aus einer oder mehreren Schaltungen besteht, beziehen.
  • Eine „Verarbeitungsschaltung“ (oder äquivalent eine „Verarbeitungsschaltungsanordnung“ oder ein „Prozessor“), wie sie hier verwendet wird, wird als auf irgendeine Schaltung verweisend verstanden, die eine Operation(en) an einem Signal(en) ausführt, wie z. B. irgendeine Schaltung, die eine Verarbeitung an einem elektrischen Signal oder einem optischen Signal ausführt. Eine Verarbeitungsschaltung kann sich folglich auf irgendeine analoge oder digitale Schaltungsanordnung beziehen, die eine Charakteristik oder eine Eigenschaft eines elektrischen oder optischen Signals ändert, das analoge und/oder digitale Daten enthalten kann. Eine Verarbeitungsschaltung kann sich folglich auf eine analoge Schaltung (die explizit als eine „analoge Verarbeitungsschaltung(sanordnung)“ bezeichnet werden kann), eine digitale Schaltung (die explizit als eine „digitale Verarbeitungsschaltung(sanordnung)“ bezeichnet werden kann), eine Logikschaltung, einen Prozessor, einen Mikroprozessor, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), einen digitalen Signalprozessor (DSP), eine feldprogrammierbare Gatteranordnung (FPGA), eine integrierte Schaltung, eine Anwendungsspezifische integrierte Schaltung (ASIC) usw. oder irgendeine Kombination daraus beziehen. Entsprechend kann sich eine Verarbeitungsschaltung auf eine Schaltung beziehen, die eine Verarbeitung an einem elektrischen oder optischen Signal als Hardware oder als Software, wie z. B. als in Hardware (z. B. einem Prozessor oder einem Mikroprozessor) ausgeführte Software, ausführt. „Digitale Signalverarbeitungsschaltung(sanordnung)“, wie sie hier verwendet wird, kann sich auf eine Schaltung beziehen, die unter Verwendung einer digitalen Logik implementiert ist, die eine Verarbeitung an einem Signal, z. B. einem elektrischen oder einem optischen Signal, ausführt, die eine Logikschaltung(en), einen Prozessor(en), einen skalaren Prozessor(en), einen Vektorprozessor(en), einen Mikroprozessor(en), einen Controller, einen Mikrocontroller, eine Zentraleinheit(en) (CPU), eine Graphikverarbeitungseinheit(en) (GPU), einen digitalen Signalprozessor(en) (DSP), eine feldprogrammierbare Gatteranordnung(en) (FPGA), eine integrierte Schaltung(en), eine anwendungsspezifische integrierte Schaltung(en) (ASIC) oder irgendeine Kombination daraus enthalten kann. Weiterhin wird erkannt, dass eine einzelne Verarbeitungsschaltung äquivalent in zwei separate Verarbeitungsschaltungen geteilt sein kann und dass umgekehrt zwei separate Verarbeitungsschaltungen in einer einzigen äquivalenten Verarbeitungsschaltung kombiniert sein können.
  • Im Folgenden wird eine allgemeine Beschreibung einer Prozesssteuerschaltung gemäß verschiedenen Ausführungsformen, gefolgt von verschiedenen Ausführungsformen, die die Prozesssteuerschaltung ausführlicher beschreiben, bereitgestellt. 1 veranschaulicht eine Prozesssteuerschaltung 100 in einer schematischen graphischen Darstellung gemäß verschiedenen Ausführungsformen.
  • Die Prozesssteuerschaltung 100 kann eine Datenerfassungsschaltung 102 enthalten. Die Datenerfassungsschaltung 102 kann konfiguriert sein, die Prozessdaten 105 und die Messdaten 107 einer Bearbeitungsanordnung 104 zu erfassen. Die Bearbeitungsanordnung 104 kann mehrere Bearbeitungswerkzeuge 105t, z. B. Fertigungswerkzeuge, oder irgendeinen anderen Typ von Bearbeitungsstrukturen enthalten. Ferner kann die Bearbeitungsanordnung 104 mehrere Messwerkzeuge 107t oder irgendeinen anderen Typ von Messstrukturen enthalten.
  • Gemäß verschiedenen Ausführungsformen können die Prozessdaten 105 mehrere Prozessereignisdaten 105d gemäß mehreren Prozessereignissen 105e enthalten. Die Messdaten 107 können mehrere Messereignisdaten 107d gemäß mehreren Messereignissen 107e enthalten (siehe 3).
  • Gemäß verschiedenen Ausführungsformen können die Bearbeitungswerkzeuge 105t irgendein Werkzeug enthalten, das bei der Halbleiterbearbeitung verwendet wird, z. B. ein Schichtungswerkzeug (das z. B. eine chemische oder physikalische Dampfabscheidung ausführt), ein Mustererzeugungswerkzeug (z. B. ein Lithographiewerkzeug), ein Ätzwerkzeug, ein Schleifwerkzeug, ein Werkzeug zum Trennen in Chips, ein Glühwerkzeug und dergleichen. Gemäß verschiedenen Ausführungsformen können die Messwerkzeuge 107t irgendein Werkzeug enthalten, das bei der Halbleiterbearbeitung verwendet wird, z. B. ein Werkzeug zum Messen einer Dicke eines Trägers, ein Werkzeug zum Messen optischer Eigenschaften, ein Werkzeug zum Messen elektrischer Eigenschaften, ein Werkzeug zum Testen einer bearbeiteten Struktur und dergleichen.
  • Im Fall der Halbleiterbearbeitung kann jedes der verwendeten Bearbeitungswerkzeuge 105t der Bearbeitungsanordnung 104 die Prozessereignisdaten 105d für ein Prozessereignis 105e bereitstellen, wobei ein Prozessereignis 105e z. B. irgendein Typ eines Prozesses sein kann, der mit dem auf das bearbeitete Werkstück, z. B. auf einen Wafer, einen Chip, eine Baugruppe und dergleichen, bezogenen Bearbeitungswerkzeug 105t ausgeführt wird. Ferner kann jedes der verwendeten Messwerkzeuge 107t der Bearbeitungsanordnung 104 die Messereignisdaten 107d für ein Messereignis 107e bereitstellen, wobei ein Messereignis 107e z. B. irgendein Typ einer mit dem auf das bearbeitete Werkstück, z. B. auf einen Wafer, einen Chip, eine Baugruppe und dergleichen, bezogenen Messwerkzeug 107t ausgeführten Messung sein kann. Deshalb können gemäß verschiedenen Ausführungsformen für ein jeweiliges Werkstück, W, das mit der Bearbeitungsanordnung 104 hergestellt wird, eine entsprechende Menge korrelierter Prozessdaten und Messdaten bereitgestellt werden, W1 (105-1, 107-1), W2 (105-2, 107-2). Die korrelierten Prozessdaten und Messdaten können verwendet werden, um die Bearbeitungsanordnung 104 in irgendeiner gewünschten Weise zu steuern, wobei die Bearbeitungsanordnung 104 eine große Anzahl von Bearbeitungswerkzeugen 105t und/oder Messwerkzeugen 107t, z. B. mehr als 100 Bearbeitungswerkzeuge und/oder Messwerkzeuge, enthält, was außerdem als Durchlauf-zu-Durchlauf-Steuerung bezeichnet werden kann. Aufgrund der Kombination der großen Anzahl von Werkzeugen und der großen Anzahl verschiedener Werkstücke (oder veranschaulichend Produkte) ist eine riesige Menge von Daten zu verarbeiten.
  • Ferner kann die Prozesssteuerschaltung 100 eine Datenverschmelzungsschaltung 108 enthalten, die konfiguriert ist, Zustandsinformationen, X, bereitzustellen. Die Zustandsinformationen repräsentieren einen Status der Bearbeitungsanordnung 104, wobei die Genauigkeitsinformationen ΔX eine Genauigkeit der Zustandsinformationen X repräsentieren. Gemäß verschiedenen Ausführungsformen kann die Erzeugung der Genauigkeitsinformationen ΔX wichtig sein, um die Bearbeitungsanordnung 104 basierend auf den erfassten Daten 105, 107 richtig zu steuern. Die Bearbeitungsdaten 105 können außerdem Modelldaten oder Modellparameter für ein entsprechendes Prozessmodell zum Modellieren eines Prozesses eines oder mehrerer der mehreren Bearbeitungswerkzeuge 105t und/oder Messwerkzeuge 107t enthalten. Gemäß verschiedenen Ausführungsformen kann die Bearbeitungsanordnung 104 eine Datenbankschaltung oder irgendeine andere geeignete Schaltung zum Bereitstellen der Prozessdaten 105 und/oder der Messdaten 107 enthalten.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 ferner konfiguriert sein, die Zustandsinformationen X (z. B. durch das Ausführen einer Prozessaktualisierung) basierend auf den erfassten Prozessereignisdaten 105 zu aktualisieren, wodurch die Genauigkeit der Zustandsinformationen X verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen den früheren Zustand der Zustandsinformationen X basierend auf den erfassten Messereignisdaten (107) wiederherzustellen (z. B. durch das Ausführen einer Wiederherstellung des früheren Zustands, die außerdem als Metrologieaktualisierung bezeichnet wird), wodurch die Genauigkeit der Zustandsinformationen X vergrößert wird. Veranschaulichend können die Zustandsinformationen X einschließlich so vieler Informationen wie möglich (d. h., basierend auf den Prozessdaten 105 und den Messdaten 107), die zu dem jeweiligen Zeitpunkt verfügbar sind, aktuell gehalten werden. Die Zustandsinformationen X können es außerdem erlauben, ein Ergebnis möglicher folgender Prozessereignisse 105e und/oder Messereignisse 107e vorherzusagen. Deshalb kann die Bearbeitungsanordnung 104 basierend auf den Zustandsinformationen X gesteuert werden. Alternativ oder zusätzlich kann die Bearbeitungsanordnung 104 basierend auf den Genauigkeitsinformationen ΔX gesteuert werden.
  • Ferner kann die Prozesssteuerschaltung 100 eine Steuerschaltung 110 enthalten, die konfiguriert ist, die Bearbeitungsanordnung 104 basierend auf den Zustandsinformationen X und/oder basierend auf den Genauigkeitsinformationen ΔX zu steuern 111.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 106 konfiguriert sein, die Prozesse der Prozessanordnung 104 einschließlich der Genauigkeitsdaten für alle der Prozessdaten 105 und der Messdaten 107 zu modellieren.
  • Gemäß verschiedenen Ausführungsformen kann die Prozesssteuerschaltung 100 gemäß verschiedenen Ausführungsformen konfiguriert sein, wie im Folgenden beschrieben wird. Die Ausführungsformen können einzeln oder in Kombination in der Prozesssteuerschaltung 100 enthalten sein. Verschiedene Ausführungsformen beziehen sich auf die richtige Verwendung der Genauigkeitsinformationen ΔX, um die Bearbeitungsanordnung 104 zu steuern und/oder irgendeine andere angeschlossene Schaltung, z. B. eine Überwachungsschaltung zum Überwachen der Bearbeitungsanordnung 104, z. B. eine Warnschaltung, eine Abfertiger-Schaltung, eine Kommunikationsschaltung und dergleichen, zu steuern.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die durch die Bearbeitungsanordnung 104 ausgeführten Prozesse basierend auf einem Prozessmodell zu modellieren und die Bearbeitungsergebnisse basierend auf dem Prozessmodell vorherzusagen. Die Datenverschmelzungsschaltung 108 kann konfiguriert sein, die Ergebnisse in Echtzeit, d. h., so schnell wie möglich, oder, mit anderen Worten, mit so wenig Rechenaufwand wie möglich bereitzustellen und gleichzeitig mehrere Prozesse (z. B. Fertigungsprozesse) in einer komplexen und dynamischen Prozessumgebung zu modellieren.
  • Gemäß verschiedenen Ausführungsformen kann die Prozesssteuerschaltung 100 bei der Halbleiterfertigung verwendet werden. Im Allgemeinen wird zusätzlich zu einem oder mehreren internen Steuersystemen des Fertigungswerkzeugs eine externe automatische Steuerung verwendet, um die Stabilität der Halbleiterfertigungsprozesse zu verbessern. Diese externe automatische Steuerung wird außerdem als Durchlauf-zu-Durchlauf-Steuerung (R2R-Steuerung) bezeichnet. Die Regelkreise enthalten fast immer mehr als eine Fertigungsoperation (z. B. Vormetrologie, Bearbeitung, Nachmetrologie). Die Steuerung kann typischerweise durch ein zentrales, fabrikweites automatisches System (R2R-System) bereitgestellt sein, das 24/7 betrieben wird.
  • Gemäß verschiedenen Ausführungsformen kann eine Durchlauf-zu-Durchlauf-Strategie zwei Schritte enthalten. Erstens das Schätzen eines geeigneten Zustands (der außerdem als Zustandsinformationen bezeichnet wird) der gesteuerten Prozesse unter Verwendung der Prozessdaten der vorherigen Materialien. Diese Daten können z. B. mitlaufende Messungen (z. B. einer Schichtdicke, einer kritischen Abmessung usw.), abgeleitete Größen (wie z. B. die Entfernungsgeschwindigkeit) und Werkzeugdaten enthalten. Der Zustand wird gewählt, um die Eigenschaften des Prozesses, der abgestimmt werden muss, widerzuspiegeln. Zweitens das Verwenden der Zustandsschätzung, um den (die) Abstimmparameter für das nächste Material zu berechnen.
  • Gemäß verschiedenen Ausführungsformen kann die Zustandsschätzung ein Hauptaspekt des Steueralgorithmus sein, d. h., der Prozesssteuerschaltung 100 und eines Verfahrens zum Steuern der Bearbeitungsanordnung 104. Im wirklichen Leben können die Zustandsinformationen in verschiedenen Weisen verfälscht werden, z. B. durch fehlende, verzögerte oder fehlerhafte Messungen. Es kann wichtig sein, die Zustandsinformationen permanent zu validieren, um einen Ausbeuteverlust und/oder Ausschuss während der Bearbeitung oder Fertigung zu vermeiden. Deshalb kann die Bearbeitungsanordnung 104 konfiguriert sein, außerdem Informationen über die Genauigkeit der Zustandsinformationen, z. B. statistische Fehlerinformationen, wie z. B. eine Standardabweichung des Schätzfehlers, bereitzustellen. Gemäß verschiedenen Ausführungsformen können die Validierungsroutinen Teil der Steueralgorithmus sein. Ohne eine richtige Validierung können die Zustandsschätzungen praktisch wertlos sein. Gemäß verschiedenen Ausführungsformen können die Validitätsinformationen (oder mit anderen Worten eine oder mehrere Genauigkeitsinformationen) für wenigstens eine der folgenden Funktionen verwendet werden:
    • • um den Regelkreis im Fall eines ungültigen Zustands automatisch zu unterbrechen,
    • • um zusätzliche Messungen automatisch auszulösen, um die Zustandsvalidität wiederherzustellen,
    • • um die Anzahl der gemessenen Materialien (z. B. über das Metrologieabtastsystem) zu steuern,
    • • um ein geeignetes Fertigungswerkzeug für das nächste zu bearbeitende Material automatisch auszuwählen (d. h., um ein Werkzeug auszuwählen, für das ein gültiger Zustand vorhanden ist),
    • • um Materialien automatisch zu den Fertigungswerkzeugen zu senden, um das Ablaufen der entsprechenden Werkzeugzustände zu verhindern,
    • • um die Rückkopplungsverstärkung des Regelkreises anzupassen, z. B. um die Rückkopplung zu vergrößern, falls der Zustand (teilweise) abgelaufen ist und/oder die ankommenden Messdaten signifikant neue Informationen enthalten.
  • Herkömmlich können simplistische Validierungskriterien für die erhaltenen Zustände der Bearbeitungsanordnung 104 verwendet werden, wie z. B.:
    • • der Zustand kann ungültig gemacht werden, falls der Zeitraum seit der letzten Zustandsaktualisierung irgendeinen vorgegebenen Schwellenwert übersteigt (Zeitabschaltung),
    • • der Zustand kann ungültig gemacht werden, falls die Anzahl der bearbeiteten Materialien (z. B. Chargen, Wafer usw.) seit der letzten Zustandsaktualisierung irgendeinen vorgegebenen Schwellenwert übersteigt (Materialabschaltung),
    • • die Zustandsaktualisierung kann unterdrückt werden, falls sich die Anzahl der einzelnen Messungen unter einem vorgegebenen Schwellenwert befindet,
    • • der Zustand kann ungültig gemacht werden, falls die Anzahl der Materialien, die bearbeitet werden, aber noch nicht gemessen worden sind, einen vorgegebenen Schwellenwert übersteigt. Alternativ kann zu einer einfachen arithmetischen Summe der Anzahl der Materialien ebenso eine gewichtete Summe verwendet werden. Die gewichtete Summe hebt Materialien hervor, die zuletzt bearbeitet worden sind (eine unbeobachtete Drift),
    • • In dem Fall, in dem ein EWMA-Filter (ein exponentiell gewichtetes Filter mit beweglichem Durchschnitt) für die Zustandsschätzung verwendet wird, kann die effektive Unterdrückung des Messrauschens aufgrund des Filters quantifiziert werden (Rauschverringerungsfaktor). Der Zustand kann nur gültig sein, falls die Rauschverringerung irgendeinen vorgegebenen Schwellenwert übersteigt.
  • Die Schwellenwerte für die oben beschriebenen simplistischen Validierungskriterien können herkömmlich durch einen Prozessingenieur basierend auf einem „guten Gefühl“ bestimmt werden. Die Signifikanz der Kriterien wird durch diese im hohen Grade subjektive und fehleranfällige Herangehensweise beeinträchtigt. Zusätzlich sind die Kriterien statisch und spiegeln nicht die sehr dynamische Natur einer Fertigung mit hoher Mischung und geringem Volumen wieder. Aufgrund dieser Einschränkungen werden die Schwellenwerte herkömmlich konservativ gewählt, was vorzeitige Unterbrechungen des Regelkreises und andere Probleme verursacht. In vielen Fällen können die oben beschriebenen Validitätsinformationen aufgrund eines Fehlens von zuverlässigen Validitätsinformationen nicht implementiert werden.
  • Die Zustandsschätzung kann durch mehrere Mechanismen verfälscht werden, wie z. B.:
    • • eine Werkzeugdrift (die Größe unterscheidet sich für verschiedene Produkte),
    • • die Werkzeugwartung (eine zufällige und/oder systematische Zustandsverschiebung),
    • • ein Gesamtausfall oder ein Mangel an Messwerten,
    • • das Abtasten der Messwerte und/oder
    • • zur Neige gehende Produkte.
  • Jedes der oben beschriebenen simplistischen Validierungskriterien kann nur einen Teilaspekt der tatsächlichen Situation abdecken. Es würde eine Validierungsroutine, wie sie hier beschrieben ist, erwünscht sein, die alle Verfälschungsmechanismen gleichzeitig abdecken kann.
  • Als ein Beispiel kann sich die Entfernungsgeschwindigkeit eines chemisch-mechanischen Planarisierungsprozesses für jeden bearbeiteten Wafer oder jedes bearbeitete Produkt verschlechtern. Die Größe der Verschlechterung kann von der Oberflächenstruktur des bearbeiteten speziellen Wafers oder Produkts abhängen. Der Wafer oder die Produkte können in einer praktisch zufälligen Reihenfolge bearbeitet werden. Einige Chargen können sofort gemessen werden, einige mit einer beträchtlichen Zeitverzögerung. Die Durchlauf-zu-Durchlauf-Steuerung kann verwendet werden, um die Verschlechterung der Entfernungsgeschwindigkeit zu modellieren und um den chemisch-mechanischen Planarisierungsprozess abzustimmen, z. B. um die Entfernungszeit einzustellen. In dieser komplexen Situation ist es für den Prozessingenieur unmöglich, unter Verwendung eines herkömmlichen Durchlauf-zu-Durchlauf-Systems Folgendes richtig zu spezifizieren
    • • eine feste Zeitabschaltung für eine Schätzung der Entfernungsgeschwindigkeit (der Zeitraum, in dem ein Schätzfehler über irgendeinen vorgegebenen Schwellenwert ansteigt, ist im hohen Grade variabel),
    • • eine feste Materialabschaltung (die Anzahl der bearbeiteten Wafer, bevor der Schätzfehler irgendeinen vorgegebenen Schwellenwert verletzt, ist im hohen Grade variabel),
    • • eine feste Anzahl einzelner Messungen pro Wafer, die für eine gültige Zustandsaktualisierung benötigt wird, (die durch jede Messung bereitgestellten Informationen unterscheiden sich in Abhängigkeit vom Ort der Messstelle beträchtlich),
    • • eine feste Obergrenze für die Anzahl der bearbeiteten Wafer, die noch nicht gemessen worden sind, (verschiedene Produkte verschlechtern die Zustandsschätzung verschieden) und/oder
    • • eine Untergrenze für den Rauschverringerungsfaktor (für die Berechnung des Rauschverringerungsfaktors wird angenommen, dass alle Produkte die Zustandsschätzung ähnlich verschlechtern; wobei außerdem fehlende oder verzögerte Messwerte vernachlässigt werden).
  • Gemäß verschiedenen Ausführungsformen kann das Zustandsschätz- und Validierungssystem aufgebaut sein, wie im Folgenden beschrieben wird. Es wird angegeben, dass ein Fachmann die im Folgenden beschriebenen Gleichungen und/oder Algorithmen modifizieren oder umformulieren kann, ohne das durch die Gleichungen und/oder Algorithmen definierte allgemeine Konzept zu ändern. Die hier verwendeten Indizes können z. B. in andere Indizes geändert oder durch andere Indizes ersetzt werden, wobei jede geeignete Programmiersprache verwendet werden kann, um die Algorithmen zu implementieren. Die Variable in der Form von Skalaren, Vektoren und/oder Matrizen können ebenso anders umformuliert werden. Hier wird ein allgemeines Konzept basierend auf einem oder mehreren Beispielen bereitgestellt und beschrieben. Ferner werden im Folgenden außerdem ausführliche Lösungen für die bevorzugten Ausführungsformen bereitgestellt, wobei sie jedoch als beispielhaft zu verstehen sind, weil das mathematische Konzept verschiedene Formulierungen für die gleichen Gleichungen erlaubt.
  • Gemäß verschiedenen Ausführungsformen kann ein lineares zeitvariantes Zustandsraummodell, das eine zufällige Erregung enthält, um den Prozess zu modellieren, z. B. gemäß der folgenden Gleichung verwendet werden: x k + 1 = A k + 1 x k + Q k + 1 ξ k + 1 + B k + 1
    Figure DE102017111926A1_0001
    In diesem Fall ist x ein Zustandsvektor (ausführlicher ist xk+1 der zu schätzende unbekannte Zustandsvektor und ist xk ein vorhergehender Zustandsvektor), ist Ak+1 eine Zustandsübergangsmatrix, ist ξk+1 ein Zufallsvektor, der das Prozessrauschen repräsentiert, (z. B. mit E[ξ] = 0; E[ξ2] = I), ist Qk+1 eine Rauschskalierungsmatrix und ist Bk+1 ein Prozessdriftvektor, der deterministische Zustandsdrifts repräsentiert, und ist k eine Zählervariable. Gleichung (1) beschreibt die Entwicklung des Zustandsvektors x vom Zeitpunkt k bis zum Zeitpunkt k + 1 aufgrund eines einzigen Bearbeitungsschritts. Mit anderen Worten, es können mehrere durch die Bearbeitungsanordnung 104 ausgeführte Prozesse (die außerdem als Prozessereignisse bezeichnet werden) auf den Index k abgebildet werden, wobei der Index k außerdem die chronologische Reihenfolge der jeweiligen Prozesse repräsentieren kann. Es können verschiedene Parametermatrizen Q, B, A für jeden Zeitpunkt gemäß den Werkzeugen, Materialien usw., die in den Bearbeitungsschritt einbezogen sind, verwendet werden. Die Möglichkeit, verschiedene Matrizen/Vektoren für jeden Zeitschritt zu verwenden, kann für das präzise Modellieren der Auswirkung der verschiedenen Werkzeuge, Materialien usw. nützlich sein.
  • Wie oben veranschaulicht ist, kann gemäß verschiedenen Ausführungsformen die Datenverschmelzungsschaltung 108 konfiguriert sein, die Prozessdaten 105 basierend auf einem Prozessmodell, das einen oder mehrere Prozessmodellparameter zum Modellieren bekannter Einflüsse (z. B. die Prozessmodellparameter A, B) und/oder einen oder mehrere Prozessrauschparameter zum Modellieren unbekannter Einflüsse (z. B. die Prozessmodellparameter Q oder N, wie im Folgenden ausführlicher beschrieben wird) enthält, zu modellieren.
  • Die Datenverschmelzungsschaltung 108 kann z. B. konfiguriert sein, die Prozessdaten 105 basierend auf einem Prozessmodell (z. B. eines linearen zeitvarianten Zustandsraums), das wenigstens einen der folgenden Prozessmodellparameter enthält, zu modellieren: einen Zustandsübergangsparameter (z. B. den Prozessmodellparameter A), einen Prozessrauschparameter (z. B. den Prozessmodellparameter Q oder N, wie im Folgenden beschrieben wird) und/oder einen Prozessdriftparameter (z. B. den Prozessmodellparameter B).
  • Als ein Beispiel kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die Prozessdaten 105 ähnlich zur Gleichung (1) wie folgt zu modellieren: x k + 1 = A k + 1 x k + N k + 1 + B k + 1
    Figure DE102017111926A1_0002
    In diesem Fall ist xk+1 ein Zustandsvektor, ist xk ein vorhergehender Zustandsvektor, ist Ak+1 eine Zustandsübergangsmatrix, ist Nk+1 ein Prozessrauschvektor, ist Bk+1 ein Prozessdriftvektor und ist k eine Zählervariable. Mit Nk+1 = Qk+1 ξk+1, wobei ξk+1 ein Zufallsvektor, der das Prozessrauschen repräsentiert, (z. B. mit E[ξ] = 0, E[ξ2] = I) ist und Qk+1 eine Rauschskalierungsmatrix ist, gleicht die Gleichung der Gleichung (1).
  • Gemäß verschiedenen Ausführungsformen wird die entsprechende Messung gemäß dem Prozessmodell modelliert, wie z. B. wie folgt: y k + 1 = C k + 1 x k + 1 + R k + 1 η k + 1 + D k + 1
    Figure DE102017111926A1_0003
    In diesem Fall ist y der skalare Messwert, ist C der Beobachtungsvektor, der z. B. den Beitrag der Elemente des Zustandsvektors x zu dem skalaren Messwert y repräsentiert, ist η ein Zufallsvektor, der das Messrauschen repräsentiert, (z. B. in der Form E[η] = 0, E[η2] = 1), ist D ein Skalar, der zusätzliche deterministische Vorwärtsregelungseffekte modelliert, und ist k eine Zählervariable. Wie oben beschrieben worden ist, können verschiedene Parametermatrizen C, R, D für jeden Zeitschritt verwendet werden. Gemäß verschiedenen Ausführungsformen kann eine Anzahl von m entsprechenden unabhängigen Gleichungen (2) in dem Fall formuliert werden, in dem die Messung eine Anzahl von m (möglicherweise korrelierten) Messwerten bereitstellt. In diesem Fall können die m Messungen durch das sequentielle Ausführen der m Gleichungen (2) betrachtet werden.
  • Wie oben veranschaulicht worden ist, kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die Messdaten 107 basierend auf einem oder mehreren Messmodellparametern zum Modellieren der bekannten Einflüsse (z. B. den Messmodellparametern C und/oder D) und/oder einem oder mehreren Messrauschparametern zum Modellieren der unbekannten Einflüsse (z. B. den Messmodellparametern R und/oder M, wie im Folgenden ausführlicher beschrieben wird) zu modellieren. Die Datenverschmelzungsschaltung 108 kann z. B. konfiguriert sein, die Messdaten 107 basierend auf einem Messmodell (das Modellieren der Messung kann dem Prozessmodell entsprechen) zu modellieren, das wenigstens einen der folgenden Messmodellparameter enthält: einen Beobachtungsparameter (den Messmodellparameter C), einen Messrauschparameter (den Messmodellparameter R oder M) und/oder einen Messversatzparameter (den Messmodellparameter D).
  • Als ein Beispiel kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die Messdaten 107 ähnlich zur Gleichung (2) wie folgt zu modellieren: y k + 1 = C k + 1 x k + 1 + M k + 1 + D k + 1
    Figure DE102017111926A1_0004
    In diesem Fall ist yk+1 ein skalarer Messwert oder ein Messvektor, ist Ck+1 ein Beobachtungsvektor oder eine Beobachtungsmatrix (der bzw. die den Beitrag der Elemente des Zustandsvektors xk+1 zu yk+1 beschreibt), ist Mk+1 ein Messrauschskalar oder ein Messrauschvektor, ist Dk+1 ein Messversatzskalar oder ein Messversatzvektor und ist k eine Zählervariable. Mit Mk+1 = Rk+1 ηk+1, wobei ηk+1 ein Zufallsvektor ist, der das Messrauschen repräsentiert, (z. B. mit E[η] = 0, E[η2] = I), und Rk+1 ein Rauschskalierungsvektor oder eine Rauschskalierungsmatrix ist, gleicht diese Gleichung der Gleichung (2).
  • Gemäß verschiedenen Ausführungsformen können nicht alle Elemente der Matrizen (A, N, Q, B, C, M, R) einzeln parametrisiert sein. Ein oder mehrere Elemente können auf Nullen gesetzt sein. Große Gruppen von Elementen können demselben Parameter zugewiesen sein. In dieser Weise kann, falls gewünscht, die effektive Anzahl der Parameter drastisch verringert werden.
  • Gemäß verschiedenen Ausführungsformen können die Produktionsmassendaten (die z. B. beispielhafte Prozessdaten 105 und Messdaten 107 des jeweiligen zu modellierenden Prozesses enthalten) über einen vorgegebenen Zeitraum gesammelt werden. Es kann eine statistische Prozedur (z. B. eine Schätzung der maximalen Wahrscheinlichkeit, wie im Folgenden ausführlicher beschrieben wird) verwendet werden, um die Parameter N, Q, M, R, B, D, C, A des oben beschriebenen Prozessmodells z. B. gemäß den Gleichungen (1), (2) oder (1*), (2*), oder irgendeines anderen geeigneten Prozessmodells, das auf ähnlichen Gleichungen basiert, zu bestimmen.
  • Gemäß verschiedenen Ausführungsformen kann ein Kalman-Filter verwendet werden, um den Zustand x und die entsprechende Schätzfehler-Kovarianzmatrix P zu schätzen (die Schätzfehler-Kovarianzmatrix P kann die Genauigkeit der Vorhersage des Zustands x über das Prozessmodell beschreiben). Das Filter kann mit den Matrizen parametrisiert werden, die z. B. durch die oben beschriebene statistische Prozedur bestimmt werden. Gemäß verschiedenen Ausführungsformen kann das Kalman-Filter in zwei Sätze von Gleichungen geteilt werden, wobei deshalb die Aktualisierung und die Wiederherstellung des früheren Zustands der Zustandsinformationen unabhängig voneinander ausgeführt werden können.
  • Gemäß verschiedenen Ausführungsformen kann das Kalman-Filter z. B. basierend auf den Gleichungen (1), (2) wie folgt in zwei Sätze von Gleichungen (3), (4) geteilt werden: x ^ k + 1 = A k + 1 x ^ k + B k + 1 , P k + 1 = A k + 1 P k A k + 1 T + Q k + 1 Q k + 1 T ,
    Figure DE102017111926A1_0005
    x ^ k + 1 = x ^ k + K k + 1 ( y k + 1 C k + 1 x ^ k D k + 1 ) P k + 1 = ( I K k + 1 C k + 1 ) P k K k + 1 = P k C k + 1 T ( C k + 1 P k C k + 1 T + R k + 1 R k + 1 T ) 1 .
    Figure DE102017111926A1_0006
  • In der gleichen Weise kann das Kalman-Filter basierend z. B. auf den Gleichungen (1*), (2*) oder ähnlichen Gleichungen eines weiteren geeigneten Prozessmodells in zwei Sätze von Gleichungen geteilt werden. Beide Sätze von Gleichungen (3), (4) können vollständig unabhängig voneinander ausgeführt werden. Die Gleichung (3) kann nach jedem Prozess- oder Wartungsschritt ausgeführt werden (was außerdem als „Prozessaktualisierung“ oder nur als „Aktualisierung“ bezeichnet wird). Diese Schritte vergrößern den Schätzfehler und verringern deshalb die Genauigkeit der Zustandsinformationen, da ein neues unbekanntes Prozessrauschen den beobachteten Zustand verschiebt. Die Gleichung (4) kann nach einem oder mehreren Messschritten ausgeführt werden (was außerdem als „Metrologieaktualisierung“ oder nur als „Wiederherstellung des früheren Zustands“ bezeichnet wird). Das Berücksichtigen der Messdaten verringert den Schätzfehler und vergrößert deshalb die Genauigkeit der Zustandsinformationen, da sie neue Informationen über den Zustand bereitstellen. In dem Fall, in dem die Metrologiedaten (die außerdem als die Messdaten bezeichnet werden) aus mehr als einem Messwert bestehen, kann die Metrologieaktualisierung (4) für jeden Wert separat ausgeführt werden. Die Reihenfolge von (3) und (4) spiegelt die Ansammlung und die Verschlechterung der Prozessinformationen (z. B. die Abnahme und die Zunahme des Schätzfehlers) präzise wieder, solange wie die Prozessmodellparameter N, Q, M, R, B, D, C, A zu den Prozessen im wirklichen Leben passen, die z. B. durch die Bearbeitungsanordnung 104 ausgeführt werden. Gemäß verschiedenen Ausführungsformen bietet das Prozessmodell, das eine unabhängige Aktualisierung und Wiederherstellung des früheren Zustands enthält, wie hier beschrieben worden ist, einen vereinheitlichten Rahmen zum gleichzeitigen Modellieren und Überwachen aller relevanter Zustandsverfälschungsmechanismen, was außerdem im Folgenden ausführlicher beschrieben wird.
  • Gemäß verschiedenen Ausführungsformen kann die Fehlerkovarianzmatrix Pk+1 verwendet werden, um die Fehlervarianz zu berechnen oder um mit anderen Worten die Genauigkeitsinformationen der Zustandsinformationen bereitzustellen. Die Fehlervarianz kann basierend auf der folgenden Gleichung oder ähnlichen Formulierungen bestimmt werden: σ E R R 2 = C ¯ P k + 1 C ¯ T
    Figure DE102017111926A1_0007
    In diesem Fall können eine oder mehrere Zustandskombinationen von Interesse durch den Zustandsextraktorvektor C definiert werden. Gemäß verschiedenen Ausführungsformen kann die Standardabweichung σERR des Schätzfehlers verwendet werden, um die Zustandskombination zu validieren. Die Standardabweichung σERR des Schätzfehlers weist die gleiche physikalische Einheit wie die beobachtete Zustandskombination auf. Gemäß verschiedenen Ausführungsformen kann ein geeigneter Schwellenwert in Kombination mit der Standardabweichung σERR des Schätzfehlers verwendet werden, um den Regelkreis unterbrechen, um zusätzliche Messungen auszulösen usw., wie oben beschrieben worden ist. Die Verwendung der Fehlerkovarianzmatrix P für die Zustandsvalidierung kann hilfreich und ein Hauptunterschied zu den üblicherweise verwendeten Durchlauf-zu-Durchlauf-Kalman-Filter-Anwendungen sein.
  • Gemäß verschiedenen Ausführungsformen können der Zustandsvektor x̂ und die Fehlerkovarianzmatrix P̂ automatisch erweitert werden, wenn die Daten für neue Produkte, ein neues Werkzeug usw. erfasst werden. Deshalb kann der Durchlauf-zu-Durchlauf-Controller (z. B. die Prozesssteuerschaltung 100) imstande sein, sich an die ständig ändernde Umgebung der Halbleiterproduktion oder irgendeiner anderen Bearbeitungsumgebung anzupassen.
  • 2A veranschaulicht den Betrieb der Datenverschmelzungsschaltung 108 oder, mit anderen Worten, den Betrieb der Prozesssteuerschaltung 100 basierend auf einer graphischen Darstellung gemäß verschiedenen Ausführungsformen. Die graphische Darstellung zeigt die Genauigkeit der Zustandsinformationen 202y (z. B. basierend auf einer Standardabweichung σERR des Fehlers oder basierend auf einer normierten Erneuerung des Verhältnisses (die z. B. als ein normierter Vorhersagefehler verstanden werden kann), wie im Folgenden ausführlicher beschrieben wird) für ein einziges Zustandsmodell über einem Zeitindex, k, 202x. Der entsprechende Schwellenwert 202t kann z. B. verwendet werden, um den Regelkreis zu unterbrechen, um zusätzliche Messungen auszulösen usw., wie oben beschrieben worden ist. Wie veranschaulicht ist, wird von dem Zeitindex k = 150 bis zu dem Zeitindex k = 300 ein Gesamtausfall der Messungen angenommen. Die Genauigkeit der Zustandsinformationen (z. B. die Standardabweichung des Fehlers) übersteigt gerade nach dem Start und in dem Zeitraum des Gesamtausfalls der Messungen den Schwellenwert 202t. Nach dem Gesamtausfall der Messungen nimmt die Genauigkeit der Zustandsinformationen ab und fällt schnell unter den Schwellenwert 202t. Beide Effekte (das Einschwingen und der Gesamtausfall der Messungen) können gemäß verschiedenen Ausführungsformen durch denselben Schwellenwert überwacht werden.
  • 2B veranschaulicht den Betrieb der Datenverschmelzungsschaltung 108 oder, mit anderen Worten, den Betrieb der Prozesssteuerschaltung 100 basierend auf einer graphischen Darstellung gemäß verschiedenen Ausführungsformen. Die graphische Darstellung veranschaulicht die Genauigkeit der Zustandsinformationen 202y (z. B. basierend auf einer Standardabweichung σERR des Fehlers oder basierend auf einer normierten Erneuerung des Verhältnisses, wie im Folgenden ausführlicher beschrieben wird) für vier mit unterschiedlicher Frequenz bearbeitete Produkte. P1 bis P3 sind z. B. hoch laufende Produkte, während P4 ein tief laufendes Produkt ist. Die Größe des Schätzfehlers (oder irgendein anderer geeigneter Wert, um die Genauigkeit der Zustandsinformationen zu bestimmen) unterscheidet sich aufgrund der unähnlichen Bearbeitungsfrequenzen beträchtlich. Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108, wie hier beschrieben ist, diese Wirkung richtig modellieren. Zusätzlich steigt der Schätzfehler an, wenn das Material ohne mitlaufende Messungen bearbeitet wird. Dieser Effekt wird außerdem durch die Datenverschmelzungsschaltung 108 abgedeckt. Gemäß verschiedenen Ausführungsformen wird der vorhergesagte Schätzfehler angesammelt, bis ein neuer Messwert ankommt. Aufgrund der Metrologieaktualisierung (die außerdem als Wiederherstellung des früheren Zustands bezeichnet wird) fällt der Schätzfehler, wobei er sich anschließend abermals ansammelt.
  • Gemäß verschiedenen Ausführungsformen kann die hier beschriebene Prozesssteuerschaltung 100 wenigstens einen oder alle der folgenden Aspekte bieten:
    • sie kann eine Zustandsschätzung bereitstellen, die bezüglich der verfügbaren Daten in Anbetracht dessen optimal ist, dass:
      • • Daten bei der Fertigung in geringem Volumen und hoher Mischung knapp, unregelmäßig und wertvoll sind,
      • • die Rückkopplungsverstärkung an die Datensituation und die Wafer in Bearbeitung (WIP) angepasst werden kann,
      • • die Schätzungen für jeden Zeitpunkt optimal sind,
      • • eine Zustandsschätzung selbst in ungünstigen Situationen (z. B. fehlende Messwerte, fehlende Abtastung usw.) optimal ist;
    • ein Schätzfehler in Anbetracht dessen bereitgestellt (z. B. berechnet) werden kann, dass:
      • • eine Empfehlung unterdrückt werden kann, falls die Genauigkeit einer Zustandsschätzung unzureichend ist,
      • • eine permanente Modellvalidierung verwirklicht ist, es z. B. geprüft werden kann, ob ankommende Daten konsistent modelliert werden und/oder ob das für die Vorhersage verwendete interne Modell richtig bereitgestellt ist und dem Prozess im wirklichen Leben entspricht,
    • ein universeller Rahmen für eine einfache und eine komplexe Steueraufgabe bereitgestellt wird; und
    • eine modellbasierte Herangehensweise bereitgestellt wird, die sich ohne die Notwendigkeit des Anpassens der Schätzalgorithmen selbst nur auf die richtige Modellierung des Prozesses konzentriert.
  • Gemäß den verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 eine Komponente eines Durchlauf-zu-Durchlauf-Systems (z. B. bei der Halbleiterfertigung) sein. Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 als eine Komponente eines (z. B. fabrikweiten) automatischen Durchlauf-zu-Durchlauf-Steuersystems verwendet werden. Derartige Systeme können in jeder modernen Halbleiterfabrik vorhanden sein. Die Verwendung der Datenverschmelzungsschaltung 108 kann jedoch nicht auf zentrale (fabrikweite) Systeme eingeschränkt sein; sie könnte außerdem ebenso für ein lokales System verwendet werden. Die Aufgabe von R2R-Systemen kann sein, die Prozessparameter kritischer Produktionsprozesse zu modifizieren (z. B. abzustimmen oder anzupassen). Das R2R-System kann viele Produktionsprozesse gleichzeitig steuern und kann die Zustandsinformationen (z. B. die Zustandsschätzung) für alle gesteuerten Prozesse, typischerweise in einer Datenbank, halten. Bei jedem relevanten Produktionsereignis (z. B. einem Prozess, einer Messung, einer Wartung usw.) werden Daten an das R2R-System gesendet oder werden, mit anderen Worten, Daten durch das R2R-System erfasst. Das R2R-System kann konfiguriert sein, den Zustand auszuwählen, der dem aktuellen Produktionsschritt entspricht, wobei es die neuen (erfassten) Daten zu ihm hinzufügt.
  • Gemäß verschiedenen Ausführungsformen werden, wenn das Produktionsereignis die Zustandsschätzung (z. B. aufgrund eines Bearbeitungsereignisses, eines Wartungsereignisses usw.) verschlechtert, durch die Gleichung (3) Daten hinzugefügt, was außerdem als eine Prozessaktualisierung bezeichnet wird. Wenn das Produktionsereignis die Daten (z. B. im Fall eines Metrologieereignisses) erzeugt hat, die die Zustandsschätzung verbessern, werden die Daten durch die Gleichung (4) hinzugefügt, was außerdem als eine Metrologieaktualisierung bezeichnet wird.
  • Falls Material (z. B. ein Wafer, eine Charge, ein Los usw.) an einem gesteuerten Produktionsprozess ankommt, kann eine Anforderung an das R2R-System gesendet werden. Das R2R-System kann die Zustandsinformationen und/oder die Genauigkeitsinformationen verwenden, um das Ergebnis des Prozesses vorherzusagen. Die Vorhersage kann verwendet werden, um einen oder mehrere Abstimmparameter, die das Ergebnis verbessern können, gemäß einem vorgegebenen Optimierungskriterium zu berechnen. Die Genauigkeitsinformationen (z. B. die durch die Gleichung (5) gegebene Standardabweichung σERR des Schätzfehlers) können wie folgt verwendet werden:
    • • Wenn die Standardabweichung σERR des Schätzfehlers einen vorgegebenen Schwellenwert, LREC, übersteigt, können die R2R-Systeme keine Abstimmparameter an die Bearbeitungsanordnung 104, z. B. an ein Produktionswerkzeug, senden. Der automatische Regelkreis (z. B. die Steuerung der Bearbeitungsanordnung 104) kann unterbrochen werden, um einen Ausbeuteverlust und/oder Ausschuss zu vermeiden. Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108, die wenigstens eine Validierungsroutine enthält, sicherstellen, dass die automatische Durchlauf-zu-Durchlauf-Steuerung (z. B. die Steuerung der Bearbeitungsanordnung 104) nur ausgeführt wird, wenn eine ausreichend zuverlässige Zustandsschätzung verfügbar ist.
    • • Die ankommenden Messdaten yk+1 können z. B. durch das Berechnen der normierten Erneuerung des Verhältnisses, v0, z. B. gemäß Folgendem: v 0 = y k + 1 C k + 1 x ^ k D k + 1 C k + 1 P k C k + 1 T + R k + 1 R k + 1 T
      Figure DE102017111926A1_0008
      validiert werden. In diesem Fall können die gültigen Messungen durch -Ly ≤ v0 ≤ Ly, z. B. mit 1 ≤ Ly ≤ 5 oder 2 ≤ Ly ≤ 4 oder irgendeinem anderen geeigneten Intervall als ein Kriterium, charakterisiert werden. Die normierte Erneuerung v0 des Verhältnisses ist ein universelles Maß, das von dem Verwendungsfall und dem Übergangsverhalten (dem Einschwingen) des Schätzalgorithmus unabhängig ist. Falls die normierte Erneuerung v0 des Verhältnisses Ly übersteigt, sind mehrere Reaktionen möglich, wie z.B.:
      • ■ es kann eine Zustandsaktualisierung übersprungen werden, weil yk+1 als fehlerhaft betrachtet wird, und/oder
      • ■ es kann ein Prozessingenieur (z. B. über E-Mail, SMS oder irgendein anderes geeignetes Signal oder irgendeine andere geeignete Nachricht) informiert werden, weil das Modell und die realen Daten nicht mehr zusammenpassen; dies könnte eine Angabe sein, dass sich der Prozess geändert hat und das Prozessmodell neu eingestellt werden muss.
    • • Das Metrologieabtastsystem kann basierend auf den Genauigkeitsinformationen, z. B. basierend auf der Standardabweichung σERR des Schätzfehlers, dynamisch gesteuert werden. Für hohe Werte der Standardabweichung σERR des Schätzfehlers kann die Abtastrate verringert werden (d. h., es können mehr Materialien gemessen werden); für geringe Werte der Standardabweichung σERR des Schätzfehlers kann die Abtastrate vergrößert werden (es können z. B. weniger Materialien gemessen werden). Dafür kann gemäß verschiedenen Ausführungsformen eine Schnittstelle und ein Datenaustausch zwischen dem Abtasten und dem R2R-System bereitgestellt werden.
    • • Wenn die Standardabweichung σERR des Schätzfehlers einen vorgegebenen Schwellenwert, LMET, übersteigt, können zusätzliche Messungen ausgelöst werden, z. B. über ein Echtzeit-Abfertigungssystem (RTD-System), um die Genauigkeit der Zustandsschätzung zu verbessern. Dafür kann gemäß verschiedenen Ausführungsformen eine Schnittstelle und ein Datenaustausch zwischen dem RTD- und dem R2R-System bereitgestellt werden.
    • • Gemäß verschiedenen Ausführungsformen kann das Echtzeit-Abfertigungssystem konfiguriert sein, basierend auf der Standardabweichung σERR des Schätzfehlers ein neues Produktionswerkzeug für ein spezifisches Material auszuwählen:
      • ■ wobei nur Werkzeuge ausgewählt werden können, für die die Standardabweichung des Schätzfehlers σERR < LREC ist; dies stellt sicher, dass für alle ausgewählten Werkzeuge ein gültiger Zustand zur Berechnung der Abstimmparameter verfügbar ist, und/oder
      • ■ aus den ausgewählten Werkzeugen das Werkzeug mit der höchsten Standardabweichung σERR des Schätzfehlers gewählt werden kann; dies kann eine weitere Verschlechterung/einen weiteren Ablauf der entsprechenden Zustandsschätzung verhindern.
  • Gemäß verschiedenen Ausführungsformen können basierend auf den Genauigkeitsinformationen ein oder mehrere Überwachungsprozesse gestartet werden und/oder können eine oder mehrere Warnungen gesendet oder angezeigt werden. Es kann mehr als einen Schwellenwert geben, um mehr als einen unterschiedlichen Prozess entsprechend dem jeweiligen Schwellenwert in dem Fall, in dem die Genauigkeit der Zustandsinformationen diesen jeweiligen Schwellenwert übersteigt, zu starten.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 oder die Prozesssteuerschaltung 100 eine Hauptkomponente eines Steuersystems für diskrete Prozesse (z. B. Losprozesse) in irgendwelchen anderen Industrien sein. Die Ausführungsformen werden hier bezüglich der Halbleiterbearbeitung beschrieben. Die Verwendung der Datenverschmelzungsschaltung 108 oder der Prozesssteuerschaltung 100 kann jedoch nicht auf die Halbleiterindustrie eingeschränkt sein. Sie kann für die Steuerung irgendwelcher diskreter Prozesse verwendet werden, die mit den Gleichungen (1) und (2) oder ähnlichen Gleichungen beschrieben werden können. Die Datenverschmelzungsschaltung 108 stellt ein allgemeines Mittel für die Zustandsvalidierung bereit, das ein Teil eines Steuersystems sein kann.
  • 3A zeigt eine schematische graphische Darstellung des Betriebs einer Prozesssteuerschaltung 100, die verwendet wird, um einen Prozessablauf 300 einer Bearbeitungsanordnung 104 zu steuern, und eines Verfahrens zum Steuern einer Bearbeitungsanordnung 104 gemäß verschiedenen Ausführungsformen.
  • In Analogie zu den oben beschriebenen Ausführungsformen kann die Prozesssteuerschaltung 100 konfiguriert sein, die Prozessdaten 105d und die Messdaten 107d einer Bearbeitungsanordnung 104 zu erfassen, wobei die Prozessdaten 105d mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen 105e enthalten können und die Messdaten mehrere Messereignisdaten gemäß mehreren Messerereignissen 107e enthalten können. Die Prozesssteuerschaltung 100 kann ferner konfiguriert sein, geschätzte Zustandsinformationen 302 (siehe das Bezugszeichen X), wobei die geschätzte Zustandsinformationen X einen geschätzten Status der Bearbeitungsanordnung 104 repräsentieren, und Fehlerinformationen, die einen Schätzfehler σ (siehe das Bezugszeichen ΔX) der geschätzten Zustandsinformationen X repräsentieren, bereitzustellen. Die Prozesssteuerschaltung 100 kann konfiguriert sein, die geschätzten Zustandsinformationen X durch das Aktualisieren 300u (z. B. durch das Ausführen einer Prozessaktualisierung gemäß Gleichung 3) und das Wiederherstellen des früheren Zustands 300d (z. B. durch das Ausführen einer Metrologieaktualisierung oder einer Wiederherstellung des früheren Zustands gemäß Gleichung 4) der vorhergehenden Zustandsinformationen basierend auf den erfassten Prozessereignisdaten 105d und den erfassten Messereignisdaten 107d bereitzustellen, wobei der Schätzfehler σ (der z. B. gemäß der Gleichung 5 berechnet wird) durch das Aktualisieren 300u (z. B. in Anbetracht der Prozessereignisdaten 105d) vergrößert wird und wobei der Schätzfehler σ durch das Wiederherstellen 300d des früheren Zustands (z. B. in Anbetracht der Messereignisdaten 107d) verringert wird. Die Prozesssteuerschaltung 100 kann konfiguriert sein, die Bearbeitungsanordnung 104 basierend auf den geschätzten Zustandsinformationen X und/oder dem Schätzfehler σ zu steuern 111.
  • Basierend auf dem Schätzfehler σ kann wenigstens eine zusätzliche Schaltung gesteuert werden, es kann z. B. ein Echtzeit-Abfertiger gesteuert werden 311a, es kann das Abtastsystem gesteuert werden 311b, es kann ein Abstimmparameter bestimmt werden 311c oder es können die ankommenden Messereignisdaten 105d validiert werden 311d. Gemäß verschiedenen Ausführungsformen kann wenigstens eine zusätzliche Schaltung durch das Senden einer Nachricht über eine Kommunikationsschaltung 312 (die z. B. irgendeine geeignete Schaltung, um wenigstens eine Nachricht zu senden, enthält) gesteuert werden.
  • Gemäß verschiedenen Ausführungsformen kann das Verfahren zum Steuern der Bearbeitungsanordnung 100 Folgendes enthalten: Erfassen von Prozessdaten 105 und Messdaten 107 der Bearbeitungsanordnung, wobei die Prozessdaten mehrere Prozessereignisdaten 105d gemäß mehreren Prozessereignissen 105e enthalten und die Messdaten mehrere Messereignisdaten 107d gemäß mehreren Messereignissen 107e enthalten; Bereitstellen von Zustandsinformationen X, die einen Status der Bearbeitungsanordnung 104 repräsentieren, und von Genauigkeitsinformationen ΔX, die eine Genauigkeit der Zustandsinformationen X repräsentieren; Aktualisieren 300u der Zustandsinformationen X (z. B. das Aktualisieren vorhergehender Zustandsinformationen) basierend auf den erfassten Prozessereignisdaten 105d, wodurch die Genauigkeit der Zustandsinformationen X verringert wird, und unabhängig vom Aktualisieren 300u der Zustandsinformationen X Wiederherstellen 300d des früheren Zustands der Zustandsinformationen X (z. B. das Wiederherstellen des früheren Zustands der vorhergehenden Zustandsinformationen) basierend auf den erfassten Messereignisdaten 107d, wodurch die Genauigkeit der Zustandsinformationen X vergrößert wird, und Steuern der Bearbeitungsanordnung 104 basierend auf den Zustandsinformationen X und/oder basierend auf den Genauigkeitsinformationen ΔX.
  • Gemäß verschiedenen Ausführungsformen kann die Prozesssteuerschaltung 100 oder die Datenverschmelzungsschaltung 108 als eine Hauptkomponente eines Überwachungssystems (z. B. in der Halbleiterindustrie), wie in 3B veranschaulicht ist, in Analogie zu den oben beschriebenen Ausführungsformen verwendet werden.
  • Bei der Halbleiterfertigung können viele Prozesse überwacht werden. Es kann z. B. eine statistische Prozesssteuerung (SPC) oder eine Störungsdetektion und -klassifikation (FDC) für das Überwachen verwendet werden. Gemäß verschiedenen Ausführungsformen kann die hier beschriebene Datenverschmelzungsschaltung 108 außerdem als ein verbessertes Überwachungssystem verwendet werden. Gemäß verschiedenen Ausführungsformen kann eine Überwachung Folgendes enthalten: Auswählen eines geeigneten Prozessmodells (z. B. basierend auf der Gleichung (1)) und eines geeigneten Messmodells (z. B. auf der Gleichung (2)) für die Größe, y, die überwacht werden muss, und Abstimmen der Prozessmodellparameter durch eine statistische Prozedur unter Verwendung vorhergehender (z. B. historischer) Daten der Größe y (z. B. über die Schätzung einer maximalen Wahrscheinlichkeit, wie sie im Folgenden ausführlicher beschrieben wird); Implementieren der Gleichungen (3) und (4) in dem Überwachungssystem (z. B. über eine hier beschriebene Datenverschmelzungsschaltung 108) zum Berechnen einer Zustandsschätzung x̂k, Pk und Berechnen (siehe das Bezugszeichen 313) der normierten Erneuerung, v0, (z. B. basierend auf der Gleichung (6)) oder irgendwelcher anderer Fehlerinformationen der Zustandsschätzung. Wenn neue Daten yk+1 ankommen, kann das Überwachen das Validieren (siehe das Bezugszeichen 315) der neuen Daten 107d und/oder das Validieren (siehe das Bezugszeichen 315) des Prozessmodells enthalten. Der überwachte Prozess kann z. B. validiert werden, d. h., er verhält sich in dem Fall normal, in dem -Ly ≤ v0 ≤ Ly mit 1 ≤ Ly ≤ 5 oder 2 ≤ Ly ≤ 4 gilt.
  • Gemäß verschiedenen Ausführungsformen kann die Prozesssteuerschaltung 100 oder die Datenverschmelzungsschaltung 108 in einem Überwachungssystem im Allgemeinen verwendet werden, um diskrete Prozesse zu überwachen, die z. B. mit den Gleichungen (1) und (2) oder ähnlichen Gleichungen modelliert werden können.
  • Gemäß verschiedenen Ausführungsformen kann die Prozesssteuerschaltung 100 oder die Datenverschmelzungsschaltung 108 als ein Teil einer Vorrichtung (z. B. eines Controllers) verwendet werden, die konkrete Halbleiterprozesse (z. B. eine chemisch-mechanische Planarisation, eine Lithographie, ein Ätzen, eine Abscheidung usw.) abstimmt und/oder überwacht. Gemäß verschiedenen Ausführungsformen kann die Prozesssteuerschaltung 100 oder die Datenverschmelzungsschaltung 108 als ein Teil einer Vorrichtung (z. B. eines Controllers) verwendet werden, die konkrete Prozesse in irgendeiner anderen Industrie abstimmt und/oder überwacht.
  • Gemäß verschiedenen Ausführungsformen kann ein Kalman-Filter, das eine entsprechende Fehlerkovarianzmatrix P enthält, verwendet werden, um den geschätzten Zustand eines Steuer- und/oder Überwachungssystems zu validieren. Gemäß verschiedenen Ausführungsformen kann ein Kalman-Filter, das eine entsprechende Fehlerkovarianzmatrix P enthält, verwendet werden, um die durch ein Steuer- und/oder Überwachungssystem erfassten Messdaten zu validieren.
  • Wie z. B. in 3A veranschaulicht ist, kann die Prozesssteuerschaltung 100 beide Funktionen, eine Steuerfunktion und/oder eine Überwachungsfunktion, enthalten. Gemäß verschiedenen Ausführungsformen können die eine oder die mehreren Funktionen der Prozesssteuerschaltung 100 oder der Datenverschmelzungsschaltung 108 als ein Software-Modul implementiert sein, z. B. zur Verwendung in einem Durchlauf-zu-Durchlauf-Steuersystem, um z. B. Fertigungsprozesse auf einer 24/7-Grundlage zu steuern.
  • Die Prozesssteuerschaltung 100 oder die Datenverschmelzungsschaltung 108 ermöglicht es, Halbleiterproduktionsprozesse viel genauer als basierend auf herkömmlichen Algorithmen zu steuern und zu überwachen, wie hier beschrieben ist. Ein Vorteil kann die genaue Validierung des jeweiligen aktuellen Zustands des Steuer-/Überwachungssystems selbst für sehr komplexe Produktionsszenarios (z. B. eine hohe Mischung, ein geringes Volumen, eine signifikante Zeitverzögerung zwischen dem Prozess und der Messung, eine Metrologieabtastung usw.) sein.
  • Bei einer Produktion mit hoher Mischung und geringem Volumen können Daten knapp, erratisch und wertvoll sein. Die Prozesssteuerschaltung 100 oder die Datenverschmelzungsschaltung 108, die hier beschrieben ist, nutzt die verfügbaren Daten maximal aus, verbessert die Qualität der Durchlauf-zu-Durchlauf-Steuerung, vergrößert die Stabilität der Produktion und/oder vermeidet Ausbeuteverluste und Ausschuss.
  • Gemäß verschiedenen Ausführungsformen kann ein Ausbeuteverlust und/oder Ausschuss aufgrund ungültiger Zustandsschätzungen unter Verwendung der Genauigkeitsinformationen verhindert werden. Der Regelkreis kann nur unterbrochen werden, falls dies notwendig ist, weil jede überflüssige Unterbrechung zusätzliche Produktionskosten in der Form von vorausgeschickten Wafern, einer zusätzlichen Arbeitsbelastung für das Produktionspersonal (z. B. im Fall eines manuellen Eingriffs) und/oder einen Zeitverlust erzeugen würde. Zusätzlich können außerdem Kosten eingespart werden.
  • Gemäß verschiedenen Ausführungsformen können ein oder mehrere Aspekte der Prozesssteuerschaltung 100 oder der Datenverschmelzungsschaltung 108 in Software, z. B. basierend auf der MATLAB®-Software oder irgendeiner anderen geeigneten Software, implementiert sein.
  • Gemäß verschiedenen Ausführungsformen können die rekursiven Schätz- und Vorhersagealgorithmen an Produktionsszenarios mit verzögerten und permutierten Messungen angepasst werden. Um die Stabilität von Halbleiterfertigungsprozessen oder anderen Fertigungsprozessen zu verbessern, kann eine externe automatische Steuerung zusätzlich zu der internen Steuerung des Fertigungswerkzeugs verwendet werden. Diese externe Steuerung kann als Durchlauf-zu-Durchlauf-Steuerung (R2R-Steuerung) bezeichnet werden, wie oben beschrieben worden ist. Gemäß verschiedenen Ausführungsformen kann eine Durchlauf-zu-Durchlauf-Strategie wenigstens zwei Schritte enthalten: erstens das Schätzen eines geeigneten Zustands der gesteuerten Prozesse unter Verwendung der Prozessdaten der vorhergehenden Materialien und zweitens das Berechnen eines Abstimmparameters (von Abstimmparametern) für das nächste Material (die nächste Charge, den nächsten Wafer usw.) basierend auf der Schätzung.
  • Im Allgemeinen kann die Zustandsschätzung ein wichtiger Aspekt des Steueralgorithmus sein. Es kann vorteilhaft sein, ein auf einem Kalman-Filter basierenden Algorithmus für die Zustandsschätzung zu verwenden, wie hier beschrieben wird. Das Kalman-Filter kann für ein Material wenigstens zweimal aufgefrischt (oder, mit anderen Worten, aktualisiert) werden. Das erste Auffrischen (oder die erste Aktualisierung) kann (z. B. direkt) nach dem Bearbeiten des Materials ausgeführt werden (d. h., die Prozessaktualisierung), während das zweite Auffrischen (oder die zweite Aktualisierung) ausgeführt werden kann, wenn die entsprechenden Metrologiedaten verfügbar werden (d. h., eine Wiederherstellung des früheren Zustands oder eine Metrologieaktualisierung). Es gibt oft eine beträchtliche Zeitverzögerung (z. B. mehrere Stunden oder Tage) zwischen dem Bearbeiten und dem Messen, wobei deshalb eine oder mehrere andere Fertigungsoperationen zwischen der Aktualisierung und der Wiederherstellung des früheren Zustands für ein Material (z. B. für ein Prozessereignis und ein entsprechendes Messereignis eines Materials) ausgeführt werden können. In der Zwischenzeit können andere Materialien bearbeitet und/oder gemessen werden. Diese anderen Materialien können die früher bearbeiteten Materialien überholen, d. h., die Materialien kommen in einer zufällig permutierten Reihenfolge bei der Metrologieoperation an, siehe z. B. 3A. Um die neuen Informationen sobald wie möglich zu verwenden, kann jede Aktualisierung sofort ausgeführt werden. Das Kalman-Filter ist jedoch ein rekursiver Schätzalgorithmus, der es erfordern kann, dass die Materialien in einer strengen Reihenfolge aktualisiert werden, d. h., in der Reihenfolge PU(k), MU(k), PU(k + 1), MU(k + 1), PU(k + 1), MU(k + 1) usw., wobei PU(k) die Prozessaktualisierung für ein Material k (oder ein Ereignis k) bezeichnet und MU(k) die Metrologieaktualisierung für das Material k (oder das Ereignis k) bezeichnet. Der durch das jeweilige Prozessereignis definierte Index k kann die gezählte Variable für das Prozessmodell sein, wie hier beschrieben wird.
  • 4A veranschaulicht eine schematische graphische Darstellung einer natürlichen Aktualisierungsfolge aufgrund eines Fertigungsprozesses. Mit anderen Worten, die Bearbeitungsanordnung 104 kann betrieben werden, was zu der veranschaulichten Reihenfolge für die Prozessaktualisierungen PU und die Messaktualisierungen MU für ein erstes bearbeitetes Objekt (mit dem Index 1), ein zweites bearbeitetes Objekt (mit dem Index 2), ein drittes bearbeitetes Objekt (mit dem Index 3), ein viertes bearbeitetes Objekt (mit dem Index 4) und ein fünftes bearbeitetes Objekt (mit dem Index 5) als ein Beispiel führt. Weil gemäß verschiedenen Ausführungsformen die Aktualisierung und die Wiederherstellung des früheren Zustands der Datenverschmelzungsschaltung 108 unabhängig voneinander ausgeführt werden können, wie oben beschrieben worden ist, kann die veranschaulichte natürliche Reihenfolge für die Prozessaktualisierungen PU und die Messaktualisierungen MU, die durch den Betrieb der Bearbeitungsanordnung 104 definiert ist, als die Aktualisierungsfolge des Filters verwendet werden.
  • Gemäß verschiedenen Ausführungsformen kann jedoch in einer schematischen graphischen Darstellung die natürliche Aktualisierungsfolge aufgrund des Fertigungsprozesses in eine (sortierte) Aktualisierungsfolge modifiziert werden, die für ein rekursiv arbeitendes Filter, z. B. für ein Kalman-Filter, vorteilhaft sein kann, wie in 4B veranschaulicht ist. Ohne das Transformieren der natürlichen Folge in die sortierte Folge kann das Kalman-Filter nicht optimal arbeiten. Es können in einer ähnlichen Weise andere rekursive Schätzalgorithmen (wie z. B. das Wiener-Kolmogorow-Filter) verwendet werden.
  • Wie in den 4A und 4B veranschaulicht ist, kann der Index (z. B. der Index k) eines Materials durch das Prozessereignis definiert sein, wobei das Messereignis mit dem jeweiligen Prozessereignis korreliert ist, um die Prozess- und Messdaten für jedes der bearbeiteten Materialien bereitzustellen.
  • Gemäß verschiedenen Ausführungsformen kann eine Prozesssteuerschaltung ähnlich zu der oben beschriebenen Prozesssteuerschaltung 100 basierend auf rekursiven Schätzalgorithmen bereitgestellt werden, um die Zustandsinformationen zu schätzen. In diesem Fall kann die Prozesssteuerschaltung Folgendes enthalten: eine Datenerfassungsschaltung, die konfiguriert ist, die Prozessdaten 105 und die Messdaten 107 einer Bearbeitungsanordnung zu erfassen, wobei die Prozessdaten 105 mehrere Prozessereignisdaten 105d gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten 107d gemäß mehreren Messereignissen enthalten; eine Schaltung zur rekursiven Prozesssteuerung, die konfiguriert ist, aktuelle Zustandsinformationen 402c basierend auf den Prozessdaten 105 eines aktuellen Prozessereignisses und einer Folge 400q vorhergehender Prozessereignisse rekursiv zu berechnen und die aktuellen Zustandsinformationen 402c beim Erfassen der Messereignisdaten 107d, die wenigstens einem vorhergehenden Prozessereignis der Folge 400q vorhergehender Prozessereignisse entsprechen, neu zu berechnen, und eine Steuerschaltung, die konfiguriert ist, die Bearbeitungsanordnung basierend auf den aktuellen Zustandsinformationen 402c zu steuern.
  • Gemäß verschiedenen Ausführungsformen können alle Materialien mit ausstehenden Metrologiedaten in einer Warteschlange 400q gesammelt werden, wie z. B. in 4C in einer schematischen Ansicht veranschaulicht ist. Die Warteschlange 400q kann gemäß dem Bearbeitungszeitpunkt (der z. B. durch den Index k definiert ist, wobei k eine natürliche Zahl ist) der Materialien in aufsteigender Reihenfolge sortiert werden, siehe 4B. Es können jedoch ein oder mehrere Messereignisdaten fehlen, wobei das für die Datenverschmelzungsschaltung 108 verwendete Filter konfiguriert sein kann, den fehlenden Messereignisdaten gewachsen zu sein, wie hier beschrieben wird.
  • Gemäß verschiedenen Ausführungsformen kann für die Prozessaktualisierung 300u jedes Mal, wenn ein neues Material bearbeitet wird, ein neuer Eintrag in der Warteschlange 400q erzeugt werden. Die Position des Elements in der Warteschlange 400q kann z. B. durch den Bearbeitungszeitpunkt bestimmt sein (siehe 4C). Gemäß verschiedenen Ausführungsformen kann für die Metrologieaktualisierung 300d jedes Mal, wenn Metrologiedaten für ein Material in der Warteschlange 400q ankommen, das entsprechende Warteschlangenelement (1 bis n, n ist eine natürliche Zahl) durch einen Merker gekennzeichnet werden. Gemäß verschiedenen Ausführungsformen kann ein Basiszustand 402b gehalten werden. Der Basiszustand kann der Zustand des Kalman-Filters (oder irgendeines anderen rekursiven Filters oder rekursiven Zustandsschätzalgorithmus) sein, gerade bevor das erste Material (mit dem Index 1) in der Warteschlange 400q betrachtet wird. Nach jeder Prozessaktualisierung 300u oder jeder Metrologieaktualisierung 300d werden die Iterationen des Kalman-Filters für alle Materialien (z. B. 1 bis n, n ist eine natürliche Zahl) in der Warteschlange ausgeführt. Die Iteration kann mit dem Basiszustand 402b initialisiert werden. Veranschaulichend bewegt sich die Iteration entlang der Warteschlange 400q (die Materialien werden z. B. gemäß ihrem Bearbeitungszeitpunkt aktualisiert, d. h., die „alten“ Materialien werden zuerst aktualisiert). Für jedes Material wird eine Prozessaktualisierung ausgeführt. Die Metrologieaktualisierung wird nur ausgeführt, falls Metrologiedaten für das spezielle Material verfügbar sind. Das Ergebnis der Iteration wird als ein aktueller Zustand 402c gespeichert. Dies kann z. B. einen schnellen Zugriff auf den aktuellen Zustand 402c ohne die Notwendigkeit, die Warteschlange 400q neu zu berechnen, ermöglichen.
  • Wie in 4D in einer schematischen graphischen Darstellung veranschaulicht ist, können die Materialien aus der Warteschlange 400q entfernt werden 400r, wenn die Metrologiedaten verfügbar sind und es kein älteres Material mit fehlenden Metrologiedaten gibt.
  • Wie in 4E in einer schematischen graphischen Darstellung veranschaulicht ist, kann gemäß verschiedenen Ausführungsformen die Länge der Warteschlange 400q begrenzt sein. Dies kann in einigen Anwendungen vorteilhaft sein, weil dies eine übermäßige Rechenbelastung, Speicherverwendung und Aktualisierungsdauer verhindert. Der Aspekt des Sammelns des Materials mit ausstehenden Metrologiedaten in einer Warteschlange 400q und des Aktualisierens des Zustands durch das Iterieren entlang der Warteschlange kann auf jeden rekursiven Algorithmus eines Controllers angewendet werden.
  • Gemäß verschiedenen Ausführungsformen kann ein rekursiver Schätzalgorithmus (z. B. ein Kalman-Filter) verwendet werden, um die Zustandsinformationen für ein Durchlauf-zu-Durchlauf-Steuersystem zu schätzen, wie hier beschrieben ist. Gemäß verschiedenen Ausführungsformen können die Zustandsinformationen den Basiszustand 402b (z. B. einen Zustandsvektor und eine Fehlerkovarianzmatrix), die Warteschlange 400q und den aktuellen Zustand 402c enthalten. Für jedes Element der Warteschlange 400q können logistische Kontextinformationen (die außerdem als die Prozessdaten 105 bezeichnet werden) gespeichert sein. Diese logistischen Kontextinformationen können auf die ankommenden Metrologiedaten (die außerdem als die Messdaten 107 bezeichnet werden) für das entsprechende Warteschlangenelement abgebildet werden.
  • Bei jedem relevanten Produktionsereignis (z. B. einem Prozess, einer Messung, einer Wartung usw.) können Daten an das R2R-System gesendet werden. Das R2R-System kann den Zustand auswählen, der dem aktuellen Produktionsereignis entspricht, wobei es neue Daten zu ihm hinzufügt. Falls der Produktionsschritt einer Prozessaktualisierung entspricht, wird ein neues Element der Warteschlange erzeugt und wird die gesamte Warteschlange anschließend neu berechnet. Falls das Produktionsereignis einer Metrologieaktualisierung entspricht, werden die Metrologiedaten dem entsprechenden Element der Warteschlange zugewiesen und wird anschließend die gesamte Warteschlange neu berechnet wird. Falls bei einem gesteuerten Produktionsereignis Material ankommt, kann eine Anforderung an das R2R-System gesendet werden. Das R2R-System kann die Zustandsinformationen verwenden, um das Ergebnis des Prozesses vorherzusagen und die Abstimmparameter zu berechnen.
  • Wie in 4A veranschaulicht ist, kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die Zustandsinformationen für jede der erfassten Prozessereignisdaten und für jede der erfassten Prozessmessdaten in einer durch die Prozessereignisse definierten chronologischen Reihenfolge zu aktualisieren 300u und ihren früheren Zustand wiederherzustellen 300d, wobei die Messeereignisse auf die Prozessereignisse abgebildet werden. In diesem Fall kann z. B. die Datenverschmelzungsschaltung 108 konfiguriert sein, die Zustandsinformationen für jedes der mehreren Prozessereignisse beim Erfassen der entsprechenden Prozessereignisdaten und für jedes der mehreren Messereignisse beim Erfassen der entsprechenden Messereignisdaten zu aktualisieren 300u.
  • Ferner kann die Datenverschmelzungsschaltung 108 konfiguriert sein, mehrere Prozessereignisdaten der entsprechenden Prozessereignisse zu sammeln und die Zustandsinformationen in Anbetracht der gesammelten mehreren Prozessereignisdaten beim Erfassen der Messereignisdaten eines nachfolgenden Messeereignisses zu aktualisieren und den früheren Zustand der Zustandsinformationen basierend auf den erfassten Messereignisdaten wiederherzustellen.
  • Alternativ kann die Reihenfolge für das Aktualisieren 300u und das Wiederherstellen 300d des früheren Zustands der Zustandsinformationen sortiert werden, wie in 4B veranschaulicht ist, und/oder in einer Warteschlange 400q verarbeitet werden, wie in den 4C bis 4E veranschaulicht ist. In diesem Fall kann z. B. die Datenerfassungsschaltung 102 ferner konfiguriert sein, die Messereignisse mit den entsprechenden Prozessereignissen zu korrelieren (z. B. die Messereignisse auf die entsprechenden Prozessereignisse abzubilden). Gemäß verschiedenen Ausführungsformen wird für jedes Material (z. B. für jedes mit der Bearbeitungsanordnung 104 bearbeitete Werkstück) wenigstens ein (z. B. ein oder mehrere) Tupel basierend auf den Prozessereignisdaten und den Messereignisdaten, die dem Prozessereignis entsprechen, bereitgestellt, wobei das Tupel veranschaulichend einem Produkt, z. B. einen Wafer, zugeordnet sein kann. Ferner kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die aktuellen Zustandsinformationen 402c basierend auf den Prozessereignisdaten eines aktuellen Prozessereignisses und einer Folge vorhergehender Prozessereignisse und/oder Messereignisse zu berechnen. Die Folge der vorhergehenden Prozessereignisse und/oder Messereignisse kann durch die Warteschlange 400q definiert sein. Die Datenverschmelzungsschaltung 108 kann konfiguriert sein, die aktuellen Zustandsinformationen 402c basierend auf den Prozessereignisdaten eines aktuellen Prozessereignisses und einer Folge vorhergehender Prozessereignisse zu berechnen und die aktuellen Zustandsinformationen 402c beim Erfassen von Messereignisdaten, die wenigstens einem vorhergehenden Prozessereignis der Folge vorhergehender Prozessereignisdaten entsprechen, neu zu berechnen. Die Folge der vorhergehenden Prozessereignisse kann eine begrenzte Anzahl von Prozessereignissen, beginnend von einem anfänglichen Prozessereignis, das die Basiszustandsinformationen 402b definiert, und endend mit dem aktuellen Prozessereignis, das die aktuellen Zustandsinformationen 402c definiert, enthalten. In diesem Fall kann das anfängliche Prozessereignis ausgewählt werden, so dass es ein erstes Element in der Folge der vorhergehenden Prozessereignisse ist, für die keine entsprechenden Messereignisdaten verfügbar sind und für die die entsprechenden Messereignisdaten zu berücksichtigen sind. Gemäß verschiedenen Ausführungsformen kann die Länge der Warteschlange 400q auf eine gewünschte maximale Zahl von Elementen verringert werden.
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren bereitgestellt, um komplexen Mehrdeutigkeiten in Durchlauf-zu-Durchlauf-Kalman-Filter-Modellen gewachsen zu sein. Wie oben beschrieben worden ist, kann die Zustandsschätzung ein wichtiger Teil eines Steueralgorithmus sein, der in einer Prozesssteuerschaltung verwendet werden kann. Gemäß verschiedenen Ausführungsformen kann der Steueralgorithmus auf einem Kalman-Filter basieren, siehe z. B. die Gleichungen (1) bis (6), wie oben beschrieben worden ist.
  • Die Zustandsinformationen des Prozesses (siehe z. B. die Gleichungen (1) und (2)) können durch zwei Sätze von Gleichungen (z. B. die Gleichungssätze (3) und (4)) geschätzt werden, die vollständig unabhängig voneinander ausgeführt werden. Nach jedem Prozessereignis oder Wartungsereignis kann eine Prozessaktualisierung 300u ausgeführt werden (siehe z. B. den ersten Satz von Gleichungen (3)). Ferner können Metrologiedaten zu dem Zustand durch eine Metrologieaktualisierung 300d hinzugefügt werden (siehe z. B. den zweiten Satz von Gleichungen (4)).
  • Die Folge der Sätze von Gleichungen (3), (4) spiegelt die Ansammlung und die Verschlechterung der Prozessinformationen (die Abnahme und die Zunahme des Schätzfehlers) solange präzise wieder, wie die Prozessmodellparameter Q, R, B, D, C, A zu dem Prozess im wirklichen Leben passen. Die praktische Anwendung des Kalman-Filters für die Durchlauf-zu-Durchlauf-Steuerung kann jedoch angepasst werden, um einen oder mehrere der folgenden Aspekte zu berücksichtigen:
    • ■ eine sehr große Anzahl von Zuständen (50-1000);
    • ■ neue Zustände müssen automatisch hinzugefügt und initialisiert werden;
    • ■ Zustände entwickeln sich über längere Zeiträume (Jahre);
    • ■ irgendein Zustand wird (im Wesentlichen) niemals aktualisiert;
    • ■ eine Modellmehrdeutigkeit.
  • Gemäß verschiedenen Ausführungsformen kann ein neuer Zustand (können neue Zustände) zur Laufzeit durch das Vergrößern der Zustandsinformationen X und der Fehlerkovarianzmatrix P hinzugefügt werden. Es kann jedoch wenigstens hilfreich sein, den neuen Zustand richtig zu initialisieren. Gemäß verschiedenen Ausführungsformen kann das in der Datenverschmelzungsschaltung 108 verwendete Filter konfiguriert sein, die Anfangswerte als eine frühere Kenntnis über den Prozess zu interpretieren, was wiederum das Ergebnis der Zustandsschätzung direkt beeinflusst.
  • Eine zuverlässige frühere Kenntnis kann jedoch in der Praxis oft nicht verfügbar sein. Dies kann insbesondere für ein automatisches System, das 24/7 betrieben wird, der Fall sein. Gemäß verschiedenen Ausführungsformen kann das Filter, das verwendet wird, um die Bearbeitungsanordnung 104 zu steuern, in einer derartigen Weise konfiguriert sein, dass die Anfangswerte keine Informationen enthalten. Dies kann durch das Initialisieren der Diagonalelemente der Fehlerkovarianzmatrix P, die dem neuen Zustand entspricht, durch unendlich große Werte erreicht werden. Leider kann die mathematische Unendlichkeit durch numerische Algorithmen nicht behandelt werden. Das gewünschte Verhalten kann durch das Initialisieren der Fehlerkovarianzmatrix P durch einen sehr großen Wert anstelle eines unendlich großen Wertes erreicht werden. Dies kann jedoch zu numerischen Problemen führen (die Probleme sind z. B. umso größer, je größer die Anfangswerte sind). Die Hauptursache ist, dass einige (oder alle) Elemente der Fehlerkovarianzmatrix P gleichzeitig aus kleinen und sehr großen Komponenten bestehen. Aufgrund der begrenzten numerischen Genauigkeit digitaler Computer können die großen Komponenten die kleinen Komponenten auslöschen, die dennoch für die Genauigkeit wichtig sein können. Das Initialisierungsproblem kann durch eine Modellmehrdeutigkeit verstärkt werden. Die Modellmehrdeutigkeit kann in Durchlauf-zu-Durchlauf-Systemen oder in ähnlichen Systemen auftreten, wie im Folgenden ausführlicher beschrieben wird.
  • 5A zeigt ein Beispiel, um die Modellmehrdeutigkeit schematisch zu veranschaulichen. Angenommen, dass drei Produkte (A, B und C) gesteuert werden sollen, die alle durch dasselbe Produktionswerkzeug bearbeitet werden. Die beobachtete Größe (z. B. eine Poliergeschwindigkeit, eine Abscheidungsrate usw.) kann eine synchrone Bewegung im Lauf der Zeit zeigen, wie durch die Linien 500a, 500b, 500c für jedes der Produkte A, B, C dargestellt ist.
  • Dieses Verhalten kann durch das Annehmen eines gemeinsamen Werkzeugzustands XWerkzeug modelliert werden, der durch die Linie 500d dargestellt ist, zu der produktspezifische Vorbelastungen XA, XB und XC hinzugefügt sind. Die einzelnen Zustände XWerkzeug, XA, XB und XC sind durch die Daten nicht eindeutig definiert. Als ein Beispiel ist die alternative Zustandskonstellation, die in 5B veranschaulicht ist, so wahrscheinlich wie die in 5A veranschaulichte erste Konstellation.
  • Es gibt in der Tat unendliche Zustandskonstellationen, die durch die Daten nicht abgegrenzt werden können. Es gibt einen zusätzlichen Freiheitsgrad, der durch die Daten nicht aufgelöst (bestimmt) wird und der zu Schätzproblemen führen kann. Die einzelnen Zustände XWerkzeug, XA, XB und XC sind im Gegensatz zu den Zustandskombinationen XWerkzeug + XA, XWerkzeug + XB und XWerkzeug + XC undefiniert. Aufgrund dessen ist die Varianz des Schätzfehlers der einzelnen Zustände XWerkzeug, XA, XB und XC unendlich. Dies bedeutet, dass große Komponenten, die in die Fehlerkovarianzmatrix P durch eine Initialisierung „mit großen Werten“ injiziert werden, niemals verschwinden und deshalb die Genauigkeit bei jedem Iterationsschritt verschlechtern. Gemäß verschiedenen Ausführungsformen können diese Probleme vermieden werden, wie im Folgenden ausführlicher beschrieben wird, was eine Hauptverbesserung für die Anwendung der Kalman-basierten Filterung auf ein Durchlauf-zu-Durchlauf-Steuersystem sein kann.
  • Im Allgemeinen kann es mehrere Strategien geben, um das oben umrissene Problem zu überwinden, wie z. B.:
    • • Das Vermeiden einer Modellmehrdeutigkeit durch das Definieren eines einzelnen Zustands für jede Kontextkombination, d. h. das Definieren eines eigenen Zustands für XWerkzeug + XA, XWerkzeug + XB bzw. XWerkzeug + XC: Dies kann eine einfache Lösung sein, wobei aber eine große Anzahl von Zuständen (z. B. Anzahl der Werkzeuge * Anzahl der Produkte * [...]) erzeugt werden kann. Ferner erfordert dies von null verschiedene Nichtdiagonalelemente in der Prozessrauschmatrix Q (die Speicherung und die Handhabung von n2 Elementen). Im Fall von z. B. neuen Produkten müssen neue Zustände für alle Werkzeug-/Produktkombinationen sofort erzeugt werden; selbst wenn einige dieser Kombinationen niemals verwendet werden.
    • • Das Eliminieren der Modellmehrdeutigkeit durch das Hinzufügen von Einschränkungen an die Zustände (wie z. B. XA + XB + XC = 0): In diesem Fall wird eine verringerte Anzahl von Zuständen verwendet (Anzahl der Werkzeuge + Anzahl der Produkte + [...]), wobei die Prozessrauschmatrix Q diagonal sein kann (n anstelle von n2 Elementen). Es können jedoch numerische Probleme auftreten und die Einschränkungen müssen regelmäßig aufgefrischt werden. Ferner können die Einschränkungen kompliziert zu entwerfen sein, insbesondere für komplexe Szenarios (z. B. für Mehrebenenzustände, Feinabstimmungs-Vorbelastungen, Gradienten, Polynome). Ferner sind im Fall von Dedikationen (z. B. eines Werkzeugs) einige Zustandskombinationen (z. B. Werkzeug/Produkt) undefiniert, wobei der Entwurf der Einschränkungen diese Tatsache berücksichtigen muss, die Einschränkungen dynamisch modifiziert werden müssen, falls die Werkzeug-Dedikation aufgegeben wird, und eine zusätzliche Logik benötigt wird, um die Zustände von den dedizierten Zuständen zu den nicht dedizierten Zuständen umzusetzen. Ferner sind die neuen Zustände während der Initialisierungsphase undefiniert, wobei diese Tatsache durch die Einschränkungen verborgen wird, wobei eine zusätzliche Logik benötigt wird, um diese Phase zu unterdrücken und/oder zu steuern.
    • • Die Verwendung „mittelgroßer“ Anfangswerte: Dies kann eine komplizierte Herangehensweise sein. Der Anfangswert muss für die richtige Initialisierung des Filters groß genug sein und klein genug sein, um die numerischen Probleme unter Kontrolle zu halten. Die Anfangswerte müssen sehr sorgfältig eingestellt (z. B. „handgearbeitet“) werden, was für eine 24/7-Produktion und diverse Produktportfolios schwierig zu verwenden sein kann. Ferner ist in diesem Fall keine Unterscheidung zwischen nicht initialisierten und abgelaufenen Zuständen möglich. Ferner verschwinden die numerischen Probleme nicht vollständig. Es wird jedoch eine verringerte Anzahl von Zuständen (Anzahl der Werkzeuge + Anzahl der Produkte + [...]) verwendet, wobei die Prozessrauschmatrix Q diagonal sein kann (n anstelle von n2 Elementen). Ferner können komplexe Szenarios (z. B. Mehrebenenzustände, Feinabstimmungs-Vorbelastungen, Gradienten, Polynome usw.) natürlich gehandhabt werden, wobei Zustandskombinationen definiert werden, wenn σ E R R 2 < Grenze
      Figure DE102017111926A1_0009
      gilt, wobei neue Zustandsebenen zur Laufzeit hinzugefügt werden können. Ferner können neue Zustände zur Laufzeit hinzugefügt und initialisiert werden und können Zustandskombinationen initialisiert werden, sobald σ E R R 2 < Grenze
      Figure DE102017111926A1_0010
      gilt. Ferner können Dedikationen (z. B. eines Werkzeugs) natürlich gehandhabt werden, wobei Zustandsdefinitionen definiert werden, falls σ E R R 2 < Grenze
      Figure DE102017111926A1_0011
      gilt, wobei, sobald nicht dedizierte Daten verfügbar sind, die dedizierten Zustände automatisch in die nicht dedizierten Zustände umgesetzt werden.
  • Gemäß verschiedenen Ausführungsformen kann die Fehlerkovarianzmatrix P in einen endlichen und einen unendlichen Teil zerlegt werden, was zu allen Vorteilen der Herangehensweise der mittelgroßen Anfangswerte führt, während die Nachteile vermieden werden. Gemäß verschiedenen Ausführungsformen kann die Fehlerkovarianzmatrix P wie folgt oder in einer ähnlichen Weise zerlegt werden: P k = P R , k + κ P l , k ,   κ
    Figure DE102017111926A1_0012
  • Gemäß verschiedenen Ausführungsformen kann das Einsetzen der Gleichung (7) in die Gleichung (3) zu einem neuen Satz von Gleichungen (8) für die Prozessaktualisierung wie folgt führen: x ^ k + 1 = A k + 1 x ^ k + B k + 1 P R , k + 1 = A k + 1 P R , k A k + 1 T + Q k + 1 Q k + 1 T P I , k + 1 = A k + 1 P l , k A k + 1 T
    Figure DE102017111926A1_0013
    Gemäß verschiedenen Ausführungsformen kann sowohl zu dem endlichen als auch zu dem unendlichen Teil von Pk in dem Satz von Gleichungen (8) ein Prozessrauschen hinzugefügt werden. Dies führt zu einer modifizierten Gleichung der Gleichung (8*) im Folgenden. In diesem Fall können die folgenden Gleichungen entsprechend angepasst werden. x ^ k + 1 = A k + 1 x ^ k + B k + 1 P R , k + 1 = A k + 1 P R , k A k + 1 T + Q R , k + 1 Q R , k + 1 T P I , k + 1 = A k + 1 P I , k A k + 1 T + Q I , k + 1 O I , k + 1 T
    Figure DE102017111926A1_0014
  • Wenn die Fehlerkovarianzmatrix P z. B. gemäß Gleichung (7) zerlegt wird, kann die Metrologieaktualisierung (z. B. gemäß der Gleichung (4)) in zwei Fälle zerlegt werden. Gemäß verschiedenen Ausführungsformen können basierend auf den folgenden Gleichungen: F R , k + 1 : = C k + 1 P R , k C k + 1 T + R k + 1 2
    Figure DE102017111926A1_0015
    F I , k + 1 : = C k + 1 P I , k C k + 1 T
    Figure DE102017111926A1_0016
    der Fall 1 und der Fall 2 wie folgt erhalten werden: Der Fall 1 kann durch |FI,k+1| > 0 (in der Praxis durch |FI,k+1| > FNUM) definiert werden. In diesem Fall kann die Metrologieaktualisierung durch den folgenden Satz von Gleichungen (11) ausgedrückt werden: x ^ k + 1 = x ^ k + K k + 1 ( y k + 1 C k + 1 x ^ k D k + 1 ) P R , k + 1 = P R , k P R , k C k + 1 T C k + 1 P I , k F I , k + 1 P I , k C k + 1 T C k + 1 P R , k F I , k + 1 + P I , k C k + 1 T C k + 1 P I , k F I , k + 1 2 / F R , k + 1 P I , k = P I , k P I , k C k + 1 T C k + 1 P I , k F I , k + 1 K k + 1 = P I , k C k + 1 T F I , k + 1
    Figure DE102017111926A1_0017
    Der Fall 2 kann durch |FI,k+1| = 0 (in der Praxis durch |FI,k+1| ≤ LNUM) definiert werden. In diesem Fall kann die Metrologieaktualisierung durch den folgenden Satz von Gleichungen (12) ausgedrückt werden: x ^ k + 1 = x ^ k + K k + 1 ( y k + 1 C k + 1 x ^ k D k + 1 ) P R , k + 1 = P R , k P R , k C k + 1 T C k + 1 P R , k F R , k + 1 P I , k + 1 = P I , k K k + 1 = P R , k C k + 1 T F R , k + 1
    Figure DE102017111926A1_0018
  • Die numerische Grenze, LNUM, kann z. B. auf eine sehr kleine Zahl, z. B. auf einen Wert von 10-10, gesetzt werden. Die Fehlervarianz σ E R R 2
    Figure DE102017111926A1_0019
    für die Vorhersage irgendeiner lineare Zustandskombination von Interesse α ^ k + 1 | k 2 = C ¯ x ^ k
    Figure DE102017111926A1_0020
    ist z. B. durch Folgendes gegeben:
  • σ E R R 2 = { C ¯ [ P R , k + Q k + 1 Q k + 1 T ] C ¯ T falls  F I L NUM falls  F I >L NUM , mit F I = C ¯ P I , k C ¯ T
    Figure DE102017111926A1_0021
  • Die Fehlervarianz σ E R R 2
    Figure DE102017111926A1_0022
    für die Vorhersage des nächsten Methodologiewertes ŷk+1|k = Ck+1k ist z. B. durch Folgendes gegeben: σ E R R 2 = { C k + 1 P R , k C k + 1 T + R k + 1 2 falls  F I L NUM falls  F I >L NUM , mit F I = C k + 1 P I , k C k + 1 T
    Figure DE102017111926A1_0023
  • Diese Herangehensweise kann einen oder mehrere der folgenden Aspekte verwirklichen:
    • • eine exakte Initialisierung mit unendlich „∞“ ist möglich,
    • • der Anfangswert kann beliebig gewählt werden, weil das Ergebnis unabhängig von dieser Wahl ist,
    • • die Rechenkomplexität der Prozessaktualisierung ohne Zustandsübergang (d. h., Ak+1 =In) ist von n,
    • • die Rechenkomplexität der Metrologieaktualisierung ist von n2 (falls sie richtig implementiert ist, wie z. B. im Folgenden beschrieben wird),
    • • nicht initialisierte und abgelaufene Zustände können voneinander abgegrenzt werden,
    • • aufgrund zu „kleiner“ und zu „großer“ Komponenten in der Fehlerkovarianzmatrix P treten keine numerischen Probleme auf,
    • • es wird eine verringerte Anzahl von Zuständen verwendet (Anzahl der Werkzeuge + Anzahl der Produkte + [...]),
    • • die Prozessrauschmatrix Q kann diagonal sein (n anstelle von n2 Elementen),
    • • komplexe Szenarios (z. B. Mehrebenenzustände, Feinabstimmungs-Vorbelastungen, Gradienten, Polynome) werden natürlich gehandhabt:
      • ■ es werden Zustandsdefinitionen definiert, falls σ E R R 2 <
        Figure DE102017111926A1_0024
        gilt,
      • ■ neue Zustandsebenen können zur Laufzeit hinzugefügt werden, neue Zustände können zur Laufzeit hinzugefügt und initialisiert werden,
      • ■ Zustandskombinationen werden initialisiert, sobald σ E R R 2 <
        Figure DE102017111926A1_0025
        gilt,
    • • Dedikationen (z. B. eines Werkzeugs) werden natürlich behandelt:
      • ■ Zustandsdefinitionen werden definiert, falls σ E R R 2 <
        Figure DE102017111926A1_0026
        gilt,
      • ■ sobald nicht dedizierte Daten verfügbar sind, werden die dedizierten Zustände automatisch in nicht dedizierte Zustände umgesetzt.
  • Eine Spezifikation einer numerischen Grenze LNUM kann jedoch kompliziert sein, insbesondere wenn der Bereich der Beobachtungsvektorelemente Ck(i) groß ist, was im Folgenden ausführlicher beschrieben wird.
  • Gemäß verschiedenen Ausführungsformen kann ein Initialisierungsproblem des Durchlauf-zu-Durchlauf-Kalman-Filters durch das Zerlegen der Fehlerkovarianzmatrix P in einen endlichen Teil PR und einen unendlichen Teil PI verhindert werden, wie oben beschrieben worden ist. Ferner können die Probleme aufgrund einer Modellmehrdeutigkeit durch die Fehlerkovarianzmatrix P in einen endlichen Teil PR und einen unendlichen Teil PI verhindert werden, wie oben beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen kann die Modifikation des oben beschriebenen Kalman-Filters Teil eines universellen Durchlauf-zu-Durchlauf-/Überwachungssystems sein, das in Halbleiter- (oder anderen) Industrien verwendet wird. In dem Fall, in dem ein Kalman-Modell verwendet wird und in dem die Fehlerkovarianzmatrix in einen endlichen und einen unendlichen Teil zerlegt ist, kann der Betrieb der Datenverschmelzungsschaltung 108 verbessert werden. Die oben beschriebenen Iterationsgleichungen können zu einer charakteristischen Folge der Zustandsschätzung x̂k und der Fehlerkovarianzmatrix PR,k, PI,k mit k= 0, 1, ... führen.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die Genauigkeitsinformationen basierend auf einem Schätzfehler zu bestimmen, wobei der Schätzfehler ähnlich zu der oben beschriebenen Zerteilung der Fehlerkovarianzmatrix P in einen endlichen Teil und in einen unendlichen Teil zerlegt werden kann. Der Schätzfehler kann über eine Fehlerkovarianzmatrix, z. B. basierend auf der Fehlerkovarianzmatrix P oder basierend auf einer invertierten Fehlerkovarianzmatrix P-1, bestimmt werden. In diesem Fall wird die Fehlerkovarianzmatrix P oder die invertierte Fehlerkovarianzmatrix P-1 zerlegt.
  • Im Ergebnis kann die Datenverschmelzungsschaltung 108 ferner konfiguriert sein, den früheren Zustand der Zustandsinformationen X basierend auf einem ersten Satz von Gleichungen zur Wiederherstellung des früheren Zustands (z. B. des Satzes von Gleichungen (11)) in einen ersten Fall und auf einem zweiten Satz von Gleichungen zur Wiederherstellung des früheren Zustands (z. B. des Satzes von Gleichungen (12)) in einem zweiten Fall wiederherzustellen. Der erste und der zweite Fall werden über ein Unterscheidungskriterium, z. B. basierend auf der Gleichung (10), voneinander unterschieden, wobei |FI,k+1| > LNUM den ersten Fall definiert und |FI,k+1| ≤ LNUM den zweiten Fall definiert. Es kann jedoch andere Werte und ähnliche Definitionen zum Unterscheiden des ersten Falls und des zweiten Falls voneinander geben.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die geschätzten Messdaten und einen entsprechenden Vorhersagefehler zu berechnen und zu prüfen, ob der Vorhersagefehler unendliche Teile enthält.
  • Gemäß verschiedenen Ausführungsformen kann der frühere Zustand der Zustandsinformationen für einen Messvektor über mehrere einzelne skalare Wiederherstellungen des früheren Zustands wiederhergestellt werden, wobei für jede einzelne skalare Wiederherstellung des früheren Zustands z. B. basierend auf einem numerischen Bezugswert, LNUM, wie oben beschrieben worden ist, geprüft wird, ob das Unterscheidungskriterium null ist.
  • Gemäß verschiedenen Ausführungsformen wird für ein Unendlichkeitsfilter ein schneller und stabiler quadratischer Algorithmus zur Wiederherstellung des früheren Zustands bereitgestellt. Die Zustandsschätzung kann durch einen Steueralgorithmus bereitgestellt werden, der in der Datenverschmelzungsschaltung 108 der Prozesssteuerschaltung 100 implementiert ist. Der Steueralgorithmus kann bereitgestellt werden, wie oben beschrieben worden ist, oder basierend auf ähnlichen Gleichungen, die die gleiche allgemeine Herangehensweise beschreiben, bereitgestellt werden. Gemäß verschiedenen Ausführungsformen kann ein Kalman-Filter oder ein Kalman-basiertes Filter (d. h., eine Modifikation oder Erweiterung des Standard-Kalman-Filters) vorteilhaft verwendet werden, um die Zustandsschätzung bereitzustellen. Im Folgenden werden verschiedene Aspekte beschrieben, die anwendbar sind, um irgendeinen beschriebenen Prozess zu steuern, der z. B. durch die Gleichungen (1), (1*), (2), (2*) oder in einer ähnlichen Weise modelliert werden kann, wie oben beschrieben worden ist.
  • Ausführlicher können die Zustandsinformationen eines Prozesses, der z. B. durch die Gleichungen (1), (2) moduliert wird, durch zwei Sätze von Gleichungen geschätzt werden, die vollständig unabhängig voneinander ausgeführt werden, siehe z. B. den Satz von Gleichungen (3), (4), wie oben beschrieben worden ist. Nach jedem Prozess- oder Wartungsschritt wird gemäß dem ersten Satz von Gleichungen (8) mit den Gleichungen (8a) bis (8c) eine Prozessaktualisierung ausgeführt: x ^ k + 1 = A k + 1 x ^ k + B k + 1 ,
    Figure DE102017111926A1_0027
    P R , k + 1 = A k + 1 P R , k A k + 1 T + Q k + 1 Q k + 1 T ,
    Figure DE102017111926A1_0028
    P I , k + 1 = A k + 1 P I , k A k + 1 T .
    Figure DE102017111926A1_0029
  • Ferner können Metrologiedaten durch die Metrologieaktualisierung, die z. B. außerdem als Wiederherstellung des früheren Zustands bezeichnet wird, zu den Zustandsinformationen hinzugefügt werden, wie oben mit der folgenden Definition beschrieben worden ist: F R , k + 1 : = C k + 1 P R , k C k + 1 T + R k + 1 2 ,
    Figure DE102017111926A1_0030
    F I , k + 1 : = C k + 1 P I , k C k + 1 T .
    Figure DE102017111926A1_0031
    Im Fall 1, der z. B. durch |FI,k+1| > 0 oder |FI,k+1| > FNUM definiert ist, kann die Metrologieaktualisierung basierend auf dem folgenden Satz von Gleichungen (11), der die Gleichungen (11a) bis (11d) enthält, ausgeführt werden: x ^ k + 1 = x ^ k + K k + 1 ( y k + 1 C k + 1 x ^ k D k + 1 ) ,
    Figure DE102017111926A1_0032
    P R , k + 1 = P R , k P R , k C k + 1 T C k + 1 P I , k F I , k + 1 P I , k C k + 1 T C k + 1 P R , k F I , k + 1 + P I , k C k + 1 T C k + 1 P I , k F I , k + 1 2 / F R , k + 1 ,
    Figure DE102017111926A1_0033
    P I , k = P I , k P I , k C k + 1 T C k + 1 P I , k F I , k + 1 ,
    Figure DE102017111926A1_0034
    K k + 1 = P I , k C k + 1 T F I , k + 1 .
    Figure DE102017111926A1_0035
    Im Fall 2, der z. B. durch |FI,k+1| = 0 oder |FI,k+1| ≤ LNUM definiert ist, kann die Metrologieaktualisierung basierend auf dem folgenden Satz von Gleichungen (12), der die Gleichungen (12a) bis (12d) enthält, ausgeführt werden: x ^ k + 1 = x ^ k + K k + 1 ( y k + 1 C k + 1 x ^ k D k + 1 ) ,
    Figure DE102017111926A1_0036
    P R , k + 1 = P R , k P R , k C k + 1 T C k + 1 P R , k F R , k + 1 ,
    Figure DE102017111926A1_0037
    P I , k + 1 = P I , k ,
    Figure DE102017111926A1_0038
    K k + 1 = P R , k C k + 1 T F R , k + 1 .
    Figure DE102017111926A1_0039
  • Wenn die Metrologiedaten aus mehr als einem Messwert bestehen, kann die Aktualisierung mit den Gleichungen (9)-(12d) für jeden Wert separat ausgeführt werden, wie oben beschrieben worden ist. Die Folge der Gleichungen (8a)-(8c) und (9)-(12d) spiegelt die Ansammlung und die Verschlechterung der Prozessinformationen (z. B. die Verringerung und die Zunahme des Schätzfehlers) so lange präzise wieder, wie die Prozessmodellparameter Q, R, B, D, C, A zu dem Prozess im wirklichen Leben passen.
  • Gemäß verschiedenen Ausführungsformen kann der Schätzalgorithmus (z. B. gemäß den Gleichungen (8a)-(12d)) Vorteile gegenüber einer herkömmlichen Kalman-Filterung (insbesondere falls er auf eine Durchlauf-zu-Durchlauf-Steuerung angewendet wird) aufweisen. Das Unterscheiden des Falls 1 und des Falls 2 bei der Metrologieaktualisierung voneinander kann jedoch ein wichtiger Aspekt des Algorithmus sein, wie im Folgenden ausführlicher beschrieben wird.
  • Als ein Beispiel zeigt 6A den Unterscheidungsparameter FI für ein Modell mit 230 Zuständen über 1000 Iterationen, wobei der Unterscheidungsparameter auf der y-Achse 600y graphisch dargestellt ist und die Iterationen auf der x-Achse 600x graphisch dargestellt sind. Die Elemente des Beobachtungsvektors, C, sind nur 1 und 0, siehe die Gleichung (10). Wie in 6A veranschaulicht ist, sind der Fall 1 mit (|FI| ≈ 1,0) und der Fall 2 mit (|FI| ≈ 10-15) in diesem Beispiel gut voneinander getrennt, wobei ein Unterscheidungsschwellenwert sicher z. B. auf LNUM = 10-10 gesetzt werden kann (siehe die Unterscheidungslinie 600d), wobei das numerische grundlegende Grundrauschen 600n etwa 10-16 ist.
  • Wenn die Elemente des Beobachtungsvektors, C, über einen etwas breiteren Bereich, z. B. (0,01, 1,0, 1000) verteilt sind, ist der Unterscheidungsparameter FI komplexer verteilt, wie z. B. in 6B veranschaulicht ist. Der erste Fall ist nun durch die Werte des Unterscheidungsparameters FI charakterisiert, die z. B. von 106 bis 10-4 reichen. Der zweite Fall entspricht den Werten des Unterscheidungsparameters von etwa 10-10, z. B. mit |FI| ≈ 10-10, (was z. B. durch das numerische grundlegende Grundrauschen 600n von etwa 10-10 definiert ist), was nicht viel Raum für eine sichere Unterscheidung zwischen den beiden Fällen und deshalb zwischen der Anwendung der Gleichungen (11a)-(11d) oder der Gleichungen (12a)-(12d) lässt. Die in 6A veranschaulichte sichere Unterscheidungsgrenze LNUM = 10-10 würde in diesem Fall unangemessen sein, was wiederum bedeutet, dass LNUM für jeden Verwendungsfall einzeln eingestellt werden müsste. Gemäß verschiedenen Ausführungsformen wird im Folgenden ein Algorithmus zur Zustandsschätzung bereitgestellt, um die Notwendigkeit des einzelnen Einstellens der Unterscheidungsgrenze LNUM zu vermeiden. Dieser Algorithmus (der außerdem als der Quadratwurzelalgorithmus bezeichnet wird) kann in der Prozesssteuerschaltung 100 oder der Datenverschmelzungsschaltung 108 eines automatischen Steuersystems, das z. B. auf einer 24/7-Grundlage betrieben wird, verwendet werden, wie oben beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen wird ein Quadratwurzelalgorithmus basierend auf den Gleichungen (8a)-(12d) bereitgestellt, wie im Folgenden ausführlicher beschrieben wird. Gemäß verschiedenen Ausführungsformen werden die Kovarianzmatrizen PR und PI durch die Faktorisierungen ersetzt. Die Faktorisierung kann z. B. wie folgt oder in einer ähnlichen Weise definiert werden: P R = S R T S R ,
    Figure DE102017111926A1_0040
    P I = S I T S I ,
    Figure DE102017111926A1_0041
    In diesem Fall werden anstelle der Fehlerkovarianzmatrizen PR, PI die Quadratwurzelmatrizen SR, SI direkt ausgebreitet. In diesem Fall werden die Quadratwurzelmatrizen SR, SI z. B. außerdem als Cholesky-Faktoren bezeichnet.
  • Obwohl die folgende Ausführungsform basierend auf einem spezifischen Beispiel der Faktorisierung beschrieben wird, siehe die Gleichungen (15), (16), können andere Faktorisierungen in der gleichen Weise verwendet werden, wie z. B.: P = U T D U
    Figure DE102017111926A1_0042
    In diesem Fall ist U z. B. ein verallgemeinerter Cholesky-Faktor und ist D eine Diagonalmatrix.
  • Ferner können die folgenden Faktorisierungen in einer ähnlichen Weise verwendet werden: P = S S T  oder  P = U D U T
    Figure DE102017111926A1_0043
  • Gemäß verschiedenen Ausführungsformen kann die Strategie des Radizierens auf die Kalman-Filterung angewendet werden. Die Konditionszahl der Quadratwurzeln SR, SI (der Cholesky-Faktoren) ist besser als die Konditionszahl der ursprünglichen Matrizen PR, PI. Der numerische herausfordernde Teil kann die Wiederherstellung des früheren Zustands (die Metrologieaktualisierung) sein. Für Standard-Kalman-Filter können die genausten (und gleichzeitig die effizientesten) Algorithmen der Carlson-Algorithmus und der Bierman-Algorithmus sein. Sowohl der Carlson-Algorithmus als auch der Bierman-Algorithmus basieren auf den gleichen Prinzipien und sind von einem numerischen Standpunkt fast äquivalent. Gemäß verschiedenen Ausführungsformen wird der Carlson-/Bierman-Algorithmus in einer modifizierten, z. B. verallgemeinerten, Weise für die Wiederherstellung des früheren Zustands z. B. basierend auf den Gleichungen (11a)-(12d) verwendet. Die Implementierung des modifizierten Carlson-Algorithmus wird im Folgenden ausführlicher beispielhaft gezeigt.
  • Gemäß verschiedenen Ausführungsformen kann das Radizieren der Gleichungen (8a)-(12d) einem oder mehreren der folgenden Aspekte begegnen:
    Prozessaktualisierung (8b), (8c) ■ Kalman-Aktualisierung
    ■ Rechenkomplexität ~ n3
    Metrologieaktualisierung (12b)-(12d) ■ Kalman-Wiederherstellung des früheren Zustands
    ■ der Carlson-Algorithmus ist anwendbar
    ■ der Carlson-Algorithmus funktioniert nicht für singuläre Matrizen
    Metrologieaktualisierung (11b) ■ gekoppelte Wiederherstellung des früheren Zustands des Rangs 1 und Aktualisierung des Rangs 2
    ■ sequentielle Ausführung der Wiederherstellungen des früheren Zustands und der Aktualisierungen des Rangs 1 führt zu Problemen aufgrund einer numerischen Fehlanpassung
    Metrologieaktualisierung (11c), (11d) ■ „totale Wiederherstellung des früheren Zustands“ → verringert den Rang von PI
    ■ der Carlson-Algorithmus ist für eine totale Wiederherstellung des früheren Zustands nicht entworfen
    ■ PI ist nach der ersten Wiederherstellung des früheren Zustands singulär
    ■ der Carlson-Algorithmus funktioniert nicht für singulärer Matrizen
  • Gemäß verschiedenen Ausführungsformen kann der Carlson-Algorithmus für die Schritte der Wiederherstellung des früheren Zustands verwendet werden, die z. B. als Folgendes: S ¯ T S ¯ = S T ( I a a T a T a + R 2 ) S
    Figure DE102017111926A1_0044
    geschrieben werden können. Die Matrizen S und S sind jeweils obere Dreiecksmatrizen. Der Algorithmus kann nicht angewendet werden, wenn R = 0 gilt (z. B. im Fall einer „totalen Wiederherstellung des früheren Zustands“), oder wenn die Eingangsmatrix S singulär ist. Es kann jedoch beides für das Radizieren der Gleichung (11c und 12b) zur Wiederherstellung des früheren Zustands notwendig sein. Deshalb wird gemäß verschiedenen Ausführungsformen der Carlson-Algorithmus modifiziert, wie im Folgenden ausführlicher beschrieben wird.
  • Die verallgemeinernde Wiederherstellung des früheren Zustands basierend auf dem modifizierten Carlson kann z. B. mit dem Algorithmus (1), der als die verallgemeinerte Carlson-Wiederherstellung des früheren Zustands (GCDD) bezeichnet wird, wie folgt implementiert werden:
  • ALGORITHMUS 1:
  • Figure DE102017111926A1_0045
    Figure DE102017111926A1_0046
  • Die verallgemeinerte Wiederherstellung des früheren Zustands, die auf dem oben bereitgestellten Algorithmus basiert oder in einer ähnlichen Weise implementiert ist, kann eine oder mehrere der folgenden Eigenschaften aufweisen:
    • • es können sowohl singulärer Matrizen als auch totale Wiederherstellungen des früheren Zustands (R = 0) behandelt werden;
    • • jede totale Wiederherstellung des früheren Zustands erzeugt eine neue Zeile, die exakt null ist;
    • • ein Rangdefizit wird in der Matrixstruktur codiert:
      • ■ es vergrößert die numerische Genauigkeit,
      • ■ Zeilen, die exakt null sind, müssen nicht gespeichert werden,
      • ■ PI weist typischerweise nur einige von null verschiedene Zeilen auf, wobei deshalb
      • ■ der Speicherraum für P = PR + PI um etwa 50 % verringert ist;
    • • alle von null verschiedenen Zeilen weisen von null verschiedene Diagonalelemente auf;
    • • Zeilen, die exakt null sind, werden anders als von null verschiedene Zeilen verarbeitet; und
    • • Zeilen, die exakt null sind, werden während der weiteren Verarbeitung bewahrt.
  • 6C veranschaulicht die Struktur 602 der Matrix S gemäß verschiedenen Ausführungsformen. Wie veranschaulicht ist, ist das Rangdefizit strukturell in der Matrix S codiert. Wie oben beschrieben worden ist, erzeugt jede totale Wiederherstellung des früheren Zustands eine neue Zeile 602z, die exakt null, wobei die Zeilen 602z, die exakt null sind, der Matrix S während der weiteren Verarbeitung bewahrt werden. Alle von null verschiedenen Zeilen 602r der Matrix S weisen von null verschiedene Diagonalelemente 602d auf.
  • Im Vergleich zu dem bezüglich 6B bereitgestellten Beispiel, das den nicht modifizierten Algorithmus enthält, ist die Verteilung der Werte des Unterscheidungsparameters FI, der durch den modifizierten Algorithmus erzeugt wird, in 6D veranschaulicht. Wie veranschaulicht ist, ist der Fall 1 immer noch durch die Werte des Unterscheidungsparameters FI charakterisiert, die von 106 bis 10-4 reichen. Das numerische grundlegende Grundrauschen 602n ist jedoch um mehrere Größenordnungen auf etwa 10-33 verringert, was einen sicheren Unterscheidungsschwellenwert über dem numerischen grundlegenden Grundrauschen 602n, z. B. LNUM = 10-25 (siehe die Unterscheidungslinie 602d), ermöglicht.
  • Zusätzlich weist der oben beschriebene Algorithmus (1) die Fähigkeit auf, exakte lineare Einschränkungen zu einem Kalman-basierten Prozessmodell hinzuzufügen. Die linearen Einschränkungen können als eine oder mehrere Messgleichungen (z. B. ähnlich zur Gleichung (2)) mit R = 0 ausgedrückt werden und entsprechen deshalb totalen Wiederherstellungen des früheren Zustands. Herkömmliche Filter können nicht imstande sein, exakte lineare Einschränkungen zu behandeln, und erfordern deshalb eine Approximation der exakten Einschränkung durch Messgleichungen mit „kleinem“ R, die größer als null sind. Weil in einem herkömmlichen Filter der exakte Einschränkungsrauschparameter R mit einer „kleinen“ Zahl emuliert werden muss, kann ein derartiges herkömmliches Filter zu ernsten numerischen Problemen führen.
  • Gemäß verschiedenen Ausführungsformen kann der oben beschriebene Algorithmus (1) z. B. basierend auf der folgenden Gleichung zu beliebigen Wiederherstellungen des früheren Zustands erweitert werden: S ¯ T S ¯ = S T S v v T .
    Figure DE102017111926A1_0047
    Um die Gleichung (18) in die Gleichung (17) zu transformieren, kann die Matrix S aus v durch das Lösen der folgenden Gleichung für a ausgeklammert werden: v = S T a
    Figure DE102017111926A1_0048
    Dies ist in dem Fall möglich, in dem der Vektor v zum Bild der Matrix ST gehört. Diese Bedingung ist z. B. erfüllt, wenn S und S positiv semidefinit sind. Das Einsetzen der Gleichung (19) in die Gleichung (18) führt z. B. zu einer Gleichung (20) zur Wiederherstellung des früheren Zustands wie folgt: S ¯ T S ¯ = S T S v v T = S T ( I a a T ) S = S T ( I a a T 1 a T a = : R 2 + a T a ) S
    Figure DE102017111926A1_0049
  • Dies gibt wie folgt Anlass für folgenden Algorithmus für eine modifizierte Carlson-Wiederherstellung des früheren Zustands gemäß verschiedenen Ausführungsformen:
  • ALGORITHMUS 2
    1. 1. Eingabe:
      • S - obere (n, n)-Dreiecksmatrix
      • v - (n, 1)-Vektor
      • tol - Skalar
    2. 2. Lösen: v = ST a für a; z. B. a = (ST)+ v
    3. 3. Berechnen R = 1 a T a
      Figure DE102017111926A1_0050
    4. 4. Die Ergebnismatrix S mit dem Algorithmus (1) berechnen:
      • S = GCDD(S, a, R, tol)
  • Gemäß verschiedenen Ausführungsformen werden zwei unabhängige im hohen Grade stabile Algorithmen zum Radizieren z. B. der Gleichungen (11b) bis (11d) verwendet, siehe den Algorithmus (3) und den Algorithmus (5) im Folgenden. Um der Kürze willen kann die Gleichung (11b) z. B. wie folgt umgeschrieben werden: P ¯ R = P R P R C T C P I F I P I C T C P R F I + P I C T C P I F I 2 F R ,  mit F R : = P R C P R C T + R 2
    Figure DE102017111926A1_0051
    und mit P ¯ R : = P R , k + 1 ; P R : = P R , k ; P I : = P I , k ; F R : = F R , k + 1 ; F I : = F I , k + 1 ; C k + 1 : = C
    Figure DE102017111926A1_0052
  • Die Grundidee des Algorithmus (3) ist, die Gleichung (21) z. B. wie folgt umzuordnen: P ¯ R = ( I C T C P I F I ) T P R S R T S R ( I C T C P I F I ) + P I C T C P I F I 2 R 2
    Figure DE102017111926A1_0053
    S ¯ T S ¯ R = [ ( I C T C P I F I ) T S R T P I C T R F I ] [ S R ( I C T C P I F I ) T C P I R F I ] = M T M
    Figure DE102017111926A1_0054
  • Gemäß verschiedenen Ausführungsformen kann die Matrix Munter Verwendung einer QR-Zerlegung wie folgt faktorisiert werden: M = T [ M 1 0 ] ; T T T = I
    Figure DE102017111926A1_0055
  • Das Einsetzen der Gleichung (25) in die Gleichung (24) zeigt, dass die Ergebnismatrix S R durch die obere Dreiecksmatrix MI wie folgt gegeben ist: S ¯ R T S ¯ R = [ M 1 T 0 ] T T T I [ M 1 0 ] = M 1 T M 1 + 0
    Figure DE102017111926A1_0056
  • Gemäß verschiedenen Ausführungsformen kann z. B. basierend auf dem Algorithmus (3) die Quadratwurzel der Gleichungen (11b) bis (11d) gebildet werden:
  • ALGORITHMUS 3:
    • 1. Eingabe:
      • SR,k - obere (n, n)-Dreiecksmatrix
      • SI,k - obere (n, n)-Dreiecksmatrix
      • Ck+1 - (1, n)-Beobachtungsvektor
      • R - Skalar
    • 2. Berechnen: m R : = S R , k C k + 1 T ;   m I : = S I , k C k + 1 T ;   u I : = S I , k T m I ;   F I : = m I T m I
      Figure DE102017111926A1_0057
    • 3. Die Matrix aufbauen: M : = [ S R , k ( m R u I T ) / F I u I T ( R / F I ) ]
      Figure DE102017111926A1_0058
    • 4. Orthogonale Zeilentransformationen (z. B. Givens-Rotationen) verwenden, um die letzte Zeile der Matrix M zu eliminieren und die obere Dreiecksform der anderen Zeilen wiederherzustellen. Sicherstellen, dass alle Zeilen, die exakt null sind, bewahrt werden und dass alle von null verschiedenen Zeilen ein von null verschiedenes Diagonalelement aufweisen. M ¯ = [ S R , k + 1 0 ] = T M
      Figure DE102017111926A1_0059
    • 5. Die Ergebnismatrix SR,k+1 ist durch die Zeilen 1, 2, ..., n von M gegeben.
    • 6. Die Ergebnismatrix SI,k+1 und Kk+1 mit dem Algorithmus (1) berechnen: S I , k + 1 , K k + 1 = GCDD ( S = S I , k ,   a = m I ,   R = 0,  tol=0 )
      Figure DE102017111926A1_0060
  • Aufgrund der orthogonalen Zeilentransformation im Punkt 4 des Algorithmus (3) ist die Rechenkomplexität des Algorithmus (3) zu n3 proportional. Dies kann kein Problem sein, weil die Gleichungen (11a) bis (11d) im Allgemeinen sehr selten (z. B. maximal n-mal) ausgeführt werden.
  • Gemäß verschiedenen Ausführungsformen kann basierend auf dem Algorithmus (5) die Quadratwurzel der Gleichungen (11b) bis (11d) z. B. wie folgt gebildet werden. Der Algorithmus (5) trennt die Gleichung (11b) in drei sequentielle Aktualisierungen des Rangs 1 und in eine Wiederherstellung des früheren Zustands des Rangs 1. Dies kann auf der folgenden Gleichung (27) basieren: C P ¯ R C T = C [ P R P R C T C P I F I P I C T C P R F I + P I C T C P I F I 2 F R F R 0 + R 2 ] C T = C [ P R P R C T C P I F I P I C T C P R F I + P I C T C P I F I 2 F R 0 ] C T = 0 + C [ P I C T C P I F I 2 R 2 ] C T = R 2 = R 2 mit  F R 0 = C P R C T
    Figure DE102017111926A1_0061
  • Die linke Seite der Gleichung (21) kann durch den im Folgenden aufgelisteten Ablauf berechnet werden. Die Gleichung (27) zeigt, dass der Schritt 3 in diesem Ablauf eine totale Wiederherstellung des früheren Zustands ist:
    • 1. Aktualisierung des Rangs 1 mit dem Vektor [ P I C T ] F R 0 F I
      Figure DE102017111926A1_0062
    • 2. Aktualisierung des Rangs 1 mit dem „positiven“ Eigenvektor von P R C T C P I F I + P I C T C P R F I
      Figure DE102017111926A1_0063
    • 3. Wiederherstellung des früheren Zustands des Rangs 1 mit dem „negativen“ Eigenvektor von P R C T C P I F I + P I C T C P R F I
      Figure DE102017111926A1_0064
    • 4. Aktualisierung des Rangs 1 mit dem Vektor [ P I C T ] R F I
      Figure DE102017111926A1_0065
  • Gemäß verschiedenen Ausführungsformen kann die totale Wiederherstellung des früheren Zustands im Schritt 3 hinsichtlich der durch den Schritt 1 und den Schritt 2 des Ablaufs erzeugten Ergebnismatrix ausgedrückt werden. Dies kann z. B. die numerische Stabilität sicherstellen.
  • Für die Schritte 1, 2 und 4 des Ablaufs kann ein Algorithmus der Aktualisierung des Rangs 1 verwendet werden. Dieser Algorithmus der Aktualisierung des Rangs 1 kann etwas modifiziert werden, um die Zeilen, die exakt null sind, in SR zu bewahren, wie z. B. im Algorithmus (4) gezeigt ist. Ferner kann der Algorithmus (1) für den Schritt 3 des Ablaufs verwendet werden.
  • Gemäß verschiedenen Ausführungsformen kann die Aktualisierung des Rangs 1, S T S = S T S + aaT, die als R1UD bezeichnet wird, wie folgt ausgeführt werden:
  • ALGORITHMUS 4
    • 1. Eingabe:
      • S - obere (n, n)-Dreiecksmatrix
      • a - (n, 1)-Vektor
    • 2. Die Matrix aufbauen: M : = [ S a T ]
      Figure DE102017111926A1_0066
    • 3. Die orthogonalen Zeilentransformationen (z. B. Givens-Rotationen) verwenden, um die letzte Zeile von M zu eliminieren. Sicherstellen, dass alle Zeilen, die exakt null sind, bewahrt werden und alle von null verschiedenen Zeilen ein von null verschiedenes Diagonalelement aufweisen. M : = [ S ¯ 0 ] = T M
      Figure DE102017111926A1_0067
    • 4. Die Ergebnismatrix S ist durch die Zeilen 1, 2, ..., n von M gegeben.
  • Gemäß verschiedenen Ausführungsformen kann der im Folgenden gezeigte Algorithmus (5) ausschließlich für Aktualisierungen des Rangs 1 und Wiederherstellungen des früheren Zustands des Rangs 1 verwendet werden. Die Rechenkomplexität ist in diesem Fall proportional zu n2.
  • ALGORITHMUS 5:
    • 1. Eingabe:
      • SR,k - obere (n, n)-Dreiecksmatrix
      • SI,k - obere (n, n)-Dreiecksmatrix
      • Ck+1 - (1, n)-Beobachtungsvektor
      • R - Skalar
      2. Berechnen: m R : = S R , k C k + 1 T ;   m I : = S I , k C k + 1 T ;  F R 0 : = m R T m R ;   F I : = m I T m I
      Figure DE102017111926A1_0068
    • 3. m 20 : = ( m I | m I | m R | m R | ) | m I | | m R | 2
      Figure DE102017111926A1_0069
    • 4. Die Helfermatrix S1 mit dem Algorithmus (4) berechnen: S 1 = R 1 UD ( S = S R , k , a = m I F R 0 F I )
      Figure DE102017111926A1_0070
    • 5. Die Helfermatrix S2 mit dem Algorithmus (4) berechnen: S 2 = R 1 UD ( S = S 1 , a = m 20 1 F I )
      Figure DE102017111926A1_0071
    • 6. Die Helfermatrix S3 mit dem Algorithmus (1) berechnen: S 3 = GCDD ( S = S 2 , a = S 2 C k + 1 T , R = 0 )
      Figure DE102017111926A1_0072
    • 7. Die Ergebnismatrix SR,k+1 mit dem Algorithmus (4) berechnen: S R , k + 1 = R1UD ( S = S 3 , a = m I R F I )
      Figure DE102017111926A1_0073
    • 8. Die Ergebnismatrix SI,k+1 und Kk+1 mit dem Algorithmus (1) berechnen: S I , k + 1 , K k + 1 = GCDD ( S = S I , k , a = m I , R = 0, tol = 0 )
      Figure DE102017111926A1_0074
  • Die Gleichungen (12b)-(12d) entsprechenden einer auf einem Kalman-Filter basierenden Wiederherstellung des früheren Zustands, wobei die Matrix PR singulär sein kann. Deshalb kann gemäß verschiedenen Ausführungsformen der Algorithmus (1) angewendet werden. Gemäß verschiedenen Ausführungsformen kann basierend auf dem Algorithmus (6) die Quadratwurzel der Gleichungen (12b) bis (12d) wie folgt gebildet werden:
  • ALGORITHMUS 6:
    1. 1. Eingabe:
      • SR,k - obere (n, n)-Dreiecksmatrix
      • SI,k - obere (n, n)-Dreiecksmatrix
      • Ck+1 - (1, n)-Beobachtungsvektor
      • R - Skalar
    2. 2. Berechnen: m R : = S R , k C k + 1 T
      Figure DE102017111926A1_0075
    3. 3. Die Ergebnismatrix SR,k+1 und Kk+1 mit dem Algorithmus (1) berechnen:
      • S R , k + 1 , K k + 1 = GCDD ( S = S R , k , a = m R , R , tol = 0 )
        Figure DE102017111926A1_0076
    4. 4. SI,k+1= SI,k
  • Gemäß verschiedenen Ausführungsformen wird für ein Kalman-basiertes Filter oder ein ähnlich arbeitendes Filter ein schneller und stabiler Quadratwurzelalgorithmus zur Wiederherstellung des früheren Zustands bereitgestellt, wie oben beschrieben worden ist. Der schnelle und stabile Quadratwurzelalgorithmus zur Wiederherstellung des früheren Zustands kann einen oder mehrere der folgenden Aspekte enthalten:
    • ■ die numerische Genauigkeit ist drastisch verbessert (~32 Stellen für doppelte Genauigkeit/die Konditionszahl von PR , PI ist auf ihre Quadratwurzel verringert),
    • ■ der Algorithmus kann viele Zustände handhaben,
    • ■ die Gesamtrechenkomplexität ist proportional zu n2 (mit Ausnahme des Algorithmus (3), der maximal n-mal verwendet wird),
    • ■ die Speicheranforderungen sind mit einem nicht modifizierten Kalman-Filter vergleichbar,
    • ■ die SI -Dreiecksmatrix verrät die Struktur der Mehrdeutigkeit (die Anzahl der von null verschiedenen Zeilen in SI = die Anzahl der Freiheitsgrade),
    • ■ die exakte Initialisierung der Fehlerkovarianzmatrix P mit ∞ ist möglich,
    • ■ der Algorithmus ist der Modellmehrdeutigkeit und den Geräte-Dedikationen natürlich gewachsen.
  • Gemäß verschiedenen Ausführungsformen kann der oben beschriebene schnelle und stabile Quadratwurzelalgorithmus zur Wiederherstellung des früheren Zustands in einer Komponente eines Durchlauf-zu-Durchlauf-Systems (z. B. bei der Halbleiterfertigung) verwendet werden, wie bereits beschrieben worden ist. Gemäß verschiedenen Ausführungsformen werden, wenn das Produktionsereignis die Zustandsschätzung (z. B. aufgrund eines Bearbeitungsereignisses, eines Wartungsereignisses usw.) verschlechtert, Daten durch die Gleichungen (8a) bis (8c) hinzugefügt, was außerdem als Prozessaktualisierung bezeichnet wird. Wenn das Produktionsereignis Daten erzeugt hat (z. B. im Fall eines Metrologieereignisses), die die Zustandsschätzung verbessern, werden die Daten durch die Gleichung (11a) bis (12d) hinzugefügt, was außerdem als eine Metrologieaktualisierung bezeichnet wird.
  • Gemäß verschiedenen Ausführungsformen können die Genauigkeitsinformationen, die z. B. durch die durch die Gleichung (5) gegebene Fehlerstandardabweichung repräsentiert werden, verwendet werden, wie oben beschrieben worden ist. Die ankommenden Messdaten yk+1 können durch das Berechnen der normierten Erneuerung des Verhältnisses z. B. gemäß Folgendem validiert werden: v 0 = y k + 1 C k + 1 x ^ k D k + 1 σ E R R .
    Figure DE102017111926A1_0077
    In diesem Fall ist σERR die Standardabweichung für die Messdatenvorhersage. Ferner können gültige Messungen z. B. durch -Ly ≤ v0 ≤ Ly mit 2 ≤ Ly ≤ 4 charakterisiert werden. Gemäß verschiedenen Ausführungsformen ist v0 ein universelles Maß, das von dem Verwendungsfall und dem Übergangsverhalten (dem Einschwingen) des Schätzalgorithmus unabhängig ist. Falls v0 Ly übersteigt, sind mehrere Reaktionen möglich, wie oben beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 oder die Prozesssteuerschaltung 100 den oben beschriebenen schnellen und stabilen Quadratwurzelalgorithmus zur Wiederherstellung des früheren Zustands enthalten. Deshalb kann die Datenverschmelzungsschaltung 108 eine wichtige Funktion in einem Steuersystem aufweisen, um z. B. diskrete Prozesse in der Halbleiterindustrie und in anderen Industrien zu steuern.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 oder die Prozesssteuerschaltung 100 den oben beschriebenen schnellen und stabilen Quadratwurzelalgorithmus zur Wiederherstellung des früheren Zustands enthalten, der als eine Komponente eines Überwachungssystems (z. B. der Halbleiterindustrie oder in anderen Industrien) implementiert ist. Bei der Halbleiterfertigung müssen viele Prozesse überwacht werden. Die Überwachung kann z. B. Folgendes enthalten: Auswählen eines geeigneten Prozessmodells (z. B. basierend auf der Gleichung (1)) und eines geeigneten Messmodells (z. B. basierend auf der Gleichung (2)) für die Größe, y, die überwacht werden muss, und Abstimmen der Prozessmodellparameter durch eine statistische Prozedur unter Verwendung vorhergehender Daten (z. B. historischer Daten) der Größe y (z. B. über die Schätzung der maximalen Wahrscheinlichkeit, die im Folgenden ausführlicher beschrieben wird); Implementieren der Gleichungen (8a) bis (8c) in dem Überwachungssystem (z. B. über die hier beschriebene Datenverschmelzungsschaltung 108), Berechnen einer Zustandsschätzung x̂k, PR,k, PI,k und Berechnen der normierten Erneuerung, v0, (z. B. unter Verwendung der Gleichung 28) oder irgendwelcher anderer Fehlerinformationen der Zustandsschätzung und, wenn neue Daten yk+1 ankommen, Validieren 315 der neuen Daten 107d und/oder Validieren 315 des Prozessmodells. Der überwachte Prozess kann z. B. validiert werden, d. h., verhält sich normal, in dem Fall, dass -Ly ≤ v0 ≤ Ly mit 1 ≤ Ly ≤ 5 oder 2 ≤ Ly ≤ 4 gilt.
  • Wie oben z. B. bezüglich der 6A bis 6D beschrieben worden ist, wird ein schneller und numerisch stabiler Quadratwurzelalgorithmus zum Wiederherstellen des früheren Zustands der Zustandsinformationen basierend auf den Gleichungen (11b)-(11d) und (12b)-(12d) bereitgestellt. Der oben beschriebene Algorithmus basiert auf einem Kalman-Modell, wobei die Fehlerkovarianzmatrix in einen endlichen und in einen unendlichen Teil zerlegt wird, die in dreieckige Quadratwurzeln mit Zeilen, die exakt null sind, zerlegt werden. Die Iterationsgleichungen (11b)-(11d) und (12b)-(12d) führen zu einer charakteristischen Folge der Zustandsschätzungen x̂kund der Kovarianzvektoren SR,k, SI,k mit k = 0, 1, ...
  • Wie oben bezüglich der 6A bis 6D beschrieben worden ist, kann die Datenverschmelzungsschaltung 108 konfiguriert sein, einen Unterscheidungsparameter (z. B. FI) basierend auf der Zustandsextraktionsmatrix C und der Fehlerkovarianzmatrix P bereitzustellen. Der Unterscheidungsparameter kann mit einer Unterscheidungsgrenze, z. B. LNUM, verglichen werden.
  • Wie oben erwähnt worden ist, steht der Bierman-Algorithmus eng mit dem Carlson-Algorithmus in Beziehung, wobei er die gleichen ausgezeichneten numerischen Eigenschaften aufweisen kann. Er verwendet eine verallgemeinernde Cholesky-Faktorisierung gemäß folgendem: P = U T D U .
    Figure DE102017111926A1_0078
  • Gemäß verschiedenen Ausführungsformen können die Algorithmen 1, 2, 3, 4, 5, 6 außerdem hinsichtlich der Gleichung (29) umformuliert werden. Anstelle der Faktorisierung (15) oder (16) können die folgenden Faktorisierungen verwendet werden, um die oben beschriebenen Algorithmen 1, 2, 3, 4, 5, 6 entsprechend umzuformulieren: P = S S T
    Figure DE102017111926A1_0079
    P = U D U T
    Figure DE102017111926A1_0080
  • Als eine Alternative zum Algorithmus (1) kann der sogenannte Potter-Algorithmus zur Wiederherstellung des früheren Zustands gemäß verschiedenen Ausführungsformen verwendet werden. Wie der Carlson-Algorithmus kann der Potter-Algorithmus für die Wiederherstellungen des früheren Zustands in der Form der Gleichung (17) verwendet werden. Ein Algorithmus (7) für die Potter-Wiederherstellung des früheren Zustands ist im Folgenden beispielhaft gezeigt:
  • ALGORITHMUS 7:
    1. 1. Eingabe:
      • S - obere (n, n)-Dreiecksmatrix
      • a - (n, 1)-Vektor
      • R - Skalar
    2. 2. Berechnen: F : = a T a + R 2 ;   γ : = 1 + R 2 / F
      Figure DE102017111926A1_0081
    3. 3. Die Ergebnismatrix berechnen: S ¯ = S S a a T γ F
      Figure DE102017111926A1_0082
  • Der Algorithmus (7) kann weniger präzise als der Carlson-Algorithmus sein. Dies kann z. B. in 6E gesehen werden, die die Werte des Unterscheidungsparameters FI für das Beispiel nach 6B und 6D, aber mit dem Algorithmus (7) berechnet, veranschaulicht. Die mit dem Algorithmus (7) berechnete Wiederherstellung des früheren Zustands erzeugt z. B. ein numerisches Grundrauschen 604n von etwa 10-25, was bemerkenswert höher als das durch die bezüglich 6D beschriebene verallgemeinerte Carlsen-Wiederherstellung des früheren Zustands erzeugte numerische Grundrauschen 602n von etwa 10-33 ist. Ferner ist der für die Kovarianzmatrizen erforderliche Speicherraum für die durch die Potter-Wiederherstellung des früheren Zustands z. B. gemäß dem Algorithmus (7) erzeugten Matrizen im Vergleich zu der oben beschriebenen verallgemeinerten Carlsen-Wiederherstellung des früheren Zustands etwa viermal höher. Dies ist so, weil die Potter-Wiederherstellung des früheren Zustands volle Matrizen (anstatt dreieckiger Matrizen, wo nur die Hälfte der Matrixelemente gespeichert werden muss) erzeugt und keine Zeilen, die exakt null sind, (die nicht gespeichert werden müssen) erzeugt.
  • Gemäß verschiedenen Ausführungsformen kann ein Informationsfilter verwendet werden, um die Funktionen der Datenverschmelzungsschaltung 108 zu implementieren. Das Informationsfilter ist eine Modifikation des Kalman-Filters. In dieser Modifikation ist die Fehlerkovarianzmatrix Pk durch das Inverse I k = P k 1
    Figure DE102017111926A1_0083
    ersetzt. Anstelle des Zustandsvektors x̂kwird der Vektor z ^ k : = I k 1 x ^ k
    Figure DE102017111926A1_0084
    zusammen mit Ik ausgebreitet. In dem Fall keiner früheren Kenntnis können die Elemente von Ik mit 1/∞ = 0 initialisiert werden. Dies entspricht dem Initialisieren des Elements von Pk mit ∞. Dies bedeutet, dass das Informationsfilter eine Initialisierung mit unendlich und eine Modellmehrdeutigkeit natürlich handhaben kann.
  • Wann bei dieser Herangehensweise auch immer eine Schätzung x̂kdes realen Zustands (oder die Schätzung linearer Zustandskombinationen âk = Ck) und/oder ihrer entsprechende Schätzfehler-Standardabweichung σERR erforderlich sind, muss das Inverse I k 1
    Figure DE102017111926A1_0085
    berechnet werden. Die Rechenkomplexität des Berechnens des Inversen ist zu n3 proportional. Dies kann möglich sein, um eine Durchlauf-zu-Durchlauf-Steuerung zu implementieren, ist aber nicht für eine Durchlauf-zu-Durchlauf-Steuerung optimal, wo oft einige hundert Zustände verwendet werden und x̂kund σERR häufig berechnet werden müssen. Ferner kann das Informationsfilter außerdem durch das Radizieren der jeweiligen Gleichungen modifiziert werden.
  • Aufgrund der Modellmehrdeutigkeit kann die Fehlerkovarianzmatrix Pk singulär sein, was bedeutet, dass eine einfache Inversion nicht möglich sein kann. Dies entspricht der Tatsache, dass die einzelnen Zustände nicht durch die Daten im Gegensatz zu einigen Zustandskombinationen âk = Ck bestimmt sind. Zusätzlich sollte der Inversionsalgorithmus eine Quadratwurzelstruktur ausnutzen, um die ausgezeichneten numerischen Eigenschaften zu bewahren. Dies kann z. B. durch den folgenden Algorithmus (8) ausgeführt werden:
  • ALGORITHMUS 8:
    • 1. Eingabe:
      • Z - (n, n)-Dreiecksmatrix; Quadratwurzel der Informationsmatix, d. h., P-1 = ZT Z
      • ẑ - umgesetzter (n, 1)-Zustandsvektor
      • C - (1, n)-Zustandsextraktorvektor
    • 2. Den orthogonalen Spaltenkompressor TT (z. B. unter Verwendung einer Singulärwertzerlegung) berechnen Z T T = Z T 1 T T 2 T = [ Z 1 0 ] ,
      Figure DE102017111926A1_0086
      wobei die (n, r)-Matrix ZI spaltenregulär ist und r der Rang von Z ist
    • 3. Berechnen C ¯ T T = C T 1 T T 2 T = : [ C 1 C 2 ]
      Figure DE102017111926A1_0087
    • 4. Der Schätzfehler der linearen Zustandskombination âk = Ck ist nur endlich, falls C2 = 0 gilt. Die Zustandsschätzung nicht verwenden, falls diese Bedingung verletzt ist.
    • 5. Die Schätzung der Zustandskombination α̂ = Cx̂ und ihrer endlichen Fehlervarianz ist durch Folgendes gegeben: α ^ = C 1 ( Z 1 T Z 1 ) 1 z ^ ;   σ E R R 2 = C 1 ( Z 1 T Z 1 ) 1 C 1 T
      Figure DE102017111926A1_0088
      Um die numerische Robustheit sicherzustellen, wird die QR-Zerlegung ZI = WU und die Rückersetzung des dreieckigen Systems UT U verwendet, um das Inverse ( Z 1 T Z 1 ) 1 = ( U T W T W U I ) = ( U T U ) 1
      Figure DE102017111926A1_0089
      zu berechnen.
  • Gemäß verschiedenen Ausführungsformen kann die Fehlerkovarianzmatrix P in Folgendes zerlegt werden: P k = L k ( D R , k + κ D I , k ) L k T ;   κ .
    Figure DE102017111926A1_0090
  • Während der Iteration werden die Dreiecksmatrix Lk und die Diagonalmatrizen DR,k und DI,k aktualisiert. In diesem alternativen Algorithmus können die Prozessaktualisierung und die Metrologieaktualisierung nicht voneinander getrennt werden. Ferner weist dieser alternative Algorithmus eine Rechenkomplexität von n3 auf, wobei dieser alternative Algorithmus ferner numerisch instabil ist.
  • Im Folgenden wird ein Algorithmus, der eine robuste Unterscheidung zwischen der endlichen und der unendlichen Varianz des Vorhersagefehlers bereitstellt, für ein Kalman-basiertes Filter oder irgendein anderes ähnliches Filter basierend z. B. auf den Gleichungen (8a) bis (12d) bereitgestellt, wie oben beschrieben worden ist. Die Gleichung (10) kann, wie oben beschrieben worden ist, ein zentraler Entscheidungspunkt des Algorithmus sein (siehe die Gleichungen (11a) bis (12d)), weil der erste Fall und der zweite Fall voneinander unterschieden (z. B. abgegrenzt) werden müssen, wie z. B. basierend auf einer Unterscheidungsbedingung, wie z. B.: | F I , k + 1 | > 0
    Figure DE102017111926A1_0091
  • Aufgrund einer eingeschränkten numerischen Genauigkeit irgendeines digitalen Computers unterscheidet sich der berechnete Wert von FI normalerweise vom Idealwert. Deshalb kann eine modifizierte Unterscheidungsbedingung verwendet werden, wie z. B.: | F I , k + 1 | > ε
    Figure DE102017111926A1_0092
    In diesem Fall muss der Schwellenwert ε (der außerdem als die Unterscheidungsgrenze bezeichnet wird) geeignet gewählt werden.
  • Basierend auf einem Beispiel veranschaulichen 6F, 6G und 6H, dass das Wählen des Schwellenwerts relevant sein kann. Deshalb wird der Beobachtungsvektor Ck+1 variiert. Als Beispiele zeigt 6F den Unterscheidungsparameter |FI,k+1| für den Beobachtungsvektor Ck+1 = (1 1 1), zeigt 6G den Unterscheidungsparameter |FI,k+1| für den Beobachtungsvektor Ck+1 = (10000 10000 10000) und zeigt 6H den Unterscheidungsparameter |FI,k+1| für den Beobachtungsvektor Ck+1 = (0,0001 0,0001 0,0001). Der Bereich 610 in jeder Figur veranschaulicht jeweils das Intervall, wo ein Schwellenwert ε, der sicher zwischen |FI,k+1| = 0 und |FI,k+1| > 0 unterscheidet, festgelegt werden kann. Der Schwellenwert ε kann gewählt werden, so dass er von dem numerischen Grundrauschen 602n abgrenzbar ist, der Schwellenwert ε kann z. B. eine oder mehrere Größenordnungen über dem numerischen Grundrauschen 602n festgelegt werden. Es kann jedoch normalerweise keine gemeinsame Überschneidung der Intervalle für die drei verschiedenen Beobachtungsvektoren Ck+1 geben, die in den 6F bis 6H veranschaulicht sind.
  • Gemäß verschiedenen Ausführungsformen kann der jeweilige Beobachtungsvektor (z. B. in der Gleichung (11c)) z. B. durch einen modifizierten Beobachtungsvektor ersetzt sein. Mit C: = Ck+1 und |C0| = 1 kann der modifizierte Beobachtungsvektor wie folgt formuliert werden: C = C 0 | C |
    Figure DE102017111926A1_0093
  • In diesem Fall ist |C| die Länge des Beobachtungsvektors C. Das Einsetzen der Gleichung (30) in die Gleichung (11c) führt z. B. zu: P ¯ I = P I P I C 0 T C 0 P I F I | C | 2 | C | 2
    Figure DE102017111926A1_0094
    mit P I := PI,k+1; PI := PI,k; FI := FI,k+1
  • Im Ergebnis kann die Rekursion des unendlichen Teils der Fehlerkovarianzmatrix PI von der Länge des Beobachtungsvektors C unabhängig sein und kann durch die Richtung des Beobachtungsvektors C vollständig bestimmt sein. Im Gegensatz wird der Unterscheidungsparameter FI mit der quadrierten Länge von C skaliert, was z. B. durch die folgende Gleichung veranschaulicht wird: F I = C 0 P I C 0 T = : F I 0 | C | 2 = F I 0 | C | 2
    Figure DE102017111926A1_0095
  • Der Unterscheidungsparameter FI kann für jeden von null verschiedenen Beobachtungsvektor C null sein, wenn (und nur wenn) FI0 null ist. Deshalb kann der modifizierte Unterscheidungsparameter FI0 anstelle des Unterscheidungsparameters FI wie folgt verwendet werden, um den ersten und den zweiten Fall voneinander zu unterscheiden: | F I 0 | > ε Fall 1 ,
    Figure DE102017111926A1_0096
    | F I 0 | ε Fall 2
    Figure DE102017111926A1_0097
    mit F I 0 = C 0 P I C 0 T = F I | C | 2 = F I C C T
    Figure DE102017111926A1_0098
  • Der modifizierte Diskriminator FI0 kann für die Unterscheidung der Fälle geeigneter sein als der vorher beschriebene nicht modifizierte Diskriminator FI, weil der modifizierte Diskriminator FI0 von der Länge des Beobachtungsvektors C unabhängig ist. Dies ist z. B. in 6I veranschaulicht, die z. B. den modifizierten Diskriminator, FI0, für drei Musterbeobachtungsvektoren Ck+1 = (1 1 1), Ck+1 = (1 1 1)·10000 und Ck+1 = (1 1 1)·0,0001 zeigt, die oben bezüglich der 6F bis 6H verwendet worden sind. Selbst wenn sich die drei Musterbeobachtungsvektoren um mehrere Größenordnungen unterscheiden, sind die Werte des modifizierten Diskriminators FI0 ausgerichtet und im hohen Grade vergleichbar. Deshalb kann eine gemeinsame Unterscheidungsgrenze (siehe die Diskriminatorlinie 610d) für alle Beobachtungsvektoren verwendet werden. Wie oben gezeigt worden ist, ist dies nicht möglich, falls der nicht modifizierte Diskriminator, FI, verwendet wird.
  • Die Herangehensweise zum Modifizieren der Diskriminatoren FI kann außerdem auf die oben beschriebenen Quadratwurzelalgorithmen angewendet werden, bei denen die Fehlerkovarianzmatrix aktualisiert wird. Dies kann z. B. mit den folgenden Gleichungen formuliert werden: F I 0 = v I T v I = | v I | 2 ; v I = C 0 S I T ;
    Figure DE102017111926A1_0099
  • Ferner kann gemäß verschiedenen Ausführungsformen die Fehlervarianz für die Vorhersage beliebiger Zustandskombinationen und Ausgaben berechnet werden. Die Zustandsvorhersage kann z. B. auf der folgenden Gleichung basieren: α k + 1 = C ¯ x k + 1
    Figure DE102017111926A1_0100
  • In diesem Fall ist αk+1 die Zustandskombination von Interesse und ist C der entsprechende Zustandsextraktionsvektor. Die Varianz des Vorhersagefehlers ist durch die folgenden Gleichungen gegeben: σ ERR 2 = { C ¯ [ P R , k + Q K + 1 Q k + 1 T ] C ¯ T falls  | F I | = 0 falls  | F I | > 0
    Figure DE102017111926A1_0101
    F I = C ¯ P I , k C ¯ T
    Figure DE102017111926A1_0102
  • Der robuste, modifizierte Diskriminator F I 0 = C ¯ 0 P I , k C ¯ 0 T
    Figure DE102017111926A1_0103
    kann z. B. durch die Faktorisierung des Zustandsextraktionsvektors, z. B. in C = C 0|C|, berechnet werden.
  • Ferner kann die Ausgabevorhersage z. B. auf der folgenden Gleichung basieren: y ^ k + 1 | k = C k + 1 x ^ k
    Figure DE102017111926A1_0104
  • In diesem Fall ist ŷk+1|k die Schätzung von yk+1 basierend auf den Daten bis zum Zeitpunkt k und ist Ck+1 der entsprechende Beobachtungsvektor. Die Schätzung der Fehlervarianz ist z. B. durch die folgenden Gleichungen gegeben: σ ERR 2 = { C k + 1 P R , k C k + 1 T + R k + 1 R k + 1 T falls  F I = 0 falls  F I > 0
    Figure DE102017111926A1_0105
    F I = C k + 1 P I , k C k + 1 T
    Figure DE102017111926A1_0106
  • Der robuste, modifizierte Diskriminator F I 0 = C 0 P I , k C 0 T
    Figure DE102017111926A1_0107
    kann durch die Faktorisierung des Beobachtungsvektors, z. B. in Ck+1 = C0|Ck+1|, entsprechend konstruiert werden. Es sind jedoch andere (z. B. komplexere) Vorhersageszenarios vorstellbar.
  • Gemäß verschiedenen Ausführungsformen kann der schnelle und numerisch stabile Quadratwurzelalgorithmus zum Aktualisieren der Zustandsinformationen und/oder zum Wiederherstellen des früheren Zustands der Zustandsinformationen in einer Komponente eines Steuersystem und/oder zum Überwachen diskreter Prozesse verwendet werden, wie oben beschrieben worden ist. Zusätzlich kann ein normierter Beobachtungsvektor (z. B. ein normierter Zustandsextraktionsvektor) verwendet werden, um einen robusten, modifizierten Diskriminator (z. B. FI0) zu berechnen, um die unendliche Vorhersagevarianz des Kalman-basierten Filters zu detektieren. Gemäß verschiedenen Ausführungsformen kann der Diskriminator für jede Metrologieaktualisierung gespeichert werden, um die richtige Unterscheidung des ersten und des zweiten Falls zu verfolgen.
  • Gemäß verschiedenen Ausführungsformen wird ein schneller und stabiler Quadratwurzel-Aktualisierungsalgorithmus für ein Kalman-Filter bereitgestellt. Im Folgenden wird ein schneller und numerisch stabiler Quadratwurzelalgorithmus zum Aktualisieren eines Kalman-basierten Filters oder irgendeines anderen ähnlichen Filters basierend z. B. auf den Gleichungen (1), (1*), (2), (2*), (8) bis (12) bereitgestellt, wie oben beschrieben worden ist. Wie oben beschrieben worden ist, können einige typische Probleme einer Durchlauf-zu-Durchlauf-Steuerung durch das Zerlegen der Fehlerkovarianzmatrizen P in einen endlichen und in einen unendlichen Teil gelöst werden. Die im Folgenden als Beispiele beschriebenen Quadratwurzelalgorithmen, die auf den zerlegten Fehlerkovarianzmatrizen P basieren, können jedoch in der gleichen Weise auf die nicht zerlegten Fehlerkovarianzmatrizen P angewendet werden, wie hier ebenso beschrieben wird. Die numerische Genauigkeit kann beträchtlich verbessert werden, falls beide Teile in Quadratwurzeln faktorisiert werden. Dies transformiert die oben beschriebene Gleichung (8a) in Folgendes: x ^ k + 1 = A k + 1 x ^ k + B k + 1
    Figure DE102017111926A1_0108
    S R , k + 1 T S R , k + 1 = A k + 1 S R , k T S R , k A k + 1 T + Q k + 1 Q k + 1 T
    Figure DE102017111926A1_0109
    S I , k + 1 T S I , k + 1 = A k + 1 S I , k T S I , k A k + 1 T
    Figure DE102017111926A1_0110
  • In einer Durchlauf-zu-Durchlauf-Anwendung kann keine Zustandsübergangsmatrix verwendet werden, d. h., (Ak+1 = In). Dies kann die Gleichungen (33), (34) zu Folgendem vereinfachen: S R , k + 1 T S R , k + 1 = S R , k T S R , k + Q k + 1 Q k + 1 T
    Figure DE102017111926A1_0111
    S I , k + 1 T S I , k + 1 = S I , k T S I , k
    Figure DE102017111926A1_0112
  • Die Gleichung (34a) kann trivial zu behandeln sein, während die Gleichung (33a) einer Quadratwurzelaktualisierung entsprechen kann. Die Rechenkomplexität der herkömmlichen Aktualisierungsalgorithmen ist jedoch zu n3 proportional. Die Anzahl n der bei einer Durchlauf-zu-Durchlauf-Steuerung verwendeten Zustände beträgt typischerweise einige hundert. Deshalb werden im Folgenden verschiedene Ausführungsformen beschrieben, die einen Aktualisierungsalgorithmus mit einer verringerten Rechenkomplexität bereitstellen.
  • Gemäß verschiedenen Ausführungsformen wurden die folgenden Beobachtungen an den oben beschriebenen Sätzen von Gleichungen (3) und (4) gemacht:
    • • Falls die Prozessrauschmatrix Q eine Diagonalmatrix ist, wird das Prozessrauschen nur in der Hauptdiagonale der Fehlerkovarianzmatrix P angesammelt.
    • • Das Diagonalelement P(i, i) beeinflusst die Kalman-Iteration solange nicht, wie der Zustand x(i) in keine Metrologieaktualisierung einbezogen ist.
    • • Die Anzahl der von null verschiedenen Elemente des Beobachtungsvektors C ist typischerweise viel kleiner als die Anzahl der Zustände (für eine Durchlauf-zu-Durchlauf-Steuerung: 2-4 gegen einige hundert).
  • Diese Beobachtungen können ausgenutzt werden, um die Rechenkomplexität der Gleichung (33a) zu verringern. Eine Modifikation kann z. B. wie folgt sein, siehe 7A:
    • • Das akkumulierten Prozessrauschen kann von der Fehlerkovarianzmatrix P getrennt werden, siehe z. B. das Bezugszeichen 702.
    • • Neues (z. B. ankommendes) Prozessrauschen 706 wird zu einer separaten Diagonalmatrix P0 (z. B. für die Prozessaktualisierung) hinzugefügt, siehe z. B. das Bezugszeichen 704.
    • • Wenn der Zustand x(i) in eine Metrologieaktualisierung einbezogen ist, wird das Prozessrauschen vor dem Aktualisieren der Fehlerkovarianzmatrix P von P0(i, i) zu P(i, i) übertragen 700t.
  • Wie z. B. in 7B in einer schematischen Ansicht veranschaulicht ist, kann die Herangehensweise an P = ST S und ähnliche Faktorisierungen angepasst werden, wie oben beschrieben worden ist. In diesem Fall ist die Rechenkomplexität des Übertragenes des Prozessrauschens von P0(i, i) zu ST S zu n2 proportional, z. B. für eine Aktualisierung des Rangs 1, wie oben beschrieben worden ist.
  • Diese Herangehensweise kann in zwei Algorithmen zusammengefasst werden, wie im Folgenden ausführlicher beschrieben wird. Im Allgemeinen wird die Fehlerkovarianzmatrix P z. B. in Folgendes zerlegt: P = S T S + P 0
    Figure DE102017111926A1_0113
    In diesem Fall ist P0 eine (n, n)-Diagonalmatrix.
  • Gemäß verschiedenen Ausführungsformen können die hier beschriebenen Algorithmen (z. B. die Algorithmen (9), (10)) zum Trennen des Prozessrauschens von der Fehlerkovarianzmatrix P, wie z. B. in der Gleichung (35) veranschaulicht ist, in der gleichen Weise auf die Fälle angewendet werden, in denen die Fehlerkovarianzmatrix P in einen endlichen Teil PR und in einen unendlichen Teil PI zerlegt ist, wie hier beschrieben worden ist. In diesem Fall können die Fehlerkovarianzmatrizen PR und PI z. B. wie folgt zerlegt werden: P R = S R T S R + P 0, R  oder  P I = S I T S I + P 0, I .
    Figure DE102017111926A1_0114
  • Mit S k + 1 T S k + 1 + P 0, k + 1 = S k T S k + P 0, k + Q k + 1 Q k + 1 T
    Figure DE102017111926A1_0115
    können die Algorithmen (9), (10) wie folgt implementiert werden:
  • ALGORITHMUS 9:
    1. 1. Eingabe:
      • Sk - obere (n, n)-Dreiecksmatrix
      • P0,k - (n, n)-Diagonalmatrix
      • Qk+1 - (n, n)-Diagonalmatrix
    2. 2. Berechnen: P 0, k + 1 = P 0, k + Q k + 1 Q k + 1 T ; S k + 1 = S k
      Figure DE102017111926A1_0116
  • ALGORITHMUS 10:
    1. 1. Eingabe:
      • Sk - obere (n, n)-Dreiecksmatrix
      • P0,k - (n, n)-Diagonalmatrix
      • Ck+1 - (1, n)-Beobachtungsvektor
    2. 2. Alle Indizes i mit Ck+1(i) ≠ 0 und P0,k(i, i) ≠ 0 finden
    3. 3. Für alle im Schritt 2 gefundenen Indizes i die folgenden Schritte ausführen:
      1. a. Initialisieren: a = (0 0 ... 0)T
      2. b. a ( i ) = P 0, k ( i , i )
        Figure DE102017111926A1_0117
        setzen
      3. c. Den Algorithmus (3) verwenden, um Sk: Sk := R1UD(Sk, a) zu modifizieren
      4. d. P0,k(i, i) = 0 setzen
    4. 4. Den Quadratwurzelalgorithmus zur Wiederherstellung des früheren Zustands anwenden, um die Matrix Sk+1 zu berechnen
  • Gemäß verschiedenen Ausführungsformen mit z. B. S T S = STS + aaT kann eine Aktualisierung des Rangs 1 z. B. basierend auf dem Algorithmus (4) implementiert werden, wie oben beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen wird ein schneller und numerisch stabiler Quadratwurzelalgorithmus für die Prozessaktualisierung bereitgestellt, wie oben beschrieben worden ist. In diesem Fall wird die Rechenkomplexität von der Ordnung n3 zur Ordnung n2 verringert, wenn die Anzahl der von null verschiedenen Elemente in dem Beobachtungsvektor C viel kleiner als die Anzahl der Zustände n ist. Ferner nehmen die Speicheranforderungen nicht signifikant zu, da nur n zusätzliche Werte gespeichert werden müssen.
  • Gemäß verschiedenen Ausführungsformen kann der schnelle und numerisch stabile Quadratwurzelalgorithmus für die Prozessaktualisierung in einer Komponente eines Steuersystems und/oder zum Überwachen diskreter Prozesse verwendet werden, wie oben beschrieben worden ist. Gemäß verschiedenen Ausführungsformen kann die Fehlerkovarianzmatrix in STS + P0 oder in eine ähnliche Summe zerlegt werden. Neues Prozessrauschen kann zu der Diagonalmatrix P0 hinzugefügt werden. Das Prozessrauschen wird von P0(i, i) (z. B. nur) zu STS übertragen, wenn ein Zustand x(i) in die entsprechende Metrologieaktualisierung einbezogen ist.
  • Gemäß verschiedenen Ausführungsformen können in einer ähnlichen Weise eine oder mehrere alternative Faktorisierungen verwendet werden, wie oben beschrieben worden ist. Anstelle der Gleichung (35) kann eine der folgenden alternativen Faktorisierungen verwendet werden, um die Algorithmen (9) und/oder (10) umzuformulieren: P = S S T + P 0 ,
    Figure DE102017111926A1_0118
    P = U T D U + P 0 ,
    Figure DE102017111926A1_0119
    P = U D U T + P 0 .
    Figure DE102017111926A1_0120
  • Gemäß verschiedenen Ausführungsformen kann die jeweilige Faktorisierungsmatrix S oder U für den Radizieralgorithmus eine (n, n)-Dreiecksmatrix sein, die eine Anzahl von n Zeilen und n Spalten aufweist, wobei n eine natürliche Zahl ist, wie oben veranschaulicht worden ist, siehe 6C. Gemäß verschiedenen Ausführungsformen kann die jeweilige Faktorisierungsmatrix, die für den Radizieralgorithmus verwendet wird, eine obere rechte Dreiecksmatrix, eine untere linke Dreiecksmatrix, eine untere rechte Dreiecksmatrix oder eine untere linke Dreiecksmatrix sein. Die Fehlerkovarianzmatrix P ist eine symmetrische (n, n)-Matrix.
  • Wenn die Fehlerkovarianzmatrix z. B. basierend auf P = ST S oder P = UT D U faktorisiert wird, wie oben beschrieben worden ist, ist die jeweilige Faktorisierungsmatrix S oder U (und deshalb außerdem die Fehlerkovarianzmatrix P) vom Rang R mit einer Anzahl von n Zeilen, wobei sie eine Anzahl von n minus R Zeilen, die exakt null sind, aufweist. Ferner ist in diesem Fall für jede der n Zeilen, die wenigstens ein von null verschiedenes Element enthält, das entsprechende Diagonalelement der jeweiligen Faktorisierungsmatrix S oder U nicht null. Wenn alternativ die Fehlerkovarianzmatrix z. B. basierend auf P = S ST oder P = U D UT faktorisiert wird, ist die jeweilige Faktorisierungsmatrix S oder U (und deshalb außerdem die Fehlerkovarianzmatrix P) vom Rang R mit einer Anzahl von n Spalten, wobei sie eine Anzahl von n minus R Spalten, die exakt null sind, aufweist. Ferner ist in diesem Fall für jede der n Spalten, die wenigstens ein von null verschiedenes Element enthält, das entsprechende Diagonalelement der jeweiligen Faktorisierungsmatrix S oder U nicht null. In beiden Fällen ist die jeweilige Faktorisierungsmatrix gemäß verschiedenen Ausführungsformen eine Dreiecksmatrix.
  • Gemäß verschiedenen Ausführungsformen erlauben die Zeilen, die exakt null sind, und/oder die Spalten, die exakt null sind, eine strukturelle Codierung einer Verringerung des Rangs. Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, entsprechend eine Spalte oder eine Nullzeile zu erzeugen, wenn der Rang der jeweiligen Faktorisierungsmatrix S oder U um eins verringert wird. Dies ermöglicht, dass der Algorithmus eine Nullzeile/-spalte leicht identifizieren kann und eine weitere Prozedur bezüglich der von null verschiedenen Zeilen starten kann. Dies kann ferner die Berechnungseinheit vergrößern. Ferner erlaubt dies, dass der Algorithmus eine Singularität leicht identifizieren und die Singularität während des Wiederherstellens des früheren Zustands berücksichtigen kann. Die Wiederherstellung des früheren Zustands wird z. B. formuliert, um die Eigenschaften der Matrizen zu bewahren, z. B. um die Codierung der Spalten/Zeilen, die exakt null sind, entsprechend zu bewahren.
  • Gemäß verschiedenen Ausführungsformen wird hier ein schneller und numerisch stabiler Quadratwurzelalgorithmus basierend auf einer blockdiagonalen Zustandsübergangsmatrix bereitgestellt, wie im Folgenden ausführlicher beschrieben wird. Es werden verschiedene Algorithmen für ein Kalman-basiertes Filter oder irgendein anderes ähnliches Filter basierend auf den Gleichungen (1), (1*), (2), (2*) bereitgestellt, wie oben beschrieben worden ist. Ausführlicher können die Zustandsinformationen des Prozesses (1), (2) durch zwei Sätze von Gleichungen, die vollständig unabhängig ausgeführt werden, geschätzt werden, siehe den Satz von Gleichungen (3), (4), wie oben beschrieben worden ist.
  • Ein schneller und stabiler Quadratwurzel-Aktualisierungsalgorithmus für ein Unendlichkeitsfilter ist oben für den Fall beschrieben worden, dass keine Zustandsübergangsmatrix, A, verwendet wird (z. B. für Ak+1 = I). Dies transformiert die Gleichungen (8a, 8b, 8c) in: x ^ k + 1 = A k + 1 x ^ k + B k + 1 ,
    Figure DE102017111926A1_0121
    S R , k + 1 T S R , k + 1 + P 0, k + 1 = A k + 1 ( S R , k T S R , k + P 0, k ) A k + 1 T + Q k + 1 Q k + 1 T ,
    Figure DE102017111926A1_0122
    S I , k + 1 T S I , k + 1 = A k + 1 S l , k T S l , k A k + 1 T .
    Figure DE102017111926A1_0123
  • Gemäß verschiedenen Ausführungsformen kann der Prozessaktualisierungsalgorithmus konfiguriert sein, die Zeilen, die exakt null sind, zu bewahren, wobei er sicherstellt, dass alle von null verschiedenen Zeilen von null verschiedene Diagonalelemente aufweisen, weil die oben beschriebene entsprechende Quadratwurzel-Wiederherstellung des früheren Zustands gleichzeitig anwendbar sein sollte. Gemäß verschiedenen Ausführungsformen ist die Rechenkomplexität der hier beschriebenen Algorithmen kleiner als proportional zu n3.
  • Es wurde erkannt, dass in praktischen Anwendungen der Datenverschmelzungsschaltung 108 nur eine kleine Anzahl von Zuständen durch die Zustandsübergangsmatrix bei der Anwendung z. B. der Gleichung (3) modifiziert werden kann. Ferner können ein oder mehrere Zustände außerdem die gleiche Unterübergangsmatrix gemeinsam benutzen. Es kann mehrere (aber nur einige) Unterübergangsmatrizen geben.
  • Gemäß verschiedenen Ausführungsformen kann die Prozessaktualisierung das Folgende enthalten: Erstens kann die Zustandsübergangsmatrix gemäß verschiedenen Ausführungsformen als eine Blockdiagonalmatrix 800 organisiert sein, wie z. B. in 8 veranschaulicht ist. Zweitens können nur die Nichteinheitsblöcke 802 der Blockdiagonalmatrix 800 z. B. in einer Speicherschaltung, die Teil der Prozesssteuerschaltung 100 sein kann oder an die Prozesssteuerschaltung 100 gekoppelt sein kann, gespeichert werden. In diesem Fall sind alle anderen Diagonalblöcke der Blockdiagonalmatrix 800 1 × 1-Einheitsmatrizen 804, die den Zustand nicht modifizieren. Drittens wird die Gesamtprozessaktualisierung nun als eine Folge von Unteraktualisierungen formuliert, wobei jede Unteraktualisierung einen der Nichteinheitsblöcke 802 verarbeitet. Viertens wird die Unteraktualisierung auf die Zeilen und/oder die Spalten, die der entsprechende Nichteinheitsblock 802 modifiziert, eingeschränkt, wann immer es möglich ist. Dies verringert die Rechenkomplexität signifikant, weil die Anzahl dieser Zeilen und/oder Spalten z. B. sehr klein sein kann.
  • Gemäß verschiedenen Ausführungsformen kann die Prozessaktualisierung in zwei Teile getrennt werden: erstens einen Zustandsübergang und zweitens eine Ergänzung von Prozessrauschen. Für den zweiten Teil, d. h., die Ergänzung von Prozessrauschen, kann das oben beschriebene Verfahren verwendet werden. Der erste Teil, d. h., der Zustandsübergang, kann basierend auf den folgenden Gleichungen umformuliert werden: S ¯ R T S ¯ R + P ¯ 0 = A ( S R T S R + P 0 ) A T
    Figure DE102017111926A1_0124
    S ¯ I T S ¯ I = A S I T S I A T
    Figure DE102017111926A1_0125
  • Durch das Konzentrieren auf eine einzige Unteraktualisierung kann die Gleichung (41) z. B. wie folgt als die Gleichung (43) formuliert werden: S ¯ T S ¯ + P ¯ 0 = [ 1 1 A * 1 1 ] A ( S T S + [ p 1 p i 1 P * T P * p j + 1 p n ] P 0 ) [ 1 1 A * T 1 1 ] A T
    Figure DE102017111926A1_0126
    Gemäß verschiedenen Ausführungsformen kann die Gleichung (43) in der gleichen Weise für das Aktualisieren von S k,R T S k,R + P 0,k,R oder S k,I T S k,I+ P 0,k,I verwendet werden.
  • Der entsprechende Nichteinheitsblock 802 ist durch A∗ bezeichnet, während P∗ der in Beziehung stehende Teil der Diagonalmatrix P0 ist. Er kann z. B. die folgende Struktur aufweisen: P * = [ p i p i + 1 p j ]
    Figure DE102017111926A1_0127
    Ferner kann das Ausmultiplizieren der Gleichung (43) z. B. zu der Gleichung (45) wie folgt führen, die die Grundlage für den Aktualisierungsalgorithmus sein kann, wie im Folgenden ausführlicher beschrieben wird: S ¯ T S ¯ + P ¯ 0 = A S T S A T + [ 0 0 A * P * T P * A * T 0 0 ] + [ p 1 p i 1 0 p j + 1 p n ] = : P ¯ 0
    Figure DE102017111926A1_0128
  • Verschiedene im Folgenden beschriebene Ausführungsformen sind auf Algorithmen für eine Prozessaktualisierung, die den Zustandsübergang enthält, bezogen.
  • Mit den folgenden Gleichungen: S ¯ R T S ¯ R + P ¯ 0 = A ( S R T S R + P 0 ) A T  und  S ¯ I T S ¯ I = A S I T S I A T
    Figure DE102017111926A1_0129
    kann der Algorithmus (11) wie folgt formuliert werden:
  • ALGORITHMUS 11:
    • Eingabe:
      • SR - obere (n, n)-Dreiecksmatrix
      • SI - obere (n, n)-Dreiecksmatrix
      • P0 - (n, n)-Diagonalmatrix
      • A - blockdiagonale (n, n)-Zustandsübergangsmatrix
    • Für alle (Nichteinheits-) Blockmatrizen A∗ von A das Folgende ausführen:
      • 1. Den Satz I der Zeilen-/Spaltenindizes, die der aktuellen Blockmatrix A∗ entsprechen, bestimmen. Den kleinsten Index in I mit i bezeichnen.
      • 2. Die Spalten I von SR und SI von rechts mit A * T
        Figure DE102017111926A1_0130
        multiplizieren. Dies zerstört die obere Dreiecksform von SR und SI. S R = ( 1 : n , I ) : = S R ( 1 : n , I ) A * T
        Figure DE102017111926A1_0131
        S I = ( 1 : n , I ) : = S I ( 1 : n , I ) A * T
        Figure DE102017111926A1_0132
      • 3. Die obere Dreiecksform der Zeilen I von A durch orthogonale Zeilentransformationen unter Verwendung des Algorithmus (12) wiederherstellen. Falls A∗ regulär ist, kann die Transformation nur auf die Zeilen I eingeschränkt werden. Andernfalls muss die Transformation auf die Zeilen i, i + 1, ..., n ausgedehnt werden. In beiden Fällen werden die Spalten 1, 2, ..., i - 1 unverändert gelassen.
        • Fall 1 (A* ist regulär): S R ( I , i : n ) : = MQR [ S R ( I , i : n ) ]
          Figure DE102017111926A1_0133
          S I ( I , i : n ) : = MQR [ S I ( I , i : n ) ]
          Figure DE102017111926A1_0134
        • Fall 2 (A* ist singulär): S R ( i : n , i : n ) : = MQR [ S R ( i : n , i : n ) ]
          Figure DE102017111926A1_0135
          S I ( i : n , i : n ) : = MQR [ S I ( i : n , i : n ) ]
          Figure DE102017111926A1_0136
      • 4. Alle Indizes in I mit P0(i, i) ≠ 0 finden
      • 5. Für alle im Schritt 4 gefundenen Indizes i das Folgende ausführen:
        • a. Initialisieren: aR = aI = (0 0 ... 0)T
        • b. a R ( I ) = a * i P 0 ( i , i ) ;   a I ( I ) = a * i
          Figure DE102017111926A1_0137
          setzen wobei a * i
          Figure DE102017111926A1_0138
          die i-te Spalte von A∗ bezeichnet
        • c. Den Algorithmus (3) verwenden, um SR und SI zu modifizieren: S R : = R 1 UD ( S R , a R )
          Figure DE102017111926A1_0139
          S I : = R 1 UD ( S I , a I )
          Figure DE102017111926A1_0140
        • d. P0(i, i) = 0 setzen
  • Gemäß verschiedenen Ausführungsformen wird die (m, n)-Eingangsmatrix S in eine obere Dreiecksmatrix S transformiert. Ferner werden alle Zeilen, die exakt null sind, der Eingangsmatrix S während der Aktualisierung bewahrt, wobei alle von null verschiedenen Zeilen der Eingangsmatrix S von null verschiedene Diagonalelemente aufweisen können. Deshalb kann gemäß verschiedenen Ausführungsformen der Algorithmus (12) (der außerdem als MQR bezeichnet wird) eine modifizierte Q, R-Zerlegung wie folgt enthalten:
  • ALGORITHMUS 12:
    1. 1. Eingabe: S - (m, n)-Matrix
    2. 2. Die Zeilen von S, die exakt null sind, detektieren und entfernen
    3. 3. Orthogonale Zeilentransformationen (z. B. eine QR-Zerlegung, Givens-Rotationen usw.) verwenden, um S in eine obere Dreiecksmatrix M zu transformieren.
    4. 4. Die (m, n)-Ergebnismatrix S mit Nullen initialisieren
    5. 5. Für alle Zeilen r von M die folgenden Schritte ausführen:
      1. a. Das erste von null verschiedene Element von links finden und den Index des Elements mit k bezeichnen
      2. b. Falls die Zeile k exakt null ist, die Schritte c-e überspringen. Andernfalls die Zeile r von M in die Zeile k von S kopieren.
      3. c. Falls die Zeile k von S belegt ist, orthogonale Zeilentransformationen (z. B. Givens-Rotationen) auf die Zeile r von M und die Zeile k von S anwenden, um das Element M(r, k) zu eliminieren.
      4. d. Alle Elemente der Zeile r von M auf null setzen, falls |M(r,i)| < ε gilt, wobei der Schwellenwert ε z. B. die maximale Norm von M sein könnte.
      5. e. Die Schritte a-e wiederholen.
  • In diesem Fall kann der Algorithmus (4) für die Aktualisierung des Rangs 1 verwendet werden, wie oben beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen ist die Gesamtrechenkomplexität der Algorithmen (4), (11) und (12) beträchtlich kleiner als jeweils die Ordnung n3, weil die Algorithmen (normalerweise) (anstelle der gesamten n Zeilen und/oder Spalten) nur die wenigen Zeilen und/oder Spalten verwenden, die dem aktuellen Nichteinheitsblock 802 entsprechen. Ferner bewahrt der Algorithmus die Zeilen, die exakt null sind, in den Quadratwurzel-Fehlerkovarianzmatrizen. Er stellt außerdem sicher, dass die von null verschiedenen Zeilen in den Quadratwurzel-Fehlerkovarianzmatrizen von null verschiedene Diagonalelemente aufweisen.
  • Gemäß verschiedenen Ausführungsformen kann die Zustandsübergangsmatrix, A, als eine Blockdiagonalmatrix 800 organisiert sein, wie oben beschrieben worden ist. Es kann ein Aktualisierungsalgorithmus verwendet werden, wie oben beschrieben worden ist, der (wann immer es möglich ist) nur die Zeilen und/oder die Spalten des Nichteinheitsblocks 802 bearbeitet.
  • Im Folgenden wird ein Algorithmus zur schnellen Berechnung des exakten Gradienten der logarithmischen Wahrscheinlichkeitsfunktion für ein Kalman-basiertes Filter oder irgendein anderes ähnliches Filter basierend auf z. B. den Gleichungen (1), (1*), (2), (2*) bereitgestellt, wie oben beschrieben worden ist. Wie bereits beschrieben worden ist, können die Zustandsinformationen des Prozesses (1), (2) durch zwei Sätze von Gleichungen (z. B. die Gleichungen (3) und (4) oder die Gleichungen (8a) bis (12d)) geschätzt werden, die vollständig unabhängig voneinander ausgeführt werden.
  • Gemäß verschiedenen Ausführungsformen kann der unbekannte Zustand xk mit einem auf einem Kalman-Filter basierenden Algorithmus geschätzt werden. Der jeweilige auf einem Kalman-Filter basierende Algorithmus kann in der Datenverschmelzungsschaltung 108 der Prozesssteuerschaltung 100 implementiert sein. Die Zustandsinformationen und die Fehlerinformationen (die z. B. basierend auf der Fehlerkovarianzmatrix bereitgestellt werden) des Filters können die Ansammlung und die Verschlechterung der Prozessinformationen (die Abnahme und die Zunahme des Schätzfehlers) präzise widerspiegeln, solange wie die Prozessmodellparameter Qk, Rk, Bk, Dk, Ck, Ak zu dem Prozess des wirklichen Lebens passen.
  • Um den Initialisierungsproblemen und der Modellmehrdeutigkeit gewachsen zu sein, wie oben beschrieben worden ist, kann es vorteilhaft sein, die Fehlerkovarianzmatrix des Filters in einen endlichen und einen unendlichen Teil zu zerlegen. Nach jedem Prozess- oder Wartungsschritt kann eine Prozessaktualisierung ausgeführt werden. Unter Verwendung dieses Verfahrens werden der geschätzte Zustand x̂k und die zerlegten Kovarianzmatrizen PR,k und PI,k basierend auf den Gleichungen (8a), (8b) und (8c) aktualisiert, wie oben beschrieben worden ist. Ferner können die Metrologiedaten durch die Metrologieaktualisierung basierend auf den Gleichungen (9) bis (12d) zu dem Zustand hinzugefügt werden, wie oben beschrieben worden ist. Die Bestimmung der Prozessmodellparameter Qk, Rk, Bk, Dk kann jedoch ein praktischer Hauptaspekt beim Anwenden Kalman-basierter Filter auf echte Produktionsprozesse sein.
  • Im Allgemeinen können die Produktionsdaten in praktischen Situationen eine verfügbare Informationsquelle sein. Ein leistungsfähiges datengesteuertes Verfahren, um die Kalman-Filter-Parameter abzustimmen, kann die Schätzung der maximalen Wahrscheinlichkeit sein. Die Wahrscheinlichkeit ist die Wahrscheinlichkeit, dass irgendein gegebener Datensatz zu dem Motel und seinen Parametern passt. Ungleich zu vielen anderen Fällen kann die Berechnung des (logarithmierten) Wahrscheinlichkeitswerts für auf Kalman-Filtern basierende Modelle verwendet werden, wie hier beschrieben wird. Gemäß verschiedenen Ausführungsformen kann die Schätzung der maximalen Wahrscheinlichkeit auf den folgenden Gleichungen basieren: L = const + k = 1 N L k mit L k = { l k falls F I , k = 0 0 sonst
    Figure DE102017111926A1_0141
    l k = 1 2 ( In ( F R , k ) + ( y k C k x ^ k 1 D k ) 2 F R , k )
    Figure DE102017111926A1_0142
    F R , k = C k P R , k 1 C k T + R k 2
    Figure DE102017111926A1_0143
    F I , k + 1 : = C k + 1 P I , k C k + 1 T
    Figure DE102017111926A1_0144
  • Das Ziel der Schätzung der maximalen Wahrscheinlichkeit kann sein, den logarithmischen Wahrscheinlichkeitswert L zu maximieren. Weil die Abhängigkeit zwischen der logarithmischen Wahrscheinlichkeit und den Prozessmodellparametern nichtlinear ist, ist dies nur durch eine numerische Optimierung möglich. Über eine numerische Optimierung können die Prozessmodellparameter in der Richtung des steilsten Anstiegs der logarithmischen Wahrscheinlichkeit iterativ modifiziert werden. Um die Richtung 900d des steilsten Anstiegs zu identifizieren, können gemäß verschiedenen Ausführungsformen die partiellen Ableitungen erster Ordnung der logarithmischen Wahrscheinlichkeit 900y (der Gradientenvektor, der Bewertungsvektor) für wenigstens einen Modellparameter 900x berechnet werden, wie z. B. in 9 veranschaulicht ist.
  • Es können mehrere Verfahren verwendet werden, um den Gradientenvektor des logarithmischen Wahrscheinlichkeitswerts L zu berechnen, wie z. B. endliche Differenzen, implizite endliche Differenzen und der Algorithmus der exakten Bewertung (ES-Algorithmus), wie im Folgenden veranschaulicht wird.
  • Um den Gradientenvektor des logarithmischen Wahrscheinlichkeitswerts L basierend auf endlichen Differenzen zu berechnen, kann gemäß verschiedenen Ausführungsformen die exakte partielle Ableitung von L bezüglich des i-ten Abstimmparameters durch einen Differenzquotienten gemäß dem folgenden Satz von Gleichungen (50) approximiert werden: L p i | p = p * f [ Δ , L ( p i * ) , L ( p i * + Δ ) , L ( p i * + 2 Δ ) , , L ( p i * Δ ) , L ( p i * 2 Δ ) , ]
    Figure DE102017111926A1_0145
    z.B. L p i | p = p * L ( p i * + Δ ) L ( p i * Δ ) Δ .
    Figure DE102017111926A1_0146
  • Um den vollen Gradientenvektor für alle p Prozessmodellparameter zu bestimmen, muss der logarithmische Wahrscheinlichkeitswert L für wenigstens p + 1 etwas modifizierte Sätze von Prozessmodellparametern berechnet werden. Die Berechnung eines einzigen logarithmischen Wahrscheinlichkeitswerts L, z. B. über die Gleichungen (46)-(49), erfordert es, die Kalman-Filter-Gleichungen (8a)-(12d) über den gesamten Datensatz (k = 1, 2, ..., N) zu iterieren. Dies bedeutet, dass die Berechnung eines p-dimensionalen Gradientenvektors wenigstens p + 1 volle Vorwärtsiterationen des Kalman-Filters erfordert. Die Prozedur kann für jeden Optimierungsschritt wiederholt werden.
  • Es können numerische Optimierungsalgorithmen verwendet werden, um die endlichen Differenzen der optimierten Funktion (z. B. über den Algorithmus der konjugierten Gradienten) implizit zu berechnen. Dies kann effizienter als das explizite Berechnen des vollen Gradienten für jeden Optimierungsschritt sein. Der Aufwand kann jedoch immer noch riesengroß sein.
  • Gemäß verschiedenen Ausführungsformen kann ein Algorithmus zum Berechnen des vollen Gradientenvektors der Wahrscheinlichkeitsfunktion mit einer einzigen Vorwärts- und Rückwärtsiteration des Kalman-Filters verwendet werden. Dieser Algorithmus kann z. B. für die Abstimmprozessmodellparameter, z. B. der Rauschskalierungsmatrizen Qk und Rk, gemäß einem Satz von Gleichungen (50a) wie folgt anwendbar sein: L p i | p = p * = k = 1 N L k p i  mit  L k p i = { l k p i falls F I , k = 0 0 sonst }
    Figure DE102017111926A1_0147
    l k p i = 1 2 tr [ ( r k 1 r k 1 T N k 1 ) Q ¯ k p i + ( e k e k T E k ) R ¯ k p i ]
    Figure DE102017111926A1_0148
    Q ¯ k = Q k Q k T ; R ¯ k = R k 2
    Figure DE102017111926A1_0149
  • Gemäß verschiedenen Ausführungsformen können die entsprechenden Vektoren rk, ek und Matrizen Nk, Ek mit dem Algorithmus (13) wie folgt berechnet werden:
  • ALGORITHMUS 13:
    • 1. x̂k für k = 1, 2, ..., N unter Verwendung der Gleichungen (8a)-(12d) berechnen. υk := yk - Ckk-1 - Dk, FR,k, FI,k und Kk für jedes k speichern.
    • 2. Initialisierung: rN = 0; NN = 0
    • 3. für k = N, N - 1, ..., 1 e k = K k T A k + 1 T r k + F k 1 υ k ,
      Figure DE102017111926A1_0150
      E k = K k T A k + 1 T N k A k + 1 K k + F k 1 ,
      Figure DE102017111926A1_0151
      r k 1 = A k + 1 T r k + C k T e k ,
      Figure DE102017111926A1_0152
      N k 1 = ( I C k T K k T ) A k + 1 T N k A k + 1 ( I C k K k ) + C k T F k 1 C k
      Figure DE102017111926A1_0153
      mit F k 1 : = { F R , k 1 falls  F l , k = 0 0 sonst
      Figure DE102017111926A1_0154
      Ende
  • Veranschaulichend repräsentiert der Algorithmus (13) den Rückwärtsiterationsteil des ES-Algorithmus. Der Algorithmus zur exakten Bewertung ist nicht anwendbar, wenn die Messdaten für wenigstens einen Zeitpunkt k nicht verfügbar sind, wenn irgendeine der Matrizen Qk und Rk singulär ist (was eine sehr häufige Situation in Durchlauf-zu-Durchlauf-Anwendungen sein kann) und/oder für die Abstimmmodellparameter, z. B. für Bk und Dk.
  • Gemäß verschiedenen Ausführungsformen wird hier ein modifizierter Algorithmus (13) bereitgestellt, um die Einschränkung des herkömmlichen Algorithmus zu überwinden, wobei der hier bereitgestellte modifizierte Algorithmus z. B. fehlenden Messwerten gewachsen ist. Gemäß verschiedenen Ausführungsformen kann der folgende Algorithmus (14) verwendet werden, um den Gradientenvektor des logarithmischen Wahrscheinlichkeitswerts L zu berechnen:
  • ALGORITHMUS 14:
  • Figure DE102017111926A1_0155
    Figure DE102017111926A1_0156
  • Ferner kann die Gradientenberechnung gemäß dem Satz von Gleichungen (50a) gemäß verschiedenen Ausführungsformen auf singuläre Abstimmmatrizen Qk und Rk verallgemeinert werden. Deshalb kann der folgende Algorithmus (15) z. B. basierend auf einem modifizierten Satz von Gleichungen (51) verwendet werden.
  • ALGORITHMUS 15:
  • L p i | p = p * = k = 1 N L k p i  mit  L k p i = { l k p i falls  F l , k = 0 0 sonst
    Figure DE102017111926A1_0157
    l k p i = 1 2 tr [ Q ¯ k + Q ¯ k p i + Q ¯ k + p i Ω Q , k ] 1 2 tr [ R ¯ k + R ¯ k p i + R ¯ k + p i Ω R , k ]
    Figure DE102017111926A1_0158
    Ω Q , k = Q ¯ k ( r k 1 r r 1 T N k 1 ) Q ¯ k + Q ¯ k
    Figure DE102017111926A1_0159
    Ω R , k = R ¯ k ( e k e k T E k ) R ¯ k + R ¯ k
    Figure DE102017111926A1_0160
    Q ¯ k = Q k Q k T ;   R ¯ k = R ¯ k 2
    Figure DE102017111926A1_0161
  • Gemäß verschiedenen Ausführungsformen können die entsprechenden Vektoren rk, ek und Matrizen Nk, Ek mit dem Algorithmus (14) berechnet werden, wie oben beschrieben worden ist. Q ¯ k +  und  R ¯ k +
    Figure DE102017111926A1_0162
    bezeichnen das Moore-Penrose-Pseudoinverse von Q k bzw. R k. Bei der Durchlauf-zu-Durchlauf-Steuerung sind die Abstimmmatrizen (z. B. die Matrizen Q und R) oft einfache Diagonalmatrizen und können z. B. in der folgenden Form geschrieben werden: Q k = [ i = 1 p i 2 w Q ,1, i , k 2 0 0 0 0 i = 1 p i 2 w Q ,2, i , k 2 0 0 0 0 0 0 0 0 i = 1 p i 2 w Q , n , i , k 2 ]
    Figure DE102017111926A1_0163
    R k = [ i = 1 p i 2 w R ,1, i , k 2 0 0 0 0 i = 1 p i 2 w R ,2, i , k 2 0 0 0 0 0 0 0 0 i = 1 p i 2 w R , m , i , k 2 ]
    Figure DE102017111926A1_0164
  • In diesem Fall bezeichnet pi den i-ten Abstimmparameter. Die Gewichtungsfaktoren wQ,r,i,k und wR,r,i,k können die Auswirkung von pi auf die r-te Zeile/Spalte von Qk bzw. Rk steuern. Die Gradientenberechnung kann durch das Ausnutzen der speziellen Struktur der Matrizen gemäß den Gleichungen (52), (53) drastisch vereinfacht werden. Das Ergebnis ist z. B. in dem auf der Gleichung (54) basierenden Algorithmus (16) wie folgt:
  • ALGORITHMUS 16:
  • L p i | p = p * = k = 1 N j = 1 n [ ( r j , k 1 2 N j j , k 1 ) p i * w Q , j , i , k 2 ] + k = 1 N j = 1 m [ ( e j , k 2 E j j , k ) p i * w R , j , i , k 2 ]
    Figure DE102017111926A1_0165
    In diesem Fall bezeichnen rj,k und ej,k den j-ten Elementvektor der Vektoren rk bzw. ek. Njj,k und Ejj,k sind das (j, j)-Element (das j-te Hauptdiagonalelement) der Matrizen Nk und Ek. Ferner können die entsprechenden Vektoren rk, ek und Matrizen Nk, Ek mit dem Algorithmus (14) berechnet werden, wie oben beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen kann die Berechnung der exakten Gradienten für die Prozessmodellparameter, z. B. Bk und Dk, zur Berechnung der ersten partiellen Ableitung von lk in der Gleichung (46) äquivalent sein. Gemäß verschiedenen Ausführungsformen kann die folgende Gleichung (55) verwendet werden: l k d p i = υ k F R , k [ C k A k x ^ k 1 p i + C k B k p i + B D k p i ]
    Figure DE102017111926A1_0166
  • Der unbekannte Empfindlichkeitsvektor x ^ k 1 p i = : z k 1
    Figure DE102017111926A1_0167
    kann rekursiv berechnet werden. Das Ergebnis ist z. B. in dem Algorithmus (17) wie folgt veranschaulicht:
  • ALGORITHMUS 17:
  • Figure DE102017111926A1_0168
  • Gemäß verschiedenen Ausführungsformen kann die Anwendung der Algorithmen (14) bis (17), wie z. B. oben beschrieben worden ist, nicht auf ein Filter basierend auf den Gleichungen (8a)-(12d) eingeschränkt sein. Die Algorithmen können außerdem auf das nicht modifizierte Kalman-Filter angewendet werden, wie z. B. oben beschrieben worden ist. Das nicht modifizierte Kalman-Filter kann als ein Spezialfall des Unendlichkeitsfilters (das außerdem als ein verallgemeinertes Kalman-Filter bezeichnet wird) betrachtet werden, wobei der unendliche Teil der Fehlerkovarianzmatrix P null ist (PI = 0 und FI = 0). Der logarithmische Wahrscheinlichkeitswert des Standard-Kalman-Filters kann durch die Gleichungen (46)-(49) mit FI = 0 und PR = P gegeben sein. Folglich können gemäß verschiedenen Ausführungsformen die Algorithmen (14), (15), (16) und (17) auf das Standard-Kaiman-Filter angewendet werden, indem FI auf null gesetzt wird.
  • Gemäß verschiedenen Ausführungsformen kann der exakte Gradientenvektor außerdem im Fall fehlender Messwerte, im Fall singulärer Rauschmatrizen Qk und Rk und für die Abstimmmatrizen Bk und Dk (z. B. für singuläre oder reguläre Abstimmmatrizen) durch die Algorithmen (14), (15), (16) und (17) berechnet werden. Ferner erlauben die hier bereitgestellten Algorithmen das Berechnen der exakten Gradienten der logarithmischen Wahrscheinlichkeitsfunktion im Fall fehlender Messwerte oder singulärer oder regulärer Abstimmmatrizen Qk, Rk, Bk und Dk.
  • Im Folgenden wird ein schneller und stabiler Quadratwurzelalgorithmus zur Berechnung des exakten Gradienten der logarithmischen Wahrscheinlichkeitsfunktion für ein Kalman-basiertes Filter oder irgendein anderes ähnliches Filter basierend z. B. auf den Gleichungen (1), (1*), (2), (2*) bereitgestellt, wie oben beschrieben worden ist. Wie bereits beschrieben worden ist, kann gemäß verschiedenen Ausführungsformen der Zustand des Prozesses (1), (2) durch zwei Sätze von Gleichungen (z. B. die Gleichungen (3) und (4) oder die Gleichungen (8a) bis (12d)), die vollständig voneinander unabhängig ausgeführt werden, geschätzt werden.
  • Gemäß verschiedenen Ausführungsformen kann der unbekannte Zustand xk mit einem auf einem Kalman-Filter basierenden Algorithmus, der über die Datenverschmelzungsschaltung 108 der Prozesssteuerschaltung 100 implementiert ist, geschätzt werden. Der Filterzustand und die Fehlerkovarianzmatrix können die Ansammlung und die Verschlechterung der Prozessinformationen (die Abnahme und die Zunahme des Schätzfehlers) so lange präzise widerspiegeln, wie die Prozessmodellparameter Qk, Rk, Bk, Dk, Ck, Ak zu dem Prozess im wirklichen Leben passen. Die Bestimmung der Prozessmodellparameter Qk, Rk, Bk, Dk kann jedoch ein praktischer Hauptaspekt beim Anwenden von Kalman-Filtern auf echte Produktionsprozesse sein.
  • Wie oben beschrieben worden ist, können historische Produktionsdaten in praktischen Situationen eine geeignete und verfügbare Informationsquelle sein. Verschiedene Algorithmen zur Verwendung eines datengesteuerten Verfahrens, um die Kalman-Filter-Parameter basierend auf der Schätzung der maximalen Wahrscheinlichkeit abzustimmen, sind bereits oben beschrieben worden. Gemäß verschiedenen Ausführungsformen kann die Schätzung der maximalen Wahrscheinlichkeit auf den oben beschriebenen Gleichungen basieren, vgl. die Gleichungen (46) bis (49). In diesem Fall sind PR,k und PI,k der endliche bzw. der unendliche Teil der Fehlerkovarianzmatrix P des Kalman-Filters für den Zeitindex k. Das Ziel der Schätzung der maximalen Wahrscheinlichkeit kann sein, den logarithmischen Wahrscheinlichkeitswert L zu maximieren, wie oben beschrieben worden ist. Um die Richtung 900d des steilsten Anstiegs zu identifizieren, können die partiellen Ableitungen erster Ordnung der logarithmischen Wahrscheinlichkeit 900y (der Gradientenvektor, der Bewertungsvektor) für einen Modellparameter 900x berechnet werden, wie z. B. in 9 veranschaulicht ist.
  • Ein Verfahren, um den exakten Gradientenvektor zu berechnen, das für reguläre Abstimmmatrizen Qk, Rk funktioniert, kann das Lösen einer rekursiven Matrixgleichung der folgenden Form erfordern:
    • Fall 1: |FI,k+1| = 0 (in der Praxis ≤ LNUM) N k 1 = ( I C k T K k T ) A k + 1 T N k A k + 1 ( I K k C k ) + C k T C k 1 F R , k
      Figure DE102017111926A1_0169
    • Fall 2: |FI,k+1| > 0 (in der Praxis > LNUM) N k 1 = A k + 1 T N k A k + 1
      Figure DE102017111926A1_0170
  • Wie bereits oben beschrieben worden ist, kann das Verfahren modifiziert (verallgemeinert) werden, um singuläre Abstimmmatrizen Qk, Rk, Bk, Dk zu behandeln. Es ist bekannt, dass das numerische Lösen von Gleichungen wie die Gleichung (60) eine heikle Aufgabe sein kann. Insbesondere kann die Multiplikation mit (I - KC) und ihrer Transponierten („die Wiederherstellung des früheren Zustands“) fehleranfällig sein. Das Problem wird durch die Tatsache verschärft, dass ein typisches Durchlauf-zu-Durchlauf-Kalman-Modell aus mehreren hundert Zuständen bestehen kann. Gemäß verschiedenen Ausführungsformen wird die numerische Stabilität der Gleichungen (60), (61) signifikant verbessert, um den exakten Gradientenvektor für ein derartiges Modell effizienter (z. B. genauer oder zuverlässiger) zu berechnen, wie im Folgenden ausführlicher beschrieben wird.
  • Gemäß verschiedenen Ausführungsformen kann ein Quadratwurzelanalogon dieser Gleichungen verwendet werden, um die numerische Stabilität zum Lösen der Gleichungen (60), (61) zu verbessern. Deshalb wird die Matrix Nk durch die folgende Faktorisierung oder eine ähnliche Faktorisierung ersetzt: N k = : S k T S k .
    Figure DE102017111926A1_0171
  • In diesem Fall wird anstelle der Matrix Nk die Quadratwurzelmatrix Sk direkt ausgebreitet. Diese Strategie kann außerdem auf die Kalman-Filterung angewendet werden, wie oben beschrieben worden ist. Die Konditionszahl der Quadratwurzelmatrix Sk (wobei die Sk die Cholesky-Faktoren für den Zeitindex k sind) ist viel besser als die Konditionszahl der ursprünglichen Matrix Nk. Das Einsetzen der Gleichung (9) in die Gleichungen (7), (8) und das Weglassen der tiefgestellten Indizes k und k + 1 für die Einfachheit führt z. B. zu:
    • Fall 1: |FI| = 0 (in der Praxis ≤ LNUM) S ¯ T S ¯ = ( I C T K T ) A T S T S A ( I K C ) + C T C 1 F R
      Figure DE102017111926A1_0172
    • Fall 2: |FI| > 0 (in der Praxis > LNUM) S ¯ T S ¯ = A T S T S A
      Figure DE102017111926A1_0173
  • In diesem Fall sind die Eingangsmatrix S und die Ausgangsmatrix S Dreiecksmatrizen. Der folgende Algorithmus (18) veranschaulicht die Quadratwurzelprozedur für die Gleichungen (63), (64), wobei der Algorithmus (4) die durch den Algorithmus (18) verwendete Helferprozedur ist.
  • ALGORITHMUS 18:
    • Eingabe:
      • S - obere (n, n)-Dreiecksmatix
      • S - obere (n, n)-Dreiecksmatix
      • A - blockdiagonale (n, n)-Zustandsübergangsmatrix
      • C - (1, n)-Beobachtungsvektor
      • K - (n, 1)-Kalman-Verstärkungsvektor
      • FR - endlicher Teil der Varianz der Erneuerung
      • FI - unendlicher Teil der Varianz der Erneuerung
    • 1. Für alle (Nichteinheits-) Blockmatrizen A∗ von A das Folgende ausführen:
      1. a. Den Satz I der Zeilen-/Spaltenindizes, die der aktuellen Blockmatrix A∗ entsprechen, bestimmen. Den kleinsten Index in I mit i bezeichnen.
      2. b. Die Spalten I von SR und SI von rechts mit A∗ multiplizieren. Dies zerstört die obere Dreiecksform von S. S ( 1 : n , l ) : = S ( 1 : n , l ) A *
        Figure DE102017111926A1_0174
      3. c. Die obere Dreiecksform der Zeilen I von A durch orthogonale Zeilentransformationen unter Verwendung (z. B. der QR-Zerlegung, Givens-Rotationen usw.) wiederherstellen.
      Die Transformation kann nur auf die Zeilen I eingeschränkt sein. Die Spalten 1, 2, ..., i - 1 werden unverändert gelassen. S ( I : i , n ) : = Q S [ S ( I : i , n ) ]
      Figure DE102017111926A1_0175
    • 2. Die Schritte 3-7 überspringen, falls |FI| > 0 (Fall 2)
    • 3. Die Matrix S·K·C von der Matrix S subtrahieren. Dies zerstört die obere Dreiecksform von S für alle Spalten, was den von null verschiedenen Elementen des Vektors C entspricht. S : = S ( I K C ) = S S K C
      Figure DE102017111926A1_0176
    • 4. Die Spalte ganz links der nC gestörten Spalten von S auswählen. Das untere Element verwenden, um alle anderen Spaltenelemente unter der Hauptdiagonalen mit orthogonalen Zeilentransformationen (z. B. Givens-Rotationen) zu eliminieren. Dies bevölkert die unter Zeile von S.
    • 5. Die entsprechenden Hauptdiagonalelemente verwenden, um den Artefakt in der unteren Zeile mit orthogonalen Zeilentransformationen zu eliminieren. Das Ergebnis ist eine obere Dreiecksmatrix mit nC - 1 gestörten Spalten.
    • 6. Die Schritte 4 und 5 wiederholen, bis alle gestörten Spalten eliminiert sind.
    • 7. Den Algorithmus (4) verwenden, um CT C·F-1 zu S zu addieren:
    S ¯ = R1UD ( S , a = C T F )
    Figure DE102017111926A1_0177
  • Wie z. B. in 10 veranschaulicht ist, zerstört das Subtrahieren der Matrix S·K·C (siehe das Bezugszeichen 1002) von der Matrix S (siehe das Bezugszeichen 1004) die obere Dreiecksform 1000t der Matrix S für alle Spalten 1000c (siehe das Bezugszeichen 1010), was den von null verschiedenen Elementen des Vektors C entspricht.
  • Gemäß verschiedenen Ausführungsformen kann der Algorithmus (4) für eine Aktualisierung des Rangs 1 verwendet werden, wie oben beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen können ähnlich zu den oben beschriebenen Algorithmen der Algorithmus (18) und der Algorithmus (4) sowohl auf das modifizierte Kalman-Filter (das außerdem als ein Unendlichkeitsfilter bezeichnet wird) als auch auf das nicht modifizierte Kalman-Filter oder irgendein anderes ähnliches Filter angewendet werden. Weil das Kalman-Filter ein Spezialfall eines Unendlichkeitsfilters sein kann, können der Algorithmus (18) und der Algorithmus (4) auf das Kalman-Filter angewendet werden, indem der unendliche Teil der Fehlerkovarianzmatrix P auf null gesetzt wird (PI = 0 und FI = 0).
  • Gemäß verschiedenen Ausführungsformen kann der schnelle und numerisch stabile Quadratwurzelalgorithmus zum Ausbreiten der Gleichungen (60), (61), wie hier beschrieben worden ist, in einer Komponente eines Steuersystems und/oder zum Überwachen diskreter Prozesse verwendet werden, wie oben beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen wird für die rekursiven Matrixgleichungen (60), (61) ein schneller und numerisch stabiler Quadratwurzelalgorithmus bereitgestellt.
  • Im Folgenden wird ein Algorithmus zur Validierung von Prozessmodellen, die auf echte Daten abgestimmt sind, für ein Kalman-basiertes Filter oder irgendein anderes ähnliches Filter basierend z. B. auf den Gleichungen (1), (1*), (2), (2*) bereitgestellt, wie oben beschrieben worden ist. Wie bereits beschrieben worden ist, kann gemäß verschiedenen Ausführungsformen der Zustand des Prozesses (1), (2) durch zwei Sätze von Gleichungen (z. B. die Gleichungen (3) und (4) oder die Gleichungen (8a) bis (12d)) geschätzt werden, die vollständig unabhängig voneinander ausgeführt werden.
  • Der unbekannte Zustand xk kann mit einem auf einem Kalman-Filter basierenden Algorithmus geschätzt werden, der über die Datenverschmelzungsschaltung 108 der Prozesssteuerschaltung 100 implementiert ist. Der Filterzustand und die Fehlerkovarianzmatrix können die Ansammlung und die Verschlechterung der Prozessinformationen (die Abnahme und die Zunahme des Schätzfehlers) so lange präzise widerspiegeln, wie die Prozessmodellparameter Qk, Rk, Bk, Dk, Ck, Ak zu dem Prozess im wirklichen Leben passen. Die Bestimmung der Prozessmodellparameter Qk, Rk, Bk, Dk kann jedoch ein praktischer Hauptaspekt beim Anwenden von Kalman-Filtern auf echte Produktionsprozesse sein.
  • Wie oben beschrieben worden ist, können im Allgemeinen historische Produktionsdaten in praktischen Situationen eine verfügbare Informationsquelle sein. Oben sind bereits verschiedene Algorithmen zum Verwenden eines datengesteuerten Verfahrens, um die Kalman-Filter-Parameter basierend auf der Schätzung der maximalen Wahrscheinlichkeit abzustimmen, beschrieben worden. Gemäß verschiedenen Ausführungsformen kann die Schätzung der maximalen Wahrscheinlichkeit auf den Gleichungen (46)-(49) basieren, wie oben beschrieben worden ist.
  • Wie z. B. in 11 veranschaulicht ist (vgl. 9), modifiziert die numerische Optimierung die Abstimmparameter, p, iterativ in der Richtung des steilsten Anstiegs der logarithmischen Wahrscheinlichkeit, wie bereits beschrieben worden ist. Die Optimierung stoppt jedoch, falls der Gradient (z. B. etwa) null ist, siehe das Bezugszeichen 1100z.
  • Deshalb gibt es keine Garantie, dass ein Optimierungsalgorithmus gegen ein globales Maximum 1100g konvergiert, weil die Optimierung außerdem bei einem lokalen Maximum 1100m stoppen kann. Ferner kann in praktischen Anwendungen nicht sichergestellt werden, dass die gewählte Modellstruktur zu den tatsächlichen Daten passt. Beide Aspekte können zu einer Fehlanpassung zwischen dem Prozessmodell und der Realität führen, was während der Fertigung einen Ausbeuteverlust und/oder Ausschuss verursachen kann. Deshalb werden gemäß verschiedenen Ausführungsformen verschiedene Algorithmen bereitgestellt, um eine Fehlanpassung des Modells zuverlässig zu detektieren.
  • Basierend auf dem Durchschnitt der quadrierten normierten Erneuerungen oder in einer ähnlichen Weise basierend auf irgendeinem geeigneten Durchschnittswert unter Berücksichtigung mehrerer symmetrisierter normierter Vorhersagefehler kann gemäß verschiedenen Ausführungsformen eine Fehlanpassung des Modells detektiert oder das Prozessmodell validiert werden. Die Gesamtwahrscheinlichkeit L z. B. in der Gleichung (46) ist die Summe aus N einzelnen Unterwahrscheinlichkeiten lk. Jede Unterwahrscheinlichkeit kann z. B. wie folgt formuliert werden: l k = 1 2 ( ln ( F R , k ) + ( y k C k x ^ k 1 D k ) 2 F R , k ) = 1 2 ( ln ( F R , k ) + υ k 2 F R , k )
    Figure DE102017111926A1_0178
    In diesem Fall entspricht k = 1,2, ..., N einem speziellen Zeitpunkt k. Der Optimierungsalgorithmus kann konfiguriert sein, alle Unterwahrscheinlichkeiten gleichzeitig zu maximieren, um die Gesamtwahrscheinlichkeit L zu maximieren. 12 veranschaulicht die lk (siehe das Bezugszeichen 1200y) gegen das Verhältnis F R , k / υ k 2
    Figure DE102017111926A1_0179
    (siehe das Bezugszeichen 1200x) für einige feste Erneuerungen υk. In dem Fall, in dem das Verhältnis F R , k / υ k 2
    Figure DE102017111926A1_0180
    kleiner als 1,0 ist, ist der Wert FR,k unterschätzt (siehe das Bezugszeichen 1200u), während in dem Fall, in dem das Verhältnis F R , k / υ k 2
    Figure DE102017111926A1_0181
    größer als 1,0 ist, der Wert FR,k überschätzt ist (siehe das Bezugszeichen 1200o).
  • Das Maximum 1200m tritt für F R , k = υ k 2
    Figure DE102017111926A1_0182
    auf, was zu υ k 2 / F R , k = 1
    Figure DE102017111926A1_0183
    äquivalent ist. Die letztere Bedingung kann z. B. als υ 0, k 2 = 1
    Figure DE102017111926A1_0184
    mit υ 0, k : = { y k C k x ^ k 1 D k F R , k = υ k F R , k falls  F l , k = 0 0 sonst
    Figure DE102017111926A1_0185
    umgeschrieben werden.
  • Gemäß verschiedenen Ausführungsformen kann das Verhältnis υ 0, k 2
    Figure DE102017111926A1_0186
    gemäß Gleichung (66) ein Hauptaspekt im Folgenden sein, wobei es als die normierte Erneuerung bezeichnet wird, wie bereits oben beschrieben worden ist. Das Maximum der logarithmischen Wahrscheinlichkeit L ist zum Verschieben aller quadrierten normierten Erneuerungen υ 0, k 2 ,
    Figure DE102017111926A1_0187
    k = 1, 2, ..., N so nah wie möglich zu 1,0 äquivalent. Deshalb kann ein richtiges (globales) Maximum der Wahrscheinlichkeitsfunktion z. B. durch die folgende Gleichung charakterisiert werden: V 0 = 1 N 0 k = 1 N υ 0, k 2 1,0.
    Figure DE102017111926A1_0188
    In diesem Fall ist N0 die Anzahl der Zeitpunkte k mit υ0,k ≠ 0.
  • Gemäß verschiedenen Ausführungsformen kann eine Fehlanpassung des Modells basierend auf einer Beobachtung der normierten Erneuerungen detektiert werden oder kann das Prozessmodell basierend auf einer Beobachtung der normierten Erneuerungen validiert werden, die normierten Erneuerungen oder ein Parameter, der die normierten Erneuerungen repräsentiert, können bzw. kann z. B. gegen den Zählerindex k (der außerdem als der Zeitindex k bezeichnet wird) graphisch dargestellt werden. Gemäß verschiedenen Ausführungsformen verschiebt der oben beschriebene Optimierungsalgorithmus alle normierten Erneuerungen υ 0, k 2
    Figure DE102017111926A1_0189
    so nah wie möglich zu 1,0. Dies ist nicht möglich, wenn das Modell nicht zu den Trainingsdaten passt. Deshalb kann gemäß verschiedenen Ausführungsformen die Fehlanpassung des Modells durch das Prüfen von |υ0,k| oder υ 0, k 2
    Figure DE102017111926A1_0190
    für Werte, die 1,0 z. B. signifikant übersteigen (z. B. > 3,0), geprüft werden.
  • 13 veranschaulicht ein Beispiel für eine Beobachtung der normierten Erneuerungen, υ0,k (siehe das Bezugszeichen 1300y) im Lauf der Zeit (siehe das Bezugszeichen 1300x), die z. B. durch den Zählerindex k repräsentiert wird. In dem Fall, in dem die normierten Erneuerung 1,0 z. B. signifikant übersteigt, siehe die Punkte 1300e, kann das Prozessmodell nicht gültig sein, um die entsprechenden Daten zu beschreiben.
  • Gemäß verschiedenen Ausführungsformen ermöglicht es die oben beschriebene Validierung, die Probleme des Prozessmodells an den Punkten, wo das Prozessmodell nicht gültig sein kann, spezifisch zu analysieren (z. B. bezüglich spezifischer Prozesse, die durch den Zählerindex k verfolgt werden können).
  • Gemäß verschiedenen Ausführungsformen kann eine Fehlanpassung des Modells basierend auf einer Beobachtung der Unterwahrscheinlichkeit detektiert werden oder kann das Prozessmodell basierend auf einer Beobachtung der Unterwahrscheinlichkeit validiert werden, die jeweiligen Wahrscheinlichkeitswerte oder ein Parameter, der die Unterwahrscheinlichkeit repräsentiert, können bzw. kann z. B. gegen den Zählerindex k graphisch dargestellt werden. Die Gesamtwahrscheinlichkeit, L, in der Gleichung (46) zerfällt in N einzelne Unterwahrscheinlichkeiten, lk. Die Fehlanpassung des Modells kann typischerweise auf irgendeinen Bruchteil der Trainingsdaten eingeschränkt sein. Die einzelnen Unterwahrscheinlichkeitswerte unterscheiden sich in diesem Fall signifikant (eine hohe Wahrscheinlichkeit für die Daten, die dem Modell entsprechen, und eine geringe Wahrscheinlichkeit für die Daten, die an das Modell fehlangepasst sind). Folglich kann das Prüfen der Folge der einzelnen Unterwahrscheinlichkeiten lk bezüglich signifikanter Abfälle ein leistungsfähiger Test sein.
  • 14 veranschaulicht ein Beispiel für eine Beobachtung der einzelnen Unterwahrscheinlichkeit, lk, (siehe das Bezugszeichen 1400y) im Lauf der Zeit (siehe das Bezugszeichen 1400x), die z. B. durch den Zählerindex k repräsentiert wird. In dem Fall, in dem die Unterwahrscheinlichkeit z. B. einen signifikanten Abfall aufweist, siehe die Punkte 1400e, kann das Prozessmodell nicht gültig sein, um die entsprechenden Daten zu beschreiben.
  • Gemäß verschiedenen Ausführungsformen kann eine Fehlanpassung des Modells basierend auf einer Beobachtung des Gradientensignals detektiert werden oder kann das Prozessmodell basierend auf einer Beobachtung des Gradientensignals validiert werden, das Gradientensignal oder ein Parameter, der das Gradientensignal repräsentiert, kann z. B. gegen den Zählerindex k graphisch dargestellt werden. Der numerische Optimierungsalgorithmus kann z. B. die partielle Ableitung der Gesamtwahrscheinlichkeit ausnutzen, siehe die Gleichung (46). Das Differenzieren der Gleichung (46) bezüglich des Abstimmparameters pi zeigt, dass der Gesamtgradient z. B. wie folgt in N Untergradienten zerfällt: L p i | p = p * = k = 1 N L k p i  mit  L k p i = { l k p i falls  F l , k = 0 0 sonst
    Figure DE102017111926A1_0191
  • Jeder Untergradient ∂lk/∂pi entspricht einem speziellen Zeitpunkt k. Der jeweilige Untergradient ∂lk/∂pi kann durch endliche Differenzen z. B. wie folgt approximiert werden (siehe den oben beschriebenen Satz von Gleichungen (50a)): l k p i | p = p * f [ Δ , l k ( p i * ) , l k ( p i * + Δ ) , l k ( p i * + 2 Δ ) , , l k ( p i * −Δ ) , l k ( p i * 2 Δ ) , ]
    Figure DE102017111926A1_0192
    z.B. l k p i | p = p * l k ( p i * + Δ ) l k ( p i * Δ ) Δ
    Figure DE102017111926A1_0193
  • Unter Verwendung der oben beschriebenen Verfahren können die Untergradienten ∂lk/∂pi außerdem z. B. unter Verwendung der folgenden Gleichungen exakt berechnet werden: l k p i = 1 2 tr [ Q ¯ k + Q ¯ k p i + Q ¯ k + p i Ω Q , k ] 1 2 tr [ R ¯ k + R ¯ k p i + R ¯ k + p i Ω R , k ]
    Figure DE102017111926A1_0194
    in dem Fall, in dem pi Q k, R k zugeordnet ist (siehe die Gleichung (51)) und l k p i = υ k F R , k [ C k ( A k z k 1 + B k p i ) + D k p i ] .
    Figure DE102017111926A1_0195
    in dem Fall, in dem pi Bk, Dk zugeordnet ist (siehe die Gleichung (55)).
  • Gemäß verschiedenen Ausführungsformen kann das Gradientensignal bei dem durch den numerischen Optimierer gefundenen maximalen Wahrscheinlichkeitswert analysiert werden. Der entsprechende Untergradient ∂lk/∂pi zeigt, wie der Abstimmparameter pi modifiziert werden sollte, um die Unterwahrscheinlichkeit lk für den Zeitpunkt k zu vergrößern. Signifikante Variationen von ∂lk/∂pi über dem Zeitpunkt k können ein deutlicher Widerspruch sein (der Parameter pi muss z. B. für einige Zeitintervalle vergrößert und für andere verringert werden). Das Prüfen der Gradientensignale aller Abstimmparameter pi kann gemäß verschiedenen Ausführungsformen ein leistungsfähiger Test für eine Fehlanpassung des Modells sein. Eine mögliche Folge kann sein, auffällige Abstimmparameter pi in zwei oder mehr Parameter aufzuteilen.
  • 15 veranschaulicht ein Beispiel für eine Beobachtung eines Gradientensignals, ∂lk/∂pi, (siehe das Bezugszeichen 1500y) im Lauf der Zeit (siehe das Bezugszeichen 1500x), die z. B. durch den Zählerindex k repräsentiert wird. In dem Fall, in dem das Gradientensignal z. B. eine signifikante Zunahme aufweist, siehe den Punkt 1500e, kann das Prozessmodell nicht gültig sein, um die entsprechenden Daten zu beschreiben.
  • Gemäß verschiedenen Ausführungsformen kann eine Fehlanpassung des Modells basierend auf einer oder mehreren der hier beschriebenen Prozeduren identifiziert werden. Nachdem ein Optimierer an irgendeinem (möglicherweise lokalen) Maximum angehalten hat, können einer oder mehrerer der folgenden Prozesse ausgeführt werden:
    1. 1. Das Kalman-Filter über den vollen Satz der Trainingsdaten unter Verwendung der durch den Optimierer gefundenen Abstimmparameter laufen lassen. FR,k und Fl,k und die Folge υk der Erneuerungen speichern.
    2. 2. Die normierten Erneuerungen υ0,k für alle k = 1, 2, ..., N mit der Gleichung (66) berechnen.
    3. 3. V0 mit der Gleichung (9) berechnen. Das Modell ablehnen, falls |V0 - 1,0| irgendeinen Schwellenwert T1 mit z. B. 0,1 ≤ T1 ≤ 0,3 übersteigt.
    4. 4. Die Folge υ0,k gegen irgendeinen Schwellenwert T2 prüfen. Das Modell ablehnen, falls |υ0,k| T2 für irgendein k mit z. B. 2 ≤ T2 ≤ 5 übersteigt. Versuchen, das Modell für die Zeitintervalle, in denen T2 überschritten wird, zu modifizieren.
    5. 5. Die Folge der (Unter-) Wahrscheinlichkeiten lk mit der Gleichung (65) berechnen. Das Modell ablehnen, falls lk signifikante Abfälle zeigt. Versuchen, das Modell für die Zeitintervalle mit den Abfällen zu modifizieren.
    6. 6. Die Folge der (Unter-) Wahrscheinlichkeiten für ∂lk/∂pi für alle Abstimmparameter pi berechnen. Das Modell ablehnen, falls irgendeine Folge ∂lkl/∂pi signifikante Variationen zeigt. Versuchen, das Modell für die Zeitintervalle mit den Hauptvariationen zu modifizieren.
  • Gemäß verschiedenen Ausführungsformen kann, wie z. B. oben beschrieben worden ist, nicht nur eine Fehlanpassung des Modells enthüllt werden, sondern es können außerdem die Zeitpunkte, zu denen die Fehlanpassung auftritt, identifiziert werden. Dies können wertvolle Informationen zum Verbessern des Prozessmodells sein. Die Informationen des logistischen Kontexts (z. B. die Prozessereignisdaten) für diese Zeitpunkte können gemäß verschiedenen Ausführungsformen geprüft werden. Deshalb könnte ein gemeinsames Muster bestimmt werden, um die Hauptursache der Fehlanpassung des Modells zu finden.
  • Ähnlich zu den oben beschriebenen Algorithmen kann die Validierung des Prozessmodells sowohl auf das modifizierte Kalman-Filter als auch auf das nicht modifizierte Kalman-Filter oder irgendein anderes ähnliches Filter angewendet werden.
  • Gemäß verschiedenen Ausführungsformen kann eine Fehlanpassung des Prozessmodells basierend auf wenigstens einem der folgenden Parameter detektiert werden: der Erneuerung, υ0,k, der normierten Erneuerung, dem (Unter-) Wahrscheinlichkeitssignal oder dem (Unter-) Gradientensignal. Ferner kann der Zeitpunkt oder ein Parameter, der den Zeitpunkt repräsentiert, verwendet werden, um die Fehlanpassung des Prozessmodells zu lokalisieren.
  • Eine Anwenderschnittstelle kann gemäß verschiedenen Ausführungsformen z. B. in Kombination mit irgendeiner Rückkopplungsvorrichtung zum Annehmen oder Ablehnen der abgestimmten Prozessmodelle und/oder Messmodelle als Teil der Prozesssteuerschaltung 100 bereitgestellt oder an die Prozesssteuerschaltung 100 gekoppelt sein, um wenigstens eines der Validierungsmaße/-signale V0, υ0,k, lk oder ∂lk/∂pi oder deren Repräsentanten anzuzeigen.
  • Wie oben beschrieben worden ist, kann die Datenverschmelzungsschaltung konfiguriert sein, das Prozessmodell und/oder das Messmodell basierend auf einem Durchschnittswert unter Berücksichtigung mehrerer symmetrisierter normierter Vorhersagefehler zu validieren. Eine Symmetrisierung kann nützlich sein, um zu verhindern, dass positive und negative Werte einander kompensieren. Die symmetrisierten normierten Vorhersagefehler können durch das Anwenden einer symmetrischen Funktion auf die normierten Vorhersagefehler bereitgestellt werden. Als ein Beispiel kann ein quadratischer Mittelwert (RMS-Wert) verwendet werden. Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, das Prozessmodell und/oder das Messmodell basierend auf einem Erneuerungssignal, einem Wahrscheinlichkeitssignal und/oder einem Wahrscheinlichkeitsgradientensignal für einen oder mehrere Prozessmodellparameter des Prozessmodells zu validieren.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung konfiguriert sein, das Prozessmodell und/oder das Messmodell an einem Satz von Trainingsdaten zu validieren. Der Satz von Trainingsdaten kann z. B. historische Daten einschließlich irgendwelcher verfügbarer Prozessdaten (z. B. Kontextdaten und/oder Logistikdaten der Bearbeitungsanordnung) und Messdaten enthalten. Die Messdaten können z. B. auf die Prozessdaten abgebildet sein oder können in den Prozessdaten enthalten sein.
  • Veranschaulichend kann die Validierung des Prozessmodells und/oder des Messmodells das Prüfen enthalten, ob der verfügbare Datensatz, der durch die Datenverschmelzungsschaltung 108 gehandhabt wird, über das zugrundeliegende Prozessmodell und/oder das Messmodell, gemäß denen die Datenverschmelzungsschaltung 108 arbeitet, richtig beschrieben wird.
  • Gemäß verschiedenen Ausführungsformen können Bezugs-Messereignisdaten über die Datenverschmelzungsschaltung 108 vorhergesagt werden und können die neu erfassten Messereignisdaten mit den vorhergesagten Bezugs-Messereignisdaten verglichen werden. Basierend auf diesem Vergleich können das Prozessmodell und/oder das Messmodell validiert werden, z. B. falls die neu erfassten Messereignisdaten richtig sein können, das Prozessmodell und/oder das Messmodell nicht geeignet ist, geeignete Bezugs-Messereignisdaten vorherzusagen, und deshalb den Prozess nicht geeignet beschreibt. Ferner können basierend auf dem Vergleich der neu erfassten Messereignisdaten und der vorhergesagten Bezugs-Messereignisdaten das Messeereignis und/oder das entsprechende Prozessereignis validiert werden, die neu erfassten Messereignisdaten können z. B. ausgeschlossen werden, falls das Prozessmodell den Prozess geeignet beschreibt.
  • Im Folgenden wird ein Algorithmus zum Verfolgen, Überwachen und/oder Austesten eines Kalman-basierten Filters oder irgendeines anderen ähnlichen Filters basierend z. B. auf den Gleichungen (1), (1*), (2), (2*) bereitgestellt, wie oben beschrieben worden ist. Wie bereits beschrieben worden ist, kann gemäß verschiedenen Ausführungsformen der Zustand des Prozesses (1), (2) durch zwei Sätze von Gleichungen (z. B. die Gleichungen (3) und (4) oder die Gleichungen (8a) und (12d)) geschätzt werden, die vollständig unabhängig voneinander ausgeführt werden.
  • Gemäß verschiedenen Ausführungsformen kann der unbekannte Zustand xk mit einem auf einem Kalman-Filter basierenden Algorithmus geschätzt werden, der über die Datenverschmelzungsschaltung 108 der Prozesssteuerschaltung 100 implementiert ist. Im Allgemeinen kann auf Kalman-Filtern basierenden Systemen die Transparenz fehlen, was zu dem Problem führen kann, dass z. B. die Prozessingenieure diese Filter zum Steuern der Prozesse, in denen eine Störung ernste Folgen haben könnte, nicht verwenden können. Dies wird durch die hohe Komplexität der Algorithmen in einem Kalman-basierten Filter im Vergleich zu den herkömmlichen Herangehensweisen verursacht. Es kann z. B. nicht möglich sein, die Gleichungen (8a)-(12d) unter Verwendung einfacher Mittel wie Papier und Bleistift zurückzuverfolgen. Dies kann ein Hindernis für die Akzeptanz eines auf einem Kalman-Filter basierenden Controllers durch die Prozessingenieure und das Produktionspersonal sein.
  • Ein Grund für die Komplexität (und gleichzeitig für die Leistung) eines auf einem Kalman-Filter basierenden Steuersystems, wie hier beschrieben wird, ist die gleichzeitig Aktualisierung aller Zustände und aller möglichen Zustandskombinationen. Eine Prozessaktualisierung und eine Metrologieaktualisierung irgendeiner Zustandskombination können alle anderen Zustände beeinflussen. Gemäß verschiedenen Ausführungsformen wird ein Verfolgungs- und Austestwerkzeug bereitgestellt, das auf eine oder mehrere spezielle (anwenderdefinierte) Linearkombinationen von Zuständen konzentriert ist, wie im Folgenden ausführlicher beschrieben wird.
  • Während des Betriebs der Datenverschmelzungsschaltung 108 basierend auf einem Kalman-Filter können für spezielle lineare Zustandskombinationen oft Probleme auftreten. Gemäß verschiedenen Ausführungsformen kann die Analyse auf diese Zustandskombination konzentriert werden. Das Begrenzen der Analyse auf eine Linearkombination von Zuständen verringert gemäß verschiedenen Ausführungsformen die Komplexität drastisch. Das komplizierte Verhalten des Filters wird durch das nachvollziehbarere Verhalten der Zustandskombination veranschaulicht.
  • Die Anzahl der Zustände und der potentiellen linearen Zustandskombinationen von Interesse kann typischerweise sehr hoch sein. Es kann nicht möglich sein, die Entwicklung aller interessieren der Zustände und Zustandskombinationen zur Laufzeit zu berechnen und zu speichern. Gemäß verschiedenen Ausführungsformen werden verschiedene Strategien bereitgestellt, um die vollständige Entwicklung des Filters in der Rückschau zu rekonstruieren. Eine erste Strategie kann sein, alle Zwischenzustände des Filters einschließlich der entsprechenden Fehlerkovarianzmatrizen zu speichern. Eine zweite Strategie kann sein, den Anfangszustand des Filters und alle Kalman-Matrizen zu speichern; und alle Zwischenzustände z. B. durch das erneute Ausführen der jeweiligen Gleichungen (z. B. der Gleichungen (8a)-(12d)) zu rekonstruieren. Eine dritte Strategie kann sein, die Zwischenzustände wiederkehrend (einschließlich der entsprechenden Fehlerkovarianzmatrizen) zu speichern und alle Kalman-Matrizen zu speichern. In diesem Fall kann irgendein Zwischenzustand, falls gewünscht, durch das erneute Ausführen der jeweiligen Gleichungen für das Zeitintervall von Interesse beginnend mit einem geeigneten (z. B. dem nächsten) gespeicherten Zustand rekonstruiert werden.
  • Die Speicheranforderungen können für die erste Strategie riesig sein. Die zweite Strategie kann es erfordern, die jeweiligen Gleichungen für die gesamte Lebensdauer des Filters erneut auszuführen, was z. B. ein oder mehrere Jahre sein können, was zu einem riesigen Rechenaufwand führt. Gemäß verschiedenen Ausführungsformen kann die dritte Strategie zum Verfolgen, Überwachen und/oder Austesten des Betriebs des Filters, das in der Datenverschmelzungsschaltung 108 der Prozesssteuerschaltung 100 verwendet wird, verwendet werden. Die dritte Strategie kann in Anbetracht sowohl der Speicheranforderungen als auch der Rechengeschwindigkeit am effizientesten sein.
  • 16A bis 16C veranschaulichen die dritte Strategie als eine schematische graphische Darstellung des Betriebs gemäß verschiedenen Ausführungsformen. Beginnend von einer entsprechenden Zustandssicherung 1600b kann durch erneute Berechnung ein gewünschter Zwischenzustand rekonstruiert werden. Die gespeicherten Kalman-Matrizen 1600i können für die erneute Berechnung verwendet werden. Die gespeicherten Kalman-Matrizen 1600i können über einen entsprechenden Identifikationswert 1600v, der außerdem als Durchlauf-ID bezeichnet wird, mit dem entsprechenden Sicherungszustand 1600b korreliert sein. Die Durchlauf-ID kann verwendet werden, um die Dateneingabe (z. B. eine Prozessaktualisierung, eine Messaktualisierung usw.) 1602 mit dem entsprechenden (z. B. nächsten) Sicherungszustand zu verbinden. Deshalb definiert die Durchlauf-ID den Anfangspunkt zum erneuten Berechnen eines jeweiligen Zustands. Im Folgenden werden drei wichtige Analyse- und/oder Austest-Verwendungsfälle bezüglich der dritten Strategie beschrieben.
  • Gemäß verschiedenen Ausführungsformen kann ein erster Verwendungsfall eine detaillierte Analyse der Entwicklung einer linearen Zustandskombination Cx von Interesse enthalten. In diesem Fall können die Linearkombination einiger Zustände von Interesse Ck und der entsprechende Schätzfehler rekonstruiert werden. Die Analyse kann z. B. auf den folgenden Gleichungen basieren: a k = C ¯ x ^ k
    Figure DE102017111926A1_0196
    σ ERR 2 = { C ¯ P R , k C ¯ T falls  F ¯ I L N U M falls  F ¯ I > L N U M
    Figure DE102017111926A1_0197
    F ¯ I = C ¯ P l , k C ¯ T
    Figure DE102017111926A1_0198
  • In diesem Fall wählt der Extraktorvektor C (siehe das Bezugszeichen 1600e) die Zustände von Interesse aus, wobei er die entsprechenden Gewichtungsfaktoren spezifiziert, wie z. B. in 16B in einer schematischen graphischen Darstellung des Betriebs veranschaulicht ist. Die Analyse kann generisch und flexibel sein, weil ein generischer Extraktorvektor verwendet werden kann, der an alle Typen der auf einem Kalman-Filter basierenden Modell angepasst werden kann.
  • Deshalb kann gemäß verschiedenen Ausführungsformen die Entwicklung der linearen Zustandskombination αk untersucht werden. In dieser Weise können ein oder mehrere Zeitpunkte k identifiziert werden, zu denen sich die lineare Zustandskombination αk und/oder ihr Schätzfehler ändern. Dies sind die Zeitpunkte, zu denen neue Informationen zu der linearen Zustandskombination αk hinzugefügt werden. Das Prüfen der entsprechenden Informationen des logistischen Kontexts kann die Hauptursache der Probleme enthüllen, die auftreten könnten, während das Kalman-basierte Filter betrieben wird.
  • Gemäß verschiedenen Ausführungsformen kann ein zweiter Verwendungsfall eine Identifikation der vorherrschenden Messwerte für eine lineare Zustandskombination Cx enthalten. Das Kalman-Filter/Modell kann einigen Messwerten mehr als anderen Messwerten vertrauen. Es kann aufschlussreich sein, die entsprechenden Messwerte zu identifizieren, die eine Zustandskombination αk = Ck von Interesse beeinflussen. Gemäß verschiedenen Ausführungsformen können die Einflussinformationen (oder mit anderen Worten die Auswirkung) verwendet werden, um für die Plausibilität des Prozessmodells die Gegenprobe zu machen. Zusätzlich können die vorherrschenden Messwerte ausführlich untersucht werden, um mögliche Anomalitäten zu bestimmen. Die Kalman-Verstärkung Kk kann direkt mit der Auswirkung eines Messwerts in Beziehung stehen und kann als ein Kriterium für die Überwachung und dergleichen verwendet werden. Weil die absolute Größe der Kalman-Verstärkung anwendungsabhängig sein kann, wird hier gemäß verschiedenen Ausführungsformen eine normierte Version der Kalman-Verstärkung bereitgestellt, die als ein Maß der Auswirkung verwendet werden kann.
  • Die Kalman-Verstärkung, Kk, kann z. B. durch die folgenden Gleichungen gegeben sein: K k = P k 1 C k T C k P k 1 C k T + R k T = E [ x ˜ k 1 υ ] E [ υ k 2 ] ,
    Figure DE102017111926A1_0199
    υ k = y k C k x ^ k 1 D k .
    Figure DE102017111926A1_0200
  • In diesem Fall sind υk und x̃k die Erneuerung bzw. der Zustandsschätzfehler. Das Multiplizieren der Gleichung (75) mit dem Zustandsextraktorvektor C führt z. B. zu der folgenden Gleichung: C ¯ K k = E [ C ¯ x ˜ k 1 υ k ] E [ υ k 2 ] .
    Figure DE102017111926A1_0201
  • Der Zähler der Gleichung (77) enthüllt z. B., dass die Kalman-Verstärkung, Kk, durch eine Kovarianz von υk und x̃k gesteuert ist. Die Kalman-Verstärkung Kk ist z. B. null, wenn die Erneuerung υk und der Zustandsschätzfehler x̃k unkorreliert sind, während der Absolutwert der Kalman-Verstärkung Kk 1,0 ist, wenn die Erneuerung υk und der Zustandsschätzfehler x̃k perfekt korreliert sind. Gemäß verschiedenen Ausführungsformen kann die Korrelation zwischen der Erneuerung υk und dem Zustandsschätzfehler x̃k verwendet werden, um ein normiertes Maß der Auswirkung, K0,k, z. B. gemäß den folgenden Gleichungen bereitzustellen: K 0, k : = corr ( C ¯ x ˜ k 1 , υ k ) ,
    Figure DE102017111926A1_0202
    K 0, k = E [ ( C ¯ x ˜ k 1 ) υ k ] E [ ( C ¯ x ˜ k 1 ) 2 ] E [ υ k 2 ] = C ¯ K k E [ υ k 2 ] E [ ( C ¯ x ˜ k 1 ) 2 ] .
    Figure DE102017111926A1_0203
  • Gemäß verschiedenen Ausführungsformen kann es eine oder mehrere alternative Definitionen des normierten Maßes der Auswirkung, K0,k, geben, die zur Gleichung (79) äquivalent sein können, wie z. B. die folgende Definition: | K 0, k | : = E [ ( C ¯ x ˜ k 1 ) 2 ] E [ ( C ¯ x ˜ k ) 2 ] E [ ( C ¯ x ˜ k 1 ) 2 ]
    Figure DE102017111926A1_0204
    | K 0, k | : = C ¯ P k 1 C ¯ T C ¯ P k C ¯ T C ¯ P k 1 C ¯ T
    Figure DE102017111926A1_0205
  • Der erwartete Wert E ( C ¯ x ˜ k 1 ) 2
    Figure DE102017111926A1_0206
    in der Gleichung (80) ist die Varianz des Schätzfehlers für die Zustandskombination αk = Ck. Dies führt zu einer weiteren intuitiven Interpretation des normierten Maßes der Auswirkung, K0,k, nämlich, dass die quadrierte Verstärkung K 0, k 2
    Figure DE102017111926A1_0207
    die relative Verringerung der Varianz des Schätzfehlers von αk-1, aufgrund eines Messwerts yk ist.
  • Gemäß verschiedenen Ausführungsformen kann der Algorithmus (19), wie im Folgenden ausführlicher beschrieben wird, verwendet werden, um das normierte Maß K0,k der Auswirkung in dem Fall zu berechnen, in dem eine zerlegte Fehlerkovarianzmatrix für die Zustandsschätzung verwendet wird, wie hier beschrieben wird. Falls ein herkömmliches Kalman-Filter verwendet wird, können FI und F I in dem Algorithmus (19) null gesetzt werden. Ferner kann der Algorithmus (20), wie im Folgenden ausführlicher beschrieben wird, in dem Fall verwendet werden, in dem eine faktorisierte Fehlerkovarianzmatrix für die Zustandsschätzung verwendet wird, wie oben beschrieben worden ist.
  • ALGORITHMUS 19:
  • Figure DE102017111926A1_0208
  • ALGORITHMUS 20:
  • Figure DE102017111926A1_0209
    Figure DE102017111926A1_0210
  • Gemäß verschiedenen Ausführungsformen kann ein dritter Verwendungsfall eine Analyse eines vorhergesagten Wertes von Interesse enthalten. Die auf einem Kalman-Filter basierenden Algorithmen können, wie oben beschrieben worden ist, den Prozesszustand vorhersagen, um die optimalen Abstimmparameter für die nächsten Materialien (die nächste Charge, den nächsten Wafer oder das nächste Los) zu berechnen. Folglich kann der Ursprung des vorhergesagten Werts relevant sein, insbesondere wenn der Wert verdächtig ist. Gemäß verschiedenen Zuständen kann der aktuelle Zustand x̂k der auf einem Kalman-Filter basierenden Algorithmen in eine gewichtete Summe aus allen vorherigen Messwerten und einer Konstanten zerlegt werden. Dies kann z. B. wie folgt ausgedrückt werden: x ^ k = const + i = 1 k w i y i
    Figure DE102017111926A1_0211
  • In diesem Fall können die Gewichte wi der Summe mit dem Algorithmus (21) berechnet werden, wie im Folgenden ausführlicher beschrieben wird. Das Multiplizieren z. B. der Gleichung (82) von links mit irgendeinem Zustandsextraktionsvektor C führt zu: C ¯ x ^ k = const + i = 1 k w ¯ i y ¯ i .
    Figure DE102017111926A1_0212
  • In diesem Fall ist die linke Seite der Gleichung (83) der vorhergesagte Wert αk := Ck, wenn C der entsprechende Zustandsextraktionsvektor ist.
  • Die Gewichte w i sind Skalare, die z. B. geeignet gegen die Zeit graphisch dargestellt werden können. Ferner enthüllt das Gewicht w i die Auswirkung eines Messwerts yi auf die Vorhersage. Dies können wertvolle Informationen für den Betrieb des Kalman-basierten Filters seien. Zuerst können alle Messwerte mit einer signifikanten Auswirkung identifiziert und bezüglich Anomalien geprüft werden. Zweitens können sie verwendet werden, um die Vorhersage schnell zu korrigieren, falls fehlerhafte Messwerte gefunden werden. Die Gleichung (83) zeigt z. B., dass die Vorhersagekorrektur eine einfache gewichtete Summe der Messkorrekturen ist, d. h.: α C O R R , k = α k + Δ α k
    Figure DE102017111926A1_0213
    Δ α k = i = 1 k w ¯ i Δ y i
    Figure DE102017111926A1_0214
  • Die skalaren Gewichte w i können unter Verwendung der wiederkehrend gespeicherten Zustände, wie oben bezüglich 16A beschrieben worden ist, und z. B. des Algorithmus (22) berechnet werden. Die vollständige Prozedur ist z. B. in 16C in einer schematischen graphischen Darstellung 1600w des Betriebs gemäß verschiedenen Ausführungsformen veranschaulicht.
  • ALGORITHMUS 21:
  • Figure DE102017111926A1_0215
    Figure DE102017111926A1_0216
  • ALGORITHMUS 22:
  • Figure DE102017111926A1_0217
  • Gemäß verschiedenen Ausführungsformen kann der Algorithmus zum Verfolgen, Überwachen und/oder Austesten eines Kalman-basierten Filters in einer Komponente eines Steuersystems und/oder zum Überwachen diskreter Prozesse verwendet werden, wie oben beschrieben worden ist. Gemäß verschiedenen Ausführungsformen können die Zwischenzustände und/oder die Kalman-Matrizen gespeichert werden. Basierend auf diesen gespeicherten Zwischenzuständen und/oder den gespeicherten Kalman-Matrizen können verschiedene Verfolgungs- und/oder Austestgrößen, z. B. die Schätzung αk, der Schätzfehler σERR,k, die Messwert-Auswirkung K0,k, das Messwertgewicht w i usw. berechnet und/oder graphisch dargestellt werden. Dies erlaubt z. B. das Konzentrieren auf spezielle anwenderdefinierte Linearkombinationen von Zuständen.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, mehrere Sicherungszustandsinformationen und mehrere Sicherungsmodellparameter (z. B. die Modellparameter für den Zeitpunkt k, k - 1, k - 2) zu speichern, um wenigstens eine zu überwachende Zustandsinformation zu rekonstruieren. Veranschaulichend können historische Modellparameter verwendet werden, um wenigstens eine zu überwachende Zustandsinformation zu rekonstruieren. Die Rekonstruktion der wenigstens einen Zustandsinformation, die zu überwachen ist, kann effizient sein, wie oben beschrieben worden ist, wenn die Neuberechnung von einer der gespeicherten mehreren Sicherungszustandsinformationen startet, die sich zeitlich in der Nähe befindet.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, die Zustandsinformationen unter Berücksichtigung mehrerer vorhergehender Messereignisdaten, mehrerer Sicherungsmodellparameter (z. B. Prozessmodellparameter und Messmodellparameter) und einiger geeigneter Sicherungszustände in eine gewichtete Summe zu zerlegen.
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren bereitgestellt, um die Größe der Datensätze der Kalman-Filter zu verringern. Deshalb wird im Folgenden ein Algorithmus für ein Kalman-basiertes Filter oder irgendein anderes ähnliches Filter basierend z. B. auf den Gleichungen (1), (1*), (2), (2*) bereitgestellt, wie oben beschrieben worden ist. Wie bereits beschrieben worden ist, kann gemäß verschiedenen Ausführungsformen der Zustand des Prozesses (1), (2) durch zwei Sätze von Gleichungen (z. B. die Gleichungen (3) und (4) oder die Gleichungen (8a) bis (12d)) geschätzt werden, die vollständig unabhängig voneinander ausgeführt werden.
  • Gemäß verschiedenen Ausführungsformen kann der unbekannte Zustand xk mit einem auf einem Kalman-Filter basierenden Algorithmus geschätzt werden, der über die Datenverschmelzungsschaltung 108 der Prozesssteuerschaltung 100 implementiert ist. Der Filterzustand und die Fehlerkovarianzmatrix können die Ansammlung und die Verschlechterung der Prozessinformationen (die Abnahme und die Zunahme des Schätzfehlers) solange präzise widerspiegeln, wie die Prozessmodellparameter Qk, Rk, Bk, Dk, Ck, Ak zu dem Prozess im wirklichen Leben passen.
  • Wie bereits beschrieben worden ist, können historische Produktionsdaten in praktischen Situationen eine verfügbare Informationsquelle sein. Das Berechnen der Kalman-Filter-Parameter aus historischen Produktionsdaten kann eine teure und zeitaufwendige Aufgabe sein. Der historische Datensatz kann mehrere hunderttausend einzelne Materialien, z. B. produzierte Wafer, und ihre entsprechenden Prozessereignisdaten und, falls verfügbar, ihre entsprechenden Messereignisdaten enthalten. Die Abstimmprozedur für das Prozessmodell kann auf einer numerischen Optimierung basieren, die das Ausführen des Kalman-Filters (und optional einer Gradientenberechnung) für jeden Optimierungsschritt über dem gesamten Datensatz erfordern kann. Deshalb kann der Modellentwurfsprozess beeinträchtigt sein, weil der hohe Aufwand die Anzahl der Modellvariationen, die getestet werden können, begrenzen.
  • Bei der Halbleiterfertigung wird z. B. nur ein Bruchteil der bearbeiteten Wafer gemessen (z. B. typischerweise 20 % oder weniger). Deshalb können gemäß verschiedenen Ausführungsformen die Prozessgleichungen (1), (1*) im Fall fehlender und/oder nicht validierter Messwerte vereinigt werden. Als ein Beispiel können Messwerte für die Zeitpunkte k0 und k verfügbar sein, während sie für die dazwischenliegenden Zeitpunkte k0 + 1, k0 + 2, ..., k - 2, k - 1 fehlen. Das Einsetzen der entsprechenden Prozessgleichungen ineinander für z. B. zu der folgenden vereinigten Gleichung (100), die zur Gleichung (1) ähnlich ist: x k = A k A k 1 A k 0 + 1 x k 0 + i = k 0 k 1 [ A k A k 1 A i + 1 Q i ξ i ] + Q k ξ k + i = k 0 k 1 [ A k A k 1 A i + 1 B i ] + B k
    Figure DE102017111926A1_0218
  • Die Gleichung (100) kann in der Tat eine Prozessgleichung sein, die die Zustandsinformationen xk 0 direkt mit den Zustandsinformationen xk verknüpft. Diese Prozessgleichung kann z. B. wie folgt umformuliert werden: x k = A ¯ k x k 0 + Q ¯ k ξ ¯ k + B ¯ k
    Figure DE102017111926A1_0219
    mit A ¯ k = A k A k 1 A k 0 + 1
    Figure DE102017111926A1_0220
    B ¯ k = i = k 0 k 1 [ A k A k 1 A i + 1 B i ] + B k
    Figure DE102017111926A1_0221
    E [ Q ¯ k ξ ¯ k ξ ¯ k T Q ¯ k T ] = Q ¯ k Q ¯ k T = i = k 0 k 1 [ A k A k 1 A i + 1 Q i Q i T A i + 1 T A k 1 T A k T ] + Q k Q k T
    Figure DE102017111926A1_0222
  • Die vereinigten Gleichungen (100), (100*) sind zu den ursprünglichen k - k0 Zwischenprozessgleichungen äquivalent. Gemäß verschiedenen Ausführungsformen kann das Ersetzen aller Zwischenprozessgleichungen durch die vereinigten Gleichungen den Datensatz drastisch schrumpfen (z. B. um 80 % und mehr in Abhängigkeit von dem Prozentsatz der fehlenden Messwerte).
  • Gemäß verschiedenen Ausführungsformen können die vereinigten Kalman-Matrizen A k und B k mit den Gleichungen (101) bzw. (102) berechnet werden. Das Kalman-Filter kann die quadrierte Matrix Q ¯ k Q ¯ k T
    Figure DE102017111926A1_0223
    verwenden, die z. B. direkt durch die Gleichung (103) gegeben ist. In dem Fall, dass z. B. ein Quadratwurzelfilter verwendet wird, wie oben beschrieben worden ist, kann die zugrundeliegende Matrix Q k entsprechend, z. B. unter Verwendung des Algorithmus (23), berechnet werden. Dies kann z. B. unter Verwendung des folgenden Algorithmus ausgeführt werden:
  • ALGORITHMUS 23:
    • 1. M : = Q ¯ k Q ¯ k T
      Figure DE102017111926A1_0224
      unter Verwendung der Gleichung (7) berechnen
    • 2. M unter Verwendung z. B. des Cholesky-Algorithmus oder der Singularwertzerlegung in die Cholesky-Faktoren M= SST zerlegen
    • 3. Die Ergebnismatrix Q k ist durch den Cholesky-Faktor S gegeben
  • Gemäß verschiedenen Ausführungsformen können alle Prozessrauschmatrizen Qk und alle Zustandsübergangsmatrizen Ak z. B. in praktischen Anwendungen Diagonalmatrizen sein. In diesem Fall ist die Berechnung signifikant vereinfacht, wie durch den Algorithmus (24) wie folgt veranschaulicht ist.
  • ALGORITHMUS 24:
    • 1. M : = Q ¯ k Q ¯ k T
      Figure DE102017111926A1_0225
      unter Verwendung der Gleichung (103) berechnen
    • 2. Das Element Q k(i,i) der Ergebnis-Diagonalmatrix Q k ist durch M ( i , i )
      Figure DE102017111926A1_0226
      gegeben
  • Gemäß verschiedenen Ausführungsformen kann der Algorithmus zum Verringern der Größe eines Datensatzes eines hier bereitgestellten Kalman-basierten Filters in einer Komponente eines Steuersystems und/oder zum Überwachen diskreter Prozesse verwendet werden, wie oben beschrieben worden ist. Gemäß verschiedenen Ausführungsformen kann die Größe eines oder mehrerer Abstimmdatensätze durch das Vereinigen von Zwischenprozessgleichungen, die keine Messwerte berücksichtigen, geschrumpft werden. Mit anderen Worten, eine aufeinanderfolgende Folge von Prozessaktualisierungen kann in dem Fall vereinigt werden, dass keine der Prozessaktualisierungen der aufeinanderfolgenden Folge mit einem Messwert, der berücksichtigt werden muss, korreliert ist.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, einen vereinigten Modellparameter (z. B. einen Prozessmodellparameter) jeweils für einen oder mehrere der Modellparameter bereitzustellen. In diesem Fall repräsentiert der vereinigte Modellparameter mehrere Modellparameter der entsprechenden Ereignisse, für die eine Vereinigung zu dem gleichen Ergebnis wie für die nicht vereinigten Ereignisse führt. Als ein Beispiel können mehrere Prozessmodellparameter gemäß einer (z. B. aufeinanderfolgenden) Folge von Prozessereignissen vereinigt werden, wenn für die Folge von Prozessereignissen keine Messereignisse zu berücksichtigen sind.
  • Im Folgenden wird ein Algorithmus zum Modellieren einer Unterbrechung oder irgendeiner anderen Störung in dem komplexen und dynamischen Prozess bereitgestellt. Wie bereits beschrieben worden ist, kann ein Kalman-basiertes Filter oder irgendein anderes ähnliches Filter basierend z. B. auf den Gleichungen (1), (1*), (2), (2*) zum Steuern eines Produktionsprozesses verwendet werden. Der Zustand des Prozesses (1), (2) kann durch zwei Sätze von Gleichungen (z. B. die Gleichungen (3) und (4) oder die Gleichungen (8a) bis (12d)) geschätzt werden, die vollständig unabhängig voneinander ausgeführt werden. Die normierten Erneuerungen v0 können z. B. basierend auf der folgenden Gleichung berechnet werden: v 0 = y k + 1 C k + 1 x ^ k D k + 1 C k + 1 P k C k + 1 T + R k + 1 R k + 1 T
    Figure DE102017111926A1_0227
  • Wie oben beschrieben worden ist, können die normierten Erneuerungen oder irgendein anderer geeigneter Parameter, der die Genauigkeit der Zustandsschätzung repräsentiert, überwacht werden. Falls das verwendete Prozessmodell (und/oder Messmodell) und der echte Prozess übereinstimmen, kann es sehr unwahrscheinlich sein, dass die normierten Erneuerungen erheblich von 3 abweichen, z. B. dass |v0| größer als 3 ist. Gemäß verschiedenen Ausführungsformen kann eine Fehlanpassung des Modells angenommen werden, falls |v0| irgendeinen vorgegebenen Schwellenwert Ly mit 2 ≤ Ly ≤ 4 übersteigt. Mit anderen Worten, das Prozessmodell und/oder das Messmodell können basierend auf den normierten Erneuerungen |v0| oder irgendeinem anderen geeigneten Parameter, der die Genauigkeit der Zustandsschätzung repräsentiert, validiert werden.
  • Im Folgenden wird ein Verfahren bereitgestellt, um das Prozessmodell und/oder das Messmodell zu validieren. Gemäß verschiedenen Ausführungsformen kann eine Prüfung bezüglich einer Fehlanpassung des Modells ausgeführt werden, wenn neue Messdaten in den Schätzalgorithmus eingespeist werden. Eine Fehlanpassung des Modells kann z. B. nach einem Wartungsereignis für ein Bearbeitungswerkzeug der Bearbeitungsanordnung 104 oder aufgrund eines erratischen Betriebs eines Bearbeitungswerkzeugs der Bearbeitungsanordnung 104 und dergleichen, was hier als eine Unterbrechung bezeichnet wird, auftreten. Wie z. B. in 17A in einer schematischen graphischen Darstellung veranschaulicht ist, kann ein Standardbetrieb 1700s des Filters zu einem bestimmten Zeitpunkt 1700t unterbrochen werden 1700d. Während der Standardbetriebs 1700s kann ein entsprechendes Prozessmodell 1700m für den Betrieb des Filters verwendet werden.
  • In dem Fall, in dem eine Fehlanpassung des Modells detektiert wird, wird gemäß verschiedenen Ausführungsformen ein Satz alternativer Modelle 1702 definiert, wie z. B. in 17B veranschaulicht ist. Jedes der alternativen Modelle 1702 kann einer möglichen Hauptursache der Unterbrechung entsprechen. Die alternativen Modelle 1702 und das Prozessmodell 1700m, die bisher verwendet worden sind, können in einer Modellbibliothek 1712 gesammelt werden. Ferner kann gemäß verschiedenen Ausführungsformen die Zustandsschätzung für jedes Modell in der Modellbibliothek 1712 berechnet werden. Falls es notwendig oder hilfreich ist, können die Modelle an die aktuellen Daten, z. B. mit einer Schätzung der maximalen Wahrscheinlichkeit, angepasst werden, wie oben beschrieben worden ist. Ferner kann gemäß verschiedenen Ausführungsformen die Leistung der verschiedenen Modelle der Modellbibliothek 1712 verglichen werden, z. B. durch das Vergleichen des mittleren quadratischen Vorhersagefehlers, der Wahrscheinlichkeit (z. B. der Wahrscheinlichkeit, dass das Modell an die tatsächlichen Daten passt) oder eines Informationskriteriums (z. B. einem Akaike-Informationskriterium, einem Bayesschen Informationskriterium) und dergleichen. Dies kann außerdem als das Testen oder Validieren der Prozessmodelle bezeichnet werden. Ferner kann gemäß verschiedenen Ausführungsformen das Modell mit der besten Leistung basierend auf dem Ergebnis des Testens ausgewählt werden 1704. Die Prozedur kann als das Testen verschiedener Hypothesen über die Hauptursache der Unterbrechung und das Auswählen eines neuen Prozessmodells gemäß der am besten übereinstimmenden Hypothese gesehen werden.
  • In dem Fall, dass die aktuellen Daten unzureichend sind, um die auszuwählenden Modelle abzugrenzen, kann die Auswahl verzögert werden, bis neue Messdaten ankommen. Die neuen Messdaten können in den Test einbezogen werden, der es dann erlauben kann, die Modelle abzugrenzen. Falls ausreichend Daten verfügbar sind, kann das beste Prozessmodell ausgewählt werden. Deshalb kann eine Messung oder irgendeine andere Weise, um zusätzliche Daten zu erhalten, eingeleitet werden, um die Auswahl eines geeigneten Prozessmodells zu verbessern.
  • Wie z. B. in 17C veranschaulicht ist, kann das ausgewählte Modell 1706 für eine weitere Zustandsschätzung nach der Unterbrechung 1700d verwendet werden. Gemäß verschiedenen Ausführungsformen können die Zustandsschätzungen falls notwendig beginnend vom Zeitpunkt 1700t, zu dem die Unterbrechung 1700d detektiert wird, neu berechnet werden, um genauere Zustandsinformationen zu erhalten.
  • Gemäß verschiedenen Ausführungsformen kann das hier bereitgestellte Modellieren einer Unterbrechung oder irgendeiner anderen Störung in einem komplexen und dynamischen Prozess, z. B. in einem Halbleiterfertigungsprozess, in einer Komponente eines Steuersystems und/oder zum Überwachen diskreter Prozesse verwendet werden, wie oben beschrieben worden ist. Gemäß verschiedenen Ausführungsformen kann die Fehlanpassung zwischen dem Prozessmodell (und entsprechend dem Messmodell) und den echten Prozessdaten (und entsprechend den echten Messdaten) überwacht werden; wobei, wenn eine Fehlanpassung detektiert wird, zwei oder mehr alternative Modelle (die außerdem als Unterbrechungshypothesen bezeichnet werden) getestet werden können, wobei basierend auf dem Ergebnis des Testens ein Prozessmodell ausgewählt werden kann, das am besten mit den Daten übereinstimmt. Gemäß verschiedenen Ausführungsformen kann das Prozessmodell die entsprechenden Prozessgleichungen und die Messgleichungen enthalten.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung 108 konfiguriert sein, eine Fehlanpassung des Modells zu bestimmen. Die erfassten Messdaten können z. B. basierend auf statistischen Fehlerinformationen validiert werden.
  • Eine Fehlanpassung des Modells kann veranschaulichend verschiedene unterschiedliche Gründe haben. Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung konfiguriert sein, mehrere Bezugsmodelle gemäß verschiedenen Gründen für eine Fehlanpassung des Modells bereitzustellen und die Gründe für die Fehlanpassung des Modells durch das Testen, ob wenigstens eines der Bezugsmodelle die erfassten Messdaten geeigneten modellieren kann, zu bestimmen. Falls keine Bezugsmodelle gefunden werden können, die die erfassten Messdaten geeigneten modellieren, kann z. B. der Betrieb des Filters unterbrochen werden und kann eine Fehlernachricht gesendet werden. Alternativ kann ein Bezugsmodell ausgewählt werden, das am besten passt.
  • Gemäß verschiedenen Ausführungsformen kann die Datenverschmelzungsschaltung konfiguriert sein, ein erstes Bezugsmodell aus mehreren Bezugsmodellen auszuwählen und die Zustandsinformationen basierend auf dem ausgewählten ersten Bezugsmodell neu zu berechnen und einen ersten Modellübereinstimmungsparameter zu bestimmen und ein zweites Bezugsmodell aus mehreren Bezugsmodellen auszuwählen und die Zustandsinformationen basierend auf dem ausgewählten zweiten Bezugsmodell neu zu berechnen und einen zweiten Modellübereinstimmungsparameter zu bestimmen und den ersten Modellübereinstimmungsparameter mit dem zweiten Modellübereinstimmungsparameter zu vergleichen und basierend auf dem Vergleich das erste oder das zweite Modell für den weiteren Betrieb auszuwählen. Der Modellübereinstimmungsparameter kann gemäß verschiedenen Ausführungsformen statistische Fehlerinformationen, z. B. die normierte Erneuerung des Verhältnisses, sein.
  • Gemäß verschiedenen Ausführungsformen kann ein Verfahren 1800 zum Steuern einer Bearbeitungsanordnung, z. B. der Prozesssteuerschaltung 100, wie sie hier beschrieben worden ist, bereitgestellt werden, wie in 18 in einem schematischen Prozessablauf veranschaulicht ist. Gemäß verschiedenen Ausführungsformen kann das Verfahren 1800 Folgendes enthalten: in 1810 Erfassen der Prozessdaten und der Messdaten der Bearbeitungsanordnung, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; in 1820 Bereitstellen von Zustandsinformationen, die einen Status der Bearbeitungsanordnung repräsentieren, und Genauigkeitsinformationen, die eine Genauigkeit der Zustandsinformationen repräsentieren; in 1830 Aktualisieren der Zustandsinformationen basierend auf den erfassten Prozessereignisdaten, wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen Wiederherstellen des früheren Zustands der Zustandsinformationen basierend auf den erfassten Messereignisdaten, wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und in 1840 Steuern der Bearbeitungsanordnung basierend auf den Zustandsinformationen.
  • Gemäß verschiedenen Ausführungsformen kann das Verfahren 1800 einen oder mehrere der hier beschriebenen Algorithmen und eines oder mehrere der hier beschriebenen Verfahren enthalten, z. B.:
    • • um die Zustandsinformationen und die Genauigkeitsinformationen entsprechend bereitzustellen,
    • • um die Zustandsinformationen entsprechend zu aktualisieren und entsprechend den früheren Zustand der Zusatzinformation wiederherzustellen und/oder
    • • um die Bearbeitungsanordnung entsprechend zu steuern.
  • Gemäß verschiedenen Ausführungsformen können ein oder mehrere Aspekte der Prozesssteuerschaltung 100 in Software, z. B. basierend auf der MATLAB®-Software oder irgendeiner anderen geeigneten Software, implementiert sein. Die hier beschriebenen Algorithmen sind in Pseudocode bereitgestellt, um die Hauptaspekte bereitzustellen, die über irgendeine geeignete Programmierumgebung zu implementieren sind.
  • Gemäß verschiedenen Ausführungsformen kann ein Verfahren das Verwenden eines oder mehrerer der hier beschriebenen Algorithmen z. B. zum Berechnen eines oder mehrerer Parameter oder irgendeines anderen gewünschten Werts enthalten, wie hier beschrieben worden ist.
  • Gemäß verschiedenen Ausführungsformen können eine oder mehrere der oben bezüglich einer Prozesssteuerschaltung 100 oder einer Datenverschmelzungsschaltung 108 beschriebenen Funktionalitäten außerdem als ein Verfahren oder als ein Teil eines Verfahrens, um ein geeignetes System, z. B. eine Bearbeitungsanordnung 104, zu steuern, verstanden werden.
  • Weil das Modellieren der Prozesse mit dem Modellieren der Messungen korreliert sein kann, können innerhalb der Beschreibung die Begriffe „Prozessmodell“ oder „Modell“ um der Kürze willen verwendet werden, so dass sie z. B. entsprechend das Prozessmodell und/oder das Messmodell bedeuten. In der gleichen Weise können die Begriffe „Prozessmodellparameter“ oder „Modellparameter“ um der Kürze willen verwendet werden, so dass sie z. B. entsprechend den Prozessmodellparameter und/oder den Messmodellparameter bedeuten. In der gleichen Weise kann der Begriff „Prozess“ um der Kürze willen verwendet werden, so dass er z. B. irgendeinen Aspekt bedeutet, der hinsichtlich des Betriebs der Bearbeitungsanordnung 104 zu berücksichtigen ist, einschließlich z. B. eines Bearbeitungswerkzeugs und von Messwerkzeugen. Der Begriff „Daten“ kann hier verwendet werden, so dass er z. B. irgendwelche Informationen bedeutet, die z. B. hinsichtlich der Bearbeitungsanordnung 104 zu berücksichtigen sind, einschließlich z. B. der Bearbeitungsdaten, der Messdaten, der Abstimmdaten und dergleichen, wie z. B. kontextbezogener/logistischer Daten (ein spezifisches Produkt, eine Zwischenmaske, ...) und der Daten (Prozess und Messung) der vorhergehenden Prozessschritte (einschließlich der Vorprozesskammer/des Vorprozesswerkzeugs, der mitlaufenden Vorprozess- (Mess-) Daten, der kontextbezogenen/logistischen Vorprozessdaten, der Vorprozess-Bearbeitungszeit). Basierend auf den Betrieb des Algorithmus können z. B. zusätzliche Daten bereitgestellt werden, die den Betrieb der Datenverschmelzungsschaltung 108 definieren können, z. B. das Überwachen von Daten, das Austesten von Daten, das Verfolgen von Daten, die Validierung von Daten und dergleichen. Es wird erkannt, dass geeignete Mittel für die Datenverarbeitung, die Datenspeicherung und zum Anzeigen der Daten auf Wunsch verwendet werden.
  • Im Folgenden werden verschiedene Beispiele bezüglich der Prozesssteuerschaltung und des Verfahrens zum Betreibens der Prozesssteuerschaltung, wie oben beschrieben worden ist, und in einer ähnlichen Weise eines nichtflüchtigen computerlesbaren Mediums bereitgestellt.
  • Verschiedene Beispiele sind auf das Modellieren und die Vorhersage von Produktionsprozessen (z. B. Losfertigungsprozessen) in einer komplexen und dynamischen Fertigungsumgebung bezogen.
  • Das Beispiel 1 ist eine Prozesssteuerschaltung, die Folgendes enthält: eine Datenerfassungsschaltung, die konfiguriert ist, Prozessdaten und Messdaten einer Bearbeitungsanordnung zu erfassen, wobei die Prozessdaten mehrerer Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; eine Datenverschmelzungsschaltung, die konfiguriert ist, Zustandsinformationen, wobei die Zustandsinformationen einen Status der Bearbeitungsanordnung repräsentieren, und Genauigkeitsinformationen (P), die eine Genauigkeit der Zustandsinformationen repräsentieren, bereitzustellen; wobei die Datenverschmelzungsschaltung ferner konfiguriert ist, basierend auf den erfassten Prozessereignisdaten die Zustandsinformationen zu aktualisieren (z. B. eine Prozessaktualisierung auszuführen), wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen basierend auf den erfassten Messereignisdaten den früheren Zustand der Zustandsinformationen wiederherzustellen (z. B. eine Metrologieaktualisierung auszuführen), wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und eine Steuerschaltung, die konfiguriert ist, die Bearbeitungsanordnung basierend auf den Zustandsinformationen (X usw.) und/oder den Genauigkeitsinformationen ΔX, P usw.) zu steuern.
  • Verschiedene Beispiele beziehen sich auf ein Prozessmodell zum Modellieren und zur Vorhersage von Produktionsprozessen (z. B. Losfertigungsprozessen) in einer komplexen und dynamischen Fertigungsumgebung.
  • Im Beispiel 2 enthält die Prozesssteuerschaltung gemäß Beispiel 1 optional, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Zustandsinformationen basierend auf einem Prozessmodell, das die Prozessmodellparameter (z. B. einen zugänglichen Modellparameter, A und/oder B) und die Prozessmodell-Schätzparameter (z. B. einen nicht zugänglichen Modellparameter, N und/oder Q) berücksichtigt, zu aktualisieren.
  • Im Beispiel 3 kann die Prozesssteuerschaltung des Beispiels 1 oder 2 optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, den früheren Zustand der Zustandsinformationen basierend auf einem Messmodell, das die Messmodellparameter (z. B. einen zugänglichen Messmodellparameter, C und/oder D) und die Messmodell-Schätzparameter (z. B. einen nicht zugänglichen Messmodellparameter, M und/oder R) berücksichtigt, wiederherzustellen.
  • Im Beispiel 4 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Steuerschaltung ferner konfiguriert ist, die Bearbeitungsanordnung basierend sowohl auf den Zustandsinformationen (X usw.) als auch auf den Genauigkeitsinformationen (ΔX, P usw.) zu steuern.
  • Im Beispiel 5 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Steuerschaltung ferner konfiguriert ist, Prozesssteuerdaten, um die Bearbeitungsanordnung zu steuern, basierend auf den Zustandsinformationen (X usw.) und/oder basierend auf den Genauigkeitsinformationen (ΔX, P usw.) bereitzustellen.
  • Im Beispiel 6 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Steuerschaltung ferner konfiguriert ist, basierend auf den Zustandsinformationen (X) und/oder den Genauigkeitsinformationen (ΔX, P usw.) Überwachungsdaten bereitzustellen. Gemäß verschiedenen Ausführungsformen können die Überwachungsdaten verwendet werden, um wenigstens eine der Bearbeitungsanordnung, der Datenerfassungsschaltung und/oder der Datenverschmelzungsschaltung zu überwachen.
  • Im Beispiel 7 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, die Genauigkeitsinformationen (ΔX) basierend auf einem statistischen Schätzfehler (P, σ, σ2, v usw., wie hier beschrieben worden ist) bereitzustellen.
  • Im Beispiel 8 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, die Prozessdaten und die Messdaten basierend auf einem Kalman-Filter zu verschmelzen, um die Zustandsinformationen (X und ΔX) bereitzustellen (oder mit anderen Worten zu schätzen).
  • Im Beispiel 9 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Zustandsinformationen für alle der erfassten Prozessereignisdaten und für alle der erfassten Prozessmessdaten in einer durch die Prozessereignisse definierten chronologischen Reihenfolge zu aktualisieren und ihren früheren Zustand wiederherzustellen, wobei die Messereignisse auf die Prozessereignisse abgebildet sind.
  • Im Beispiel 10 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, die Zustandsinformationen für jedes der mehreren Prozessereignisse beim Erfassen der entsprechenden Prozessereignisdaten und für jedes der mehreren Messereignisse beim Erfassen der entsprechenden Messereignisdaten zu aktualisieren.
  • Im Beispiel 11 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, mehrere Prozessereignisdaten der entsprechenden Prozessereignisse zu sammeln und die Zustandsinformationen unter Berücksichtigung der gesammelten mehreren Prozessereignisdaten beim Erfassen der Messereignisdaten eines anschließenden Messeereignisses zu aktualisieren und den früheren Zustand der Zustandsinformationen basierend auf den erfassten Messereignisdaten wiederherzustellen. Veranschaulichend kann die Prozessaktualisierung spätestens ausgeführt werden, wenn die Messereignisdaten des zu betrachtenden Messereignisses verfügbar sind.
  • Verschiedene Beispiele beziehen sich auf die Anpassung rekursiver Schätz- und Vorhersagealgorithmen an Produktionsszenarios mit verzögerten und permutierten Messungen.
  • Im Beispiel 12 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenerfassungsschaltung ferner konfiguriert ist, die Messereignisse mit den entsprechenden Prozessereignissen zu korrelieren (z. B. die Messereignisse auf die entsprechenden Prozessereignisse abzubilden). Deshalb kann basierend auf wenigstens einem Prozessereignis und wenigstens einem Messereignis, das dem Prozessereignis entspricht, ein Tupel bereitgestellt werden. Das Tupel kann einem Produkt, z. B. einen Wafer, einer elektronischen Vorrichtung und dergleichen, zugeordnet sein.
  • Im Beispiel 13 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, aktuelle Zustandsinformationen basierend auf den Prozessereignisdaten eines aktuellen Prozessereignisses und einer Folge vorhergehender Prozessereignisse und/oder Messereignisse zu berechnen.
  • Im Beispiel 14 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, aktuelle Zustandsinformationen basierend auf den Prozessereignisdaten eines aktuellen Prozessereignisses und einer Folge vorhergehender Prozessereignis (und z. B. vorhergehender Messereignisse) zu berechnen und beim Erfassen der Messereignisdaten, die wenigstens einem vorhergehenden Prozessereignisse der Folge vorhergehender Prozessereignisse entsprechen, die aktuellen Zustandsinformationen neu zu berechnen.
  • Im Beispiel 15 kann die Prozesssteuerschaltung des Beispiels 14 optional enthalten, dass die Folge vorhergehender Prozessereignisse eine begrenzte Anzahl von Prozessereignissen beginnend von einem anfänglichen Prozessereignis, das die Basiszustandsinformationen definiert, und endend mit dem aktuellen Prozessereignis, das die aktuellen Zustandsinformationen definiert, enthält.
  • Im Beispiel 16 kann die Prozesssteuerschaltung des Beispiels 15 optional enthalten, dass das anfängliche Prozessereignis so gewählt ist, dass es ein erstes Element in der Folge der vorhergehenden Prozessereignisse ist, für die keine entsprechenden Messereignisdaten verfügbar sind und für die die entsprechenden Messereignisdaten ausstehend sind.
  • Verschiedene Beispiele beziehen sich auf ein Prozessmodell für einen rekursiven Schätz- und Vorhersagealgorithmus.
  • Im Beispiel 17 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Prozessdaten basierend auf einem Prozessmodell, das einen oder mehrere Prozessmodellparameter zum Modellieren bekannter Einflüsse (A und/oder B) und/oder einen oder mehrere Prozessschätzparameter zum Modellieren unbekannter Einflüsse (N) enthält, zu modellieren.
  • Im Beispiel 18 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Messdaten basierend auf einem oder mehreren Messmodellparametern zum Modellieren bekannter Einflüsse (C und/oder D) und/oder einem oder mehreren Messschätzparametern zum Modellieren unbekannter Einflüsse (M) zu modellieren.
  • Gemäß verschiedenen Ausführungsformen sind die eine oder die mehreren Gleichungen oder der eine oder die mehreren Algorithmen zum Modellieren der Prozesse von der einen oder den mehreren Gleichungen oder dem einen oder den mehreren Algorithmen zum Modellieren der Messwerte unabhängig.
  • Im Beispiel 19 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Prozessdaten basierend auf einem Prozessmodell (z. B. eines linearen zeitvarianten Zustandsraums) zu modellieren, das wenigstens einen der folgenden Prozessmodellparameter enthält: einen Zustandsübergangsparameter (A), einen Prozessrauschparameter (N) und/oder einen Prozessdriftparameter (B).
  • Im Beispiel 20 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Prozessdaten basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung zu modellieren: x k + 1 = A k + 1 x k + N k + 1 + b k + 1 ,
    Figure DE102017111926A1_0228
    wobei xk+1 ein Zustandsvektor ist, xk ein vorhergehender Zustandsvektor ist, Ak+1 eine Zustandsübergangsmatrix ist, Nk+1 ein Prozessrauschvektor ist, Bk+1 ein Prozessdriftvektor ist und wobei k eine Zählervariable ist.
  • Im Beispiel 21 kann die Prozesssteuerschaltung des Beispiels 20 optional enthalten, dass Nk+1 = Qk + 1 ξk+1 gilt, wobei ξk+1 ein Zufallsvektor ist, der das Prozessrauschen (z. B. mit E[ξ] = 0; E[ξ2] = I) repräsentiert, und eine Qk+1 Rauschskalierungsmatrix ist.
  • Im Beispiel 22 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Messdaten basierend auf einem Messmodell zu modellieren, das wenigstens einen der folgenden Messmodellparameter enthält: einen Beobachtungsparameter (C), einen Messrauschparameter (M) und/oder einen Messversatzparameter (D).
  • Im Beispiel 23 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Messdaten basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung zu modellieren: y k + 1 = C k + 1 x k + 1 + M k + 1 + D k + 1 ,
    Figure DE102017111926A1_0229
    wobei yk+1 ein skalarer Messwert oder ein Messvektor ist, Ck+1 ein Beobachtungsvektor oder eine Beobachtungsmatrix ist (der bzw. die den Beitrag der Elemente des Zustandsvektors xk+1 zu yk+1 beschreibt), Mk+1 ein Messrauschskalar oder ein Messrauschenvektor ist und Dk+1 ein Messversatzskalar oder ein Messversatzvektor ist und wobei k eine Zählervariable ist.
  • Im Beispiel 24 kann die Prozesssteuerschaltung des Beispiels 23 optional enthalten, dass Mk+1 = Rk+1 ηk+1 gilt, wobei ηk+1 ein skalarer Zufallswert oder ein Zufallsvektor, der das Messrauschen repräsentiert, (z. B. mit E[η] = 0; E[η2] = I) ist und Rk+1 ein Rauschskalierungsskalar oder eine Rauschskalierungsmatrix ist.
  • Im Beispiel 25 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Zustandsinformationen basierend auf einem ersten Satz von Gleichungen zu aktualisieren und den früheren Zustand der Zustandsinformationen basierend auf einem zweiten Satz von Gleichungen wiederherzustellen, wobei die Gleichungen des ersten Satzes von Gleichungen unabhängig von den Gleichungen des zweiten Satzes von Gleichungen ausgeführt werden.
  • Beispiel 26 kann die Prozesssteuerschaltung des Beispiels 25 optional enthalten, dass der erste Satz von Gleichungen auf den folgenden Gleichungen und/oder ähnlichen Gleichungen basiert: x ^ k + 1 = A k + 1 x ^ k + B k + 1 ,
    Figure DE102017111926A1_0230
    P k + 1 = A k + 1 P k A k + 1 T + Q k + 1 Q k + 1 T ,
    Figure DE102017111926A1_0231
    wobei Pk, Pk+1 eine Fehlerkovarianzmatrix (d.h., eine vorhergehende und aktualisierte Fehlerkovarianzmatrix) ist und x̂k die Zustandsinformationen sind und x̂k+1 die geschätzten Zustandsinformationen sind (d. h., x̂k ist die vorhergehende und x̂k+1 ist die aktualisierte Zustandsschätzung).
  • Im Beispiel 27 kann die Prozesssteuerschaltung des Beispiels 25 oder 26 optional enthalten, dass der zweite Satz von Gleichungen auf den folgenden Gleichungen und/oder ähnlichen Gleichungen basiert: x ^ k + 1 = x ^ k + K k + 1 ( y k + 1 C k + 1 x ^ k D k + 1 )
    Figure DE102017111926A1_0232
    P k + 1 = ( I K k + 1 C k + 1 ) P k
    Figure DE102017111926A1_0233
    K k + 1 = P k C k + 1 T ( C k + 1 P k C k + 1 T + R k + 1 R k + 1 T ) 1 ,
    Figure DE102017111926A1_0234
    wobei Kk+1 ein Rückkopplungsverstärkungsvektor ist und I eine Identitätsmatrix ist.
  • Gemäß verschiedenen Ausführungsformen wird erkannt, dass andere äquivalente Formulierungen derselben Gleichungen erhalten werden können.
  • Im Beispiel 28 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die statistischen Fehlerinformationen der geschätzten Zustandsinformationen eine Varianz des Schätzfehlers, σ2 ERR, basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung enthalten: σ E R R 2 = C ¯ P k + 1 C ¯ T ,
    Figure DE102017111926A1_0235
    wobei Pk+1 eine Fehlerkovarianzmatrix ist und C ein Zustandsextraktorvektor ist.
  • Im Beispiel 29 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, vorhergesagte Messereignisdaten (yk+1) für ein nachfolgendes Messereignis mit entsprechenden (Messwert-) Vorhersagefehlerinformationen bereitzustellen.
  • Im Beispiel 30 kann die Prozesssteuerschaltung des Beispiels 29 optional enthalten, dass die (Messwert-) Vorhersagefehlerinformationen der vorhergesagten Messereignisdaten statistische Fehlerinformationen sind.
  • Im Beispiel 31 kann die Prozesssteuerschaltung des Beispiels 29 oder 30 optional enthalten, dass die vorhergesagten Messereignisdaten auf einer Kombination aus einem oder mehreren Elementen des geschätzten Zustandsvektors basieren.
  • Im Beispiel 32 kann die Prozesssteuerschaltung nach einem der Beispiele 29 bis 31 optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Zustandsinformationen und/oder ein Prozessmodell basierend auf den Genauigkeitsinformationen der vorhergesagten Messereignisdaten zu validieren.
  • Im Beispiel 33 kann die Prozesssteuerschaltung nach einem der Beispiele 29 bis 32 optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Zustandsinformationen und/oder das Prozessmodell basierend auf den statistischen Fehlerinformationen der vorhergesagten Messereignisdaten zu validieren.
  • Im Beispiel 34 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, die erfassten Messdaten basierend auf den Genauigkeitsinformationen der vorhergesagten Messereignisdaten zu validieren. Die Datenverschmelzungsschaltung kann konfiguriert sein, die erfassten Messdaten basierend auf den statistischen Fehlerinformationen der vorhergesagten Messereignisdaten zu validieren.
  • Im Beispiel 35 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, die erfassten Messdaten durch das Berechnen eines Vorhersagefehlers (der außerdem als Erneuerung bezeichnet wird) zu validieren.
  • Im Beispiel 36 kann die Prozesssteuerschaltung des Beispiels 35 optional enthalten, dass der Vorhersagefehler, v, basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung berechnet wird: v = y k + 1 C k + 1 x ^ k D k + 1 .
    Figure DE102017111926A1_0236
  • Im Beispiel 37 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, die erfassten Messdaten durch das Berechnen einer normierten Erneuerung des Verhältnisses und durch das Vergleichen der berechneten normierten Erneuerung des Verhältnisses mit einem Bezugswert zu validieren.
  • Im Beispiel 38 kann die Prozesssteuerschaltung des Beispiels 37 optional enthalten, dass die normierte Erneuerung des Verhältnisses, v0, basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung berechnet wird: v 0 = y k + 1 C k + 1 x ^ k D k + 1 C k + 1 P k C k + 1 T + R k + 1 R k + 1 T .
    Figure DE102017111926A1_0237
  • Im Beispiel 39 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, geschätzte Messdaten unter Verwendung eines Prozessmodells und eines Messmodells bereitzustellen, um bezüglich einer Fehlanpassung zwischen den Messdaten und den geschätzten Messdaten zu prüfen.
  • Im Beispiel 40 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional ferner eine Kommunikationsschaltung enthalten, die konfiguriert ist, eine Alarmnachricht in dem Fall, dass eine Fehlanpassung gemäß Beispiel 39 detektiert wird, bereitzustellen (z. B. zu erzeugen und zu senden).
  • Verschiedene Beispiele beziehen sich darauf, komplexen Mehrdeutigkeiten gewachsen zu sein.
  • Im Beispiel 41 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Genauigkeitsinformationen basierend auf einem Schätzfehler zu bestimmen, wobei der Schätzfehler in einen endlichen Teil und in einen unendlichen Teil zerlegt ist.
  • Im Beispiel 42 kann die Prozesssteuerschaltung des Beispiels 41 optional enthalten, dass der Schätzfehler über eine Fehlerkovarianzmatrix (P) oder eine invertierte Fehlerkovarianzmatrix (P-1, die außerdem als eine Informationsmatrix bezeichnet wird) bestimmt wird.
  • Im Beispiel 43 kann die Prozesssteuerschaltung des Beispiels 42 optional enthalten, dass die Fehlerkovarianzmatrix oder die invertierte Fehlerkovarianzmatrix in einen endlichen Teil (PR) und in einen unendlichen Teil (PI) zerlegt ist.
  • Im Beispiel 44 kann die Prozesssteuerschaltung des Beispiels 42 oder 43 optional enthalten, dass die Fehlerkovarianzmatrix (oder die invertierte Fehlerkovarianzmatrix) gemäß der folgenden Gleichung und/oder einer ähnlichen Gleichung zerlegt ist: P k = P R , k + κ P I , k ,
    Figure DE102017111926A1_0238
    mit κ → ∞.
  • Im Beispiel 45 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, in einem ersten Fall basierend auf einem ersten Satz von Gleichungen zur Wiederherstellung des früheren Zustands und in einem zweiten Fall auf einem zweiten Satz von Gleichungen zur Wiederherstellung des früheren Zustands den früheren Zustand der Zustandsinformationen wiederherzustellen, wobei der erste Fall und der zweite Fall über ein Unterscheidungskriterium voneinander unterschieden sind.
  • Im Beispiel 46 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, den Vorhersagefehler für neue Messungen zu berechnen und zu prüfen, ob der Vorhersagefehler unendliche Teile enthält.
  • Im Beispiel 47 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, geschätzte Messdaten und einen entsprechenden Vorhersagefehler zu berechnen und zu prüfen, ob der Vorhersagefehler unendliche Teile enthält.
  • Im Beispiel 48 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, den früheren Zustand der Zustandsinformationen für einen Messvektor über mehrere einzelne skalare Wiederherstellungen des früheren Zustands wiederherzustellen.
  • Im Beispiel 49 kann die Prozesssteuerschaltung des Beispiels 48 optional enthalten, dass für jede der einzelnen skalaren Wiederherstellungen des früheren Zustands geprüft wird, ob der entsprechende Messwert-Vorhersagefehler unendliche Teile enthält.
  • Im Beispiel 50 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, basierend auf einem numerischen Bezugswert, LNUM, zu prüfen, ob der Messwert-Vorhersagefehler (oder mit anderen Worten der Vorhersagefehler für neue Messwerte) unendliche Teile enthält.
  • Im Beispiel 51 kann die Prozesssteuerschaltung des Beispiels 50 optional enthalten, dass ein erster Satz von Gleichungen zur Wiederherstellung des früheren Zustands verwendet wird, um den früheren Zustand der Zustandsinformationen wiederherzustellen, wenn |FI,k+1| > LNUM gilt, und dass ein zweiter Satz von Gleichungen zur Wiederherstellung des früheren Zustands verwendet wird, um den früheren Zustand der Zustandsinformationen wiederherzustellen, wenn gilt |FI,k+1| ≤ LNUM, mit: F I , k + 1 : = C k + 1 P l , k C k + 1 T .
    Figure DE102017111926A1_0239
    In diesem Fall entspricht FI,k+1 dem unendlichen Teil des Vorhersagefehlers.
  • Veranschaulichend wählt der Beobachtungsparameter C im Beispiel 51 ein Produkt und ein Messwerkzeug aus.
  • Verschiedene Beispiele beziehen sich auf eine robuste Unterscheidung zwischen einer endlichen und einer unendlichen Varianz der Messwertvorhersage.
  • Im Beispiel 52 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, basierend auf einem Beobachtungsparameter C und einer Fehlerkovarianzmatrix P einen Unterscheidungswert bereitzustellen und den Unterscheidungswert mit einem Bezugswert, LNUM, zu vergleichen.
  • Im Beispiel 53 kann die Prozesssteuerschaltung des Beispiels 52 optional enthalten, dass der Beobachtungsparameter C faktorisiert ist.
  • Im Beispiel 54 kann die Prozesssteuerschaltung des Beispiels 53 optional enthalten, dass der Beobachtungsparameter C ein Beobachtungsvektor C ist, der basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung faktorisiert ist: C = C 0 | C | ,
    Figure DE102017111926A1_0240
    mit C := Ck+1 und |C0| = 1.
  • Die Faktorisierung gemäß Beispiel 54 führt z. B. zu Folgendem F I 0, k = C 0 P I , k C 0 T .
    Figure DE102017111926A1_0241
    Gemäß verschiedenen Ausführungsformen kann FI0,k als ein Unterscheidungskriterium verwendet werden.
  • Verschiedene Beispiele beziehen sich auf das Anwenden einer Quadratwurzelfaktorisierung.
  • Im Beispiel 55 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Fehlerkovarianzmatrix oder die invertierte Fehlerkovarianzmatrix (die außerdem als die Informationsmatrix bezeichnet wird) faktorisiert ist.
  • Im Beispiel 56 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Fehlerkovarianzmatrix oder die invertierte Fehlerkovarianzmatrix in Dreiecksmatrizen faktorisiert ist. Optional kann die Fehlerkovarianzmatrix oder die invertierte Fehlerkovarianzmatrix zusätzlich in eine oder mehrere Diagonalmatrizen (z. B. die Matrix D) faktorisiert sein.
  • Im Beispiel 57 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Fehlerkovarianzmatrix (z. B. P) (oder die invertierte Fehlerkovarianzmatrix) eine n × n-Matrix ist (die außerdem als eine (n, n)-Matrix bezeichnet wird, die z. B. n Zeilen und n Spalten besitzt) und dass die Dreiecksmatrix (z. B. S) eine n × n-Matrix ist, wobei n eine natürliche Zahl ist. Alle Faktorisierungsmatrizen der faktorisierten Fehlerkovarianzmatrix können quadratisch sein und die gleiche Größe (n × n) wie die Fehlerkovarianzmatrix aufweisen.
  • Im Beispiel 58 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Fehlerkovarianzmatrix (oder die invertierte Fehlerkovarianzmatrix) basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung faktorisiert ist: P = S T S  oder  P = U T D   U ,
    Figure DE102017111926A1_0242
    wobei D eine Diagonalmatrix ist.
  • Im Beispiel 59 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Dreiecksmatrix (z. B. S oder U) eine Anzahl von n Zeilen aufweist und vom Rang r ist und eine Anzahl von n minus r Zeilen, die exakt null sind, enthält. Die Fehlerkovarianzmatrix P weist eine Anzahl von n Zeilen auf und ist vom Rang r.
  • Im Beispiel 60 kann die Prozesssteuerschaltung des Beispiels 59 optional enthalten, dass für jede der n Zeilen, die wenigstens ein von null verschiedenes Element enthält, das entsprechende Diagonalelemente der Dreiecksmatrix (z. B. S oder U) nicht null ist.
  • Im Beispiel 61 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Fehlerkovarianzmatrix basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung faktorisiert ist: P = S   S T  oder  P = U   D   U T ,
    Figure DE102017111926A1_0243
    wobei D eine Diagonalmatrix ist.
  • Gemäß verschiedenen Ausführungsformen kann die Dreiecksmatrix (z. B. S oder U) (z. B. gemäß den Beispielen 58 und 61) eine obere oder untere rechte Matrix oder eine obere oder untere linke Matrix sein.
  • Im Beispiel 62 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Dreiecksmatrix (z. B. S oder U) eine Anzahl von n Spalten aufweist und vom Rang r ist und eine Anzahl von n minus r Spalten, die exakt null sind, enthält. Die Fehlerkovarianzmatrix P weist eine Anzahl von n Zeilen auf und ist vom Rang r.
  • Im Beispiel 63 kann die Prozesssteuerschaltung des Beispiels 62 optional enthalten, dass für jede der n Spalten, die wenigstens ein von null verschiedenes Element enthält, das entsprechende Diagonalelement der Dreiecksmatrix (z. B. S oder U) nicht null ist.
  • Im Beispiel 64 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, eine Anzahl von g Zeilen oder Spalten, die exakt null sind, in der Dreiecksmatrix (z. B. S oder U) zu erzeugen, falls der Rang der Dreiecksmatrix (z. B. S oder U) um die Zahl g verringert ist.
  • Im Beispiel 65 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, eine Anzahl g von Zeilen oder Spalten, die exakt null sind, in der Dreiecksmatrix (z. B. S oder U) zu erzeugen, falls der Rang der Fehlerkovarianzmatrix P um die Zahl g verringert ist.
  • Im Beispiel 66 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass der Algorithmus zum Wiederherstellen des früheren Zustands die Zeilen oder die Spalten der Dreiecksmatrix (z. B. S oder U) sequentiell (eine nach der anderen) verarbeitet. Ferner können die Zeilen/Spalten, die exakt null sind, durch eine andere Prozedur als die von null verschiedenen Zeilen verarbeitet werden. Ferner können vorhandene Null-Zeilen/Spalten bewahrt werden.
  • Im Beispiel 67 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass der endliche Teil (PR ) und der unendliche Teil (PI ) der Fehlerkovarianzmatrix faktorisiert sind. Dies kann die numerische Genauigkeit vergrößern.
  • Im Beispiel 68 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass der endliche Teil (PR ) und der unendliche Teil (PI ) der Fehlerkovarianzmatrix basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung faktorisiert sind: P R = S R T S R ,   P R = S R S R T ,   P R = U R T D   U R   oder  P R = U R   D   U R T ;
    Figure DE102017111926A1_0244
    P I = S I T S I ,   P I = S I S I T ,   P I = U I T D   U oder  P I = U I   D   U I T ;
    Figure DE102017111926A1_0245
    SI SR UI UR ein Cholesky-Faktor ist und wobei D eine Diagonalmatrix ist.
  • Gemäß verschiedenen Ausführungsformen ist der Cholesky-Faktor eine Dreiecksmatrix.
  • Verschiedene Beispiele beziehen sich auf eine Quadratwurzelaktualisierung.
  • Im Beispiel 69 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Fehlerkovarianzmatrix (oder in einer ähnlichen Weise die invertierte Fehlerkovarianzmatrix) zerlegt ist.
  • Im Beispiel 70 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Fehlerkovarianzmatrix (oder in einer ähnlichen Weise die invertierte Fehlerkovarianzmatrix) faktorisiert und zerlegt ist.
  • Im Beispiel 71 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass ein endlicher Teil der Fehlerkovarianzmatrix faktorisiert und zerlegt ist und dass ein unendlicher Teil der Fehlerkovarianzmatrix faktorisiert und zerlegt ist.
  • Im Beispiel 72 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass der endliche Teil der Fehlerkovarianzmatrix basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung faktorisiert und zerlegt ist: P R = U R   D   U R T + P R ,0 .
    Figure DE102017111926A1_0246
    oder P R = U R   D   U R T + P R ,0 .
    Figure DE102017111926A1_0247
  • Im Beispiel 73 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass der unendliche Teil der Fehlerkovarianzmatrix basierend auf der folgenden Gleichung und/oder einer ähnlichen Gleichung faktorisiert und zerlegt ist: P I = U I   D   U I T + P I ,0
    Figure DE102017111926A1_0248
    oder P I = U I   D   U I T + P I ,0
    Figure DE102017111926A1_0249
  • Die Matrizen PR,0 PI,0 des Beispiels 72 und 73 sind Diagonalmatrizen (der Größe n).
  • Im Beispiel 74 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Fehlerkovarianzmatrix in eine Haupt-Fehlerkovarianzmatrix und in eine Prozessrauschmatrix zerlegt ist, um das angesammelte Prozessrauschen in der Prozessrauschmatrix separat zu behandeln.
  • Im Beispiel 75 kann die Prozesssteuerschaltung des Beispiels 74 optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, neues Prozessrauschen nur zu der Prozessrauschmatrix hinzuzufügen (Prozessaktualisierung) und die (von null verschiedenen) Elemente der Prozessrauschmatrix vor irgendeiner späteren Wiederherstellung des früheren Zustands zu der Haupt-Kovarianzmatrix in dem Fall zu übertragen, in dem die Wiederherstellung des früheren Zustands die auf diese Matrixelemente bezogenen Zustandselemente einbezieht.
  • Im Beispiel 76 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die invertierte Fehlerkovarianzmatrix (z. B. die Informationsmatrix) in eine Haupt-Informationsmatrix und in eine Messrauschmatrix zerlegt ist, um das angesammelte Messrauschen in der Messrauschmatrix separat zu behandeln.
  • Im Beispiel 77 kann die Prozesssteuerschaltung des Beispiels 76 optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, neues Messrauschen nur zu der Messrauschmatrix hinzuzufügen (Wiederherstellung des früheren Zustands) und die (von null verschiedenen Elemente) der Messrauschmatrix vor irgendeiner späteren Prozessaktualisierung zu der Haupt-Informationsmatrix zu übertragen, falls die Aktualisierung die auf diese Matrixelemente bezogenen Zustandselemente einbezieht.
  • Im Beispiel 78 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die Zustandsinformationen basierend auf einem ersten Satz von Aktualisierungsgleichungen, die den Übergang des Zustands (A-Aktualisierung) behandeln, und einem zweiten Satz von Aktualisierungsgleichungen zum Hinzufügen neuen Prozessrauschens zu dem Zustand (Q-Aktualisierung) zu aktualisieren.
  • Im Beispiel 79 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass eine Zustandsübergangsmatrix (A) in Einheitsblöcke und Nichteinheitsblöcke getrennt ist, um die Zustandsinformationen zu aktualisieren.
  • Im Beispiel 80 kann die Prozesssteuerschaltung des Beispiels 78 oder 79 optional enthalten, dass die Zustandsübergangsmatrix (A) als eine Block-Diagonalmatrix mit mehreren Einheitsblöcken und Nichteinheitsblöcken formuliert ist oder in eine Block-Diagonalmatrix mit mehreren Einheitsblöcken und Nichteinheitsblöcken transformiert ist.
  • Im Beispiel 81 kann die Prozesssteuerschaltung des Beispiels 79 oder 80 optional enthalten, dass die Gesamtprozessaktualisierung als eine Folge von Unterprozessaktualisierungen formuliert ist, wobei jede Unterprozessaktualisierung einen der mehreren Nichteinheitsblöcke berücksichtigt.
  • Verschiedene Beispiele beziehen sich auf die Validierung von Kalman-Filter-Modellen, die auf die wirklichen Daten abgestimmt sind.
  • Im Beispiel 82 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, das Prozessmodell (z. B. die Prozessmodellparameter) und/oder das Messmodell (z. B. die Messmodellparameter) basierend auf einem Satz von Trainingsdaten zu validieren und/oder abzustimmen.
  • Im Beispiel 83 kann die Prozesssteuerschaltung des Beispiels 82 optional enthalten, dass der Satz von Trainingsdaten die verfügbaren Prozessdaten (z. B. die Kontextdaten und/oder die Logistikdaten der Bearbeitungsanordnung und des Betriebs der Bearbeitungsanordnung) und/oder die verfügbaren Messdaten (die z. B. auf die Prozessdaten abgebildet sind) enthält.
  • Im Beispiel 84 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, ein abgestimmtes Prozessmodell und/oder ein abgestimmtes Messmodell zu validieren.
  • Im Beispiel 85 kann die Prozesssteuerschaltung des Beispiels 84 optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, das (z. B. abgestimmte) Prozessmodell und/oder das (z. B. abgestimmte) Messmodell basierend auf einem normierten Vorhersagefehlersignal zum Vorhersagen von Bezugs-Messereignisdaten für mehrere Messereignisse zu validieren.
  • Im Beispiel 86 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, das Prozessmodell und/oder das Messmodell basierend auf einem Durchschnittswert zu validieren, der mehrere symmetrisierte normierte Vorhersagefehler berücksichtigt.
  • Im Beispiel 87 kann die Prozesssteuerschaltung des Beispiels 86 optional enthalten, dass die symmetrisierten normierten Vorhersagefehler durch das Anwenden einer symmetrischen Funktion auf die normierten Vorhersagefehler bereitgestellt werden.
  • Im Beispiel 88 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, das Prozessmodell und/oder das Messmodell (z. B. alle Parameter) basierend auf einem Wahrscheinlichkeitssignal und/oder einem Wahrscheinlichkeitsgradientensignal für einen oder mehrere Modellparameter (z. B. für einen spezifischen Modellparameter) zu validieren. Das Signal kann eine Folge von Zahlen sein, wobei jede Zahl einem Messwert entspricht.
  • Verschiedene Beispiele beziehen sich auf das Verfolgen, Überwachen und Austesten eines rekursiven Schätz- und Vorhersagealgorithmus.
  • Im Beispiel 89 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, mehrere Sicherungszustandsinformationen (um dadurch z. B. zusätzliche historische Daten zu erzeugen) und mehrere Sicherungsmodellparameter zu speichern, um wenigstens eine Zustandsinformation, die zu überwachen ist, zu rekonstruieren.
  • Im Beispiel 90 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, wenigstens eine Zustandsinformation, die zu überwachen ist, während des Betreibens des Filters zu rekonstruieren.
  • Im Beispiel 91 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, die wenigstens eine Zustandsinformation, die zu überwachen ist, durch das erneute Berechnen der wenigstens eine Zustandsinformation, die zu überwachen ist, beginnend von einer der gespeicherten mehreren Sicherungszustandsinformationen und unter Berücksichtigung oder Einbeziehung eines oder mehrerer der gespeicherten mehreren Modellparameter zu rekonstruieren.
  • Im Beispiel 92 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional ferner eine Datenverarbeitungsschaltung enthalten, die konfiguriert ist, (z. B. eine anwenderdefinierte) Kombination aus einem oder mehreren Zustandsinformationselementen der wenigstens einen Zustandsinformation, die zu überwachen ist, zu rekonstruieren.
  • Im Beispiel 93 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, Zustandsinformationen oder eine Kombination aus Zustandsinformationselementen der Zustandsinformationen in eine gewichtete Summe unter Berücksichtigung mehrerer vorhergehender Messereignisdaten zu zerlegen.
  • Im Beispiel 94 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, eine oder mehrere Verfolgungs- und/oder Austestgrößen unter Berücksichtigung wenigstens einer anwenderdefinierten (z. B. linearen) Kombination der Zustandsinformationselemente der Zustandsinformationen bereitzustellen.
  • Im Beispiel 95 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, einen exakten Wahrscheinlichkeitsgradienten des Prozessmodells (z. B. für die Prozessgleichungen und/oder die Messgleichungen) zu berechnen.
  • Im Beispiel 96 kann die Prozesssteuerschaltung des Beispiels 95 optional enthalten, dass ein verallgemeinertes Inverses (Pseudoinverses) eines Produkts verwendet wird, um einen exakten Wahrscheinlichkeitsgradienten des Prozessmodells zu berechnen, wobei das Produkt eine Matrix eines Prozess- oder Messmodellparameters und die Transponierte der Matrix enthält.
  • Im Beispiel 97 kann die Prozesssteuerschaltung des Beispiels 95 oder 96 optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, einen exakten Wahrscheinlichkeitsgradienten des Prozessmodells unter Berücksichtigung der folgenden Gleichung oder einer ähnlichen Gleichung zu berechnen: N k 1 = ( I C k T K k T ) A k + 1 T N k A k + 1 ( I C k K k ) + C k T F k 1 C k .
    Figure DE102017111926A1_0250
    Gemäß verschiedenen Ausführungsformen ist die Matrix N im Beispiel 97 faktorisiert.
  • Im Beispiel 98 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung 108 ferner konfiguriert ist, einen exakten Wahrscheinlichkeitsgradienten des Prozessmodells und/oder des Messmodells unter Verwendung eines verallgemeinernden Inversen eines Produkts, wobei das Produkt eine Matrix eines Prozess- oder Messmodellparameters und ihre Transponierte enthält, und/oder unter Verwendung einer Vorwärts- und einer Rückwärtsiteration, wobei wenigstens eine Iterationsmatrix in der Vorwärtsiteration faktorisiert ist und/oder wobei wenigstens eine Iterationsmatrix in der Rückwärtsiteration faktorisiert ist, zu berechnen.
  • Im Beispiel 99 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, einen vereinigten Prozessmodellparameter jeweils für einen oder mehrere der Prozessmodellparameter bereitzustellen. Der vereinigte Prozessmodellparameter repräsentiert mehrerer Prozessmodellparameter der entsprechenden Prozessereignisse, für die keine Messereignisse berücksichtigt werden.
  • Verschiedene Beispiele beziehen sich auf eine Unterbrechungsmodellierung für ein Prozessmodell und/oder ein Messmodell für einen rekursiven Schätz- und Vorhersagealgorithmus.
  • Im Beispiel 100 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, die erfassten Messdaten basierend auf statistischen Fehlerinformationen zu validieren, um eine Fehlanpassung des Modells zu bestimmen.
  • Im Beispiel 101 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, z. B. in dem Fall, in dem eine Fehlanpassung bestimmt wird, wie im Beispiel 100 beschrieben ist, ein Bezugsmodell aus mehreren Bezugsmodellen auszuwählen und die Zustandsinformationen basierend auf dem ausgewählten Bezugsmodell neu zu berechnen.
  • Im Beispiel 102 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung konfiguriert ist, ein erstes Bezugsmodell aus mehreren Bezugsmodellen auszuwählen und die Zustandsinformationen basierend auf dem ausgewählten ersten Bezugsmodell neu zu berechnen und einen ersten Modellübereinstimmungsparameter zu bestimmen und ein zweites Bezugsmodell aus mehreren Bezugsmodellen auszuwählen und die Zustandsinformationen basierend auf dem ausgewählten zweiten Bezugsmodell neu zu berechnen und einen zweiten Modellübereinstimmungsparameter zu bestimmen und den ersten Modellübereinstimmungsparameter mit dem zweiten Modellübereinstimmungsparameter zu vergleichen und basierend auf dem Vergleich das erste oder das zweite Modell für den weiteren Betrieb auszuwählen.
  • Im Beispiel 103 kann die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele optional enthalten, dass die Datenverschmelzungsschaltung ferner konfiguriert ist, ein Modell, das zum Aktualisieren und/oder Wiederherstellen des früheren Zustands verwendet wird, (z. B. das Prozessmodell und/oder das Messmodell) zu validieren und/oder abzustimmen.
  • Das Beispiel 104 ist ein Verfahren zum Steuern einer Bearbeitungsanordnung, wobei das Verfahren Folgendes enthält: Erfassen von Prozessdaten und Messdaten der Bearbeitungsanordnung, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; Bereitstellen von Zustandsinformationen, die einen Status der Bearbeitungsanordnung repräsentieren, und von Genauigkeitsinformationen, die eine Genauigkeit der Zustandsinformationen repräsentieren; Aktualisieren der Zustandsinformationen basierend auf den erfassten Prozessereignisdaten, wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen Wiederherstellen des früheren Zustands der Zustandsinformationen basierend auf den erfassten Messereignisdaten, wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und Steuern der Bearbeitungsanordnung basierend auf den Zustandsinformationen und/oder den Genauigkeitsinformationen.
  • Das Beispiel 105 ist ein nichtflüchtiges computerlesbares Medium mit Programmanweisungen, die, wenn sie ausgeführt werden, eine Vorrichtung veranlassen, eine Steuerung einer Bearbeitungsanordnung auszuführen, die Folgendes enthält: Erfassen von Prozessdaten und Messdaten der Bearbeitungsanordnung, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; Bereitstellen von Zustandsinformationen, die einen Status der Bearbeitungsanordnung repräsentieren, und von Genauigkeitsinformationen, die eine Genauigkeit der Zustandsinformationen repräsentieren; Aktualisieren der Zustandsinformationen basierend auf den erfassten Prozessereignisdaten, wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen Wiederherstellen des früheren Zustands der Zustandsinformationen basierend auf den erfassten Messereignisdaten, wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und Steuern der Bearbeitungsanordnung basierend auf den Zustandsinformationen und/oder den Genauigkeitsinformationen.
  • Das Beispiel 106 ist eine Prozesssteuerschaltung, die Folgendes enthält: eine Datenerfassungsschaltung, die konfiguriert ist, die Prozessdaten und die Messdaten einer Bearbeitungsanordnung zu erfassen, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; eine Datenverschmelzungsschaltung, die konfiguriert ist, geschätzte Zustandsinformationen, wobei die geschätzten Zustandsinformationen einen geschätzten Status der Bearbeitungsanordnung repräsentieren, und Fehlerinformationen, die einen Schätzfehler der geschätzten Zustandsinformationen repräsentieren, bereitzustellen; wobei die Datenverschmelzungsschaltung ferner konfiguriert ist, die geschätzten Zustandsinformationen durch das Aktualisieren und das Wiederherstellen des früheren Zustands vorhergehender Zustandsinformationen basierend auf den erfassten Prozessereignisdaten und Messereignisdaten bereitzustellen, wobei der Schätzfehler durch das Aktualisieren (z. B. das Berücksichtigen der Prozessdaten) vergrößert wird und wobei der Schätzfehler durch das Wiederherstellen des früheren Zustands (z. B. das Berücksichtigen der Messereignisdaten) verkleinert wird, und eine Steuerschaltung, die konfiguriert ist, die Bearbeitungsanordnung basierend auf den geschätzten Zustandsinformationen (X) und/oder dem Schätzfehler zu steuern.
  • Das Beispiel 107 ist eine Prozesssteuerschaltung, die Folgendes enthält: eine Datenerfassungsschaltung, die konfiguriert ist, die Prozessdaten und die Messdaten einer Bearbeitungsanordnung zu erfassen, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; eine Schaltung zur rekursiven Prozesssteuerung, die konfiguriert ist, aktuelle Zustandsinformationen basierend auf den Prozessereignisdaten eines aktuellen Prozessereignisses und einer Folge vorhergehender Prozess- (und z. B. Mess-) Ereignisse rekursiv zu berechnen und die aktuellen Zustandsinformationen beim Erfassen von Messereignisdaten, die wenigstens einem vorhergehenden Prozessereignis der Folge von vorhergehenden Prozessereignissen entsprechen, (und/oder beim Erfassen von Prozessereignisdaten) neu zu berechnen, und eine Steuerschaltung, die konfiguriert ist, die Bearbeitungsanordnung basierend auf den aktuellen Zustandsinformationen (X) und/oder basierend auf einer Genauigkeit (ΔX) der aktuellen Zustandsinformationen (X) zu steuern.
  • Im Beispiel 108 wird die Prozesssteuerschaltung nach einem der vorhergehenden Beispiele bei der Losfertigung zum Herstellen mehrerer Produkte verwendet, wobei jedes der mehreren Produkte über mehrere Prozesse hergestellt wird. Die Losfertigung kann zu einem riesigen Datenbestand führen, der behandelt werden muss, wobei der riesige Datenbestand durch die hier beschriebene Datenverschmelzungsschaltung 108 automatisch behandelt wird.
  • Während die Erfindung bezüglich spezifischer Ausführungsformen speziell gezeigt und beschrieben worden ist, sollte es für die Fachleute auf dem Gebiet selbstverständlich sein, dass verschiedene Änderungen an der Form und den Einzelheiten daran vorgenommen werden können, ohne vom Erfindungsgedanken und Schutzumfang der Erfindung, die durch die beigefügten Ansprüche definiert sind, abzuweichen. Der Schutzumfang der Erfindung ist folglich durch die beigefügten Ansprüche angegeben, wobei deshalb vorgesehen ist, dass alle Änderungen, die in die Bedeutung und den Äquivalenzbereich der Ansprüche kommen, einbezogen sind.

Claims (29)

  1. Prozesssteuerschaltung (100), die Folgendes umfasst: eine Datenerfassungsschaltung (102), die konfiguriert ist, die Prozessdaten und die Messdaten einer Bearbeitungsanordnung (104) zu erfassen, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; eine Datenverschmelzungsschaltung (108), die konfiguriert ist, Zustandsinformationen, wobei die Zustandsinformationen einen Status der Bearbeitungsanordnung (104) repräsentieren, und Genauigkeitsinformationen, die eine Genauigkeit der Zustandsinformationen repräsentieren, bereitzustellen; wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, basierend auf den erfassten Prozessereignisdaten die Zustandsinformationen zu aktualisieren, wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen basierend auf den erfassten Messereignisdaten den früheren Zustand der Zustandsinformationen wiederherzustellen, wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und eine Steuerschaltung (110), die konfiguriert ist, die Bearbeitungsanordnung (104) basierend auf den Zustandsinformationen und/oder basierend auf den Genauigkeitsinformationen zu steuern.
  2. Prozesssteuerschaltung nach Anspruch 1, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Zustandsinformationen basierend auf einem Prozessmodell, das die Prozessmodellparameter und die Prozessmodell-Schätzparameter berücksichtigt, zu aktualisieren; und/oder wobei die Datenverschmelzungsschaltung ferner konfiguriert ist, den früheren Zustand der Zustandsinformationen basierend auf einem Messmodell, das die Messmodellparameter und die Messmodell-Schätzparameter berücksichtigt, wiederherzustellen.
  3. Prozesssteuerschaltung nach Anspruch 1 oder 2, wobei die Steuerschaltung (110) ferner konfiguriert ist, Prozesssteuerdaten basierend auf den Zustandsinformationen und/oder basierend auf den Genauigkeitsinformationen bereitzustellen, um die Bearbeitungsanordnung (104) zu steuern; und/oder wobei die Steuerschaltung ferner konfiguriert ist, Überwachungsdaten basierend auf den Zustandsinformationen und/oder basierend auf den Genauigkeitsinformationen bereitzustellen, um wenigstens eine von der Bearbeitungsanordnung (104), der Datenerfassungsschaltung (102) oder der Datenverschmelzungsschaltung (108) zu überwachen.
  4. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 3, wobei die Datenverschmelzungsschaltung (108) konfiguriert ist, die Genauigkeitsinformationen basierend auf einem statistischen Schätzfehler bereitzustellen.
  5. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 4, wobei die Datenverschmelzungsschaltung (108) konfiguriert ist, die Prozessdaten und die Messdaten basierend auf einem Kalman-Filter zu verschmelzen, um die Zustandsinformationen und/oder die Genauigkeitsinformationen bereitzustellen.
  6. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 5, wobei die Datenerfassungsschaltung (102) ferner konfiguriert ist, die Messereignisse mit den entsprechenden Prozessereignissen zu korrelieren.
  7. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 6, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, aktuelle Zustandsinformationen basierend auf den Prozessereignisdaten eines aktuellen Prozessereignisses und einer Folge vorheriger Prozessereignisse zu berechnen und beim Erfassen von Messereignisdaten, die wenigstens einem vorhergehenden Prozessereignis der Folge vorhergehender Prozessereignisse entsprechen, die aktuellen Zustandsinformationen neu zu berechnen.
  8. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 7, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Prozessdaten basierend auf einem Prozessmodell, das einen oder mehrere Prozessmodellparameter zum Modellieren bekannter Einflüsse und/oder einen oder mehrere Prozessschätzparameter zum Modellieren unbekannter Einflüsse umfasst, zu modellieren; und wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Messdaten basierend auf einem oder mehreren Messmodellparametern zum Modellieren bekannter Einflüsse und/oder einem oder mehreren Messschätzparametern zum Modellieren unbekannter Einflüsse zu modellieren.
  9. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 8, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Zustandsinformationen basierend auf einem ersten Satz von Gleichungen zu aktualisieren und den früheren Zustand der Zustandsinformationen basierend auf einem zweiten Satz von Gleichungen wiederherzustellen, wobei die Gleichungen des ersten Satzes von Gleichungen unabhängig von den Gleichungen des zweiten Satzes von Gleichungen ausgeführt werden.
  10. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 9, wobei die Datenverschmelzungsschaltung (108) konfiguriert ist, geschätzte Messdaten unter Verwendung eines Prozessmodells und eines Messmodells bereitzustellen, um bezüglich einer Fehlanpassung zwischen den Messdaten und den geschätzten Messdaten zu prüfen.
  11. Prozesssteuerschaltung nach Anspruch 10, die ferner Folgendes umfasst: eine Kommunikationsschaltung (312), die konfiguriert ist, eine Alarmnachricht oder ein Alarmsignal in dem Fall, in dem eine Fehlanpassung detektiert wird, bereitzustellen.
  12. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 11, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Genauigkeitsinformationen basierend auf einem Schätzfehler zu bestimmen, wobei der Schätzfehler in einen endlichen Teil und in einen unendlichen Teil zerlegt ist.
  13. Prozesssteuerschaltung nach Anspruch 12, wobei der endliche Teil des Schätzfehlers über eine faktorisierte Fehlerkovarianzmatrix oder eine faktorisierte invertierte Fehlerkovarianzmatrix bestimmt wird und/oder wobei der unendliche Teil des Schätzfehlers über eine weitere faktorisierte Fehlerkovarianzmatrix oder eine weitere faktorisierte invertierte Fehlerkovarianzmatrix bestimmt wird.
  14. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 13, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, den früheren Zustand der Zustandsinformationen basierend auf einem ersten Satz von Gleichungen zur Wiederherstellung des früheren Zustands in einem ersten Fall und auf einem zweiten Satz von Gleichungen zur Wiederherstellung des früheren Zustands in einem zweiten Fall wiederherzustellen, wobei der erste Fall und der zweite Fall über ein Unterscheidungskriterium voneinander unterschieden werden.
  15. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 14, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, den früheren Zustand der Zustandsinformationen basierend auf einem ersten Satz von Gleichungen zur Wiederherstellung des früheren Zustands in einem ersten Fall und auf einem zweiten Satz von Gleichungen zur Wiederherstellung des früheren Zustands in einem zweiten Fall wiederherzustellen, wobei der erste Fall und der zweite Fall über einen Unterscheidungswert voneinander unterschieden werden, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, den Unterscheidungswert basierend auf einem Beobachtungsvektor und einer Fehlerkovarianzmatrix bereitzustellen und den Unterscheidungswert mit einem Bezugswert zu vergleichen, wobei der Beobachtungsvektor faktorisiert ist.
  16. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 15, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Genauigkeitsinformationen basierend auf einem Schätzfehler zu bestimmen, und wobei der Schätzfehler über eine faktorisierte Fehlerkovarianzmatrix oder eine faktorisierte invertierte Fehlerkovarianzmatrix bestimmt wird.
  17. Prozesssteuerschaltung nach Anspruch 16, wobei die Fehlerkovarianzmatrix oder die invertierte Fehlerkovarianzmatrix in wenigstens zwei Dreiecksmatrizen faktorisiert ist, wobei wenigstens eine Dreiecksmatrix der wenigstens zwei Dreiecksmatrizen eine Anzahl n von Spalten aufweist, vom Rang r ist und eine Anzahl von n minus r Spalten, die exakt null sind, umfasst; wobei für jede der n Spalten, die wenigstens ein von null verschiedenes Element umfasst, das entsprechende Diagonalelement der wenigstens einen Dreiecksmatrix nicht null ist.
  18. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 17, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Genauigkeitsinformationen basierend auf einem Schätzfehler zu bestimmen, wobei der Schätzfehler über eine Fehlerkovarianzmatrix oder eine invertierte Fehlerkovarianzmatrix bestimmt wird; und wobei die Fehlerkovarianzmatrix in eine Haupt-Kovarianzmatrix und in eine Prozessrauschmatrix zerlegt ist, um das angesammelte Prozessrauschen in der Prozessrauschmatrix separat zu behandeln, oder wobei die invertierte Fehlerkovarianzmatrix in eine invertierte Haupt-Kovarianzmatrix und in eine Messrauschmatrix zerlegt ist, um das angesammelte Messrauschen separat in der Messrauschmatrix zu behandeln.
  19. Prozesssteuerschaltung nach Anspruch 18, wobei die Datenverschmelzungsschaltung ferner konfiguriert ist, neues Prozessrauschen nur zu der Prozessrauschmatrix hinzuzufügen und die Elemente der Prozessrauschmatrix vor irgendeiner späteren Wiederherstellung des früheren Zustands in dem Fall, in dem die spätere Wiederherstellung des früheren Zustands die auf diese Matrixelemente bezogenen Zustandselemente einbezieht, zu der Haupt-Kovarianzmatrix zu übertragen; oder wobei die Datenverschmelzungsschaltung ferner konfiguriert ist, neues Messrauschen nur zu der Messrauschmatrix hinzuzufügen und die Elemente der Messrauschmatrix vor irgendeiner späteren Aktualisierung in dem Fall, in dem die spätere Aktualisierung die auf diese Matrixelemente bezogenen Zustandselemente einbezieht, zu der invertierten Haupt-Kovarianzmatrix zu übertragen.
  20. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 19, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Zustandsinformationen basierend auf einem Prozessmodell zu aktualisieren und das Prozessmodell und/oder das Messmodell basierend auf einem Satz von Trainingsdaten zu validieren und/oder abzustimmen.
  21. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 20, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, mehrere Sicherungszustandsinformationen und mehrere Sicherungsmodellparameter zu speichern, um wenigstens eine Zustandsinformation, die zu überwachen ist, zu rekonstruieren.
  22. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 21, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, einen exakten Wahrscheinlichkeitsgradienten des Prozessmodells und/oder des Messmodells unter Verwendung eines verallgemeinernden Inversen eines Produkts, wobei das Produkt eine Matrix eines Prozess- oder Messmodellparameters und ihre Transponierte umfasst; und/oder unter Verwendung einer Vorwärts- und einer Rückwärtsiteration, wobei wenigstens eine Iterationsmatrix bei der Vorwärtsiteration faktorisiert ist und/oder wobei wenigstens eine Iterationsmatrix bei der Rückwärtsiteration faktorisiert ist, zu berechnen.
  23. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 22, wobei die Datenverschmelzungsschaltung (108) ferner konfiguriert ist, die Zustandsinformationen basierend auf einem vereinigten Prozessmodellparameter zu aktualisieren, wobei der vereinigte Prozessmodellparameter mehrere Prozessmodellparameter der entsprechenden Prozessereignisse, für die keine Messereignisse berücksichtigt werden, repräsentiert.
  24. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 23, wobei die Datenverschmelzungsschaltung (108) konfiguriert ist, die erfassten Messdaten basierend auf den Genauigkeitsinformationen zu validieren, um eine Fehlanpassung des Modells zu bestimmen, und in dem Fall, in dem eine Fehlanpassung des Modells bestimmt wird, ein Bezugsmodell aus mehreren Bezugsmodellen auszuwählen und die Zustandsinformationen basierend auf dem ausgewählten Bezugsmodell neu zu berechnen.
  25. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 24, wobei die Datenverschmelzungsschaltung (108) konfiguriert ist, die Zustandsinformationen basierend auf einer Zustandsübergangsmatrix zu aktualisieren, die als eine Blockdiagonalmatrix mit mehreren Einheitsblöcken und mehreren Nichteinheitsblöcken formuliert ist oder in eine Blockdiagonalmatrix mit mehreren Einheitsblöcken und mehreren Nichteinheitsblöcken transformiert ist, und wobei eine Gesamtprozessaktualisierung als eine Folge von Unterprozessaktualisierungen formuliert ist, wobei jede der Unterprozessaktualisierungen einen der mehreren Nichteinheitsblöcke berücksichtigt.
  26. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 25, wobei die Datenverschmelzungsschaltung (108) konfiguriert ist, das Prozessmodell und/oder das Messmodell basierend auf wenigstens einem des Folgenden zu validieren: einem normierten Vorhersagefehlersignal; einem Durchschnittswert, der mehrere symmetrisierte normierte Vorhersagefehler berücksichtigt; einem Wahrscheinlichkeitssignal; und/oder einem Wahrscheinlichkeitsgradientensignal.
  27. Verfahren zum Steuern einer Bearbeitungsanordnung, wobei das Verfahren Folgendes umfasst: Erfassen von Prozessdaten und Messdaten der Bearbeitungsanordnung, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; Bereitstellen von Zustandsinformationen, die einen Status der Bearbeitungsanordnung repräsentieren, und von Genauigkeitsinformationen, die eine Genauigkeit der Zustandsinformationen repräsentieren; Aktualisieren der Zustandsinformationen basierend auf den erfassten Prozessereignisdaten, wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen Wiederherstellen des früheren Zustands der Zustandsinformationen basierend auf den erfassten Messereignisdaten, wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und Steuern der Bearbeitungsanordnung basierend auf den Zustandsinformationen und/oder den Genauigkeitsinformationen.
  28. Nichtflüchtiges computerlesbares Medium mit Programmanweisungen, die, wenn sie ausgeführt werden, eine Vorrichtung veranlassen, eine Steuerung einer Bearbeitungsanordnung auszuführen, die Folgendes umfasst: Erfassen von Prozessdaten und Messdaten der Bearbeitungsanordnung, wobei die Prozessdaten mehrere Prozessereignisdaten gemäß mehreren Prozessereignissen enthalten und die Messdaten mehrere Messereignisdaten gemäß mehreren Messereignissen enthalten; Bereitstellen von Zustandsinformationen, die einen Status der Bearbeitungsanordnung repräsentieren, und von Genauigkeitsinformationen, die eine Genauigkeit der Zustandsinformationen repräsentieren; Aktualisieren der Zustandsinformationen basierend auf den erfassten Prozessereignisdaten, wodurch die Genauigkeit der Zustandsinformationen verringert wird, und unabhängig vom Aktualisieren der Zustandsinformationen Wiederherstellen des früheren Zustands der Zustandsinformationen basierend auf den erfassten Messereignisdaten, wodurch die Genauigkeit der Zustandsinformationen vergrößert wird, und Steuern der Bearbeitungsanordnung basierend auf den Zustandsinformationen und/oder den Genauigkeitsinformationen.
  29. Verwenden einer Prozesssteuerschaltung nach einem der Ansprüche 1 bis 26 in einer Losfertigung zum Herstellen mehrerer Produkte, wobei jedes der mehreren Produkte über mehrere Prozesse hergestellt wird.
DE102017111926.4A 2017-05-31 2017-05-31 Prozesssteuerschaltung und Verfahren zum Steuern einer Bearbeitungsanordnung Pending DE102017111926A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102017111926.4A DE102017111926A1 (de) 2017-05-31 2017-05-31 Prozesssteuerschaltung und Verfahren zum Steuern einer Bearbeitungsanordnung
US15/993,304 US10963449B2 (en) 2017-05-31 2018-05-30 Process control circuit and method for controlling a processing arrangement
US17/153,404 US11640386B2 (en) 2017-05-31 2021-01-20 Process control circuit and method for controlling a processing arrangement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017111926.4A DE102017111926A1 (de) 2017-05-31 2017-05-31 Prozesssteuerschaltung und Verfahren zum Steuern einer Bearbeitungsanordnung

Publications (1)

Publication Number Publication Date
DE102017111926A1 true DE102017111926A1 (de) 2018-12-06

Family

ID=64278772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017111926.4A Pending DE102017111926A1 (de) 2017-05-31 2017-05-31 Prozesssteuerschaltung und Verfahren zum Steuern einer Bearbeitungsanordnung

Country Status (2)

Country Link
US (2) US10963449B2 (de)
DE (1) DE102017111926A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022100379A1 (de) 2022-01-10 2023-07-13 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Überwachen eines mehrstufigen Fertigungsprozesses eines Bauteils mittels eines Überwachungssystems, Computerprogrammprodukt sowie Überwachungssystem

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10811908B2 (en) 2014-09-25 2020-10-20 Supply, Inc. System and method for wireless power reception
KR102378002B1 (ko) 2017-06-06 2022-03-24 서플라이, 인크. 무선 전력 전달을 위한 방법 및 시스템
US11178625B2 (en) 2017-06-06 2021-11-16 Supply, Inc. Method and system for wireless power delivery
US10430708B1 (en) * 2018-08-17 2019-10-01 Aivitae LLC System and method for noise-based training of a prediction model
WO2020113046A1 (en) * 2018-11-30 2020-06-04 Supply, Inc. Methods and systems for multi-objective optimization and/or wireless power delivery
CN109728795B (zh) * 2018-12-24 2022-11-18 哈尔滨理工大学 未知概率情形下具有数据丢失的时变事件触发滤波方法
US11204758B1 (en) * 2020-08-11 2021-12-21 Oracle International Corporation Computer cloud system with predictive patching
TWI761975B (zh) * 2020-09-29 2022-04-21 新加坡商鴻運科股份有限公司 機台製程參數的異常監測裝置、方法及可讀存儲介質
EP4324071A1 (de) 2021-04-14 2024-02-21 Reach Power, Inc. System und verfahren für drahtlose stromnetzwerke
CN114442683B (zh) * 2022-01-25 2024-04-12 杭州电子科技大学 一种水箱液位控制系统的事件触发pi控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19902795A1 (de) * 1999-01-15 2000-08-03 Fraunhofer Ges Forschung Qualitätsüberwachung bei einer Fertigung mit breitem Produktspektrum
DE60207588T2 (de) * 2001-09-13 2006-11-30 Advanced Micro Devices, Inc., Sunnyvale Zustandsschätzung und einteilung für ein herstellungssystem
DE112010000703T5 (de) * 2009-01-23 2013-06-20 Mks Instruments Inc. Steuern eines Herstellungsprozesses mit einem multivariaten Modell

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092033A (en) * 1997-04-16 2000-07-18 Uhlmann; Jeffrey K. Method and apparatus for fusing mean and covariance estimates
WO2002027659A2 (en) * 2000-09-26 2002-04-04 Advantage 3D Llc Method and system for generation, storage and distribution of omni-directional object views
US6757579B1 (en) * 2001-09-13 2004-06-29 Advanced Micro Devices, Inc. Kalman filter state estimation for a manufacturing system
US6651031B2 (en) * 2001-12-12 2003-11-18 Nokia Corporation Method for providing time using a multiple-clock model and a clock system using such a model
US9818136B1 (en) * 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7716535B2 (en) * 2006-06-08 2010-05-11 Oracle America, Inc. Kalman filtering for grid computing telemetry and workload management
JP4229141B2 (ja) * 2006-06-19 2009-02-25 トヨタ自動車株式会社 車両状態量推定装置及びその装置を用いた車両操舵制御装置
US20080255911A1 (en) * 2007-04-13 2008-10-16 Raytheon Company Method and system for adaptive closed loop resource management
US8706424B2 (en) * 2009-06-30 2014-04-22 H2Scan Corporation System for estimating a gas concentration in a mixed atmosphere
US11195057B2 (en) * 2014-03-18 2021-12-07 Z Advanced Computing, Inc. System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US9414239B2 (en) * 2012-06-14 2016-08-09 Digimarc Corporation Space time calibration for networks using state model of node clock parameters
EP2880260A4 (de) * 2012-08-01 2015-08-12 Services Petroliers Schlumberger Beurteilung, überwachung und steuerung von bohraktivitäten und/oder beurteilung von geologischen eigenschaften
US20140214354A1 (en) * 2013-01-28 2014-07-31 Verayo, Inc. System and method of detection and analysis for semiconductor condition prediction
KR101698682B1 (ko) * 2015-08-26 2017-01-23 매그나칩 반도체 유한회사 지자기 센서의 출력값을 보정하는 방법 및 장치
EP3494447B1 (de) * 2016-08-04 2021-05-19 Reification Inc. Verfahren für simultane lokalisierung und mapping (slam) und zugehörige vorrichtungen und systeme

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19902795A1 (de) * 1999-01-15 2000-08-03 Fraunhofer Ges Forschung Qualitätsüberwachung bei einer Fertigung mit breitem Produktspektrum
DE60207588T2 (de) * 2001-09-13 2006-11-30 Advanced Micro Devices, Inc., Sunnyvale Zustandsschätzung und einteilung für ein herstellungssystem
DE112010000703T5 (de) * 2009-01-23 2013-06-20 Mks Instruments Inc. Steuern eines Herstellungsprozesses mit einem multivariaten Modell

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022100379A1 (de) 2022-01-10 2023-07-13 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Überwachen eines mehrstufigen Fertigungsprozesses eines Bauteils mittels eines Überwachungssystems, Computerprogrammprodukt sowie Überwachungssystem

Also Published As

Publication number Publication date
US20210149876A1 (en) 2021-05-20
US10963449B2 (en) 2021-03-30
US20180349434A1 (en) 2018-12-06
US11640386B2 (en) 2023-05-02

Similar Documents

Publication Publication Date Title
DE102017111926A1 (de) Prozesssteuerschaltung und Verfahren zum Steuern einer Bearbeitungsanordnung
DE60307310T2 (de) Wahrscheinlichkeitsbeschränkte optimierung zur steuerung einer produktionslinie
DE60207588T2 (de) Zustandsschätzung und einteilung für ein herstellungssystem
DE102016109232B4 (de) Stichprobenmessverfahren mit Stichprobenentnahmeratenentscheidungsschema und Computerprogrammprodukt hiervon
DE60104705T2 (de) Verbesserte regelung mit adaptives abtastverfahren zur halbleiterherstellung
DE69930501T2 (de) Ultrasensitive überwachung von sensoren und prozessen
DE102008021558A1 (de) Verfahren und System für die Halbleiterprozesssteuerung und Überwachung unter Verwendung von PCA-Modellen mit reduzierter Grösse
DE102006004411B4 (de) Verfahren und System für die Messdatenbewertung in der Halbleiterbearbeitung durch auf Korrelation basierende Datenfilterung
DE112007000868T5 (de) Zeitgerichteter gleitender Mittelwertfilter
DE112006002918T5 (de) Produktbezogene Rückkopplung für Prozesssteuerung
WO1994015268A2 (de) Verfahren und einrichtung zur signalanalyse, prozessidentifikation und überwachung eines technischen prozesses
DE10311311A1 (de) Berechnung von Preiselastizität
DE112019000739T5 (de) Zeitreihengewinnung zum analysieren und korrigieren eines systemstatus
EP3065250A1 (de) Verfahren und einrichtung zur bestimmung der topologie eines stromversorgungsnetzes
DE102009038844A1 (de) Verfahren zur Abschätzung eines Leckstroms in einem Halbleiterbauelement
DE10213285A1 (de) Verfahren zur Steuerung eines Verarbeitungsgerätes
DE102005030586A1 (de) Verfahren und System für eine fortschrittliche Prozesssteuerung unter Anwendung der Messunsicherheit als Steuerungseingang
CN110826021A (zh) 一种非线性工业过程鲁棒辨识和输出估计方法
DE112021002866T5 (de) Modelltreueüberwachung und -neuerstellung zur entscheidungsunterstützung eines fertigungsverfahrens
DE102021127244A1 (de) Künstliche Intelligenz Optimierungsplattform
DE102009021781A1 (de) Verfahren zur Berechnung eines Kennfelds
DE112018008256B3 (de) Verfahren zum Bestimmen eines Beitrags einer Vorrichtung aus einer Vielzahl von Vorrichtungen zu einem Parameterfingerabdruck, System und Computerprogrammprodukt
DE102021200042A1 (de) Vorrichtung und Verfahren zum Verfahren zum Trainieren des neuronalen Driftnetzwerks und des neuronalen Diffusionsnetzwerks einer neuronalen stochastischen Differentialgleichung
DE112017002802T5 (de) Halbleiter-die-versatzkompensationsvariation
DE102019214546B4 (de) Computerimplementiertes Verfahren und Vorrichtung zur Optimierung einer Architektur eines künstlichen neuronalen Netzwerks

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication