DE60221790T2 - Verfahren und vorrichtung zur effizienten und genauen filterung und interpolation - Google Patents

Verfahren und vorrichtung zur effizienten und genauen filterung und interpolation Download PDF

Info

Publication number
DE60221790T2
DE60221790T2 DE60221790T DE60221790T DE60221790T2 DE 60221790 T2 DE60221790 T2 DE 60221790T2 DE 60221790 T DE60221790 T DE 60221790T DE 60221790 T DE60221790 T DE 60221790T DE 60221790 T2 DE60221790 T2 DE 60221790T2
Authority
DE
Germany
Prior art keywords
signal
sampling rate
interpolation
output signal
input signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60221790T
Other languages
English (en)
Other versions
DE60221790D1 (de
Inventor
Roberto B. Bethel WIENER
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.)
ASML Holding NV
Original Assignee
ASML Holding NV
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 ASML Holding NV filed Critical ASML Holding NV
Application granted granted Critical
Publication of DE60221790D1 publication Critical patent/DE60221790D1/de
Publication of DE60221790T2 publication Critical patent/DE60221790T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0635Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/065Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer
    • H03H17/0657Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer where the output-delivery frequency is higher than the input sampling frequency, i.e. interpolation
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03FPHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
    • G03F7/00Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
    • G03F7/70Microphotolithographic exposure; Apparatus therefor
    • G03F7/70691Handling of masks or workpieces
    • G03F7/70716Stages
    • G03F7/70725Stages control
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0233Measures concerning the signal representation
    • H03H17/0235Measures concerning the signal representation reducing the wordlength of signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing

Description

  • Die vorliegende Erfindung betrifft Signalverarbeitung. Insbesondere betrifft die vorliegende Erfindung effiziente und genaue Filterungs- und Interpolationstechniken für diskrete Zeiteingangssignale.
  • Stand der Technik
  • Viele industrielle Prozesse beinhalten eine Bewegung entlang Bewegungsbahnen, die durch präzise Positionen zu spezifischen Zeitpunkten bestimmt sind. Photolithographie ist ein Beispiel eines derartigen Prozesses. In einem Photolithographieprozess projiziert eine Beleuchtungsquelle einen Beleuchtungsstrahl. Der Strahl passiert eine Maske oder wird von dieser reflektiert, um die Übertragung eines Maskenbildes von der Maske auf ein Substrat, wie z.B. einen Halbleiter-Wafer, zu ermöglichen.
  • Scantechniken werden in Photolithographieprozessen angewendet, um ein Maskenbild auf ein Substrat zu projizieren. Diese Scantechniken beinhalten die Bewegung einer Maske über einem Beleuchtungsschlitz, um die Abbildung des Maskenbildes auf einem Substrat zu ermöglichen, das sich gleichzeitig bewegt. Masken und Substrate sind auf Arbeitstischen angeordnet, die sich in einer oder mehreren Dimensionen bewegen können.
  • Um eine genaue Bewegung in derartigen Prozessen bereitzustellen, sind automatisierte Befehls- und Steuersysteme erforderlich. Diese Befehls- und Steuersysteme verwenden oft Signalverarbeitungstechniken, um diese Prozesse zu steuern. Jedoch können Signalverarbeitungstechniken rechnerisch aufwändig und langsam sein. Zusätzlich können Verarbeitungsplattformen, wie z.B. Mikrocontroller, welche derartige Techniken implementierten, unannehmbare Rechenfehler mit sich bringen. Demzufolge besteht ein Bedarf für Signalverarbeitungstechniken für derartige Systeme, welche minimale Rechenfehler mit sich bringen, eine minimale Anzahl von Verarbeitungsoperationen erfordern, und mit minimalem Zeitaufwand ablaufen.
  • EP 0 820 145 beschreibt eine Operation zum Interpolieren diskreter Zeitsignale. Der Symmetrieaspekt der Impulsantwortkoeffizienten wird ausgenutzt, um die Komplexität des Interpolators zu reduzieren. Indem eine Vielzahl von Interpolationspunkten ausgewählt wird, wovon jeder in der Zeit um einen gleichen Betrag von einem zentralen Bezugspunkt verschoben ist, kann die Berechnung interpolierter Signalabtastwerte, die den Interpolationspunkten entsprechen, erheblich durch die Nutzung einer relativen Symmetrie der Impulsantwortkoeffizienten in Verbindung mit den entsprechenden Interpolationspunkten reduziert werden.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung ist auf effiziente und genaue Interpolationstechniken gerichtet. Die vorliegende Erfindung stellt ein Verfahren zur Interpolation eines diskreten Eingangssignals mit einer ersten Abtastrate in ein diskretes Ausgangssignal mit einer zweiten Abtastrate bereit, wobei das Verfahren die in Anspruch 1 beschriebenen Schritte aufweist. Die vorliegende Erfindung stellt auch ein System zur Interpolation mit den Merkmalen des Anspruches 8 bereit.
  • Dieses Verfahren beinhaltet die Auswahl einer Vielzahl von Eingangssignalwerten aus dem Eingangssignal, wobei jeder ausgewählte Eingangssignalwert einem bestimmten Zeitinkrement bei der ersten Abtastrate entspricht; und die Erzeugung eines Ausgangssignalwertes bei einem mit der zweiten Abtastrate auftretenden Zeitinkrement. Der Schritt der Erzeugung des Ausgangssignalwertes beinhaltet die Berechnung eines Skalarproduktes der Vielzahl von Eingangsignalwerten und einer entsprechenden Vielzahl von Filterantwortfunktionswerten, und die Summierung des Skalarproduktes mit einem früheren Zeitinkrement-Ausgangssignalwert.
  • Der Erzeugungsschritt kann für mehrere bei derselben Abtastrate auftretende Zeitinkremente wiederholt werden. Diese Wiederholung erzeugt einen entsprechenden Satz von diskreten Ausgangssignalwerten.
  • Die vorliegende Erfindung ermöglicht in vorteilhafter Weise die Durchführung von Interpolations- und Filterungsfunktionen mit einer minimalen Anzahl von Prozessoroperationen. Ferner erzeugt die vorliegende Erfindung in vorteilhafter Weise genaue Signalver arbeitungsergebnisse. Diese Techniken sind in vielen unterschiedlichen Anwendungen, wie z.B. einer Prozesssteuerung, anwendbar.
  • Kurzbeschreibung der Figuren
  • Die beigefügten Zeichnungen, welche hierin einbezogen sind und einen Teil der Beschreibung bilden, veranschaulichen die vorliegende Erfindung, und dienen zusammen mit der Beschreibung ferner zur Erläuterung der Prinzipien der Erfindung und dazu, einem Fachmann auf dem diesbezüglichen Gebiet die Ausführung und Nutzung der Erfindung zu ermöglichen. In den Zeichnungen bezeichnen gleiche Bezugszeichen identische oder funktionell ähnliche Elemente. Zusätzlich geben die am weitesten links stehenden Ziffern einer Bezugszahl die Zeichnung an, in welcher die Bezugszahl zum ersten Mai auftritt.
  • 1 ist eine Blockdarstellung einer exemplarischen Betriebsumgebung;
  • 2 ist eine Darstellung, welche einen exemplarischen Zustandssignalssatz 108 darstellt;
  • 3 ist eine Blockdarstellung einer Profilausführer-Implementation;
  • 4 ist eine Blockdarstellung eines Filters, das eine Delta-Verarbeitung verwendet;
  • 5 ist eine Blockdarstellung einer Interpolationskomponente, die eine Delta-Verarbeitung verwendet;
  • 6 ist ein Flussdiagramm, das eine Operation einer effizienten Verarbeitungstechnik darstellt;
  • 7 ist eins graphische Darstellung, welche ein Beschleunigungsausgangssignal darstellt;
  • 814 sind graphische Darstellungen, welche verschiedene Filterantworten darstellen;
  • 15 ist eine Blockdarstellung eines Steuersystems;
  • 16A und 16B sind graphische Darstellungen, welche ein exemplarisches Rechtecksignal darstellen;
  • 17 ist ein Flussdiagramm, das eine eine effiziente Interpolation und Filterung beinhaltende Operationssequenz darstellt;
  • 18 ist eine graphische Darstellung, welche ein Rampenfunktion bei einer niedrigen Taktrate darstellt, die aufwärtsabgetastet worden ist; und
  • 19 ist eine Blockdarstellung eines exemplarischen Computersystems.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen.
  • I. Betriebsumgebung
  • Vor einer Beschreibung der Erfindung im Detail ist es nützlich, eine Beispielumgebung zu beschreiben, in welcher die Erfindung implementiert werden kann. Da die Erfindung auf Signalverarbeitungstechniken gerichtet ist, ist sie besonders in Photolithographieanwendungen, wie z.B. Profilplanung und der Befehlsausgabe und Steuerung von Lithographie-Scanprozessen, nützlich. 1 stellt eine derartige Umgebung dar.
  • 1 ist eine Blockdarstellung einer exemplarischen Betriebsumgebung 100. Die Betriebsumgebung 100 enthält einen Profilplaner 102, einen Profilausführer 104 und ein Steuersystem 106. Der Profilplaner 102 legt Vorrichtungsbahnen gemäß Benutzerspezifizierten Anforderungen fest. Dieser Auslegungsprozess führt zu der Erzeugung eines Zustandssignalsatzes 108, der eine Bahn für eine Vorrichtung, wie z.B. eine Scanbahn für einen Substrattisch oder einen Maskentisch in einem Photolithographiewerkzeug definiert. Der Profilplaner 102 ist als ein Computerprogrammprodukt implementiert, das von einem Computer mit doppelter Genauigkeit ausgeführt wird. Der Profilplaner 102 kann jedoch auch in Hardware und/oder Firmware implementiert sein. Der Profilplaner 102 legt diese Bahnen in einem Off-line-Prozess fest. Somit wird in dem Falle von Lithographie ein Zustandssignalsatz 108 vor dem Beginn von Substrattisch- oder Masken-Scanoperationen erzeugt.
  • Der Zustandssignalsatz 108 definiert mehrere Konstantbeschleunigungszustände, welche die Bewegung einer Vorrichtung, wie z.B. eines Substrattisches oder eines Maskentisches steuern, die in dem Steuersystem 106 enthalten sind. Der Zustandsignalsatz 108 enthält ein Positionszustandssignal 110, ein Geschwindigkeitszustandssignal 112 und ein Beschleunigungszustandssignal 114, welche nachstehend in Verbindung mit 2 beschrieben werden. Für jeden Konstantbeschleunigungszustand haben die Zustandssignale 110, 112 und 114 entsprechende Werte. Diese Konstantbeschleunigungswerte existieren für Intervalle mit variabler Länge, welche ganzzahlige Vielfache einer langsamen Taktperiode sind. Diese Zustandssignale haben Werte, die in nicht-gleichabständigen Zeitintervallen angeordnet sind. Diese Zeitintervalle sind ganzzahlige Vielfache einer langsamen Taktperiode, wie z.B. eine Millisekunde.
  • 2 ist eine Darstellung, welche einen exemplarischen Zustandssignalsatz 108 darstellt. Wie vorstehend beschrieben, beinhaltet der Zustandsignalsatz 108 das Positionszustandssignal 110, das Geschwindigkeitszustandssignal 112 und das Beschleunigungszustandssignal 114. Diese durch den Profilplaner 102 erzeugten Zustandssignale definieren eine Bewegung in nur einer Dimension für eine Vorrichtung, wie z.B. einen Substrattisch oder einen Maskentisch.
  • Beziehungen zwischen diesen Signalen können ausgedrückt werden als P = Pi + 1/2At2 + Vit und V = Vi + At. In diesen Ausdrücken, in welchen Pi ein Positionszustandssignal 110 repräsentiert, präsentiert P ein Positionssignal (nachstehend unter Bezugnahme auf 3 als Signal 350 beschrieben), A repräsentiert ein Beschleunigungszustandssignal 114, Vi repräsentiert ein Geschwindigkeitszustandssignal 112 und V repräsentiert ein (ein in der nachstehend unter Bezugnahme auf 3 beschriebenen Vorverarbeitungskomponente 340 verwendetes) Geschwindigkeitssignal. Gemäß Darstellung in 2 ist das Positionszustandssignal 110 eine nicht-gleichabständig abgetastete Kurve zweiter Ordnung. Demzufolge ist das Geschwindigkeitszustandssignal 112 ein nicht-gleichabständig abgetastetes Trapezsignal.
  • Das Beschleunigungszustandssignal 114 enthält eine Reihe von quadratischen und/oder rechteckigen Impulsen, die jede Amplitude und Breite aufweisen können. Diese Impulse entsprechen Übergängen in den Werten des Geschwindigkeitszustandssignals 112. An den ansteigenden und fallenden Flanken dieser Impulse weist das Beschleunigungszustandssignal 114 eine erste Ableitung in Bezug auf die Zeit auf, die groß ist. Diese erste Ableitung wird hierin als (nicht dargestellter) "Stoß" bezeichnet. Da diese ansteigenden und fallenden Flanken quadratische und/oder rechteckige Impulse erzeugen, hat das Beschleunigungszustandssignal 114 Stoßwerte, die unendlich sind (d.h., (Dirac-)Delta-Funktionen).
  • Gemäß Darstellung in 2 ändern sich die Werte des Geschwindigkeitszustandssignals 112 und des Beschleunigungszustandssignals 114 nur bei durch den Profilplaner 102 definierten spezifischen Zeitpunkten. Somit werden, statt dass sie durch Sätze von Abtastwerten die zeitlich gleichmäßig verteilt sind, repräsentiert werden, diese Signale durch Werte repräsentiert, die spezifischen Zeitmomenten entsprechen, wenn sich das Beschleunigungszustandssignal 114 ändert. Wie vorstehend beschrieben, sind diese Momente durch Zeitintervalle getrennt, die ganzzahlige Vielfache der langsamen Taktperiode sind.
  • Gemäß nochmaligem Bezug auf 1 empfängt der Profilausführer 104 einen Zustandssignalsatz 108 aus dem Profilplaner 102 und wandelt diese Signale in einen Ausgangssignalsatz 116 um. Der Ausgangssignalsatz 116 enthält ein Echtzeit-Positionssignal und ein Echtzeit-Beschleunigungsausgangssignal. Diese (detaillierter unter Bezugnahme auf die 3 und 4 beschriebenen) Ausgangssignale entsprechen dem Zustandssignalsatz 108, sind aber diskrete Zeittaktsignale, welche bei einer festen schnellen Taktrate auftreten. Eine exemplarische schnelle Taktrate ist 16 kHz. Diskrete Signale, die bei dieser schnellen Taktrate auftreten, haben Werte, die in Zeitintervallen von etwa 0,0625 Millisekunden angeordnet sind. Der Prozess der Erhöhung der Taktrate eines diskreten Zeitsignals wird hierin als Interpolation bezeichnet. Der Profilausführer 104 sendet den Ausgangssignalsatz 116 an das Steuersystem 106.
  • Bei der Erzeugung des Ausgangssignalsatzes 116 filtert der Profilausführer 104 die Zustandssignale des Zustandssignalsatzes 108, um einen übergroßen Stoß zu reduzieren, wie z.B. die vorstehend unter Bezugnahme auf 2 beschriebenen. Dadurch vermei det der Profilausführer 104 durch Filterung die Erregung bestimmter Resonanzen in dem Steuersystem 106 und erzeugt diskrete Zeitsignale bei der schnellen Taktrate. Da diese schnelle Taktrate höher als die dem Zustandssignalsatz 108 zugeordnete langsame Taktrate ist, führt der Profilausführer 104 eine Filterung und Interpolation der Zustandssignale durch, um ein Ausgangssignal 116 zu erzeugen.
  • Das Ausgangssignal 116 enthält ein Positionsausgangssignal 118 und ein Beschleunigungsausgangssignal 120. Wie die Zustandssignale 110114 sind diese Signale diskrete Signale. Jedoch haben anders als die Zustandssignale 110114 das Positionsausgangsgeschwindigkeitssignal 118 und das Beschleunigungsausgangssignal 120 Werte, die in gleichmäßigen Zeitintervallen in Abstand angeordnet sind. Diese gleichmäßigen Zeitintervalle sind gleich einer Periode der vorstehend beschriebenen schnellen Taktrate.
  • Der Profilausführer 104 ist als ein Computerprogrammprodukt implementiert, das durch einen arithmetischen Mikrocontroller mit fester Genauigkeit, wie z.B. SHARC® ADSP-21062, hergestellt von Analog Devices, Inc. of Norwood, Massachusetts ausgeführt wird.
  • 3 ist eine Blockdarstellung einer Implementation 300 eines Profilausführers 104. Die Implementation 300 enthält eine Zustandssignalschnittsteile 302, eine Ausgangssignalschnittstelle 304, einen langsamen Taktabschnitt 306 und einen schnellen Taktabschnitt 308. Die Zustandssignalschnittstelle 302 empfängt einen Zustandssignalsatz 108 aus dem Profilplaner 102. Die Ausgangssignalschnittstelle 304 sendet einen Ausgangssignalsatz 116 an das Steuersystem 106.
  • Die langsamen und schnellen Taktabschnitte 306 und 308 überbrücken ein Beschleunigungssignalpfad 312 und ein Positionssignaipfad 314. Der Beschleunigungssignalpfad 312 empfängt ein Beschleunigungszustandssignal 114 aus der Zustandssignalschnittstelle 302 und erzeugt ein Beschleunigungsausgangssignal 120. Der Positionssignalpfad 314 empfängt Zustandssignale 110, 112 und 114 (d.h., einen Zustandssignalsatz 108) aus der Zustandssignalschnittstelle 302. Auf der Basis dieser empfangenen Signale erzeugt der Positionssignalpfad 314 ein Positionsausgangssignal 118.
  • Sowohl der Beschleunigungssignalpfad 312 als auch der Positionssignalpfad 314 enthaiten eine Vielzahl von Signalverarbeitungselementen. Diese Elemente führen Operationen, wie z.B. Filterung, Aufwärtsabtastung und Signalverzögerung, durch. Diese Elemente können als Softwarefunktionen implementiert werden, die zur Ausführung durch einen Mikrocontroller, wie z.B. SHARC® ADSP-21062, hergestellt von Analog Devices, Inc. of Norwood, Massachusetts, geschrieben sind, oder durch irgendeine andere geeignete Verarbeitungsplattform, wie es für den Fachmann auf dem Gebiet ersichtlich ist.
  • Neben anderen Funktionen führen diese Elemente eine Interpolation und Filterung der Eingangszustandssignale durch. Für die Signalpfade 312 und 314 führt diese Interpolation zu Ausgangssignalen 118 und 120 mit derselben Taktrate.
  • Der Positionssignalpfad 314 beinhaltet eine Vorverarbeitungskomponente 340, ein Vorinterpolationsfilter 342, eine Interpolationskomponente 344 und eine Zeitverzögerungskomponente 346. Wie vorstehend beschrieben, empfängt der Positionssignalpfad 314 einen Zustandssignalsatz 108 und erzeugt ein Positionsausgangssignal 118.
  • Die Vorverarbeitungskomponente 340 empfängt das Positionszustandssignal 110, das Geschwindigkeitszustandssignal 112 und das Beschleunigungszustandssignal 114. Diese Signale werden verarbeitet, um ein integriertes Positionssignal 350 zu erzeugen, welches sich bei der niedrigen Taktrate befindet. Das integrierte Positionssignal 350 basiert auf dem Beschleunigungszustandssignal 114, dem Geschwindigkeitszustandssignal 112 und Positionszustandssignal 110. Um das integrierte Positionssignal 350 zu erzeugen, führt die Vorverarbeitungskomponente 340 eine diskrete Zeitintegrationsoperation aus, welche durch die nachstehende Gleichung (1-1) ausgedrückt wird: Pn = Pi + nT·[Vi + (nT·A/2)] (1-1)
  • In der Gleichung (1-1) stellt Pn das integrierte Positionssignal 350 dar. Pi präsentiert das Positionszustandssignal 110, Vi repräsentiert ein Geschwindigkeitssignal 112, n ist eine ganze Zahl, die eine Abtastzeit bei der langsamen Taktrate repräsentiert, T ist die langsame Taktperiode und A repräsentiert das Beschleunigungszustandssignal 114.
  • Das Vorinterpolationsfilter 342 empfängt das Positionszustandssignal 110 und das integrierte Positionssignal 350. Das Vorinterpolationsfilter 342 verarbeitet diese Signale, um ein gefiltertes Positionssignal 352 zu erzeugen. Durch die Erzeugung des gebildeten Positionssignals 352 filtert das Vorinterpolationsfilter 342 das integrierte Positionssignal 350, um den Frequenzanteil des Signals 352 zu begrenzen, bevor es an die Interpolationskomponente 344 gesendet wird. Das Vorinterpolationsfilter 342 verwendet eine (FIR – Finite Impulse Response) Filterungstechnik mit endlicher Impulsantwort, die bei der langsamen Taktrate abläuft. Jedoch können Vorinterpolationsfilter 342 andere Arten diskreter Zeitfilterungstechniken, wie z.B. eine (IIR-Infinite Impulse Response) Filterung mit unendlicher Impulsantwort, anwenden.
  • Die Interpolationskomponente 344 empfängt das gefilterte Positionssignal 352 und das Positionszustandssignal 110. Nach dem Empfang dieser Signale führt die Interpolationskomponente 344 zwei Funktionen aus. Die erste Interpolationskomponente 344 führt eine Aufwärtsabtastungsoperation aus, um ein Signal zu erzeugen, das sich bei der schnellen Taktrate befindet. Diese Aufwärtsabtastungsoperation beinhaltet die Einfügung von L – 1 Nullen zwischen jedem Abtastwert.
  • Die zweite Interpolationskomponente 344 führt eine Filterungsoperation an den aufwärtsabgetasteten Signalen durch. Diese Filterungsoperation verhindert, dass Hochfrequenzresonanzkomponenten durch die Aufwärtsabtastfunktion eingeführt werden. Die Filterung wird mittels einer Tiefpass-FIR-Filterungsoperation durchgeführt. Jedoch können auch andere Arten von Filterung, wie z.B. IIR-Filterung, angewendet werden. Zusammen werden diese Aufwärtsabtast- und Filterungsoperationen hierin als Interpolation bezeichnet. Das Ergebnis dieser Interpolationsoperation führt zu einem interpolierten Signal 354, welches an die Zeitverzögerungskomponente 346 gesendet wird.
  • Sowohl das Vorinterpolationsfilter 342 als auch die Interpolationskomponente 344 verwenden "Delta-Verarbeitungs"-Techniken, um die Genauigkeit der Filterungs- und Interpolationsoperationen zu erhöhen, die sie durchführen. Diese Delta-Verarbeitungstechniken werden nachstehend detaillierter unter Bezugnahme auf die 4 und 5 beschrieben.
  • Die Zeitverzögerungskomponente 346 empfängt das interpolierte Signal 354. Diese Komponente arbeitet bei der schnellen Taktrate und ermöglicht eine Anpassung der Durchlaufzeit und der Phase des Positionssignalpfades 314. Die Zeitverzögerungskomponente 346 erzeugt ein Positionsausgangssignal 118 und sendet es an die Ausgangssignalschnittstelle 304.
  • Die Beschreibung wendet sich nun dem Beschleunigungssignalpfad 312 zu. Der Beschleunigungssignalpfad enthält eine Interpolationskomponente 320 und eine Zeitverzögerungskomponente 322. Der Beschleunigungssignalpfad 312 empfängt das Beschleunigungszustandssignal 114 aus der Zustandssignalschnittstelle 302 und erzeugt ein Beschleunigungsausgangssignal 120.
  • Die Interpolationskomponente 320 führt wie die Interpolationskomponente 344 zwei Funktionen aus. Zuerst führt die Interpolationskomponente 320 eine Aufwärtsabtastung an dem Beschleunigungszustandssignal 114 mit einer Interpolationsrate von L durch. Zweitens führt die Interpolationskomponente 320 eine Filterungsoperation an diesen aufwärtsabgetasteten Daten aus. Diese FIR-Filterungsoperation verhindert, dass Hochfrequenzresonanzkomponenten aus der Aufwärtsabtastfunktion eingeführt werden. Als Ergebnis dieser Funktionen erzeugt die Interpolationskomponente 320 ein interpoliertes Beschleunigungssignal 330, das an die Zeitverzögerungskomponente 322 übergeben wird.
  • Die Zeitverzögerungskomponente 322 empfängt das interpolierte Beschleunigungssignal 330 und ermöglicht eine Anpassung der Durchlaufzeit und Phase des Beschleunigungssignalpfades 312. Durch Einführen derartiger Verzögerungen erzeugt die Zeitverzögerungskomponente 322 das Beschleunigungsausgangssignal 120, welches an die Ausgangsschnittstelle 304 gesendet wird.
  • II. Delta-Verarbeitung
  • Elemente des Profilausführers 104, wie z.B. das Filter, 342 und die Interpolationskomponente 344 verwenden ein Delta-Verarbeitungsmerkmal. Dieses Merkmal verringert Rechenfehler in den Ausgangssignalen, wie z.B. dem Positionsausgangssignal 118. Delta-Verarbeitung beinhaltet die Subtraktion eines Positionszustandssignals 110 von zeitlich variierenden Signalen, die eine Absolutposition repräsentieren. Diese Subtraktion führt zu "Delta-Signalen", die einen kleineren dynamischen Bereich als die entsprechenden Signale haben, die eine absolute Position repräsentieren.
  • 4 ist eine Blockdarstellung, welche eine Implementation 400 des Filters 342 darstellt, das eine Delta-Verarbeitung verwendet. Die Implementation 400 enthält ein Absolutpositions-Array 402, ein FIR-Koeffizienten-Array 404, einen ersten Skalarsummenknoten 406, einen Vektorproduktknoten 408, einen Vektorsummenknoten 410, eine zweiten Skalarsummenknoten 412 und ein Verzögerungsmodul 414.
  • Das Absolutpositions-Array 402 nimmt ein Eingangssignal 428 (d.h., ein integriertes Positionssignal 350) aus der Vorverarbeitungskomponente 340 auf. Das Absolutpositions-Array 402 verarbeitet das integrierte Positionssignal 350, um einen parallelen Positionssignalsatz 430 bereitzustellen. Der parallele Positionssignalsatz 430 enthält eine Vielzahl von diskreten Zeitsignalen. Für jeden von diesen diskreten Zeitschritten enthalten diese Signale eine Vielzahl von zusammenhängenden Werten, die aus dem Signal 350 ausgewählt sind. Somit sendet das Absolutpositions-Array 402 mittels des parallelen Positionssignalsatzes 430 gleichzeitig an dem Skalarsummenknoten 406 eine Vielzahl von zusammenhängenden Werten aus dem Signal 350.
  • Der Skalarsummenknoten 406 empfängt den parallelen Positionssignalsatz 430 und das Positionszustandssignal 110. Der Skalarsummenknoten 406 subtrahiert das Positionszustandssignal 110 von jedem der Signale in dem Parallelsignalsatz 430. Diese Subtraktion erzeugt einen parallelen Deltasignalsatz 432, welcher an den Vektorproduktknoten 408 gesendet wird. Der Signalsatz 432 hat einen Delta-Größenmaßstab. Dieser Maßstab ist kleiner als der Absolutgrößenmaßstab des Signalsatzes 430.
  • Der Vektorproduktknoten 408 führt eine Element-für-Element-Multiplikation an dem parallelen Delta-Signalsatz 432 und einer Vielzahl von FIR-Filterkoeffizienten aus, die in dem FIR-Koeffizienten-Array 404 gespeichert sind. Diese Multiplikation erzeugt einen Parallelprodukt-Signalsatz 434, welcher an den Vektorsummenknoten 410 gesendet wird.
  • Der Vektorsummenknoten 410 summiert jedes von den Signalen in dem Parallelprodukt-Signalsatz 434. Diese Summation führt zu einem einzigen (d.h., einem skalaren) delta-gefilterten Signal 434.
  • Der Skalarsummenknoten 412 empfängt das delta-gefilterte Signal 436 und ein verzögertes Positionszustandssignal 438. Das verzögerte Positionszustandssignal 438 ist das Positionszustandssignal 110, das um eine vorbestimmte Verzögerungszeit durch das Verzögerungsmodul 414 verzögert ist. Diese vorbestimmte Zeitverzögerung gleicht die Laufzeitverzögerungen in Verbindung mit der vorstehend beschriebenen Übertragung der Signale zwischen den Summenknoten 406 und 412 aus.
  • Der Maßstabsummenknoten 412 addiert das delta-gefilterte Signal 436 und das verzögerte Positionszustandssignal 438, um dadurch ein gefiltertes Positionssignal 352 zu erzeugen. Diese Addition bringt das gefilterte Signal 436 von einem Delta-Maßstab zu einem Absolutmaßstab zurück. Wie hierin beschrieben, wird das gefilterte Positionssignal 352 an eine Interpolationskomponente 344 gesendet.
  • Der Delta-Verarbeitungsansatz der Implementation 400 ermöglicht dem Filter 342 durch Berechnungen (d.h., Summierungen und Multiplikationen), in Verbindung mit Filteroperationen eingeführte Rundungsfehler zu minimieren. Diese Fehlerminimierung wird durch die Subtraktion des Positionszustandssignals 110 von dem parallelen Positionssignalsatz 430 bei dem Skalarsummenknoten 406 erzielt. Diese Subtraktion führt zu dem Signalsatz 432, welcher eine geringere Größe als der Signalsatz 430 hat.
  • In Festgenauigkeits-Verarbeitungsumgebungen sind Rundungsfehler aufgrund numerischer Festgenauigkeitsdarstellungen eine direkte Funktion der Größe der Eingangssignale. Durch Reduzierung der Größe der Eingangssignale wie in dem parallelen Delta-Signalsatz 432 werden die bei den Knoten 408 und 410 durchgeführten Berechnungen minimiert. Diese Minimierung führt zu einem Ausgangssignal 440 (d.h., gefilterten Positionssignalen 352), das kleinere Fehler aufweist.
  • 5 ist eine Blockdarstellung, die eine Implementation 500 der Interpolationskomponente 344 darstellt. Die Implementation 500 ist der Implementation 400 ähnlich. Jedoch enthält die Implementation 500 ein Aufwärtsabtastmodul 502, das die Abtastrate eines Eingangssignals 520 (d.h., des gefilterten Positionssignals 352) erhöht, und dadurch ein aufwärtsabgetastetes Signal 522 erzeugt, welches an ein Absolutpositions-Array 402 gesendet wird. Die Implementation 500 empfängt auch ein Positionszustandssignal 110, um das Delta-Verarbeitungsmerkmal der Implementation 400 zu verwenden, die vorstehend unter Bezugnahme auf 4 beschrieben ist. Somit erzeugt die durch die Implementation 500 verwendete Delta-Verarbeitungstechnik wie die Implementation 400 ein Ausgangssignal 524 (d.h., das interpolierte Signal 354), das kleinere Fehler besitzt.
  • Somit beinhaltet die vorliegende Erfindung eine Technik zum effizienten Verarbeiten eines diskreten Zeiteingangssignals p(n) mit einer ersten Taktrate in diskrete Zeitausgangssignale mit einer zweiten Taktrate. Diese Technik minimiert Berechnungsfehler.
  • 6 ist ein Flussdiagramm, das eine Operation dieser effizienten Verarbeitungstechnik darstellt. Diese Operation beginnt mit einem Schritt 602. Im Schritt 602 wird das Eingangssignal delta-gefiltert, um ein Zwischensignal mit der ersten Taktrate zu erzeugen. Unter Verwendung der Implementation 300 des Profilausführers 104 als Beispiel führt das Filter 342 den Schritt 602 aus. Somit ist in diesem Beispiel das Eingangssignal das Positionssignal 350 und das Zwischensignal das gefilterte Positionssignal 352.
  • Der Schritt 602 beinhaltet den Schritt der Berechnung eines Eingangs-Delta-Signals, d(n), gemäß d(n) = p(n) – pi, wobei pi ein Anfangswert von p(n) ist. Gemäß Bezugnahme auf die Implementation 400 des Filters 342 ist pi ein Positionszustandssignal 110 und diese Berechnung wird durch den Skalarsummenknoten 406 ausgeführt Der Schritt 602 enthält ferner die Schritte der Erzeugung eines gefilterten Delta-Signals f(n) aus d(n) und die Addition von pi auf fn, um dadurch das Zwischensignal zu erzeugen. Das delta-gefilterte Signal 436 erzeugt ein exemplarisches f(n).
  • Anschließend wird in einem Schritt 604 das Zwischensignal delta-interpoliert, um das Ausgangssignal zu erzeugen. Wiederum führt, unter Verwendung des Profilausführers 104 als Beispiel, die Interpolationskomponente 344 den Schritt 604 aus. Somit ist in diesem Beispiel das Ausgangssignal das interpolierte Signal 354.
  • Der Schritt 604 beinhaltet den Schritt der Aufwärtsabtastung des Zwischensignals auf die zweite Taktrate. Das Aufwärtsabtastmodul 502 stellt ein exemplarisches Verhalten dieses Schrittes bereit, wobei das aufwärtsabgetastete Signal 522 ein Beispiel des aufwärtsabgetasteten Zwischensignals ist. Der Schritt 604 beinhaltet auch die Schritte der Berechnung eines aufwärtsabgetasteten Zwischen-Delta-Signals, u(n) gemäß u(n) = i(n) – pi, wobei i(n) das aufwärtsabgetastete Zwischensignal und pi ein Anfangswert von p(n) ist. Gemäß Bezugnahme auf die Implementation 500 des Interpolationsmoduls 344 liefert das Positionszustandssignal 110 ein Beispiel von pi, und der parallelen Delta-Signalsatz 432 liefert ein Beispiel von u(n).
  • Zusätzlich beinhaltet der Schritt 604 die Erzeugung eines gefilterten Zischen-Delta-Signals g(n) aus u(n). Gemäß Bezugnahme auf die Implementation 500 der Interpolationskomponente 344 ist das gefilterte Signal 436 ein Beispiel von g(n). Der Schritt 604 beinhaltet auch die Addition von pi auf g(n), um dadurch das Ausgangssignal zu erzeugen. Wie vorstehend beschrieben, ist das interpolierte Signal 354 ein exemplarisches Ausgangssignal.
  • III. Phasenausgleich
  • Der Profilausführer 104 hat die Flexibilität, das Beschleunigungsausgangssignal 120 und Positionsausgangssignal 118 entweder phasengleich oder phasenverschoben, wie für ein besseres Verhalten gewünscht, zu erzeugen. Die gesamte Phasenverzögerung jedes Pfades kann unter Verwendung von Zeitverzögerungen kompensiert werden, welche durch Zeitverzögerungskomponenten 322 und 346 eingeführt werden. Diese Phasenverzögerungen werden nachstehend quantitativ in den Gleichungen (2-1) und (2-2) ausgedrückt. Die Gleichung (2-1) stellt die Phasenverzögerung für den Beschleunigungssignalpfad 312 dar. Die Gleichung (2-2) stellt die Phasenverzögerung für den Positionssignalpfad 314 dar.
  • Figure 00140001
  • Für die Gleichungen (2-1) und (2-2) ist:
  • TDA
    die Durchlaufverzögerung des Beschleunigungssignalpfades 312;
    ST
    die langsame Taktratenperiode;
    TFIRPS
    die Anzahl der Abgriffe im Filter 342;
    TDP
    die Durchlaufverzögerung des Positionssignalpfades 314;
    FT
    die schnelle Taktratenperiode;
    Teq
    die Anzahl von Abgriffen in den in der Interpolationskomponente 344 verwendeten Filtern; und
    TFIFAS
    die Anzahl der Abgriffe in dem durch Interpolationskomponente 320 verwendeten Filter.
  • Die Gleichung (2-2) enthält eine zusätzliche Zeitverzögerung einer langsamen Taktratenperiode, ST. Dieser Term ist enthalten, um den vorstehend beschriebenen zweistufigen doppelten Integrationsprozess zu berücksichtigen, der ein Korrektursignal erzeugt.
  • 7 ist eine graphische Darstellung, welche ein Beschleunigungsausgangssignal 120 darstellt. Dieses Ausgangssignal wird durch den Profilausführer 104 aus dem Zustandssignalsatz 108 wie hierin unter Bezugnahme auf 2 beschrieben, erzeugt.
  • Wie hierin unter Bezugnahme auf die 13 beschrieben, erzeugt der Profilausführer 104 einen Ausgangssignalsatz 116, der ein Positionsausgangssignal 118 und ein Beschleunigungsausgangssignal 120 beinhaltet. Dieser Signalsatz definiert eine Bewegung in nur einer Achse. Vorrichtungen, wie z.B. Substrat- und Maskentische, sind in der Lage, eine mehrdimensionale (z.B. 3-D) Bewegung auszuführen. Für derartige Vorrichtungen werden ein Profilplaner 102, ein Profilausführer 104 und ein Steuersystem 106 für jede Dimension verwendet, in welcher eine Bewegung zu steuern ist.
  • IV. Filterungstechniken
  • Wie hierin unter Bezugnahme auf die 35 beschrieben, beinhaltet der Profilausführer 104 eine Filterungsfunktionalität. Diese Funktionalität kann mit diskreten Zeit-FIR-Filtern implementiert werden. Ein FIR-Filter ist ein Filter mit einer Impulsantwortfunktion endlicher Dauer. Diese diskreten Zeitfilter können auch als IIR-Filter mit unendlicher Impulsantwort implementiert werden. Im Gegensatz zu FIR-Filtern haben IIR-Filter Impulsantwortfunktionen unendlicher Dauer.
  • Die von den Interpolationskomponenten 320 und 344 durchgeführten Aufwärtsabtastfunktionen sind nicht-linear. Aufgrund dieser Nichtlinearitäten sind die von diesen Interpolationskomponenten durchgeführten Filterungseigenschaften kritisch. Wie vorstehend beschrieben, empfangen diese Komponenten Eingangssignale bei der niedrigen Taktrate und geben entsprechend rekonstruierte Signale bei der schnellen Taktrate aus. Sofern keine geeigneten Filterungstechniken angewendet werden, können die Nichtlinearitäten in Verbindung mit einer derartigen Rekonstruktion Störungen in die Signalpfade 312 und 314 einführen.
  • Die Interpolationskomponenten 320 und 344 können verschiedene Filterungsauslegungen anwenden. Eine derartige Auslegung ist ein Linearphasen-FIR-Filterungsansatz, der eine ideale bandbegrenzte Interpolation unter Verwendung der nächst liegenden Nicht-Null-Abtastwerte durchführt, wenn er bei einer Sequenz ausgeführt wird, welche mit L – 1 aufeinander folgenden Nullen bei jeweils L Abtastwerten verschachtelt ist. Er nimmt eine ursprüngliche Bandbegrenztheit von α (0 < α ≤ 1) mal der Nyquist-Frequenz an.
  • Ein Typ einer Interpolationsfilterauslegung ist ein FIR-Filterungsansatz, der eine Lagrange-Polynom-Interpolation n-ter Ordnung an einer Sequenz ausführt, die mit L – 1 aufeinander folgenden Nullen bei jedem L Abtastwert verschachtelt ist. Diese Filterungstechnik hat eine Länge (n + 1)·L für geradzahliges n und eine Länge (n + 1)·L – 1 für ungeradzahliges n, wobei n die Anzahl der zur Durchführung der Interpolation verwendeten Abgriffe ist.
  • 814 sind ein Satz von graphischen Darstellungen, die die Frequenzantworten unterschiedlicher Auslegungen des Linearphasen-FIR-Filterungsansatzes und eines Lagrange-FIR-Filterungsansatzes darstellen,
  • Für die drei Linearphasen-FIR-Ansätze verwendet einer der Ansätze eine Filterung mit fünf Abgriffen, während die zwei anderen Ansätze eine Filterung mit zwei Abgriffen verwenden. Für diese Filterungsansätze mit zwei Abgriffen ist α gleich 1/5 bzw. 1/20. Der Lagrange-Ansatz verwendet nur drei Abgriffe.
  • Gemäß Darstellung in den 814 sind die Formen der Linearphasen-FIR-Filterungsansätze mit 2 Abgriffen und die Formen der Langrange-Filterungsansätze dritter Ordnung ähnlich. Jedoch führen trotz ihres Namens die Linearphasen-Filterungsansätze nicht zu perfekt linearen Phasen. Daher wird der Lagrange-Ansatz bevorzugt.
  • Die durch diese Filterungsansätze eingeführten Fehler werden nachstehend in den Gleichungen (3-1) bis (3-5) ausgedrückt. In diesen Gleichungen repräsentiert Y(ω) die diskrete Zeit-Fourier-Transformierte (DTFT) des Ausgangssignals der Interpolationskomponente 320 oder Interpolationskomponente 344. Ferner repräsentiert H(ω) die DTFT der Komponentenfilterungsfunktion, und X(ω) repräsentiert die DTFT eines entsprechenden aufwärtsabgetasteten (d.h., interpolierten) Signals, das nicht gefiltert ist.
  • Aufgrund der Faltungseigenschaft der Fourier-Transformierten kann Y(ω) geschrieben werden als: Y(ω) = H(ω)X(ω) (3-1)
  • Diese Beziehung kann ausgedrückt werden als: Y(ω) = |H(ω)||X(ω)|e–j(ϕ[H(ω)]+ϕ[X(ω)]) (3-2)
  • In der Gleichung (3-2) repräsentiert ϕ die Signalphase.
  • Die Phase von allen Interpolationsfilterungsansätzen wird nachstehend in der Gleichung (3-3) ausgedrückt. ϕ[H(ω)] = ϕ ~[H(ω)] + ϕ ^[H(ω)] = βω + ϕ ~[H(ω)] (3-3)
  • In der Gleichung (3-3) repräsentiert ϕ ~ eine lineare Phasenkomponente und ϕ ^ repräsentiert eine nicht-lineare Phasenkomponente. Für den vorstehend beschriebenen Lagrange-Filterungsansatz ist diese nicht-lineare Komponente 0. Somit kann der Lagrange-Ansatz Y(ω) wie nachstehend in Gleichung (3-4) geschrieben werden als
    Figure 00180001
  • Aus der Gleichung (3-4) folgt die inverse Fourier-Transformierte von Y(ω), y(k) in der Gleichung (3-5) y(k) = ỹ(k – ϕ ^[H(ω)]) (3-5)
  • In der Gleichung (3-5) repräsentiert ỹ(k) ein ideales Ausgangssignal. Wenn ϕ ^[H(ω)] gleich Null ist, sind dann die Ausgangssignale der Interpolationskomponenten 320 und 344 zu den theoretischen Ausgangssignalen identisch.
  • Wie vorstehend beschrieben, wenden die Interpolationskomponenten 320 und 344 Filterungsoperationen auf aufwärtsabgetastete Signale an. Für derartige interpolationskomponenten ermöglicht eine Kenntnis der Form des langsamen Takteingangssignals die Auswahl einer Interpolationsfilterungstechnik, die Fehler zwischen dem resultierenden interpolierten Signal und dem ursprünglichen Eingangsdatensignal, auf welchem das langsame "Takt"-Signal basiert, zu minimieren.
  • Die Interpolationskomponente 344 nutzt eine Forminformation bezüglich des integrierten Positionssignals 350, um Fehler im interpolierten Signal 354 zu minimieren. Im Falle des Profilausführers 104 kann das Positionszustandssignal 110 zu jedem Zeitpunkt t durch ein Polynom zweiter Ordnung gemäß nachstehender Darstellung in der Gleichung (4-1) P(t) = P(t0) + V(t0)(t – t0) + ½A(t0)(t – t0)2 (4-1) dargestellt werden. In der Gleichung (4-1) repräsentiert P(t) das integrierte Positionssignal 350, V(t) repräsentiert das Geschwindigkeitszustandssignal 112, A(t) repräsentiert ein Beschleunigungszustandssignal 114 und T0 repräsentiert einen Anfangszeitwert.
  • Da das integrierte Positionssignal 350 (sowie das gefilterte Positionssignal 352) als ein Polynom zweiter Ordnung dargestellt werden können, wird ein ideales Interpolationsfilter für das integrierte Positionssignal 350 speziell angepasst, um ein Signal zweiter Ordnung zu "regenerieren". Ein Lagrange-Interpolationsfilter (dritter Ordnung) mit drei Abgriffen führt eine derartige Regeneration zweiter Ordnung durch. Zusätzlich hat, wie es hierin beschrieben ist, ein derartiges Filter eine lineare Phase, welche einen Phasenausgleich von Signalen zwischen dem Beschleunigungssignalpfad 312 und dem Positionssignalpfad 314 ermöglicht, wenn diese Pfade nicht dasselbe Interpolationsfilter verwenden. Ferner hat das Lagrange-Interpolationsfilter vorteilhafterweise eine Grenzfrequenz, die unter der Nyquist-Frequenz des "schnellen Taktes" liegt. Daher verwendet die Interpolationskomponente 344 eine derartige Lagrange-Filterung mit drei Abgriffen.
  • V. Steuersystem
  • 15 ist eine Blockdarstellung eines Steuersystems 106. Das Steuersystem 106 enthält ein Kompensationsmodul 1502, ein Filtermodul 1504, ein Vorwärtskopplungs-Verstärkungsmodul 1506, eine Regelstrecke 1508 und Summenknoten 1510 und 1512. Das Steuersystem 106 empfängt das Positionsausgangssignal 118 und das Beschleunigungsausgangssignal 120 aus dem Profilausführer 104 und erzeugt eine Achsenposition 1514. Die Achsenposition 1514 ist ein zeitlich variierendes Signal, das die Bewegung der Regelstrecke 1508 darstellt.
  • Die Regelstrecke 1508 ist eine Vorrichtung, wie z.B. ein Substrattisch oder ein Maskentisch, der sich unter der Steuerung des Steuersystems 106 mittels Befehlen befindet, die aus dem Profilausführer 104 in der Form des Ausgangssignalsatzes 116 empfangen werden.
  • VI. Effiziente Interpolation und Filterung
  • Die Implementation 300 des Profilausführers 104 besitzt mehrere Signalpfade (d.h., die Signalpfade 312 und 314). Jeder von diesen Pfaden enthält eine Interpolationskomponente, die Aufwärtsabtast- und Filterungsfunktionen an einer diskreten Zeiteingangsfolge durchführt. Die vorliegende Erfindung stellt eine Technik bereit, um effizient das Verhalten dieser Funktionen zu kombinieren. Diese Technik ermöglicht in vorteilhafter Weise, dass diese durch die Interpolationskomponente 320 des Beschleunigungssignalpfades 312 ausgeführten Interpolations- und Filterungsfunktionen mit einer Minimalanzahl von Prozessoperationen durchgeführt werden. Diese Minimierung der Prozessoperationen verkürzt die Zeiten und Fehler in Verbindung mit der Erzeugung des Ausgangssignalsatzes 116.
  • Der Profilausführer 104 empfängt den Zustandssignalsatz 108 aus dem Profilplaner 102. Wie hierin beschrieben, enthält der Zustandssignalsatz 108 mehrere diskrete Zeitsignale. Ein diskretes Zeitsignal ist eine Impulsfolge.
  • Die Interpolationskomponente 320 liegt in einem Beschleunigungssignalpfad 312, welcher das Beschleunigungszustandssignal 114 empfängt. Wie vorstehend unter Bezugnahme auf 2 beschrieben, enthält das Beschleunigungszustandssignal 114 eine Reihe im Wesentlichen quadratischer Impulse.
  • 16A ist eine graphische Darstellung, welche ein exemplarisches Quadratsignal 1600 darstellt. Jedes Quadratsignal, wie z.B. das Beschleunigungszustandssignal 114, kann als eine Folge von Stufensignalen ausgedrückt werden, die eine vorbestimmte Amplitude und Verzögerung haben. Dieses Prinzip ist in 16B dargestellt, welche das Quadratsignal 1600 zerlegt in eine Reihe von Stufensignalen 1602, 1604 und 1606 darstellt. Diese Stufensignaldarstellung wird nachstehend in der Gleichung (5-1) ausgedrückt.
  • Figure 00200001
  • In der Gleichung (5-1) repräsentiert A(t) das Quadratsignal 1600 und akμk(t – Tk) repräsentiert jedes von den Stufensignalen 16021606 für k = 1, 3.
  • Indem die von der Interpolationskomponente 320 durchgeführten Aufwärtsabtast- und Filterungsfunktionen als eine Faltung einer Reihe von Boxcar-Filtern mit derselben Amplitude und Dauer wie das Beschleunigungszustandssignal 114 und eines (deterministischen) Eingangssignals mit der Impulsantwortfunktion des vorstehend beschriebenen Filterungsansatzes der Interpolationskomponente 320 betrachtet wird, kann die Anzahl der für die Interpolationskomponente 320 erforderlichen Operationen zum Interpolieren und Filtern des Signals reduziert werden.
  • Unter Berücksichtigung der Quadratsignaldarstellung der Gleichung (5-1) wird eine Aufwärtsabtast- und Filterungsoperation dieses Signals, wie sie von der Interpolationskomponente 320 durchgeführt wird, nachstehend in der Gleichung (6-1) dargestellt.
  • Figure 00210001
  • In der Gleichung (6-1) ist F(t) eine Impulsantwortfunktion der Länge N des Filterungsansatzes, der durch die Interpolationskomponente 320 verwendet wird, wobei t = 0, 1, 2, ... N – 1 ist. Aber F(α) ist nur dann nicht Null wenn 0 ≤ α ≤ N ist.
  • Der rechnerisch aufwändigste Fall tritt ein, wenn zwei Impulse (oder Stufen) mit unterschiedlichen Vorzeichen nacheinander mit nicht ausreichender Verzögerung dazwischen für die Einstellung des Filters innerhalb der Filterlänge auftreten. Algebraisch umgeformt wird ein Langformausdruck der Gleichung (6-1) für diesen Fall nachstehend in der Gleichung (6-2) bereitgestellt. Af(t) = Af(t – 1) + α1F(t – T1) + α2F(t – T2) + α3F(t – T3) (6-2)
  • In der Gleichung (6-2) ist α1 die Amplitude des ersten Schrittes, α3 die Amplitude des zweiten Schrittes und α2 = α1 – α3.
  • Die Gleichung (6-2) stellt dar, dass die Anzahl der erforderlichen Operationen zum Durchführen der Interpolations- und Filterungsfunktionen der Interpolationskomponente 320 unabhängig von der Filterlänge N ist. Die Gleichung (6-2) zeigt sechs Operationen (drei Multiplikationen und drei Additionen), die bei der schnellen Taktrate durchgeführt werden.
  • Eine weitere Situation beinhaltet zwei Impulse kleinerer Breite als das verwendete FIR-Filter, ohne ausreichende Zeit zwischen den Impulsen, um eine Einstellung des Filters zu erlauben. In dieser Situation ist Af(t) = Af(t – 1) + α1[F(t – T1) – F(t – T2)] + α2(F(t – T3) – F(t – T4)] (6-3)
  • Die in Gleichung (6-3) ausgeführte Berechnung erfordert nur fünf Operationen. Weitere Fälle existieren innerhalb der vorliegenden Erfindung, die weniger Berechnungen erfordern. Solange die verwendete Filterlänge kleiner oder gleich der für die Filtereinstellung zugeordneten Verzögerung ist, sind keine weiteren rechnerisch intensiven Fälle möglich.
  • Im Allgemeinen wird die effiziente Filterungs- und Interpolationstechnik nachstehend in der Gleichung (7-1) ausgedrückt.
  • Figure 00220001
  • In der Gleichung (7-1) ist L die maximale Anzahl von Eingangsimpulsen, die während der Filterlänge N auftreten kann. Ferner ist in der Gleichung (7-1) jedes Auftreten von F(t – Ti) ein FIR-Filterkoeffizient, welcher einer von den in Gleichung (5-1) dargestellten verzögerten Eingangsstufenfunktionen entspricht.
  • Der in der Gleichung (7-1) beschriebene effiziente Filterungs- und Interpolationsansatz erzeugt eine Reduzierung der Operationen von 2·N auf 3·L. Daher können, wenn L << N ist, erhebliche Gewinne in der Berechnungseffizienz und in der Fehlerminimierung erreicht werden.
  • 17 ist ein Flussdiagramm, das eine operationale Ablauffolge der Filterung und Interpolation gemäß vorstehender Beschreibung darstellt. Diese Operation beginnt mit einem Schritt 1702. Im Schritt 1702 wählt der Profilausführer 104 mehrere von den Eingangssignalwerten aus einem Eingangssignal, wie z.B. einem Beschleunigungszustandssignal 114 aus. Jeder ausgewählte Eingangssignalwert entspricht einem besonderen Zeitinkrement bei der langsamen Taktrate. Die Ausführung dieses Schrittes umfasst den Schritt der Darstellung eines quadratischen Signals als einen Satz von Stufensignalen gemäß Darstellung in der Gleichung (5-1).
  • Anschließend erzeugt im Schritt 1704 der Profilausführer 104 mit einem bei der schnellen Taktrate auftretenden Zeitinkrement einen Ausgangssignalwert.
  • Der Schritt 1704 umfasst die Schritte der Berechnung einer Summe von Produkten und die Addition dieser Summe von Produkten mit einem früheren Inkrementausgangssignalwert. Diese Berechnungsschritte sind in der vorstehenden Gleichung (7-1) ausgedrückt.
  • Der Schritt 1704 kann in Zeitinkrementen, die bei der schnellen Taktrate auftreten, wiederholt werden, um eine Vielzahl von Ausgangssignalwerten zu erzeugen. Dieses erzeugt ein vollständig interpoliertes Signal 330.
  • VII. Effiziente Interpolation-Nullenauffüllung
  • Die vorliegende Erfindung beinhaltet eine Technik zum effizienten Durchführen von Filteroperationen in einem Interpolationsprozess. Diese Technik nutzt den Vorteil von während der Aufwärtsabtastung hinzugefügten Nullen, um den Rechenaufwand des Filterbetriebs zu reduzieren. Die Interpolationskomponente 344 nutzt diese Technik.
  • Die Interpolation wird mittels Interpolationskomponenten 344 und 320 durchgeführt. Wie vorstehend beschrieben beinhaltet die Interpolation Aufwärtsabtast- und Filterungsprozesse. Um ein unbekanntes Signal mit einer Abtastrate Ts auf eine schnellere Abtastperiode Tf = Ts/R aufwärtsabzutasten, wobei R eine ganze Zahl ist, werden R – 1 Nullen zwischen den Abtastwerten eingefügt. Beispielsweise beinhaltet, wenn Ts = 64 μs ist und Tf = 1 μs ist, dann die Aufwärtsabtastung das Einfügen von 63 Nullen zwischen den Abtastwerten. 18 ist eine graphische Darstellung, die eine Rampenfunktion bei einer langsamen Taktrate darstellt, die um einen Faktor 10 aufwärtsabgetastet wurde.
  • Gemäß Darstellung in 18 ist das aufwärtsabgetastete Signal mit dem ursprünglichen Signal nur an den ursprünglichen Intervallen des "langsamen Taktes" gleich. Um die Punkte zwischen derartigen Intervallen des "langsamen Takt" zu "interpolieren", muss das aufwärtsabgetastete Signal mit der schnellen Taktrate gefiltert werden. Diese Interpolationsfilterung kann durch jedes Tiefpassfilter mit einer Grenzfrequenz durchgeführt werden, die sich bei oder unter der dem "schnellen Takt" zugeordneten Nyquist- Frequenz befindet. Exemplarische Filter sind vorstehend unter Bezugnahme auf die 814 beschrieben.
  • Die Einführung von Nullen durch einen Interpolations-Überabtastungsprozess wird hierin als "Nullenauffüllung" bezeichnet. Die Interpolationskomponente 344 nutzt den Vorteil dieser Nullenauffüllung, um die Anzahl von Operationen zu reduzieren, welche von deren entsprechender Filterungsoperation benötigt werden. Nachstehend wird eine mathematische Analyse gegeben, welche dieses effiziente Interpolationsfilterungsmerkmal beschreibt.
  • Wie hierin beschrieben, führt die Interpolationskomponente 344 Aufwärtsabtast- und Filterungsfunktionen von einer langsamen Taktrate auf eine schnelle Taktrate durch. Diese Funktionen haben ein Interpolationsverhältnis von R, welches in der nachstehenden Gleichung (8-1) ausgedrückt ist.
  • Figure 00240001
  • In der Gleichung (8-1) repräsentiert Ts die langsame Taktrate und Tf repräsentiert die schnelle Taktrate.
  • Unter Verwendung einer FIR-Filterung als ein Beispiel wird die Filterungsoperation jeder Interpolationskomponente, das Ausgangssignal y(t) eines FIR-Filters mit "N" Abgriffen dargestellt durch die Gleichung (8-2).
  • Figure 00240002
  • In der Gleichung (8-2) repräsentiert bi den i-ten Filterkoeffizienten, u(t) repräsentiert das Eingangssignal zu einem Zeitpunkt t und Tf repräsentiert die Abtastperiode des schnellen Taktes. Indem man u(t – kTf)(k = 0, 1, 2, ..., R – 1) den letzten Wert des nicht-interpolierten Signals sein lässt (man beachte, dass kTf ein Mehrfaches des langsamen Taktes ist) sind dann die vorherigen R – 1 Abtastwerte Nullen, wie es nachstehend in der Gleichung (8-3) ausgedrückt wird. u(t – iTf) = 0, where i = (k + 1), (k + 2), ..., (k + R – 1) (8-3)
  • Anschließend kann, indem man t – kTf = mTs – kTf sein lässt, wobei Ts die Abtastperiode des langsamen Taktes ist, kann dann die Gleichung (8-3) wie nachstehend dargestellt in der Gleichung (8-4) ausgedrückt werden. u(mTs – kTf – iTf) = 0 (8-4)
  • Die Gleichung (8-4) gilt für i = 0, 1, ... R – 1.
  • Mittels der Gleichung (8-4) kann nun die Gleichung (8-2) ausgedrückt werden, wie nachstehend in Gleichung (8-5) dargestellt.
  • Figure 00250001
  • In der Gleichung (8-5) rundet die Funktion ceil(A) A auf den nächsten ganzzahligen Wert der größer oder gleich A ist.
  • Die Gleichung (8-5) führt eine Interpolationsfilterungsoperation in einer minimalen Anzahl von Operationen aus. Diese minimale Anzahl von Operationen wird in der Gleichung (8-6) ausgedrückt. In allgemeinen Operationen des Profilausführers ist N – 1 größer als R.
  • Figure 00250002
  • Die Beschreibung wendet sich nun einem Beispiel einer Interpolationsfilteroptimierung unter Anwendung eines FIR-Filterungsprozesses mit drei Abgriffen (N = 3) und einem Interpolationsfaktor von zwei (R = 2) zu. Die Gleichung (9-1) ist ein Ausdruck für eine durch diesen Beispielinterpolationsprozess durchgeführte Ausgangsfolge. y(t) = b0u(t) + b1u(t – Tf) + b2u(t – 2Tf) (9-a)
  • In der Gleichung (9-1) repräsentiert u(t) das Eingangssignal zu dem Interpolationsfilterungsprozess, y(t) repräsentiert das Prozessausgangssignal. Die Koeffizienten b0, b1 und b2 repräsentieren die FIR-Filterungskoeffizienten.
  • Indem man u(t) – kTf) = u(mTs) (wobei k = 0, 1; und wobei m = 1, 2, 3 ... ist) sein lässt, werden Merkmale der Eingangssequenz, u(k) in den Gleichungen (9-2) und (9-3) dargestellt. u(t – (k + 1)Tf) = 0 (9-2) u(t – (k + 2)Tf) = u((m – 1)Ts) (9-3)wenn k = 0 → u(t) = u(mTs) → u(t – Tf) = 0 → u(t – 2Tf) = u(mTs – Ts) → y(t) = b0u(mTs) + b2u(mT2 – T2)
    wenn k = 1 → u(t) = 0 → u(t – Tf) = u(mTs) → u(t – 2Tf) = 0 → y(t) = b1u(mTs)
  • Somit wird die maximale Anzahl von Operationen, welche für dieses Beispiel erforderlich sind, in der Gleichung (9-4) ausgedrückt.
  • Figure 00260001
  • Gemäß Darstellung in der Gleichung (9-4) sind nur drei Operationen erforderlich, um diese Beispielinterpolationsfilterungsfunktion auszuführen.
  • Dieses Merkmal trifft auch auf eine Reihe einer Vielzahl von Faltungsfiltern, wie z.B. FIR-Filtern, zu. Eine Reihe von FIR-Filtern ist äquivalent zu einem FIR-Filter. Die Antwortfunktion dieses äquivalenten Filters ist die diskrete Faltung aller FIR-Filter in der Reihe. Daher ist die Anzahl von Abgriffen dieses äquivalenten FIR-Filters die Summe der Abgriffe der gefalteten individuellen Filter. Ein Beispiel von zwei in Reihe angeordneten Filtern, wie z.B. einem FIR-Filter mit einer Interpolationskomponente 344 und einem (nicht dargestellten) Nachinterpolationsfilter, das mit dem Ausgang der Interpolationskomponente 344 verbunden ist, wird nachstehend gegeben.
  • Ni möge die Anzahl der Abgriffe des ersten FIR-Filters mit einer Vielzahl von Filterparametern bk (k = 0, 1, 2, ... Ni – 1) darstellen, und Ns möge die Anzahl der Abgriffe eines zweiten FIR-Filters in Serie zu dem ersten FIR-Filter darstellen. Das zweite FIR-Filter besitzt Ns Abgriffe und eine entsprechende Vielzahl von Filterparametern ci (i = 1, 2, ... Ns – 1). Die sich ergebenden Parameter des Filters, die sich aus der Faltung der ersten und zweiten Filter ergeben, werden nachstehend in der Gleichung (10-1) ausgedrückt.
  • Figure 00270001
  • In der Gleichung (10-1) ist:
    Figure 00270002
  • Somit wird unter Verwendung der effizienten Interpolationsfilterungstechniken das Ausgangssignal dieser zwei Reihenfilter nachstehend in den Gleichungen (10-2) und (10-3) ausgedrückt.
  • Figure 00270003
  • Die Gesamtanzahl von erforderlichen Operationen, um das Ausgangssignal zu erzielen, gemäß Ausdruck in der Gleichung (10-3) ist nachstehend in der Gleichung (10-4) ausgedrückt.
  • Figure 00270004
  • Ein Beispiel dieser Reihenfilterung wird nun unter Bezugnahme auf den Profilausführer 104 beschrieben. Eine exemplarische Interpolationskomponente 344 verwendet ein FIR-Filter mit 79 Abgriffen und ein (nicht dargestelltes) Nach-Interpolationsfilter, welches das interpolierte Signal 354 in einem FIR-Filter mit 50 Abgriffen filtert. In diesem Beispiel führt die Interpolationskomponente 344 eine 20-fach-Aufwättsabtastungsoperation an dem Signal 352 durch. Ein herkömmlicher Reihenfilterungsansatz erfordert 79·2 + 50·2 = 258 Operationen. Jedoch wird durch die Verwendung des effizienten Interpolationsfilterungsmerkmals die Anzahl der Operationen, die für die Durchführung dieser Interpolationsfilterungen erforderlich ist, auf 13 Operationen reduziert, wie es nachstehend in der Gleichung (10-5) dargestellt wird. 2ceil[(79+50+1)/20) – 1 = 13 (10-5)
  • Diese Reduzierung der Operationen reduziert nicht nur die Anzahl der Operationen, sondern reduziert auch durch Berechnungen akkumulierte Fehler, die von den Verarbeitungsplattformen durchgeführten, wie z.B. solchen, welche eine Arithmetik mit eingeschränkter Genauigkeit verwenden. Dieses Merkmal wird bei einer schnellen Taktrate ausgeführt.
  • VIII. Implementation
  • Die hierin beschriebene Funktionalität kann unter Verwendung von Hardware, Software oder einer Kombination davon implementiert werden und kann in einem Computersystem oder einem anderen Verarbeitungssystem implementiert werden. Tatsächlich ist in einer Ausführungsform die Erfindung auf ein Computersystem ausgerichtet, das in der Lage ist, die hierin beschriebene Funktionalität auszuführen. Ein exemplarisches Computersystem 1901 ist in 19 dargestellt. Das Computersystem 1901 enthält einen oder mehrere Prozessoren, wie z.B. einen Prozessor 1904. Der Prozessor 1904 ist mit einem Kommunikationsbus 1902 verbunden. Verschiedene Softwareausführungsformen werden in Hinblick auf dieses Beispielcomputersystem beschrieben. Nach dem Lesen dieser Beschreibung wird es für den Fachmann auf diesem Gebiet ersichtlich sein, wie die Erfindung mit anderen Computersystemen und/oder Computerarchitekturen zu implementieren ist.
  • Das Computersystem 1901 enthält auch einen Hauptspeicher 1907, bevorzugt einen Arbeitsspeicher (RAM) und kann auch einen sekundären Speicher 1908 enthalten. Der sekundäre Speicher 1908 kann beispielsweise ein Festplattenlaufwerk 1910 und/oder ein entfernbares Speicherlaufwerk 1912 enthalten, welches ein Floppy-Laufwerk, ein Magnetband-Laufwerk oder ein optisches Plattenlaufwerk usw. darstellt. Das entfernbare Speicherlaufwerk 1912 liest von und/oder schreibt auf eine entfernbare Speichereinheit 1914 in einer allgemein bekannten Weise. Die entfernbare Speichereinheit 1914 repräsentiert eine Floppy Disk, ein Magnetband, eine optische Platte usw., welche durch ein entfernbares Speicherlaufwerk 1912 gelesen oder beschrieben werden. Wie man erkennen wird, enthält die entfernbare Speichereinheit 1914 ein durch Computer verwendbares Speichermedium mit darauf gespeicherter Computersoftware und/oder Daten.
  • In alternativen Ausführungsformen kann der sekundäre Speicher 1908 andere ähnliche Einrichtungen enthalten, um ein Laden von Computerprogrammen oder anderen Instruktionen in das Computersystem 1901 zu ermöglichen. Derartige Einrichtungen können beispielsweise eine entfernbare Speichereinheit 1922 und eine Schnittstelle 1920 beinhalten. Beispiele davon können eine Programmkassette und eine Kassettenschnittstelle (wie man sie bei Videospielgeräten findet) einen entfernbaren Speicherchip, wie z.B. EPROM oder PROM) und einen zugehörigen Sockel und andere entfernbare Speichereinheiten 1922 und Schnittstellen 1920 umfassen, welche eine Übertragung von Software und Daten von der entfernbaren Speichereinheit 1922 auf das Computersystem 1901 ermöglichen.
  • Das Computersystem 1901 kann auch eine Kommunikationsschnittstelle 1924 enthalten. Die Kommunikationsschnittstelle 1924 ermöglicht die Übertragung von Software und Daten zwischen dem Computersystem 1901 und externen Vorrichtungen. Beispiele der Kommunikationsschnittstelle 1924 können einen Modem, eine Netzwerkschnittstelle (wie z.B. eine Ethernet-Karte), einen Kommunikationsport, einen PCMCIA-Einschub und eine Karte usw. umfassen. Über die Kommunikationsschnittstelle 1924 übertragene Software und Daten liegen in der Form von Signalen vor, welche elektronische, elektromagnetische, optische oder andere Signale sein können, welche durch eine Kommunikationsschnittstelle 1924 empfangen werden können. Diese Signale 1928 werden einer Kommunikationsschnittstelle 1924 über einen Kanal 1927 zugeführt. Dieser Kanal 1927 trägt die Signale 1928 und kann unter Verwendung von Draht oder Kabel, Faseroptik, einer Telefonleitung, einer Mobilfunkverbindung, einer HF-Verbindung und andere Kommunikationskanäle implementiert sein.
  • In diesem Dokument werden die Begriffe "Computerprogrammmedium" und "durch Computer nutzbares Medium" verwendet, um allgemein Medien, wie z.B. die entfernbare Speichervorrichtung 1912, eine in einem Festplattenlaufwerk 1910 eingebaute Festplatte und Signale 1928 zu bezeichnen. Diese Computerprogrammprodukte sind Einrichtungen zum Bereitstellen von Software für das Computersystem 1901.
  • Computerprogramme (auch als Computersteuerlogik bezeichnet) sind in dem Hauptspeicher 1907 und/oder dem sekundären Speicher 1908 gespeichert. Computerprogramme können auch über eine Kommunikationsschnittstelle 1924 empfangen werden. Derartige Computerprogramme ermöglichen, wenn sie ausgeführt werden, dem Computersystem 1901 die Merkmale der vorliegenden Erfindung wie hierin diskutiert auszuführen. Insbesondere ermöglichen die Computerprogramme, wenn sie ausgeführt werden, dem Prozessor 1904, die Merkmale der vorliegenden Erfindung auszuführen. Demzufolge repräsentieren derartige Computerprogramme Steuerungen des Computersystems 1901.
  • In einer Ausführungsform, in welcher die Erfindung unter Verwendung von Software implementiert ist, kann die Software in einem Computerprogrammprodukt gespeichert und in das Computersystem 1901 unter Verwendung eines entfernbaren Speicherlaufwerks 1912, eines Festplattenlaufwerks 1910 oder einer Kommunikationsschnittstelle 1924 geladen werden. Die Steuerlogik (Software) veranlasst, wenn sie durch den Prozessor 1904 ausgeführt wird, den Prozessor 1904, die Funktionen der Erfindung wie hierin beschrieben auszuführen.
  • In einer weiteren Ausführungsform ist die Erfindung hauptsächlich in Hardware beispielsweise unter Verwendung von Hardwarekomponenten, wie z.B. anwendungsspezifischen Integrierten Schaltungen (ASICs), implementiert. Die Implementation der Hardwarezustandsmaschinen, um die hierin beschriebenen Funktionen auszuführen, ist dem Fachmann auf dem Gebiet bekannt.
  • In noch einer weiteren Ausführungsform ist die Erfindung unter Verwendung sowohl von Hardware als auch Software implementiert. Beispiele derartiger Kombinationen umfassen, sind jedoch nicht darauf beschränkt, Mikrocontroller.
  • IX. Schlussfolgerung
  • Obwohl vorstehend verschiedene Ausführungsformen der vorliegenden Erfindung beschrieben wurden, dürfte es sich verstehen, dass sie lediglich im Rahmen eines Beispiels und nicht als Einschränkung dargestellt wurden. Somit sollte die Breite und der Schutzumfang der vorliegenden Erfindung durch keine der vorstehend beschriebenen exemplarischen Ausführungsformen beschränkt sein, sondern sollte gemäß den nachstehenden Ansprüchen definiert sein.

Claims (14)

  1. Verfahren zum Interpolieren eines diskreten rechteckigen Eingangssignals mit einer ersten Abtastrate zu einem diskreten Ausgangssignal mit einer zweiten Abtastrate, wobei das Verfahren die folgenden Schritte umfasst: (a) Auswählen einer Vielzahl von Eingangssignalwerten aus dem Eingangssignal, wobei jeder der ausgewählten Eingangssignalwerte einem bestimmten Zeitschritt bei der ersten Abtastrate entspricht, dadurch gekennzeichnet, dass es die folgenden Schritte umfasst: (b) Erzeugen eines Ausgangssignalwertes zu einem Zeitschritt, der bei der zweiten Abtastrate auftritt, wobei der Schritt umfasst (I) Berechnen eines Ergebnisses gemäß ΣLk=1 ak[F(t – Tk) – F(t – Tk+1)],wobei ak einer der ausgewählten Vielzahl von den Eingangssignalwerten ist, F(t – Tk) ein erster der Vielzahl von Filterantwort-Funktionswerten ist, und F(t – Tk+1) ein zweiter der Vielzahl von Filterantwort-Funktionswerten ist, und (II) Summieren des Ergebnisses mit einem Ausgangssignalwert eines vorhergehenden Zeitschritts.
  2. Verfahren nach Anspruch 1, das des Weiteren den folgenden Schritt umfasst: (c) Wiederholung von Schritt (b) für eine Vielzahl von Zeitschritten, die bei der zweiten Abtastrate auftreten, um eine entsprechende Vielzahl diskreter Ausgangssignalwerte zu erzeugen.
  3. Verfahren nach Anspruch 1, wobei die Filterantwort-Funktionswerte einem Filter mit endlicher Impulsantwort entsprechen.
  4. Verfahren nach Anspruch 1, wobei die zweite Abtastrate größer ist als die erste Abtastrate.
  5. Verfahren nach Anspruch 1, wobei die zweite Abtastrate ein ganzzahliges Vielfaches der ersten Abtastrate ist.
  6. Verfahren nach Anspruch 1, wobei das diskrete Eingangssignal ein Beschleunigungszustandssignal ist.
  7. Verfahren nach Anspruch 1, wobei das diskrete Ausgangssignal zu einem Steuersystem gesendet wird, das einen Vorgang des photolithographischen Scannens steuert.
  8. System zum Interpolieren eines diskreten Rechteck-Eingangssignals mit einer ersten Abtastrate zu einem diskreten Ausgangssignal mit einer zweiten Abtastrate, wobei das System umfasst: a) eine Einrichtung (104) zum Auswählen einer Vielzahl von Eingangssignalwerten aus dem Eingangssignal, wobei jedes ausgewählte Eingangssignal einem bestimmten Zeitschritt bei der ersten Abtastrate entspricht, dadurch gekennzeichnet, dass es des Weiteren umfasst: b) eine Einrichtung (104), die zu einem Zeitschritt, der bei der zweiten Abtastrate auftritt, einen Ausgangssignalwert erzeugt, wobei sie umfasst: (I) eine Einrichtung (320; 344) zum Berechnen eines Ergebnisses gemäß ΣLk=1 ak[F(t – Tk) – F(t – Tk+1)],wobei ak einer der ausgewählten Vielzahl von Eingangssignalwerten ist, F(t – Tk) ein erster der Vielzahl von Filterantwort-Funktionswerten ist, und F(t – Tk+1) ein zweiter der Vielzahl von Filterantwort-Funktionswerten ist; und (II) eine Einrichtung zum Summieren des Ergebnisses mit einem Ausgangssignalwert eines vorhergehenden Zeitschritts.
  9. Systeme nach Anspruch 8, das des Weiteren umfasst: (c) eine Einrichtung zum Wiederholen der Erzeugung von Ausgangssignalwerten für eine Vielzahl von Zeitschritten, die bei der zweiten Abtastrate auftreten, um so eine entsprechende Vielzahl diskreter Ausgangssignalwerte zu erzeugen.
  10. System nach Anspruch 8, wobei die Filterantwort-Funktionswerte einem Filter mit endlicher Impulsantwort entsprechen.
  11. System nach Anspruch 8, wobei die zweite Abtastrate größer ist als die erste Abtastrate.
  12. System nach Anspruch 8, wobei die zweite Abtastrate ein ganzheitliches Vielfaches der ersten Abtastrate ist.
  13. System nach Anspruch 8, wobei das diskrete Eingangssignal ein Beschleunigungszustandssignal ist.
  14. System nach Anspruch 8, wobei das diskrete Ausgangssignal zu einem Steuersystem gesendet wird, das einen Vorgang des photolithographischen Scannens steuert.
DE60221790T 2001-01-11 2002-01-11 Verfahren und vorrichtung zur effizienten und genauen filterung und interpolation Expired - Lifetime DE60221790T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/757,622 US6766339B2 (en) 2001-01-11 2001-01-11 Method and system for efficient and accurate filtering and interpolation
US757622 2001-01-11
PCT/US2002/000556 WO2002056468A2 (en) 2001-01-11 2002-01-11 Method and system for efficient and accurate filtering and interpolation

Publications (2)

Publication Number Publication Date
DE60221790D1 DE60221790D1 (de) 2007-09-27
DE60221790T2 true DE60221790T2 (de) 2007-12-06

Family

ID=25048559

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60221790T Expired - Lifetime DE60221790T2 (de) 2001-01-11 2002-01-11 Verfahren und vorrichtung zur effizienten und genauen filterung und interpolation

Country Status (7)

Country Link
US (3) US6766339B2 (de)
EP (3) EP1350321B1 (de)
JP (3) JP4623933B2 (de)
KR (2) KR100711655B1 (de)
AU (1) AU2002236734A1 (de)
DE (1) DE60221790T2 (de)
WO (1) WO2002056468A2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542914B1 (en) 2000-09-01 2003-04-01 Lecroy Corporation Method and apparatus for increasing bandwidth in sampled systems
US6766339B2 (en) * 2001-01-11 2004-07-20 Asml Holding N.V. Method and system for efficient and accurate filtering and interpolation
US6701335B2 (en) * 2002-02-27 2004-03-02 Lecroy Corporation Digital frequency response compensator and arbitrary response generator system
US6845287B2 (en) * 2002-11-20 2005-01-18 Asml Holding N.V. Method, system, and computer program product for improved trajectory planning and execution
US20040236453A1 (en) * 2003-05-22 2004-11-25 Gabor Szoboszlay Method and apparatus for combining and generating trajectories
WO2006043511A1 (ja) * 2004-10-18 2006-04-27 Nsk Ltd. 機械設備の異常診断システム
JP2007081078A (ja) * 2005-09-14 2007-03-29 Nikon Corp 制御システム及び露光装置
JP4498301B2 (ja) * 2006-03-30 2010-07-07 東芝ストレージデバイス株式会社 位置決め制御装置の整定判定方法及び位置決め制御装置
US7576832B2 (en) * 2006-05-04 2009-08-18 Asml Netherlands B.V. Lithographic apparatus and device manufacturing method
NL1036292A1 (nl) * 2007-12-19 2009-06-22 Asml Netherlands Bv Controller for a positioning device, method for controlling a positioning device, positioning device, and lithographic apparatus provided with a positioning device.
WO2010100674A1 (ja) * 2009-03-04 2010-09-10 株式会社アドバンテスト イコライザ回路およびそれを用いた試験装置
US9268742B2 (en) * 2012-06-05 2016-02-23 Intel Corporation Reconfigurable variable length fir filters for optimizing performance of digital repeater
KR102280056B1 (ko) 2020-09-04 2021-07-21 ㈜공명하이텍 사출금형의 홀 가공용 핀형 지그의 구조
KR102451482B1 (ko) 2022-05-13 2022-10-07 ㈜공명하이텍 사출금형의 홀 가공용 다분할형 지그

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US205425A (en) * 1878-06-25 Improvement in carpet stretcher and fastener
FR2275936A1 (fr) * 1974-06-21 1976-01-16 Ibm France Filtre frequentiel numerique
DE3888830T2 (de) * 1988-08-30 1994-11-24 Ibm Massnahmen zur Verbesserung des Verfahrens und Vorrichtung eines digitalen Frequenzumsetzungsfilters.
US5497152A (en) * 1993-09-13 1996-03-05 Analog Devices, Inc. Digital-to-digital conversion using non-uniform sample rates
JPH10511232A (ja) * 1994-05-11 1998-10-27 アナログ・デバイセス・インコーポレーテッド 不均一サンプル・レートを用いるディジタル/ディジタル変換
US5610942A (en) * 1995-03-07 1997-03-11 Chen; Keping Digital signal transcoder and method of transcoding a digital signal
JPH10149348A (ja) * 1996-07-01 1998-06-02 Sun Microsyst Inc フィルタ対称を使用した信号内挿及びデシメーション
GB2315625B (en) 1996-07-17 2001-02-21 Roke Manor Research Improvements in or relating to interpolating filters
US5783974A (en) * 1997-01-27 1998-07-21 Hitachi America, Ltd. Digital interpolation up sampling circuit and digital modulator using same
US5978823A (en) * 1997-01-27 1999-11-02 Hitachi America, Ltd. Methods and apparatus for implementing and controlling a digital modulator
US6427157B1 (en) * 1998-07-31 2002-07-30 Texas Instruments Incorporated Fir filter structure with time- varying coefficients and filtering method for digital data scaling
JP2000244743A (ja) * 1999-02-23 2000-09-08 Sony Corp フィルタバンク構成方法及びフィルタバンク装置
US6487573B1 (en) * 1999-03-26 2002-11-26 Texas Instruments Incorporated Multi-rate digital filter for audio sample-rate conversion
ATE377292T1 (de) * 2000-06-02 2007-11-15 Texas Instruments Inc Abtastratenumwandler und verfahren
US6766339B2 (en) 2001-01-11 2004-07-20 Asml Holding N.V. Method and system for efficient and accurate filtering and interpolation

Also Published As

Publication number Publication date
US7085793B2 (en) 2006-08-01
WO2002056468A2 (en) 2002-07-18
KR100691569B1 (ko) 2007-03-12
US7024440B2 (en) 2006-04-04
EP1775835A3 (de) 2007-06-06
WO2002056468A3 (en) 2003-02-27
JP4623933B2 (ja) 2011-02-02
EP1775834A2 (de) 2007-04-18
KR20030009384A (ko) 2003-01-29
KR20060090726A (ko) 2006-08-14
JP2007318757A (ja) 2007-12-06
US6766339B2 (en) 2004-07-20
EP1775835A2 (de) 2007-04-18
KR100711655B1 (ko) 2007-04-27
AU2002236734A1 (en) 2002-07-24
DE60221790D1 (de) 2007-09-27
JP4712760B2 (ja) 2011-06-29
US20040177103A1 (en) 2004-09-09
JP2004518326A (ja) 2004-06-17
US20040205425A1 (en) 2004-10-14
EP1775834A3 (de) 2007-06-13
US20030055855A1 (en) 2003-03-20
JP2007293883A (ja) 2007-11-08
EP1350321A2 (de) 2003-10-08
EP1350321B1 (de) 2007-08-15

Similar Documents

Publication Publication Date Title
DE60221790T2 (de) Verfahren und vorrichtung zur effizienten und genauen filterung und interpolation
DE69332975T2 (de) Digitales filter mit hoher genauigkeit und effizienz
DE69815986T2 (de) FIR-Filter für programmierbare Dezimation
DE102015116269B4 (de) Abtastratenwandler, analog-digital-wandler mit einem abtastratenwandler und verfahren zum umwandeln eines datenstroms von einer datenrate in eine andere datenrate
EP0200239B1 (de) Digitale Polyphasen-Filterbank mit maximaler Taktreduktion
DE10114402A1 (de) Ultraschallempfangs-Strahlenbildungsgerät unter Verwendung von mehrstufigen Empfangsverzögerungsvorrrichtungen
DE102009039428A1 (de) Digitalfilter
DE102005018858B4 (de) Digitales Filter und Verfahren zur Bestimmung seiner Koeffizienten
DE10255687B4 (de) Verfahren zur Verringerung des Crestfaktors eines Multiträgersignals
WO2000067375A1 (de) Kammfilteranordnung zur dezimation einer folge von digitalen eingangswerten in eine folge von digitalen ausgangswerten um einen nicht ganzzahligen faktor
EP1906527A2 (de) Vorrichtung und Verfahren zum polyphasigen Resampling
DE3922469C2 (de)
DE19940926A1 (de) Filtereinrichtung mit Kernfilter, Dezimator und Interpolator
DE10112275A1 (de) Interpolator
DE19925464C2 (de) Verfahren und Schaltungsanordnung zur Abtastratenanpassung digitaler Signale
DE19741427C2 (de) Linearer Interpolator zur Interpolation eines abgetasteten Signals und lineares Interpolationsverfahren
DE69722719T2 (de) Interpolationsfilter
DE60023885T2 (de) Oversampling-schaltkreis und digital/analog-konverter
EP1763134B1 (de) Dezimierendes Filter und dezimierende Filterkaskade mit minimierter Einschwingzeit
DE602004010632T2 (de) Systeme und verfahren zur implementierung eines abtastratenconverters unter verwendung von hardware und software zur maximierung von geschwindigkeit und flexibilität
DE60020063T2 (de) Digitaler Phasenanalysator und Synthetisierer
DE102005005022B4 (de) Verfahren zum digitalen Filtern und ein digitales Filter mit einer Integratorstufe und einer Differenziatorstufe
DE102005060874A1 (de) Verfahren und Vorrichtung zur echtzeitfähigen Rekonstruktion eines nicht-äquidistant abgetasteten, analogen Signals
DE10110294A1 (de) Verfahren und Schaltungsanordnung zur ganzzahligen Abtastratenwandlung digitaler Signale
DE10240132A1 (de) Verfahren und Vorrichtung zur Interpolation von Eingangswerten bzw. Verfahren zum Einrichten einer Interpolationsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition