DE102017111926A1 - Process control circuit and method for controlling a processing arrangement - Google Patents

Process control circuit and method for controlling a processing arrangement 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
German (de)
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/en
Priority to US15/993,304 priority patent/US10963449B2/en
Publication of DE102017111926A1 publication Critical patent/DE102017111926A1/en
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]

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.

Figure DE102017111926A1_0000
According to various embodiments, a processing circuit (108) may include: a data acquisition circuit (102) configured to acquire process data and measurement data of a processing device (104), wherein the process data includes a plurality of process event data according to a plurality of process events and the measurement data includes a plurality of measurement event data corresponding to a plurality of measurement events contain; a data merge circuit (108) configured to provide state information, wherein the state information represents a status of the processing device (104), and provide accuracy information representing an accuracy of the state information; wherein the data fusion circuit (108) is further configured to update the state information based on the acquired process event data, thereby reducing the accuracy of the state information, and to restore the prior state of state information independently of updating the state information based on the acquired measurement event data Status information, and a control circuit (110) configured to control the processing device (104) based on the state information and / or based on the accuracy information.
Figure DE102017111926A1_0000

Description

Technisches GebietTechnical area

Verschiedene Ausführungsformen beziehen sich im Allgemeinen auf eine Prozesssteuerschaltung und ein Verfahren zum Steuern einer Bearbeitungsanordnung.Various embodiments generally relate to a process control circuit and method for controlling a processing arrangement.

Hintergrundbackground

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.In general, more or less complex processing arrangements can be used in many industries to produce the desired goods, e.g. As electronic devices, mechanical devices, electromechanical devices and the like, manufacture or edit. Such processing arrangements may include multiple processing tools or any other suitable apparatus for processing the goods. In the semiconductor industry, a so-called tool park containing multiple machining tools may be used to machine any suitable type of workpiece, e.g. For processing a wafer, a chip, a chip package, a circuit board, and the like. In the semiconductor industry, machining a workpiece may include one or more layering processes, one or more patterning processes, one or more temperature treatments, one or more implantation processes, and so on. Although the editing tools may be individually controlled, a global control system may be used to control all editing tools, e.g. B. for setting the respective processing tools, for setting one or more operating parameters of the respective processing tools or for a different setting of the respective processing tools. The local and / or global (eg, factory-wide) control of the respective machining tools may also be referred to as a run-to-run system. In general, however, it may be difficult to control a large number of editing tools that also perform a large number of different data processing operations.

ZusammenfassungSummary

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.According to various embodiments, a processing circuit may include: a data acquisition circuit configured to acquire process data and measurement data of a processing device, the process data including a plurality of process event data according to a plurality of process events and the measurement data including a plurality of measurement event data according to a plurality of measurement events; a data merging circuit configured to provide state information, wherein the state information represents a status of the processing device, and to provide accuracy information representing an accuracy of the state information; wherein the data fusion circuit is further configured to update the state information based on the acquired process event data, thereby decreasing the accuracy of the state information, and independently of updating the state information, to restore the previous state of the state information based on the acquired measurement data ("downdate"), whereby the accuracy of the state information is increased, and a control circuit configured to control the processing arrangement based on the state information.

Figurenlistelist of figures

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.
In the drawings, like reference characters generally refer to the same parts throughout the several views. The drawings are not necessarily to scale, with emphasis instead being generally placed upon illustrating the principles of the invention. In the following description, various embodiments of the invention will be described with reference to the following drawings, wherein:
  • 1 FIG. 2 shows a schematic diagram of a process control circuit according to various embodiments, FIG.
  • 2A and 2 B show an example of an operation of a data fusion circuit according to various embodiments,
  • 3A FIG. 2 shows a schematic diagram of the operation of a process control circuit according to various embodiments, FIG.
  • 3B FIG. 2 shows a schematic diagram of the operation of a process control circuit according to various embodiments, FIG.
  • 4A to 4E show various configurations of a data fusion circuit in a schematic diagram according to various embodiments,
  • 5A and 5B show an example of a model ambiguity in a schematic diagram according to various embodiments,
  • 6A to 6I show various configurations of a data fusion circuit according to various embodiments,
  • 7A and 7B show various configurations of a data fusion circuit in a schematic view according to various embodiments,
  • 8th shows a configuration of a data merging circuit in a schematic view according to various embodiments,
  • 9 shows a configuration of a data merging circuit in a schematic view according to various embodiments,
  • 10 shows a configuration of a data merging circuit in a schematic view according to various embodiments,
  • 11 shows a configuration of a data merging circuit in a schematic view according to various embodiments,
  • 12 shows a configuration of a data merging circuit in a schematic view according to various embodiments,
  • 13 shows a configuration of a data merging circuit in a schematic view according to various embodiments,
  • 14 shows a configuration of a data merging circuit in a schematic view according to various embodiments,
  • 15 shows a configuration of a data merging circuit in a schematic view according to various embodiments,
  • 16A to 16C show various configurations of a data fusion circuit according to various embodiments,
  • 17A and 17B show various configurations of a data fusion circuit in a schematic view according to various embodiments, and
  • 18 12 shows a schematic flowchart of a method for operating a process control circuit according to various embodiments.

Beschreibungdescription

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.The following detailed description refers to the accompanying drawings, which, for purposes of illustration, show specific details and embodiments in which the invention may be practiced. The embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be used, structural, logical, and electrical changes being made without departing from the scope of the invention. The various embodiments are not necessarily mutually exclusive, as some embodiments may be combined with one or more other embodiments to form new embodiments. Various embodiments are described in the context of methods, while various embodiments are described in the context of devices. However, it will be appreciated that the embodiments described in connection with methods may apply similarly to the devices, and vice versa.

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.The terms "at least one" and "one or more" may be understood to include any integer greater than or equal to one, d. h., one, two, three, four, [...], etc., included. The term "multiple" may be understood to mean any integer greater than or equal to two, that is, any number greater than or equal to two. h., two, three, four, five, [...], etc., contains.

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. The phrase "at least one of" with respect to a group of elements may be used herein to mean at least one element of the group consisting of the elements. The phrase "at least one of" with respect to a group of elements can be used here for. B. may be used to mean a selection of: one of the listed items, a plurality of one of the listed items, a plurality of individual listed items, or a plurality of multiple listed items.

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.As used herein, a "circuit" is understood to be any type of logic-implementing entity that may include specialized hardware or a processor that executes software. A circuit may thus comprise an analog circuit, a digital circuit, a composite signal circuit, a logic circuit, a processor, a microprocessor, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a field programmable gate array (FPGA), an integrated circuit, an application specific integrated circuit (ASIC), etc., or any combination thereof. Any other way of implementing the respective functions, which will be described in more detail below, may also be understood as a "circuit". It will be appreciated that two (or more) of the circuits described in detail herein may be implemented as a single circuit having substantially equivalent functionality, and conversely that any single circuit described in detail herein may be implemented as two (or more) separate circuits having a substantially equivalent functionality can be realized. In addition, the references to a "circuit" may refer to two or more circuits that together form a single circuit. The term "circuitry" may refer to one or more circuits and / or an electronic device consisting of one or more circuits.

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.As used herein, a "processing circuit" (or equivalent, "processing circuitry" or "processor") is understood to refer to any circuit that performs an operation (s) on a signal (s), such as a device. For example, any circuit that performs processing on an electrical signal or an optical signal. A processing circuit may thus refer to any analog or digital circuitry that changes a characteristic or property of an electrical or optical signal that may include analog and / or digital data. A processing circuit may thus be referred to an analog circuit (which may be explicitly referred to as an "analog processing circuit"), a digital circuit (which may be explicitly referred to as a "digital processing circuit"), a logic circuit, a Processor, a microprocessor, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a field programmable gate array (FPGA), an integrated circuit, an application specific integrated circuit (ASIC), etc., or any combination thereof. Accordingly, a processing circuit may refer to a circuit that performs processing on an electrical or optical signal as hardware or software such. B. executes software executed in hardware (eg, a processor or a microprocessor). As used herein, "digital signal processing circuitry" may refer to a circuit implemented using digital logic that is capable of processing on a signal, e.g. An electrical or optical signal, comprising a logic circuit (s), a processor (s), a scalar processor (s), a vector processor (s), a microprocessor (s), a controller, a microcontroller, a Central processing unit (s) (CPU), graphics processing unit (s) (GPU), digital signal processor (s) (DSP), field programmable gate array (s) (FPGA), integrated circuit (s), application specific integrated circuit (s) ) (ASIC) or any combination thereof. Furthermore, it is recognized that a single processing circuit may equivalently be divided into two separate processing circuits, and conversely, two separate processing circuits may be combined in a single equivalent processing circuit.

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.The following provides a general description of a process control circuit according to various embodiments, followed by various embodiments describing the process control circuit in greater detail. 1 illustrates a process control circuit 100 in a schematic diagram according to various embodiments.

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.The process control circuit 100 can be a data acquisition circuit 102 contain. The data acquisition circuit 102 can be configured, the process data 105 and the measurement data 107 a processing arrangement 104 capture. The processing arrangement 104 can have multiple editing tools 105t , z. As manufacturing tools, or contain any other type of processing structures. Furthermore, the processing arrangement 104 several measuring tools 107T or any other type of measurement structures.

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). According to various embodiments, the process data 105 multiple process event data 105d according to several process events 105e contain. The measured data 107 can have multiple measurement event data 107d according to several measurement events 107e included (see 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.According to various embodiments, the processing tools 105t contain any tool used in semiconductor processing, e.g. A lamination tool (eg, performing chemical or physical vapor deposition), a pattern generation tool (eg, a lithography tool), an etch tool, a grinding tool, a die cut tool, a glow tool, and the like. According to various embodiments, the measuring tools 107T contain any tool used in semiconductor processing, e.g. A tool for measuring a thickness of a carrier, a tool for measuring optical characteristics, a tool for measuring electrical characteristics, a tool for testing a machined structure, and the like.

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.In the case of semiconductor processing, any of the processing tools used 105t the processing arrangement 104 the process event data 105d for a process event 105e Deploy, where is a process event 105e z. B. may be any type of process associated with the workpiece being processed, e.g. B. on a wafer, a chip, an assembly and the like, related machining tool 105t is performed. Furthermore, any of the measuring tools used 107T the processing arrangement 104 the measurement event data 107d for a measurement event 107e provide a measurement event 107e z. For example, any type of one with the on the machined workpiece, for. B. on a wafer, a chip, an assembly and the like, related measuring tool 107T can be performed measurement. Therefore, according to various embodiments, for a respective workpiece, W that with the editing arrangement 104 a corresponding set of correlated process data and measurement data is provided, W 1 ( 105 - 1 . 107 - 1 ) W 2 ( 105 - 2 . 107 - 2 ). The correlated process data and measurement data can be used to control the processing arrangement 104 in any desired manner, the processing arrangement 104 a large number of editing tools 105t and / or measuring tools 107T , z. B. more than 100 Machining tools and / or measuring tools, which may also be referred to as pass-to-pass control. Due to the combination of the large number of tools and the large number of different workpieces (or illustrative products), a huge amount of data has to be processed.

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.Furthermore, the process control circuit 100 a data fusion circuit 108 that is configured, state information, X to provide. The state information represents a status of the processing device 104 , where the accuracy information .DELTA.X an accuracy of the state information X represent. According to various embodiments, the generation of the accuracy information .DELTA.X be important to the editing arrangement 104 based on the collected data 105 . 107 to steer properly. The processing data 105 may also include model data or model parameters for a corresponding process model for modeling a process of one or more of the multiple processing tools 105t and / or measuring tools 107T contain. According to various embodiments, the processing arrangement 104 a database circuit or any other suitable circuit for providing the process data 105 and / or the measured data 107 contain.

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.According to various embodiments, the data fusion circuit 108 Further, the state information may be configured X (eg, by performing a process update) based on the captured process event data 105 to update, thereby improving the accuracy of the state information X is decreased, and regardless of updating the state information, the previous state of the state information X based on the collected measurement event data ( 107 ) (eg, by performing a restore of the previous state, also referred to as a metrology update), thereby increasing the accuracy of the state information X is enlarged. Illustratively, the state information X including as much information as possible (ie, based on the process data 105 and the measurement data 107 ), which are available at that time, are kept current. The state information X may also allow a result of possible subsequent process events 105e and / or measurement events 107e predict. Therefore, the processing arrangement 104 based on the state information X to be controlled. Alternatively or additionally, the processing arrangement 104 based on the accuracy information .DELTA.X to be controlled.

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.Furthermore, the process control circuit 100 a control circuit 110 that is configured, the editing arrangement 104 based on the state information X and / or based on the accuracy information .DELTA.X to control 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. According to various embodiments, the data fusion circuit 106 be configured, the processes of the process arrangement 104 including the accuracy data for all of the process data 105 and the measured data 107 to model.

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.According to various embodiments, the process control circuit 100 according to various embodiments, as described below. The embodiments may be used alone or in combination in the process control circuit 100 be included. Various embodiments relate to the proper use of the accuracy information .DELTA.X to the editing arrangement 104 to control and / or any other connected circuit, eg. B. a monitoring circuit for monitoring the processing arrangement 104 , z. As a warning circuit, a dispatcher circuit, a communication circuit and the like to control.

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.According to various embodiments, the data fusion circuit 108 be configured by the processing arrangement 104 to model executed processes based on a process model and to predict the machining results based on the process model. The data merging circuit 108 can be configured to provide the results in real time, that is, as fast as possible, or in other words, with as little computational effort as possible, while modeling multiple processes (eg, manufacturing processes) in a complex and dynamic process environment.

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.According to various embodiments, the process control circuit 100 used in semiconductor manufacturing. In general, in addition to one or more internal control systems of the production tool, external automatic control is used to improve the stability of semiconductor manufacturing processes. This external automatic control is also referred to as pass-to-pass (R2R) control. The control loops almost always contain more than one production operation (eg pre-metrology, processing, post-metrology). Control can typically be provided by a central, factory-wide automatic system ( R2R System) which is operated 24/7.

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.According to various embodiments, a run-to-run strategy may include two steps. First, estimating an appropriate state (also referred to as state information) of the controlled processes using the process data of the previous materials. This data can be z. For example, in-line measurements (eg, a layer thickness, a critical dimension, etc.), derived quantities (such as the removal rate), and tool data. The state is chosen to reflect the characteristics of the process that needs to be tuned. Second, using state estimation to calculate the tuning parameter (s) for the next material.

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.
According to various embodiments, the state estimation may be a major aspect of the control algorithm, ie, the process control circuit 100 and a method of controlling the processing arrangement 104 , In real life, the state information can be corrupted in various ways, e.g. By missing, delayed or erroneous measurements. It may be important to permanently validate the condition information to avoid yield loss and / or waste during machining or fabrication. Therefore, the processing arrangement 104 configured to also provide information about the accuracy of the state information, e.g. B. statistical error information such. A standard deviation of the estimation error. According to various embodiments, the validation routines may be part of the control algorithm. Without proper validation, the state estimates can be virtually worthless. According to various embodiments, the validity information (or in other words, one or more accuracy information) may be used for at least one of the following functions:
  • • to automatically interrupt the control loop in the event of an invalid condition,
  • • to automatically trigger additional measurements to restore state validity;
  • • to control the number of measured materials (eg via the metrology scanning system),
  • • to automatically select a suitable production tool for the next material to be machined (ie to select a tool for which a valid condition exists),
  • • to send materials automatically to the production tools to prevent the expiration of the corresponding tool states,
  • • to adjust the feedback gain of the control loop, eg. To increase the feedback if the state is (partially) expired and / or the incoming measurement data contains significantly new information.

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.
Conventionally, simplistic validation criteria can be used for the surviving states of the processing arrangement 104 be used, such as. B .:
  • The state can be invalidated if the period since the last state update exceeds any given threshold (timeout),
  • • the state can be invalidated if the number of processed materials (eg batches, wafers, etc.) exceeds any given threshold since the last state update (material shutdown),
  • • the status update can be suppressed if the number of individual measurements is below a predetermined threshold,
  • • the state can be invalidated if the number of materials being processed but not yet measured exceeds a predetermined threshold. Alternatively, a weighted sum may also be used for a simple arithmetic sum of the number of materials. The weighted sum highlights materials that were last edited (an unobserved drift),
  • In the case where an EWMA filter (an exponentially weighted moving average filter) is used for the state estimation, the effective suppression of the measurement noise due to the filter can be quantified (noise reduction factor). The condition can only be valid if the noise reduction exceeds any given threshold.

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.The thresholds for the simplistic validation criteria described above may be conventionally determined by a process engineer based on a "good feeling". The significance of the criteria is impaired by this highly subjective and error prone approach. In addition, the criteria are static and do not reflect the very dynamic nature of high mix, low volume manufacturing. Because of these limitations, the thresholds are traditionally conservative, causing premature interruptions in the control loop and other problems. In many cases, the validity information described above can not be implemented due to a lack of reliable validity information.

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.
The state estimation can be falsified by several mechanisms, such as: B .:
  • • a tool drift (the size is different for different products),
  • • tool maintenance (a random and / or systematic state shift),
  • • a total failure or lack of measurements,
  • • the sampling of the measured values and / or
  • • Dwindling products.

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.Each of the simplistic validation criteria described above can cover only a partial aspect of the actual situation. A validation routine as described herein would be desirable, which can cover all spoofing mechanisms simultaneously.

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).
As an example, the removal rate of a chemical-mechanical planarization process may degrade for each processed wafer or processed product. The amount of deterioration may depend on the surface texture of the particular wafer or product being processed. The wafer or products can be processed in a virtually random order. Some batches can be measured immediately, some with a considerable time delay. The pass-to-pass control can be used to model the degradation of the removal rate and to tune the chemical mechanical planarization process, e.g. B. to set the distance time. In this complex situation, it is impossible for the process engineer to properly specify the following using a conventional pass-to-pass system
  • A fixed timeout for an estimate of the range rate (the time period in which an estimation error rises above any given threshold is highly variable),
  • A solid material shutdown (the number of wafers processed before the estimation error violates any given threshold is highly variable),
  • A fixed number of individual measurements per wafer needed for a valid state update (the information provided by each measurement varies considerably depending on the location of the measurement site),
  • A fixed upper limit for the number of processed wafers that have not yet been measured (different products worsen the state estimate) and / or
  • A lower limit for the noise reduction factor (for the calculation of the noise reduction factor, it is assumed that all products similarly deteriorate the state estimation, besides neglecting missing or delayed measured values).

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.According to various embodiments, the state estimation and validation system may be constructed, as described below. It is stated that one skilled in the art can modify or rewrite the equations and / or algorithms described below without changing the general concept defined by the equations and / or algorithms. The indices used here can be z. Changed into other indices or replaced with other indices, any suitable programming language can be used to implement the algorithms. The variables in the form of scalars, vectors and / or matrices can also be reworded differently. Here, a general concept based on one or more examples is provided and described. Furthermore, detailed solutions for the preferred embodiments are also provided below, but are to be considered as exemplary, because the mathematical concept allows different formulations for the same equations.

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.According to various embodiments, a linear time varying state space model including random excitation to model the process, e.g. B. be used according to the following equation: x k + 1 = A k + 1 x k + Q k + 1 ξ k + 1 + B k + 1
Figure DE102017111926A1_0001
In this case, x is a state vector (x k + 1 is the unknown state vector to be estimated, and x k is a previous state vector), A k + 1 is a state transition matrix, ξ k + 1 is a random vector representing the process noise, ( For example, with E [ξ] = 0, E [ξ 2 ] = I), Q k + 1 is a noise scaling matrix, and B k + 1 is a process drift vector representing deterministic state drifts, and is k a counter variable. Equation (1) describes the evolution of the state vector x from the moment k until time k + 1 due to a single processing step. In other words, several may pass through the processing arrangement 104 executed processes (also called process events) on the index k be imaged, where the index k In addition, it can represent the chronological order of the respective processes. There can be different parameter matrices Q . B . A at any time according to the tools, materials, etc. involved in the processing step. The ability to use different matrices / vectors for each time step can be useful for accurately modeling the impact of various tools, materials, and so on.

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.As illustrated above, according to various embodiments, the data merging circuit 108 be configured, the process data 105 based on a process model that includes one or more process model parameters for modeling known influences (eg, the process model parameters A . B ) and / or one or more process noise parameters for modeling unknown influences (eg, the process model parameters Q or N , as will be described in more detail below), to model.

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).The data merging circuit 108 can z. B. be configured, the process data 105 based on a process model (eg, a linear time-variant state space) containing at least one of the following process model parameters, to model: a state transition parameter (eg, the process model parameter A ), a process noise parameter (eg the process model parameter Q or N as described below) and / or a process drift parameter (eg, the process model parameter 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).As an example, the data merging circuit 108 be configured, the process data 105 Similar to equation (1), model as follows: x k + 1 = A k + 1 x k + N k + 1 + B k + 1
Figure DE102017111926A1_0002
In this case, x k + 1 is a state vector, x k is a previous state vector, A k + 1 is a state transition matrix, N k + 1 is a process noise vector, B k + 1 is a process drift vector, and k a counter variable. With N k + 1 = Q k + 1 ξ k + 1 , where ξ k + 1 is a random vector representing the process noise (eg, with E [ξ] = 0, E [ξ 2 ] = I) and Q k + 1 is a noise scaling matrix, the equation of equation (1) is similar.

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.According to various embodiments, the corresponding measurement is modeled according to the process model, such. As follows: y k + 1 = C k + 1 x k + 1 + R k + 1 η k + 1 + D k + 1
Figure DE102017111926A1_0003
In this case is y the scalar reading, is C the observation vector, the z. For example, the contribution of the elements of the state vector x to the scalar reading y , η is a random vector representing the measurement noise (eg, in the form E [η] = 0, E [η 2 ] = 1) D a scalar that models additional deterministic feed forward effects, and is k a counter variable. As described above, various parameter matrices can be used C . R . D be used for each time step. According to various embodiments, a number of m corresponding independent equations (2) may be formulated in the case where the measurement is a number of times m (possibly correlated) readings. In this case, the m Measurements by the sequential execution of the m Equations (2) are considered.

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).As has been illustrated above, the data merging circuit 108 be configured, the measured data 107 based on one or more measurement model parameters for modeling the known influences (eg the measurement model parameters C and or D ) and / or one or more measurement noise parameters for modeling the unknown influences (eg the measurement model parameters R and or M as will be described in more detail below). The data merging circuit 108 can z. B. be configured, the measurement data 107 based on a measurement model (the modeling of the measurement may correspond to the process model) that includes at least one of the following measurement model parameters: an observation parameter (the measurement model parameter C ), a measurement noise parameter (the measurement model parameter R or M ) and / or a measurement offset parameter (the measurement model parameter 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).As an example, the data merging circuit 108 be configured, the measured data 107 Similar to equation (2), model as follows: y k + 1 = C k + 1 x k + 1 + M k + 1 + D k + 1
Figure DE102017111926A1_0004
In this case, y k + 1 is a scalar metric or measurement vector, C k + 1 is an observation vector or observation matrix (which describes the contribution of elements of the state vector x k + 1 to y k + 1 ), M is M k + 1 is a measurement noise scalar or measurement noise vector, D k + 1 is a measurement offset scalar or a measurement offset vector and is k a counter variable. With M k + 1 = R k + 1 η k + 1 , where η k + 1 is a random vector representing the measurement noise (eg with E [η] = 0, E [η 2 ] = I) , and Rk + 1 is a noise scaling vector or a noise scaling matrix, this equation is equal to equation (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.According to various embodiments, not all elements of the matrices (A, N, Q, B, C, M, R) can be individually parameterized. One or more elements may be set to zeros. Large groups of elements can be assigned the same parameter. In this way, if desired, the effective number of parameters can be drastically reduced.

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.According to various embodiments, the production mass data (eg, exemplary process data 105 and measurement data 107 of the respective process to be modeled) over a given period of time. A statistical procedure (eg, a maximum likelihood estimate, as will be described in more detail below) may be used to determine the parameters N, Q, M, R, B, D, C, A of the process model described above, e.g. For example, according to equations (1), (2) or (1 *), (2 *), or any other suitable process model based on similar equations.

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.According to various embodiments, a Kalman filter may be used to determine the condition x and to estimate the corresponding estimation error covariance matrix P (the estimation error covariance matrix P can predict the accuracy of the state x describe about the process model). The filter can be parameterized with the matrices, the z. B. determined by the statistical procedure described above. According to various embodiments, the Kalman filter may be divided into two sets of equations Therefore, updating and restoring the previous state of the state information can be performed independently of each other.

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
According to various embodiments, the Kalman filter may e.g. Based on equations (1), (2), as follows, into two sets of equations (3), (4): 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.In the same way, the Kalman filter can be based on e.g. For example, the equations (1 *), (2 *) or similar equations of another suitable process model may be divided into two sets of equations. Both sets of equations (3), (4) can be performed completely independently of each other. Equation (3) may be executed after each process or maintenance step (also referred to as "process update" or just "update"). These steps increase the estimation error and therefore reduce the accuracy of the state information as a new unknown process noise shifts the observed state. Equation (4) may be performed after one or more measurement steps (which is also referred to as "metrology update" or only as "restore previous state"). Considering the measurement data reduces the estimation error and therefore increases the accuracy of the state information because it provides new information about the state. In the case where the metrology data (also referred to as the measurement data) consists of more than one measurement, the metrology update ( 4 ) for each value separately. The order of ( 3 ) and ( 4 ) accurately reflects the accumulation and degradation of the process information (eg, the decrease and increase of the estimation error) as long as the process model parameters N, Q, M, R, B, D, C, A are real life processes fit, the z. B. by the processing arrangement 104 be executed. According to various embodiments, the process model, which includes independent prior art update and recovery as described herein, provides a unified framework for simultaneously modeling and monitoring all relevant state corruption mechanisms, which will also be described in more detail below.

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.According to various embodiments, the error covariance matrix P k + 1 may be used to calculate the error variance or, in other words, to provide the accuracy information of the state information. The error variance can be determined based on the following equation or similar formulations: σ e R R 2 = C ¯ P k + 1 C ¯ T
Figure DE102017111926A1_0007
In this case, one or more state combinations of interest may be provided by the state extractor vector C To be defined. According to various embodiments, the standard deviation σ ERR of the estimation error may be used to validate the state combination. The standard deviation σ ERR of the estimation error has the same physical unit as the observed state combination. According to various embodiments, an appropriate threshold in combination with the standard deviation σ ERR of the estimation error may be used to interrupt the loop to trigger additional measurements, etc., as described above. The use of the error covariance matrix P for state validation can be helpful and a major difference to the commonly used pass-to-pass Kalman filtering applications.

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.According to various embodiments, the state vector x and the error covariance matrix P may be automatically expanded when the data for new products, a new tool, etc. are acquired. Therefore, the run-to-run controller (eg, the process control circuit 100 ) be able to adapt to the ever-changing environment of semiconductor production or any other processing environment.

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. 2A illustrates the operation of the data fusion circuit 108 or, in other words, the operation of the process control circuit 100 based on a graphical representation according to various embodiments. The graph shows the accuracy of the state information 202y (eg, based on a standard deviation σ ERR of the error or based on a normalized renewal of the ratio (which can be understood, for example, as a normalized prediction error), as will be described in more detail below) for a single state model over a time index . k , 202x. The corresponding threshold 202t can z. B. can be used to interrupt the control loop to trigger additional measurements, etc., as described above. As illustrated, the time index is used k = 150 up to the time index k = 300 a total failure of the measurements assumed. The accuracy of the state information (eg, the standard deviation of the error) exceeds the threshold just after the start and in the period of total failure of the measurements 202t , After the total failure of the measurements, the accuracy of the state information decreases and falls rapidly below the threshold 202t , Both effects (settling and total failure of the measurements) may be monitored by the same threshold according to various embodiments.

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. 2 B illustrates the operation of the data fusion circuit 108 or, in other words, the operation of the process control circuit 100 based on a graphical representation according to various embodiments. The graph illustrates the accuracy of the state information 202y (eg, based on a standard deviation σ ERR of the error or based on a normalized renewal of the ratio, as described in more detail below) for four products processed at different frequencies. P1 to P3 are z. B. high-speed products while P4 a deep running product. The magnitude of the estimation error (or any other suitable value to determine the accuracy of the state information) differs considerably due to the dissimilar processing frequencies. According to various embodiments, the data fusion circuit 108 as described here, model this effect properly. In addition, the estimation error increases when the material is processed without tracking measurements. This effect is also caused by the data fusion circuit 108 covered. According to various embodiments, the predicted estimation error is accumulated until a new measurement arrives. Due to the metrology update (which is also referred to as restoring the previous state), the estimation error drops and then accumulates again.

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.
According to various embodiments, the process control circuit described herein may be used 100 provide at least one or all of the following:
  • it can provide a state estimate that is optimal in terms of available data given that:
    • • Low-volume and high-mix production data is scarce, irregular and valuable,
    • • the feedback gain can be adapted to the data situation and the wafer in progress (WIP),
    • • the estimates are optimal for each time point,
    • A state estimation is optimal even in unfavorable situations (eg missing readings, missing sample, etc.);
  • an estimation error can be provided (eg calculated) considering that:
    • • a recommendation can be suppressed if the accuracy of a state estimation is insufficient,
    • • a permanent model validation is realized, it z. For example, it is possible to check whether incoming data is consistently modeled and / or whether the internal model used for the prediction is properly provided and corresponds to the process in real life.
  • providing a universal framework for a simple and a complex tax task; and
  • a model-based approach is provided which, without the need to adjust the estimation algorithms themselves, focuses only on the proper modeling of the process.

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.According to various embodiments, the data fusion circuit 108 a component of a run-to-run system (eg in semiconductor manufacturing). According to various embodiments, the data fusion circuit 108 as a component of one (e.g. factory-wide) automatic pass-to-pass control system. Such systems may be present in any modern semiconductor factory. The use of the data fusion circuit 108 however, can not be limited to central (factory-wide) systems; it could also be used for a local system as well. The task of R2R Systems may be to modify (eg, tune or adjust) the process parameters of critical production processes. The R2R System can control many production processes simultaneously and can keep the state information (eg state estimation) for all controlled processes, typically in a database. At each relevant production event (eg a process, a measurement, a maintenance, etc.) data is sent to the R2R System be sent or, in other words, data through the system R2R System recorded. The R2R System can be configured to select the state that corresponds to the current production step, adding the new (collected) data to it.

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.According to various embodiments, when the production event degrades the state estimation (eg, due to a machining event, a maintenance event, etc.), data is added by equation (3), which is also referred to as a process update. When the production event has generated the data (eg, in the case of a metrology event) that improves the state estimate, the data is added by equation (4), which is also referred to as a metrology update.

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.
If material (eg, a wafer, a batch, a lot, etc.) arrives at a controlled production process, a request to the R2R System are sent. The R2R System may use the state information and / or the accuracy information to predict the outcome of the process. The prediction may be used to calculate one or more tuning parameters that may improve the result according to a predetermined optimization criterion. The accuracy information (eg, the standard deviation σ ERR of the estimation error given by the equation (5)) may be used as follows:
  • • If the standard deviation σ ERR of the estimation error exceeds a predetermined threshold, L REC , the R2R systems can not apply tuning parameters to the processing arrangement 104 , z. To a production tool. The automatic control loop (eg the control of the processing arrangement 104 ) can be interrupted to avoid loss of yield and / or rejects. According to various embodiments, the data fusion circuit 108 containing at least one validation routine, ensure that the automatic run-to-pass control (eg, the control of the processing arrangement 104 ) is executed only when a sufficiently reliable state estimate is available.
  • • The incoming measurement data y k + 1 can, for. By calculating the normalized renewal of the ratio, v 0 , z. B. according to the following: 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
    be validated. In this case, the valid measurements can be given by -Ly ≤ v 0 ≤ Ly, z. With 1 ≦ Ly ≦ 5 or 2 ≦ Ly ≦ 4 or any other suitable interval as a criterion. The normalized renewal v 0 of the ratio is a universal measure that is independent of the use case and the transient behavior (the settling) of the estimation algorithm. If the normalized renewal exceeds v 0 of the ratio Ly, several reactions are possible, such as:
    • ■ a status update can be skipped because y k + 1 is considered faulty, and / or
    • ■ a process engineer can be informed (eg via e-mail, SMS or any other suitable signal or any other suitable message) because the model and the real data no longer match; this could be an indication that the process has changed and the process model needs to be reset.
  • • The metrology scanning system can be based on the accuracy information, e.g. Based on the standard deviation σ ERR of the estimation error, dynamically controlled. For high values of the standard deviation σ ERR of the estimation error, the sampling rate can be reduced (ie, more materials can be measured); for low values of the standard deviation σ ERR of the estimation error, the sampling rate can be increased (for example, fewer materials can be measured). For that can According to various embodiments, an interface and a data exchange between the scanning and the R2R System be provided.
  • • If the standard deviation σ ERR of the estimation error exceeds a predetermined threshold, L MET , additional measurements may be triggered, eg. Via a real-time dispatch system ( RTD System) to improve the accuracy of the state estimation. For this, according to various embodiments, an interface and a data exchange between the RTD - and the R2R System be provided.
  • According to various embodiments, the real-time dispatch system may be configured to select a new production tool for a specific material based on the standard deviation σ ERR of the estimation error:
    • ■ where only tools can be selected for which the standard deviation of the estimation error is σ ERR <L REC ; this ensures that a valid state for calculating the tuning parameters is available for all selected tools, and / or
    • ■ the tool with the highest standard deviation σ ERR of the estimation error can be selected from the selected tools; this can prevent a further deterioration / further course of the corresponding state estimation.

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.According to various embodiments, based on the accuracy information, one or more monitoring processes may be started and / or one or more warnings may be sent or displayed. There may be more than one threshold to start more than one different process according to the respective threshold in the case where the accuracy of the state information exceeds that respective threshold.

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.According to various embodiments, the data fusion circuit 108 or the process control circuit 100 may be a major component of a discrete process control system (e.g., batch processes) in any other industries. The embodiments are described herein with respect to semiconductor processing. The use of the data fusion circuit 108 or the process control circuit 100 however, it can not be limited to the semiconductor industry. It can be used to control any discrete process that can be described by equations (1) and (2) or similar equations. The data merging circuit 108 provides a general condition validation means which may be part of a control system.

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. 3A shows a schematic diagram of the operation of a process control circuit 100 that is used to process a process 300 a processing arrangement 104 and a method of controlling a processing arrangement 104 according to various embodiments.

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.In analogy to the embodiments described above, the process control circuit 100 be configured, the process data 105d and the measurement data 107d a processing arrangement 104 to capture, with the process data 105d multiple process event data according to multiple process events 105e and the measurement data may include multiple measurement event data in accordance with multiple measurement events 107e can contain. The process control circuit 100 may be further configured, estimated state information 302 (see the reference number X ), where the estimated state information X an estimated status of the processing arrangement 104 and error information representing an estimation error σ (see reference numeral .DELTA.X ) of the estimated state information X represent, provide. The process control circuit 100 may be configured, the estimated state information X by updating 300u (eg, by performing a process update according to Equation 3) and restoring the previous state 300d (eg, by performing a metrology update or an earlier state restore according to Equation 4) of the previous state information based on the acquired process event data 105d and the acquired measurement event data 107d wherein the estimation error σ (calculated, for example, according to Equation 5) is provided by updating 300u (eg, considering the process event data 105d ) and wherein the estimation error σ is restored by restoring 300d of the previous state (eg, in view of the measurement event data 107d ) is reduced. The process control circuit 100 can be configured, the processing arrangement 104 based on the estimated state information X and / or the estimation error σ 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.Based on the estimation error σ, at least one additional circuit can be controlled; B. a real-time dispatcher to be controlled 311 , the scanning system can be controlled 311b , a tuning parameter can be determined 311c or it can be the incoming measurement event data 105d be validated 311d , According to various embodiments, at least one additional circuit may be provided by sending a message via a communication circuit 312 (which, for example, contains any suitable circuitry to send at least one message).

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.According to various embodiments, the method of controlling the processing arrangement 100 Contains: Capturing process data 105 and measurement data 107 the processing arrangement, wherein the process data comprises a plurality of process event data 105d according to several process events 105e contain and the measurement data multiple measurement event data 107d according to several measurement events 107e contain; Providing status information X that have a status of the processing arrangement 104 represent and accuracy information .DELTA.X providing an accuracy of the state information X represent; To update 300u the state information X (eg, updating previous state information) based on the captured process event data 105d , which improves the accuracy of the state information X is reduced and independent of updating 300u the state information X Restore 300d the previous state of state information X (eg, restoring the previous state of the previous state information) based on the acquired measurement event data 107d , which improves the accuracy of the state information X is increased, and controlling the processing arrangement 104 based on the state information X and / or based on the accuracy information .DELTA.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.According to various embodiments, the process control circuit 100 or the data fusion circuit 108 as a main component of a surveillance system (eg in the semiconductor industry), as in 3B can be used in analogy to the embodiments described above.

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.In semiconductor manufacturing many processes can be monitored. It can, for. B. a statistical process control ( SPC ) or a fault detection and classification ( FDC ) can be used for monitoring. According to various embodiments, the data merge circuit described herein 108 also be used as an improved monitoring system. According to various embodiments, monitoring may include: selecting a suitable process model (eg, based on equation (1)) and a suitable measurement model (eg, on equation (2)) for size, y which needs to be monitored, and tuning the process model parameters by a statistical procedure using previous (eg, historical) size data y (eg, about maximum likelihood estimation, as described in more detail below); Implementing equations (3) and (4) in the monitoring system (eg, via a data merging circuit described herein 108 ) for calculating a state estimate x k , P k and computation (see reference numeral 313 ) of the normalized renewal, v 0 (eg based on equation (6)) or any other error information of state estimation. When new data y k + 1 arrives, the monitoring may validate (see the reference numeral 315 ) of the new data 107d and / or validating (see reference numeral 315 ) of the process model. The monitored process can, for. B., that is, it behaves normally in the case where -Ly ≦ v 0 ≦ Ly with 1 ≦ Ly ≦ 5 or 2 ≦ Ly ≦ 4.

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.According to various embodiments, the process control circuit 100 or the data fusion circuit 108 in a monitoring system generally used to monitor discrete processes, e.g. B. with the equations (1) and (2) or similar equations can be modeled.

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.According to various embodiments, the process control circuit 100 or the data fusion circuit 108 may be used as part of a device (eg, a controller) that tunes and / or monitors specific semiconductor processes (eg, chemical mechanical planarization, lithography, etching, deposition, etc.). According to various embodiments, the process control circuit 100 or the data fusion circuit 108 may be used as part of a device (eg, a controller) that tunes and / or monitors specific processes in any other industry.

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.According to various embodiments, a Kalman filter having a corresponding error covariance matrix P used to validate the estimated state of a control and / or monitoring system. According to various embodiments, a Kalman filter having a corresponding error covariance matrix P used to validate the measurement data collected by a control and / or monitoring system.

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. Such as In 3A is illustrated, the process control circuit 100 both functions, a control function and / or a monitoring function included. According to various embodiments, the one or more functions of the process control circuit 100 or the data fusion circuit 108 be implemented as a software module, e.g. For use in a run-to-run control system, e.g. B. Control manufacturing processes on a 24/7 basis.

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.The process control circuit 100 or the data fusion circuit 108 enables semiconductor production processes to be controlled and monitored much more accurately than based on conventional algorithms, as described herein. An advantage may be the accurate validation of the current state of the control / monitoring system even for very complex production scenarios (eg, a high mix, a low volume, a significant time lag between the process and the measurement, a metrology scan, etc.).

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.In a high-mix, low-volume production, data can be scarce, erratic, and valuable. The process control circuit 100 or the data fusion circuit 108 as described herein maximizes the available data, improves the quality of pass-to-pass control, increases the stability of production and / or avoids yield losses and rejects.

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.According to various embodiments, yield loss and / or rejection due to invalid state estimates may be prevented using the accuracy information. The loop can only be interrupted if necessary because any unnecessary disruption would generate additional production costs in the form of pre-sent wafers, additional workload for the production personnel (eg in case of manual intervention) and / or loss of time. In addition, costs can also be saved.

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.According to various embodiments, one or more aspects of the process control circuit 100 or the data fusion circuit 108 in software, eg Based on the MATLAB® software or any other suitable software.

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.According to various embodiments, the recursive estimation and prediction algorithms may be adapted to production scenarios with delayed and permutated measurements. In order to improve the stability of semiconductor manufacturing processes or other manufacturing processes, external automatic control may be used in addition to the internal control of the production tool. This external control can be used as a run-to-run control ( R2R Control), as described above. According to various embodiments, a run-to-run strategy may include at least two steps: first, estimating an appropriate state of the controlled processes using the process data of the previous materials, and second computing a tuning parameter (tuning parameters) for the next material (the next Batch, the next wafer, etc.) based on the estimate.

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.In general, state estimation can be an important aspect of the control algorithm. It may be advantageous to use a Kalman filter-based state estimation algorithm as described herein. The Kalman filter may be refreshed (or, in other words, updated) at least twice for a material. The first refresh (or first update) may be performed (eg, directly) after editing the material (ie, the process update), while the second refresh (or second update) may be performed if the corresponding metrology data is available (ie, a previous state restore or a metrology update). There is often a considerable time delay (eg, several hours or days) between processing and measuring, and therefore, one or more other manufacturing operations between updating and restoring the previous state for a material (eg, a process event and a corresponding measurement event of a material) can be performed. In the meantime, other materials can be edited and / or measured. These other materials may overhaul the previously processed materials, that is, the materials arrive in a randomly permuted order in the metrology operation, see e.g. B. 3A , To use the new information as soon as possible, any update can be performed immediately. However, the Kalman filter is a recursive estimation algorithm that may require that the materials be updated in a strict order, ie, in order PU ( k ) MU ( k ) PU ( k + 1), MU ( k + 1), PU ( k + 1), MU ( k + 1) etc., where PU ( k ) the process update for a material k (or an event k ) and MU ( k ) the metrology update for the material k (or the event k ) designated. The index defined by the respective process event k can be the counted variable for the process model, as described here.

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. 4A Figure 12 illustrates a schematic diagram of a natural update sequence due to a manufacturing process. In other words, the processing arrangement 104 can be operated, resulting in the illustrated order for the process updates PU and the measurement updates MU for a first processed object (with the index 1 ), a second processed object (with the index 2 ), a third processed object (with the index 3 ), a fourth edited object (with the index 4 ) and a fifth processed object (with the index 5 ) as an example. Because, according to various embodiments, updating and restoring the previous state of the data fusion circuit 108 can be performed independently of one another, as described above, the illustrated natural order for the process updates PU and the measurement updates MU by the operation of the processing arrangement 104 is defined as the update order of the filter.

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.However, according to various embodiments, in a schematic diagram, the natural update sequence may be modified into a (sorted) update sequence due to the manufacturing process that is appropriate for a recursive filter, e.g. B. for a Kalman filter, may be advantageous, as in 4B is illustrated. Without transforming the natural sequence into the sorted sequence, the Kalman filter can not work optimally. Other recursive estimation algorithms (such as the Wiener-Kolmogorow filter) may be used in a similar manner.

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.As in the 4A and 4B is illustrated, the index (eg, the index k ) of a material by the process event, wherein the measurement event is correlated with the respective process event to provide the process and measurement data for each of the processed materials.

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.According to various embodiments, a process control circuit similar to the process control circuit described above 100 based on recursive estimation algorithms to estimate the state information. In this case, the process control circuit may include: a data acquisition circuit that is configured, the process data 105 and the measurement data 107 a processing arrangement to capture, the process data 105 multiple process event data 105d according to multiple process events, and the measurement data includes multiple measurement event data 107d contained according to several measurement events; a recursive process control circuit configured to update current state information 402c based on the process data 105 a current process event and a sequence 400Q recalculate previous process events recursively and the current state information 402c when capturing the measurement event data 107d representing at least one previous process event of the sequence 400Q Previous process events correspond to recalculate, and a control circuit configured, the processing arrangement based on the current state information 402c to control.

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.According to various embodiments, all materials with outstanding metrology data may be queued 400Q be collected, such. In 4C is illustrated in a schematic view. The queue 400Q can according to the processing time (eg by the index k is defined, where k a natural number) of the materials can be sorted in ascending order, see 4B , However, one or more measurement event data may be missing, that for the data merge circuit 108 may be configured to cope with the missing measurement event data, as described herein.

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.According to various embodiments, for the process update 300u a new entry in the queue every time a new material is edited 400Q be generated. The position of the item in the queue 400Q can z. B. be determined by the processing time (see 4C ). According to various embodiments, for the metrology update 300d every time metrology data is queued for a material 400Q arrive, the corresponding queue element ( 1 to n . n is a natural number) to be marked by a flag. According to various embodiments, a base state 402b being held. The base state may be the state of the Kalman filter (or any other recursive filter or recursive state estimation algorithm) just before the first material (with the index 1 ) in the queue 400Q is looked at. After every process update 300u or any metrology update 300d For example, the iterations of the Kalman filter are performed on all materials (eg, 1 through n, n is a natural number) in the queue. The iteration may be with the base state 402b be initialized. Illustratively, the iteration moves along the queue 400Q (For example, the materials are updated according to their processing time, ie the "old" materials are updated first). For each material, a process update is performed. The metrology update will only be executed if metrology data for the particular material Are available. The result of the iteration is considered a current state 402c saved. This can be z. B. quick access to the current state 402c without the need to queue 400Q recalculate, allow.

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.As in 4D In a schematic diagram, the materials may be queued 400Q be removed 400r if the metrology data is available and there is no legacy material with missing metrology data.

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.As in 4E In a schematic diagram, according to various embodiments, the length of the queue 400Q be limited. This may be advantageous in some applications because it prevents excessive computational load, memory usage, and update time. The aspect of collecting the material with outstanding metrology data in a queue 400Q and updating the state by iterating along the queue can be applied to any recursive algorithm of a controller.

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.According to various embodiments, a recursive estimation algorithm (eg, a Kalman filter) may be used to estimate the state information for a pass-to-pass control system as described herein. According to various embodiments, the state information may be the base state 402b (eg, a state vector and an error covariance matrix), the queue 400Q and the current state 402c contain. For each element of the queue 400Q can provide contextual logistical information (which also acts as the process data 105 be designated). This logistical context information may be related to the incoming metrology data (which, in addition, is the measurement data 107 be designated) for the corresponding queue element.

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.For each relevant production event (eg, a process, a measurement, a maintenance, etc.), data may be sent to the R2R System are sent. The R2R System can select the state that corresponds to the current production event, adding new data to it. If the production step corresponds to a process update, a new element of the queue is created and the entire queue is subsequently recalculated. If the production event matches a metrology update, the metrology data is assigned to the appropriate element of the queue, and then the entire queue is recalculated. If material arrives at a controlled production event, a request can be sent to the R2R system. The R2R System can use the state information to predict the outcome of the process and calculate the tuning parameters.

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.As in 4A is illustrated, the data fusion circuit 108 be configured to update the state information for each of the acquired process event data and for each of the acquired process metrics in a chronological order defined by the process events 300u and restore their former condition 300d , where the trade fair events are mapped to the process events. In this case, z. B. the data merge circuit 108 be configured to update the state information for each of the plurality of process events in acquiring the corresponding process event data and for each of the plurality of measurement events in acquiring the corresponding measurement event data 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.Furthermore, the data merging circuit 108 configured to collect a plurality of process event data of the respective process events and to update the state information in consideration of the collected plurality of process event data upon acquiring the measurement event data of a subsequent trade event and to restore the previous state of the state information based on the acquired measurement event data.

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.Alternatively, the order for updating 300u and restoring 300d the previous state of the state information are sorted as in 4B is illustrated and / or queued 400Q be processed, as in the 4C to 4E is illustrated. In this case, z. The data acquisition circuit 102 further configured to correlate the measurement events with the corresponding process events (eg mapping the measurement events to the corresponding process events). According to various embodiments, for each material (eg, for each with the processing arrangement 104 machined workpiece) provides at least one (eg, one or more) tuples based on the process event data and the measurement event data corresponding to the process event, the tuple illustratively representing a product, e.g. As a wafer can be assigned. Furthermore, the data merging circuit 108 be configured, the current state information 402c based on the process event data of a current process event and a sequence of previous process events and / or measurement events to calculate. The sequence of the previous process events and / or measurement events can be determined by the queue 400Q be defined. The data merging circuit 108 can be configured, the current state information 402c based on the process event data of a current process event and a sequence of previous process events and the current state information 402c upon recalculating measurement event data corresponding to at least one previous process event of the sequence of previous process event data. The sequence of previous process events may be a limited number of process events, starting from an initial process event containing the base state information 402b defines, and ending with the current process event, the current state information 402c defined, included. In this case, the initial process event may be selected to be a first item in the sequence of the previous process events for which no corresponding measurement event data is available and for which the corresponding measurement event data is to be considered. According to various embodiments, the length of the queue may be 400Q be reduced to a desired maximum number of elements.

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.According to various embodiments, a method is provided for coping with complex ambiguities in run-to-run Kalman filter models. As described above, the state estimation may be an important part of a control algorithm that may be used in a process control circuit. According to various embodiments, the control algorithm may be based on a Kalman filter, see e.g. For example, the equations (1) to (6) have been described above.

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)).The state information of the process (see, for example, equations (1) and (2)) may be estimated by two sets of equations (eg, sets of equations (3) and (4)) that are performed completely independently of each other , After each process event or maintenance event, a process update may occur 300u (for example, see the first set of equations (3)). Further, metrology data may be added to the condition through a metrology update 300d (see eg the second set of equations (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.
The sequence of sets of equations (3), (4) accurately reflects the accumulation and degradation of the process information (the decrease and increase of the estimation error) as long as the process model parameters Q, R, B, D, C, A are Process fit in real life. However, the practical application of the Kalman filter for pass-to-pass control can be adjusted to accommodate one or more of the following:
  • ■ a very large number of states ( 50 - 1000 );
  • ■ new states must be added and initialized automatically;
  • ■ Conditions develop over longer periods of time (years);
  • ■ any state is (essentially) never updated;
  • ■ a model ambiguity.

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.According to various embodiments, a new state (may be new states) at runtime may be increased by increasing the state information X and the error covariance matrix P are added. However, it can at least be helpful to initialize the new state correctly. According to various embodiments, this can be done in the data fusion circuit 108 filters used to interpret the initial values as an earlier knowledge of the process, which in turn directly affects the result of the state estimation.

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.However, reliable prior knowledge may often not be available in practice. This may be the case, in particular, for an automatic system that operates 24/7. According to various embodiments, the filter that is used may be the processing assembly 104 be configured in such a way that the initial values do not contain information. This can be done by initializing the diagonal elements of the error covariance matrix P , which corresponds to the new state, can be reached by infinitely large values. Unfortunately, mathematical infinity can not be handled by numerical algorithms. The desired behavior can be achieved by initializing the error covariance matrix P be achieved by a very large value instead of an infinite value. However, this can lead to numerical problems (for example, the larger the initial values are, the larger the problems are). The main cause is that some (or all) elements of the error covariance matrix P are simultaneously made up of small and very large components. Due to the limited numerical accuracy digital computer, the large components can wipe out the small components, which nevertheless can be important for accuracy. The initialization problem can be amplified by a model ambiguity. The model ambiguity can occur in run-to-run systems or similar systems, as described in more detail below.

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. 5A shows an example to schematically illustrate the model ambiguity. Suppose that three products ( A . B and C ), all of which are handled by the same production tool. The observed quantity (eg, a polishing rate, a deposition rate, etc.) may indicate a synchronous movement over time, such as through the lines 500a . 500b . 500c for each of the products A . B . C is shown.

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.This behavior can be modeled by assuming a common tool state X tool that passes through the line 500d to which product-specific preloads X A , X B and X C are added. The individual states X tool , X A , X B and X C are not clearly defined by the data. As an example, the alternative state constellation that is in 5B illustrated as likely as the in 5A illustrated first constellation.

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.There are indeed infinite state constellations that can not be delimited by the data. There is an additional degree of freedom that is not resolved (determined) by the data and that can lead to estimation problems. The individual states X tool , X A , X B and X C are in contrast to the state combinations X tool + X A , X tool + X B and X tool + X C undefined. Because of this, the variance of the estimation error of the individual states is X tool , X A , X B and X C are infinite. This means that large components injected into the error covariance matrix P by initialization "with large values" will never disappear and therefore degrade the accuracy at each iteration step. According to various embodiments, these problems may be avoided, as described in more detail below, which may be a major improvement for the application of Kalman-based filtering to a pass-to-pass control system.

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.
In general, there may be several strategies to overcome the problem outlined above, such as: B .:
  • • Avoiding model ambiguity by defining a single state for each context combination, ie defining its own state for X tool + X A , X tool + X B, and X tool + X C, respectively: This may be a simple solution, but a large number of states (eg number of tools * number of products * [...]) can be generated. Furthermore, this requires non-zero non-diagonal elements in the process noise matrix Q (the storage and handling of n 2 elements). In the case of z. For example, new products must immediately create new states for all tool / product combinations; even if some of these combinations are never used.
  • • Eliminating the model ambiguity by adding constraints to the states (such as X A + X B + X C = 0): In this case, a reduced number of states is used (number of tools + number of products + [...]), where the process noise matrix Q can be diagonal (n instead of n 2 elements). However, there may be numerical problems and the restrictions must be refreshed regularly. Furthermore, the constraints may be complicated to design, especially for complex scenarios (eg, multi-level states, fine-tuning bias, gradients, polynomials). Further, in the case of dedications (eg, a tool), some state combinations (eg, tool / product) are undefined, and the design of constraints must take this fact into account, and the constraints must be dynamically modified if tool dedication is abandoned and additional logic is needed to translate the states from the dedicated states to the non-dedicated states. Furthermore, the new states are undefined during the initialization phase, this fact being hidden by the constraints, with additional logic needed to suppress and / or control that phase.
  • • The use of "medium" initial values: this can be a complicated approach. The initial value must be large enough for proper initialization of the filter and small enough to keep the numerical problems under control. The initial values must be set very carefully (eg "handcrafted"), which can be difficult to use for a 24/7 production and various product portfolios. Furthermore, no distinction between uninitialized and expired states is possible in this case. Furthermore, the numerical problems do not completely disappear. However, there will be a reduced number of states (number of tools + number of products + [...] ), where the process noise matrix Q may be diagonal (n instead of n 2 elements). Furthermore, complex scenarios (eg, multi-level states, fine-tuning preloads, gradients, polynomials, etc.) can be naturally handled, defining state combinations when σ e R R 2 < border
    Figure DE102017111926A1_0009
    applies, whereby new state levels can be added at runtime. Furthermore, new states can be added and initialized at runtime and state combinations can be initialized as soon as σ e R R 2 < border
    Figure DE102017111926A1_0010
    applies. Furthermore, dedications (eg, a tool) can be handled naturally, with state definitions defined if σ e R R 2 < border
    Figure DE102017111926A1_0011
    is true, as soon as dedicated data is not available, the dedicated states are automatically translated to the non-dedicated states.

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
According to various embodiments, the error covariance matrix P can be decomposed into a finite and an infinite part, which leads to all the advantages of the approach of the medium-sized initial values while avoiding the disadvantages. According to various embodiments, the error covariance matrix P may be decomposed as follows or in a similar manner: 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
According to various embodiments, substituting equation (7) into equation (3) may result in a new set of process update equations (8) as follows: 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
According to various embodiments, process noise may be added to both the finite and infinite parts of P k in the set of equations (8). This leads to a modified equation of equation (8 *) below. In this case, the following equations can be adjusted accordingly. 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
If the error covariance matrix P z. For example, according to equation (7), the metrology update (eg, according to equation (4)) may be decomposed into two cases. According to various embodiments, based on the following equations: 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
the case 1 and the case 2 can be obtained as follows: The case 1 can by | F I, k + 1 | > 0 (in practice by | F I, k + 1 |> F NUM ). In this case, the metrology update can be expressed by the following set of equations (11): 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
The case 2 can by | F I, k + 1 | = 0 (in practice defined by | F I, k + 1 | ≤ L NUM ). In this case, the metrology update can be expressed by the following set of equations (12): 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:The numerical limit, L NUM , can be z. B. to a very small number, z. To a value of 10 -10 . The error variance σ e R R 2
Figure DE102017111926A1_0019
for the prediction of any linear state combination of interest α ^ k + 1 | k 2 = C ¯ x ^ k
Figure DE102017111926A1_0020
is z. For example, given by the following:

σ 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
σ e R R 2 = { C ¯ [ P R . k + Q k + 1 Q k + 1 T ] C ¯ T if F I L NUM if F I > L NUM . With 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
The error variance σ e R R 2
Figure DE102017111926A1_0022
for the prediction of the next methodological value ŷ k + 1 | k = C k + 1 x k is z. For example, given by the following: σ e R R 2 = { C k + 1 P R . k C k + 1 T + R k + 1 2 if F I L NUM if F I > L NUM . With 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.
This approach can accomplish one or more of the following:
  • • an exact initialization with infinite "∞" is possible
  • • the initial value can be chosen arbitrarily, because the result is independent of this choice,
  • • The computational complexity of the process update without state transition (ie, A k + 1 = I n ) is of n .
  • The computational complexity of the metrology update is of n 2 (if properly implemented, eg as described below),
  • • uninitialized and expired states can be separated from each other,
  • Due to "small" and "big" components in the error covariance matrix P there are no numerical problems
  • • a reduced number of states is used (number of tools + number of products + [...]),
  • • the process noise matrix Q can be diagonal ( n instead of n 2 elements),
  • • complex scenarios (eg multi-level states, fine-tuning preloads, gradients, polynomials) are handled naturally:
    • ■ state definitions are defined if σ e R R 2 <
      Figure DE102017111926A1_0024
      applies,
    • ■ new state levels can be added at runtime, new states added and initialized at runtime,
    • ■ State combinations are initialized as soon as σ e R R 2 <
      Figure DE102017111926A1_0025
      applies,
  • • Dedications (eg of a tool) are handled naturally:
    • ■ State definitions are defined if σ e R R 2 <
      Figure DE102017111926A1_0026
      applies,
    • ■ Unless dedicated data is available, the dedicated states are automatically translated to non-dedicated states.

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.However, a specification of a numerical boundary L NUM may be complicated, especially if the range of the observation vector elements C k (i) is large, which will be described in more detail below.

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.According to various embodiments, an initialization problem of the run-to-run Kalman filter may be achieved by decomposing the error covariance matrix P into a finite part P R and an infinite part P I prevented as described above. Further, the problems due to model ambiguity may be due to the error covariance matrix P into a finite part P R and an infinite part P I prevented as described above.

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.According to various embodiments, the modification of the Kalman filter described above may be part of a universal pass-to-run / monitor system used in semiconductor (or other) industries. In the case where a Kalman model is used and in which the error covariance matrix is decomposed into a finite and an infinite part, the operation of the data merging circuit can 108 be improved. The iterative equations described above can lead to a characteristic sequence of the state estimation x k and the error covariance matrix P R, k , P I, k k = 0, 1, ... lead.

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.According to various embodiments, the data fusion circuit 108 be configured to determine the accuracy information based on an estimation error, wherein the estimation error similar to the above-described division of the error covariance matrix P can be decomposed into a finite part and an infinite part. The estimation error may be via an error covariance matrix, e.g. Based on the error covariance matrix P or based on an inverted error covariance matrix P -1 . In this case, the error covariance matrix becomes P or the inverted error covariance matrix P -1 decomposes.

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.As a result, the data merging circuit 108 Further, it may be configured to reconstruct the prior state of state information X based on a first set of equations for restoring the prior state (eg, the set of equations (11)) to a first case and to a second set of equations for restoring the previous one State (eg, the set of equations (12)) in a second case. The first and second cases are determined by a distinguishing criterion, e.g. Based on the equation (10), where | F I, k + 1 | > L NUM defines the first case and | F I, k + 1 | ≤ L NUM defines the second case. However, there may be other values and similar definitions for distinguishing the first case from the second case.

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.According to various embodiments, the data fusion circuit 108 be configured to calculate the estimated measurement data and a corresponding prediction error and to check whether the prediction error contains infinite parts.

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.According to various embodiments, the earlier state of the state information for one measurement vector may be recovered over a plurality of single prior art scalar recoveries, wherein for each individual scalar restoration of the previous state, e.g. Based on a numerical reference value, L NUM , as described above, it is checked whether the discrimination criterion is zero.

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.According to various embodiments, for a infinity filter, a fast and stable quadratic algorithm for restoring the prior state is provided. The state estimation may be provided by a control algorithm included in the data fusion circuit 108 the process control circuit 100 is implemented. The control algorithm may be provided as described above or provided based on similar equations describing the same general approach. According to various embodiments, a Kalman filter or a Kalman based filter (ie, a modification or extension of the standard Kalman filter) may be advantageously used to provide the state estimate. In the following, various aspects will be described which are applicable to control any described process, e.g. G., By the equations (1), (1 *), (2), (2 *), or in a similar manner as described above.

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
In more detail, the state information of a process, e.g. Modulated by equations (1), (2) can be estimated by two sets of equations that are performed completely independently of one another, see e.g. For example, the set of equations (3), (4) has been described above. After each process or maintenance step, a process update is performed according to the first set of equations (8) using equations (8a) to (8c): 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
Furthermore, metrology data can be updated by the metrology update, e.g. Also referred to as restoration of the previous state, to which state information is added, as described above with the following definition: 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
In the case 1 , the z. By | F I, k + 1 | > 0 or | F I, k + 1 | > F NUM , the metrology update may be performed based on the following set of equations (11) containing equations (11a) through (11d): 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
In the case 2 , the z. By | F I, k + 1 | = 0 or | F I, k + 1 | ≤ L NUM , the metrology update may be performed based on the following set of equations (12) containing equations (12a) through (12d): 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.If the metrology data consists of more than one measurement value, the update can be performed separately with equations (9) - (12d) for each value, as described above. The sequence of equations (8a) - (8c) and (9) - (12d) accurately reflects the accumulation and degradation of the process information (e.g., the reduction and increase in estimation error) as long as the process model parameters Q, R, B, D, C, A fit the process in real life.

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.According to various embodiments, the estimation algorithm (eg, according to equations (8a) - (12d)) may have advantages over conventional Kalman filtering (especially if it is applied to a pass-to-pass control). Distinguishing the case 1 and the case 2 however, in the metrology update of each other may be an important aspect of the algorithm, as described in more detail below.

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.As an example shows 6A the distinction parameter F I for a model with 230 states over 1000 iterations, wherein the distinguishing parameter is plotted on the y-axis 600y and the iterations are plotted on the x-axis 600x. The elements of the observation vector, C , are only 1 and 0, see equation (10). As in 6A is illustrated, are the case 1 with (| F I | ≈ 1.0) and the case 2 with (| F I | ≈ 10 -15 ) well separated from each other in this example, with a discrimination threshold surely being e.g. B. can be set to L NUM = 10 -10 (see the distinction line 600d ), where the basic numerical noise floor 600n is about 10 -16 .

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.If the elements of the observation vector, C , over a slightly wider area, eg. B. (0.01, 1.0, 1000) are distributed, the distinguishing parameter F I is distributed more complex, such. In 6B is illustrated. The first case is now characterized by the values of the distinguishing parameter F I , e.g. B. from 10 6 to 10 -4 range. The second case corresponds to the values of the discrimination parameter of about 10 -10 , e.g. With | F I | ≈ 10 -10 , (for example, due to the basic numerical noise floor 600n of about 10 -10 ), leaving little room for a clear distinction between the two cases and therefore between the application of equations (11a) - (11d) or equations (12a) - (12d). In the 6A illustrated safe discrimination limit L NUM = 10 -10 would be inappropriate in this case, which in turn means that L NUM would have to be set individually for each use case. In accordance with various embodiments, a state estimation algorithm is provided below to avoid the need for individually setting the discrimination limit L NUM . This algorithm (also referred to as the square root algorithm) may be used in the process control circuit 100 or the data fusion circuit 108 an automatic control system, the z. B. operated on a 24/7 basis can be used, as described above.

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.According to various embodiments, a square root algorithm is provided based on equations (8a) - (12d), as described in more detail below. According to various embodiments, the covariance matrices P R and P I are replaced by the factorizations. The factorization can z. B. be defined as follows or in a similar manner: P R = S R T S R .
Figure DE102017111926A1_0040
P I = S I T S I .
Figure DE102017111926A1_0041
In this case, instead of the error covariance matrices P R , P I, the square root matrices S R , S I are directly propagated. In this case, the square root matrices S R , S I z. B. also referred to as Cholesky factors.

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.Although the following embodiment will be described based on a specific example of factorization, see Equations (15), (16), other factorizations may be used in the same way as e.g. B .: P = U T D U
Figure DE102017111926A1_0042
In this case, U z. For example, a generalized Cholesky factor and D is a diagonal matrix.

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
Furthermore, the following factorizations can be used in a similar way: P = S S T or 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.According to various embodiments, the strategy of radying may be applied to Kalman filtering. The condition number of the square roots S R , S I (the Cholesky factors) is better than the condition number of the original matrices P R , P I. The numerical challenging part may be the restoration of the previous state (the metrology update). For standard Kalman filters, the most accurate (and at the same time the most efficient) algorithms can be the Carlson algorithm and the Bierman algorithm. Both the Carlson algorithm and the Bierman algorithm are based on the same principles and are almost equivalent from a numerical standpoint. According to various embodiments, the Carlson / Bierman algorithm is implemented in a modified, e.g. B. generalized, way for the restoration of the previous state z. Based on equations (11a) - (12d). The implementation of the modified Carlson algorithm is shown in more detail below by way of example.

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 According to various embodiments, the rubbing of equations (8a) - (12d) may encounter one or more of the following aspects: process update (8b), (8c) ■ Kalman upgrade ■ Complexity ~ n 3 metrology update (12b) - (12d) ■ Kalman recovery of the previous state ■ The Carlson algorithm is applicable The Carlson algorithm does not work for singular matrices metrology update (11b) ■ coupled restore of the previous state of rank 1 and update of rank 2 ■ sequential execution of the previous state restores and Rank 1 updates will cause problems due to numeric mismatch metrology update (11c), (11d) ■ "Total restoration of the previous state" → reduces the rank of P I ■ The Carlson algorithm is not designed for a total restoration of the previous state ■ P I is singular after the first restoration of the previous state ■ The Carlson algorithm does not work for singular matrices

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.According to various embodiments, the Carlson algorithm may be used for the steps of restoring the previous state, e.g. For example, as follows: S ¯ T S ¯ = S T ( I - a a T a T a + R 2 ) S
Figure DE102017111926A1_0044
can be written. The matrices S and S are each upper triangular matrices. The algorithm can not be applied if R = 0 (eg in the case of a "total restoration of the previous state"), or if the input matrix S is singular. However, both may be necessary for the erasing of the equation (11c and 12b) to restore the former state. Therefore, according to various embodiments, the Carlson algorithm is modified, as described in more detail below.

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:The generalized restoration of the previous state based on the modified Carlson may be e.g. With algorithm (1), which is referred to as the Generalized Carlson Recovery of Earlier State (GCDD), as follows:

ALGORITHMUS 1:ALGORITHM 1:

Figure DE102017111926A1_0045
Figure DE102017111926A1_0046
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.
The generalized recovery of the previous state, based on the algorithm provided above or implemented in a similar manner, may have one or more of the following properties:
  • • both singular matrices and total restores of the previous state (R = 0) can be treated;
  • • each total restore of the previous state creates a new line that is exactly zero;
  • • a ranking deficit is coded in the matrix structure:
    • ■ it increases the numerical accuracy,
    • ■ Lines that are exactly zero do not need to be saved
    • ■ P I typically has only a few nonzero lines, therefore
    • ■ the memory space for P = P R + P I is reduced by about 50%;
  • • all nonzero lines have non-zero diagonal elements;
  • • Lines that are exactly zero are processed differently than non-zero lines; and
  • • Lines that are exactly zero are preserved during further processing.

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. 6C illustrates the structure 602 the matrix S according to various embodiments. As illustrated, the rank deficit is structural in the matrix S coded. As described above, each full recovery of the previous state creates a new line 602z that are exactly zero, with the lines 602z , which are exactly zero, of the matrix S are preserved during further processing. All nonzero lines 602r the matrix S have non-zero diagonal elements 602d on.

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.Compared to the respect 6B provided example, which contains the unmodified algorithm, the distribution of the values of the distinguishing parameter F I , which is generated by the modified algorithm, in 6D illustrated. As illustrated, this is the case 1 still characterized by the values of the distinguishing parameter F I ranging from 10 6 to 10 -4 . The numerical basic noise 602n however, is reduced by several orders of magnitude to about 10 -33 , which is a safe discrimination threshold above the basic numerical noise floor 602n , z. Eg L NUM = 10 -25 (see the distinguishing line 602d ).

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.In addition, the algorithm described above ( 1 ) the ability to add exact linear constraints to a Kalman-based process model. The linear constraints may be expressed as one or more measurement equations (eg, similar to equation (2)) with R = 0 and therefore correspond to total restores of the previous state. Conventional filters may not be able to handle exact linear constraints and therefore require an approximation of the exact constraint of "small" measurement equations. R that are greater than zero. Because in a conventional filter, the exact constraint noise parameter R can be emulated with a "small" number, such a conventional filter can lead to serious numerical problems.

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
According to various embodiments, the algorithm (1) described above may be e.g. B. extended to any restores of the previous state, based on the following equation: S ¯ T S ¯ = S T S - v v T ,
Figure DE102017111926A1_0047
To transform equation (18) into equation (17), the matrix may be S are excluded from v by solving the following equation for a: v = S T a
Figure DE102017111926A1_0048
This is possible in the case where the vector v belongs to the image of the matrix S T. This condition is z. B. fulfilled if S and S are positive semidefinite. Substituting equation (19) into equation (18) results in e.g. To an equation (20) for restoring the previous state as follows: 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:This gives rise to the following modified state Carlson reconstruction algorithm as follows, according to various embodiments:

ALGORITHMUS 2ALGORITHM 2

  1. 1. Eingabe:
    • S - obere (n, n)-Dreiecksmatrix
    • v - (n, 1)-Vektor
    • tol - Skalar
    1. Input:
    • S - upper (n, n) triangular matrix
    • v (n, 1) vector
    • tol - scalar
  2. 2. Lösen: v = ST a für a; z. B. a = (ST)+ v2. Solve: v = S T a for a; z. For example, a = (S T ) + v
  3. 3. Berechnen R = 1 a T a
    Figure DE102017111926A1_0050
    3. Calculate R = 1 - a T a
    Figure DE102017111926A1_0050
  4. 4. Die Ergebnismatrix S mit dem Algorithmus (1) berechnen:
    • S = GCDD(S, a, R, tol)
    4. The result matrix S calculate with the algorithm (1):
    • 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
In accordance with various embodiments, two independent highly stable algorithms for rendering e.g. The equations (11b) to (11d), see the algorithm (3) and the algorithm (5) below. For the sake of brevity, equation (11b) may be e.g. B. be rewritten as follows: 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 . With F R : = P R C P R C T + R 2
Figure DE102017111926A1_0051
and with 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
The basic idea of the algorithm (3) is that the equation (21) z. B. to rearrange as follows: 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
According to various embodiments, the matrix may be factorized using a QR decomposition as follows: 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
Substituting equation (25) into equation (24) shows that the result matrix S R is given by the upper triangular matrix M I as follows: 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:According to various embodiments, z. For example, based on the algorithm (3), the square root of equations (11b) to (11d) are formed:

ALGORITHMUS 3:ALGORITHM 3:

  • 1. Eingabe:
    • SR,k - obere (n, n)-Dreiecksmatrix
    • SI,k - obere (n, n)-Dreiecksmatrix
    • Ck+1 - (1, n)-Beobachtungsvektor
    • R - Skalar
    1. Input:
    • S R, k - upper (n, n) triangular matrix
    • S I, k - upper (n, n) triangular matrix
    • C k + 1 - (1, n) observation vector
    • R - scalar
  • 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
    2. Calculate: 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
    3. Build the matrix: 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
    4. Use orthogonal row transforms (eg, Givens rotations) to eliminate the last row of matrix M and restore the upper triangular shape of the other rows. Ensure that all lines that are exactly zero are preserved, and that all nonzero lines have a non-zero diagonal element. 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.5. The result matrix S R, k + 1 is defined by lines 1, 2,..., N of M given.
  • 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
    6. Calculate the result matrix S I, k + 1 and K k + 1 with the algorithm (1): 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.Due to the orthogonal row transformation in the point 4 of the algorithm (3), the computational complexity of the algorithm (3) is proportional to n 3 . This can not be a problem because equations (11a) to (11d) are generally performed very rarely (eg, at most n times).

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
According to various embodiments, based on the algorithm (5), the square root of the equations (11b) to (11d) may be z. B. be formed as follows. Algorithm (5) separates equation (11b) into three sequential updates of rank 1 and a restoration of the former state of rank 1 , This can be based on the following equation (27): 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 With 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
The left side of equation (21) can be calculated by the procedure listed below. Equation (27) shows that the step 3 in this process a total restoration of the previous state is:
  • 1. Update the rank 1 with the vector [ P I C T ] F R 0 F I
    Figure DE102017111926A1_0062
  • 2. Update the rank 1 with the "positive" eigenvector of P R C T C P I F I + P I C T C P R F I
    Figure DE102017111926A1_0063
  • 3. Restore the former state of rank 1 with the "negative" eigenvector of P R C T C P I F I + P I C T C P R F I
    Figure DE102017111926A1_0064
  • 4. Update the rank 1 with the vector [ 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. According to various embodiments, the total restoration of the previous state in step 3 in terms of by the step 1 and the step 2 of the sequence generated result matrix. This can be z. B. ensure numerical stability.

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.For the steps 1 . 2 and 4 of the expiration can be an algorithm of updating the rank 1 be used. This algorithm of updating the rank 1 can be modified slightly to preserve the lines that are exactly zero in S R , such as. B. in the algorithm (4) is shown. Furthermore, the algorithm (1) for the step 3 of the process.

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:According to various embodiments, updating the rank 1 . S T S = S T S + aa T , which is called R1UD, can be carried out as follows:

ALGORITHMUS 4ALGORITHM 4

  • 1. Eingabe:
    • S - obere (n, n)-Dreiecksmatrix
    • a - (n, 1)-Vektor
    1. Input:
    • S - upper (n, n) triangular matrix
    • a (n, 1) vector
  • 2. Die Matrix aufbauen: M : = [ S a T ]
    Figure DE102017111926A1_0066
    2. Build the matrix: 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
    3. Use the orthogonal row transforms (eg Givens rotations) to eliminate the last row of M's. Ensure that all lines that are exactly zero are preserved and that all non-zero lines have a non-zero diagonal element. M : = [ S ¯ 0 ] = T M
    Figure DE102017111926A1_0067
  • 4. Die Ergebnismatrix S ist durch die Zeilen 1, 2, ..., n von M gegeben.4. The result matrix S is through the lines 1 . 2 , ..., n of M given.

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.According to various embodiments, the algorithm (5) shown below may be used exclusively for ranked updates 1 and restoring the former state of rank 1 be used. The computational complexity in this case is proportional to n 2 .

ALGORITHMUS 5:ALGORITHM 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
    1. Input:
    • S R, k - upper (n, n) triangular matrix
    • S I, k - upper (n, n) triangular matrix
    • C k + 1 - (1, n) observation vector
    • R - scalar
    2. Calculate: 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
    Third 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
    4. Calculate helper matrix S 1 with algorithm (4): 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
    5. Calculate helper matrix S 2 with algorithm (4): 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
    6. Calculate the helper matrix S 3 with the algorithm (1): 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
    7. Calculate the result matrix S R, k + 1 with the algorithm (4): 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
    8. Calculate the result matrix S I, k + 1 and K k + 1 with the algorithm (1): 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:Equations (12b) - (12d) correspond to a Kalman filter-based restoration of the former state, where the matrix P R may be singular. Therefore, according to various embodiments, the algorithm (1) can be applied. According to various embodiments, based on the algorithm (6), the square root of equations (12b) to (12d) may be formed as follows:

ALGORITHMUS 6:ALGORITHM 6:

  1. 1. Eingabe:
    • SR,k - obere (n, n)-Dreiecksmatrix
    • SI,k - obere (n, n)-Dreiecksmatrix
    • Ck+1 - (1, n)-Beobachtungsvektor
    • R - Skalar
    1. Input:
    • S R, k - upper (n, n) triangular matrix
    • S I, k - upper (n, n) triangular matrix
    • C k + 1 - (1, n) observation vector
    • R - scalar
  2. 2. Berechnen: m R : = S R , k C k + 1 T
    Figure DE102017111926A1_0075
    2. Calculate: 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
    3. Calculate the result matrix S R, k + 1 and K k + 1 with the algorithm (1):
    • 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 4. S I, k + 1 = S I, 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.
According to various embodiments, for a Kalman-based filter or similar filter, a fast and stable square root algorithm is provided for restoring the previous state, as described above. The quick and stable square root algorithm for restoring the previous state may include one or more of the following:
  • ■ The numerical accuracy is drastically improved (~ 32 digits for double precision / the condition number of P R . P I is reduced to its square root),
  • ■ the algorithm can handle many states
  • ■ the total computational complexity is proportional to n 2 (except algorithm (3), which is used a maximum of n times),
  • ■ memory requirements are comparable to a non-modified Kalman filter,
  • ■ the S I Triangular matrix reveals the structure of ambiguity (the number of non-zero rows in S I = the number of degrees of freedom),
  • ■ the exact initialization of the error covariance matrix P with ∞ is possible
  • ■ The algorithm naturally grows with model ambiguity and device dedications.

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.According to various embodiments, the above-described fast and stable square root algorithm may be used to restore the past state in a run-to-run system component (eg, in semiconductor manufacturing), as previously described. According to various embodiments, when the production event degrades the state estimate (eg, due to a machining event, a maintenance event, etc.), data is added through equations (8a) through (8c), which is also referred to as a process update. When the production event has generated data (eg, in the case of a metrology event) that improves state estimation, the data is added by Equation (11a) through (12d), which is also referred to as a metrology update.

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.According to various embodiments, the accuracy information, e.g. As represented by the error standard deviation given by the equation (5) can be used as described above. The incoming measurement data y k + 1 can be calculated by calculating the normalized renewal of the ratio z. B. be validated according to the following: v 0 = y k + 1 - C k + 1 x ^ k - D k + 1 σ e R R ,
Figure DE102017111926A1_0077
In this case σ ERR is the standard deviation for the measurement data prediction. Furthermore, valid measurements z. B. be characterized by -L y ≤ v ≤ L 0 y with 2 ≤ L ≤ y. 4 According to various embodiments, v 0 is a universal measure that is independent of the use case and the transient response (transient) of the estimation algorithm. If v 0 exceeds L y , several reactions are possible, as described above.

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.According to various embodiments, the data fusion circuit 108 or the process control circuit 100 include the above-described fast and stable square root algorithm for restoring the previous state. Therefore, the data merging circuit 108 have an important function in a control system, e.g. For example, to control discrete processes in the semiconductor industry and in other industries.

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.According to various embodiments, the data fusion circuit 108 or the process control circuit 100 include the above-described fast and stable prior art square root algorithm implemented as a component of a surveillance system (eg, the semiconductor industry or other industries). In semiconductor manufacturing, many processes must be monitored. The monitoring can z. For example, selecting an appropriate process model (eg, based on equation (1)) and a suitable measurement model (eg, based on equation (2)) for size, y which needs to be monitored and tuning the process model parameters by a statistical procedure using previous data (eg historical data) of the size y (eg, about the maximum likelihood estimate, which will be described in more detail below); Implementing equations (8a) to (8c) in the monitoring system (eg, via the data fusion circuit described herein 108 ), Calculating a state estimate x k , P R, k , P I, k and calculating the normalized renewal, v 0 (eg using equation 28) or any other error information of the state estimate and if new data y k +1 , validate 315 the new data 107d and / or validating 315 of the process model. The monitored process can, for. B. is validated, ie, behaves normally, in the case that -Ly ≤ v 0 ≤ Ly with 1 ≤ Ly ≤ 5 or 2 ≤ Ly ≤ 4 applies.

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, ...As above z. B. with respect to the 6A to 6D has been described, a fast and numerically stable square root algorithm is provided for restoring the prior state of state information based on equations (11b) - (11d) and (12b) - (12d). The algorithm described above is based on a Kalman model, where the error covariance matrix is decomposed into a finite and an infinite part, which are decomposed into triangular square roots with lines that are exactly zero. The iteration equations (11b) - (11d) and (12b) - (12d) lead to a characteristic sequence of the state estimates x k and the covariance vectors S R, k , S I, k 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. As above regarding the 6A to 6D has been described, the data fusion circuit 108 be configured, a distinguishing parameter (eg, F I ) based on the state extraction matrix C and the error covariance matrix P provide. The distinguishing parameter can be compared with a discrimination limit, e.g. B. L NUM , are compared.

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
As mentioned above, the Bierman algorithm is closely related to the Carlson algorithm and may have the same excellent numerical properties. He uses a generalizing Cholesky factorization according to the following: 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
In addition, according to various embodiments, algorithms 1, 2, 3, 4, 5, 6 may be reformulated with respect to equation (29). Instead of factoring (15) or (16), the following factorizations may be used to reformulate algorithms 1, 2, 3, 4, 5, 6 described above: 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:As an alternative to algorithm (1), the so-called Potter algorithm may be used to restore the previous state according to various embodiments. Like the Carlson algorithm, the Potter algorithm can be used for restoring the former state in the form of equation (17). An algorithm (7) for the previous state Potter restoration is shown by way of example below:

ALGORITHMUS 7:ALGORITHM 7:

  1. 1. Eingabe:
    • S - obere (n, n)-Dreiecksmatrix
    • a - (n, 1)-Vektor
    • R - Skalar
    1. Input:
    • S - upper (n, n) triangular matrix
    • a - (n, 1) vector
    • R - Scalar
  2. 2. Berechnen: F : = a T a + R 2 ;   γ : = 1 + R 2 / F
    Figure DE102017111926A1_0081
    2. Calculate: 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
    3. Calculate the result matrix: 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.The algorithm (7) may be less precise than the Carlson algorithm. This can be z. In 6E to see the values of the distinguishing parameter F I for the example 6B and 6D but calculated using the algorithm (7). The restoration of the previous state calculated with the algorithm (7) generates z. B. a numerical noise floor 604n from about 10 -25 , which is remarkably higher than that by the re 6D generalized Carlsen reconstruction of the previous state described generated numerical noise floor 602n from about 10 -33 's. Further, the memory space required for the covariance matrices is equal to that required by the previous state's Potter restoration. B. according to the algorithm ( 7 ) generated about four times higher compared to the generalized Carlsen reconstruction of the previous state described above. This is because the previous state's Potter restoration produces full matrices (rather than triangular matrices where only half of the matrix elements need to be stored) and does not generate lines that are exactly zero (which need not be stored).

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.According to various embodiments, an information filter may be used to perform the functions of the data merge circuit 108 to implement. The information filter is a modification of the Kalman filter. In this modification, the error covariance matrix P k is the inverse I k = P k - 1
Figure DE102017111926A1_0083
replaced. Instead of the state vector x k becomes the vector z ^ k : = I k - 1 x ^ k
Figure DE102017111926A1_0084
spread out together with I k . In the case of no prior knowledge, the elements of I k can be initialized with 1 / ∞ = 0. This corresponds to initializing the element of P k with ∞. This means that the information filter can naturally handle infinity initialization and model ambiguity.

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.Whenever in this approach, an estimate x k of the real state (or the estimation of linear state combinations â k = C x k ) and / or their corresponding estimation error standard deviation σ ERR are required, the inverse I k - 1
Figure DE102017111926A1_0085
be calculated. The computational complexity of computing the inverse is proportional to n 3 . This may be possible to implement a pass-to-pass control, but is not optimal for pass-to-pass control, where often several hundred states are used and x k and σ ERR must be calculated frequently. Furthermore, the information filter may also be modified by the radicalizing of the respective equations.

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:Due to the model ambiguity, the error covariance matrix P k may be singular, meaning that a simple inversion may not be possible. This corresponds to the fact that the individual states are not affected by the data unlike some state combinations â k = C x k are determined. In addition, the inversion algorithm should exploit a square root structure to preserve the excellent numerical properties. This can be z. By the following algorithm (8):

ALGORITHMUS 8:ALGORITHM 8:

  • 1. Eingabe:
    • Z - (n, n)-Dreiecksmatrix; Quadratwurzel der Informationsmatix, d. h., P-1 = ZT Z
    • ẑ - umgesetzter (n, 1)-Zustandsvektor
    • C - (1, n)-Zustandsextraktorvektor
    1. Input:
    • Z - (n, n) triangular matrix; Square root of the information matrix, ie, P -1 = Z T Z
    • ẑ - converted (n, 1) state vector
    • C - (1, n) state extractor vector
  • 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
    2. Calculate the orthogonal column compressor T T (eg, using a singular value decomposition) Z T T = Z T 1 T T 2 T = [ Z 1 0 ] .
    Figure DE102017111926A1_0086
    where the (n, r) matrix Z I is column regular and r is the rank of Z
  • 3. Berechnen C ¯ T T = C T 1 T T 2 T = : [ C 1 C 2 ]
    Figure DE102017111926A1_0087
    3. Calculate 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.4. The estimation error of the linear state combination â k = C x k is only finite if C 2 = 0. Do not use the state estimate if this condition is violated.
  • 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.
    5. The Estimation of the State Combination α = C x and its finite error variance are given by: α ^ = 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
    To ensure numerical robustness, the QR decomposition Z I = WU and the back-replacement of the triangular system U T U are used to calculate the inverse ( Z 1 T Z 1 ) - 1 = ( U T W T W U } I ) = ( U T U ) - 1
    Figure DE102017111926A1_0089
    to calculate.

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
According to various embodiments, the error covariance matrix P may be decomposed into: 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.During the iteration, the triangular matrix L k and the diagonal matrices D R, k and D I, k are updated. In this alternative algorithm, the process update and the metrology update can not be separated. Furthermore, this alternative algorithm has a computational complexity of n 3 , which alternative algorithm is also numerically unstable.

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
The following is an algorithm that provides a robust distinction between the finite and infinite variance of the prediction error for a Kalman-based filter or any other similar filter based on e.g. To Equations (8a) to (12d) as described above. As described above, equation (10) may be a central decision point of the algorithm (see equations (11a) to (12d)) because the first case and the second case are differentiated (eg, demarcated) from each other need, such. B. based on a discrimination condition, such. 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.Due to a limited numerical accuracy of any digital computer, the calculated value of F I normally differs from the ideal value. Therefore, a modified discrimination condition can be used, such as. B .: | F I . k + 1 | > ε
Figure DE102017111926A1_0092
In this case, the threshold ε (which is also referred to as the discrimination limit) must be suitably selected.

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.Illustrate based on an example 6F . 6G and 6H that choosing the threshold may be relevant. Therefore, the observation vector C k + 1 is varied. As examples shows 6F the distinguishing parameter | F I, k + 1 | for the observation vector C k + 1 = (1 1 1), shows 6G the distinguishing parameter | F I, k + 1 | for the observation vector C k + 1 = (10000 10000 10000) and shows 6H the distinguishing parameter | F I, k + 1 | for the observation vector C k + 1 = (0.0001 0.0001 0.0001). The area 610 in each figure, the interval illustrates where a threshold ε, which is safe between | F I, k + 1 | = 0 and | F I, k + 1 | > 0 is different, can be set. The threshold ε can be chosen so that it depends on the numerical noise floor 602n can be delimited, the threshold ε can z. B. one or more orders of magnitude above the numerical noise floor 602n be determined. However, there can not normally be a common overlap of the intervals for the three different observation vectors C k + 1 that are included in the 6F to 6H are illustrated.

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
According to various embodiments, the respective observation vector (e.g., in equation (11c)) may be z. B. be replaced by a modified observation vector. With C: = C k + 1 and | C 0 | = 1, the modified observation vector can be formulated as follows: 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 In this case, | C | the length of the observation vector C. Substituting equation (30) into equation (11c) results in e.g. For example: P ¯ I = P I - P I C 0 T C 0 P I F I | C | 2 | C | 2
Figure DE102017111926A1_0094
With P I : = P I, k + 1 ; P I : = P I, k ; F I : = F I, 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
As a result, the recursion of the infinite portion of the error covariance matrix P I may be of the length of the observation vector C be independent and can by the direction of the observation vector C be completely determined. In contrast, the distinguishing parameter F I is scaled by the squared length of C, which is e.g. B. is illustrated by the following equation: 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
The distinguishing parameter F I may be zero for any non-zero observation vector C if (and only if) F I0 is zero. Therefore, the modified discriminating parameter F I0 may be used instead of the discriminating parameter F I as follows to distinguish the first and second cases from each other: | F I 0 | > ε case 1 .
Figure DE102017111926A1_0096
| F I 0 | ε Case 2
Figure DE102017111926A1_0097
With 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.The modified discriminator F I0 may be more suitable for discriminating the cases than the non-modified discriminator F I previously described, because the modified discriminator F I0 is independent of the length of the observation vector C. This is z. In 6I illustrates that z. For example, the modified discriminator, F I0 , for three pattern observation vectors C k + 1 = (1 1 1), C k + 1 = (1 1 1) x 10000 and C k + 1 = (1 1 1) x 0.0001 shows the above regarding the 6F to 6H have been used. Even if the three pattern observation vectors differ by several orders of magnitude, the values of the modified discriminator F 10 are aligned and highly comparable. Therefore, a common discrimination limit (see discriminator line 610d) can be used for all observation vectors. As has been shown above, this is not possible if the unmodified discriminator, F I , is used.

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
The approach to modifying the discriminators F I may also be applied to the above-described square root algorithms where the error covariance matrix is updated. This can be z. For example, be formulated with the following equations: 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
Furthermore, according to various embodiments, the error variance may be calculated for the prediction of arbitrary state combinations and outputs. The state prediction can z. Based on the following equation: α 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
In this case, α k + 1 is the state combination of interest and is C the corresponding state extraction vector. The variance of the prediction error is given by the following equations: σ ERR 2 = { C ¯ [ P R . k + Q K + 1 Q k + 1 T ] C ¯ T if | F I | = 0 if | 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.The robust, modified discriminator F I 0 = C ¯ 0 P I . k C ¯ 0 T
Figure DE102017111926A1_0103
can z. B. by the factorization of the state extraction vector, z. In C = C 0 | C |, be calculated.

Ferner kann die Ausgabevorhersage z. B. auf der folgenden Gleichung basieren: y ^ k + 1 | k = C k + 1 x ^ k

Figure DE102017111926A1_0104
Furthermore, the output prediction z. Based on the following equation: 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
In this case, ŷ k + 1 | k is the estimate of y k + 1 based on the data until the time k and C k + 1 is the corresponding observation vector. The estimation of the error variance is z. Given by the following equations: σ ERR 2 = { C k + 1 P R . k C k + 1 T + R k + 1 R k + 1 T if F I = 0 if 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.The robust, modified discriminator F I 0 = C 0 P I . k C 0 T
Figure DE102017111926A1_0107
may be due to factorization of the observation vector, e.g. In C k + 1 = C 0 | C k + 1 |, be constructed accordingly. However, other (eg more complex) forecasting scenarios are conceivable.

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.According to various embodiments, the fast and numerically stable square root algorithm may be used to update the state information and / or restore the prior state of state information in a component of a control system and / or to monitor discrete processes, as described above. In addition, a normalized observation vector (eg, a normalized state extraction vector) may be used to compute a robust, modified discriminator (eg, F I0 ) to detect the infinite predictive variance of the Kalman-based filter. According to various embodiments, the discriminator may be stored for each metrology update to track the correct distinction of the first and second cases.

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
According to various embodiments, a fast and stable square root update algorithm for a Kalman filter is provided. The following is a fast and numerically stable square root algorithm for updating a Kalman based filter or any other similar filter based on e.g. To Equations (1), (1 *), (2), (2 *), (8) to (12) as described above. As described above, some typical problems of a pass-to-pass control can be solved by decomposing the error covariance matrices P into a finite and an infinite part. However, the square root algorithms described below as examples, which are based on the decomposed error covariance matrices P, may be applied in the same way to the non-decomposed error covariance matrices P, as also described herein. The numerical accuracy can be significantly improved if both parts are factored into square roots. This transforms the above-described equation (8a) into the following: 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
In a run-to-run application, no state transition matrix can be used, ie, (A k + 1 = I n ). This may simplify equations (33), (34) for: 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.Equation (34a) may be trivial, while Equation (33a) may correspond to a square root update. However, the computational complexity of the conventional update algorithms is proportional to n 3 . The number n of states used in a pass-to-pass control is typically several hundred. Therefore, various embodiments will be described below that provide an update algorithm with reduced computational complexity.

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).
According to various embodiments, the following observations were made on the sets of equations (3) and (4) described above:
  • • If the process noise matrix Q is a diagonal matrix, the process noise becomes only in the main diagonal of the error covariance matrix P accumulated.
  • • The diagonal element P (i, i) does not affect the Kalman iteration as long as the condition x (i) is not involved in any metrology update.
  • The number of non-zero elements of the observation vector C is typically much smaller than the number of states (for a pass-to-run control: 2-4 vs. a few hundred).

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.
These observations can be exploited to reduce the computational complexity of equation (33a). A modification may, for. B. as follows, see 7A :
  • The accumulated process noise can be separated from the error covariance matrix P, see e.g. B. the reference number 702 ,
  • • New (eg incoming) process noise 706 is added to a separate diagonal matrix P 0 (eg for process update), see e.g. B. the reference number 704 ,
  • If the state x (i) is involved in a metrology update, the process noise is transferred 700t before updating the error covariance matrix P from P 0 (i, i) to P (i, i).

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.Such as In 7B is illustrated in a schematic view, the approach can be adapted to P = S T S and similar factorizations, as described above. In this case, the computational complexity of transmitting the process noise from P 0 (i, i) to S T S is proportional to n 2 , e.g. For example, to update the rank 1 as described above.

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.This approach can be summarized in two algorithms, as described in more detail below. In general, the error covariance matrix P z. B. decomposed into the following: P = S T S + P 0
Figure DE102017111926A1_0113
In this case, P 0 is an (n, n) diagonal matrix.

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
According to various embodiments, the algorithms described herein (eg, the algorithms (9), (10)) may be used to separate the process noise from the error covariance matrix P , such as As illustrated in equation (35), in the same way apply to the cases in which the error covariance matrix P into a finite part P R and into an infinite part P I , as has been described herein. In this case, the error covariance matrices P R and P I z. B. be decomposed as follows: P R = S R T S R + P 0 R or 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:With 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
For example, the algorithms (9), (10) can be implemented as follows:

ALGORITHMUS 9: ALGORITHM 9:

  1. 1. Eingabe:
    • Sk - obere (n, n)-Dreiecksmatrix
    • P0,k - (n, n)-Diagonalmatrix
    • Qk+1 - (n, n)-Diagonalmatrix
    1. Input:
    • S k - upper (n, n) triangular matrix
    • P 0, k - (n, n) diagonal matrix
    • Q k + 1 - (n, n) diagonal matrix
  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
    2. Calculate: P 0 k + 1 = P 0 k + Q k + 1 Q k + 1 T ; S k + 1 = S k
    Figure DE102017111926A1_0116

ALGORITHMUS 10:ALGORITHM 10:

  1. 1. Eingabe:
    • Sk - obere (n, n)-Dreiecksmatrix
    • P0,k - (n, n)-Diagonalmatrix
    • Ck+1 - (1, n)-Beobachtungsvektor
    1. Input:
    • S k - upper (n, n) triangular matrix
    • P 0, k - (n, n) diagonal matrix
    • C k + 1 - (1, n) observation vector
  2. 2. Alle Indizes i mit Ck+1(i) ≠ 0 und P0,k(i, i) ≠ 0 finden2. Find all indices i with C k + 1 (i) ≠ 0 and P 0, k (i, i) ≠ 0
  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
    3. For all indexes i found in step 2, perform the following steps:
    1. a. Initialize: a = (0 0 ... 0) T
    2. b. a ( i ) = P 0 k ( i . i )
      Figure DE102017111926A1_0117
      put
    3. c. Use the algorithm (3) to modify S k : S k : = R 1UD (S k, a)
    4. d. P 0, k (i, i) = 0
  4. 4. Den Quadratwurzelalgorithmus zur Wiederherstellung des früheren Zustands anwenden, um die Matrix Sk+1 zu berechnen4. Apply the square root algorithm for restoring the previous state to calculate the matrix S k + 1

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.According to various embodiments with z. B. S T S = S T S + aa T may be an update of rank 1 z. Based on the algorithm (4) as described above.

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.According to various embodiments, a fast and numerically stable square root algorithm is provided for the process update, as described above. In this case, the computational complexity is reduced from the order n 3 to the order n 2 when the number of non-zero elements in the observation vector C is much smaller than the number of states n. Furthermore, the memory requirements do not increase significantly because only n additional values need to be stored.

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.According to various embodiments, the fast and numerically stable square root algorithm may be used for process updating in a component of a control system and / or for monitoring discrete processes, as described above. According to various embodiments, the error covariance matrix may be decomposed into S T S + P 0 or a similar sum. New process noise can be added to the diagonal matrix P 0 . Process noise is transferred from P 0 (i, i) (eg, only) to S T S when a state x (i) is included in the corresponding metrology update.

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
According to various embodiments, one or more alternative factorization may be used in a similar manner as described above. Instead of equation (35), one of the following alternative factorization may be used to reformulate algorithms (9) and / or (10): 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.According to various embodiments, the respective factorization matrix S or U for the radiusing algorithm may be a (n, n) triangular matrix having a number of n rows and n columns, where n is a natural number, as illustrated above, see 6C , According to various embodiments, the respective factorization matrix used for the rendering algorithm may be an upper right triangular matrix, a lower left triangular matrix, a lower right triangular matrix, or a lower left triangular matrix. The error covariance matrix P is a symmetric (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.If the error covariance matrix z. B. based on P = S T S or P = U T DU is factorized, as described above, the respective factorization matrix is S or U (and therefore also the error covariance matrix P) of rank R with a number of n rows, where they have a number of n minus R lines that are exactly zero. Further, in this case, for each of the n rows containing at least one element other than zero, the corresponding diagonal element of the respective factorization matrix S or U is not zero. Alternatively, if the error covariance matrix z. For example, based on P = SS T or P = UDU T , the respective factorization matrix is S or U (and therefore also the error covariance matrix P) of rank R with a number of n columns, where it is a number of n minus R columns which are exactly zero. Further, in this case, for each of the n columns containing at least one element other than zero, the corresponding diagonal element of the respective factorization matrix S or U is not zero. In both cases, according to various embodiments, the respective factorization matrix is a triangular matrix.

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.According to various embodiments, the rows that are exactly zero and / or the columns that are exactly zero allow a structural encoding of a reduction in rank. According to various embodiments, the data fusion circuit 108 be configured to generate a column or a zero row, if the rank of the respective factorization matrix S or U decreased by one. This allows the algorithm to easily identify a null row / column and start another procedure on nonzero rows. This can further increase the calculation unit. Further, this allows the algorithm to easily identify a singularity and to take into account the singularity during recovery of the previous state. The restoration of the previous state is z. B. formulated to preserve the properties of the matrices, z. To preserve the coding of the columns / rows which are exactly zero, accordingly.

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.According to various embodiments, here is provided a fast and numerically stable square root algorithm based on a block diagonal state transition matrix, as described in more detail below. Various algorithms are provided for a Kalman-based filter or any other similar filter based on equations (1), (1 *), (2), (2 *), as described above. In more detail, the state information of the process ( 1 ), (2) are estimated by two sets of equations that are performed completely independently, see the set of equations (3), (4), as described above.

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
A fast and stable square root update algorithm for an infinity filter has been described above for the case where no state transition matrix, A, is used (e.g., for A k + 1 = I). This transforms the equations (8a, 8b, 8c) into: 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.According to various embodiments, the process update algorithm may be configured to preserve the lines that are exactly zero, ensuring that all nonzero lines of zero have different diagonal elements, because the above-described corresponding square root reconstruction of the previous state may apply simultaneously should. According to various embodiments, the computational complexity of the algorithms described herein is less than proportional to n 3 .

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. It has been recognized that in practical applications the data fusion circuit 108 only a small number of states through the state transition matrix in the application of e.g. B. the equation (3) can be modified. Furthermore, one or more states may also share the same sub-transition matrix. There may be several (but only a few) sub-transition matrices.

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.According to various embodiments, the process update may include the following: First, according to various embodiments, the state transition matrix may be a block diagonal matrix 800 be organized, such. In 8th is illustrated. Second, only the nonunit blocks can 802 the block diagonal matrix 800 z. In a memory circuit, part of the process control circuit 100 or to the process control circuit 100 coupled can be stored. In this case all other diagonal blocks are the block diagonal matrix 800 1 × 1 unit matrices 804 that do not modify the condition. Third, the overall process update is now formulated as a series of sub-updates, with each sub-update being one of the nonunit blocks 802 processed. Fourth, the sub-update is on the rows and / or columns that make up the corresponding nonunit block 802 modified, restricted whenever possible. This significantly reduces the computational complexity because the number of these rows and / or columns is e.g. B. can be very small.

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
According to various embodiments, the process update may be separated into two parts: first, a state transition, and second, an addition of process noise. For the second part, ie the completion of process noise, the method described above can be used. The first part, ie, the state transition, can be reformulated based on the following equations: 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.By focusing on a single sub-update, equation (41) may be e.g. B. be formulated as equation (43) as follows: 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
According to various embodiments, equation (43) may be used in the same way for updating S k, R T S k, R + P 0, k, R or S k, I T S k, I + P 0, k, I are used.

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
The corresponding nonunit block 802 is denoted by A *, while P * is the related part of the diagonal matrix P 0 . He can z. For example, have the following structure: P * = [ p i p i + 1 p j ]
Figure DE102017111926A1_0127
Further, the multiplication of the equation (43) may be e.g. To equation (45), which may be the basis for the update algorithm, as described in more detail below: 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.Various embodiments described below are related to process update algorithms that include the state transition.

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:With the following equations: S ¯ R T S ¯ R + P ¯ 0 = A ( S R T S R + P 0 ) A T and S ¯ I T S ¯ I = A S I T S I A T
Figure DE102017111926A1_0129
the algorithm (11) can be formulated as follows:

ALGORITHMUS 11:ALGORITHM 11:

  • Eingabe:
    • SR - obere (n, n)-Dreiecksmatrix
    • SI - obere (n, n)-Dreiecksmatrix
    • P0 - (n, n)-Diagonalmatrix
    • A - blockdiagonale (n, n)-Zustandsübergangsmatrix
    Input:
    • S R - upper (n, n) triangular matrix
    • S I - upper (n, n) triangular matrix
    • P 0 - (n, n) diagonal matrix
    • A - block diagonal (n, n) state transition matrix
  • 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
    For all (non-unit) block matrices A * From A do the following:
    • 1. The sentence I the row / column indexes, that of the current block matrix A * Match, determine. The smallest index in I denote by i.
    • 2. The columns I from S R and S I from the right with A * T
      Figure DE102017111926A1_0130
      multiply. This destroys the upper triangular shape of S R and S I. 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. Restore the upper triangular shape of lines I of A by orthogonal row transformations using the algorithm (12). If A * is regular, the transformation can only be restricted to rows I. Otherwise, the transformation must be extended to lines i, i + 1, ..., n. In both cases, the columns become 1 . 2 , ..., i - 1 left unchanged.
      • Case 1 (A * is regular): 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
      • Case 2 (A * is singular): 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. Find all indices in I with P 0 (i, i) ≠ 0
    • 5. For everyone in the step 4 found indexes i do the following:
      • a. Initialize: a R = a I = (0 0 ... 0) T
      • b. a R ( I ) = a * i P 0 ( i . i ) ; a I ( I ) = a * i
        Figure DE102017111926A1_0137
        put up with a * i
        Figure DE102017111926A1_0138
        the i-th column of A * denotes
      • c. Use the algorithm (3) to modify S R and S I : 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. P 0 (i, i) = 0

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:According to various embodiments, the (m, n) input matrix S becomes an upper triangular matrix S transformed. Furthermore, all lines that are exactly zero are preserved in the input matrix S during the update, with all nonzero lines of the input matrix S may have non-zero diagonal elements. Therefore, according to various embodiments, the algorithm (12) (also referred to as MQR) may include a modified Q, R decomposition as follows:

ALGORITHMUS 12:ALGORITHM 12:

  1. 1. Eingabe: S - (m, n)-Matrix1. Input: S - (m, n) matrix
  2. 2. Die Zeilen von S, die exakt null sind, detektieren und entfernen2. The lines of S , which are exactly zero, detect and remove
  3. 3. Orthogonale Zeilentransformationen (z. B. eine QR-Zerlegung, Givens-Rotationen usw.) verwenden, um S in eine obere Dreiecksmatrix M zu transformieren.3. Use orthogonal row transformations (eg, a QR decomposition, Givens rotations, etc.) to S into an upper triangular matrix M to transform.
  4. 4. Die (m, n)-Ergebnismatrix S mit Nullen initialisieren4. The (m, n) result matrix S initialize with zeros
  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.
    5. For all lines r of M perform the following steps:
    1. a. Find the first non-zero element from the left and use the index of the element k describe
    2. b. If the line k is exactly zero, skip steps ce. Otherwise, the line r from M to the line k from S copy.
    3. c. If the line k from S is occupied, orthogonal row transformations (eg Givens rotations) to the row r of M and the line k from S apply to the element M (R, k ) to eliminate.
    4. d. All elements of the row r of M set to zero if | M (r, i) | <ε holds, wherein the threshold value ε z. B. the maximum norm of M could be.
    5. e. Repeat steps ae.

In diesem Fall kann der Algorithmus (4) für die Aktualisierung des Rangs 1 verwendet werden, wie oben beschrieben worden ist.In this case, the algorithm (4) can be used to update the rank 1 used as described above.

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.According to various embodiments, the overall computational complexity of the algorithms (4), (11) and (12) is considerably smaller than the order n 3 , because the algorithms (normally) (instead of the total of n rows and / or columns) only the few rows and / or use columns that are the current nonunit block 802 correspond. Further, the algorithm preserves the lines that are exactly zero in the square root error covariance matrices. It also ensures that the nonzero lines in the square root error covariance matrices have non-zero diagonal elements.

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. According to various embodiments, the state transition matrix, A, may be used as a block diagonal matrix 800 be organized as described above. An updating algorithm may be used, as described above, (whenever possible) only the rows and / or columns of the nonunit block 802 processed.

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.The following is an algorithm for quickly calculating the exact gradient of the logarithmic probability function for a Kalman-based filter or any other similar filter based on e.g. Equations (1), (1 *), (2), (2 *) are provided as described above. As already described, the state information of the process ( 1 ) 2 ) are estimated by two sets of equations (eg, equations (3) and (4) or equations (8a) to (12d)) that are performed completely independently of each other.

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.According to various embodiments, the unknown state x k may be estimated using a Kalman filter based algorithm. The respective Kalman filter-based algorithm may be used in the data fusion circuit 108 the process control circuit 100 be implemented. The state information and error information (provided, for example, based on the error covariance matrix) of the filter can accurately reflect the accumulation and degradation of the process information (the decrease and increase in the estimation error) as long as the process model parameters Q k , R k , B k , D k , C k , A k fit the process of real life.

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.In order to cope with the initialization problems and model ambiguity, as described above, it may be advantageous to decompose the error covariance matrix of the filter into a finite and an infinite portion. After each process or maintenance step, a process update can be performed. Using this method, the estimated state x k and the decomposed covariance matrices P R, k and P I, k are updated based on the equations (8a), (8b) and (8c) as described above. Further, the metrology data may be added to the state by the metrology update based on the equations (9) to (12d) as described above. However, the determination of the process model parameters Qk , Rk , Bk , Dk may be a practical major aspect when applying Kalman-based filters to real production processes.

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
In general, the production data may be an available source of information in practical situations. A powerful data-driven method to tune the Kalman filter parameters may be the maximum likelihood estimate. Probability is the likelihood that any given record will match the motel and its parameters. Unlike many other cases, the calculation of the (logarithmic) probability value for Kalman filter based models may be used, as described herein. According to various embodiments, the maximum likelihood estimate may be based on the following equations: L = const + Σ k = 1 N L k With L k = { l k if F I . k = 0 0 otherwise
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.The goal of the maximum likelihood estimation may be the logarithmic probability value L to maximize. Because the dependence between the logarithmic probability and the process model parameters is non-linear, this is only possible through numerical optimization. Numerical optimization can be used to iteratively modify the process model parameters in the direction of the steepest increase in logarithmic probability. To the direction 900d of the steepest slope, according to various embodiments, the first-order partial derivatives of FIG logarithmic probability 900y (the gradient vector, the evaluation vector) for at least one model parameter 900x be calculated, such. In 9 is illustrated.

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.Several methods may be used to calculate the gradient vector of the logarithmic probability value L, such as: Finite differences, implicit finite differences, and the algorithm of exact evaluation (ES algorithm), as illustrated below.

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
Around the gradient vector of the logarithmic probability value L Based on finite differences, according to various embodiments, the exact partial derivative of L with respect to the i-th tuning parameter by a difference quotient according to the following set of equations (50): 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
eg 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.In order to determine the full gradient vector for all p process model parameters, the logarithmic probability value L must be calculated for at least p + 1 slightly modified sets of process model parameters. The calculation of a single logarithmic probability value L, z. For example, using Equations (46) - (49), the Kalman filter equations (8a) - (12d) over the entire data set ( k = 1, 2, ..., N) to iterate. This means that the calculation of a p-dimensional gradient vector requires at least p + 1 full forward iterations of the Kalman filter. The procedure can be repeated for each optimization step.

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.Numerical optimization algorithms can be used to implicitly compute the finite differences of the optimized function (eg, via the conjugate gradient algorithm). This can be more efficient than explicitly calculating the full gradient for each optimization step. However, the effort can still be huge.

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
According to various embodiments, an algorithm for computing the full gradient vector of the probability function with a single forward and backward iteration of the Kalman filter may be used. This algorithm can, for. For example, for the tuning process model parameters, e.g. Be applicable as the Rauschskalierungsmatrizen Q k and R k, according to a set of equations (50a) as follows: L p i | p = p * = Σ k = 1 N L k p i With L k p i = { l k p i if F I . k = 0 0 otherwise }
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:According to various embodiments, the corresponding vectors r k , e k and matrices N k , E k can be calculated with the algorithm (13) as follows:

ALGORITHMUS 13: ALGORITHM 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.1. x k for k = 1, 2, ..., N using Equations (8a) - (12d). υ k : = y k - C k x k-1 - D k , F R, k , F I, k and K k for each k to save.
  • 2. Initialisierung: rN = 0; NN = 02. Initialization: r N = 0; N N = 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
    3. for 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
    With F k - 1 : = { F R . k - 1 if F l . k = 0 0 otherwise
    Figure DE102017111926A1_0154
    The End

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.Illustratively, the algorithm (13) represents the backward iteration part of the ES algorithm. The algorithm for exact evaluation is not applicable if the measurement data for at least one point in time k are not available if any of the matrices Q k and R k are singular (which may be a very common situation in run-to-run applications) and / or for the tuning model parameters, e.g. B. for B k and D k .

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:According to various embodiments, here a modified algorithm (13) is provided to overcome the limitation of the conventional algorithm, wherein the modified algorithm provided herein, e.g. B. missing measurements has grown. According to various embodiments, the following algorithm (14) may be used to calculate the gradient vector of the logarithmic probability value L:

ALGORITHMUS 14:ALGORITHM 14:

Figure DE102017111926A1_0155
Figure DE102017111926A1_0156
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.Further, according to the set of equations (50a), according to various embodiments, the gradient calculation may be generalized to singular tuning matrices Q k and R k . Therefore, the following algorithm (15) e.g. Based on a modified set of equations (51).

ALGORITHMUS 15:ALGORITHM 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 p i | p = p * = Σ k = 1 N L k p i With L k p i = { l k p i if F l . k = 0 0 otherwise
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
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
Ω 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
Ω 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
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
According to various embodiments, the corresponding vectors r k , e k and matrices N k , E k can be calculated with the algorithm (14) as described above. Q ¯ k + and R ¯ k +
Figure DE102017111926A1_0162
denote the Moore-Penrose pseudoinverse of Q k or R k . In pass-to-pass control, the tuning matrices (eg, matrices Q and R) are often simple diagonal matrices and may be e.g. For example, written in the following form: 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:In this case, p i denotes the ith tuning parameter. The weighting factors w Q, r, i, k and w R, r, i, k can control the effect of p i on the rth row / column of Q k and R k, respectively. The gradient calculation can be drastically simplified by taking advantage of the special structure of the matrices according to equations (52), (53). The result is z. In the algorithm (16) based on equation (54), as follows:

ALGORITHMUS 16:ALGORITHM 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. 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 this case, r j, k and e j, k denote the jth element vector of the vectors r k and e k, respectively. N jj, k and E jj, k are the (j, j) element (the jth major diagonal element) of the matrices N k and E k . Further, the corresponding vectors r k , e k and matrices N k , E k can be calculated with the algorithm (14) as described above.

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
According to various embodiments, the calculation of the exact gradients for the process model parameters, e.g. B. B k and D k , for calculating the first partial derivative of l k in the equation (46) to be equivalent. According to various embodiments, the following equation (55) may be used: 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:The unknown sensitivity vector x ^ k - 1 p i = : z k - 1
Figure DE102017111926A1_0167
can be calculated recursively. The result is z. In the algorithm (17) as follows:

ALGORITHMUS 17:ALGORITHM 17:

Figure DE102017111926A1_0168
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.According to various embodiments, the application of the algorithms (14) to (17), such. As described above, may not be limited to a filter based on equations (8a) - (12d). The algorithms can also be applied to the unmodified Kalman filter, such as. B. has been described above. The unmodified Kalman filter may be considered as a special case of the infinity filter (which is also referred to as a generalized Kalman filter) where the infinite part of the error covariance matrix P is zero (P I = 0 and F I = 0). The logarithmic probability value of the standard Kalman filter can be given by equations (46) - (49) with F I = 0 and P R = P. Thus, according to various embodiments, the algorithms (14), (15), (16) and (17) can be applied to the standard Kalman filter by setting F I to zero.

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.According to various embodiments, the exact gradient vector can also be used in the case of missing measured values, in the case of singular noise matrices Q k and R k and for the tuning matrices B k and D k (eg for singular or regular tuning matrices) by the algorithms (14), ( 15), (16) and (17). Further, the algorithms provided herein allow calculating the exact gradient of the log likelihood function in the case of absence of measured values or singular or regular Abstimmmatrizen Q k, R k, B k and D k.

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. The following is a fast and stable square root algorithm for calculating the exact gradient of the logarithmic probability function for a Kalman-based filter or any other similar filter based on e.g. To Equations (1), (1 *), (2), (2 *), as described above. As has already been described, according to various embodiments, the state of the process ( 1 ) 2 ) are estimated by two sets of equations (eg, equations (3) and (4) or equations (8a) to (12d)) that are performed completely independently of each other.

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.According to various embodiments, the unknown state x k may be determined using a Kalman filter based algorithm via the data fusion circuit 108 the process control circuit 100 is implemented, estimated. The filter state and the error covariance, the accumulation and the deterioration of the process information (the decrease and the increase of the estimation error) accurately reflect so long as the process model parameters Q k, R k, B k, D k, C k, A k to the process fit in real life. However, the determination of the process model parameters Qk , Rk , Bk , Dk can be a practical major consideration in applying Kalman filters to real production processes.

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.As described above, historical production data may be a convenient and available source of information in practical situations. Various algorithms for using a data driven method to tune the Kalman filter parameters based on the maximum likelihood estimation have already been described above. According to various embodiments, the maximum likelihood estimation may be based on the equations described above, cf. equations (46) through (49). In this case, P R, k and P I, k are the finite or infinite part of the error covariance matrix P the Kalman filter for the time index k , The goal of the maximum likelihood estimation may be to maximize the log likelihood value L as described above. To the direction 900d of the steepest slope, the first-order partial derivatives of the logarithmic probability 900y (the gradient vector, the evaluation vector) for a model parameter 900x be calculated, such. In 9 is illustrated.

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
One method of calculating the exact gradient vector that works for regular tuning matrices Q k , R k may require solving a recursive matrix equation of the following form:
  • Case 1: | F I, k + 1 | = 0 (in practice ≤ L NUM ) 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
  • Case 2: | F I, k + 1 | > 0 (in practice> L NUM ) 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.As has been described above, the method can be modified (generalized), to treat singular Abstimmmatrizen Q k, R k, B k D k. It is known that solving equations like equation (60) numerically can be a delicate task. In particular, the multiplication by (I-KC) and its transpose ("the restoration of the previous state") may be error prone. The problem is exacerbated by the fact that a typical run-to-run Kalman model may consist of several hundred states. According to various embodiments, the numerical stability of equations (60), (61) is significantly improved to more efficiently (eg, more accurately or more reliably) calculate the exact gradient vector for such a model, as described in more detail below.

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
According to various embodiments, a square root analog of these equations may be used to improve the numerical stability for solving equations (60), (61). Therefore, the matrix N k is replaced by the following factorization or a similar factorization: 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 this case, instead of the matrix N k, the square root matrix S k is directly propagated. This strategy can also be applied to Kalman filtering as described above. The condition number of the square root matrix S k (where the S k is the Cholesky factor for the time index k are) much better than the condition number of the original matrix N k . Substituting Equation (9) into Equations (7), (8) and omitting subscripts k and k + 1 for simplicity leads z. For example:
  • Case 1: | F I | = 0 (in practice ≤ L NUM ) 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
  • Case 2: | F I | > 0 (in practice> L NUM ) 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.In this case, the input matrix is S and the output matrix S Triangular matrices. The following algorithm (18) illustrates the square root procedure for equations (63), (64), where the algorithm (4) is the helper procedure used by the algorithm (18).

ALGORITHMUS 18:ALGORITHM 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
    Input:
    • S - upper (n, n) triangle matrix
    • S - upper (n, n) triangle matrix
    • A - block diagonal (n, n) state transition matrix
    • C - (1, n) observation vector
    • K - (n, 1) -Kalman gain vector
    • F R - finite part of the variance of renewal
    • F I - infinite part of the variance of renewal
  • 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
    1. For all (non-unit) block matrices A * of A, do the following:
    1. a. Determine the set I of row / column indices corresponding to the current block matrix A *. Denote the smallest index in I with i.
    2. b. Multiply the columns I of S R and S I from the right by A *. This destroys the upper triangular shape of S. S ( 1 : n . l ) : = S ( 1 : n . l ) A *
      Figure DE102017111926A1_0174
    3. c. Restore the upper triangular shape of lines I of A by orthogonal row transformations using (e.g., QR decomposition, Givens rotations, etc.).
    The transformation can only be restricted to the lines I. The columns 1 . 2 , ..., i - 1 are left unchanged. S ( I : i . n ) : = Q S [ S ( I : i . n ) ]
    Figure DE102017111926A1_0175
  • 2. Die Schritte 3-7 überspringen, falls |FI| > 0 (Fall 2)2. The steps 3 - 7 skip if | F I | > 0 (case 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
    3. Subtract the matrix S · K · C from the matrix S. This destroys the upper triangular form of S for all columns, which corresponds to the non-zero elements of vector C. 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.4. Select the leftmost column of the n C faulty columns of S. Use the bottom element to eliminate all other column elements below the main diagonal with orthogonal row transformations (eg Givens rotations). This populates the below line of 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. 5. Use the appropriate major diagonal elements to eliminate the artifact in the bottom row with orthogonal row transforms. The result is an upper triangular matrix with n C - 1 perturbed columns.
  • 6. Die Schritte 4 und 5 wiederholen, bis alle gestörten Spalten eliminiert sind.6. The steps 4 and 5 Repeat until all disturbed columns are eliminated.
  • 7. Den Algorithmus (4) verwenden, um CT C·F-1 zu S zu addieren:7. Use the algorithm (4) to add C T C · F -1 to S:
S ¯ = R1UD ( S , a = C T F )
Figure DE102017111926A1_0177
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.Such as In 10 is illustrated, destroys the subtracting of the matrix S · K · C (see the reference numeral 1002 ) from the matrix S (see the reference number 1004 ) the upper triangular shape 1000t the matrix S for all columns 1000c (see the reference number 1010 ), what the nonzero elements of the vector C equivalent.

Gemäß verschiedenen Ausführungsformen kann der Algorithmus (4) für eine Aktualisierung des Rangs 1 verwendet werden, wie oben beschrieben worden ist.According to various embodiments, the algorithm (4) may be for a rank update 1 used as described above.

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).According to various embodiments, similar to the algorithms described above, the algorithm (18) and the algorithm (4) can be applied both to the modified Kalman filter (which is also referred to as an infinity filter) and to the unmodified Kalman filter or any other similar Filters are applied. Because the Kalman filter can be a special case of an infinity filter, the algorithm (18) and algorithm (4) can be applied to the Kalman filter by taking the infinite part of the error covariance matrix P is set to zero (P I = 0 and F I = 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.According to various embodiments, the fast and numerically stable square root algorithm for propagating equations (60), (61) as described herein may be used in a component of a control system and / or for monitoring discrete processes, as described above.

Gemäß verschiedenen Ausführungsformen wird für die rekursiven Matrixgleichungen (60), (61) ein schneller und numerisch stabiler Quadratwurzelalgorithmus bereitgestellt.According to various embodiments, a fast and numerically stable square root algorithm is provided for the recursive matrix equations (60), (61).

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.The following is an algorithm for validating process models tuned to real data for a Kalman-based filter or any other similar filter based on e.g. To Equations (1), (1 *), (2), (2 *), as described above. As has already been described, according to various embodiments, the state of the process ( 1 ) 2 ) are estimated by two sets of equations (eg, equations (3) and (4) or equations (8a) to (12d)) that are performed completely independently of each other.

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.The unknown state x k can be estimated using a Kalman filter-based algorithm, which uses the data fusion circuit 108 the process control circuit 100 is implemented. The filter state and the error covariance, the accumulation and the deterioration of the process information (the decrease and the increase of the estimation error) accurately reflect so long as the process model parameters Q k, R k, B k, D k, C k, A k to the process fit in real life. However, the determination of the process model parameters Qk , Rk , Bk , Dk can be a practical major consideration in applying Kalman filters to real production processes.

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.As described above, in general, historical production data in practical situations may be an available source of information. Above, various algorithms have already been described for using a data driven method to tune the Kalman filter parameters based on the maximum likelihood estimation. According to various embodiments, the maximum likelihood estimation may be based on equations (46) - (49) as described above.

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.Such as In 11 is illustrated (see. 9 ), the numerical optimization modifies the tuning parameters, p, iteratively in the direction of the steepest increase in logarithmic probability, as already described. Optimization stops, however, if the gradient (eg, about) is zero, see the reference numeral 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. Therefore there is no guarantee that an optimization algorithm against a global maximum 1100g converges because the optimization is also at a local maximum 1100m can stop. Furthermore, in practical applications, it can not be ensured that the selected model structure matches the actual data. Both aspects can lead to a mismatch between the process model and the reality, which can cause a loss of yield and / or waste during manufacturing. Therefore, according to various embodiments, various algorithms are provided to reliably detect a mismatch of the model.

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).Based on the average of the squared normalized updates or in a similar manner based on any suitable average taking into account multiple symmetrized normalized prediction errors, according to various embodiments, a model mismatch can be detected or the process model validated. The overall probability L z. In equation (46), the sum is off N individual sub-probabilities l k . Each sub-probability can z. B. be formulated as follows: 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 this case corresponds k = 1,2, ..., N a specific time k , The optimization algorithm may be configured to simultaneously maximize all sub-probabilities to maximize the overall L probability. 12 illustrates the l k (see the reference numeral 1200y ) against the ratio F R . k / υ k 2
Figure DE102017111926A1_0179
(see the reference number 1200x ) for some fixed renewals υ k . In the case where the ratio F R . k / υ k 2
Figure DE102017111926A1_0180
is less than 1.0, the value F R, k is underestimated (see the reference numeral 1200u ), while in the case where the ratio F R . k / υ k 2
Figure DE102017111926A1_0181
is greater than 1.0, the value F R, k is overestimated (see the reference numeral 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.The maximum 1200m occurs for F R . k = υ k 2
Figure DE102017111926A1_0182
on, what to υ k 2 / F R . k = 1
Figure DE102017111926A1_0183
is equivalent. The latter condition can z. B. as υ 0 k 2 = 1
Figure DE102017111926A1_0184
With υ 0 k : = { y k - C k x ^ k - 1 - D k F R . k = υ k F R . k if F l . k = 0 0 otherwise
Figure DE102017111926A1_0185
be rewritten.

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.According to various embodiments, the ratio υ 0 k 2
Figure DE102017111926A1_0186
according to equation (66), a main aspect will be hereafter, being referred to as the normalized renewal, as already described above. The maximum of the logarithmic probability L is for shifting all squared normalized renewals υ 0 k 2 .
Figure DE102017111926A1_0187
k = 1, 2, ..., N as close as possible to 1.0 equivalent. Therefore, a correct (global) maximum of the probability function z. For example, be characterized by the following equation: V 0 = 1 N 0 Σ k = 1 N υ 0 k 2 1.0.
Figure DE102017111926A1_0188
In this case, N 0 is the number of times k with υ 0, k ≠ 0th

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.According to various embodiments, a mismatch of the model may be detected based on an observation of the normalized renewals, or the process model may be validated based on an observation of the normalized renewals, the normalized renewals Parameter that represents the normalized renewals, can or can, for. B. against the meter index k (also called the time index k is designated) are shown graphically. According to various embodiments, the optimization algorithm described above shifts all normalized updates υ 0 k 2
Figure DE102017111926A1_0189
as close as possible to 1.0. This is not possible if the model does not match the training data. Therefore, according to various embodiments, the mismatch of the model can be checked by checking | υ 0, k | or υ 0 k 2
Figure DE102017111926A1_0190
for values that are 1.0 z. Significantly higher (eg> 3.0).

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. 13 illustrates an example of an observation of the normalized renewals, υ 0, k (see the reference numeral 1300y ) over time (see reference numeral 1300x ), the z. By the meter index k is represented. In the case where the normalized renewal 1.0 z. B. significantly exceeds, see the points 1300e , the process model may not be valid to describe the corresponding data.

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).According to various embodiments, the validation described above makes it possible to specifically analyze the problems of the process model at the points where the process model can not be valid (for example, for specific processes that are determined by the counter index k can be tracked).

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.According to various embodiments, a mismatch of the model may be detected based on an observation of the subprobability, or the process model may be validated based on an observation of the subprobability, the respective probability values or a parameter representing the subprobability may be e.g. B. against the meter index k graphically displayed. The total probability, L, in equation (46) decomposes into N individual sub-probabilities, l k . The mismatch of the model may typically be limited to any fraction of the training data. The individual sub-probability values differ significantly in this case (a high probability of the data corresponding to the model and a low probability of the data mismatched to the model). Consequently, checking the sequence of individual sub-probabilities l k with respect to significant wastes can be a powerful test.

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. 14 illustrates an example of an observation of the individual sub-probability, l k , (see the reference numeral 1400y ) over time (see reference numeral 1400x ), the z. By the meter index k is represented. In the case where the likelihood z. B. has a significant drop, see the points 1400e , the process model may not be valid to describe the corresponding data.

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
According to various embodiments, a mismatch of the model may be detected based on observation of the gradient signal, or the process model may be validated based on observation of the gradient signal, the gradient signal or a parameter representing the gradient signal may be e.g. B. against the meter index k graphically displayed. The numerical optimization algorithm can, for. For example, take advantage of the partial derivative of the total probability, see equation (46). Differentiating equation (46) with respect to the tuning parameter p i shows that the overall gradient z. B. as follows N Subgradients decays: L p i | p = p * = Σ k = 1 N L k p i With L k p i = { l k p i if F l . k = 0 0 otherwise
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
Each subgradient ∂l k / ∂p i corresponds to a specific time k , The respective subgradient ∂l k / ∂p i can be determined by finite differences z. Be approximated as follows (see the set of equations (50a) described above): 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
eg 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)).Using the methods described above, the subgradients ∂l k / ∂p i can also be z. For example, using the following equations: 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 the case where p i Q k , R k is assigned (see the equation (51)) and 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 the case where p i B k , D k is assigned (see equation (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.According to various embodiments, the gradient signal may be analyzed at the maximum likelihood value found by the numerical optimizer. The corresponding sub-gradient ∂l k / ∂p i shows how the tuning parameter p i should be modified to the likelihood l k for the time k to enlarge. Significant variations of ∂l k / ∂p i over time k can be a clear contradiction (the parameter p i , for example, must be increased for some time intervals and reduced for others). Checking the gradient signals of all tuning parameters p i may be a powerful mismatch test of the model, according to various embodiments. One possible consequence may be to divide conspicuous tuning parameters p i into two or more parameters.

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. 15 illustrates an example of observation of a gradient signal, ∂l k / ∂p i , (see reference numeral 1500y ) over time (see reference numeral 1500x ), the z. By the meter index k is represented. In the case where the gradient signal z. B. has a significant increase, see the point 1500e , the process model may not be valid to describe the corresponding data.

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.
According to various embodiments, a mismatch of the model may be identified based on one or more of the procedures described herein. After an optimizer stops at any (possibly local) maximum, one or more of the following processes may be performed:
  1. 1. Run the Kalman filter over the full set of training data using the tuning parameter found by the optimizer. Store F R, k and F l, k and the sequence υ k of the renewals.
  2. 2. The normalized renewals υ 0, k for all k = 1, 2, ..., N with the equation (66).
  3. 3. Calculate V 0 with equation (9). Reject the model if | V 0 - 1,0 | any threshold T 1 with z. B. 0.1 ≤ T 1 ≤ 0.3 exceeds.
  4. 4. Check the sequence υ 0, k against any threshold T 2 . Reject the model if | υ 0, k | T 2 for any one k with z. B. 2 ≤ T 2 ≤ 5 exceeds. Try to modify the model for the time intervals in which T 2 is exceeded.
  5. 5. Calculate the sequence of (sub) probabilities l k using equation (65). Reject the model if l k shows significant waste. Try to modify the model for the time intervals with the waste.
  6. 6. Calculate the sequence of (sub) probabilities for ∂l k / ∂p i for all tuning parameters p i . Reject the model if any sequence ∂l k l / ∂p i shows significant variations. Try to modify the model for the time intervals with the main variations.

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.According to various embodiments, such. For example, as described above, not only a mismatch of the model can be revealed, but also the times at which the mismatch occurs can be identified. This can be valuable information for improving the process model. The information of the logistical context (eg the process event data) for these times may be tested according to various embodiments. Therefore, a common pattern could be determined to find the root cause of the mismatch of the model.

Ä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.Similar to the algorithms described above, the validation of the process model can be applied to both the modified Kalman filter and the unmodified Kalman filter or any other similar filter.

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.According to various embodiments, a mismatch of the process model may be detected based on at least one of the following parameters: renewal, υ 0, k , normalized renewal, the (sub) probability signal, or the (sub) gradient signal. Further, the time or a parameter representing the time may be used to locate the mismatch of the process model.

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.A user interface may, for example, according to various embodiments. B. in combination with any feedback device for accepting or rejecting the coordinated process models and / or measurement models as part of the process control circuit 100 provided or to the process control circuit 100 be coupled to indicate at least one of the validation measures / signals V 0 , υ 0, k , l k or ∂l k / ∂p i or their representatives.

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.As described above, the data fusion circuit may be configured to validate the process model and / or the measurement model based on an average value considering a plurality of symmetrized normalized prediction errors. Symmetrization can be useful to prevent positive and negative values from compensating each other. The symmetrized normalized prediction errors can be provided by applying a symmetric function to the normalized prediction errors. As an example, a root mean square (RMS) value may be used. According to various embodiments, the data fusion circuit 108 be configured to validate the process model and / or the measurement model based on a renewal signal, a probability signal and / or a probability gradient signal for one or more process model parameters of the process model.

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.According to various embodiments, the data fusion circuit may be configured to validate the process model and / or the measurement model on a set of training data. The set of training data may e.g. For example, historical data including any available process data (eg, context data and / or logistics data of the processing device) and measurement data may be included. The measured data can be z. B. be mapped to the process data or may be included in the process data.

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.Illustratively, the validation of the process model and / or the measurement model may include checking whether the available data set provided by the data merge circuit 108 the underlying process model and / or the measurement model according to which the data merge circuit 108 works, is described correctly.

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.According to various embodiments, reference measurement event data may be provided via the data fusion circuit 108 can be predicted and the newly acquired measurement event data compared with the predicted reference measurement event data. Based on this comparison, the process model and / or the measurement model can be validated, eg. If the newly acquired measurement event data may be correct, the process model and / or measurement model is not capable of predicting appropriate reference measurement event data, and therefore does not adequately describe the process. Furthermore, based on the comparison of the newly acquired measurement event data and the predicted reference measurement event data, the trade fair event and / or the corresponding process event can be validated, the newly acquired measurement event data can, for example, be validated. B. be excluded if the process model describes the process suitable.

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.The following is an algorithm for tracking, monitoring and / or debugging a Kalman-based filter or any other similar filter based on e.g. To Equations (1), (1 *), (2), (2 *), as described above. As has already been described, according to various embodiments, the state of the process ( 1 ) 2 ) are estimated by two sets of equations (eg, equations (3) and (4) or equations (8a) and (12d)) that are performed completely independently of each other.

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.According to various embodiments, the unknown state x k may be estimated using a Kalman filter-based algorithm, which is provided via the data fusion circuit 108 of the Process control circuit 100 is implemented. In general, Kalman filter-based systems may lack transparency, which may lead to the problem that e.g. For example, process engineers may not be able to use these filters to control the processes in which a disruption could have serious consequences. This is caused by the high complexity of the algorithms in a Kalman-based filter compared to the conventional approaches. It can, for. For example, it may not be possible to retrace equations (8a) - (12d) using simple means such as paper and pencil. This can be an obstacle to acceptance of a Kalman filter-based controller by process engineers and production personnel.

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.One reason for the complexity (and performance) of a Kalman filter-based control system, as described herein, is the simultaneous updating of all states and all possible state combinations. A process update and a metrology update of any state combination may affect all other states. According to various embodiments, a tracking and debug tool is provided that is focused on one or more specific (user-defined) linear combinations of states, as described in more detail below.

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.During operation of the data fusion circuit 108 based on a Kalman filter problems can often arise for special linear state combinations. According to various embodiments, the analysis may be concentrated on this combination of states. Limiting the analysis to a linear combination of states dramatically reduces complexity according to various embodiments. The complicated behavior of the filter is illustrated by the more comprehensible behavior of the state combination.

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.The number of states and the potential linear state combinations of interest can typically be very high. It may not be possible to calculate and store the evolution of all states and state combinations of interest at runtime. According to various embodiments, various strategies are provided to reconstruct the complete development of the filter in retrospect. A first strategy may be to store all intermediate states of the filter, including the corresponding error covariance matrices. A second strategy may be to store the initial state of the filter and all Kalman matrices; and all intermediate states z. By reconstructing the respective equations (eg, equations (8a) - (12d)). A third strategy may be to store the intermediate states recurrently (including the corresponding error covariance matrices) and store all the Kalman matrices. In this case, any intermediate state may, if desired, be reconstructed by re-executing the respective equations for the time interval of interest beginning with a suitable (eg, the next) stored state.

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.The memory requirements can be huge for the first strategy. The second strategy may require re-executing the respective equations for the entire life of the filter, which may be e.g. B. may be one or more years, which leads to a huge computational effort. According to various embodiments, the third strategy for tracking, monitoring, and / or debugging the operation of the filter included in the data fusion circuit 108 the process control circuit 100 is used. The third strategy may be the most efficient in terms of both memory requirements and computational speed.

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. 16A to 16C illustrate the third strategy as a schematic diagram of operation according to various embodiments. Starting from a corresponding state backup 1600b can be reconstructed by recalculation a desired intermediate state. The saved Kalman matrices 1600i can be used for recalculation. The saved Kalman matrices 1600i can have a corresponding identification value 1600V , which is also referred to as a pass-id, with the corresponding save state 1600b be correlated. The pass id can be used to specify data entry (eg, a process update, a measurement update, etc.) 1602 with the corresponding (eg next) fuse state to connect. Therefore, the pass ID defines the starting point for recalculating a respective state. In the following, three important analysis and / or debug usage cases are described with respect to the third strategy.

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
According to various embodiments, a first use case may be a detailed analysis of the evolution of a linear state combination C x of interest included. In this case, the linear combination of some states of interest C x k and the corresponding estimation error are reconstructed. The analysis can z. Based on the following equations: a k = C ¯ x ^ k
Figure DE102017111926A1_0196
σ ERR 2 = { C ¯ P R . k C ¯ T if F ¯ I L N U M if 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.In this case, the extractor vector chooses C (see the reference number 1600e ) specify the states of interest, specifying the appropriate weighting factors, such as. In 16B is illustrated in a schematic diagram of the operation. The analysis can be generic and flexible because a generic extractor vector can be used, which can be adapted to all types of the Kalman filter-based model.

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.Therefore, according to various embodiments, the evolution of the linear state combination α k can be investigated. In this way, one or more times k are identified, to which the linear state combination α k and / or their estimation error change. These are the times when new information about the linear state combination α k is added. Checking the appropriate logistical context information may reveal the root cause of the problems that might occur while operating the Kalman-based filter.

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.According to various embodiments, a second use case may be an identification of the prevailing readings for a linear state combination C x included. The Kalman filter / model can trust some readings more than other readings. It can be enlightening to identify the corresponding measured values that have a state combination α k = C influence x k of interest. According to various embodiments, the influence information (or in other words the impact) may be used to cross-check for the plausibility of the process model. In addition, the prevailing measurements can be extensively studied to determine possible anomalies. The Kalman gain K k may be directly related to the effect of a measurement and may be used as a criterion for monitoring and the like. Because the absolute magnitude of the Kalman gain may be application-dependent, here, according to various embodiments, a normalized version of the Kalman gain is provided, which may be used as a measure of the impact.

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
The Kalman gain, K k , z. For example, be given by the following equations: 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
In this case, υ k and x k are the renewal and the state estimation error, respectively. Multiplying Equation (75) with the state extractor vector C performs e.g. For example, to the following equation: 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
The numerator of equation (77) reveals z. B. that the Kalman gain, K k , is controlled by a covariance of υ k and x k . The Kalman gain K k is z. Zero, when the renewal υ k and the state estimation error x k are uncorrelated, while the absolute value of the Kalman gain K k is 1.0 when the renewal υ k and the state estimation error x k are perfectly correlated. According to various embodiments, the correlation between the renewal υ k and the state estimation error x k may be used to obtain a normalized measure of the impact, K 0, k , z. B. according to the following equations: 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
According to various embodiments, there may be one or more alternative definitions of the normalized measure of impact, K 0, k , that may be equivalent to equation (79), such as. For example, the following 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.The expected value e ( C ¯ x ~ k - 1 ) 2
Figure DE102017111926A1_0206
in equation (80), the variance of the estimation error for the state combination is α k = C x k . This leads to a further intuitive interpretation of the normalized measure of the impact, K 0, k , namely that of the squared amplification K 0 k 2
Figure DE102017111926A1_0207
is the relative reduction of the variance of the estimation error of α k-1 due to a measurement value y k .

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.According to various embodiments, the algorithm (19) may be used to calculate the normalized measure K 0, k of the effect in the case where a decomposed error covariance matrix is used for the state estimation, as described herein, as described in more detail below becomes. If a conventional Kalman filter is used, F I and F I in the algorithm (19) are set to zero. Further, as will be described in more detail below, the algorithm (20) may be used in the case where a factorized error covariance matrix is used for the state estimation, as described above.

ALGORITHMUS 19:ALGORITHM 19:

Figure DE102017111926A1_0208
Figure DE102017111926A1_0208

ALGORITHMUS 20:ALGORITHM 20:

Figure DE102017111926A1_0209
Figure DE102017111926A1_0210
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
According to various embodiments, a third use case may include an analysis of a predicted value of interest. The algorithms based on a Kalman filter, as described above, can predict the process state to calculate the optimal tuning parameters for the next materials (the next batch, the next wafer, or the next batch). Consequently, the origin of the predicted value may be relevant, especially if the value is suspect. According to various states, the current state x k of the Kalman filter based algorithms can be decomposed into a weighted sum of all previous measurements and a constant. This can be z. B. expressed as follows: 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 this case, the weights w i of the sum may be calculated using the algorithm (21), as described in more detail below. Multiplying z. For example, equation (82) from the left with some state extraction vector C leads to: 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.In this case, the left side of the equation (83) is the predicted value α k : = C x k , if C the corresponding state extraction vector is.

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
The weights w i are scalars that z. B. can be displayed graphically against the time. It also reveals the weight w i is the effect of a measured value y i on the prediction. This can be valuable information for the operation of the Kalman-based filter. First, all metrics can be identified with a significant impact and checked for anomalies. Second, they can be used to quickly correct the prediction if erroneous readings are found. The equation (83) shows z. For example, the prediction correction is a simple weighted sum of the measurement corrections, ie: α 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.The scalar weights w i can use the recurring stored states as above 16A has been described, and z. B. the algorithm (22) are calculated. The complete procedure is z. In 16C in a schematic diagram 1600w of operation according to various embodiments.

ALGORITHMUS 21:ALGORITHM 21:

Figure DE102017111926A1_0215
Figure DE102017111926A1_0216
Figure DE102017111926A1_0215
Figure DE102017111926A1_0216

ALGORITHMUS 22:ALGORITHM 22:

Figure DE102017111926A1_0217
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.According to various embodiments, the algorithm for tracking, monitoring, and / or debugging a Kalman-based filter may be used in a component of a control system and / or for monitoring discrete processes, as described above. According to various embodiments, the intermediate states and / or the Kalman matrices may be stored. Based on these stored intermediate states and / or the stored Kalman matrices, different tracking and / or debug sizes, e.g. B. estimating α k, the estimation error σ ERR, k, the measured value Impact K 0, k, the measured value weight w i , etc. calculated and / or graphed. This allows z. For example, focus on special user-defined linear combinations of states.

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. According to various embodiments, the data fusion circuit 108 be configured to have multiple backup state information and multiple backup model parameters (eg, the model parameters for the time k . k - 1, k - 2) to reconstruct at least one state information to be monitored. Illustratively, historical model parameters may be used to reconstruct at least one state information to be monitored. The reconstruction of the at least one state information to be monitored may be efficient, as described above, when the recalculation starts from one of the stored multiple backup state information that is proximate in time.

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.According to various embodiments, the data fusion circuit 108 be configured to decompose the state information into a weighted sum considering a plurality of previous measurement event data, multiple backup model parameters (eg, process model parameters and measurement model parameters), and some appropriate backup states.

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.According to various embodiments, a method is provided to reduce the size of Kalman filter datasets. Therefore, an algorithm for a Kalman-based filter or any other similar filter based on e.g. To Equations (1), (1 *), (2), (2 *), as described above. As has already been described, according to various embodiments, the state of the process ( 1 ) 2 ) are estimated by two sets of equations (eg, equations (3) and (4) or equations (8a) to (12d)) that are performed completely independently of each other.

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.According to various embodiments, the unknown state x k may be estimated using a Kalman filter-based algorithm, which is provided via the data fusion circuit 108 the process control circuit 100 is implemented. The filter state and the error covariance, the accumulation and the deterioration of the process information (the decrease and the increase of the estimation error) reflect long as precise as the process model parameters Q k, R k, B k, D k, C k, A k to the process in fit real life.

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.As already described, historical production data in practical situations may be an available source of information. Calculating the Kalman filter parameters from historical production data can be an expensive and time consuming task. The historical dataset may contain several hundred thousand individual materials, e.g. B. produced wafers, and their corresponding process event data and, if available, their corresponding measurement event data. The process model tuning procedure may be based on numerical optimization, which may require running the Kalman filter (and optionally a gradient calculation) for each optimization step over the entire data set. Therefore, the model design process may be compromised because the high overhead limits the number of model variations that can be tested.

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
In semiconductor manufacturing z. For example, only a fraction of the processed wafers are measured (eg, typically 20% or less). Therefore, according to various embodiments, the process equations (1), (1 *) can be combined in the case of missing and / or non-validated measured values. As an example, measurements for times k 0 and k be available while for the intermediate time points k 0 + 1 k 0 + 2, ..., k - 2, k - 1 missing. The insertion of the corresponding process equations into each other for z. To the following unified equation (100), which is similar to equation (1): 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
Equation (100) may indeed be a process equation containing the state information x k 0 linked directly to the status information x k . This process equation can, for. B. be reworded as follows: x k = A ¯ k x k 0 + Q ¯ k ξ ¯ k + B ¯ k
Figure DE102017111926A1_0219
With 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).The unified equations (100), (100 *) are among the original ones k - k 0 Interprocess equations equivalent. According to various embodiments, the replacement of all intermediate process equations by the merged equations may drastically shrink the data set (eg, by 80% and more depending on the percentage of missing measurements).

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:According to various embodiments, the combined Kalman matrices A k and B k can be calculated using equations (101) and (102), respectively. The Kalman filter can be the squared matrix Q ¯ k Q ¯ k T
Figure DE102017111926A1_0223
use, the z. B. is given directly by the equation (103). In the case that z. For example, as a square root filter is used, as described above, the underlying matrix Q k accordingly, z. By using the algorithm (23). This can be z. For example, using the following algorithm:

ALGORITHMUS 23:ALGORITHM 23:

  • 1. M : = Q ¯ k Q ¯ k T
    Figure DE102017111926A1_0224
    unter Verwendung der Gleichung (7) berechnen
    1. M : = Q ¯ k Q ¯ k T
    Figure DE102017111926A1_0224
    using equation (7)
  • 2. M unter Verwendung z. B. des Cholesky-Algorithmus oder der Singularwertzerlegung in die Cholesky-Faktoren M= SST zerlegen2. M using z. As the Cholesky algorithm or the Singularwertzerlegung into the Cholesky factors M = SS T decompose
  • 3. Die Ergebnismatrix Q k ist durch den Cholesky-Faktor S gegeben3. The result matrix Q k is given by the Cholesky factor S.

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.According to various embodiments, all process noise matrices Q k and all state transition matrices A k z. B. be in practical applications diagonal matrices. In this case, the calculation is significantly simplified, as illustrated by the algorithm (24) as follows.

ALGORITHMUS 24:ALGORITHM 24:

  • 1. M : = Q ¯ k Q ¯ k T
    Figure DE102017111926A1_0225
    unter Verwendung der Gleichung (103) berechnen
    1. M : = Q ¯ k Q ¯ k T
    Figure DE102017111926A1_0225
    using equation (103)
  • 2. Das Element Q k(i,i) der Ergebnis-Diagonalmatrix Q k ist durch M ( i , i )
    Figure DE102017111926A1_0226
    gegeben
    2. The element Q k (i, i) of the result diagonal matrix Q k is through M ( i . i )
    Figure DE102017111926A1_0226
    given

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.According to various embodiments, the algorithm for reducing the size of a data set of a Kalman-based filter provided herein may be used in a component of a control system and / or for monitoring discrete processes, as described above. According to various embodiments, the size of one or more tuning data sets may be shrunk by merging intermediate process equations that do not take into account measured values. In other words, a consecutive sequence of process updates may be merged in the event that none of the process updates of the consecutive sequence is correlated with a measurement that needs to be taken into account.

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.According to various embodiments, the data fusion circuit 108 be configured to provide a unified model parameter (eg, a process model parameter) for each one or more of the model parameters, respectively. In this case, the unified model parameter represents several model parameters of the corresponding events for which unification results in the same result as for the unrelated events. As an example, multiple process model parameters may be merged according to a (eg, consecutive) sequence of process events if no measurement events are to be considered for the sequence of process events.

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
The following provides an algorithm for modeling an interruption or some other disturbance in the complex and dynamic process. As has already been described, a Kalman-based filter or any other similar filter based on e.g. On the equations (1), (1 *), (2), (2 *) for controlling a production process. The state of the process ( 1 ) 2 ) can be represented by two sets of equations (eg equations (3) and (4) or equations (8a) to (12d)) estimated to be performed completely independently of each other. The normalized renewals v 0 can z. Calculated based on the following equation: 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.As described above, the normalized updates or any other suitable parameter representing the accuracy of the state estimate may be monitored. If the used process model (and / or measurement model) and the real process match, it can be very unlikely that the normalized renewals will differ significantly from 3, eg. For example, that | v 0 | is greater than 3. According to various embodiments, a mismatch of the model can be assumed, if | v 0 | exceeds any given threshold value L y with 2 ≤ L y ≤ 4. In other words, the process model and / or the measurement model can be based on the normalized renewals | v 0 | or any other suitable parameter representing the accuracy of the state estimate.

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.The following provides a method to validate the process model and / or the measurement model. According to various embodiments, a check for mismatch of the model may be performed when new measurement data is fed to the estimation algorithm. A mismatch of the model can z. After a maintenance event for a machining tool of the machining assembly 104 or due to an erratic operation of a machining tool of the machining assembly 104 and the like, which is referred to herein as an interrupt. Such as In 17A is illustrated in a schematic diagram, a standard operation 1700s the filter at a given time 1700T be interrupted 1700d. During standard operation 1700s can a corresponding process model 1700m be used for the operation of the filter.

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 the case where a mismatch of the model is detected, according to various embodiments, a set of alternative models 1702 defined, such. In 17B is illustrated. Each of the alternative models 1702 may correspond to a possible major cause of the interruption. The alternative models 1702 and the process model 1700m that have been used so far may be in a model library 1712 to be collected. Further, according to various embodiments, the state estimate for each model in the model library 1712 be calculated. If necessary or helpful, the models can be updated to the current data, e.g. With a maximum likelihood estimate, as described above. Further, according to various embodiments, the performance of the various models of the model library 1712 be compared, for. By comparing the mean square prediction error, the likelihood (eg, the likelihood that the model matches the actual data), or an information criterion (eg, an akaike information criterion, a Bayesian information criterion), and the like. This may also be referred to as testing or validating the process models. Further, according to various embodiments, the best performing model may be selected based on the result of the testing 1704 , The procedure may be seen as testing various hypotheses about the root cause of the interruption and selecting a new process model according to the best matching hypothesis.

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.In the event that the current data is insufficient to demarcate the models to be selected, the selection may be delayed until new measurement data arrives. The new measurement data may be included in the test, which may then allow to demarcate the models. If enough data is available, the best process model can be selected. Therefore, a measurement or any other way to obtain additional data may be initiated to enhance the selection of a suitable process model.

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.Such as In 17C is illustrated, the selected model 1706 for a further state estimation after the interruption 1700D be used. According to various embodiments, the state estimates may be necessary starting from the time point 1700T to which the interruption 1700D is detected, recalculated to obtain more accurate state information.

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.According to various embodiments, the modeling provided here of an interruption or any other disturbance in a complex and dynamic process, e.g. In a semiconductor manufacturing process, in a component of a control system and / or for monitoring discrete processes, as described above. According to various embodiments the mismatch between the process model (and according to the measurement model) and the real process data (and corresponding to the real measurement data) are monitored; wherein, when a mismatch is detected, two or more alternative models (also referred to as break hypotheses) may be tested, and based on the result of the testing, a process model that best matches the data may be selected. According to various embodiments, the process model may include the corresponding process equations and the measurement equations.

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.According to various embodiments, the data fusion circuit 108 be configured to determine a mismatch of the model. The acquired measurement data can z. B. be validated based on statistical error information.

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.A mismatch of the model can illustratively have several different reasons. According to various embodiments, the data fusion circuit may be configured to provide multiple reference models for mismatch of the model for various reasons, and to determine the reasons for mismatching the model by testing whether at least one of the reference models can properly model the acquired measurement data. If no reference models can be found that suitably model the acquired measurement data, e.g. B. the operation of the filter are interrupted and an error message can be sent. Alternatively, a reference model may be selected that fits best.

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.According to various embodiments, the data fusion circuit may be configured to select a first reference model from a plurality of reference models and recompute the state information based on the selected first reference model and determine a first model match parameter and select a second reference model from a plurality of reference models and the state information based on the selected second Recalculate the reference model and determine a second model match parameter and compare the first model match parameter with the second model match parameter and select the first or second model based on the comparison for further operation. The model match parameter may, according to various embodiments, include statistical error information, e.g. The normalized renewal of the relationship.

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.According to various embodiments, a method 1800 for controlling a processing arrangement, e.g. B. the process control circuit 100 , as described herein, as provided in U.S. Pat 18 is illustrated in a schematic process flow. According to various embodiments, the method 1800 Include: in 1810 Acquiring the process data and the measurement data of the processing device, wherein the process data includes a plurality of process event data according to a plurality of process events, and the measurement data includes a plurality of measurement event data according to a plurality of measurement events; in 1820 Providing state information representing a status of the processing device and accuracy information representing accuracy of the state information; in 1830 Updating the state information based on the acquired process event data, thereby reducing the accuracy of the state information, and independently of updating the state information, restoring the prior state of the state information based on the acquired measurement event data, thereby increasing the accuracy of the state information, and 1840 Controlling the processing arrangement based on the state information.

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.
According to various embodiments, the method 1800 include one or more of the algorithms described herein and one or more of the methods described herein, e.g. B .:
  • To provide the condition information and the accuracy information accordingly,
  • • to update the state information accordingly and restore and / or restore the previous state of the additional information accordingly
  • • to control the processing arrangement accordingly.

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.According to various embodiments, one or more aspects of the process control circuit 100 in software, eg Based on the MATLAB® software or any other suitable software. The algorithms described herein are provided in pseudocode to provide the main aspects to be implemented via any suitable programming environment.

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. According to various embodiments, a method may include using one or more of the algorithms described herein, e.g. To calculate one or more parameters or any other desired value, as described herein.

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.According to various embodiments, one or more of the above may be related to a process control circuit 100 or a data fusion circuit 108 also described as a method or as part of a method to implement a suitable system, e.g. B. a processing arrangement 104 to be controlled, understood.

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.Because the modeling of the processes may be correlated with the modeling of the measurements, within the description the terms "process model" or "model" may be used for the sake of brevity, such that they are e.g. B. corresponding to the process model and / or the measurement model mean. In the same way, the terms "process model parameters" or "model parameters" may be used for the sake of brevity, such that they are e.g. B. corresponding to the process model parameters and / or the measurement model parameters mean. In the same way, the term "process" can be used for the sake of brevity, so that it can be used e.g. B. means any aspect relating to the operation of the processing arrangement 104 must be taken into account, including z. As a machining tool and measuring tools. The term "data" can be used here, so that it z. B. any information means z. B. with regard to the processing arrangement 104 must be taken into account, including As the processing data, the measurement data, the tuning data and the like, such. Contextual / logistic data (a specific product, an intermediate mask, ...) and the data (process and measurement) of the previous process steps (including the preprocessing chamber / preprocessing tool, the pre-process (measurement) data, the contextual / logistic pre-process data, the pre-process processing time). Based on the operation of the algorithm, for. For example, additional data may be provided that controls the operation of the data merge circuit 108 can define, for. B. monitoring data, debugging data, tracking data, validating data, and the like. It will be appreciated that appropriate means for data processing, data storage and display of the data may be used as desired.

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.Hereinafter, various examples regarding the process control circuit and method for operating the process control circuit as described above and in a similar manner of a non-transitory computer-readable medium will be provided.

Verschiedene Beispiele sind auf das Modellieren und die Vorhersage von Produktionsprozessen (z. B. Losfertigungsprozessen) in einer komplexen und dynamischen Fertigungsumgebung bezogen.Several examples relate to the modeling and prediction of production processes (eg, batching processes) in a complex and dynamic manufacturing environment.

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.Example 1 is a process control circuit including: a data acquisition circuit configured to acquire process data and measurement data of a processing device, wherein the process data includes a plurality of process event data according to a plurality of process events and the measurement data includes a plurality of measurement event data corresponding to a plurality of measurement events; a data merging circuit configured to display state information, wherein the state information represents a status of the processing device, and accuracy information ( P providing an accuracy of the state information; wherein the data merging circuit is further configured to update the state information (eg, to perform a process update) based on the acquired process event data, thereby reducing the accuracy of the state information, and independently of updating the state information based on the acquired measurement event data, the previous state of the state information restore (eg, perform a metrology update), thereby increasing the accuracy of the state information, and a control circuit configured to configure the processing device based on the state information (FIG. X etc.) and / or the accuracy information .DELTA.X . P etc.).

Verschiedene Beispiele beziehen sich auf ein Prozessmodell zum Modellieren und zur Vorhersage von Produktionsprozessen (z. B. Losfertigungsprozessen) in einer komplexen und dynamischen Fertigungsumgebung.Several examples relate to a process model for modeling and predicting production processes (eg, batching processes) in a complex and dynamic manufacturing environment.

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.In Example 2, the process control circuit of Example 1 optionally includes the data fusion circuit further configured to update the state information based on a process model that includes the process model parameters (eg, an accessible model parameter, A and or B ) and the process model estimation parameters (eg, an inaccessible model parameter, N and or Q ), to update.

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. In Example 3, the process control circuit of the example 1 or 2 optionally, the data fusion circuit is further configured to reconstruct the prior state of the state information based on a measurement model that includes the measurement model parameters (eg, an accessible measurement model parameter, C and or D ) and the measurement model estimation parameters (eg an inaccessible measurement model parameter, M and or R ), restore.

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.In example 4, the process control circuit according to any one of the preceding examples may optionally include the control circuit further configured to configure the processing arrangement based on both the state information (FIG. X etc.) as well as the accuracy information ( .DELTA.X . P etc.).

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.In example 5, the process control circuit according to any one of the preceding examples may optionally include the control circuit further configured to process control data to control the processing arrangement based on the state information (FIG. X etc.) and / or based on the accuracy information ( .DELTA.X . P etc.).

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.In Example 6, the process control circuit according to any one of the preceding examples may optionally include the control circuit further configured based on the state information (FIG. X ) and / or the accuracy information ( .DELTA.X . P etc.) to provide monitoring data. According to various embodiments, the monitoring data may be used to monitor at least one of the processing arrangement, the data acquisition circuit and / or the data merging circuit.

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.In Example 7, the process control circuit according to any one of the preceding examples may optionally include that the data merging circuit is configured to provide the accuracy information ( .DELTA.X ) based on a statistical estimation error (P, σ, σ 2 , v, etc., as described herein).

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).In Example 8, the process control circuit according to any one of the preceding examples may optionally include the data merging circuit configured to merge the process data and the measurement data based on a Kalman filter to obtain the state information (FIG. X and .DELTA.X ) (or in other words appreciate).

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.In example 9, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to update the state information for all of the acquired process event data and for all of the acquired process measurement data in a chronological order defined by the process events and restore their previous state, wherein the measurement events are mapped to the process events.

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.In Example 10, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to update the state information for each of the plurality of process events in acquiring the corresponding process event data and for each of the plurality of measurement events in acquiring the corresponding measurement event data.

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.In Example 11, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to collect a plurality of process event data of the respective process events and to update the state information in consideration of the collected plurality of process event data upon acquiring the measurement event data of a subsequent trade event and the previous state Restore state information based on the acquired measurement event data. Illustratively, the process update may be executed at the latest when the measurement event data of the measurement event to be considered is available.

Verschiedene Beispiele beziehen sich auf die Anpassung rekursiver Schätz- und Vorhersagealgorithmen an Produktionsszenarios mit verzögerten und permutierten Messungen.Several examples relate to the adaptation of recursive estimation and prediction algorithms to production scenarios with delayed and permuted measurements.

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.In Example 12, the process control circuit of any of the preceding examples may optionally include the data acquisition circuit further configured to correlate the measurement events with the corresponding process events (eg, mapping the measurement events to the corresponding process events). Therefore, based on at least one process event and at least one measurement event corresponding to the process event, a tuple may be provided. The tuple may be a product, for. A wafer, an electronic device, and the like.

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. In example 13, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to calculate current state information based on the process event data of a current process event and a sequence of previous process events and / or measurement events.

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.In example 14, according to one of the preceding examples, the process control circuit may optionally include the data fusion circuit configured to calculate current state information based on the process event data of a current process event and a sequence of previous process events (and eg previous measurement events) and capturing the process information Measurement event data corresponding to at least one previous process event of the sequence of previous process events, to recalculate the current condition information.

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.In example 15, the process control circuit of example 14 may optionally include the sequence of previous process events including a limited number of process events, starting from an initial process event defining the base state information and ending with the current process event defining the current state information.

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.In example 16, the process control circuit of example 15 may optionally include the initial process event being selected to be a first item in the sequence of the previous process events for which no corresponding measurement event data is available and for which the corresponding measurement event data is pending.

Verschiedene Beispiele beziehen sich auf ein Prozessmodell für einen rekursiven Schätz- und Vorhersagealgorithmus.Several examples relate to a process model for a recursive estimation and prediction algorithm.

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.In example 17, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to process data based on a process model including one or more process model parameters for modeling known influences (A and / or B) and / or one or more Process estimation parameter for modeling unknown influences (N) contains, to model.

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.In example 18, the process control circuit of any one of the preceding examples may optionally include the data fusion circuit configured to configure the measurement data based on one or more measurement model parameters to model known influences (C and / or D) and / or one or more measurement estimation parameters to model unknown ones Influences (M) to model.

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.According to various embodiments, the one or more equations or the one or more algorithms for modeling the processes are independent of the one or more equations or the one or more algorithms for modeling the measurements.

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).In example 19, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to model the process data based on a process model (eg, a linear time-variant state space) that includes at least one of the following process model parameters: a state transition parameter (A), a process noise parameter (N) and / or a process drift parameter (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.In example 20, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to model the process data based on the following equation and / or a similar equation: x k + 1 = A k + 1 x k + N k + 1 + b k + 1 .
Figure DE102017111926A1_0228
where x k + 1 is a state vector, x k is a previous state vector, A k + 1 is a state transition matrix, N k + 1 is a process noise vector, B k + 1 is a process drift vector, and where k is a counter variable.

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.In Example 21, the process control circuit of Example 20 may optionally include N k + 1 = Q k + 1 ξ k + 1 , where ξ k + 1 is a random vector that reduces process noise (eg, with E [ξ] = 0, E [ξ 2 ] = I), and is a Q k + 1 noise scaling matrix.

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). In example 22, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to model the measurement data based on a measurement model including at least one of the following measurement model parameters: an observation parameter (C), a measurement noise parameter (M), and / or a measurement offset parameter (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.In example 23, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to model the measurement data based on the following equation and / or a similar equation: y k + 1 = C k + 1 x k + 1 + M k + 1 + D k + 1 .
Figure DE102017111926A1_0229
where y k + 1 is a scalar metric or measurement vector, C k + 1 is an observation vector or observation matrix (which describes the contribution of elements of the state vector x k + 1 to y k + 1 ), M k + 1 is a measurement noise scalar or a measurement noise vector and D k + 1 is a measurement offset scalar or a measurement offset vector, and wherein k is a counter variable.

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.In Example 24, the process control circuit of Example 23 may optionally include M k + 1 = R k + 1 η k + 1 , where η k + 1 is a scalar random value or a random vector representing the measurement noise (e.g. with E [η] = 0, E [η 2 ] = I) and R k + 1 is a noise scaling scalar or a noise scaling matrix.

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.In example 25, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to update the state information based on a first set of equations and to restore the previous state of the state information based on a second set of equations; of the first set of equations independently of the equations of the second set of equations.

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).Example 26 may optionally include the process control circuit of Example 25 having the first set of equations based on the following equations and / or similar equations: 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
where P k , P k + 1 is an error covariance matrix (ie, a previous and updated error covariance matrix) and x k are the state information and x k + 1 are the estimated state information (ie, x k is the previous one and x k + 1 is the updated state estimate).

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.In Example 27, the process control circuit of Example 25 or 26 may optionally include the second set of equations being based on the following equations and / or similar equations: 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
where K k + 1 is a feedback gain vector and I is an identity matrix.

Gemäß verschiedenen Ausführungsformen wird erkannt, dass andere äquivalente Formulierungen derselben Gleichungen erhalten werden können.According to various embodiments, it is recognized that other equivalent formulations of the same equations can be obtained.

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.In Example 28, the process control circuit according to one of the preceding examples may optionally include the statistical error information of the estimated state information including a variance of the estimation error, σ 2 ERR , based on the following equation and / or a similar equation: σ e R R 2 = C ¯ P k + 1 C ¯ T .
Figure DE102017111926A1_0235
where P k + 1 is an error covariance matrix and C is a state extractor vector.

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.In example 29, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to provide predicted measurement event data (y k + 1 ) for a subsequent measurement event with corresponding (measurement) prediction error information.

Im Beispiel 30 kann die Prozesssteuerschaltung des Beispiels 29 optional enthalten, dass die (Messwert-) Vorhersagefehlerinformationen der vorhergesagten Messereignisdaten statistische Fehlerinformationen sind.In Example 30, the process control circuit of Example 29 may optionally include the (measurement) prediction error information of the predicted measurement event data being statistical error information.

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.In example 31, the process control circuit of example 29 or 30 may optionally include the predicted measurement event data being based on a combination of one or more elements of the estimated state vector.

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.In example 32, the process control circuit of any of examples 29 to 31 may optionally include the data fusion circuit further configured to validate the state information and / or a process model based on the accuracy information of the predicted measurement event data.

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.In example 33, the process control circuit of any of examples 29 to 32 may optionally include the data fusion circuit further configured to validate the state information and / or the process model based on the statistical error information of the predicted measurement event data.

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.In example 34, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to validate the acquired measurement data based on the accuracy information of the predicted measurement event data. The data fusion circuit may be configured to validate the acquired measurement data based on the statistical error information of the predicted measurement event data.

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.In example 35, the process control circuit of any one of the preceding examples may optionally include the data fusion circuit configured to validate the acquired measurement data by calculating a prediction error (also referred to as renewal).

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
In example 36, the process control circuit of example 35 may optionally include calculating the prediction error, v, based on the following equation and / or a similar equation: 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.In example 37, the process control circuit of any of the preceding examples may optionally include the data fusion circuit configured to validate the acquired measurement data by calculating a normalized renewal of the ratio and by comparing the calculated normalized renewal of the ratio to a reference value.

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
In example 38, the process control circuit of example 37 may optionally include calculating the normalized renewal of the ratio, v o , based on the following equation and / or a similar equation: 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.In example 39, the process control circuit according to any one of the preceding examples may optionally include the data fusion circuit configured to use estimated measurement data a process model and a measurement model to check for mismatch between the measurement data and the estimated measurement data.

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).In example 40, the process control circuit of one of the preceding examples may optionally further include a communication circuit configured to provide (eg, generate and send) an alarm message in the event that a mismatch is detected according to example 39.

Verschiedene Beispiele beziehen sich darauf, komplexen Mehrdeutigkeiten gewachsen zu sein.Several examples relate to coping with complex ambiguities.

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.In example 41, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to determine the accuracy information based on an estimation error, wherein the estimation error is decomposed into a finite part and an infinite part.

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.In example 42, the process control circuit of example 41 may optionally include determining the estimation error via an error covariance matrix (P) or an inverted error covariance matrix (P -1 , also referred to as an information matrix).

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.In Example 43, the process control circuit of Example 42 may optionally include the error covariance matrix or the inverted error covariance matrix decomposed into a finite part (P R ) and an infinite part (P I ).

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 κ → ∞.In example 44, the process control circuit of example 42 or 43 may optionally include decomposing the error covariance matrix (or the inverted error covariance matrix) according to the following equation and / or a similar equation: P k = P R . k + κ P I . k .
Figure DE102017111926A1_0238
with κ → ∞.

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.In example 45, the process control circuit of any of the preceding examples may optionally include the data fusion circuit further configured, in a first case based on a first set of previous state recovery equations, and in a second case on a second set of recovery equations of the former state to restore the previous state of the state information, wherein the first case and the second case are distinguished from each other by a discrimination criterion.

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.In example 46, the process control circuit of any of the preceding examples may optionally include the data fusion circuit further configured to calculate the prediction error for new measurements and to check whether the prediction error includes infinite parts.

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.In example 47, the process control circuit of any of the preceding examples may optionally include the data fusion circuit further configured to calculate estimated measurement data and a corresponding prediction error and to check whether the prediction error includes infinite parts.

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.In example 48, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to restore the previous state of the state information for a measurement vector over a plurality of individual prior art scalar recoveries.

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.In example 49, the process control circuitry of example 48 may optionally include checking, for each of the individual scalar recoveries of the previous state, whether the corresponding measurement prediction error includes infinite parts.

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.In Example 50, the process control circuit of any of the preceding examples may optionally include the data fusion circuit configured to check based on a numeric reference, L NUM , whether the measurement prediction error (or in other words, the new measurement value prediction error) is infinite Contains parts.

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. In example 51, the process control circuit of example 50 may optionally include using a first set of previous state recovery equations to restore the previous state of state information if | F I, k + 1 | > L NUM , and that a second set of previous state recovery equations is used to restore the previous state of state information if | F I, k + 1 | ≤ L NUM , with: F I . k + 1 : = C k + 1 P l . k C k + 1 T ,
Figure DE102017111926A1_0239
In this case, F I, k + 1 corresponds to the infinite part of the prediction error.

Veranschaulichend wählt der Beobachtungsparameter C im Beispiel 51 ein Produkt und ein Messwerkzeug aus.Illustratively, the observation parameter C in Example 51 selects a product and a measurement tool.

Verschiedene Beispiele beziehen sich auf eine robuste Unterscheidung zwischen einer endlichen und einer unendlichen Varianz der Messwertvorhersage.Several examples relate to a robust distinction between a finite and an infinite variance of the measured value prediction.

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.In example 52, the process control circuit of any of the preceding examples may optionally include the data fusion circuit further configured to provide a discrimination value based on an observation parameter C and an error covariance matrix P and to compare the discrimination value with a reference value, L NUM .

Im Beispiel 53 kann die Prozesssteuerschaltung des Beispiels 52 optional enthalten, dass der Beobachtungsparameter C faktorisiert ist.In example 53, the process control circuit of example 52 may optionally include the observation parameter C being factored.

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.In example 54, the process control circuit of example 53 may optionally include the observation parameter C an observation vector C which is factored based on the following equation and / or a similar equation: C = C 0 | C | .
Figure DE102017111926A1_0240
with C: = C k + 1 and | C 0 | = 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.The factorization according to Example 54 performs z. To the following F I 0 k = C 0 P I . k C 0 T ,
Figure DE102017111926A1_0241
According to various embodiments, F 10, k may be used as a distinguishing criterion.

Verschiedene Beispiele beziehen sich auf das Anwenden einer Quadratwurzelfaktorisierung.Various examples relate to applying a square root factoring.

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.In example 55, the process control circuit according to any of the preceding examples may optionally include factoring the error covariance matrix or the inverted error covariance matrix (which is also referred to as the information matrix).

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.In example 56, according to one of the preceding examples, the process control circuit may optionally include the fact that the error covariance matrix or the inverted error covariance matrix is factored into triangular matrices. Optionally, the error covariance matrix or the inverted error covariance matrix may additionally be factored into one or more diagonal matrices (eg the matrix D).

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.In Example 57, the process control circuit of any of the preceding examples may optionally include the error covariance matrix (eg, P) (or the inverted error covariance matrix) being an n × n matrix (also referred to as an (n, n) matrix which has, for example, n rows and n columns) and that the triangular matrix (eg, S) is an n × n matrix, where n is a natural number. All factorization matrices of the factored error covariance matrix can be square and have the same size (n × n) as the error covariance matrix.

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. In example 58, the process control circuit of any one of the preceding examples may optionally include the error covariance matrix (or the inverted error covariance matrix) being factored based on the following equation and / or a similar equation: P = S T S or P = U T D U .
Figure DE102017111926A1_0242
where D is a diagonal matrix.

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.In example 59, the process control circuit of any one of the preceding examples may optionally include the triangular matrix (eg, S or U) having a number of n rows and a rank r, and a number of n minus r rows that are exactly zero , contains. The error covariance matrix P has a number of n lines and is of rank 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.In example 60, the process control circuitry of example 59 may optionally include that for each of the n rows containing at least one non-zero element, the corresponding diagonal elements of the triangular matrix (eg, S or U) is not zero.

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.In example 61, the process control circuit of any one of the preceding examples may optionally include the fact that the error covariance matrix is factored based on the following equation and / or a similar equation: P = S S T or P = U D U T .
Figure DE102017111926A1_0243
where D is a diagonal matrix.

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.According to various embodiments, the triangular matrix (eg, S or U) (eg, according to examples 58 and 61) may be an upper or lower right matrix or an upper or lower left matrix.

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.In example 62, the process control circuit of any of the preceding examples may optionally include the triangular matrix (eg, S or U) having a number of n columns and rank r and a number of n minus r columns that are exactly zero , contains. The error covariance matrix P has a number of n lines and is of rank 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.In example 63, the process control circuitry of example 62 may optionally include, for each of the n columns containing at least one non-zero element, the corresponding diagonal element of the triangular matrix (eg, S or U ) is not null.

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.In example 64, the process control circuit of any one of the preceding examples may optionally include the data fusion circuit further configured to have a number of g rows or columns that are exactly zero in the triangular matrix (e.g. S or U ) if the rank of the triangular matrix (e.g. S or U ) is reduced by the number g.

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.In example 65, the process control circuit of any of the preceding examples may optionally include the data fusion circuit further configured to generate a number g of rows or columns that are exactly zero in the triangular matrix (eg, S or U) if the rank of the error covariance matrix P is reduced by the number g.

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.In example 66, the process control circuit of any of the preceding examples may optionally include the algorithm for restoring the previous state to include the rows or columns of the triangular matrix (e.g. S or U ) are processed sequentially (one after the other). Further, the rows / columns that are exactly zero can be processed by a procedure other than nonzero rows. Furthermore, existing zero rows / columns can be preserved.

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.In example 67, the process control circuit according to one of the preceding examples may optionally contain the finite part (FIG. P R ) and the infinite part ( P I ) of the error covariance matrix are factored. This can increase the numerical accuracy.

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. In example 68, the process control circuit according to one of the preceding examples may optionally include the finite part (P R ) and the infinite part ( P I ) of the error covariance matrix are factored based on the following equation and / or a similar equation: P R = S R T S R . P R = S R S R T . P R = U R T D U R or 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 I or P I = U I D U I T ;
Figure DE102017111926A1_0245
S I S R U I U R is a Cholesky factor and where D is a diagonal matrix.

Gemäß verschiedenen Ausführungsformen ist der Cholesky-Faktor eine Dreiecksmatrix.According to various embodiments, the Cholesky factor is a triangular matrix.

Verschiedene Beispiele beziehen sich auf eine Quadratwurzelaktualisierung.Various examples relate to a square root update.

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.In example 69, the process control circuit of any one of the preceding examples may optionally include the error covariance matrix (or, in a similar manner, the inverted error covariance matrix) decomposed.

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.In example 70, the process control circuit of any of the preceding examples may optionally include the error covariance matrix (or, in a similar manner, the inverted error covariance matrix) being factorized and decomposed.

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.In example 71, according to one of the preceding examples, the process control circuit may optionally include a finite part of the error covariance matrix being factored and decomposed, and an infinite part of the error covariance matrix being factored and decomposed.

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
In example 72, the process control circuit of any one of the preceding examples may optionally include the finite part of the error covariance matrix being factorized and decomposed based on the following equation and / or a similar equation: P R = U R D U R T + P R , 0 ,
Figure DE102017111926A1_0246
or 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
In example 73, the process control circuit of any one of the preceding examples may optionally include the infinite portion of the error covariance matrix being factorized and decomposed based on the following equation and / or a similar equation: P I = U I D U I T + P I , 0
Figure DE102017111926A1_0248
or 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).The matrices P R, 0 P I, 0 of Example 72 and 73 are diagonal matrices (of size 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.In example 74, the process control circuit of any of the preceding examples may optionally include decomposing the error covariance matrix into a main error covariance matrix and a process noise matrix to separately treat the accumulated process noise in the process noise matrix.

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.In example 75, the process control circuit of example 74 may optionally include the data fusion circuit further configured to introduce new process noise only to the process noise matrix to add (process update) and to transfer the (non-zero) elements of the process noise matrix to the main covariance matrix prior to any later restoration of the previous state in the case where the restoration of the previous state involves the state elements related to those matrix elements.

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.In example 76, the process control circuit of any one of the preceding examples may optionally include decomposing the inverted error covariance matrix (eg, the information matrix) into a main information matrix and a measurement noise matrix to separately treat the accumulated measurement noise in the measurement noise matrix.

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.In example 77, the process control circuit of example 76 may optionally include the data fusion circuit further configured to add new measurement noise only to the measurement noise matrix (restoration of the previous state) and the non-zero elements of the measurement noise matrix prior to any later process update to the main process. Transfer information matrix, if the update includes the state elements related to these matrix elements.

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.In example 78, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to update the state information based on a first set of update equations dealing with the state transition (A update) and a second set of update equations Add new process noise to update the state (Q update).

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.In Example 79, the process control circuit according to any one of the preceding examples may optionally include a state transition matrix (A) separated into unit blocks and non-unit blocks to update the state information.

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.In example 80, the process control circuit of example 78 or 79 may optionally include the state transition matrix (FIG. A ) is formulated as a block diagonal matrix having a plurality of unit blocks and non-unit blocks, or transformed into a block diagonal matrix having a plurality of unit blocks and non-unit blocks.

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.In example 81, the process control circuit of example 79 or 80 may optionally include the overall process update being formulated as a sequence of sub-process updates, with each sub-process update taking into account one of the multiple non-entity blocks.

Verschiedene Beispiele beziehen sich auf die Validierung von Kalman-Filter-Modellen, die auf die wirklichen Daten abgestimmt sind.Several examples relate to the validation of Kalman filter models tuned to the actual data.

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.In example 82, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to include the process model (eg, the process model parameters) and / or the measurement model (eg, the measurement model parameters) based on a set of training data to validate and / or vote.

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.In example 83, the process control circuitry of example 82 may optionally include the set of training data containing the available process data (eg, the context data and / or the logistics data of the processing arrangement and operation) and / or the available measurement data (e.g. B. are mapped to the process data) contains.

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.In example 84, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to validate a tuned process model and / or a tuned measurement model.

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.In example 85, the process control circuit of example 84 may optionally include the data fusion circuit configured to further configure the (eg, tuned) process model and / or the (eg, tuned) measurement model based on a normalized prediction error signal to predict reference values. Validate measurement event data for multiple measurement events.

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.In example 86, the process control circuit of any one of the preceding examples may optionally include the data fusion circuit further configured to depict the process model and / or the process model Validating a measurement model based on an average value that takes into account multiple symmetrized normalized prediction errors.

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.In example 87, the process control circuit of example 86 may optionally include providing the symmetrized normalized prediction errors by applying a symmetric function to the normalized prediction errors.

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.In example 88, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to configure the process model and / or measurement model (eg, all parameters) based on a probability signal and / or a probability gradient signal for one or more model parameters (eg for a specific model parameter). The signal may be a sequence of numbers, each number corresponding to a reading.

Verschiedene Beispiele beziehen sich auf das Verfolgen, Überwachen und Austesten eines rekursiven Schätz- und Vorhersagealgorithmus.Various examples relate to tracking, monitoring, and debugging a recursive estimation and prediction algorithm.

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.In example 89, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to store a plurality of backup state information (to thereby generate, for example, additional historical data) and a plurality of backup model parameters to monitor at least one state information is to reconstruct.

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.In example 90, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to reconstruct at least one state information to be monitored during operation of the filter.

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.In example 91, the process control circuit of any of the preceding examples may optionally include the data fusion circuit further configured to include the at least one state information to be monitored by recalculating the at least one state information to be monitored, starting from one of the stored ones to reconstruct multiple backup state information and considering or incorporating one or more of the stored multiple model parameters.

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.In example 92, the process control circuit of one of the preceding examples may optionally further include a data processing circuit configured to reconstruct (eg, a user-defined) combination of one or more state information elements of the at least one state information to be monitored.

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.In example 93, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to decompose state information or a combination of state information elements of the state information into a weighted sum taking into account a plurality of previous measurement event data.

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.In example 94, the process control circuit of one of the preceding examples may optionally include the data fusion circuit further configured to provide one or more tracking and / or debug metrics considering at least one user-defined (eg, linear) combination of the state information elements of the state information.

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.In example 95, the process control circuit of any of the preceding examples may optionally include the data fusion circuit further configured to calculate an exact probability gradient of the process model (eg, for the process equations and / or the measurement equations).

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.In example 96, the process control circuit of example 95 may optionally include using a generalized inverse (pseudo inverse) of a product to calculate an exact probability gradient of the process model, the product including a matrix of a process or measurement model parameter and the transpose of the matrix.

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. In example 97, the process control circuit of example 95 or 96 may optionally include the data fusion circuit further configured to calculate an exact probability gradient of the process model, using the following equation or a similar equation: 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
According to various embodiments, the matrix N is factored in Example 97.

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.In example 98, the process control circuit according to one of the preceding examples may optionally include the data fusion circuit 108 further configured to provide an exact probability gradient of the process model and / or the measurement model using a generalized inverse of a product, wherein the product includes a matrix of a process or measurement model parameter and its transpose, and / or using a forward and a backward iteration at least one iteration matrix in the forward iteration is factored and / or wherein at least one iteration matrix is factored in the backward iteration.

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.In example 99, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to provide a unified process model parameter for one or more of the process model parameters, respectively. The unified process model parameter represents multiple process model parameters of the corresponding process events for which no measurement events are considered.

Verschiedene Beispiele beziehen sich auf eine Unterbrechungsmodellierung für ein Prozessmodell und/oder ein Messmodell für einen rekursiven Schätz- und Vorhersagealgorithmus.Various examples relate to interrupt modeling for a process model and / or measurement model for a recursive estimation and prediction algorithm.

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.In example 100, the process control circuit of any of the preceding examples may optionally include the data fusion circuit configured to validate the acquired measurement data based on statistical error information to determine a model mismatch.

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.In example 101, the process control circuit according to any one of the preceding examples may optionally include the data fusion circuit configured, e.g. In the case where a mismatch is determined, as described in Example 100, select a reference model from a plurality of reference models and recompute the state information based on the selected reference model.

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.In example 102, the process control circuit of one of the preceding examples may optionally include the data fusion circuit configured to select a first reference model from a plurality of reference models and recalculate the state information based on the selected first reference model and determine a first model match parameter and a second reference model select multiple reference models and recalculate the state information based on the selected second reference model and determine a second model match parameter and compare the first model match parameter with the second model match parameter and select the first or the second model for further operation based on the comparison.

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.In example 103, the process control circuit according to any one of the preceding examples may optionally include the data fusion circuit further configured to use a model used to update and / or restore the previous state (eg, the process model and / or the measurement model). to validate and / or vote.

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.Example 104 is a method of controlling a processing arrangement, the method including: acquiring process data and measurement data of the processing device, wherein the process data includes a plurality of process event data according to a plurality of process events and the measurement data includes a plurality of measurement event data according to a plurality of measurement events; Providing state information representing a status of the processing device and accuracy information representing accuracy of the state information; Updating the state information based on the acquired process event data, thereby reducing the accuracy of the state information, and independently of updating the state information, restoring the previous state of the state information based on the acquired measurement event data, thereby increasing the accuracy of the state information, and controlling the processing arrangement based on the Status information and / or the accuracy information.

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.Example 105 is a non-transitory computer-readable medium having program instructions that, when executed, cause a device to perform control of a processing arrangement including: acquiring process data and measurement data of the processing device, wherein the process data includes a plurality of process event data according to a plurality of process events; the measurement data includes a plurality of measurement event data in accordance with a plurality of measurement events; Providing state information representing a status of the processing device and accuracy information representing accuracy of the state information; Updating the state information based on the acquired process event data, thereby reducing the accuracy of the state information, and independently of updating the state information, restoring the previous state of the state information based on the acquired measurement event data, thereby increasing the accuracy of the state information, and controlling the processing arrangement based on the Status information and / or the accuracy information.

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.Example 106 is a process control circuit including: a data acquisition circuit configured to capture the process data and the measurement data of a processing device, the process data including a plurality of process event data according to a plurality of process events and the measurement data including a plurality of measurement event data according to a plurality of measurement events; a data merging circuit configured to provide estimated state information, wherein the estimated state information represents an estimated state of the processing device, and to provide error information representing an estimation error of the estimated state information; wherein the data merging circuit is further configured to provide the estimated state information by updating and restoring the prior state of previous state information based on the acquired process event data and measurement event data, wherein the estimation error is increased by updating (eg, taking into account the process data) and wherein the estimation error is reduced by restoring the previous state (eg, taking into account the measurement event data), and a control circuit configured to configure the processing arrangement based on the estimated state information ( X ) and / or the estimation error.

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.Example 107 is a process control circuit including: a data acquisition circuit configured to capture the process data and the measurement data of a processing device, the process data including a plurality of process event data according to a plurality of process events and the measurement data including a plurality of measurement event data according to a plurality of measurement events; A recursive process control circuit configured to recursively calculate current state information based on the process event data of a current process event and a sequence of previous process (and eg measurement) events and the current state information in acquiring measurement event data that is at least one previous process event corresponding to the sequence of previous process events, (and / or recalculating process event data), and a control circuit configured to configure the processing arrangement based on the current state information ( X ) and / or based on accuracy ( .DELTA.X ) of the current status information ( X ) to control.

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.In Example 108, the process control circuit of any one of the preceding examples is used in batching to fabricate a plurality of products, each of the plurality of products being fabricated via multiple processes. Lottery production can lead to a huge amount of data that needs to be handled, with the vast amount of data being stored by the data fusion circuitry described herein 108 is treated automatically.

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.While the invention has been particularly shown and described with respect to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as set forth in the appended claims Claims are defined to deviate. The scope of the invention is, therefore, indicated by the appended claims, it is therefore intended that all changes coming within the meaning and range of equivalency of the claims be included.

Claims (29)

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.A process control circuit (100) comprising: a data acquisition circuit (102) configured to capture the process data and the measurement data of a processing device (104), the process data including a plurality of process event data according to a plurality of process events and the measurement data including a plurality of measurement event data according to a plurality of measurement events; a data merge circuit (108) configured to provide state information, wherein the state information represents a status of the processing device (104), and provide accuracy information representing an accuracy of the state information; wherein the data fusion circuit (108) is further configured to update the state information based on the acquired process event data, thereby reducing the accuracy of the state information, and to restore the prior state of state information independently of updating the state information based on the acquired measurement event data Status information, and a control circuit (110) configured to control the processing device (104) based on the state information and / or based on the accuracy information. 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.Process control circuit after Claim 1 wherein the data merging circuit (108) is further configured to update the state information based on a process model taking into account the process model parameters and the process model estimation parameters; and / or wherein the data fusion circuit is further configured to recover the previous state of the state information based on a measurement model that takes into account the measurement model parameters and the measurement model estimation parameters. 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.Process control circuit after Claim 1 or 2 wherein the control circuit (110) is further configured to provide process control data based on the state information and / or based on the accuracy information to control the processing device (104); and / or wherein the control circuit is further configured to provide monitoring data based on the state information and / or based on the accuracy information to monitor at least one of the processing device (104), the data acquisition circuit (102), or the data merging circuit (108). Prozesssteuerschaltung nach einem der Ansprüche 1 bis 3, wobei die Datenverschmelzungsschaltung (108) konfiguriert ist, die Genauigkeitsinformationen basierend auf einem statistischen Schätzfehler bereitzustellen.Process control circuit according to one of Claims 1 to 3 wherein the data merging circuit (108) is configured to provide the accuracy information based on a statistical estimation error. 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.Process control circuit according to one of Claims 1 to 4 wherein the data merging circuit (108) is configured to merge the process data and the measurement data based on a Kalman filter to provide the state information and / or the accuracy information. Prozesssteuerschaltung nach einem der Ansprüche 1 bis 5, wobei die Datenerfassungsschaltung (102) ferner konfiguriert ist, die Messereignisse mit den entsprechenden Prozessereignissen zu korrelieren.Process control circuit according to one of Claims 1 to 5 wherein the data acquisition circuit (102) is further configured to correlate the measurement events with the corresponding process events. 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.Process control circuit according to one of Claims 1 to 6 wherein the data fusion circuit (108) is further configured to calculate current state information based on the process event data of a current process event and a sequence of previous process events, and to recalculate the current state information upon acquisition of measurement event data corresponding to at least one previous process event of the sequence of previous process events , 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.Process control circuit according to one of Claims 1 to 7 . wherein the data merging circuit (108) is further configured to model the process data based on a process model that includes one or more process model parameters for modeling known influences and / or one or more process estimation parameters for modeling unknown influences; and wherein the data fusion circuit (108) is further configured to model the measurement data based on one or more measurement model parameters for modeling known influences and / or one or more measurement estimation parameters for modeling unknown influences. 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.Process control circuit according to one of Claims 1 to 8th wherein the data merging circuit (108) is further configured to update the state information based on a first set of equations and restore the previous state of the state information based on a second set of equations, the equations of the first set of equations being independent of the equations of second set of equations. 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.Process control circuit according to one of Claims 1 to 9 wherein the data fusion circuit (108) is configured to provide estimated measurement data using a process model and a measurement model to check for a mismatch between the measurement data and the estimated measurement data. 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.Process control circuit after Claim 10 further comprising: a communication circuit (312) configured to provide an alarm message or an alarm signal in the event a mismatch is detected. 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.Process control circuit according to one of Claims 1 to 11 wherein the data merging circuit (108) is further configured to determine the accuracy information based on an estimation error, wherein the estimation error is decomposed into a finite part and an infinite part. 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.Process control circuit after Claim 12 wherein the finite part of the estimation error is determined via a factorized error covariance matrix or a factored inverted error covariance matrix and / or wherein the infinite part of the estimation error is determined via another factorized error covariance matrix or another factorized inverted error covariance matrix. 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.Process control circuit according to one of Claims 1 to 13 wherein the data fusion circuit (108) is further configured to restore the previous state of the state information based on a first set of previous state recovery equations in a first case and on a second set of earlier state restore equations in a second case, wherein the first case and the second case are distinguished from one another by a distinguishing criterion. 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.Process control circuit according to one of Claims 1 to 14 wherein the data fusion circuit (108) is further configured to restore the previous state of the state information based on a first set of previous state recovery equations in a first case and on a second set of earlier state restore equations in a second case, wherein the first case and the second case are differentiated from each other by a discrimination value, wherein the data merging circuit (108) is further configured to provide the discrimination value based on an observation vector and an error covariance matrix and compare the discrimination value with a reference value, wherein the observation vector is factorized. 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.Process control circuit according to one of Claims 1 to 15 wherein the data merging circuit (108) is further configured to determine the accuracy information based on an estimation error, and wherein the estimation error is determined via a factorized error covariance matrix or a factorized inverted error covariance matrix. 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.Process control circuit after Claim 16 wherein the error covariance matrix or the inverted error covariance matrix is factored into at least two triangular matrices, wherein at least one triangular matrix of the at least two triangular matrices has a number n of columns of rank r and comprises a number of n minus r columns which are exactly zero; wherein for each of the n columns comprising at least one element other than zero, the corresponding diagonal element of the at least one triangular matrix is not zero. 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.Process control circuit according to one of Claims 1 to 17 wherein the data merging circuit (108) is further configured to determine the accuracy information based on an estimation error, wherein the estimation error is determined via an error covariance matrix or an inverted error covariance matrix; and wherein the error covariance matrix is decomposed into a main covariance matrix and into a process noise matrix to separately treat the accumulated process noise in the process noise matrix, or wherein the inverted error covariance matrix is decomposed into an inverted main covariance matrix and a measurement noise matrix to separate the accumulated measurement noise separately to treat the measurement noise matrix. 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.Process control circuit after Claim 18 wherein the data merging circuit is further configured to add new process noise only to the process noise matrix and the elements of the process noise matrix prior to any later restoration of the previous state in the case where the later restoration of the previous state involves the state elements related to those matrix elements Covariance matrix to transmit; or wherein the data fusion circuit is further configured to add new measurement noise only to the measurement noise matrix and to transmit the elements of the measurement noise matrix to the main inverted covariance matrix prior to any subsequent update in the case where the later update includes the state elements related to those matrix elements. 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.Process control circuit according to one of Claims 1 to 19 wherein the data merging circuit (108) is further configured to update the state information based on a process model and to validate and / or tune the process model and / or the measurement model based on a set of training data. 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.Process control circuit according to one of Claims 1 to 20 wherein the data merging circuit (108) is further configured to store a plurality of save state information and a plurality of save model parameters to reconstruct at least one state information to be monitored. 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.Process control circuit according to one of Claims 1 to 21 wherein the data merging circuit (108) is further configured to provide an exact probability gradient of the process model and / or the measurement model using a generalized inverse of a product, the product comprising a matrix of a process or measurement model parameter and its transpose; and / or using a forward and backward iteration, wherein at least one iteration matrix is factored in the forward iteration and / or wherein at least one iteration matrix is factored in the backward iteration. 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.Process control circuit according to one of Claims 1 to 22 wherein the data merging circuit (108) is further configured to update the state information based on a unified process model parameter, wherein the unified process model parameter represents a plurality of process model parameters of the corresponding process events for which no measurement events are considered. 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.Process control circuit according to one of Claims 1 to 23 wherein the data merging circuit (108) is configured to validate the acquired measurement data based on the accuracy information to determine a model mismatch, and in the case where a mismatch of the model is determined to select a reference model from a plurality of reference models; Recalculate state information based on the selected reference model. 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.Process control circuit according to one of Claims 1 to 24 wherein the data fusion circuit (108) is configured to update the state information based on a state transition matrix formulated as a block diagonal matrix having a plurality of unit blocks and a plurality of non-unit blocks, or transformed into a block diagonal matrix having a plurality of unit blocks and a plurality of nonunit blocks, and wherein a total process update as one Sequence of sub-process updates, each of the sub-process updates taking into account one of the multiple non-unit blocks. 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.Process control circuit according to one of Claims 1 to 25 wherein the data merging circuit (108) is configured to validate the process model and / or the measurement model based on at least one of the following: a normalized prediction error signal; an average value taking into account a plurality of symmetrized normalized prediction errors; a probability signal; and or a probability gradient signal. 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.A method of controlling a processing arrangement, the method comprising: Acquiring process data and measurement data of the processing device, wherein the process data includes a plurality of process event data according to a plurality of process events, and the measurement data includes a plurality of measurement event data according to a plurality of measurement events; Providing state information representing a status of the processing device and accuracy information representing accuracy of the state information; Updating the state information based on the acquired process event data, thereby reducing the accuracy of the state information, and regardless of updating the state information Restoring the previous state of the state information based on the acquired measurement event data, thereby increasing the accuracy of the state information, and Controlling the processing arrangement based on the state information and / or the accuracy information. 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.A non-transitory computer-readable medium having program instructions that, when executed, cause a device to perform control of a processing arrangement comprising: Acquiring process data and measurement data of the processing device, wherein the process data includes a plurality of process event data according to a plurality of process events, and the measurement data includes a plurality of measurement event data according to a plurality of measurement events; Providing state information representing a status of the processing device and accuracy information representing accuracy of the state information; Updating the state information based on the acquired process event data, thereby reducing the accuracy of the state information, and regardless of updating the state information Restoring the previous state of the state information based on the acquired measurement event data, thereby increasing the accuracy of the state information, and Controlling the processing arrangement based on the state information and / or the accuracy information. 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.Using a process control circuit according to one of Claims 1 to 26 in a batch process for making multiple products, each of the multiple products being manufactured through multiple processes.
DE102017111926.4A 2017-05-31 2017-05-31 Process control circuit and method for controlling a processing arrangement Pending DE102017111926A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102017111926.4A DE102017111926A1 (en) 2017-05-31 2017-05-31 Process control circuit and method for controlling a processing arrangement
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 (en) 2017-05-31 2017-05-31 Process control circuit and method for controlling a processing arrangement

Publications (1)

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

Family

ID=64278772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017111926.4A Pending DE102017111926A1 (en) 2017-05-31 2017-05-31 Process control circuit and method for controlling a processing arrangement

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022100379A1 (en) 2022-01-10 2023-07-13 Bayerische Motoren Werke Aktiengesellschaft Method for monitoring a multi-stage manufacturing process of a component using a monitoring system, computer program product and monitoring system

Families Citing this family (9)

* 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
US11178625B2 (en) 2017-06-06 2021-11-16 Supply, Inc. Method and system for wireless power delivery
US10778044B2 (en) * 2018-11-30 2020-09-15 Supply, Inc. Methods and systems for multi-objective optimization and/or wireless power delivery
WO2018226871A1 (en) 2017-06-06 2018-12-13 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
CN109728795B (en) * 2018-12-24 2022-11-18 哈尔滨理工大学 Time-varying event trigger filtering method with data loss under unknown probability condition
US11204758B1 (en) * 2020-08-11 2021-12-21 Oracle International Corporation Computer cloud system with predictive patching
TWI761975B (en) * 2020-09-29 2022-04-21 新加坡商鴻運科股份有限公司 Device and method for monitoring abnormal machine process parameters, and storage medium
WO2022221435A1 (en) 2021-04-14 2022-10-20 Supply, Inc. System and method for wireless power networking

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19902795A1 (en) * 1999-01-15 2000-08-03 Fraunhofer Ges Forschung Quality monitoring in a production with a wide range of products
DE60207588T2 (en) * 2001-09-13 2006-11-30 Advanced Micro Devices, Inc., Sunnyvale STATUS ESTIMATION AND CLASSIFICATION FOR A MANUFACTURING SYSTEM
DE112010000703T5 (en) * 2009-01-23 2013-06-20 Mks Instruments Inc. Controlling a manufacturing process with a multivariate model

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
US7460130B2 (en) * 2000-09-26 2008-12-02 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 (en) * 2006-06-19 2009-02-25 トヨタ自動車株式会社 Vehicle state quantity estimation device and vehicle steering control device using the device
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 (en) * 2012-08-01 2015-08-12 Services Petroliers Schlumberger Assessment, monitoring and control of drilling operations and/or geological-characteristic assessment
US20140214354A1 (en) * 2013-01-28 2014-07-31 Verayo, Inc. System and method of detection and analysis for semiconductor condition prediction
KR101698682B1 (en) * 2015-08-26 2017-01-23 매그나칩 반도체 유한회사 Method and Apparatus of correcting output value of terrestrial magnetism sensor
CA3032812A1 (en) * 2016-08-04 2018-02-08 Reification Inc. Methods for simultaneous localization and mapping (slam) and related apparatus and systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19902795A1 (en) * 1999-01-15 2000-08-03 Fraunhofer Ges Forschung Quality monitoring in a production with a wide range of products
DE60207588T2 (en) * 2001-09-13 2006-11-30 Advanced Micro Devices, Inc., Sunnyvale STATUS ESTIMATION AND CLASSIFICATION FOR A MANUFACTURING SYSTEM
DE112010000703T5 (en) * 2009-01-23 2013-06-20 Mks Instruments Inc. Controlling a manufacturing process with a multivariate model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022100379A1 (en) 2022-01-10 2023-07-13 Bayerische Motoren Werke Aktiengesellschaft Method for monitoring a multi-stage manufacturing process of a component using a monitoring system, computer program product and monitoring system

Also Published As

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

Similar Documents

Publication Publication Date Title
DE102017111926A1 (en) Process control circuit and method for controlling a processing arrangement
DE60307310T2 (en) LIKELY-RESTRICTED OPTIMIZATION FOR CONTROLLING A PRODUCTION LINE
DE60207588T2 (en) STATUS ESTIMATION AND CLASSIFICATION FOR A MANUFACTURING SYSTEM
DE102016109232B4 (en) Sampling method with sampling rate decision scheme and computer program product thereof
DE102007017039B4 (en) Robust process model identification with model-based control techniques
DE60104705T2 (en) IMPROVED CONTROL WITH ADAPTIVE SCANNING METHOD FOR SEMICONDUCTOR MANUFACTURING
DE102008021558A1 (en) Process and system for semiconductor process control and monitoring using PCA models of reduced size
DE102006004411B4 (en) Method and system for measuring data evaluation in semiconductor processing by correlation-based data filtering
DE112007000868T5 (en) Timed moving average filter
DE112006002918T5 (en) Product-related feedback for process control
WO1994015268A2 (en) Method and device for signal analysis, process identification and monitoring of a technical process
DE10311311A1 (en) Calculation of price elasticity
DE112019000739T5 (en) TIME SERIES ACQUISITION FOR ANALYZING AND CORRECTING A SYSTEM STATUS
DE10393394T5 (en) Intelligent integrated lithography control system based on product construction and yield feedback system
DE102009038844A1 (en) Method for estimating a leakage current in a semiconductor device
DE10213285A1 (en) Method of controlling processing device, e.g. photolithographic process in semiconductor manufacture involves predicting current bias correction value from several of the most recent previous correction values
DE102005030586A1 (en) Method and system for advanced process control using measurement uncertainty as control input
CN110826021A (en) Robust identification and output estimation method for nonlinear industrial process
DE112021002866T5 (en) MODEL FAITH MONITORING AND REBUILDING TO SUPPORT DECISIONS OF A MANUFACTURING PROCESS
DE102021127244A1 (en) Artificial intelligence optimization platform
DE102009021781A1 (en) Engine-operating method for calculating an engine-operating map for a vehicle&#39;s control device creates a map with a specified number of nodes while measuring data points to calculate a map value
DE112018008256B3 (en) Method for determining a contribution of one of a plurality of devices to a parameter fingerprint, system and computer program product
DE102019214546B4 (en) Computer-implemented method and apparatus for optimizing an artificial neural network architecture
DE102005004568A1 (en) Calibrated sensor`s measured value observing method for Kalman filter, involves comparing associated and estimated matrixes and rejecting value when comparison does not result in improvement of quality of estimated value of system vector
DE102021200042A1 (en) Device and method for the method of training the neural drift network and the neural diffusion network of a neural stochastic differential equation

Legal Events

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