-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Diese
Erfindung bezieht sich allgemein auf ein System und auf ein Verfahren
zum Bestimmen der Position und der Geschwindigkeit einer Mehrzahl
von Fahrzeugen relativ zu einem Trägerfahrzeug und insbesondere
auf ein System und auf ein Verfahren zum Bestimmen der Position
und der Geschwindigkeit einer Mehrzahl von Fahrzeugen relativ zu
einem Trägerfahrzeug
unter Verwendung von GPS-Signalen, wobei das System optimale Basislinien
zwischen den Fahrzeugen berechnet.
-
2. Diskussion des verwandten
Gebiets
-
Die
präzise
relative Positionsbestimmung mit kurzer Basislinie mehrerer Fahrzeuge
besitzt zahlreiche zivile Anwendungen. Unter Verwendung relativer
GPS-Signale in Echtzeit kann ein Fahrzeug eine Präzision auf
dem Subdezimeterniveau relativer Positionen und Geschwindigkeit
umgebender Fahrzeuge (Fahrzeug-zu-Fahrzeug-Objektkarte) festsetzen,
die mit einem GPS-Empfänger
und einem Datenkommunikationskanal wie etwa einem dedizierten kurzreichweitigen
Kommunikationskanal (DSRC-Kanal) ausgestattet sind. Dieses kooperative
Sicherheitssystem kann in derselben Weise wie ein Radarsystem Positions-
und Geschwindigkeitsinformationen bereitstellen.
-
Für die präzise relative
Positionsbestimmung muss ein Fahrzeug seine GPS-Ausgangsdaten wie
etwa Codebereich, Trägerphase
und Doppler-Messwerte
rundsenden. Die hierfür
erforderliche Bandbreite ist in einem überfüllten Verkehrsszenarium, an
dem eine große
Anzahl von Fahrzeugen beteiligt sind, ein Problem.
-
Das
in The Radio Technical Commission for Maritime Service Special Committee
104 (RTCM SC104) definierte Datenformat enthält eine unerwünschte Redundanz.
Zum Beispiel quantisiert der Nachrichtentyp Nr. 1 (L1C/A-Codephasenkorrektur)
gleichförmig
Korrekturen mit einer Auflösung
von 0,02 Metern. Die Pseudoentfernungsmessungen werden somit in
einer Entfernung von ±0,2·215 Metern dargestellt. Allerdings sind die Pseudoentfernungsmessungen
allgemein auf etwa ±15
Meter beschränkt.
Somit wird angemerkt, dass eine übermäßige Bandbreitenverschwendung
auftritt, falls das RTCM-Protokoll direkt in einem kooperativen
Sicherheitssystem verwendet wird.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
In Übereinstimmung
mit den Lehren der vorliegenden Erfindung werden ein System und
ein Verfahren zum Bestimmen der Position und der Geschwindigkeit
einer Mehrzahl von Fahrzeugen relativ zu einem Trägerfahrzeug
unter Verwendung von GPS-Informationen offenbart. Das Verfahren
enthält
das Aufbauen eines Graphen der Fahrzeuge, die gewichtete Basislinien
zwischen jedem der Fahrzeuge und dem Trägerfahrzeug und jedem der Fahrzeuge
definieren, wobei die gewichteten Basislinien eine geometrische
Abnahme der Präzision
zwischen den Fahrzeugen definieren. Daraufhin bestimmt das Verfahren
unter Verwendung der gewichteten Basislinien auf der Grundlage der
geometrischen Abnahme der Präzision
die optimale Basislinie, die die niedrigste geometrische Abnahme
der Präzision
zwischen dem Trägerfahrzeug
und jedem der anderen Fahrzeuge aufweist. Daraufhin berechnet das
Verfahren unter Verwendung der optimalen Basislinien die relative Position
und Geschwindigkeit zwischen allen Fahrzeugen und dem Trägerfahrzeug.
-
Weitere
Merkmale der vorliegenden Erfindung gehen aus der folgenden Beschreibung
und aus den angefügten
Ansprüchen,
in Verbindung mit den beigefügten
Zeichnungen genommen, hervor.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockschaltplan einer Systemkommunikationsarchitektur für ein Trägerfahrzeug
und für ein
fernes Fahrzeug;
-
2 ist
ein Ablaufplandiagramm, das den Betrieb der Verarbeitungseinheit
in der in 1 gezeigten Architektur zeigt;
-
3 ist
ein Blockschaltplan, der einen Prozess zum Auflösen nach einem relativen Positions-
und Geschwindigkeitsvektor zwischen Fahrzeugen zeigt;
-
4 ist
eine Darstellung der relativen Position zwischen Fahrzeugen und
Satelliten;
-
5(a) ist ein Diagramm einer graphischen
Darstellung, die einen Fahrzeugträgerknoten und andere Fahrzeugknoten
mit Basislinien relativ dazu zeigt;
-
5(b) zeigt einen optimalen Spannbaum,
der einen Trägerknoten
und andere Fahrzeugknoten mit optimalen Basislinien dazwischen enthält;
-
6 ist
ein Ablaufplandiagramm, das einen Prozess zur präzisen relativen Positionsbestimmung mehrerer
Fahrzeuge zeigt;
-
7 ist
ein Blockschaltplan eines Systems, das die Kompression von GPS-Messwerten
zeigt;
-
8 ist
ein Blockschaltplan, der ein System für die Dekompression von GPS-Messwerten
zeigt;
-
9 ist
ein Gesamtblockschaltplan eines vorgeschlagenen Kompressionsschemas;
-
10 ist
eine Darstellung eines Protokollstapels;
-
11 ist
ein Beispiel einer Rahmensequenz;
-
12 ist
ein Ablaufplandiagramm, das einen Prozess zum Aufbau eines Huffman-Codewort-Wörterbuchs
zeigt; und
-
13 ist
ein Ablaufplandiagramm eines Algorithmus zum Codieren von GPS-Daten
zur Sendung.
-
AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Die
folgende Diskussion der Ausführungsformen
der Erfindung, die auf ein System und auf ein Verfahren zum Bestimmen
der Position und der Geschwindigkeit einer Mehrzahl von Fahrzeugen
relativ zu einem Trägerfahrzeug
unter Verwendung von GPS-Signalen und der Analyse eines optimalen
Spannbaums gerichtet ist, ist dem Wesen nach lediglich beispielhaft
und soll die Erfindung oder ihre Anwendungen oder Verwendungen in
keiner Weise einschränken.
-
1 veranschaulicht
eine Kommunikationsarchitektur 10 für ein Trägerfahrzeug 12 und
für ein
fernes Fahrzeug 14. Das Trägerfahrzeug 12 und
das ferne Fahrzeug 14 sind jeweils mit einem drahtlosen
Funkgerät 16 ausgestattet,
das einen Sender und einen Empfänger
(oder einen Sender-Empfänger)
zum Rundsenden und Empfangen drahtloser Pakete über eine Antenne 18 enthält. Jedes
Fahrzeug enthält
einen GPS-Empfänger 20,
der Satellitenephemeriden, einen Codebereich, eine Trägerphase
und Doppler-Frequenzverschiebungs-Beobachtungen empfängt. Außerdem enthält jedes
Fahrzeug eine Datenkompressions- und -dekompressionseinheit 22 zum
Verringern der Kommunikationsbandbreitenanforderung. Außerdem enthält jedes Fahrzeug
eine Datenverarbeitungseinheit 24 zum Konstruieren einer
Fahrzeug-zu-Fahrzeug-(V2V-)Objektkarte. Die konstruierte V2V-Objektkarte
wird von Fahrzeugsicherheitsanwendungen 26 verwendet. Ferner
kann die Architektur 10 eine Fahrzeugschnittstellenvorrichtung 28 zum
Sammeln von Informationen einschließlich, aber nicht beschränkt auf,
Fahrzeuggeschwindigkeit und Giergeschwindigkeit enthalten.
-
2 ist
ein Ablaufplandiagramm 38, das den Betrieb der Verarbeitungseinheit 24 in
der Architektur 10 zeigt. Die Verarbeitungseinheit 24 wird
ausgelöst,
wenn in der Entscheidungsraute 40 neue Daten empfangen
werden. Ein erster Schritt sammelt im Kasten 42 die Ephemeriden
der Satelliten, d. h. die Umlaufparameter der Satelliten zu einem
spezifischen Zeitpunkt, den Codebereich (Pseudoentfernung), Trägerphasenbeobachtungen
und Fahrzeugdaten des Trägerfahrzeugs 12.
Ein zweiter Schritt bestimmt im Kasten 44 die Position und
die Geschwindigkeit des Trägerfahrzeugs 12,
die als die Bewegungsreferenz für
das spätere
präzise
relative Positionsbestimmungsverfahren dienen. Ein dritter Schritt
komprimiert im Kasten 46 die GPS- und Fahrzeugdaten. Ein
vierter Schritt rundsendet im Kasten 48 die GPS- und Fahrzeugdaten.
Ein fünfter
Schritt sammelt im Kasten 50 drahtlose Datenpakete von
fernen Fahrzeugen. Ein sechster Schritt dekomprimiert im Kasten 52 die
empfangenen Datenpakete und leitet die GPS- und Fahrzeugdaten jedes
fernen Fahrzeugs ab. Ein siebenter Schritt konstruiert im Kasten 54 unter
Verwendung des präzisen
relativen Positionsbestimmungsverfahrens eine V2V-Objektkarte. Ein
achter Schritt gibt die V2V-Objektkarte im Kasten 56 an
die höheren
Sicherheitsanwendungen für
ihre Bedrohungsbeurteilungsalgorithmen aus.
-
Die
Datenverarbeitungseinheit 24 kann ferner wie folgt beschrieben
werden. Es seien X1, X2,
..., XK Fahrzeuge. Es sei Xi der
Zustand des i-ten Fahrzeugs, der die Position und die Geschwindigkeit
in erdzentrierten und erdfixierten Koordinaten (ECEF) enthält. Es sei
XH der Zustand des Trägerfahrzeugs 12, wobei
1 ≤ H ≤ K ist. Es
seien X die Zustände
des Satelliten einschließlich
der Position und der Geschwindigkeit in ECEF-Koordinaten, die durch
die von dem j-ten Satelliten rundgesendeten Ephemeridennachrichten
bestimmt werden können.
-
3 veranschaulicht
ein Ablaufplandiagramm 60 zum präzisen Auflösen nach dem relativen Positions-
und Geschwindigkeitsvektor zwischen den Fahrzeugen. Das Diagramm 60 enthält ein Modul 62 zur
gemeinsamen On-the-Fly-(OTF-)Positionsbestimmung und -Mehrdeutigkeitsbestimmung,
das Informationen von verschiedenen Quellen einschließlich Fahrzeugdaten
im Kasten 64, der Einzelposition eines Fahrzeugs im Kasten 66,
von Satellitenephemeriden im Kasten 68 und von Doppeldifferenzen
von GPS-Beobachtungen im Kasten 70, im Folgenden diskutiert,
empfängt.
Das Modul 62 gibt im Kasten 72 die Position, die
Geschwindigkeit und Mehrdeutigkeiten des anderen Fahrzeugs aus.
Es wird angemerkt, dass die absoluten Koordinaten eines Fahrzeugs
erforderlich sind. In einem System, das nur bewegte Fahrzeuge enthält, werden
die Koordinaten der bewegten Referenz einfach unter Verwendung eines
Einzelpositionsbestimmungsmoduls geschätzt, um die Näherungskoordinaten
der Referenzbasiskoordinaten zu liefern.
-
Zum
Erzielen einer hohen Positionsbestimmungspräzision werden Doppeldifferenz-Trägerphasenmessungen
für kurze
Basislinien verwendet. Trägerphasenmessungen
sind gegenüber
Codemessungen bevorzugt, da sie besser als 0,01 λ, wobei λ die Wellenlänge des Trägersignals ist, gemessen werden
können, was
Millimeterpräzision
entspricht, wobei sie weniger durch Multipfad als ihre Codegegenstücke beeinflusst werden.
Allerdings ist die Trägerphase
um eine ganze Zahl der Anzahl von Zyklen mehrdeutig, was während des
Fahrzeugbetriebs bestimmt werden muss.
-
Das
Trägerfahrzeug
Xh sei die bewegte Referenzstation. Es sei
bih eine Basislinie zwischen dem Trägerfahrzeug
Xh und dem fernen Fahrzeug Xi.
Die folgenden Doppeldifferenzmessungen der Trägerphase, des Codes und von
Doppler-Messwerten können
geschrieben werden als: d = H(XH, bih)bih + λN + vih
(1)
-
Dabei
ist H(XH, bih) die
Messwertmatrix, die von dem bewegten Trägerfahrzeug XH und
von der Basislinie bih abhängt, λ die Wellenlänge des
Trägers,
N der Vektor der Doppeldifferenz der Mehrdeutigkeiten und vihdas unmodellierte Messrauschen. Ohne Verlust
der Allgemeinheit wird angenommen, dass Gleichung (1) normiert ist,
d. h., dass die Kovarianzmatrix vih eine
Einheitsmatrix ist.
-
Das
Herz des Ablaufplandiagramms 60 ist das Modul 62 zur
gemeinsamen On-the-Fly-(OTF-)Positionsbestimmung und -Mehrdeutigkeitsbestimmung.
In dem Modul 62 wird ein (6 + J – 1)-dimensionales Zustandsnachführungsfilter
genutzt, um die drei Positions- und die drei Geschwindigkeitskomponenten
sowie J–1 Float-Doppeldifferenz
von Mehrdeutigkeiten wie folgt zu schätzen: d = H ~
(XH, bih)s
+ vih
(2)
-
Dabei
ist H ~
(X
H, b
ih) die
Erweiterung von H(X
H, b
ih)
und der gemeinsame Zustand
-
Es
wird angemerkt, dass die Matrix H ~
(XH, bih) nicht sehr empfindlich gegenüber Änderungen
in dem Trägerfahrzeug
Xh und in der Basislinie bih ist.
Wenn die Prozessgleichung der Basislinie verfügbar ist, reicht es üblicherweise
aus, das Trägerfahrzeug
Xh und den vorhergesagten Schätzwert b ~
ih des vorherigen Zeitpunkts zu verwenden.
Somit kann dann, wenn der Wert d verfügbar ist, durch die im Folgenden
beschriebene Filterung ein besserer Schätzwert der Basislinie bih erhalten werden.
-
Die
Prozessgleichung der Basislinie bih sei: bih(t + 1) = f(bih(t)) + w (3)
-
Dabei
bezeichnet w unmodelliertes Rauschen.
-
In
Gleichung (3) ist f die Funktion, die das dynamische Modell der
Basislinie ausdrückt.
Einige Kandidaten für
das dynamische Modell sind ein Modell konstanter Geschwindigkeit
(CV) oder ein Modell konstanten Wendens (CT). Linearisieren von
Gleichung (3) in der Umgebung der Vorhersage der Basislinie b ~
ih des vorherigen Zyklus und Einschließen der
Doppeldifferenz der Mehrdeutigkeiten N ergibt:
-
Dabei
ist I eine Einheitsmatrix
und
u
= f(b ~
ih) – Fb ~
ih.
-
Nun
kann die gemeinsame OTF-Filterungsprozedur in dem im Folgenden beschriebenen
Algorithmus 1 aufgeschrieben werden.
-
In
Gleichung (1) spielt die Messwertmatrix H(XH,
bih) eine wichtige Rolle, damit das obige
Einzelbasislinien-Positionsbestimmungsverfahren zu der richtigen
Lösung
konvergiert. Eine geometrische Abnahme der Präzision (GDOP), d. h. [H(XH, bih)]–1,
beeinflusst die Qualität
der Schätzung
der Basislinie bih. Es kann bestätigt werden,
dass die GDOP von der Anzahl gemeinsam genutzter Satelliten und
von der Konstellation der gemeinsamen Satelliten für die Basislinie
bih abhängt.
Wenn z. B. sichtbare gemeinsam genutzte gemeinsame Satelliten zwischen
dem fernen Fahrzeug und dem Trägerfahrzeug
am Himmel nahe beieinander stehen, ist die Geometrie schwach und
ist der GDOP-Wert hoch. Wenn die sichtbaren gemeinsam genutzten
gemeinsamen Satelliten zwischen dem fernen Fahrzeug und dem Trägerfahrzeug
weit entfernt sind, ist die Geometrie stark und ist der GDOP-Wert
niedrig. Somit repräsentiert
ein niedriger GDOP-Wert wegen des weiteren Winkelabstands zwischen
den Satelliten eine bessere Basislinienpräzision. Ein Extremfall ist,
dass die GDOP unendlich groß ist,
wenn die Anzahl gemeinsam genutzter Satelliten kleiner als vier
ist.
-
4 ist
ein Diagramm der Fahrzeuge 82, 84 und 86,
wobei das Fahrzeug 82 ein Trägerfahrzeug ist, das zur Veranschaulichung
der obigen Diskussion verwendet wird. Zwischen den Fahrzeugen 82 und 84 ist eine
Basislinie 88 (bAB) definiert,
zwischen den Fahrzeugen 84 und 86 ist eine Basislinie 90 (bBC) definiert und zwischen den Fahrzeugen 82 und 86 ist
eine Basislinie 92 (bAC) definiert.
Zwischen den Fahrzeugen 82 und 86 ist ein Gebäude 94 positioniert
und wirkt so, dass es Signale bestimmter Signale sperrt, so dass
die Fahrzeuge 82 und 86 nur Signale von einigen
derselben Satelliten empfangen. Insbesondere empfängt das
Fahrzeug 82 Signale von den Satelliten 1, 9, 10, 12, 17
und 21, empfängt
das Fahrzeug 84 Signale von den Satelliten 1, 2, 4, 5,
7, 9, 10, 12, 17 und 21 und empfängt
das Fahrzeug 86 Signale von den Satelliten 1, 2, 4, 5,
7 und 9. Somit empfangen die Fahrzeuge 84 und 86 Signale
von den gemeinsamen Satelliten 1, 2, 4, 5, 6 und 9 und empfangen
die Fahrzeuge 82 und 84 nur Signale von den gemeinsamen
Satelliten 1 und 9. Somit empfangen die Fahrzeuge 82 und 86 keine
Signale von genügend
gemeinsamen Satelliten, um die relative Position und Geschwindigkeit
zu erhalten, da dies mindestens vier Satelliten erfordert.
-
Es
wird angemerkt, dass es für
die Positionsbestimmung zwischen mehreren Fahrzeugen mehr als eine
Lösung
gibt. Es wird das in 4 gezeigte Szenarium betrachtet,
in dem das Trägerfahrzeug 82 die
relativen Positionen und Geschwindigkeiten der Fahrzeuge 84 und 86,
d. h. die Basislinien bAB bzw. bAC, schätzen muss.
Die Basislinie bAC kann entweder direkt
unter Verwendung des Einzelbasislinien-Positionsbestimmungsverfahrens
geschätzt
werden oder kann durch Kombination zweier anderer Basislinienschätzungen
abgeleitet werden als: bAC =
bAB + bBC
(5)
-
Ähnlich hat
die Basislinie bAB zwei Lösungen.
Es kann bestätigt
werden, dass die Qualitäten
der zwei Lösungen
verschieden sind. Das Ziel ist, die beste Lösung zu ermitteln. Wie in 4 gezeigt
ist, wird die Qualität
der Schätzung
der Basislinie bAC wegen der durch das Gebäude 94 verursachten
Versperrung verschlechtert, da weniger als vier gemeinsam genutzte
Satelliten (PRN 1, 9) beobachtet werden. Andererseits ist die aus den
Basislinien bAB und bAC gefolgerte
Basislinie bAC besser als die direkte Schätzung der
Basislinie bAC.
-
Das
Konzept aus 4 kann dadurch verallgemeinert
werden, dass ein Graph G eingeführt
wird, wobei die Ecken die Fahrzeuge bezeichnen und die Kanten die
Basislinien zwischen zwei Ecken bezeichnen. Die Gewichtungen der
Kanten seien die GDOP der Basislinie zwischen zwei Fahrzeugen. Das
Ziel ist es, einen Spannbaum, d. h. eine Auswahl von Kanten von
G, die einen Baum bilden, der für
jede Ecke aufspannt, zu ermitteln, wobei das Trägerfahrzeug als Wurzel zugewiesen
wird, so dass die Wege von der Wurzel zu allen anderen Ecken die
minimale GDOP haben.
-
5(a) ist ein Diagramm eines solchen gewichteten
Graphen 100, das das Trägerfahrzeug
bei dem Knoten 102 und die anderen Fahrzeuge bei den Knoten 104 zeigt,
wobei eine Kante oder Basislinie 106 zwischen dem Trägerknoten 102 und
den Knoten 104 und zwischen den anderen Knoten 104 eine
Gewichtung erhält,
die durch einen geeigneten GDOP-Algorithmus bestimmt wird. 5(b) zeigt einen optimalen Spannbaum 108,
wobei die nicht optimalen Kanten oder Basislinien entfernt worden
sind.
-
6 ist
ein Ablaufplandiagramm 110, das einen Prozess zum Definieren
des in 5(a) gezeigten gewichteten
Graphen 100 und des in 5(b) gezeigten
optimalen Spannbaums 108 zeigt. Das Ablaufplandiagramm 110 enthält im Kasten 112 die
Schritte des Aufbauens des gewichteten Graphen 100 aus
Knoten und daraufhin im Kasten 114 das Ermitteln der optimalen
Spanne des Graphen 100. Daraufhin berechnet der Algorithmus
im Kasten 114 die Basislinie einer Kante in dem Graphen 100 und
bestimmt bei der Entscheidungsraute 118, ob alle Kanten
in der Spanne des Graphen 100 verarbeitet worden sind,
und kehrt dann, wenn das nicht der Fall ist, zum Kasten 116 zurück, um die
nächste
Basislinie zu berechnen. Daraufhin berechnet der Algorithmus im
Kasten 120 die relativen Positionen und Geschwindigkeiten
aller Fahrzeuge relativ zu dem Trägerfahrzeug.
-
Der
Schritt des Berechnens der Basislinien zum Erhalten der minimalen
GDOP in dem Ablaufplan 110 kann durch irgendeinen für die hier
beschriebenen Zwecke geeigneten Algorithmus ausgeführt werden.
Ein erster Algorithmus, der als Algorithmus 1 bezeichnet wird, beruht
auf der Einzelbasislinien-Präzisionspositionsbestimmung.
Gegeben sind der vorherige Schätzwert
des gemeinsamen Zustands s ^
(t – 1)
mit seiner Kovarianzmatrix P ^
ih(t – 1); die
Doppeldifferenz d; der GPS-Zeitstempel des Empfängers tR;
die Satellitenephemeriden E; die Systemdynamik von Gleichung (1);
die Messwertgleichung (2); die Kovarianzmatrix Q des Rauschterms w
in Gleichung (3); und die Kovarianzmatrix R des Rauschterms v in
Gleichung (2).
-
Nach
dem aktualisierten Schätzwert
des gemeinsamen Zustands s ^
(t) und nach der Kovarianzmatrix P ^
ih(t) zum Zeitpunkt t kann wie folgt aufgelöst werden:
- 1. Berechne die Vorhersage s ~
unter Verwendung
von Gleichung (1) als:
- 2. Berechne den Innovationsfehler als: e
= d – H ~
(s ~
) mit H ~
= H ~
(Xh, bih)
- 3. Berechne die Innovationskovarianz S = H ~
P ~
H ~
T +
R.
- 4. Berechne den Kalman-Gewinn als K = P ~
H ~
TS–1.
- 5. Gib den aktualisierten Schätzwert s ^
= s ~
+ Ke und die Kovarianzmatrix P ^
=
(I – KH ~
)P ~
aus.
-
Die
präzise
relative Positionsbestimmung für
mehrere Fahrzeuge kann außerdem
durch den folgenden Algorithmus bestimmt werden, der als Algorithmus
2 bezeichnet wird.
- 1. Baue einen gewichteten
Graphen G von Fahrzeugen auf, wobei jedes Fahrzeug eine Ecke ist,
und füge zwischen
zwei Ecken eine Kante hinzu, falls die Anzahl gemeinsam genutzter
beobachteter Satelliten größer oder
gleich vier ist. Die Wurzel bezeichne das Trägerfahrzeug.
- 2. Die Gewichtung einer Kante ist gleich der geometrischen Abnahme
der Präzision
(GDOP) der gemeinsamen Satelliten, beobachtet durch die zwei Fahrzeuge,
d. h. det[H(Xi, bik)]–1 in
Gleichung (1) für
die Gewichtung der Kante zwischen den Ecken i und j.
- 3. Verwende dynamische Programmierung (entweder verbesserter
Bellman-Ford-Algorithmus von Algorithmus 3 oder Dijkstra-Algorithmus
von Algorithmus 4), um einen Spannbaum derart zu ermitteln, dass
der Weg von irgendeinem anderen Knoten die beste Satellitengeometrie
(minimale GDOP) für
die Positionsbestimmung besitzt.
- 4. Für
alle E in dem Graphen G tue
- 5. bestimme die wie durch die Kante E repräsentierte Basislinie durch
die im Algorithmus 1 beschriebenen Algorithmen
- 6. Ende der Für-Schleife
- 7. berechne aus den Geschwindigkeiten für das Trägerfahrzeug auf der Grundlage
des Graphen G relative Positionen und Geschwindigkeiten.
-
Der
Algorithmus 3 ist ein verbesserter Bellman-Ford-Algorithmus.
-
Gegeben
sind der Graph G mit den Ecken V = {vi|1 ≤ i ≤ |V|}, mit
den Kanten E = {ek|1 ≤ k ≤ |E|} und mit den Gewichtungen
der Kanten {wk|1 ≤ k ≤ |E|}; und die Quelle der Ecke
H.
-
Stelle
sicher: Der Spannbaum T und G:
- 1. Für alle Ecken
v in dem Satz von Ecken tue
- 2. wenn v die Quelle ist, dann
- 3. sei cost(v)0
- 4. sonst
- 5. sei cost(v) ∞
- 6. Ende der Wenn-Schleife
- 7. sei predecessor(v) null
- 8. Ende der Für-Schleife
- 9. für
i von 1 bis |V| – 1
tue
- 10. für
jede Kante eK in E tue
- 11. sei u die Quellecke von e. sei v die Zielecke von ek
- 12. wenn cost(v) kleiner als max(wk,
cost(u)) ist, dann
- 13. sei cost(v) = max(wk, cost(u))
- 14. sei predecessor(v) = u
- 15. Ende der Wenn-Schleife
- 16. Ende der Für-Schleife
- 17. Ende der Für-Schleife
- 18. konstruiere unter Verwendung von predecessor(v) für alle Ecken
den Spannbaum T.
-
Der
Algorithmus 4 ist ein verbesserter Dijkstra-Algorithmus:
Gegeben
sei der Graph G mit den Ecken V = {vi|1 ≤ i ≤ |V|}, mit
den Ecken E = {ek|1 ≤ k ≤ |E|} und mit den Gewichtungen
der Kanten {wk| ≤ k ≤ |E|}; und die Quelle der Ecke
H.
-
Stelle
sicher: der Spannbaum T und G:
- 1. Für alle Ecken
v in dem Satz von Ecken tue
- 2. wenn v die Quelle H ist, dann
- 3. sei cost(v) 0
- 4. sonst
- 5. sei cost(v) ∞
- 6. Ende der Wenn-Schleife
- 7. sei predecessor(v) null
- 8. Ende der Für-Schleife
- 9. der Satz Q enthalte alle Ecken in V
- 10. für
Q nicht leer tue
- 11. sei u die Ecke in Q mit den kleinsten Kosten. Entferne u
von Q
- 12. wenn für
jeden Nachbarn v von u tue
- 13. sei e die Kante zwischen u und v. Sei alt = max(cost(u),
weight(e))
- 14. wenn alt < cost(v),
dann
- 15. cost(v) = alt
- 16. sei predecessor(v) u
- 17. Ende der Wenn-Schleife
- 18. Ende der Für-Schleife
- 19. Ende der Für-Schleife
- 20. konstruiere unter Verwendung von predecessor(v) für alle Ecken
den Spannbaum T.
-
Die
GPS-Messwerte sind durch den latenten Vektor der Position und Geschwindigkeit
eines GPS-Empfängers
korreliert, der wie folgt ausgedrückt werden kann.
-
Es
sei X ein sechsdimensionaler latenter Zustandsvektor, der aus den
Positionen und Geschwindigkeiten in ECEF-Koordinaten besteht. Es
sei C eine Satellitenkonstellation, die die Positionen und Geschwindigkeiten
der Satelliten in ECEF-Koordinaten enthält, die durch die von den Satelliten
rundgesendeten Ephemeridennachrichten bestimmt werden können. Eine
GPS-Messgröße O enthalte
den Codebereich, die Trägerphase
und die Doppler-Verschiebung für
den Empfänger
von den Satelliten. Im Ergebnis kann die Messwertgleichung geschrieben
werden als: O = h(X, β, β .
, C) +
v (6)
-
Dabei
ist β der
Taktfehler des Trägerempfängers, β .
die Änderungsrate
von β und
v das unmodellierte Rauschen für
GPS-Messungen einschließlich
Tendenzen, die durch Ionosphären-
und Troposphären-Brechungen,
Satellitenumlauffehler, Satellitentaktdrift, Multipfad usw. verursacht
werden.
-
7 ist
ein Blockschaltplan eines Systems 130, das ein Einzelabsolutpositionsbestimmungs-Modul 132 enthält, das
im Kasten 134 Satellitenbeobachtungen und im Kasten 136 Satellitenephemeriden
empfängt. Die
Vorhersagebeobachtungen von dem Positionsbestimmungsmodul 132 und
die Satellitenbeobachtungen werden für einen Addierer 138 bereitgestellt,
bei dem die Differenz zwischen den Signalen durch einen Codierer 140 codiert
wird. Die codierten Signale von dem Codierer 140 und die
Absolutpositionsbestimmungs-Geschwindigkeits-Signale von der Positionsbestimmungseinheit 132 werden
im Kasten 142 als Fahrzeugabsolutpositionsbestimmungs-
und -geschwindigkeitssignal und komprimierte Innovationsfehler bereitgestellt.
-
Das
Einzelabsolutpositionsbestimmungs-Modul 132 beobachtet
die Eingabe der Messwerte einschließlich Codebereich, Trägerphase
und Doppler-Verschiebung,
die Eingabe der Satellitenkonstellation C und der Fahrzeugdaten
(z. B. Raddrehzahl und Giergeschwindigkeit). Das Modul 132 erzeugt
die absolute Position und Geschwindigkeit des GPS-Empfängers X ^
.
Außerdem
erzeugt das Modul 132 die vorhergesagten GPS-Messwerte O ~
,
ausgedrückt
durch eine Funktion h als: O ~
= h(X ^
,
C) (7)
-
Somit
kann der Innovationsfehler e definiert werden als: e = O – O ~
(8)
-
Es
kann bestätigt
werden, dass der Innovationsfehlervektor zwei Eigenschaften aufweist.
Die Komponenten sind wechselweise unkorreliert und für jede Komponente
ist die Streuung viel kleiner als das Gegenstück der GPS-Messwerte O. Somit
können
auf den Innovationsfehler e Standarddatenkompressionsverfahren wie
etwa, aber nicht beschränkt
auf, Vektorquantisierung oder Huffman-Codierung angewendet werden, wobei
eine gute Kompressionsleistung erzielt werden kann.
-
8 ist
ein Blockschaltplan 150, der den Inversionsbetrieb des
Kompressionsmoduls veranschaulicht und die Schritte zeigt, wie die
GPS-Messwerte aus den empfangenen komprimierten Daten von einem drahtlosen
Funkmodul wiedergewonnen werden können. Insbesondere werden im
Kasten 152 die komprimierten Innovationsfehler für einen
Decoder 154 bereitgestellt und werden im Kasten 156 die
Fahrzeugabsolutpositions- und
-geschwindigkeitssignale und im Kasten 158 die Satellitenephemeridensignale
für ein
Modul 160 zum Berechnen vorhergesagter Beobachtungen bereitgestellt.
Die Signale von dem Decodierer 154 und von dem Beobachtungsmodul 160 werden
im Kasten 164 durch einen Addierer 162 addiert,
um Satellitenbeobachtungen wie etwa Codebereich, Trägerphase
und Doppler-Frequenzen bereitzustellen.
-
Der
Schätzwert
der absoluten Position und Geschwindigkeit des GPS-Empfängers sei X ^
.
Die komprimierten Innovationsfehler werden decodiert, um den entsprechenden
Innovationsfehler e zu erhalten. Es kann bestätigt werden, dass die vorhergesagten
Messwerte O ^
aus dem Schätzwert
der absoluten Position und Geschwindigkeit des GPS-Empfängers X ^
und
aus der Satellitenkonstellation C berechnet werden können als: O ~
= h(X ^
, C) (9)
-
Somit
können
die wiedergewonnenen GPS-Messwerte berechnet werden als: O = O ~
+ e (10)
-
Die
GPS-Messwerte sind stark mit der Zeit korreliert. Dies macht sie
gut geeignet für
die Kompression unter Verwendung eines Vorhersagemodells des latenten
Zustandsvektors X. Die Prozessgleichung des latenten Zustands zum
Zeitpunkt t sei: X(t + 1) = f(X(t))
+ w (11)
-
Dabei
ist f die Systemprozessfunktion des Trägerfahrzeugs (z. B. Modell
konstanter Geschwindigkeit oder Modell konstanten Wendens), wobei
der GPS-Empfänger
im Dach des Fahrzeugs eingebaut ist und w das unmodellierte Rauschen
in der Prozessgleichung ist.
-
Die
Reste w in Gleichung (11) sind gut geeignet für die Kompression durch Codierung
der Differenz zwischen dem gegenwärtigen Zustandsvektor und dem
vorhergesagten Zustandsvektor von dem vorherigen Zeitpunkt.
-
9 ist
ein System 170 für
ein vorgeschlagenes Kompressionsschema. Eine Einzelpositions- und -geschwindigkeitsschätzeinrichtung 172 überwacht
die Eingabe der GPS-Messwerte O(t) zum Zeitpunkt t und die Vorhersage
des latenten Zustandsvektors X ~
(t) von dem vorherigen Zeitpunkt t–1 und erzeugt
den neuen Schätzwert
des latenten Zustandsvektors X ^
(t). Ein Beobachtungsvorhersagemodell-Modul 174 berechnet
unter Verwendung von Gleichung (6) die Beobachtungsvorhersage O ~
(t).
Ein Huffman-Codierer-I-Modul 176 codiert
unter Verwendung der Codierung mit variabler Länge auf der Grundlage eines
abgeleiteten Huffman-Baums die Differenz zwischen der Eingabe O(t)
und der Modellvorhersage O ~
(t) von einem Addierer 184. Ein
Einheitsverzögerungsmodul 178 speichert
den vorherigen latenten Zustandsvektor X ^
(t–1). Ein Zustandsvorhersagemodell 180 berechnet
die Vorhersage des latenten Zustands O ~
(t). Ein Huffman-Codierer-II-Modul 182 codiert
unter Verwendung einer Codierung mit variabler Länge auf der Grundlage eines
Huffman-Baums die Differenz zwischen dem latenten Zustandsvektor X ^
(t)
und der Modellvorhersage X ~
(t) von einem Addierer 186.
-
Die
Kompression mit minimaler Beschreibungslänge des GPS-Protokolls (MDLCOG)
ist als eine Anwendungsschicht ausgelegt, die, wie in 10 gezeigt
ist, über
einer Transportschicht vorgesehen ist. Insbesondere ist das MDLCOG
eine Anwendungsschicht 194 in einem Protokollstapel 190,
der zwischen einer GPS-Daten-Schicht 192 und einer Transportschicht 196 positioniert
ist. Unter der Transportschicht 196 liegt eine Vermittlungsschicht 198 und
ganz unten in dem Protokollstapel 190 liegt eine Sicherungsschicht 200.
-
Das
MDLCOG besteht aus einer Sammlung von Nachrichten, die als Rahmen
bekannt sind, die für
die Initialisierung und Sendung von Messwerten und zusätzlichen
Daten wie etwa GPS-Zeitstempel und einer Bitmap der beobachteten
Satelliten verwendet werden. Diese Datenrahmen sind als ein Initialisierungsrahmen (I-Rahmen),
als ein zusätzlicher
Datenrahmen (A-Rahmen), als ein Differentialrahmen (D-Rahmen) und
als ein Messwertrahmen (M-Rahmen) bekannt.
-
Zu
Beginn der Datenübertragung
sendet der Codierer einen I-Rahmen, um das Zustandsvorhersagemodul
bei dem Decodierer zu initialisieren. Der I-Rahmen ist analog zu den Schlüsselrahmen,
die in Video-MPEG-Normen verwendet werden. Der I-Rahmen enthält die durch
den Codierer geschätzte
absolute Position und Geschwindigkeit des GPS-Empfängers in
ECEF-Koordinaten. Der I-Rahmen wird außerdem jedes Mal gesendet, wenn
die Differenz zwischen dem gegenwärtigen und dem vorherigen Schätzwert des
latenten Zustands X größer als
ein Schwellenwert ist.
-
Der
A-Rahmen enthält
die Nicht-Messwert-Daten wie etwa die Satellitenliste, Datenqualitätsindikatoren
usw. Der A-Rahmen wird nur beim Start und wenn sich der Inhalt ändert übertragen.
-
Die
am häufigsten übertragenen
Rahmen sind der D-Rahmen und der M-Rahmen. D-Rahmen sind in dem Sinn, dass
sie in Bezug auf zuvor codierte Abtastwerte codiert werden, analog
zu den P-Bildrahmen, die in MPEG-Videocodierungsnormen verwendet
werden. Die Zeitreihendifferenz in dem D-Rahmen verwendet [engl.: ”use”] das in
Gleichung (11) ausgedrückte
Fahrzeugdynamikmodell. Jeder D-Rahmen enthält die Huffmancodierte Differenz
zwischen dem gegenwärtigen
und dem vorherigen Schätzwert
des latenten Zustands X. Der M-Rahmen enthält den GPS-Zeitstempel und die Huffman-codierte
Differenz zwischen den Messwerten O und den vorhergesagten Werten O ~
.
Der M-Rahmen wird jedes Mal gesendet, wenn ein neuer GPS-Messwert
empfangen wird, wobei für
die Frequenzen L1 und L2 getrennte Rahmen für den M-Rahmen übertragen werden.
-
Wenn
der Decodierer initialisiert worden ist, überträgt der Codierer, der die richtigen
I-Rahmen und A-Rahmen empfangen hat, für jede Epoche in dem entsprechenden
D-Rahmen und M-Rahmen den quantisierten Vorhersagerest. Ein Beispiel
der Sequenz von Rahmen ist in 11 gezeigt.
M-Rahmen werden in jeder Zeitepoche gesendet. In der Zeitepoche
1 werden ein I-Rahmen und ein A-Rahmen gesendet, um die Vorhersagemodule
in dem Decodierer zu initialisieren. In Epoche 6 wird erneut ein
I-Rahmen gesendet, da die wesentliche Änderung in dem Schätzwert des
latenten Zustands X detektiert wird. In Epoche 8 wird ein A-Rahmen übertragen,
da ein Satellit am Horizont erscheint oder ein Satellit untergeht.
-
12 ist
ein Ablaufplandiagramm 210, das die Prozedur für den Aufbau
eines Wörterbuchs
zum Codieren der Reste umreißt.
Im Kasten 212 werden umfangreiche Daten von Zweifrequenz-GPS-Daten
gesammelt. Im Kasten 214 wird das Ensemble der Messreste
e oder der Zustandsvorhersagereste w berechnet. Im Kasten 216 wird
eine spezifische Auflösung
zum Quantisieren der Reste gewählt
(z. B. 0,2 Meter für
die Pseudoentfernung als das RTCM-Protokoll) und eine Liste von
Symbolen abgeleitet. Im Kasten 218 wird die Frequenz jedes
Symbols in dem Ensemble berechnet. Im Kasten 220 wird A
= {a1, a2, ...,
an} gesetzt, was das Symbolalphabet der
Größe n ist.
Daraufhin wird P = {p1, p2,
..., pn} gesetzt, was der Satz der (positiven)
Symbolfrequenz ist, d. h. pi = frequency(ai), 1 ≤ i ≤ n. Durch
Aufbau eines Huffman-Baums wird ein Code C(A, P) = {c1,
c2, ..., cn} erzeugt,
der der Satz von (binären)
Codewörtern
ist, wobei ci das Codewort für ai, 1 ≤ i ≤ n, ist.
-
13 ist
ein Ablaufplandiagramm 230 eines Algorithmus zum Codieren
von GPS-Daten. Die Prozedur beginnt, wenn in der Entscheidungsraute 232 neue
Daten von der GPS-Vorrichtung empfangen werden, und endet, wenn
im Kasten 234 keine Daten empfangen werden. Daraufhin werden
im Kasten 236 die GPS-Daten O gesammelt, die aus Pseudoentfernung
Rj, Doppler-Verschiebung Dj und
Trägerphase Φj von dem j-ten Satelliten Xj,
der zu dem Satz C = {Xj|1 ≤ j ≤ J} gehört, bestehen
[engl.: ”consists”], wobei
J die Anzahl sichtbarer Satelliten ist. Der Wert Xj besteht
aus der dreidimensionalen Position des j-ten Satelliten in den ECEF-Koordinaten.
-
Daraufhin
bestimmt der Algorithmus in der Entscheidungsraute 238,
ob sich die Satellitenkarte geändert
hat, wobei der Algorithmus im Kasten 240 einen A-Rahmen
erzeugt, wenn das der Fall ist. Insbesondere dann, wenn die Identitäten, d.
h. PRN, der Satellitenkonstellation C gegenüber dem vorherigen Zeitpunkt
geändert
sind, wird ein A-Rahmen erzeugt, um die Liste der PRN der beobachteten
Satelliten zu codieren. Der Rahmen besteht aus einer 32-Bit-Karte,
wobei jedes Bit in Abhängigkeit
von der Anwesenheit von Daten für einen
bestimmten Satelliten entweder wahr oder falsch ist.
-
Daraufhin
schätzt
der Algorithmus im Kasten 242 die Einzelposition und -geschwindigkeit
des Fahrzeugs. In dem Modul zum Schätzen der Einzelposition und
-geschwindigkeit wird ein Kalman-Filter verwendet, um den latenten
Zustandsvektor X durch eine Reihe von Messwerten O zu schätzen. Der
latente Zustandsvektor X = (x, y, z, x .
, y .
, z .
, β, β .
) bezeichne den verketteten
Vektor in dieser Reihenfolge eines dreidimensionalen Positionsvektors
in den ECEF-Koordinaten, eines dreidimensionalen Geschwindigkeitsvektors
in den ECEF-Koordinaten, eines Empfängertaktfehlers und einer Änderungsrate
des Empfängertaktfehlers.
Das linearisierte System von Gleichung (6) kann in der Umgebung
von X* geschrieben werden als: X(t
+ 1) = FX(t) + u1 + w (12)
-
Dabei
ist F die Jacobi-Matrix in Bezug auf den latenten Zustandsvektor
X und der nichtlineare Term u1 = f(X*) – FX*.
-
Die
Messwerte von Gleichung (6) des j-ten Satelliten können entwickelt
werden in:
Rj = ρj +
cβ + vR
-
Für j = 1,
..., J, wobei ρj die geometrische Entfernung zwischen dem
Empfänger
und dem j-ten Satelliten ist, ist ρ .
j die
Projektion des Geschwindigkeitsvektors des j-ten Satelliten, projiziert
auf die Richtung von dem Empfänger
zu dem Satelliten, bezeichnet c die Lichtgeschwindigkeit, sind λ und f die
Wellenlänge
bzw. die Frequenz des Trägersignals,
sind vR, vΦ und
vD das unmodellierte Messrauschen für die Pseudoentfernung, für die Trägerphase
und für
die Doppler-Verschiebung und sind xj, yj und zj die dreidimensionale
Position des j-ten Satelliten in den ECEF-Koordinaten.
-
Es
wird angemerkt, dass die Größen ρj und ρ .
j von dem Vektor des latenten Zustandsvektors
X abhängen.
Mit anderen Worten, Gleichung (13) enthält hinsichtlich des latenten
Zustandsvektors X nichtlineare Gleichungen. Diese Größen sind
nicht sehr empfindlich für Änderungen
des latenten Zustandsvektors X. Wenn die Dynamik des Empfängers verfügbar ist,
reicht es üblicherweise
aus, den vorhergesagten Schätzwert X ~
des vorherigen
Zeitpunkts als das Zentrum der linearisierten Umgebung X* zu verwenden
und ihn zum Ersetzen des latenten Zustandsvektors X in Gleichung
(13) zu verwenden. Somit kann dann, wenn Rj, Φj, und Dj verfügbar sind,
durch das im Folgenden im Algorithmus 5 ausführlich beschriebene Filterungsverfahren
ein besserer Schätzwert
des latenten Zustandsvektors X erhalten werden.
-
Gleichung
(13) kann in der Umgebung von X* linearisiert werden:
-
Dabei
ist O
j = [R
j, Φ
j, D
j]
T,
H
j ist die Jacobi-Matrix der Matrix von
Gleichung (13) in Bezug auf den latenten Zustandsvektor X und den
nichtlinearen Term
Somit können die Hauptschritte des
Moduls für
die Schätzung
der Einzelposition und -geschwindigkeit im Algorithmus 5 skizziert
werden.
-
Daraufhin
bestimmt der Algorithmus in der Entscheidungsraute 244,
ob der gegenwärtige
Zustandsschätzwert
X(t) und der vorherige Zustandsschätzwert X(t – 1) größer als ein Schwellenwert T
sind [engl.: ”is”]. Wenn
die Differenz zwischen dem gegenwärtigen Zustandsschätzwert X(t)
und dem vorherigen Zustandsschätzwert
X(t – 1)
größer als
der Schwellenwert T ist, wird im Kasten 248 ein I-Rahmen
erzeugt. Der I-Rahmen codiert den gegenwärtigen Zustandsschätzwert X(t)
einschließlich
der ECEF-Position und -Geschwindigkeit des Empfängers. Andernfalls wird im
Kasten 246 unter Verwendung des Huffman-Codewort-Wörterbuchs
ein D-Rahmen erzeugt, um die Differenz X(t) – X(t – 1) zu codieren.
-
Der
nächste
Schritt ist das Berechnen der Modellreste im Kasten 250 für die Messwerte
als: e = O – h(X) (15)
-
Daraufhin
werden die Messwertmodellreste im Kasten 252 unter Verwendung
des Huffman-Codewort-Wörterbuchs
durch Erzeugen des M-Rahmens codiert. In dem letzten Schritt im
Kasten 254 werden alle erzeugten Rahmen zu der unteren
UDP-Schicht 196 übertragen.
-
Algorithmus
5, Aktualisierung der absoluten Positionsbestimmung:
Gegeben
sind der vorherige Schätzwert
des latenten Zustands X ^
(t – 1)
mit seiner Kovarianzmatrix P ^
(t – 1);
die Messwerte O(t); der GPS-Zeitstempel des Empfängers tR;
die Satellitenephemeriden E; die Systemdynamikgleichung (4); die
Messwertgleichung (6); die Kovarianzmatrix Q des Rauschterms w in
Gleichung (4); die Kovarianzmatrix R des Rauschterms v in Gleichung
(6).
-
Der
aktualisierte Schätzwert
der absoluten Position und Geschwindigkeit des Empfängers X ^
(t)
zum Zeitpunkt t.
- 1. Berechne die Vorhersage X ~
=
f(X ^
(t – 1))
und P ~
= FP ~
(t – 1)FT + Q.
- 2. für
alle j, 1 ≤ j ≤ J, tue
- 3. gewinne die Satellitenephemeriden des j-ten Satelliten wieder
- 4. berechne die ECEF-Position Xj = [xj, yj, zj]T und -Geschwindigkeit X .
j =
[x .
j, y .
j, z .
j]T des j-ten Satelliten
- 5. berechne
und ρ .
j = X .
j
T(Xj – X ~
), wobei X ~
=
[x ~
, y ~
, z ~
]T die Vorhersage der ECEF-Position
des Empfängers
ist
- 6. berechne Hj unter Verwendung von
Gleichung (7):
- 7. Ende der Für-Schleife
- 8. berechne H = [Hl
T,
..., HJ
T]T
- 9. berechne unter Verwendung von Gleichung (5) den Innovationsfehler,
d. h. e = O(t) – h(X ~
)
- 10. berechne die Innovationskovarianz S = HP ~
HT +
R
- 11. berechne den Kalman-Gewinn K = P ~
HTS–1
- 12. gib den aktualisierten Schätzwert X ^
= X ~
+ Ke und die Kovarianzmatrix P ^
=
(I – KH)P ~
aus.
-
Die
vorstehende Diskussion offenbart und beschreibt lediglich beispielhafte
Ausführungsformen
der vorliegenden Erfindung. Der Fachmann auf dem Gebiet erkennt
aus dieser Diskussion und aus den beigefügten Zeichnungen und Ansprüchen leicht,
dass daran verschiedene Änderungen,
Abwandlungen und Veränderungen
vorgenommen werden können,
ohne von dem Erfindungsgedanken und Umfang der Erfindung wie in den
folgenden Ansprüchen
definiert abzuweichen.