PatentDe  


Dokumentenidentifikation DE69015928T2 24.08.1995
EP-Veröffentlichungsnummer 0415681
Titel Inertial-Transformationsmatrixgenerierung.
Anmelder General Electric Co., Schenectady, N.Y., US
Erfinder Rapiejko, Stephen James, Clinton, New York 12054, US;
Staver, Daniel Arthur, Scotia, New York 12302, US;
Chan, David SoKeung, Schenectady, New York 12309, US;
Clark, Nancy Marie, Mesa, Arizona 85210, US
Vertreter Voigt, R., Dipl.-Ing., Pat.-Anw., 65812 Bad Soden
DE-Aktenzeichen 69015928
Vertragsstaaten DE, FR, GB, IT
Sprache des Dokument En
EP-Anmeldetag 24.08.1990
EP-Aktenzeichen 903093508
EP-Offenlegungsdatum 06.03.1991
EP date of grant 11.01.1995
Veröffentlichungstag im Patentblatt 24.08.1995
IPC-Hauptklasse G01C 21/16

Beschreibung[de]

Die vorliegende Erfindung betrifft einen Trägheits-Transformationsmatrixgenerator.

Eine Ausführungsform der Erfindung befaßt sich mit einem fahrzeuggebundenen Detektionssystem, welches kontinuierlich abgetastete Sensordaten bereitstellt und in einer festen Lage (hart) am Rumpf eines Trägerfahrzeuges befestigt ist, und befaßt sich insbesondere mit der Umwandlung aller detektierten Daten in ein allgemeines System räumlicher Koordinaten, in welchem die Fahrzeugbewegungen zwischen aufeinanderfolgenden Abtastzeitpunkten kompensiert sind.

Obwohl die vorliegende Erfindung insbesondere, was eine in einem Flugzeug eingesetzte Ausführungsform betrifft, beschrieben werden wird, ist die Erfindung auch in einer Anzahl anderer Fahrzeugarten, wie z.B. Landfahrzeugen, Wasserfahrzeugen, Unterwasserfahrzeugen und Raumfahrzeugen nutzbringend.

Die US-A-4244215 offenbart einen Trägheits-Transformationsmatrixgenerator zum Erzeugen einer Euler-Transformationsmatrix in Trägheitskoordinaten, für den Einsatz bei der Umwandlung der Antworten eines fahrzeuggebundenen Sensors in Trägheitskoordinaten, wobei der Trägheits-Transformationsmatrixgenerator aufweist: erste, zweite und dritte geschwindigkeitsabtastende Kreisel zur Lieferung entsprechender Ausgangssignale (Wα, Wβ, Wγ), die Komponenten der Fahrzeugrumpfbewegung in jeder der drei zueinander senkrechten Richtungen angeben.

Der Bezugs-Trägheitsrahmen, auf den die Detektionen stabilisiert werden ist normalerweise einer der Trägheitsrahmen, der von dem Bord-Trägheitsnavigationssystem (INS - Inertial Navigation System) genutzt wird. Ein gemeinsamer Bezugsrahmen ist beispielsweise der NED-(North, East, Down)- Bezugsrahmen, der als ein lokales vertikales, nordbezogenes Koordinatensystem definiert ist. Die D-Achse ist nach unten gerichtet. Die N-Achse ist rechtwinklig zur D-Achse und nach Norden gerichtet. Die E-Achse ist sowohl zu der N-Achse als auch zu der D-Achse senkrecht und nach Osten gerichtet.

Der andere interessierende Bezugskoordinatenrahmen eines Trägerflugzeuges ist der Koordinatenrahmen, auf welchen das INS bezogen oder eingestellt ist. Ein üblicherweise verwendeter Bezugsrahmen ist das Körperkoordinatensystem (Nase, Rechter Flügel, Unten). Die x- oder Nasenachse zeigt durch das Flugzeug längs dessen Wasserlinie, die y- oder Rechter- Flügel-Achse ist rechtwinklig zur x-Achse und aus dem rechten Flügel heraus gerichtet. Die z- oder Unten-Achse ist sowohl zu der x- als auch der y-Achse senkrecht und aus dem Boden Flugzeuges heraus gerichtet.

Wie allgemein bekannt (siehe z.B. US-A-3 545 266) ist in dem Rechts-Koordinatensystem die Euler-Transformationsmatrix [Eα] für eine Rotation um einen Winkel α über der z-Achse wie folgt:

Die Euler-Transformationsmatrix [Eβ] für eine Rotation um einen Winkel β über der y-Achse ist wie folgt:

Die Euler-Transformationsmatrix [Eγ] für eine Rotation um einen Winkel γ über der x-Achse ist wie folgt:

Wenn die Rotationsreihenfolge α, β und dann γ wäre, wäre die Gesamttransformation [T] in drei Dimensionen das Produkt dieser drei Matrizen. Die Reihenfolge dieser Multiplikation muß eingehalten werden.

Sobald die Rotationswinkel zwischen zwei Koordinatensystemen bekannt sind, wird die Transformation eines Punktes in dem einem Koordinatensystem in das andere durch eine Matrizenmultiplikation ausgeführt. Bei zwei gegebenen Koordinatensystemen A und B und bekannten Euler-Winkeln zwischen A und B ist die Transformation eines Punktes x', y', z' in dem Rahmen von B zurück zu einem Punkt x, y, z in einem Rahmen von A, wie folgt:

Wenn drei Koordinatensysteme A, B und C vorliegen würden und die Euler-Transformationsmatrix [EAB] von A nach B und die Euler-Transformationsmatrix [EBC] von B nach C bekannt sind, dann kann die Euler-Transformationsmatrix [EAC] wie folgt gefunden werden:

Dieses Verfahren kann dazu verwendet werden, Daten aus dem Sensorkoordinaten-Bezugsrahmen des Flugzeugbezugsrahmens auf den Bezugsrahmen des Trägheitskoordinatensystems zu transformieren.

Dieses Verfahren kann auch zum Aktualisieren der Transformationsmatrix aus dem Sensorkoordinatenrahmen auf den Trägheitsbezugsrahmen verwendet werden. In einem derartigen Falle wäre die Euler-Matris [EAB] die vorhergehende Transformation, und die Euler-Matrix [EBC] wäre die inkrementale Transformation. Die tatsächliche Transformation wäre gerade die Multiplikation der zwei Matrizen mittels Gleichung (6). Über den Verlauf der Zeit kann eine kontinuierliche Aktualisierung der Euler-Transformation durch eine Matrixmultiplikation einer Aufeinanderfolge von inkrementalen Transformationsmatrizen in einer Ketten-Reihen-Matrixmultiplikationsprozedur ausgeführt werden.

Ein zum Stabilisieren von Detektionen verwendetes herkömmliches Verfahren ist die Montage des Sensors auf einer stabilisierten Plattform. Die Plattform ist kardanisch aufgehängt, um Rotationen um die Hoch-, Nick- und Längsachse zu erlauben; und dabei wird die Lage der Plattform durch Kreisel beibehalten. Die elektrischen Ausgangssignale der Kreisel sind proportional zu den Winkeln (oder den Geschwindigkeiten), über welche die kardanischen Aufhängungen bewegt werden. Diese Kreiselwinkel stellen reihenfolgeabhängige Rotationen um jede kardanische Achse dar. Mit anderen Worten, diese Winkel stellen eine Rotation um die Hochachse, gefolgt von einer Rotation um die Nickachse, gefolgt von einer Rotation um die Längsachse dar. Diese sind die Euler-Winkel der Rotation, welche für die Bildung der Euler-Transformationsmatrizen verwendet werden können.

Aus praktischen Erwägungen müssen Detektionssysteme oft anstelle einer Montage auf einer stabilisierten Plattform hart an Flugzeugrümpfen befestigt werden. Die Sensordaten enthalten daher die Auswirkungen jeder Flugzeugbewegung. Um die Falschalarm-Häufigkeit des Systems auf ein annehmbares Maß zu reduzieren, müssen potentielle Fehleinflüsse in einem Trägheitskoordinatensystem verfolgt werden. Die Auswirkungen von Flugzeugbewegung müssen daher aus den Sensorrohdaten beseitigt werden, bevor eine Kursverfolgung ausgeführt werden kann. Drei bei dem Sensor angeordnete und am Fahrzeugrumpf festgeschnallte geschwindigkeitsintegrierende Kreisel können die von den Flugzeugmanövern verursachte Bewegung sowie die von Flugzeugvibrationen, Durchbiegung und von Turbulenzen verursachte Bewegung messen.

Die von den festgeschnallten Kreiseln gemessenen Winkel sind nicht die Euler-Winkel der Rotation. Nach dem Stand der Technik wurden die Euler-Winkel durch Verarbeiten dreier zu den Hoch-, Nick- und Längsgeschwindigkeiten des Kreisels zugehöriger simultaner Differentialgleichungen und Umwandeln dieser in Euler-Geschwindigkeiten berechnet. Dieses werden dann integriert, um Euler-Winkel zu erhalten. Dann wurden die Euler-Winkel dazu verwendet, eine Transformationsmatrix [T] mittels Gleichung (4) zu bilden. Dieses beinhaltet eine große Anzahl von Berechnungen.

Die Erfindung ist in den Ansprüchen spezifiziert, auf welche die Aufmerksamkeit zu richten ist .

Eine Ausführungsform der Erfindung vermeidet die Ausführung sovieler Berechnungen, indem eine inkrementale Transformationsmatrix auf etwas direkterem Wege abgeleitet wird, die auf kleinen Winkelannäherungen beruht. Eine Differentialgleichung erster Ordnung gemäß Gleichung (7) und folgend kann dann gelöst werden, um die Transformationsmatrix T(t) zu finden.

(t) = T(t)W(t) (7)

Die Transformationsmatrix T(t) ist eine Funktion der Zeit, wie auch die Koeffizientenmatrix W(t). Die Koeffizientenmatrix ist wie folgt definiert:

Die Elemente der W-Matrix sind die von den drei Kreiseln gemessenen Geschwindigkeiten.

Die Lösung der Differentialgleichung (7) ist:

wobei Φ(t,t&sub0;) die der Gleichung zugeordnete Transformationsmatrix ist und gegeben ist durch:

(Siehe R.W. Brockett, Finite Dimensional Linear Systems, John Wiley & Sons, N.Y., 1970, Seiten 19 bis 23).

Wenn τ = t - t&sub0; klein ist, d.h., τ « 1, dann ist W( ) ungefähr konstant für alle t&sub0; ≤ ≤ t. In diesem Falle kann Φ(t,t&sub0;) wie folgt angenähert werden:

Durch Abschneiden der Terme zweiter und höherer Ordnung erhalten wird folgendes:

wobei I die Einheitsmatrix und α, β, γ die Winkel sind, um die jeder Kreisel während der Zeit τ rotiert. Daher wird, um die Transformationsmatrix T(t&sub1;) auf T(t&sub2;) zu aktualisieren, wobei t&sub2; -t&sub1; = τ, die folgende Matrixmultiplikation ausgeführt.

wobei die inkrementale Transformationsmatrix gegeben ist durch:

Jede sukzessive inkrementale Euler-Transformationsmatrix (T) und eine entsprechende weitere Matrix (T(t&sub1;)) werden miteinander multipliziert, um eine entsprechende Produktmatrix (T(t&sub2;)) zu erzeugen, wobei die weitere Matrix zu Beginn eine Initialisierungsmatrix ist und danach die vorhergehend berechnete Euler-Transformationsmatrix ist. Jede sukzessive aktuelle Euler-Transformationsmatrix wird aus jeder sukzessiven Produktmatrix gebildet, was in der Ausführungsform der Erfindung ausgeführt wird, indem ihr zu bestimmten Zeitpunkten eine Korrekturmatrix hinzuaddiert wird die durch einem Langzeitvergleich der von den Transformationsmatrix-Generator und dem Trägheitsnavigationssystem erzeugten Matrizen abgeleitet wird.

Von den Zeichnungen stellen dar:

Fig. 1 ein schematisches Diagramm eines Systems mit einem Trägheits-Transformationsmatrixgenerator, der die Erfindung verkörpert, zum Berechnen von Euler-Transformationsmatrizen zum Umwandeln von Sensordaten in Trägheitskoordinaten;

Fig. 2 ein schematisches Diagramm eines Ketten-Reihen-Matrixmultiplizierers in einem Trägheits-Transformationsmatrixgenerator, der die vorliegende Erfindung in einer bevorzugten Ausführungsform verkörpert;

Fig. 3 eine Tabelle von Steuersignalwerten für den Ketten- Reihen-Matrixmultiplizierer von Fig. 2;

Fig. 4, welche die Figuren 4a, 4b, 4c und 4d umfaßt, eine Tabelle der Inhalte von Speicherelementen in einem ersten und dritten Speicher des Ketten-Reihen-Matrixmultiplizierers von Fig. 2 während eines Initialisierungszyklusses und eines weiter andauernden Betriebszyklusses;

Fig. 5 eine Tabelle der Inhalte weiterer Speicherelemente des Ketten-Reihen-Matrixmultiplizieres von Fig. 2 (einschließlich der in seinem zweiten Speicher) während eines Abschnittes aufeinanderfolgender Betriebszyklen;

Fig. 6 ein schematisches Diagramm, welches Verbindungen des Trägheitsnavigationssystems zu dem Trägheits-Transformationsmatrixgenerator für den Bezug der Trägheitstransformationsmatrix zeigt; und

Fig. 7 ein Diagramm der Informationsverarbeitung in einem System, welches den Trägheits-Transformationsmatrixgenerator der vorliegenden Erfindung enthält.

Fig. 1 ist ein konzeptionelles schematisches Diagramm des Trägheits-Transformationsmatrix- Generationssystems (TMG) zum Erzeugen von Euler-Transformationsmatrizen, welche dazu verwendet werden, die Sensordaten eines Flugzeugs in ein Trägheitskoordinatensystem zu Übertragen, in welchem die Auswirkungen der Flugzeugbewegung unterdrückt werden. Ein die Hochachse abtastender Kreisel 11 erzeugt ein Geschwindigkeitssignal der Hochachsenwinkel-Änderungsinformation Wα in analoger Form, welches von einem D/A-Wandler 14 in digitale Form umgewandelt wird und dann an einen digitalen Multiplizierer 17 geliefert wird, um da mit einem Zeitinkrement Δt multipliziert zu werden, um ein Folge inkrementaler Hochachsenwinkel α zu erzeugen. Ein die Nickachse abtastender Kreisel 12 erzeugt ein Geschwindigkeitssignal der Nickachsenwinkel-Änderungsinformation Wβ in analoger Form, welches von einem D/A-Wandler 15 in digitale Form umgewandelt wird und dann an einen digitalen Multiplizierer 18 geliefert wird, um da mit einem Zeitinkrement Δt multipliziert zu werden, um ein Folge inkrementaler Nickachsenwinkel β zu erzeugen. Ein die Längsachse abtastender Kreisel 13 erzeugt ein Geschwindigkeitssignal der Längsachsenwinkel-Änderungsinformation Wγ in analoger Form, welches von einem D/A-Wandler 16 in digitale Form umgewandelt wird und dann an einen digitalen Multiplizierer 19 geliefert wird, um da mit einem Zeitinkrement Δt multipliziert zu werden, um ein Folge inkrementaler Längsachsenwinkel γ zu erzeugen. Die inkrementalen α- β- und γ-Winkel werden zum Definieren der inkrementalen Euler-Transformationsmatrix T der Gleichung (14) verwendet, und ein Ketten-Reihen-Matrizen- Multiplizierer 21 verwendet eine Folge dieser Matrizen um eine Folge aktualisierter Euler-Transformationsmatrizen mittels der Matrixgleichung (13) zu erzeugen.

Der Ketten-Reihen-Matrizen-Multiplizierer 21 enthält Elemente 22 bis 26. Der Speicher 22 speichert inkrementale Euler-Transformationsmatrizen und wird mit den von den multiplizierenden A/D-Wandlern 17, 18 und 19 erzeugten inkrementalen Euler-Winkeln α, β und γ entsprechend beschrieben. Die vorhergehende Euler-Transformationsmatrix, wird, so wie sie aus dem Speicher 24 ausgelesen wurde, in der Matrixmultiplikationseinrichtung 23 durch jede folgende dieser Matrizen multipliziert, um eine aktualisierte Euler- Transformationsmatrix zu erzeugen, welche periodisch durch Addieren von Korrekturtermen in dem Addierer 25 korrigiert wird. Die korrigierte aktualisierte Euler-Transformationsmatrix wird temporär in einem Speicher 26 gespeichert und anschließend zum Überschreiben des Speichers 24 verwendet. Die Initialisierungs-Euler-Transformationsmatrix wird von dem Trägheitsnavigationssystem geliefert.

Die TMG-Systemkorrekturen für die Langzeitdrift zwischen dem Euler-Transformationsmatrixgenerator und dem Trägheitsnavigationssystem (INS) werden in der Fig. 1 durch periodisches Addieren von Korrekturen zu Transformationsmatrix-Korrekturtermen unter Verwendung eines hinter der Matrixmultiplikationseinrichtung 23 angeordneten Addierers 25, der Korrekturschleife, ausgeführt. Die dem Addierer 25 zugeführten Euler-Transformations-Korrekturterme sind eine Fehlersignalmatrix, welche durch Übernehmen der Euler- Transformierten erzeugt wird, so wie sie von dem Speicher 24 in dem Trägheits-Transformationsmatrix- Generationssystem (TMG) geliefert wird, welche über der Zeit integriert wird, um aus der Vibration und Rumpfbiegung entstehende höherfrequente Terme zu unterdrücken, so daß sie nur auf die niederfrequente Bewegung des Flugzeuges reagiert, und welche mit der Transformierten des Trägheitsnavigationssystems (INS) verglichen wird, welche ebenfalls nur die auf die niederfrequenten Bewegungen des Flugzeugs reagiert. Der Vergleich wird durch eine Matrixsübtraktion erreicht.

Es gibt mindestens vier Fehlerquellen, welche den Transformationsmatrixgenerator beeinflussen und kompensiert werden sollten, wobei die Fehler unter den folgenden vier Punkten aufgelistet sind:

1) Die Kreiselachsen sind wechselseitig nicht exakt rechtwinklig ausgerichtet, was einen ein Fehler in die Euler- Transformationsmatrix einführt. Dieser Fehler kann durch sorgfältige mechanische Justierungen vermieden werden, aber es ist praktischer eine elektrische Korrektur vorzusehen. Dieser Fehler ist ein statischer Fehler und wird am besten durch Einführen eines Schrittes einer Matrixmultiplikation mit einer Festwert-Korrekturmatrix kompensiert. Diese in dieser Beschreibung noch detaillierter ausgeführte Korrektur ist in dem Systemdiagramm von Fig. 1 nicht dargestellt.

2) Die Winkel α, β und γ werden durch Produkte von Kreiselgeschwindigkeit mit einem Zeitinkrement, d.h., α = Wατ, β = Wβτ, γ = Wγτ angenähert. Dieses ergibt nur dann den korrekten Winkel, wenn die Geschwindigkeit über dem Zeitintervall τ konstant ist. Anderenfalls entsteht ein Fehler im Winkel, welcher durch den Aktualisierungsvorgang akkumuliert wird.

3) Die inkrementale Transformationsmatrix ist keine echte Euler-Transformationsmatrix, sondern wird nur eine, wenn sich α, β und γ jeweils Null nähern. Für Werte von α, β und γ ungleich Null gibt es einen Approximationsfehler, welcher die Matrix nicht unitär macht. Die Euler-Transformationsmatrix zum Transformieren von Koordinaten einer Referenz in eine dazu gedrehte Referenz ist per Definition unitär, d.h, die Matrixprodukte der Matrix selbst multipliziert mit ihrer transponierten Matrix und der transponierten Matrix multiplizierten Matrix selbst sind untereinander gleich und zur Einheitsmatrix von ähnlicher Ordnung. Diese Einheitsmatrix ist die quadratische Matrix I = [δij], wobei jedes Matrixelement δij Zeile i und Spalte j für i = j einen Wert gleich Eins und anderenfalls gleich Null aufweist. Das Produkt unitärer Matrizen ist unitär. Somit sollte theoretisch das Aktualisieren einer Euler-Transformationsmatrix durch ihre Multiplikation mit aufeinanderfolgenden inkrementalen Euler-Transformationsmatrizen unter der Annahme, daß alle miteinander multiplizierten Matrizen unitär waren, immer eine unitäre Matrix ergeben. In dem Transformationsmatrixgenerator, nimmt jedoch die inkrementale Transformationsmatrix, welche gemäß Gleichung (13) das Produkt ihrer selbst [T] und ihrer Transponierten [T]T ist, die folgende Form an:

Daher ist T nur in erster Näherung unitär, wobei die Approximation umso besser ist, je kleiner α, β und γ sind. Somit bewirkt die Aktualisierungsprozedur bei einer gewaltsameren Maneuvrierung des Flugzeugs und den damit verbundenen größeren Werten von α, β und γ eine dementsprechend schnellere Abweichung von einer anfänglich unitärem Euler-Transformationsmatrix.

4) Jede Matrixmultiplikation führt durch begrenzte Wortlängen bedingte arithmetische Fehler ein, welche sich ebenfalls von Aktualisierungsschritt zu Aktualisierungsschritt akkumulieren. Diese Fehler akkumulieren sich schneller, wenn die Multiplikation nur mit einfacher Präzision (Beibehalten des Hauptproduktes und Unterdrücken der Nebenproduktes) statt mit doppelter Präzision (Beibehalten sowohl des Hauptproduktes und der Nebenprodukte in einem Akkumulator mit einer vergrößerten Bitanzahl) ausgeführt wird. Das bloße Beschneiden des Produkts auf das Hauptprodukt statt einer nachfolgenden Rundungsprozedur. bewirkt eine schnellere Akkumulation der Fehler

Ein erfindungsgemäß aufgebauter ursprünglicher TMG korrigierte die Winkel α, β und γ auf der Basis geschätzter Fehler, die durch Vergleichen von TMG-erzeugten und INS- erzeugten Matrizen erhalten wurden. Die Invertierte einer dieser Matrizen wurde mit der anderen matrixmultipliziert, um eine Produktmatrix mit sinα-, sinβ- und sinγ-Termen als Elementen davon zu entwickeln. Diese als kleine Winkel approximierten Terme stellen die Winkelfehler zwischen dem TMG-erzeugten und INS-erzeugten Matrizen dar. Diese Abweichungen werden tiefpaßgefiltert, um die Korrekturterme für die Euler-Winkel α, β und γ zu erzeugen. Die Fehler waren ziemlich klein, solange α, β und γ klein genug waren, so daß ihre quadrierten Werte kleiner als ein geringstwertiges Bit der Systemwortlänge sind. Größere Werte von α, β und γ können zu nicht-unitären und zu nicht-orthogonalen Fehlern führen, wenn keine Sorgfalt bei der Kreisel-A/D-Wandler-Skalierung und bei und den TMG-Abtastraten aufgewendet wird. In dem ursprünglichen TMG werden Fehler aus der dritten auf gelisteten Quelle durch Verwendung einer langen Wortlänge, einer Voll-Präzisions-Multiplikation (oder Doppelpräzision) mit Rundung, was die Akkumulation von Doppellängenworten mit sich brachte, gesteuert.

Bei dem Korrekturschema von Fig. 1 werden die Winkel α, β und γ nicht direkt korrigiert. Stattdessen wird die gesamte Transformationsmatrix mit jeder Eingabe unter Verwendung eines Fehlerrückkopplungskorrekturmechanismus im geschlossenem Regelkreis korrigiert. Dieses korrigiert alle vier aufgelisteten Fehlerquellen. Dieses Korrektursystem bringt die Transformationsmatrix immer wieder auf eine unitäre zurück, unabhängig davon, wie groß α, β und γ werden. Desweiteren kann eine Einfachpräzisionsmultiplikation mit Beschneidung statt Rundung zum Liefern einer arithmetischen Quantisierung ohne das Problem einer Weglauf-Akkumulation der Multiplikatorfehler verwendet werden.

Der Ketten-Reihen-Matrixmultiplikator 21 kann solch einer sein, welcher mehrere digitale Multiplizierer verwendet, um elementweise Multiplikationen parallel auszuführen. Die Erfinder D.S. Chan und D.A. Staver beschreiben in einer U.S. Patentanmeldung 401,581 mit dem Titel "CHAIN-SERIELL MATRIX MULTIPLIERS" (RD 18827) (EP-A-89102918.3) Vielzweck-Ketten- Reihen-Matrixmultiplikatoren, wie sie für den Ketten-Reihen- Matrixmultiplikator 21 verwendet werden können, in welchen ein einzelener digitaler Multiplizierer auf Zeitmultiplexbasis verwendet wird, um alle elementweisen Multiplikationen auszuführen. Anstelle der Verwendung eines Vielzweck- Matrixmultiplizierers 21 dritter Ordnung, wird ein spezieller Matrixmultiplizierer dritter Ordnung, wie er ebenfalls in dieser US-Patentanmeldung beschrieben ist, für die Ausführung der Ketten-Reihen-Matrixmultiplikation für das System der Fig. 1 vorgezogen

Fig. 2 ist ein schematisches Diagramm dieses speziellen Ketten-Reihen-Matrixmultiplizierers für das System von Fig. 1. Fig. 3 ist eine Tabelle der in dem Matrixmultiplizierer von Fig. 2 verwendeten Steuersignale. Die aus den Fig. 4a, 4b, 4c und 4d bestehende Fig. 4 ist eine Tabelle, welche die Inhalte von Temporär-Speicherelementen 401 bis 419 in einem ersten Speicher 41 und einem dritten Speicher 43 des Matrixmultiplizierers von Fig. 2 während seines Betriebes beschreibt. Fig. 5 ist eine Tabelle, welche die Inhalte von Temporär-Speicherelementen in einen zweiten Speicher 42 des Matrixmultiplizierers von Fig. 2 und eines Temporär- Speicherelementes zwischen einem Multiplizierer 40 im Matrixmultiplizierer in Fig. 2 und dessen zweiten Speicher 42 während der Integration der Kreiselgeschwindigkeitsinformation beschreibt. Der Multiplizierer 40 und zugehörige Abtastwort-Intervall-Verzögerungselemente 420 und 421 sind das Äquivalent eines tatsächlichen Pipeline-Multiplizierers mit einer Zwei-Worte-Verzögerung bei der Erzeugung des Hauptproduktes.

Eines der Konstruktionsziele für den Matrixmultiplizierer der Fig. 2 war eine Entwicklung, daß die meisten Steuersignale einen einfachen binären Zähler verwenden. Dementsprechend wird, wie es aus der Tabelle der Steuersignale von Fig. 3 ersehen werden kann, ein 32-Schritt-Betriebszyklus verwendet. Ein Steuersignal C&sub1; und C&sub2; kann von dem niedrigstwertigen Bit bzw. dem höchstwertigen Bit des Zählerausgangssignals eines fünfstufigen binären Aufwärtszählers bereitgestellt werden. Ein Steuersignal C&sub4; kann einfach durch UND-Verknüpfung des höchstwertigen Bits und des nächsthöchstwertigen Bits des Zählerausgangssignals des fünfstufigen Zählers erzeugt werden. Ein Steuersignal C&sub3; kann durch Dekodieren der Zählerstände sechs und zwölf aus dem Binärzähler und durch ODER-Verknüpfung des Dekoderausgangssignals mit dem Steuersignal C&sub4; erzeugt werden. Während des 32-Schritt-Betriebszyklusses wird ein einzelner digitaler Multiplizierer 40 in dem Matrixmultiplizierer von Fig. 2 auf einer Zeitmultiplexbasis sowohl zur Integration der Kreiselgeschwindigkeitsinformation als auch zum Ausführen der mit der Matrixmultiplikation verbundenen Multiplikationen zum Aktualisieren der Euler-Transformationsmatrix dritter Ordnung verwendet. Die Integration der Kreiselgeschwindigkeitsinformation findet in den Schritten 25 bis 32 des Betriebszyklusses statt.

Die Elemente einer vorhergehenden Euler-Transformationsmatrix [E(t)] sind als A, B, C, D, E, F, G, H und I definiert, und jeder Schritt der Ketten-Reihen-Matrixmultiplikation zur Aufstellung der aktuellen Euler-Matrix [E(t+Δt)] sollte wie folgt sein:

Diese Ketten-Reihen-Matrixmultiplikation wird während der Schritte 1 bis 18 des Betriebszyklusses ausgeführt, wobei zwei Schritte des Betriebszyklusses zum Erzeugen jedes Elementes der neuen Matrix anstelle von drei wie bei Ketten- Reihen-Matrixmultiplizierern benutzt werden. Dieses ist möglich, da die Multiplikationen mit Elementen mit dem Wert 1 in der Matrix [T] von dem einzelnen digitalen Multiplizierer 40 nicht ausgeführt werden müssen. Stattdessen definiert ein mit einem solchen Element mit dem Wert 1 zu multiplizierendes Element das Produkt einer derartigen Multiplikation und wird direkt an einen Akkumulator 44 nach dem Multiplizierer 40 weitergeleitet, statt den Multiplizierer 40 diese trivialen "Multiplikationen" auf einer pro forma Basis ausführen zu lassen.

Die Multiplikandenmatrix wird einmal in Zeilenhauptreihenfolge abgetastet, wobei die aufeinanderfolgenden Elemente in jeder Zeile mit 1, α und -β eines Spaltenvektors der Multiplikatormatrix multipliziert werden. Mann könnte die Multiplikandenmatrix so anordnen, daß sie in der Zeilenhauptreihenfolge noch zweimal abgetastet wird, wobei die aufeinanderfolgenden Elemente in jeder Zeile mit dem Spaltenvektor -α, 1 und γ bei der ersten Wiederholungsabtastung und mit dem Spaltenvektor β, -α und 1 bei der zweiten Wiederholungsabtastung multipliziert werden. Anstatt dieses zu tun, werden Schritte unternommen, um die Elemente in der Multiplikandenmatrix mit den zyklisch vertauschten (barrel-shiftet) Spaltenvektor 1, γ und -α und dann mit dem zyklisch vertauschten Spaltenvektor 1, β und -γ zu multiplizieren. Dieses wird dadurch möglich, daß kompensierende zyklische Vertauschungen in den Positionen von Elementen in den Zeilen der Multiplikandenmatrix zwischen jedem Abtasten in der Zeilenhauptreihenfolge vorgesehen werden und die Produktmatrix so betrachtet wird, daß sie entsprechende zyklische Vertauschungen in den Elementepositionen in ihren Reihen aufweist. Diese zyklische Vertauschung von Elementen in den Spalten der Multiplikatormatrix und in den Zeilen der Multiplikanden- und Produktmatrizen sind durch serielle Speicher implementierbar. Wenn eine vollständige Matrixmultiplikation ausgeführt ist, haben die drei aufeinanderfolgenden zyklischen Vertauschungen von Elementen in den Zeilen der Produktmatrix während der Matrixmultiplikation die ursprünglichen Positionen dieser Elemente wiederhergestellt.

Das Initialisierungsladen von Temporär-Abtastspeicherelementen 401 bis 413 im ersten Speicher 41 des Matrixmultiplizierers von Fig. 2 wird über den seriellen dritten Speicher 43, welcher Temporär-Abtastspeicherelemente 412 bis 418 und einen Multiplexer 506 aufweist, und über ein Temporär-Abtastspeicherelement 419 und einen Multiplexer 513 in einem Akkumulator 44 ausgeführt. Die Fig. 4a und 4b sind Tabellen von Zuständen von Temporär-Abtastspeicherelementen, die in der ersten bzw. zweite Hälfte am Anfang des 32- Schritt-Betriebszyklusses erhalten werden, während dem dieses Initialisierungs-Laden ausgeführt wird. Das an den Multiplexer 513 angelegte Steuersignal CINITIAL liegt für die ersten 21 Schritte des 32-Schritt-Betriebszyklusses auf hohem Pegel und konditioniert den Multiplexer 513 so, daß er die A bis I Elemente der Initialisierungs-Multiplikandenmatrix aus einem Doppelpufferspeicher 45 mit wahlfreiem Zugriff lädt.

Das RAM 45 enthält parallele Laderegister 451, in welche die Initialisierungs-Datenabtastsignale A bis I gesteuert von der Dekoderlogik 450 asynchron gemäß Darstellung geladen werden. Das RAM 45 enthält auch ein paralleles Laderegister 452, in welches ebenfalls gesteuert von der Dekoderlogik 450 Δt-Abtastsignale asynchron geladen werden. Das RAM 45 enthält Parallel/Seriell-Register 453, in welche die A bis I Initialisierungsdatenabtastsignal parallel geladen werden, wobei die Register 453 synchron betrieben werden und so verbunden sind, daß sie einen seriellen Speicher bilden. Das RAM 45 enthält ebenfalls ein Register 426, das so verbunden ist, daß es aufeinanderfolgende Δt-Abtastsignale aufnimmt und jedes davon in einem synchronen seriellen Speichervorgang umlaufen läßt. Gemäß späterer Beschreibung werden die Register 451 und 452 auch zum temporären Speichern von Korrekturdaten bis zu einem Zeitpunkt verwendet, bis sie in den Akkumulator 44 gesendet werden.

Das RAM 45 weißt zuvor gespeicherte Initialisierungsdaten auf, die von dem Trägheitsnavigationssystem bereit gestellt wurden, und liefert diese nun in der Reihenfolge XXXAXDXGXDXEXHXCXFXI während der Schritte 1 bis 21 des 32- Schritt-Initialisierungszyklusses. Nach drei nicht zu berücksichtigenden Abtastsignalen stellt diese Folge die Matrixabtastsignale in Spaltenhauptrichtung dar, welche sich mit nicht zu berücksichtigenden Abtastsignalen abwechseln, wobei die nicht zu berücksichtigenden Werte durch X bezeichnet sind. Die von den Temporär-Speicherelementen 419 erbrachte Verzögerung um ein Abtastsignal bewirkt, daß die sich abwechselnden Abtastsignale A, D, G, B, E, H, C, F und I an den Eingangsanschluß des während ungerade numerierter Schritte selektierten Multiplexer 506 geliefert werden, um ein Signal an in Reihe geschaltete Temporär-Abtastspeicherelemente 418, 417, 416, 415, 414 in dem dritten Speicher 43 zu liefern. Nach diesem einen Durchlauf durch die in Reihe geschalteten Temporär-Speicherelemente im Speicher 43 werden die sich abwechselnden Abtastsignale jedoch auf den Eingangsanschluß des Multiplexers 506 zurückgeführt, der während gerade numerierten Schritten selektiert ist, um das Signal an die in Reihe geschalteten Temporär-Speicherelemente 418, 417, 416, 415, 414 des dritten Speichers zu liefern, um sie mit ihren Nachfolgern zeitlich zu verschachteln. Nach einem Durchlauf durch die in Reihe geschalteten Temporär- Speicherelemente im dritten Speicher 43 werden die sich abwechselnden Abtastsignale um ein zusätzliches Abtastintervall in jedem der in Reihe geschalteten Temporär- Abtastspeicherelemente 413 und 412 verzögert, um an Eingangsanschlüssen von Multiplexern 505 und 504 anzukommen, die zu dem Zeitpunkt nicht für die Verbindung zu ihren Ausgangsanschlüssen selektiert sind, an dem diese Abtastsignale ankommen. Nach diesem einen Durchlauf durch die in Reihe geschalteten Temporär-Speicherelemente im dritten Speicher 43 werden die einander abwechselnden Abtastsignale jedoch auf den Eingangsanschluß des Multiplexers 506 zurückgeführt, der während gerade numerierten Schritten selektiert ist, um ein Signal an in Reihe geschalteten Temporär-Speicherelemente 418, 417, 416, 415, 414 in dem dritten Speicher 43 zu liefern, um diese mit ihren Nachfolgern zeitlich zu verschachteln.

Nach den zweiten Durchlauf dieser sich einander abwechselnden Abtastsignale durch die in Reihe geschalteten Temporär-Speicherelemente im dritten Speicher 43 zur zeitlichen Verschachtelung mit den anderen Initialisierungsabtastsignalen und nach einer weiteren Verzögerung um ein Abtastsignal in einem getakteten Temporär-Speicherelement 413 kommen diese Initialisierungsabtastsignale an dem Eingangsanschluß eines Multiplexers 505 an, der zu diesen Zeitpunkten für die Verbindung zu seinen Ausgangsanschlüssen selektiert ist. Die durch den Multiplexer 505 zu einem getakteten Temporär-Speicherelement 410 geführten Initialisierungsabtastsignale sind mit Ausnahme des letzten Abtastsignals von einem Multiplexer 504 zur Verbindung mit seinem Ausgangsanschluß nicht selektiert. Die Initialisierungsabtastsignale erreichen nach einer weiteren Abtastsignalverzögerung in einem getakteten Temporär-Speicherelement 412 den Eingangsanschluß eines Multiplexers 504, der auf während aller Initialisierungsabtastsignale seine Ausgangsanschlüsse geschaltet ist, außer bei dem letzten Abtastsignal I.

Ein Multiplexer 503 leitet nur während ungerader numerierter Schritte des Betriebszyklusses seinen mit dem Ausgangsanschluß des Multiplexers 504 verbundenen Eingangsanschluß selektiv zu seinem Ausgangsanschluß, so daß die Initialisierungsabtastsignale durch den Multiplexer 504 an die in Reihe geschalteten Temporär-Abtastspeicherelemente 409, 408, 407, 406 und 405 nur dann fließen, nachdem diese Abtastsignale einen Umlauf durch den seriellen dritten Speicher gemacht haben, so daß sie den Multiplexer 503 bei einem ungerade numerierten Schritt des Betriebszyklusses erreichen. In ähnlicher Weise leitet ein Multiplexer 502 Abtastsignale, die von einem getakteten Temporär- Speicherelement 405 mit einer Verzögerung um ein Abtastsignal geliefert werden, nur während ungerade numerierter Schritte weiter, so daß nur Initialisierungsabtastsignale die durch in Reihe geschaltete Temporär-Speicherelemente 409, 408, 407, 406 und 405 umgelaufen sind, an in Reihe geschaltete Temporär-Speicherelemente 404, 403 und 402 angelegt werden. Desweiteren leitet ein Multiplexer 501 in ähnlicher Weise von einem Temporär-Speicherelement 402 gelieferte Abtastsignale nur während ungerade numerierter Schritte des Betriebszyklusses weiter, was bewirkt, daß jedes so weitergeleitete aufeinanderfolgende Abtastsignal zweimal nacheinander angelegt an den Akkumulator 430 erscheint.

Nach den ersten einundzwanzig Schritten des ersten 32- Schritt-Betriebszyklusses liegt das Steuersignal CINITIAL auf niedrigem Pegel. So wird der dritte Speicher 43 während aufeinanderfolgender Betriebszyklen unter Verwendung der von dem Akkumulator 44 akkumulierten aktualisierten Matrixelemente geladen. Insofern der dritte Speicher 43 und der erste Speicher 41 betroffen sind, findet das Laden der aktualisierten Matrixelemente in diesen aufeinanderfolgenden Betriebszyklen in ziemlich der gleichen Weise statt wie das Laden der Initialisierungsmatrixelemente in dem ersten Betriebszyklus.

Beginnend mit dem fünfundzwanzigsten Schritt jedes Betriebszyklusses und bis zu seinem letzten Schritt andauernd werden die temporär in dem zweiten Speicher 42 zu speichernden Matrixelemente für die Verwendung in dem nächsten 32-Schritt-Betriebszyklus erzeugt. Ein Multiplikationsfaktor Δt wird während des fünfundzwanzigsten Schrittes in das Temporär-Speicherelement 426 innerhalb des Puffer-RAM 45 geladen, und das an den Multiplexer 511 angelegte Steuersignal C&sub4; liegt auf hohem Pegel, was den Multiplexer 511 zum Anlegen des (in dem Temporär- Speicherelement 426 umlaufenden) Δt als Multiplikandensignal während der Schritte 25 bis 32 konditioniert. Ein Multiplexer 516 wird durch das Steuersignal C&sub4; mit hohem Pegel so konditioniert, daß er während der Schritte 25 bis 32 das Ausgelesene aus einem Doppelpufferspeicher 46 mit wahlfreiem Zugriff als Multiplikatorsignal an einem Multiplizierer 40 leitet. Die α-, β- und γ-Elemente für die Euler-Transformationsmatrix werden von dem Multiplizierer 40 als Produkte über die Reihenschaltung der Temporär-Speicherelemente 420 und 421 während der Schritte 28 bis 30 geliefert.

Während der Schritte 25 bis 32 ist das an den Multiplexer 512 angelegte Steuersignal C&sub4; auf hohem Pegel, und das an die Multiplexer 508, 509 und 510 angelegte Steuersignal C&sub3; ist auf hohem Pegel. Dementsprechend sind die Multiplexer 508 bis 510 konditioniert, Temporär-Abtastspeicherelemente 422, 423 und in 424 in Reihenschaltung mit Temporär-Speicherelementen 420 und 421 zu umfassen. Dieses ermöglicht es, daß die α, β und γ-Produkte für den Beginn des nächsten Betriebszyklusses an Positionen in den Temporär-Speicherelementen 424, 423 und 422 verschoben werden. Ein Temporär- Abtastspeicherelement 425 empfängt als Eingangssignal das negative Ausgangssignal aus dem Temporär-Speicherelement 423, wie es von Elementen 427 erzeugt wurde, und speichert so das -β-Produkt als den Beginn des nächsten Betriebszyklusses.

Die Fig. 4c und 4d stellen die in den Temporär-Speicherelementen 401 bis 409 während jedes Schrittes der ersten und zweiten Hälfte dieses nächsten Betriebszyklusses gespeicherten Abtastsignale dar. Die zu Beginn dieses Betriebszyklusses in den Temporär-Speicherelementen 402 bis 409 gespeicherten Matrixelemente sind den Blöcken dargestellt, welche diese Elemente in Fig. 2 repräsentieren. Ein aktualisiertes Matrixelement A', welches das ursprüngliche Matrixelement A ersetzt, wird durch Einschieben der Abtastsignale B und C in den Multiplizierer 40 nach dem ersten und zweiten Schritt, um mit den α- und -β-Werten multipliziert zu werden, berechnet. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem zweiten und dritten Schritt in Temporär- Speicherelemente 420 und dann nach dem dritten und vierten Schritt in Temporär-Speicherelemente 421 eingetaktet zu werden. Nach dem dritten Schritt empfängt der Addierer 441 in dem Akkumulator 440 das Abtastsignal A aus dem Speicherelement 401 als ein erstes Eingangssignal, so wie es von dem Multiplexer 507 als Reaktion auf das Steuersignal C&sub1; mit hohem Pegel selektiert wurde, und empfängt als ein zweites Signal das verzögerte Produkt αB aus dem Speicherelement 421. Das Summenausgangssignal aus dem Addierer 441 wird in das Speicherelement 419 eingeführt. Nach jedem folgendem gerade numerierten Schritt ist das Steuersignal C&sub1; auf niedrigem Pegel, was den Multiplexer 506 in dem dritten Speicher so konditioniert, daß er den Umlauf der darin bereits enthaltenen Abtastsignale fortsetzt, anstelle ein darin neu eingeschriebenes Abtastsignal zu akzeptieren. So empfängt der Addierer 441 nach dem vierten Schritt als erstes Eingangssignal das temporär in dem Speicherelement 419 gespeicherte Summenausgangssignal, wie es von dem Multiplexer 507 als Reaktion auf das auf niedrigem Pegel liegende Steuersignal C&sub1; selektiert wird. Der Addierer 441 empfängt als sein zweites Eingangssignal das verzögerte Produkt -βC aus dem Speicherelement 421. Der Addierer 441 liefert sein Summenausgangssignal an ein Speicherelement 419. Nach dem fünften Schritt (oder jedem ungerade numerierten Schritt) ist das an dem Multiplexer 506 angelegte Steuersignal C&sub1; auf hohem Pegel, was diesen dazu konditioniert, das temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis in den seriellen dritten Speicher 43 zu schreiben. So wird das Akkumulationsergebnis A' = A + αB - βC von dem Temporär- Speicherelement 419 zwischen dem fünften und dem sechsten Schritt des Betriebszyklusses zu dem Temporär-Speicherelement 420 übertragen.

Während des dritten Schrittes sind die Abtastsignale E und F zu den Speicherelementen 405 und 406 vorgeschritten, und das Abtastsignal D ist zu dem Speicherelement 402 vorgeschritten. Die Abtastsignale E und F treten nach dem dritten und vierten Schritt in den Multiplexer 40 ein, um mit den α- und -β-Werten multipliziert zu werden. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem vierten und fünften Schritt in das Speicherelement 420 und dann nach dem fünften und sechsten Schritt in das Temporär-Speicherelement 421 getaktet zu werden. Nach dem dritten Schritt schreibt der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit hohem Pegel das Abtastsignal D in das Speicherelement 401. Nach dem vierten Schritt liest der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit niedrigem Pegel das Abtastsignal D aus, um das Speicherelement 401 neu zu beschreiben. Nach dem fünften Schritt empfängt der Addierer 441 über den Multiplexer 507 das Abtastsignal D aus dem Speicherelement 401 als das eine Eingangssignal und empfängt das verzögerte Produkt αE aus dem Speicherelement 421 als sein anderes Eingangssignal. Der Multiplexer 507 arbeitet so, daß er nach dem sechsten Schritt das von dem Addierer 441 in das Speicherelement 419 eingesetzte Summensignal zu dem Addierer 441 zurück zirkulieren läßt, damit es zu dem aus dem Speicherelement 421 ausgelesenen, verzögerten Produkt -βF addiert wird. Nach dem siebenten Schritt schreibt der Multiplexer 506 das bis dahin temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis D' = D + αE - βF in den dritten Speicher 43.

Während des fünften Schrittes sind die Abtastsignale H und I zu den Speicherelementen 405 und 406 vorgeschritten, und das Abtastsignal G ist zu dem Speicherelement 402 vorgeschritten. Die Abtastsignale H und I treten nach dem dritten und vierten Schritt in den Multiplexer 40 ein, um mit den α- und -β-Werten multipliziert zu werden. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem sechsten und siebenten Schritt in das Speicherelement 420 und dann nach dem siebenten und achten Schritt in das Temporär-Speicherelement 421 getaktet zu werden. Nach dem fünften Schritt schreibt der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit hohem Pegel das Abtastsignal G in das Speicherelement 401. Nach dem sechsten Schritt liest der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit niedrigem Pegel das Abtastsignal G aus, um das Speicherelement 401 neu zu beschreiben. Nach dem siebenten Schritt empfängt der Addierer 441 über den Multiplexer 507 das Abtastsignal G aus dem Speicherelement 401 als das eine Eingangssignal und empfängt das verzögerte Produkt αH aus den Speicherelement 421 als sein anderes Eingangssignal. Der Multiplexer 507 arbeitet so, daß er nach dem achten Schritt das von dem Addierer 441 in das Speicherelement 419 eingesetzte Summensignal zu dem Addierer 441 zurück zirkulieren läßt, damit es zu dem aus dem Speicherelement 421 ausgelesenen, verzögerten Produkt -βF addiert wird. Nach dem neunten Schritt schreibt der Multiplexer 506 das bis dahin temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis G' = G + αH - βI in den dritten Speicher 43.

Wie man unter Bezugnahme auf die Temporär-Speicherzustände im zweiten Speicher 42 der Tabelle von Fig. 5 feststellen kann, bewirkt der während des sechsten Schrittes hohe Pegel des Steuersignals C&sub3; die Zirkulation der Elemente γ, α und β von den Temporär-Speicherelementen 422, 423 und 424 zu den Temporär-Speicherelementen 423, 424 und 422 nach dem zwölften Schritt, um darin bis zum achtzehnten Schritt zu bestehen. Nach dem siebenten Schritt wird der negative α- Wert, welcher in dem Speicherelement 423 gespeichert ist, in das Speicherelement 425 geschrieben, um darin bis zum zwölften Schrittes zu stehen.

Während des siebenten Schrittes sind die Abtastsignale C und A zu den Speicherelementen 405 und 406 vorgeschritten, und das Abtastsignal D ist zu dem Speicherelement 402 vorgeschritten. Die Abtastsignale C und A treten nach dem siebenten und achten Schritt in den Multiplexer 40 ein, um mit den γ- und -α-Werten multipliziert zu werden. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem achten und neunten Schritt in das Speicherelement 420 und dann nach dem neunten und zehnten Schritt in das Temporär-Speicherelement 421 getaktet zu werden. Nach dem siebenten Schritt schreibt der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit hohem Pegel das Abtastsignal B in das Speicherelement 401, wenn das Abtastsignal A ausgelesen wird. Nach dem achten Schritt liest der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit niedrigem Pegel das Abtastsignal B aus, um das Speicherelement 401 neu zu beschreiben. Nach dem neunten Schritt empfängt der Addierer 441 über den Multiplexer 507 das Abtastsignal B aus dem Speicherelement 401 als das eine Eingangssignal und empfängt das verzögerte Produkt γC aus dem Speicherelement 421 als sein anderes Eingangssignal. Der Multiplexer 507 arbeitet so, daß er nach dem zehnten Schritt das von dem Addierer 441 in das Speicherelement 419 eingesetzte Summensignal zu dem Addierer 441 zurück zirkulieren läßt, damit zu dem aus dem Speicherelement 421 ausgelesenen, verzögerten Produkt -αA addiert wird. Nach dem elften Schritt schreibt der Multiplexer 506 das bis dahin temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis B' = B + γC - αA in den dritten Speicher 43.

Während des neunten Schrittes sind die Abtastsignale F und D zu den Speicherelementen 405 und 406 vorgeschritten, und das Abtastsignal E ist zu dem Speicherelement 402 vorgeschritten. Die Abtastsignale F und E treten nach dem neunten und zehnten Schritt in den Multiplexer 40 ein, um mit den γ- und α-Werten multipliziert zu werden. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem zehnten und elften Schritt in das Speicherelement 420 und dann nach dem elften und zwölften Schritt in das Temporär-Speicherelement 421 getaktet zu werden. Nach dem neunten Schritt schreibt der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit hohem Pegel das Abtastsignal E in das Speicherelement 401. Nach dem zehnten Schritt liest der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit niedrigem Pegel das Abtastsignal E aus, um das Speicherelement 401 neu zu beschreiben. Nach dem elften Schritt empfängt der Addierer 441 über den Multiplexer 507 das Abtastsignal E aus dem Speicherelement 401 als das eine Eingangssignal und empfängt das verzögerte Produkt γF aus dem Speicherelement 421 als sein anderes Eingangssignal. Der Multiplexer 507 arbeitet so, daß er nach dem zwölften Schritt das von dem Addierer 441 in das Speicherelement 419 eingesetzte Summensignal zu dem Addierer 441 zurück zirkulieren läßt, damit es mit dem aus dem Speicherelement 421 ausgelesenen, verzögerten Produkt -αD addiert wird. Nach dem dreizehnten Schritt schreibt der Multiplexer 506 das bis dahin temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis E' = E + γF - αD in den dritten Speicher 43.

Während des elften Schrittes sind die Abtastsignale I und G zu den Speicherelementen 405 und 406 vorgeschritten, und das Abtastsignal D ist zu dem Speicherelement 402 vorgeschritten. Die Abtastsignale I und G treten nach dem elften und zwölften Schritt in den Multiplexer 40 ein, um mit den γ- und -α-Werten multipliziert zu werden. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem zwölften und dreizehnten Schritt in das Speicherelement 420 und dann nach dem dreizehnten und vierzehnten Schritt in das Temporär-Speicherelement 421 getaktet zu werden. Nach dem elften Schritt schreibt der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit hohem Pegel das Abtastsignal H in das Speicherelement 401. Nach dem zwölften Schritt liest der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit niedrigem Pegel das Abtastsignal H aus, um das Speicherelement 401 neu zu beschreiben. Nach dem dreizehnten Schritt empfängt der Addierer 441 über den Multiplexer 507 das Abtastsignal H aus dem Speicherelement 401 als das eine Eingangssignal und empfängt das verzögerte Produkt γI aus dem Speicherelement 421 als sein anderes Eingangssignal. Der Multiplexer 507 arbeitet so, daß er nach dem sechsten Schritt das von dem Addierer 441 in das Speicherelement 419 eingesetzte Summensignal zu dem Addierer 441 zurück zirkulieren läßt, damit es zu dem aus dem Speicherelement 421 ausgelesenen, verzögerten Produkt -αG addiert wird. Nach dem siebentem Schritt schreibt der Multiplexer 506 das bis dahin temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis H' = H + αI - γG in den dritten Speicher 43.

Wie man unter Bezugnahme auf die Temporär-Speicherzustände im zweiten Speicher 42 der Tabelle von Fig. 5 feststellen kann, bewirkt der während des zwölften Schrittes hohe Pegel des Steuersignals C&sub3; die Zirkulation der Elemente γ, α und β von den Temporär-Speicherelementen 422, 423 und 424 zu den Temporär-Speicherelementen 423, 424 und 422 nach dem zwölften Schritt, um darin bis zu dem achtzehnten Schritt zu bestehen. Nach dem dreizehnten Schritt wird der negative γ-Wert, welcher in dem Speicherelement 423 gespeichert ist, in das Speicherelement 425 geschrieben, um darin bis zu dem achtzehnten Schritt zu bestehen.

Während des dreizehnten Schrittes sind die Abtastsignale A und B zu den Speicherelementen 405 und 406 vorgeschritten, und das Abtastsignal C ist zu dem Speicherelement 402 vorgeschritten. Die Abtastsignale A und B treten nach dem dreizehnten und vierzehnten Schritt in den Multiplexer 40 ein, um mit den γ- und -α-Werten multipliziert zu werden. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem vierzehnten und fünfzehnten Schritt in das Speicherelement 420 und dann nach dem fünfzehnten und sechzehnten Schritt in das Temporär- Speicherelement 421 getaktet zu werden. Nach dem dreizehnten Schritt schreibt der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit hohem Pegel das Abtastsignal C in das Speicherelement 401. Nach dem vierzehnten Schritt liest der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit niedrigem Pegel das Abtastsignal D aus, um das Speicherelement 401 neu zu beschreiben. Nach dem fünfzehnten Schritt empfängt der Addierer 441 über den Multiplexer 507 das Abtastsignal C aus dem Speicherelement 401 als das eine Eingangssignal und empf ängt das verzögerte Produkt βA aus dem Speicherelement 421 als sein anderes Eingangssignal. Der Multiplexer 507 arbeitet so, daß er nach dem sechzehnten Schritt das von dem Addierer 441 in das Speicherelement 419 eingesetzte Summensignal zu dem Addierer 441 zurück zirkulieren läßt, damit es zu dem aus dem Speicherelement 421 ausgelesenen, verzögerten Produkt -γB addiert wird. Nach dem siebzehnten Schritt schreibt der Multiplexer 506 das bis dahin temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis C' = C + βA - γB in den dritten Speicher 43.

Während des fünfzehnten Schrittes sind die Abtastsignale D und E zu den Speicherelementen 405 und 406 vorgeschritten, und das Abtastsignal F ist zu dem Speicherelement 402 vorgeschritten. Die Abtastsignale D und E treten nach dem fünfzehnten und sechzehnten Schritt in den Multiplexer 40 ein, um mit den β- und -γ-Werten multipliziert zu werden. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem sechzehnten und siebzehnten Schritt in das Speicherelement 420 und dann nach dem siebzehnten und achtzehnten Schritt in das Temporär- Speicherelement 421 getaktet zu werden. Nach dem fünfzehnten Schritt schreibt der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit hohem Pegel das Abtastsignal F in das Speicherelement 401. Nach dem sechzehnten Schritt liest der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit niedrigem Pegel das Abtastsignal F aus, um das Speicherelement 401 neu zu beschreiben. Nach dem siebzehnten Schritt empfängt der Addierer 441 über den Multiplexer 507 das Abtastsignal F aus dem Speicherelement 401 als das eine Eingangssignal und empfängt das verzögerte Produkt βD aus dem Speicherelement 421 als sein anderes Eingangssignal. Der Multiplexer 507 arbeitet so, daß er nach dem achtzehnten Schritt das von dem Addierer 441 in das Speicherelement 419 eingesetzte Summensignal zu dem Addierer 441 zurück zirkulieren läßt, damit es zu dem aus dem Speicherelement 421 ausgelesenen, verzögerten Produkt -γE addiert wird. Nach dem neunzehnten Schritt schreibt der Multiplexer 506 das bis dahin temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis F' = F + βD - γE in den dritten Speicher 43.

Während des siebzehnten Schrittes sind die Abtastsignale G und H zu den Speicherelementen 405 und 406 vorgeschritten, und das Abtastsignal I ist zu dem Speicherelement 402 vorgeschritten. Die Abtastsignale G und H treten nach dem siebzehnten und achtzehnten Schritt in den Multiplexer 40 ein, um mit den β- und -γ-Werten multipliziert zu werden. Die Hauptprodukte dieser Multiplikationen werden um einen Taktzyklus verzögert, um nach dem achtzehnten und neunzehnten Schritt in das Speicherelement 420 und dann nach dem neunzehnten und zwanzigsten Schritt in das Temporär- Speicherelement 421 getaktet zu werden. Nach dem siebzehnten Schritt schreibt der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit hohem Pegel das Abtastsignal I in das Speicherelement 401. Nach dem achtzehnten Schritt liest der Multiplexer 501 als Reaktion auf ein Steuersignal C&sub1; mit niedrigem Pegel das Abtastsignal I aus, um das Speicherelement 401 neu zu beschreiben. Nach dem neunzehntem Schritt empfängt der Addierer 441 über den Multiplexer 507 das Abtastsignal I aus dem Speicherelement 401 als das eine Eingangssignal und empfängt das verzögerte Produkt βG aus dem Speicherelement 421 als sein anderes Eingangssignal. Der Multiplexer 507 arbeitet so, daß er nach dem sechsten Schritt das von dem Addierer 441 in das Speicherelement 419 eingesetzte Summensignal zu dem Addierer 441 zurück zirkulieren läßt, damit es zu dem aus dem Speicherelement 421 ausgelesenen, verzögerten Produkt -γH addiert wird. Nach den einundzwanzigsten Schritt schreibt der Multiplexer 506 das bis dahin temporär in dem Speicherelement 419 gespeicherte Akkumulationsergebnis I' = I + βG - γH in den dritten Speicher 43.

Während der gerade beschriebenen Operationen wird ein aus dem Temporär-Speicherelement 405 getaktetes Multiplikanden- Matrixelement nachdem es als eine Eingangssignal zum Multiplizierer 40 während eines ungerade numerierten Schrittes des Betriebszyklusses verfügbar ist, nicht zu dem Element 409 zurückgeführt, da der Multiplexer 503 durch das Steuersignal C&sub1; mit niedrigem Pegel so konditioniert ist, daß er stattdessen ein neues Matrixelement zutreten läßt. C&sub2; ist während der Schritte 1 bis 16 des Betriebszyklusses auf niedrigen Pegel, was die Multiplexer 504 und 505 so konditioniert, daß sie das Temporär-Speicherelement 410 in Reihenschaltung hinter den Temporär-Speicherelementen 404 bis 403, 402 und 411 verbinden. Nach dem Schritt 1 wird das Abtastsignal I in das Speicherelement vorwärtsgetaktet. Das nach einem ungerade numerierten Schritt des Betriebszyklusses aus dem Speicherelement 405 herausgetaktete Abtastsignal wird von dem auf C&sub1;, das während des ungerade numerierten Schritts auf hohem Pegel war, reagierenden Multiplexer selektiv zu dem Speicherelement 404 geleitet. Ein während eines gerade numerierten Schritt des Betriebszyklusses aus dem Speicherelement 405 herausgetaktetes Multiplikanden-Matrixelement wird von dem auf das Steuersignal C&sub1; mit niedrigem Pegel reagierenden Multiplexer 503 selektiv zu dem Speicherelement 409 zurückgeleitet. In ähnlicher Weise wird ein während eines gerade numerierten Schritt des Betriebszyklusses aus dem Speicherelement 402 herausgetaktetes Multiplikanden- Matrixelement von dem auf das Steuersignal C&sub1; mit niedrigem Pegel reagierenden Multiplexer 502 selektiv zu dem Speicherelement 404 zurückgeleitet. Das Abtastsignal wird somit in der Reihenschaltung der Speicherelemente 404, 403, 402 beibehalten, obwohl dieses Abtastsignal während dem Weiterschreiten nach dem gerade numerierten Schritt zu dem Speicherelement 411 nach dem Durchtakten durch das Speicherelement 412 nicht selektiv zum Speicherelement 409 geleitet wird, sondern stattdessen durch die Wirkung des Multiplexers 503 abgelegt wird.

Das Ausgangssignal ist in Fig. 2 dargestellt, so wie es vom Ausgang des Akkumulators 44 abgenommen wird und einige der unnützen Abtastsignale mit wiederholten nützlichen Abtastsignalen ersetzt aufweist. Dieser Ersatz wird von dem Multiplexer 517 entsprechend dem Steuersignal C&sub1; in einem als einem weiteren seriellen Speicher verbundenen Temporär- Speicherelement 428 ausgeführt. Alternativ kann das Ausgangssignal von dem Ausgangsanschluß eines der Speicherelemente 413 bis 418 abgenommen werden.

Der Ketten-Reihen-Matrixmultiplizierer von Fig. 2 ist für die Aufnahme von Trägheitsnavigationssystemkorrekturen zu bestimmten Zeiten unter Verwendung eines weiteren Addierers 442 in dem Akkumulator 44 eingerichtet. Als Reaktion auf einen zu bestimmten Zeitpunkten hohen Pegel des normalerweise niederpegeligen Steuersignals CLOAD werden Ausgangssignale des Addierers 441 mit dazu addierten Korrekturen selektiv zu dem dritten Speicher 43 geleitet, anstelle von Ausgangssignalen des Addierers 441 ohne solche Korrekturen. Diese Korrekturen werden von demselben Puffer-RAM 45, welches zum Laden der Initialisierungs-Matrixdaten verwendet wird, geliefert.

Wie vorstehend angemerkt, entsprechen diese Korrekturen der Differenz zwischen dem tiefpaßgefilterten aufeinanderfolgenden Trägheits-Transformationsmatrizen und den tiefpaßgefilterten aufeinanderfolgenden Trägheitsnavigationssystemmatrizen (INS). Die Tiefpaßfilterung einer Aufeinanderfolge von Matrizen ist ein Mittel zum Bestimmen des Mittelwertes über einer Zeitperiode. Die Subtraktion des Mittelwertes einer Aufeinanderfolge von Matrizen von dem Mittelwert einer weiteren Aufeinanderfolge von Matrizen ist ein Vergleichsverfahren. Es werde angenommen, daß die Tiefpaßfilterung der Aufeinanderfolge von Trägheits-Transformationsmatrizen und die Tiefpaßfilterung der Aufeinanderfolge von INS-Matrizen ähnlich ist, soweit die Matrixzulieferungsgeschwindigkeit und die Filterübertragungscharakteristiken betroffen sind. Dann können wegen der Verteilungseigenschaften der Faltungsprozeduren die Trägheits-Transformationsmatrixkorrekturen stattdessen durch eine Tiefpaßfilterung der Differenzen zwischen den ungefilterten Trägheits-Transformationsmatrizen und den ungefilterten INS- Matrizen ausgeführt werden. Dieses reduziert die Komplexität der Berechnung erheblich.

Fig. 6 stellt eine Vorrichtung dar, um dieses auszuführen. Die INS-Matrixdaten aus einem Trägheitsnavigationssystem 600 werden einem Subtrahierer 601 als Minuenden- Eingangssignal zugeführt. Der Subtrahierer 601 empfängt als Subtrahenden-Eingangssignal das Ausgangssignal aus dem Transformationsmatrixgenerator. Das Differenzausgangssignal wird als das Eingangssignal einem digitalen Tiefpaßfilter 610 zugeführt. Ein Multiplexer 620 leitet zu Beginn selektiv Daten, die eine Initialisierungs-INS-Matrix beschreiben, als Schreibeingangssignale zu dem Pufferspeicher 45 des Transformationsmatrixgenerators von Fig. 2 und leitet danach selektiv die Antwort des Tiefpaßfilters 610 an den Pufferspeicher 45 als Schreibeingangssignal. (Wenn der Transformationsmatrixgenerator von Fig. 1 anstelle des Transformationsmatrixgenerators von Fig. 2 betrachtet wird, ist der Multiplexer 620 nicht erforderlich. Stattdessen werden die INS-Matrixdaten direkt von dem Trägheitsnavigationssystem 600 zu dem Speicher 24 für dessen Initialisierung geliefert; und die Antwort des Tiefpaßfilters 610 wird wiederholt als Addend an den Addierer 25 mittels eines Tristate-Temporär-Speichers angelegt, welcher anderenfalls einen Addenden von Null an den Addierer 25 liefert).

Das in Fig. 6 dargestellte digitale Tiefpaßfilter 610 ist eines, welches so ausgelegt ist, daß es einen Dämpfungsverlauf bereitstellt, welcher im Bereich der Abtastdaten dem Dämpfungsverlauf entspricht, der von einem einfachen Widerstands-Kondensator-Filter (RC-Filter) in dem kontinuierlichen Datenbereich bereitgestellt wird. Gemäß Beschreibung durch A.V. Oppenheim und R.W. Schafer auf den Seiten 195 bis 198 und 206 bis 211 ihres Buches DIGITAL SIGNAL PROCESSING, veröffentlicht 1975 bei Prentice-Hall Inc. of Englewood Cliffs, NJ, kann die Technik einer bilinearen Transformation verwendet werden, um die H(s)-Übertragungsfunktion des RC- Filters in der kontinuierlichen s-Ebene der komplexen Frequenz in die entsprechende H(z)-Übertragungsfunktion umzuwandeln, so wie es in der zum Beschreiben eines Abtastdaten-Vorgangs verwendeten z-Transformation ausgedrückt ist. Die Übertragungsfunktion H(s) für ein einfaches RC- Tiefpaßfilter ist wie folgt:

Die bilineare Transformation erzeugt H(z) aus H(s) durch Ausführen der folgenden Substition für s, wobei T das Abtastintervall ist:

Diese Substition ergibt die Gleichung die folgende Gleichung (17):

wobei:

Für einen kontinuierlichen Strom von Abtastworten wird die durch die Gleichungen (17) (18) (19) beschriebene Tiefpaßfilterfunktion durch einen Tiefpaßfilteraufbau ähnlich dem des Filters 610 realisiert, mit der Ausnahme, daß die Neun-Worte-Verzögerungselemente 611 und 615 durch Ein-Wort- Verzögerungselemente ersetzt werden, wie es von einem Fachmann auf dem Gebiet digitaler Konstruktionen einfach durch Betrachtung der Gleichungen beschrieben werden kann. Der Zähler des Bruches, der die Übertragungsfunktion H (z) in Gleichung (17) ist eine Filterantwort-Nullstelle, die durch Addieren jedes Abtastwortes auf sein Vorgänger in einem Addierer 612 und dann durch Skalieren des Ergebnisses mit dem Faktor u in einem analogen Multiplizierelement 613 erzeugt wird. Der Zähler des Bruches in Gleichung (17) ist ein Filterantwort-Pol, der durch Addieren jedes Abtastwortes in einem Addierer 614 auf die vorhergehende durch den Faktor ν in einem analogen Multiplizierelement 616 skalierte Summenantwort des Addierers 614 erzeugt wird.

Bei der Tiefpaßfilterung der von dem Subtrahierer 601 gelieferten Differenzmatrix erscheinen die Abtastworte für entsprechende Positionen in der Matrix nur mit jedem neunten Wort, wenn die Filterberechnungen (anstatt parallel) sequentiell ausgeführt werden, so daß Verzögerungselemente 611 und 615 (statt einer Ein-Wort-Verzögerung) eine Neun- Wort-Verzögerung bereitstellen müssen. Da die Analogmultiplikationen durch Multiplizierer 613 und 616 unter Verwendung von Festwertmultiplikatoren u und ν ausgeführt werden, können die Multiplikationen ohne merkliche Verzögerung durch Tabellennachschlagen in einem Nur-Lese- Speicher ausgeführt werden. Wenn andere Multipliziererformen verwendet werden, welche eine merkliche Verzögerung beinhalten, kann die Verzögerung in dem Multiplizierer 616 einen Teil der Neun-Wort-Verzögerung darstellen, den das Verzögerungselement 615 sonst anderweitig bereitstellen mußte.

Die Zeitkonstante τ = RC für das Tiefpaßfilter 610 ist lang, typischerweise in der Größenordnung von ein paar Sekunden. Dementsprechend ist es günstig, einen speziellen Mikroprozessor anstelle der in der Fig. 6 dargestellten digitalen Hardware zu verwenden, wobei der Mikroprozessor durch seine Programmierung so konditioniert wird, daß er die Matrixsubtraktion- und Tiefpaßfilterungsprozeduren ausführt.

Es gibt einige in Fig. 1 ausgeführte Vereinfachungen bezüglich dessen, wie die Information von den geschwindigkeitsabtastenden Kreiseln 11-13 tatsächlich verarbeitet werden kann, um Folgen inkrementaler Hochachsen-, Nickachsen- und Längsachsen-Winkel zu erzeugen. Der von den nicht genau rechtwinklig zueinander ausgerichteten Kreiselachsen verursachte Fehler ist ein statischer Fehler. Es ist wünschenswert, diesen Fehler zu kompensieren, um den Abhängigkeit von der Rückkopplungsschleife zum Korrigieren dieses Fehlers zu reduzieren. Demzufolge werden die Rohausgangssignale αROH, βROH, χROH der geschwindigkeitsabtastenden Kreisel bei der Umwandlung in digitale Form vorzugsweise durch eine initialisierende Matrixmultiplikation wie folgt orthogonalisiert:

Dieses wird vorzugsweise in einer Matrixmultiplikatorhardware ausgeführt, die direkt hinter den A/D-Wandlern 14, 15 und 16 angeordnet ist. Die Kreiselrohgeschwindigkeiten des ROH, ROH, ROH und die verarbeiteten Kreiselgeschwindigkeiten , , der Gleichung (20) befinden sich in einem System, welches unter Verwendung von Zweier-Komplement-Daten jeweils ausgedrückt in einem Doppelwort-32-Bit Format aufgebaut ist. Die Azimuthkorrektur- Koeffizienten AZK&sub1;, AZK&sub2; und AZK&sub3; (Hochachse), die Elevationskorrektur-Koeffizienten ELK&sub1;, ELK&sub2; und ELK&sub3; (Nickachse) und die Längsachsen-Korrekturkoeffizienten RLK&sub1;, RLK&sub2; und RLK&sub3; sind Einzelwort, Sechzehn- Bit-Zweierkomplement-Daten in dem Bereich von -2-&sup4; inklusive, bis 2-&sup4; exklusiv.

Die Kreiselrohgeschwindigkeiten ROH, ROH und ROH werden vor der A/D-Wandlung mit einem Skalenfaktor k-¹ skaliert, um den Bereich der A/D-Wandler 14 bis 16 besser auszunutzen (und gegebenenfalls die Möglichkeit einer Produktmatrix mit Elementen gleich oder größer als 1 zu vermeiden). Die verarbeiteten Kreiselgeschwindigkeiten , und werden in Wirklichkeit mit kt multipliziert, anstatt nur mit der inkrementalen Zeit t, um den k&supmin;¹-Skalenfaktor zu entfernen.

Die Matrix-Multiplikationsfehler können reduziert werden, wodurch auch die Abhängigkeit von der Rückkopplungskorrekturschleife ebenfalls vermieden wird. Dieses wurde durch Einsatz einer Doppelpräzisionsverarbeitung bis zu 32 Bits in der Matrix-Multiplikationseinrichtung und Runden des Produkts auf das nächste signifikante Bit anstelle einer Abschneidung ausgeführt. Das Reduzieren der Matrix- Multiplikationsfehler durch Einsatz größerer arithmetischer Präzision erleichtert die Korrekturen der Nicht- Orthogonalität der Transformationsmatrizen.

In bestimmten Anwendungen, wie z.B bei der Steuerung eines Geschoßfluges, der in kurzer Zeit abgeschlossen ist, mag kein Bedarf für die Korrektur der Nicht-Orthogonalität der T-Matrizen, welche der Trägheits-Transformationsmatrixgenerator erzeugt, vorhanden. Obwohl die Aktualisierungsgeschwindigkeit der TMG-Matrix niedrig genug ist, daß inkrementale Winkel einen merklichen Fehler insofern hervorrufen, als kleine Winkelnäherungen betrachtet werden, ist der akkumulierte Fehler am Ende des Fluges trotzdem nicht groß genug, um Konsequenzen zu zeigen.

Fig. 7 stellt in Gesamtübersicht die Verarbeitung von Signalen in einem System dar, das den Trägheits-Transformationsmatrixgenerator nutzt, um die Detektionsdaten aus einem Sensor zu stabilisieren. Ein Kreiselsatz 700 liefert eine Matrix 701 mit Kreiselrohdaten, welche durch Multiplikation mit einer Orthogonalisierungsmatrix 702 über die Gleichung (20) orthogonalisiert wird, um eine Matrix 703 verarbeiteter Kreiseldaten zu erzeugen. Die Matrix 703 wird in einem Prozessor 704 verarbeitet, um die inkrementale Euler-Transformationsmatrix 705 zu erzeugen, welche eine vorhergehende TMG-Matrix 706 multipliziert, um eine Produktmatrix zu erzeugen, zu der eine Driftkorrekturmatrix 707 addiert wird, um die aktuelle TMG-Matrix 708 zu erzeugen. Das Produkt der INS-Matrix 709 und einer ersten Ziellinien- Korrekturmatrix 710 ist der Initialisierungswert für die vorhergehende TMG-Matrix 706, und diese Produktmatrix hat die aktuelle TMG-Matrix 708 davon subtrahiert, um eine Fehlermatrix 711 zu erzeugen, die als Eingangssignal an ein Tiefpaßfilter 712 geliefert wird. Das Tiefpaßfilter 712 liefert die Driftkorrekturmatrix 707. Die erste Ziellinien- Korrekturmatrix 710 bezieht die Initialisierungsdaten auf NED-Koordinaten, oder als aus den NED-Daten in Körperdaten umgewandelte, auf die aktuelle Lage der Kreiselachsen.

Ein zweite Ziellinien-Korrekturmatrix 713 kompensiert die aus einem Sensor 714 entstehenden kartesischen Koordinatendaten x, y, z gegen die Verschiebungen zwischen deren Bezugsachsen und den Kreiselachsen. Die kartesischen Koordinatendaten werden von einem auf die Daten aus dem Sensor 714 reagierenden Wandler 715 erzeugt und mit der aktuellen TMG-Matrix 708 multipliziert, um die Schwankungen der Kreisellagen bezüglich des Flugzeugrumpfes zu berücksichtigen, und werden ferner mit der zweiten Ziellinien-Korrektur multipliziert, um eine Beschreibung von Sensordaten in dem Koordinatensystem zu entwickeln, auf welches die Kreisel bezogen sind. Ein Wandler 716 wandelt diese Daten in Polarkoordinaten des Azimuths und der Elevation bezogen auf das Koordinatensystem um, in welchem die Initialisierungsdaten ausgedrückt sind.

Die Beziehungen des Sensor-, Kreisel- und INS- Koordinatensystems hinsichtlich der ersten und zweiten Ziellinien-Transformation sind in der unteren rechten Ecke von Fig. 7 dargestellt.

Ein Fachmann auf dem Gebiet digitaler elektronischer Systeme wird durch die vorstehende Offenbarung in die Lage versetzt, eine Anzahl von Varianten des beschriebenen speziellen Transformationsmatrixgeneratorsystems zu entwerfen, und dieses sollte berücksichtigt werden, wenn der Umfang der nachfolgenden Ansprüche aufgestellt wird, welche einen Schutz für alle derartigen Ausführungsformen der Erfindung bereitstellen sollen.


Anspruch[de]

1. System zum Verwenden bei der Umwandlung der Antworten von einem auf einem Fahrzeug getragenen, hart angebrachten Sensor in Trägheits-Koordinaten wobei eine Euler- Transformationsmatrix verwendet wird, enthaltend:

erste (11), zweite (12) una dritte (13) geschwindigkeitsabtastende Kreisel, die bei Verwendung nahe dem Sensor angeordnet sind, an dem Fahrzeugrumpf festgeschnallt sind und so orientiert sind, daß sie eine Bewegung des Fahrzeugrumpfes in drei zueinander senkrechten Richtungen abtasten zur Lieferung entsprechender Ausgangssignale (Wα, Wβ, Wγ), die Komponenten der Fahrzeugrumpfbewegung in jeder der drei zueinander senkrechten Richtungen angeben,

einen Trägheits-Transformationsmatrixgenerator zum Erzeugen einer Euler-Transformationsmatrix auf der Basis der Ausgangssignale der ersten, zweiten und dritten Kreisel,

ein Trägheits-Navigationssystem zur Lieferung einer Folge von Trägheits-Navigationssystemmatrizen,

dadurch gekennzeichnet, daß der Trägheits-Transformationsmatrixgenerator enthält:

eine Einrichtung (22) zur Erzeugung aufeinanderfolgender inkrementaler Euler-Transformstionsmatrizen auf der Basis der Ausgangssignale der ersten, zweiten und dritten Kreisel,

eine Einrichtung (23) für eine Matrix-Multiplizierung zusammen mit jeder aufeinanderfolgenden inkrementalen Euler-Matrix und einer entsprechenden anderen Matrix, um eine entsprechende Produktmatrix zu generieren, wobei die andere Matrix zunächst eine Initialisierungsmatrix aus dem Trägheits-Navigationssystem (600) ist und danach die zuvor berechnte Euler-Transformationsmatrix ist,

eine Einrichtung (26) zur Bildung jeder aufeinanderfolgenden laufenden Euler-Transformationsmatrix aus jeder aufeinanderfolgenden Produktmatrix,

eine Einrichtung (24) zum periodischen Vergleichen der Mittelwerte aufeinanderfolgender erzeugter Euler-Transformationsmatrizen und aufeinanderfolgender Trägheits-Navigationssystemmatrizen, um dadurch Korrekturmatrizen zu generieren, und

eine Einrichtung (25) zum Addieren zu der Produktmatrix jede gleichzeitige Korrekturmatrix, die von der Einrichtung zum periodischen Vergleichen von Mittelwerten zugeführt ist, die in der Einrichtung zur Bildung jeder aufeinanderfolgender Euler-Transformationsmatrix aus jeder aufeinanderfolgenden Produktmatrix enthalten ist.

2. System nach Anspruch 1, wobei die Einrichtung (24) zum periodischen Vergleichen der Mittelwerte auf einanderfolgender erzeugter Euler-Transformationsmatrizen und aufeinanderfolgender Trägheits-Navigationssystemmatrizen enthält:

eine Einrichtung (601) zum Subtrahieren jedes Elementes der erzeugten Euler-Transformationsmatrix von dem entsprechenden Element der Trägheits-Navigationssystemmatrix, um eine entsprechende von einer Folge von Differenzmatrizen zu generieren, und

eine Einrichtung (610) für eine Tiefpaß-Filterung der Differenzmatrizen, um die Korrekturmatrizen zu generieren.

3. System nach Anspruch 1 oder 2, wobei die Einrichtung (23) zum Multziplizieren enthält:

einen Multiplizierer (40) mit ersten und zweiten Eingangs-Ports und einem Ausgangs-Port, einen Akkumulator (44), der darin die Einrichtung zum Addieren enthält, einen Eingangs-Port, mit dem der Ausgangs-Port des Multiplizieres verbunden ist, und einen Ausgangs-Port aufweist,

einen Speicher (41) zum temporären Speichern der inkrementalen Euler-Transformationsmatrix, wie sie von den Kreiseln hineingeschrieben ist und wie sie davon in einer Element-für-Element-Abtastung in den ersten Eingangs-Port des Multiplizierers ausgelesen ist,

einen Speicher (42) zum temporären Speichern der anderen Matrix, wie sie daraus in einer Element-für-Element- Abtastung in den zweiten Eingangs-Port des Multiplizierers ausgelesen ist, und

einen Speicher (43) zum temporären Speichern der aktualisierten Euler-Transformationsmatrix, wie sie aus dem Ausgangs-Port des Akkumulators hineingeschrieben ist und wie sie als die zuvor berechnte Euler-Transformationsmatrix daraus ausgelesen ist, zum Schreiben in den Speicher für eine temporäre Speicherung der anderen Matrix.

4. System nach Anspruch 1, 2 oder 3, wobei die Einrichtung zum Generieren aufeinanderfolgender inkrementaler Euler-Transformationsmatrizen enthält:

eine Einrichtung (17, 18, 19) zum Multiplizieren einer orthogonalisierenden Matrix durch die digitalisierten Ausgangssignale der ersten, zweiten und dritten Kreisel, um jede Abweichung der Achsen der ersten, zweiten und dritten Kreisel von ihrer wechselseitigen senkrechten Anordnung zu kompensieren.

5. System nach Anspruch 1, 2 3 oder 4, wobei die Einrichtung zum Generieren aufeinanderfolgender inkrementaler Euler-Transformationsmatrizen enthält:

eine Einrichtung (17, 18, 19) zum Multiplizieren einer orthogonalisierenden Matrix mit den digitalisierten Ausgangssignalen von den ersten, zweiten und dritten Kreiseln, um jede Abweichung der Achsen der ersten, zweiten und dritten Kreisel von ihrer wechselseitigen senkrechten Anordnung zu kompensieren.

6. System nach einem der vorstehenden Ansprüche, wobei ferner eine Einrichtung zum Digitalisieren (14, 15, 16) der Kreisel-Ausgangssignale vorgesehen ist.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com