-
Ausführungsbeispiele gemäß der vorliegenden Erfindung betreffen eine Vorrichtung zum Erzeugen eines Datenstroms, ein Verfahren zum Erzeugen eines Datenstroms, einen Satellitenempfänger bzw. ein Satellitenempfänger Front-End (Eingangsstufe bzw. „vorderes Ende”) zum Empfangen eines Empfangssignals und zum Bereitstellen von Datenpaketen, ein System zum Übertragen von Datenpaketen sowie ein Computerprogramm zum Ausführen des vorgenannten Verfahrens.
-
Vorrichtungen bzw. Verfahren gemäß einigen Ausführungsbeispielen können beispielsweise in Satellitennavigationsempfängern bzw. deren zugehörigen Front-Ends eingesetzt werden, die über eine asynchrone Schnittstelle verfügen, die aufgrund der begrenzten Übertragungskapazität keine bidirektionale Übertragung erlaubt.
-
Satellitenempfänger wurden ursprünglich zur Positionsbestimmung und Navigation im militärischen Bereich, beispielsweise bei Waffensystemen, Kriegsschiffen und Flugzeugen eingesetzt. Heute werden Satellitenempfänger jedoch vermehrt auch im zivilen Bereich genutzt, beispielsweise in der Seefahrt, in der Luftfahrt, durch Navigationssysteme im Auto, zur Orientierung im Freizeitbereich, im Vermessungswesen, in der Landwirtschaft, im Leistungssport und zum Einsatz in Mobiltelefonen.
-
Beispielsweise erlauben die Genauigkeiten von Satellitenempfängern heute in der zivilen Luftfahrt sogar automatische Landungen, sofern die Mittellinien der Landebahn vorher genau vermessen wurden. Ein weiteres verbreitetes Einsatzgebiet ist das Flottenmanagement von Verkehrsbetrieben und das Transportwesen zu Land und auf Wasser oder See. Sind die Fahrzeuge oder die Schiffe beispielsweise mit einem Satellitenempfänger ausgestattet, so hat die Zentrale jederzeit einen Überblick über den Standort der Fahrzeuge bzw. der Schiffe und kann bei Störungen sofort eingreifen. Eingesetzt werden Satellitenempfänger beispielsweise auch im Auto, um mit einer umfangreichen Landkarten- und Stadtplansoftware beispielsweise mittels akustischer Richtungsanweisungen an den Fahrer ihm den Weg zum gewünschten Zielort zu weisen. In letzter Zeit ist der Einsatz von Satellitenempfängern auf PDA-Systemen (Persönlichen Digitalen Assistenzsystemen), PNA-Systemen (Persönlichen Navigations-Assistenzsystemen) und in Mobilfunktelefonen stark gewachsen. Diese können beispielsweise flexibel in verschiedenen Fahrzeugen schnell eingesetzt werden. Meist wird die Routenführung graphisch auf einem Farbbildschirm und mit interaktiver Eingabe dargestellt.
-
Die Verbreitung der Satellitenempfangsgeräte ist auch insbesondere im Hinblick auf die ständig fallenden Preise der Elektronikprodukte zu erklären. Während fest eingebaute Systeme in der Regel zwar erheblich teurer sind als mobile Geräte, haben diese jedoch den Vorteil, dass sie mit der Fahrzeugelektronik gekoppelt sein können. Somit können zusätzliche Daten, die im Fahrzeug verfügbar sind, welche beispielsweise die Geschwindigkeit und die Beschleunigung mit berücksichtigen, um die Position präziser zu bestimmen und auch in Funklöchern wie z. B. Tunneln eine Position ermitteln zu können, nutzbar gemacht werden.
-
In Gebäuden ist der Satellitenempfang meist reduziert bis unmöglich. Im konkreten Fall hängt es beispielsweise von den verwendeten Baustoffen im Gebäude bzw. deren Dämpfungsverhalten und auch vom Standort innerhalb des Gebäudes ab. Beispielsweise kann in Fensternähe oder in Räumen mit großen Fenstern und freier Sicht auf den Himmel, je nach momentaner Satellitenposition durchaus noch eine Standortbestimmung mit reduzierter Genauigkeit möglich sein. In Innenräumen, beispielsweise Kellern, ist der Satellitenempfang dagegen sehr stark eingeschränkt. Neuere Satellitenempfänger ermöglichen es beispielsweise auch in manchen Situationen wie in Gebäuden einen Empfang des Satellitensignals zu gewährleisten. Beispielsweise kann dies dadurch ermöglicht werden, dass die Empfangssignale nicht zeitlich nacheinander vermessen werden, und nur ein Empfangsweg verwendet wird, sondern indem eine Mehrzahl von parallelisierten Satellitenempfängern verwendet werden. Durch einen solchen parallelen Einsatz von Satellitenempfängern mit zeitgleicher Auswertung kann beispielsweise der Mehrwegeempfang stark reduziert werden, so dass in Kombination mit einer gesteigerten Eingangsempfindlichkeit des Satellitensignals auch die Signale, die an Wänden und Böden reflektiert wurden u. U. auch im Innern von Gebäuden oder engen Gassen in dicht verbauten Gebieten noch ausgewertet werden können.
-
Satellitenempfangssysteme messen beispielsweise den Ort des Empfängers mit Hilfe der Entfernung zu mehreren Satelliten. Die Satelliten strahlen dabei beispielsweise ständig ihre sich ändernden Positionen und die genaue Uhrzeit aus. Aus deren Signallaufzeiten können die Satellitenempfänger dann ihre eigene Position und Geschwindigkeit berechnen. Beispielsweise können dazu drei Satelliten zur Bestimmung der Raumkoordinaten und ein vierter Satellit zur Bestimmung der Zeitkoordinate genutzt werden. Mit den Satellitensignalen lässt sich nicht nur die Position, sondern auch die Geschwindigkeit des Empfängers bestimmen, was beispielsweise durch Messung des Dopplereffekts geschehen kann.
-
Beispielsweise senden Satelliten „spread spectrum” (spektral gespreizt) modulierte Signale aus. Ein Datensignal kann beispielsweise mit einer pseudozufälligen Codefolge moduliert werden und vom Empfänger mittels Kreuzkorrelation empfangen werden. Zur besonders effizienten Übertragung können beispielsweise Codefolgen eingesetzt werden, die eine bestimmte Codephasenverschiebung aufweisen. Beispielsweise werden die Satellitensignale mittels der speziellen Codierung so ausgestrahlt, dass die dabei entstehenden Sendefolgen von verschiedenen Satelliten orthogonal zueinander stehen, so dass ein unabhängiger Empfang der einzelnen Satellitensignale möglich wird, obwohl alle Satelliten auf den gleichen Frequenzen senden. Dieses Codemultiplexverfahren, auch CDMA (Code Division Multiple Access) Verfahren (Codeaufteilungsvielfachzugangsverfahren) bezeichnet, wird beispielsweise in den meisten Satellitenempfangsgeräten zur Auswertung des Sendesignals bzw. der Sendesignale verwendet. Beispielsweise können dazu Gold-Folgen genutzt werden, die beispielsweise aus zwei Generatorpolynomen mittels rück-gekoppelter Schieberegister erzeugt werden können, wobei eine Codephasenverschiebung zwischen den zwei Generatoren genutzt werden kann, um zu erreichen, dass unterschiedliche Gold-Folgen mit gleichen Generatorpolynomen zueinander fast orthogonal im Coderaum stehen und sich damit kaum gegenseitig beeinflussen. Insofern weisen die empfangenen Satellitensignale aufgrund der Codephasenverschiebungen eine hinreichend kleine Kreuzkorrelation für den CDMA-Empfang auf, so dass eine Mehrzahl von Satelliten der gleichen Sendefrequenz Daten zu den Satellitenempfängern übertragen können.
-
Zur Erhöhung der Genauigkeit können die Signale von einem Satelliten auch beispielsweise auf mehreren Frequenzen ausgesendet werden, wobei meist wählbar ist, welcher Code auf welcher Frequenz übertragen werden kann. Durch die Übertragung auf mehreren Frequenzen können beispielsweise ionosphärische Effekte, die zur Erhöhung der Laufzeit führen, herausgerechnet werden, um so die Genauigkeit zu steigern.
-
Ein typischer Satellitenempfänger kann beispielsweise nach dem Prinzip arbeiten, dass für ein empfangenes Signal eines Satelliten eine Gold-Codefolge erzeugt wird, die der Gold-Codefolge entspricht, die der Satellit aussendet. Dabei haben zunächst die empfangene und die im Empfänger selbst erzeugte Codefolge keine zeitliche Beziehung. Um diese zeitliche Beziehung herzustellen, werden beide Folgen nach einer zeitlichen Verschiebung einer der Folgen miteinander multipliziert und die Multiplikationsergebnisse addiert. Diese Prozedur kann auch als Kreuzkorrelation bezeichnet werden. Wenn die zeitliche Verschiebung variiert wird, ändert sich die Summe. So wird beispielsweise die Summe maximal, wenn die Folgen zeitlich übereinstimmen.
-
Beispielsweise ist es möglich, aufgrund der speziellen Codefolgen, die der Satellit sendet, zu gewährleisten, dass nur bei der richtigen Codefolge und bei der richtigen Zeitverschiebung das Maximum der Kreuzkorrelation auftritt, was auch als Einzigartigkeit bezeichnet werden kann. Durch das Abzählen in den Signaleinheiten und die Lageauswertung der momentanen Zeit im Codeblock ist es beispielsweise möglich, den genauen Sendezeitpunkt, zu dem das empfangene Signal durch den Satelliten ausgesendet wurde, zu bestimmen. Für die Auswertung ist es beispielsweise ausreichend, wenn nur die Zeit des Beginns eines Codeblocks im Satelliten bekannt ist. Der Empfänger kann dann die Zeit zwischen dem Auswertezeitpunkt und dem Beginn eines Codeblocks messen, um die Sendezeit des Codeblocks durch Auswertung der Satellitennachricht zu bestimmen.
-
Aufgrund der Signalauswertung mittels einer Kreuzkorrelationsbestimmung und Auswerten des Maximums der Kreuzkorrelation ist es von besonderer Wichtigkeit, dass der zeitliche Zusammenhalt des Empfangssignals beibehalten wird. Eine Kreuzkorrelation kann beispielsweise nur dann richtig ausgewertet werden, wenn die beiden Signale, über welche die Kreuzkorrelation ausgeführt wird, in korrektem zeitlichen Zusammenhang zueinander stehen. Das heißt, ein Empfangssignal sollte den gleichen zeitlichen Bezug aufweisen, wie ein gesendetes Signal, um dann mittels Korrelation die Zeitverschiebung zum gesendeten Signal bestimmen zu können.
-
Zur Weiterleitung der von den Satelliten empfangenen Signale an beispielsweise eine Kontrollstation steht dem Satellitennavigationsempfänger meist nur eine begrenzte Übertragungskapazität zur Verfügung, die beispielsweise keine bidirektionale Übertragung erlaubt. Anwendungen liegen hierin, die empfangenen Daten eines Satellitennavigationsgeräts mit geringem Protokollaufwand an beispielsweise eine Kontrollstation weiter zu leiten, welche beispielsweise anhand der Daten von mehreren Satellitenempfangsgeräten eine Kontrolle und Überwachung der Positionen der einzelnen Satellitennavigationsempfänger ermöglichen kann. Beispielsweise kann dadurch eine wirkungsvolle Flottenverwaltung von z. B. Verkehrsbetrieben sowie eine effiziente Steuerung z. B. des Transportwesens zu Land, zu Luft oder zur See ermöglicht werden. Die Zentrale hat mittels der von den Satellitenempfängern gesendeten Daten jederzeit einen Überblick über den Standort der verschiedenen Fahrzeuge bzw. Schiffe oder Flugobjekte und kann bei Störungen sofort eingreifen.
-
Dem Satellitenempfänger, der in dieser Kommunikation zum Sender wird, um die von den Satelliten empfangenen Daten an die Kontrollstation zu senden, steht beispielsweise eine asynchrone Schnittstelle zur Verfügung. Der Datenstrom wird beispielsweise vom Sender ausgesendet, sobald die Daten dem Sender zur Verfügung stehen und ohne dass der Sender auf den Empfänger achtet. Das heißt, es kann aufgrund des fehlenden Rückkanals kein „Handshake” („Händeschütteln”) zwischen Sender und Empfänger stattfinden. Da der Sender keine Rückmeldung vom Empfänger erhält, können Fehler, die aufgrund der Übertragungsstrecke auftreten, auch nicht durch erneutes Senden der fehlerhaften Pakete ausgeglichen werden. Der Datenstrom kann beispielsweise aus einer Aneinanderreihung von Paketen bestehen, die der Sender mit geringem Protokollaufwand über seine asynchrone Schnittstelle an den Empfänger übertragen kann.
-
Die Druckschrift
CA 2411991 A1 beschreibt eine Vorrichtung zum Übertragen digitaler Videosignale über ein IP-Netzwerk, wobei in einem Übertragungsknoten Netzwerkpakete mit einem Zeitstempel versehen werden und in einem Empfangsknoten eine Bitrate der Netzwerkpakete durch Auswerten der Zeitstempel geschätzt wird. Die Schätzung erfolgt unter Auswertung von verloren gegangenen und fehlerhaften Netzwerkpaketen, wobei verloren gegangene Pakete durch die Verwendung einer Sequenznummer in dem Netzwerkpaket detektiert werden und durch Nullpakete ersetzt werden. Das Ersetzen verloren gegangener Netzwerkpakete durch Nullpakete ermöglicht es, das präzise Zeitverhalten der Netzwerkpakete beizubehalten. Auch fehlerhafte Pakete werden durch Nullpakete ersetzt.
-
Die Druckschrift
US 2001/0009548 A1 beschreibt ein Verfahren und eine Vorrichtung zum Konvertieren von Datenströmen. Dabei wird ein Eingangsdatenstrom, der in einem MPEG 2 Transportstrom (englisch „transport stream”) Format vorliegt, in einen Ausgangsdatenstrom umgewandelt, der ein MPEG 2 Programmstrom (englisch „program stream”) Format aufweist. Der MPEG 2 Transportstrom umfasst einen Audiodatenstrom und einen Videodatenstrom, die aus dem Transportstrom extrahiert werden und in einer Warteschlange zwischengespeichert werden, um einen zeitlichen Versatz von Videodatenstrom und Audiodatenstrom ausgleichen zu können. Basierend auf einer Zeitstempelinformation, die aus dem Transportstrom extrahiert wird und separat in einer Warteschlange gespeichert wird, wird aus dem Videodatenstrom und dem dazu synchronen Audiodatenstrom ein Ausgangsdatenstrom in einem MPEG 2 Programmstrom Format zusammengesetzt. Die Zeitstempelinformation enthält Informationen darüber, wann der entsprechende Video- bzw. Audiodatenstrom abgespielt werden soll, um Synchronizität zwischen Video- und Audiodaten zu gewährleisten.
-
Die Druckschrift
US 2005/0081245 A1 beschreibt ein Verfahren und eine Vorrichtung zur Kanalbestimmung für einen TV- oder VCR-Tuner. Das Verfahren und die Vorrichtung bestimmen einen Kanal, auf den der Tuner eingestellt werden soll, aus einer Messung eines Verlustleistungsverhältnisses. Das Verlustleistungsverhältnis bestimmt sich als Verhältnis eines Prüfsignals zu dem reflektierten Prüfsignal am HF-Eingang des Tuners und kann als eine Signatur eines bestimmten TV-Kanals betrachtet werden. Aus der Messung des Verlustleistungsverhältnisses kann der TV-Kanal bestimmt werden, auf den sich der TV- oder VCR-Tuner einstellen soll.
-
Die
US 6449485 B1 beschreibt ein System, in dem ein Mobiltelefon GPS-Daten von einer Mehrzahl von Satelliten empfängt und eine Anzahl von Abtastwerten des GPS-Signals mit einem Zeitstempel versehen an eine Basisstation sendet.
-
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Konzept zu schaffen, das es ermöglicht, ein Empfangssignal eines Satellitenempfängers über eine nicht ausfallsichere Übertragungsstrecke ohne Rückkanal zu übertragen, wobei das übertragene Empfangssignal auch bei vorübergehenden Störungen der Übertragungsstrecke noch eine ausreichend zuverlässige Auswertung erlaubt.
-
Die vorliegende Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 oder durch ein Verfahren gemäß Anspruch 23 gelöst, oder durch ein System mit einem Satellitenempfänger zum Bereitstellen von Datenpaketen, die auf einem Satellitensignal basieren, gemäß Anspruch 24.
-
Ferner umfasst die Lösung ein System zum Übertragen von Datenpaketen, die auf einem ersten Empfangssignal und einem zweiten Empfangssignal eines Satellitenempfängers basieren, und die das erste Empfangssignal und das zweite Empfangssignal umfassen und mit Paketfolgemarkierungen und Kanalmarkierungen versehen sind, gemäß Anspruch 48. Außerdem umfasst die Lösung ein Computerprogramm gemäß Anspruch 50, mit einem Programmcode zum Ausführen des Verfahrens gemäß Anspruch 23.
-
Zur Erhaltung des zeitlichen Zusammenhalts des vom Satelliten empfangenen Signals, das von dem Satellitenempfänger als beispielsweise ein Datenstrom aus einzelnen Paketen an die Kontrollstation weitergesendet wird, ist es wesentlich, bei der Übertragung der Pakete den zeitlichen Zusammenhalt zu bewahren, damit ein Empfänger beispielsweise in der Kontrollstation mittels Kreuzkorrelationsverfahren die genauen Positionsdaten des Satellitenempfängers bestimmen kann.
-
Ein Kerngedanke eines Ausführungsbeispiels gemäß der Erfindung besteht darin, Datenpakete, die über eine nichtausfallsichere undirektionale Übertragungsstrecke digitale Signale von einem Satellitenempfänger zu einer Empfangsvorrichtung senden, mit Paketfolgemarkierungen zu versehen, anhand derer in einem Empfänger eine (in manchen Fällen sogar eindeutige) Zuordnung des Messzeitpunktes der einzelnen Signalwerte möglich ist. Der Empfänger kann unter Verwendung der Paketfolgemarkierungen erkennen, ob zwischen zwei empfangenen Datenpaketen ein oder mehrere Datenpakete verloren gegangen sind, und in den Datenstrom statt der verloren gegangenen Datenpakete ein oder mehrere Füllpakete einfügen, so dass die zeitliche Zuordnung der einzelnen Datenpakete erhalten bleibt. Die Erhaltung der zeitlichen Zuordnung des Empfangssignals ist bei einigen Ausführungsbeispielen wesentlich für die weitere Verarbeitung, da beispielsweise mittels einer sich anschließenden Kreuzkorrelationsauswertung zwischen dem Empfangssignal und einer dem Empfänger vorliegenden Codefolge die zeitliche Beziehung zwischen der Codefolge und dem Empfangssignal bestimmt werden kann.
-
Wäre diese zeitliche Beziehung gestört, beispielsweise dadurch, dass einzelne Pakete verloren gegangen sind, und nicht wieder ersetzt wurden, so könnte beispielsweise die nachgeschaltete Signalverarbeitung im Empfänger kein Maximum der Zeitverschiebung zwischen Codefolge und empfangenem Signal ermitteln, bzw. würde bei geringen Paketausfällen die Position der Kreuzkorrelation falsch bestimmen, was zu erheblichen Positionierungsfehlern führen könnte. Werden verloren gegangene Pakete beispielsweise durch Füllpakete ersetzt, so bleibt die zeitliche Beziehung erhalten, und die Kreuzkorrelationsauswertung kann sehr schnell das Maximum der Zeitverschiebung ermitteln. Die Füllpakete können bei einigen Ausführungsbeispielen so ausgebildet sein, dass sie die Korrelationsbestimmung nicht stören, das heißt, die Füllpakete können beispielsweise so gewählt sein, dass sie keiner gültigen Codefolge und keinem gesendeten Datenpaket des Satellitenempfängers entsprechen. Beispielsweise eignen sich als Füllpakete Nullpakete (also beispielsweise Datenpakete, die nur „Nullen” enthalten) oder rein zufällig gewählte Pseudozufallswerte.
-
Die Paketfolgemarkierungen können beispielsweise im Satellitenempfänger (also beispielsweise vor der Übertragung über die unidirektionale Schnittstelle) derart an die bereitgestellten Datenpakete angebracht werden, dass Abschnitte der Datenpakete (z. B. Abschnitte, die Abtastwerte eines Satellitennavigations-Empfangssignals aufweisen) mit einer Paketfolgemarkierung überschrieben werden. Daneben ist es auch möglich, die Paketfolgemarkierungen vor oder hinter den einzelnen Datenpaketen anzubringen bzw. in die Datenpakete einzufügen. Durch die Korrelation mit einer langen Datenfolge, die beispielsweise in einem Korrelationsempfänger durchgeführt werden kann, stellt es kein größeres Problem dar, wenn einzelne Daten verloren gehen, da bei der Bildung einer Korrelation ein entsprechend großer Zeitraum ausgewertet wird. Wesentlich ist jedoch bei einigen Ausführungsbeispielen, dass die zeitliche Lage und die eindeutige Zuordnung des Messzeitpunktes der Signalwerte nicht verändert werden.
-
Bei Verarbeitung mehrerer Frequenzbänder ist es manchmal gewünscht, die Synchronizität der einzelnen Frequenzbänder zu erhalten. Dies kann beispielsweise dadurch gewährleistet werden, dass die Paketfolgemarkierungen der einzelnen Frequenzbänder die gleiche Markierung aufweisen, wenn einzelne Signalwerte von unterschiedlichen Frequenzbändern zum gleichen Zeitpunkt gemessen wurden. Dadurch kann beispielsweise eine Synchronisierung über mehrere Frequenzbänder gewährleistet werden.
-
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
-
1 ein Blockschaltbild einer Vorrichtung zum Erzeugen eines Datenstroms, gemäß einem Ausführungsbeispiel;
-
2 ein Blockschaltbild eines Satellitenempfängers, gemäß einem Ausführungsbeispiel;
-
3 ein Beispiel einer Paketfolgemarkierung;
-
4 ein Flussdiagramm eines Verfahrens zum Erzeugen eines Datenstroms, gemäß einem Ausführungsbeispiel;
-
5 ein Blockschaltbild eines Systems zum Übertragen von Datenpaketen, die auf einem Empfangssignal basieren, gemäß einem Ausführungsbeispiel;
-
6 ein Blockschaltbild eines Satellitenempfängers zum Bereitstellen von Datenpaketen, die auf zwei Empfangssignalen beruhen, gemäß einem weiteren Ausführungsbeispiel; und
-
7 ein Blockschaltbild eines Systems zum Übertragen von Datenpaketen, die auf zwei Empfangssignalen basieren, gemäß einem Ausführungsbeispiel.
-
1 zeigt ein Blockschaltbild einer Vorrichtung 100 zum Erzeugen eines Datenstroms gemäß einem Ausführungsbeispiel, wobei der Datenstrom auf empfangenen Datenpaketen basiert, die mit Paketfolgemarkierungen versehen sind. Die Vorrichtung 100 kann einen Paketverlusterkenner 104 und einen Datenpaketverarbeiter 105 umfassen. Die Vorrichtung 100 kann einen Datenstrom 101 erzeugen, basierend auf empfangenen Datenpaketen 102, die mit Paketfolgemarkierungen 103 versehen sind. In diesem Ausführungsbeispiel empfängt die Vorrichtung 100 beispielsweise zwei Datenpakete 111, 114, die jeweils mit Paketfolgemarkierungen 121, 124 versehen sind. Beispielsweise hat ein erstes empfangenes Datenpaket 111 eine erste Paketfolgemarkierung 121 (oder allgemein eine beliebige Paketfolgemarkierung) und ein zweites empfangenes Datenpaket 114 eine vierte Paketfolgemarkierung 124 (oder allgemein eine beliebige Paketfolgemarkierung). Beispielsweise wurde von einem Satellitenempfänger ein Strom von gesendeten Datenpaketen 111, 112, 113, 114 erzeugt, und zu der Vorrichtung 100 gesendet. Auf dem Übertragungsweg traten in diesem Ausführungsbeispiel beispielsweise zwei Paketverluste auf, wobei das zweite Datenpaket 112 mit der zweiten Paketfolgemarkierung 122 und das dritte Datenpaket 113 mit der dritten Paketfolgemarkierung 123 aufgrund von Störungen auf dem Übertragungsweg verlorengegangen sind. Bei der Vorrichtung 100 treffen dann in diesem Ausführungsbeispiel nur das erste Datenpaket 111 mit der ersten Paketfolgemarkierung 121 und das ursprünglich vierte Datenpaket 114 mit der vierten Paketfolgemarkierung 124 ein, welches nun als zweites Datenpaket 114 von der Vorrichtung 100 empfangen wird.
-
Der Paketverlusterkenner 104 der Vorrichtung 100 kann anhand der Paketfolgemarkierungen 121 und 124 erkennen, dass das erste Datenpaket 111 und das vierte Datenpaket 114 empfangen wurden und dass das zweite Datenpaket 112 und das dritte Datenpaket 113 verloren gegangen sind. Diese Information kann der Paketverlusterkenner 104 dem Datenpaketverarbeiter 105 übermitteln, welcher die Aufgabe wahrnehmen kann, die verloren gegangenen Datenpakete 112, 113 unter Verwendung von Füllpaketen 132, 133 zu ersetzen. Es kann somit beispielsweise ein Datenstrom 101 erzeugt werden, der wieder die ursprüngliche Anzahl an gesendeten Datenpaketen umfasst, und beispielsweise ein erstes Datenpaket 111, ein das zweite Datenpaket 112 ersetzendes Füllpaket 132, ein das dritte Datenpaket 113 ersetzendes Füllpaket 133 und ein viertes Datenpaket 114 umfasst. Die verloren gegangenen Datenpakete 112, 113 können beispielsweise durch die Füllpakete 132, 133 ersetzt werden, so dass der Datenstrom 101 so erzeugt werden kann, dass die empfangenen Datenpakete 102 in dem Datenstrom 101 entsprechend ihrer Paketfolgemarkierung 103 angeordnet sind, und dass die ein oder mehreren Füllpakete 132, 133 entsprechend einer zeitlichen Lage der zugehörigen verloren gegangenen Datenpakete 112, 113 angeordnet sind.
-
Die ein- oder mehreren Füllpakete 132, 133 können beispielsweise die gleiche Länge aufweisen. Auch können die empfangenen Datenpakete 102 jeweils die gleiche Länge aufweisen. Der Datenpaketverarbeiter 105 kann weiterhin ausgelegt sein, um die ein oder mehreren Füllpakete 132, 133 mit der Länge der ein oder mehreren Datenpakete 111, 114 zu erzeugen. Das Füllpaket 132 oder 133 kann beispielsweise ein Nullpaket sein, das heißt, eine Folge von Nullwerten umfassen oder auch eine Folge von Werten, die in keinem empfangenen Datenpaket auftritt. Die Füllpakete 132, 133 können beispielsweise auch Zufallspakete sein, die eine Folge zufällig erzeugter Werte oder eine Folge mit einem Zufallszahlengenerator erzeugter Pseudorauschsignale umfassen. Die Füllpakete 132, 133 sollten jedoch bei einem Ausführungsbeispiel keine Sequenz umfassen, die in einem Datenwort einer Codefolge (z. B. einer Codefolge, die von einem Satellitennavigationssystem verwendet wird) auftritt beziehungsweise die einem empfangenen Datenpaket entspricht.
-
Die Paketfolgemarkierungen 103 können beispielsweise an einer vorbestimmten Stelle innerhalb der ein oder mehreren Datenpakete 111, 114 angebracht sein, beispielsweise an einer vorbestimmten Stelle, die für alle empfangenen Datenpakete 102 gleich ist. Die Paketfolgemarkierung 103 kann beispielsweise eine bestimmte Folge von Werten umfassen. Beispielsweise kann die Paketfolgemarkierung 103 ein sich an die bestimmte Folge von Werten innerhalb der ein oder mehreren Datenpakete 102 anschließendes Datenwort sein.
-
Der Paketverlusterkenner 104 kann beispielsweise ausgelegt sein, um eine Anzahl an verloren gegangenen Datenpaketen 112, 113 zwischen zwei aufeinanderfolgend empfangenen Datenpaketen 111, 114 zu ermitteln, beispielsweise durch Auswerten einer Beziehung zwischen den Paketfolgemarkierungen 121, 124 der zwei empfangenen Datenpakete 111, 114. Beispielsweise können die Paketfolgemarkierungen 103 als Zähler bzw. als Zählwerte ausgebildet sein, wobei die Anzahl an verloren gegangenen Datenpaketen sich durch die Differenz der Zählerstände der zwei Zähler (bzw. der Zählerwerte) ermitteln lässt. in diesem Ausführungsbeispiel weist die zweite empfangene Paketfolgemarkierung 124 den Zählerstand bzw. Zählwert „4” auf und die erste Paketfolgemarkierung 121 weist den Zählerstand „1” auf, so dass sich aus der um eins reduzierten Differenz der beiden Zählerstände ein Wert von (beispielsweise zwei) verloren gegangenen Paketen ermitteln lässt.
-
Sind die Paketfolgemarkierungen 103 beispielsweise als Zähler ausgebildet, so stellt beispielsweise die Breite des Zählers, das heißt die Anzahl Bits die zur Darstellung des Zählerwerts vorhanden sind, ein Maß dar, wie viele verloren gegangene Datenpakete 112, 113 durch den Paketverlusterkenner 104 der Vorrichtung 100 erkannt werden können. Der Zähler läuft beispielsweise von Null bis zum Maximalwert, der mit dem Zähler dargestellt werden kann. Danach läuft der Zähler über und fängt beispielsweise erneut an, bei Null hoch zu zählen. Gehen beispielsweise mehr Datenpakete 112, 113 verloren, als der Zähler Werte darstellen kann, bevor es zu einem Überlauf kommt, so können nicht alle verlorenen Datenpakete 112, 113 von dem Paketverlusterkenner 104 detektiert werden. Der Maximalwert einer erkennbaren Anzahl von verlorenen Datenpaketen 112, 113 entspricht beispielsweise der Breite des Zählers bzw. der Anzahl an Werten, die durch diesen darstellbar sind. Eine Detektion von einer höheren Anzahl an verlorenen Datenpaketen 112, 113 als durch den Zähler an Werten darstellbar sind, kann aber beispielsweise dadurch realisiert werden, dass die Vorrichtung 100 eine Uhr aufweist zum Bestimmen einer Zeitinformation, zum Beispiel basierend auf den empfangenen Datenpaketen 102, so dass aus einer Beziehung zwischen der Differenz der Zählerstände der zwei Zähler und der Zeitinformationen der zwei aufeinanderfolgend empfangenen Datenpakete 111, 114 ein Zählerüberlauf eines der zwei Zähler erkannt werden kann. Die Anzahl an verloren gegangenen Paketen 112, 113 kann beispielsweise unter Verwendung der um eins reduzierten Differenz der Zählerstände der zwei Zähler und den Zeitinformationen der zwei aufeinanderfolgend empfangenen Datenpakete bestimmt werden. Beispielsweise lässt sich dies durch eine PC-Uhr realisieren, wenn die Vorrichtung 100 auf einem PC realisiert ist, und dem PC eine interne oder externe Zeitinformation zur Verfügung steht.
-
Beispielsweise kann die Vorrichtung 100 mittels des Datenpaketverarbeiters 105 jeweils ein verloren gegangenes Datenpaket 112, 113 durch ein Füllpaket 132, 133 ersetzen. Es können aber auch mehrere verloren gegangene Datenpakete 112, 113 durch nur ein Füllpaket 106 der gleichen Länge wie das verloren gegangene Paket 112, 113 ersetzt werden.
-
Die Vorrichtung 100 kann beispielsweise die Anzahl an verloren gegangener Datenpakete 112, 113 einem Bediener übermitteln, damit dieser die Daten für eine Fehlerauswertung oder Diagnose verwenden kann. Auch kann ein Abweichen der Paketfolgemarkierung 103 von einer Stelle, an der die Vorrichtung 100 die Paketfolgemarkierung 103 erwartet, beispielsweise auf einen Fehler hindeuten, der einem Bediener übermittelt werden kann, um diesem eine Fehlerauswertung oder Diagnose zu ermöglichen.
-
Auf manchen Übertragungsstrecken ist es beispielsweise auch möglich, dass empfangene Datenpakete 102 nicht in der richtigen Reihenfolge empfangen werden. In einem weiteren Ausführungsbeispiel kann die Vorrichtung 100 einen Paketsortierer aufweisen, der beispielsweise die ein oder mehreren Datenpakete 102 in der Reihenfolge, die durch die Paketfolgemarkierungen 103 vorgegeben ist, vorsortiert und danach dem Paketverlusterkenner 104 zuführt. Damit kann es der Vorrichtung 100 beispielsweise möglich sein, empfangene Datenpakete 102 zuerst in die richtige Reihenfolge zu bringen, bevor sie der Paketverlusterkenner 104 weiterverarbeitet.
-
2 zeigt ein Blockschaltbild eines Satellitenempfängers 200 gemäß einem Ausführungsbeispiel. Der Satellitenempfänger 200 kann einen Abtaster 201 und einen Datenpaketerzeuger 202 umfassen, wobei der Abtaster 201 ein Empfangssignal 220 oder Zwischenfrequenzsignal abtasten kann, um eine Folge von Abtastwerten 203 zu erhalten. Die Folge von Abtastwerten 203 kann beispielsweise eine erste Teilfolge der Abtastwerte 204 sowie eine zweite Teilfolge der Abtastwerte 205 umfassen. Dem Datenpaketerzeuger 202 können die zwei Teilfolgen von Abtastwerten 204, 205 in der Art zugeführt werden, dass der Datenpaketerzeuger 202 beispielsweise die erste Teilfolge 204 mit einer ersten Paketfolgemarkierung 212 versieht und die zweite Teilfolge 205 mit einer zweiten Paketfolgemarkierung 213 versieht, wobei die Paketfolgemarkierungen eine zeitliche Beziehung zwischen der Teilfolge 204 von Abtastwerten 203 und der zweiten Teilfolge 205 von Abtastwerten 203 beschreiben. In diesem Ausführungsbeispiel ist dies durch die Zahl „1” als erste Paketfolgemarkierung 212 und durch die Zahl „2” als zweite Paketfolgemarkierung 213 angedeutet. Allgemein können die Paketfolgemarkierungen auch mit beliebigen anderen Werten oder Folgen von Werten dargestellt werden. Die durch den Datenpaketerzeuger 202 erzeugten Datenpakete 210, 211 können am Ausgang als bereitgestellte Datenpakete 230 bereitgestellt werden.
-
Beispielsweise können die Paketfolgemarkierungen 212, 213 genutzt werden, um die Datenpakete 210, 211, bzw. Abschnitte derselben zu überschreiben. Auch möglich ist es, die Paketfolgemarkierungen 212, 213 vor oder hinter die zugehörigen Datenpakete 210, 211 anzufügen oder innerhalb der zugehörigen Datenpakete 210, 211 einzufügen, so dass anders als beim Überschreiben keine Daten verloren gehen. Die Datenpakete 210, 211 können beispielsweise jeweils an der gleichen Stelle mit der zugehörigen Paketfolgemarkierung 212, 213 versehen werden. Als Paketfolgemarkierung 212, 213 kann beispielsweise ein Zeitstempel genutzt werden, der die Datenpakete mit einer Zeitinformation versieht, die beispielsweise von einer Abtastzeit des Abtasters 201 abgeleitet ist, zu der ein bestimmtes Element der den Datenpaketen 210, 211 zugeordneten Teilfolgen 204, 205 abgetastet wurde.
-
Zur Paketfolgemarkierung 212, 213 kann beispielsweise auch ein Zähler verwendet werden, der die Datenpakete 210, 211 mit einem Zählerstand versieht, wobei Datenpakete 210, 211, die unterschiedliche Teilfolgen 204, 205 der Abtastwerte 203 umfassen, mit einem unterschiedlichen Zählerstand versehen werden können. Der Zähler kann beispielsweise um eine konstante Zahl hochgezählt oder heruntergezählt werden, wenn die zweite Teilfolge 205 der Abtastwerte 203 unmittelbar nach der ersten Teilfolge 204 der Abtastwerte 203 durch den Abtaster 201 abgetastet wurde. Der Datenpaketerzeuger 202 kann beispielsweise die Datenpakete 210, 211 mit gleicher Länge erzeugen. Die Paketfolgemarkierung 212, 213 kann beispielsweise die Datenpakte 210, 211 mit einem Synchronisationswort 301 und einem darauf folgenden Zähler 303 überschreiben, wobei beispielsweise das Synchronisationswort 301 und der darauffolgende Zähler 303 die Datenpakete 210, 211 stets an der gleichen Stelle überschreiben. Dabei können beispielsweise ein oder mehrere Abtastwerte überschrieben werden. In einem Ausführungsbeispiel kann das Synchronisationswort 301 ein 32-Bit-breites Datenwort umfassen, das eine alternierende Sequenz 302 von Datenbits umfasst. Der Zähler bzw. Zählwert 303 kann sich an das Synchronisationswort (auch als Präambel bezeichnet) 301 anschließen und beispielsweise als ein 16-Bit-breites Datenwort 304, 305 realisiert sein.
-
Das Empfangssignal 220 kann ein Empfangssignal eines Satellitennavigationssystems sein, beispielsweise die Überlagerung verschiedener CDMA-Signale verschiedener Satelliten, oder das Empfangssignal kann ein Zwischenfrequenzsignal sein, beispielsweise ein in einen niedrigeren Frequenzbereich moduliertes Empfangssignal 220. Die Abtastung eines Zwischenfrequenzsignals empfiehlt sich beispielsweise für den Fall, dass das Empfangssignal 220 so hochfrequent ist, dass es durch den Abtaster 201 nicht darstellbar ist, oder beispielsweise wenn zwischen dem Empfang des Empfangssignals 220 und dem Eingang des Abtasters 201 eine Übertragungsstrecke liegt, die das ursprüngliche Empfangssignal 220 stark dämpfen würde, das Zwischenfrequenzsignal hingegen weniger stark.
-
3 zeigt ein Beispiel einer Paketfolgemarkierung 300, die einer der beiden Paketfolgemarkierungen 212, 213 gemäß 2 entsprechen kann. In diesem Beispiel ist die Paketfolgemarkierung 300 als ein Zähler bzw. Zählwert ausgebildet, der hier auch als Zeitstempel 303 bezeichnet werden kann, und beispielsweise ein aus 8 Bit bestehendes unteres Datenwort 305 sowie ein aus 8 Bit bestehendes oberes Datenwort 304 umfasst. Der Zeitstempel 303 schließt sich in diesem Ausführungsbeispiel direkt an eine Präambel bzw. ein Synchronisationswort 301 an, die vier gleichartige Datenworte 302 von 8 Bit Breite mit jeweils dem Inhalt „0x55” umfasst. Andere Formate und längere oder kürzere Zeitstempel 303 sind ebenfalls möglich. In einem alternativen Ausführungsbeispiel ist es beispielsweise möglich, die Paketfolgemarkierung 300 auf ein Datenpaket 230 zu überschreiben und im Empfänger nach der Präambel 301 zu suchen, um den Zeitstempel 303, der als Zähler ausgebildet sein kann, zu bestimmen.
-
Dieses Ausführungsbeispiel zeigt eine mögliche Ausbildung der Paketfolgemarkierung 300 auf. Es ist auch möglich, andere Wortbreiten für die Präambel 301 und für den Zeitstempel 303 zu verwenden beziehungsweise andere Werte für die Präambeldatenworte 302 und für die zwei Zeitstempeldatenworte 304, 305. Auch kann der Zeitstempel 303 statt eines Zählers eine Zeit aufweisen, die beispielsweise synchron zu einem Abtastzeitpunkt des Abtasters 201 spezifiziert werden kann. Die Paketfolgemarkierung 300 kann auch vor oder hinter ein Datenpaket 230 angefügt oder in ein Datenpaket 230 eingefügt werden, ohne die Daten zu überschreiben.
-
4 zeigt ein Flussdiagramm eines Verfahrens 400 zum Erzeugen eines Datenstroms, gemäß einem Ausführungsbeispiel. Das Verfahren 400 erzeugt aus Datenpaketen 102, die mit Paketfolgemarkierungen 103 versehen sind, einen Datenstrom 101 als eine Folge von empfangenen Datenpaketen 111, 114 und anstelle der verloren gegangenen Datenpakete 112, 113 eingefügten Füllpaketen 132, 133. Das Verfahren kann beispielsweise vier Schritte umfassen, wobei in einem ersten Schritt (Schritt 1a) 401 Datenpakete 102 empfangen werden können, die mit Paketfolgemarkierungen 103 versehen sind. In einem zweiten Schritt (Schritt 1b) 402 kann das Verfahren 400 erkennen, ob ein oder mehrere Datenpakete 112, 113 zwischen zwei empfangenen Datenpaketen 111, 114 verloren gegangen sind, beispielsweise unter Verwendung der Paketfolgemarkierungen 103. Ein dritter Schritt (Schritt 2a) 403 kann beispielsweise darin liegen, ein oder mehrere verloren gegangene Datenpakete 112, 113 durch ein oder mehrere Füllpakete 132, 133 gleicher Länge wie die verloren gegangenen Datenpakete 112, 113 zu ersetzen. Schließlich kann das Verfahren 400 in einem vierten Schritt (Schritt 2b) 404 den Datenstrom 101 als eine Folge von empfangenen Datenpaketen 111, 114 und anstelle der verloren gegangenen Datenpakete 112, 113 eingefügten Füllpaketen 132, 133 erzeugen. Nach jedem Empfang von Datenpaketen 102 können die vier Schritte 401, 402, 403, 404 des Verfahrens 400 nochmals durchlaufen werden.
-
5 zeigt ein Blockschaltbild eines Systems 500 zum Übertragen von Datenpaketen 230, die auf einem Empfangssignal 220 basieren, gemäß einem Ausführungsbeispiel. Das System 500 kann einen Satellitenempfänger 200, eine Vorrichtung 100 zum Erzeugen eines Datenstroms 101 sowie eine Übertragungseinrichtung 501 umfassen, die zwischen dem Satellitenempfänger 200 und die Vorrichtung 100 zum Erzeugen eines Datenstroms 101 geschaltet sein kann, so dass der Vorrichtung 100 zum Erzeugen eines Datenstroms 101 das Ausgangssignal 230 des Satellitenempfängers 200 zugeführt wird. Das System 500 kann beispielsweise ein von einem Satelliten empfangenes Empfangssignal 220 von einem Satellitenempfänger 200 zu einer Vorrichtung 100 zum Erzeugen eines Datenstroms 101 übertragen um das Empfangssignal 220 als Datenstrom 101 darzustellen.
-
Die Übertragungseinrichtung 501 kann beispielsweise Datenpakete 230 asynchron übertragen, beispielsweise durch eine unidirektionale Übertragung der Datenpakete 230 ohne Rückkanal. Die Übertragungseinrichtung 501 kann ausgelegt sein, um die Datenpakete 230 ohne Redundanz zu übertragen. Das Ausgangssignal 101 der Vorrichtung 100 zum Erzeugen eines Datenstroms ist beispielsweise ausgebildet, um eine zeitliche Korrelation zu dem Ausgangssignal 230 des Satellitenempfängers 200 aufzuweisen. Beispielsweise ist die Übertragungseinrichtung 501 in der Lage, die Datenpakete 230 unter Einwirkung von starken Störungen zu übertragen, wobei die Störungen einzelne Paketverluste bewirken können. Die Datenpakete 230 können über einen nicht ausfallsicheren Übertragungskanal 501 übertragen werden und beim Empfänger, d. h. bei der Vorrichtung 100 zum Erzeugen eines Datenstroms 101, Paketverluste aufweisen. Der Satellitenempfänger 200 kann beispielsweise aus dem empfangenen Empfangssignal 220 einen kontinuierlichen Datenstrom von Datenpaketen 230 erzeugen und zu der Vorrichtung 100 übertragen. Die Vorrichtung 100 zum Erzeugen eines Datenstroms 101 kann dann beispielsweise aus den empfangenen Datenpaketen 102 und den ein oder mehreren Füllpaketen 106 einen kontinuierlichen Datenstrom 101 von Datenpaketen 102 und Füllpaketen 106 erzeugen.
-
Zur Abstimmung, an welcher Stelle die Paketfolgemarkierung 103 an den Datenpaketen 230 angebracht ist, kann das System 500 beispielsweise einen externen Kanal zur Verfügung stellen, mittels dessen der Satellitenempfänger 200 die entsprechende Stelle der Vorrichtung 100 zum Erzeugen eines Datenstroms 101 mitteilen kann. Umgekehrt kann auch die Vorrichtung 100 zum Erzeugen eines Datenstroms 101 die Position der Paketfolgemarkierung 103 über den externen Kanal dem Satellitenempfänger 200 mitteilen. Die Position kann auch von dem System 500 dem Satellitenempfänger 200 und der Vorrichtung 100 zum Erzeugen eines Datenstroms 101 beim Einschalten mitgeteilt werden, oder das System 500 kann die Position aus einer festen Größe, die beispielsweise innerhalb des Satellitenempfängers 200 oder der Vorrichtung 100 zum Erzeugen eines Datenstroms vorliegt, bestimmt werden.
-
Eine weitere Methode, um die Paketfolgemarkierung 103 zu erkennen, kann beispielsweise darin liegen, die empfangenen Datenpakete 111, 114 nach einer vorbestimmten Präambel 301 bzw. einem Synchronisationsmuster 301 zu durchsuchen, welche bzw. welches beispielsweise von dem Satellitenempfänger 200 bei der Erzeugung der Datenpakete 230 an einer vorbestimmten Stelle angebracht wurde, um den sich beispielsweise an die Präambel 301 anschließenden Zeitstempel 303 zu markieren.
-
In einem alternativen Ausführungsbeispiel kann die Folge von Abtastwerten 203 beispielsweise zuerst mit Paketfolgemarkierungen versehen werden, indem im Abstand von beispielsweise 1024 Werten Paketfolgemarkierungen 103 angebracht werden, die im Normalfall in verschiedenen Datenpaketen an der gleichen Stelle liegen. Die Paketfolgemarkierungen 103 bestehen aus einem oder mehreren Werten, die die Daten, beispielsweise die Abtastwerte, überschreiben. In manchen Fällen kann es aber beispielsweise vorkommen, dass der Datenpaketerzeuger 202 beispielsweise aufgrund von Störungen die Paketfolgemarkierungen 103 nicht immer an der gleichen Stelle innerhalb des Datenpaketes 230 anbringt. D. h., die Markierung kann innerhalb des Datenpaketes 230 variieren.
-
Bei einem weiteren Ausführungsbeispiel kann die Folge von Abtastwerten 203 (beispielsweise nach dem Anbringen der Paketfolgemarkierungen) in Datenpakete 210, 211 unterteilt werden. Dieses Unterteilen kann allerdings fehlerbehaftet sein und es kann ein Verlust von Werten während der Paketierung nicht ausgeschlossen werden. Nachdem die Paketfolgemarkierungen 103 allerdings bereits vorher angebracht wurden, ist die Synchronizität durch Fehler bei der Paketierung nicht beeinträchtigt. Der Datenpaketverlusterkenner 104 sucht beispielsweise nach der Präambel 301 unter der Annahme, dass sich die Position der Präambel 301 von einem Datenpaket 210 zum nächsten Datenpaket 211 nicht ändert. Die Präambel 301 und der Zeitstempel 303 können in einer fixen Beziehung zueinander stehen. Beispielsweise kann der Zeitstempel 303 unmittelbar auf die Präambel 301 folgen. Sollte die Präambel 301 nicht an der erwarteten Stelle gefunden werden, kann das ganze Datenpaket 210, 211 nach der Präambel 301 abgesucht werden. Enthält ein Datenpaket 210, 211 keine Präambel 301, so kann es beispielsweise verworfen werden. Der zeitliche Bezug der Daten im Datenpaket 210, 211 kann relativ zur Paketfolgemarkierung 103 verstanden werden, d. h., verschiebt sich die Paketfolgemarkierung 103 von einem Datenpaket 210 zum nächsten Datenpaket 211 um z. B. 100 Werte, dann werden beispielsweise im Datenpaketverarbeiter 105 100 Füllwerte eingefügt (unter der Annahme, dass die Paketfolgemarkierung 103 sich entsprechend geändert hat, beispielsweise dass der Zählerstand 303 sich um eins erhöht hat und kein ganzes Datenpaket 210, 211 verloren gegangen ist).
-
6 zeigt ein Blockschaltbild eines Satellitenempfängers 200 zum Bereitstellen von Datenpaketen 640, die auf Empfangssignalen 230, 630 beruhen, gemäß einem weiteren Ausführungsbeispiel. Der Unterschied zu dem Ausführungsbeispiel gemäß 2 kann darin bestehen, dass der Satellitenempfänger 200 aus dem Ausführungsbeispiel gemäß 2 nur ein Empfangssignal 220 oder Zwischenfrequenzsignal 220 umfassen kann, während in dem Ausführungsbeispiel gemäß 6 ein zweites Empfangssignal 630 oder zweites Zwischenfrequenzsignal 630 zur Verfügung stehen kann, das beispielsweise von einem zweiten Abtaster 601 verarbeitet werden kann, während der Abtaster 201 das (erste) Empfangssignal 220 oder Zwischenfrequenzsignal 220 verarbeiten kann.
-
Der zweite Abtaster 601 kann beispielsweise aus einem zweiten Empfangssignal 630 oder zweiten Zwischenfrequenzsignal 630 eine dritte Teilfolge 605 von Abtastwerten erzeugen, die der Datenpaketerzeuger 202 dazu nutzen kann, um ein drittes Datenpaket 612 zu generieren, das eine dritte Paketfolgemarkierung 614 und die dritte Teilfolge 605 umfassen kann. Der Abtaster 201 kann beispielsweise mit dem zweiten Abtaster 601 zeitlich gekoppelt sein, beispielsweise darstellbar durch einen zeitlichen Versatz 622, mit dem die dritte Teilfolge 605 nach der ersten Teilfolge 204 gebildet wird. Beispielsweise kann die erste Paketfolgemarkierung 212 und die dritte Paketfolgemarkierung 614 gleich sein, wenn die zeitliche Beziehung zwischen der ersten Teilfolge 204 von Abtastwerten des Abtasters 201 und der dritten Teilfolge 605 von Abtastwerten des zweiten Abtasters 604 durch einen zeitlichen Versatz 622 zwischen der ersten Teilfolge 204 und der dritten Teilfolge 604 beschrieben werden kann, der innerhalb eines Toleranzintervalls liegt. Beispielsweise ist es möglich, dass der Abtaster 201 und der zweite Abtaster 601 mit verschiedenen Abtastzeiten arbeiten, beispielsweise der Abtastzeit 620 des Abtasters 201 und der Abtastzeit 621 des zweiten Abtasters 601, die verschieden groß sein können. Beispielsweise kann dem ersten Datenpaket 210 und dem dritten Datenpaket 612 die gleiche Paketfolgemarkierung 212, 614 zugewiesen werden, wenn der zeitliche Versatz 622 zwischen beiden Teilfolgen innerhalb eines Toleranzintervalls liegt, oder beispielsweise in einem Idealfall näherungsweise gleich Null ist.
-
Beispielsweise kann sich das Toleranzintervall aus der größeren der beiden Abtastzeiten 620, 621 von Abtaster 201 und zweitem Abtaster 601 bestimmen lassen. In diesem Fall geht man davon aus, dass das Abtasten des letzten Elements der ersten Teilfolge 204 und das Abtasten des letzten Elements der dritten Teilfolge 605 zeitlich nahezu gleichzeitig geschehen, wobei eine zeitige Gleichzeitigkeit hier mit einer Auflösung in Schritten der Abtastzeit 620 dargestellt werden kann. In diesem Ausführungsbeispiel kann beispielsweise die Abtastzeit 620 die ungenauere Darstellung gegenüber der Abtastzeit 621 angeben, weshalb die Abtastzeit 620 beispielsweise eine Grenze für die zeitliche Auflösung darstellen kann. In einem alternativen Ausführungsbeispiel kann die Abtastzeit 620 des Abtasters 201 auch der Abtastzeit 621 des zweiten Abtasters 601 entsprechen.
-
Da der Datenpaketerzeuger 202 in diesem Ausführungsbeispiel zwei Datenpakete 210, 612 mit der gleichen Paketfolgemarkierung 212, 614 erzeugen kann, die in diesem Ausführungsbeispiel beide den Wert „1” aufweisen, kann es beispielsweise notwendig sein, die von dem Satellitenempfänger 200 erzeugten Datenpakete 640 in einer Vorrichtung 100 zum Erzeugen eines Datenstroms 101 zu unterscheiden, damit nicht aus dem ersten Datenpaket 210 und dem dritten Datenpaket 612, die hier aus zwei verschiedenen Empfangssignalen 220, 630 herrühren, ein einziger Datenstrom 101 erzeugt wird, sondern damit unterschiedliche Datenpakete 210, 612 unterschiedlichen erzeugten Datenströmen 101 zugeordnet werden. Beispielsweise lässt sich dies dadurch realisieren, dass der Datenpaketerzeuger 202 ausgelegt ist, um die Datenpakete 210, 612, 211 mit einer Kanalmarkierung zu versehen, die angibt, ob das erzeugte Datenpaket 640 eine Teilfolge 204, 205 der Abtastwerte des Abtasters 201 oder eine Teilfolge 605 der Abtastwerte des zweiten Abtasters 601 umfasst. Die Kanalmarkierung kann beispielsweise bereits in einer Information des Empfangssignals 220 oder des zweiten Empfangssignals 630 enthalten sein. Sie kann aber auch, alternativ oder zusätzlich, innerhalb der Paketfolgemarkierung 212, 614, 213 angebracht werden, oder einen anderen Teil des Datenpakets 210, 612, 211 umfassen.
-
7 zeigt ein Blockschaltbild eines Systems 700 zum Übertragen von Datenpaketen 230, die auf zwei Empfangssignalen 220, 630 basieren, gemäß einem Ausführungsbeispiel. Das System 700 umfasst einen Satellitenempfänger 200, der beispielsweise ein Empfangssignal 220 und ein zweites Empfangssignal 630 auswerten kann und beispielsweise entsprechend dem Ausführungsbeispiel gemäß 6 ausgebildet sein kann. Weiterhin umfasst das System 700 eine erste Vorrichtung 702 zum Erzeugen eines Datenstroms 706 und eine zweite Vorrichtung 703 zum Erzeugen eines Datenstroms 707, die miteinander gekoppelt sein können. Das System 700 kann weiterhin eine Übertragungseinrichtung 501 umfassen, die entsprechend dem Ausführungsbeispiel des Systems gemäß 5 ausgeführt sein kann, und die beispielsweise ausgelegt sein kann, um zwischen dem Satellitenempfänger 200 und einem Kanalzuordner 701 geschaltet zu sein, so dass dem Kanalzuordner 701 das Ausgangssignal 230 des Satellitenempfängers 200 zugeführt werden kann. Das System 700 kann einen Kanalzuordner 701 umfassen, der beispielsweise die empfangenen Datenpakete 102 unter Verwendung einer Kanalmarkierung der ersten Vorrichtung 702 zum Erzeugen eines Datenstroms 706 oder der zweiten Vorrichtung 703 zum Erzeugen eines Datenstroms 707 zuführen kann.
-
Im Unterschied zu dem Ausführungsbeispiel des Systems 500 gemäß 5, in dem aus einem Empfangssignal 220 ein Datenstrom 101 erzeugt werden kann, kann das System 700 so ausgelegt sein, dass aus einem Empfangssignal 220 ein erster Datenstrom 706 erzeugt werden kann, und aus einem zweiten Empfangssignal 630 ein zweiter Datenstrom 707 erzeugt werden kann. Der Satellitenempfänger 200 kann in diesem Ausführungsbeispiel in der Lage sein, zwei Empfangssignale 220, 630 zu verarbeiten. Die erzeugten Datenpakete 230 können eine Kanalzuordnung aufweisen, welche der Kanalzuordner 701 auswerten kann, um so die entsprechenden Datenpakete 102 in zwei Ströme von Datenpaketen 704, 705 aufzuteilen, welche je nach Kanalzuordnung der ersten Vorrichtung 702 oder der zweiten Vorrichtung 703 zugeführt werden können.
-
Die erste Vorrichtung 702 und die zweite Vorrichtung 703 können beispielsweise durch eine gemeinsame Clock(Uhr)-Leitung (bzw. Taktleitung) miteinander gekoppelt sein, anhand derer sie aus empfangenen Datenpaketen 704, 705 mit der gleichen Paketfolgemarkierung 103 synchrone erste und zweite Datenströme 706, 707 erzeugen können. Damit kann beispielsweise auch eine Kreuzkorrelation von dem zweiten Datenstrom 707 zu dem ersten Datenstrom 706 bzw. von dem zweiten Empfangssignal 630 zu dem ersten Empfangssignal 220 ausgewertet werden, so dass mit einer Korrelation zweier Eingangssignale 220, 630, die unterschiedlichen Frequenzbändern angehören können, eine genauere Auflösung ermöglicht werden kann. Alternativ oder zusätzlich können der erste Datenstrom 706 mit einem ersten Korrelationsmuster und der zweite Datenstrom 707 mit einem zweiten Korrelationsmuster korreliert werden, wobei sich die beiden Korrelationsmuster unterscheiden können. Die beiden Korrelationsmuster können beispielsweise unterschiedlich sein. Die Ergebnisse der beiden genannten Korrelationen können beispielsweise gemeinsam (z. B. verknüpfend) verarbeitet werden.
-
Ausführungsbeispiele der Erfindung betreffen beispielsweise Satellitennavigationsempfänger, die über eine asynchrone Schnittstelle verfügen, die aufgrund der begrenzten Übertragungskapazität keine bidirektionale Übertragung erlaubt. Während es bei bidirektionaler Übertragung bei nicht ausfallsicheren Übertragungsstrecken ein als „Handshake” (Händeschütteln) bezeichnetes Verfahren gibt, bei der der Empfänger die fehlerhaften oder nicht übertragenen Pakete erneut anfragen kann, ist dies bei Satellitennavigationsempfängern, die aufgrund der begrenzten Übertragungskapazität keine bidirektionale Übertragung zulassen, kein realisierbares Verfahren.
-
Mittels des erfindungsgemäßen Verfahrens ist es beispielsweise in einem Ausführungsbeispiel möglich, über eine nicht ausfallsichere unidirektionale Übertragungsstrecke digitale Signale mit geringem Protokollaufwand zu übertragen, so dass beim Empfänger eine eindeutige Zuordnung des Messzeitpunkts der einzelnen Signalwerte möglich ist. Ein spezielles Ausführungsbeispiel des Verfahrens kann dabei vier Schritte umfassen: in einem ersten Schritt kann eine Gruppierung in Pakete vorgenommen werden, in einem zweiten Schritt können die Pakete mit einem Zeitstempel versehen werden, in einem dritten Schritt können die Pakete übertragen werden und in einem vierten Schritt können die Pakete rekonstruiert werden. Die Verfahrensschritte dieses speziellen Ausführungsbeispiels werden im Folgenden beschrieben.
-
Der erste Schritt kann die Gruppierung in Pakete umfassen. Der Datenstrom im nicht ausfallsicheren unidirektionalen Übertragungskanal kann aus einer Aneinanderreihung von Paketen bestehen. Der Sender kann beispielsweise Datenpakete gleicher Länge verschicken. Auf der Senderseite kann durch eine geeignete Schaltung in jedem Paket eine bestimmte Anzahl zusammenhängender Datenbytes durch einen Zeitstempel überschrieben werden. Dieser Zeitstempel kann beispielsweise zwei Aufgaben übernehmen. Ein in dem Zeitstempel enthaltener Zähler kann jedes Paket mit dem aktuellen Zählerstand, der bei jedem neuen Paket um eins erhöht wird, versehen. Der Empfänger kann durch Vergleichen von vorherigem und aktuellem Zählerstand in die Lage versetzt werden, zu erkennen, ob ein Paket verloren gegangen ist. Zum anderen ist der Zeitstempel beispielsweise nach der Initialisierung unter normalen Bedingungen immer an der gleichen Position innerhalb des Pakets zu finden. Dadurch hat der Empfänger beispielsweise zusätzlich die Information, dass das Paket am Sender korrekt erzeugt worden ist. Bei Abweichungen kann der Empfänger entsprechend darauf reagieren.
-
Die Position, an der sich der Zeitstempel innerhalb des Paketes befindet, kann auch variieren. Beispielsweise ist die Position während der Initialisierung noch nicht festgelegt. Nach einer erfolgten Initialisierung liegt die Position bei fehlerfreiem Betrieb bei manchen Ausführungsbeispielen fest und der Zeitstempel befindet sich zumindest bis zu einer nachfolgenden Neuinitialisierung an der initialisierten vorgegebenen Position. Das System kann beispielsweise ausgelegt sein, um eine Position des Zeitstempels bzw. eine Veränderung der Position des Zeitstempels zwischen aufeinanderfolgenden Paketen zu detektieren. Bei einer Abweichung bzw. einem „Verrutschen” des Zeitstempels von der vorgegebenen Position kann das System somit auf eine Fehlübertragung schließen und beispielsweise einen Übertragungsfehler melden.
-
Sofern mehrere Frequenzbänder abgetastet werden, können die Frequenzbänder synchron zueinander abgetastet werden. Das Anbringen des Zeitstempels auf den einzelnen Datenströmen kann durch Überschreiben von Abtastwerten („Samples”), die zum gleichen Zeitpunkt gemessen werden, erfolgen. Damit kann die Synchronisierung über mehrere Frequenzbänder gewährleistet werden.
-
Ein zweiter Schritt des Verfahrens kann die Anbringung eines Zeitstempels bzw. einer Paketfolgemarkierung 300 an den Datenpaketen umfassen. Die Paketfolgemarkierung 300 kann dabei aus einer Präambel 301 mit beispielsweise definierter Bytesequenz und beispielsweise einem 16-Bit-Zähler 303 bestehen. Nach einem Zählerüberlauf kann dieser wieder beim Startwert beginnen. Die Präambel 301 kann beispielsweise zum Finden des Zeitstempels 303 innerhalb des Datenstroms dienen. 3 zeigt beispielsweise das Format der Paketfolgemarkierung 300, wie es in einem Ausführungsbeispiel verwendet werden kann. Andere Formate und längere oder kürzere Zeitstempel 303 sind ebenfalls möglich. 3 zeigt beispielsweise den Zeitstempel 303 in einer Prototypimplementierung in Hexadezimaldarstellung, wobei das Datenwort 304 (0xHH) die oberen 8 Bit des Stempels darstellen kann und das Datenwort 305 (0xLL) die unteren 8 Bit des Stempels darstellen kann.
-
Ein dritter Schritt des Verfahrens kann die Übertragung umfassen. Bei der Datenübertragung kann es sich um eine asynchrone Übertragung handeln. Diese ist beispielsweise unidirektional, das heißt, es gibt keinen Rückkanal um ein Paket erneut anfordern zu können bzw. keine Redundanz in den übertragenen Daten. Ein Paket, welches nicht am Empfänger eintrifft, kann durch das hier vorgestellte Verfahren als fehlend erkannt werden, um bei der Weiterverarbeitung entsprechend berücksichtigt zu werden.
-
Ein vierter Schritt des Verfahrens kann die Rekonstruktion umfassen. Für die Rekonstruktion eines kontinuierlichen Datenstroms bzw. von mehreren synchronisierten kontinuierlichen Datenströmen kann empfangsseitig für jedes Paket der Zeitstempel 303 ausgelesen werden. Aus dem Wert des Zeitstempels 303 kann sich die Position des Pakets im Datenstrom definieren. Fehlende Pakete können dadurch erkannt werden, dass die Differenz der Zeitstempel 303 zwischen dem aktuell empfangenen und dem letzten empfangenen Paket sich von 1 unterscheidet. Die fehlenden Pakete können empfangsseitig durch sog. Nullpakete ersetzt werden.
-
Nachdem für alle Frequenzbänder die Pakete eines gewissen Zählerstandes empfangen wurden bzw. durch Nullpakete ersetzt wurden, können sie an die Signalverarbeitung des Empfängers weitergereicht werden.
-
Es kann sich beispielsweise empfehlen, den Nutzer über die Anzahl der verloren gegangenen Pakete zu informieren. Eine hohe Anzahl von verloren gegangenen Paketen kann z. B. auf andere Hardware-Probleme hindeuten.
-
Der Inhalt der Nullpakete ist beispielsweise so zu wählen, dass sie eine möglichst geringe Auswirkung auf den Empfänger haben. Zum Beispiel ist es möglich, alle Werte im Nullpaket als Null zu wählen, oder die Abtastwerte im Nullpaket rein zufällig zu wählen.
-
Grenzen der Rekonstruktion sind durch den Maximalwert des Zeitstempels 303 vorgegeben. Das beschriebene Verfahren kann in einem Ausführungsbeispiel beispielsweise so lange funktionieren, wie die Anzahl verloren gegangener Pakete zwischen zwei erfolgreich empfangenen Paketen in einem Datenstrom kleiner dem Maximalwert des Zeitstempels 303 ist. Gehen mehr Pakete verloren, so kann beispielsweise empfangsseitig nicht mehr die korrekte Anzahl der verloren gegangenen Pakete festgestellt werden, außer über eine weitere Informationsquelle, zum Beispiel eine PC-Uhr, liegt eine grobe Schätzung über die Anzahl der verloren gegangenen Pakete vor.
-
In einem weiteren Ausführungsbeispiel kann die Wirksamkeit bzw. Effizienz einer Flottenverwaltung von z. B. Verkehrsbetrieben oder des Transportwesens durch das erfindungsgemäße Konzept erhöht werden, indem die Korrelation der Datenpakete (z. B. mit einem Referenzmuster) beispielsweise nicht mehr im Fahrzeug durchgeführt wird, sondern in einer Zentrale durchgeführt wird. Die Zentrale kann beispielsweise eine größere Rechenkapazität bereitstellen und einen Überblick über die Daten mehrerer Fahrzeuge haben. Weiterhin können die Satellitenempfänger 200 im Fahrzeug unter Nutzung des erfindungsgemäßen Verfahrens sehr kompakt aufgebaut sein und brauchen beispielsweise keine große oder im optimalen Fall gar keine Rechenkapazität für Korrelationsberechnungen bereitstellen, wenn beispielsweise diese Rechenschritte von der Zentrale ausgeführt werden. Beispielsweise konnte die Zentrale die Fahrzeuge dann über einen Steuerkanal unter Verwendung von Steueranweisungen über ihre aktuellen Positionen informieren.
-
Der Satellitenempfänger 200 kann beispielsweise auch über eine USB-Schnittstelle (Universelle Serielle Bus-Schnittstelle) oder eine alternative übertragungsfehlerbehaftete bidirektionale Schnittstelle verfügen, die beispielsweise zur Übertragung der Datenpakete 230 zu der Vorrichtung 100 verwendet werden kann. Auch wenn eine USB-Schnittstelle beispielsweise eine bidirektionale Datenübertragung erlaubt, kann sie in einem Ausführungsbeispiel des erfindungsgemäßen Verfahrens genutzt werden. Beispielsweise kann es effizienter sein, eine bidirektionale Schnittstelle unidirektional zu betreiben und eine empfängerseitige Auswertung unter Verwendung des hier beschriebenen Konzepts bzw. mittels Korrelationsverfahren durchzuführen, als beispielsweise bei jedem Fehler eine erneute Anforderung der fehlerhaften Pakete zu veranlassen. Im Rückkanal der bidirektionalen Schnittstelle könnten beispielsweise Steuerinformationen mit einer geringen Datenrate gesendet werden.
-
Die Vorrichtung 100 zum Erzeugen eines Datenstroms 101, der Satellitenempfänger 200 sowie die Komponenten der Systeme 500, 700 zum übertragen von Datenpaketen, die auf einem Empfangssignal eines Satellitenempfängers basieren, und die mit Paketfolgemarkierungen versehen sind, können in digitaler oder analoger Logik, beispielsweise als elektronische oder photonische Schaltungen aufgebaut sein.
-
Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren in Hardware oder in Software implementiert werden. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt, kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computerprogramm auf einem Computer abläuft.