-
Gebiet der
Erfindung
-
Die vorliegende Offenbarung betrifft
die Fehlervorwärtskorrektur,
und sie betrifft insbesondere, ist aber nicht beschränkt auf
ein Verfahren zur Verbesserung der Fehlervorwärtskorrektur für Kommunikationssysteme.
-
Hintergrund der Erfindung
-
Kommunikationssysteme nutzen zwangsläufig Übertragungskanäle. Diese
Kanäle
sind nichtideale, bandbreitenbegrenzte Wege, über die Informationen übertragen
oder transportiert werden müssen. Diese
Kanäle
setzen der Menge an Information, die in einer Zeiteinheit übertragen
werden kann, Grenzen. Eine solche Grenze kann als Kanalkapazität bezeichnet
werden. Die Kanalkapazität
wird zusammen mit anderen Eigenschaften des Kanals, wie zum Beispiel
verschiedenen Formen von Rauschinterferenz, mit statistischer Si cherheit
das Auftreten von Fehlern in der über den Kanal übertragenen
Information verursachen oder anderweitig dazu führen. Diese Effekte sind vielleicht
besonders offensichtlich bei Funkkanälen, wie sie von drahtlosen
Kommunikationssystemen, insbesondere von drahtlosen Datenkommunikationssystemen
verwendet werden. Praktiker auf diesem Gebiet haben dieses Phänomen schon längst erkannt
und haben mit unterschiedlichem Erfolg Verfahren entwickelt, um
mit den Effekten eines nichtidealen Kanals fertig zu werden.
-
Einige dieser Verfahren umfassen
die Fehlervorwärtskorrektur
("forward error
correction" = FEC)
und die Fehlerrückwärtskorrektur
("backward error
correction" = BEC).
Die FEC (siehe z. B. EP-A-0 492 812 und US-A-4 755 993) umfasst
Techniken, wie zum Beispiel verschiedene Formen der Codierung oder
Redundanz oder Duplizierung der übertragenen
Information, mit denen sichergestellt werden soll, dass die richtige
Information erhalten werden kann, unabhängig davon, ob während oder
infolge der Übertragung über den
Kanal ein Fehler aufgetreten ist. Die BEC dagegen umfasst Techniken,
wie zum Beispiel die automatische Wiederholungsanforderung ("automatic transmission
retry request" = ARQ)
oder verschiedene Bestätigungsprotokolle,
mit denen sichergestellt werden soll, dass letztendlich immer die
richtige Information zur Verfügung
steht, wenn ein Fehler aufgetreten ist. In jedem Fall erfordern
die meisten Formen der FEC und insbesondere der BEC einen Teil der
Kanalkapazität
und ziehen somit, zumindest theoretisch, etwas von der Menge an Information
ab, die andernfalls über
den Kanal transportiert werden kann. Es besteht eindeutig ein Bedarf an
einem Verfahren zur Fehlervorwärtskorrektur,
das den Einfluss auf die Kanalkapazität minimiert.
-
Kurze Beschreibung
der Zeichnungen
-
Die Merkmale der vorliegenden Erfindung, die
für neu
gehalten werden, werden in den beigefügten Ansprüchen näher erläutert. Die Erfindung und ihre
weiteren Vorteile werden jedoch am besten verständlich anhand der beigefügten Zeichnungen;
darin zeigen:
-
1 ein
Blockdiagramm eines drahtlosen Kommunikationssystems, das sich zur
Verwendung einer Ausführungsform
der vorliegenden Erfindung eignet.
-
2 ein
Blockdiagramm eines Datenterminals, das sich zum Einsatz bei dem
System von 1 eignet.
-
3 einen
beispielhaften Datenrahmen, der vorteilhafterweise für die Verwendung
einer Ausführungsform
der vorliegenden Erfindung ausgelegt ist.
-
4 ein
Flussdiagramm gemäß einer
bevorzugten Ausführungsform
des erfindungsgemäßen Verfahrens.
-
Beschreibung
einer bevorzugten Ausführungsform
-
Im Allgemeinen und als Überblick
befasst sich die vorliegende Erfindung mit einem Verfahren zur Bereitstellung
einer Fehlervorwärtskorrektur
in einem Datenkommunikationssystem. Dieses Verfahren umfasst den
Empfang eines Datenrahmens, wobei der Datenrahmen ferner ein oder
mehr Füllsymbole
umfasst, das Ermitteln eines Fehlers in dem Datenrahmen, das Ersetzen
des Füllsymbols
durch ein vorbestimmtes Symbol, und dann das Bestimmen, wenn der
Fehler korrigiert wurde. Bei einer weiteren Ausführungsform kann dann, wenn
der Fehler nicht korrigiert wurde, eine Übertragungs wiederholung verlangt
werden, und wenn der Fehler korrigiert wurde, kann auf eine solche
Wiederholungsanforderung verzichtet werden. Das Verfahren des Ermittelns
eines Fehlers kann das Berechnen der Codeprüfungssumme einer zyklischen
Redundanzprüfung
("cyclical redundancy
check" = CRC) umfassen.
Bei noch einer weiteren Ausführungsform
kann eine Übertragungswiederholung
verlangt werden, wenn der Fehler nicht korrigiert wurde, und der
Datenrahmen kann bestätigt
werden, wenn der Fehler korrigiert wurde. Bei dieser Ausführungsform
kann das Verfahren des Ermittelns eines Fehlers das Berechnen bzw.
Durchführen
einer ersten Paritätsprüfung und
das Berechnen der Codeprüfungssumme
einer zyklischen Redundanzprüfung
(CRC) umfassen.
-
Die Erfindung wird besser verständlich durch eine
ausführliche
Erläuterung
anhand der Figuren, in denen 1 ein
Blockdiagramm eines drahtlosen Kommunikationssystems ist, das gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung funktionieren kann. In 1 ist eine Basisstation 101 dargestellt,
die über
einen Kanal 103 mit einer Antenne 105 eines Datenterminals 107 kommuniziert.
Es wurden zwar nur eine Basisstation und ein Datenterminal und Kanal
dargestellt, doch wird es für
den Fachmann klar sein, dass die vorliegende Erfindung auch auf
komplexere Systeme mit einer Vielzahl von Basisstationen, Datenterminals
oder Kanälen
anwendbar ist. Der Kanal 103 wird eine zugehörige Hochfrequenz
haben, auf der Dateninformation in Form einer modulierten Funkwelle
befördert
wird.
-
Anhand von 2, in der gleiche Elemente aus 1 mit gleichen Bezugszeichen
bezeichnet sind, ist nun ein Blockdiagramm des Datenterminals 107 dargestellt,
das mit der Antenne 105 verbunden ist. Hier ist die Antenne 105 mit einem
Empfänger 201 und
einem Sender 209 verbunden. Der Empfänger 201 ist mit einem
Decodierer 203 verbunden, und der Decodierer 203 ist
mit einer Prüfvorrichtung 205 verbunden.
Ein Steuergerät 207 ist
mit dem Decodierer 203, der Prüfvorrichtung 205 und
einem Codierer 211 verbunden und dazu ausgelegt und konstruiert, diese
zu steuern. Der Codierer 211 ist mit dem Sender 209 verbunden.
Insgesamt ist zu sagen, dass das Datenterminal 107 von 2 im Betrieb auf die Hochfrequenz
des Kanals 103 abgestimmt ist und Daten empfängt und
decodiert, die am Ausgang 210 der Prüfvorrichtung 205 bereitgestellt
werden. Alternativ werden Daten, die am Eingang 212 des
Codierers 211 zur Verfügung
stehen, codiert und zu dem Sender 209 übertragen, um auf der Hochfrequenz des
Kanals 103 übertragen
zu werden. Während
die in 2 dargestellten
Funktionselemente allgemein bekannt sind, wird der Leser bezüglich weiterer
ausführlicher
Informationen über
diese Elemente auf das technische Handbuch von Motorola mit dem
Titel RPM 405i Radio Packet Modem Nr. 68P04010C70 verwiesen.
-
Mit Bezug auf 3 kann ein typischer Datenrahmen, wie
er definiert ist durch Motorola's
RDLAP ("radio data
link access procedure"),
aus einem Kopf 301, einem Datenabschnitt 303,
einem Füllabschnitt 304, 305,
..., 311 und einem CRC-Feld 313 bestehen. Die
Datenrahmenstruktur wird normalerweise auf Datenkommunikationssysteme
angewandt, um verschiedene Fehlerkorrekturprotokolle zu erleichtern
oder den Zusatzaufwand in Verbindung mit dem Datentransport anderweitig
zu bewältigen.
Im Allgemeinen wird das Datenpaket eine feste Länge haben oder möglicherweise
ein Datenpaket aus einer kleinen Anzahl von Datenpaketen fester Länge sein.
Der spezielle Aufbau des Rahmens wird von dem Proto koll abhängen, das
von dem System zum Transport über
den Kanal 103 verwendet wird.
-
Der Kopf 301 kann eine Adressierung
für die Ziel-
oder Ursprungseinheiten enthalten, wie zum Beispiel Datenterminal 107 und
Basis 101, Steuerungs- und Formatinformationen, wie zum
Beispiel die Art des Rahmens, die Rahmensequenznummer und die Anzahl
von Daten- und Füllsymbolen
in dem Rahmen. Der Datenabschnitt 303 ist normalerweise von
variabler Länge,
vorbehaltlich einer Beschränkung
des Datenrahmens insgesamt. Dem Datenabschnitt folgt eine veränderliche
Anzahl von Füllsymbolen
(304, 305, ..., 311), was der Rahmenbeschränkung minus
die Länge
oder Menge des Datenabschnitts 303 entspricht. Alle Füllsymbole
sind vorbestimmte Symbole, wie zum Beispiel alternierende 1010-Binärmuster,
die normalerweise definiert sind durch das Protokoll und in 3 dargestellt sind als A
(304, 305). Ein falsches Füllsymbol 310, das
infolge eines Übertragungsfehlers
falsch empfangen wurde, ist als A' (311) dargestellt. Das Feld 313 für die zyklische
Redundanzprüfung
(CRC) enthält
einen CRC-Code, der nach wohlbekannten Techniken unter Verwendung
des Rahmenkopfes 301, des Datenabschnitts 303 und
der Füllabschnitte
des Datenrahmens berechnet wird.
-
Im normalen Betrieb des Systems arbitriert das
Steuergerät 207 zwischen
dem Empfänger 201 und
dem Sender 209, wobei es zwischen den jeweiligen Sende-
oder Empfangs-Kommunikationsfunktionen
wechselt, wie es das Protokoll verlangt. Wenn der Empfänger 201 aktiv
ist bzw. empfängt,
werden von der Antenne 105 aufgenommene Funkwellen zu dem
Empfänger 201 weitergeleitet,
um zu Datensymbolen demoduliert zu werden. Die Symbole werden zu
dem Decodierer 203 übertragen,
der eine FEC-Decodierung vornimmt, jegliche sonstige Redundanz entfernt
und innerhalb der Grenzen der Fehlercodierung Übertragungsfehler korrigiert.
Der Ausgang des Decodierers 203, ein Datenrahmen gemäß 3, wird zu der Prüfvorrichtung 205 übertragen. Zusammen
mit dem Decodierer 203 empfängt der Empfänger 201 also
einen Datenrahmen, der ein oder mehr Füllsymbole enthält. Die
Prüfvorrichtung 205 berechnet
eine erste Paritätsprüfung, zum
Beispiel einen CRC-Code, die/der mit einer erwarteten Paritätsprüfung, zum
Beispiel dem in dem CRC-Feld 313 enthaltenen empfangenen
CRC-Code, verglichen wird, um festzustellen, ob der Rahmen irgendwelche
zusätzlichen
unkorrigierten Fehler enthält. Wenn
der Rahmen fehlerfrei ist, wird er akzeptiert und am Ausgang 210 zur
weiteren Verarbeitung weitergeleitet. Wenn der Datenrahmen einen
Fehler enthält,
wie sich aus der ersten Paritätsprüfung ergibt, weist
das Steuergerät 207 die
Prüfvorrichtung
an, eine weitere Fehlerkorrektur zu versuchen, wie im Folgenden
weiter erläutert
wird.
-
Zusammenfassend lässt sich sagen, dass jedes
vermutlich falsche Füllsymbol
wie zum Beispiel das Symbol A' (310)
durch das vorbestimmte Symbol, hier A, ersetzt wird, um einen verbesserten
Datenrahmen bereitzustellen. Die Prüfvorrichtung 205 führt dann
eine zweite Paritätsprüfung, zum
Beispiel eine zweite CRC-Prüfung,
auf dem verbesserten Datenrahmen durch. Die Prüfvorrichtung 205 ermittelt dann
als nächstes,
wann die zweite Paritätsprüfung, insbesondere
die CRC-Prüfung,
einen Fehler in dem verbesserten Datenrahmen anzeigt, indem sie
den zweiten CRC-Code wieder mit dem empfangenen CRC-Code vergleicht,
der in dem CRC-Feld 313 enthalten ist. Wenn der verbesserte
Datenrahmen keine Fehler enthält,
wird er akzeptiert und zur weiteren Verarbei tung weitergeleitet.
Wenn sich zeigt, dass der verbesserte Datenrahmen immer noch unkorrigierte
Fehler enthält,
wird der Datenrahmen abgelehnt. Das Steuergerät 207 kann eine Wiederholungsanforderung
generieren, die zu dem Codierer 211 weitergeleitet wird.
-
Mit Bezug auf das Flussdiagramm von 4 beginnt eine bevorzugte
Ausführungsform
der vorliegenden Erfindung, die ein verbessertes Verfahren zur Fehlervorwärtskorrektur
in einem Datenkommunikationssystem mit Fehlerkorrektur betrifft,
mit Schritt 401. Zunächst
wird in Schritt 401 ein kompletter Datenrahmen mit ein
oder mehr Füllsymbolen empfangen.
Fehler in diesem Datenrahmen werden dann in Schritt 403 ermittelt.
In der bevorzugten Ausführungsform
wird in Schritt 403 sämtliche
in dem Protokoll von Schritt 405 ggf. inhärente Fehlervorwärtskorrektur
(FEC) durchgeführt.
In Schritt 405 werden so viele Übertragungsfehler wie mit den
speziell verwendeten FEC-Verfahren möglich korrigiert. In Schritt 407 wird
dann eine erste Paritätsprüfung auf
dem Datenrahmen durchgeführt,
indem vorzugsweise der CRC-Code berechnet wird und indem in Schritt 409 ermittelt
wird, wann oder ob dieser berechnete CRC-Code gültig ist, indem er mit dem CRC-Code
im CRC-Feld 313 des Datenrahmens verglichen wird.
-
Wenn der CRC-Code in dem CRC-Feld 313 dem
berechneten CRC-Code entspricht, dann enthält der Datenrahmen keine Übertragungsfehler
und der Prozess geht weiter zu Schritt 425. Andernfalls wird
angenommen, dass der Datenrahmen einen oder mehrere unkorrigierte Übertragungsfehler
enthält,
und der Prozess geht weiter zu Schritt 411, wo der Datenrahmen
untersucht wird, um die Positionen von Füllsymbolen, genauer gesagt
wahrscheinlichen Füllsymbolen,
zu ermitteln.
-
Der Rahmenkopf 301 kann
diese Information oder alternativ eine Untersuchung des Rahmeninhalts
bereitstellen. Zum Beispiel kann die Suche nach dem vorbestimmten
Füllsymbol
A (305) und anschließend
einer Variante dieses Symbols A' (310)
den Ort wahrscheinlicher Füllsymbole
aufzeigen.
-
Wenn der Ort der Füllsymbole
ermittelt ist, werden die Füllsymbole
oder der Inhalt der wahrscheinlichen Orte der Füllsymbole durch das vorbestimmte
Symbol ersetzt, das ein Füllsymbol
darstellt, um in Schritt 413 einen verbesserten Datenrahmen bereitzustellen.
Dann wird Schritt 415 ausgeführt, um festzustellen, wann
oder ob der Fehler in dem verbesserten Datenrahmen korrigiert wurde.
In Schritt 415 wird zunächst
eine zweite Paritätsprüfung auf dem
verbesserten Datenrahmen durchgeführt, indem vorzugsweise der
CRC-Code in Schritt 417 erneut berechnet wird. In Schritt 419 wird
dann ermittelt, wann oder ob dieser CRC-Code gültig ist, indem er mit dem
CRC-Code in dem CRC-Feld 313 verglichen wird. Wenn dieser
CRC-Code nicht gültig
ist und somit die zweite Paritätsprüfung einen
Fehler in dem verbesserten Datenrahmen anzeigt, wird der ursprüngliche
und verbesserte Datenrahmen als ungültig angesehen und der Prozess
geht weiter zu Schritt 421. Andernfalls, wenn die zweite
Paritätsprüfung anzeigt,
dass alle Fehler korrigiert wurden, wird der verbesserte Datenrahmen
als gültig
angesehen, und der Prozess geht weiter zu Schritt 425.
-
In Schritt 421 wird eine
automatische Wiederholungsanforderung (ARQ) gesendet. Damit wird der
Basis 101 angezeigt, dass der Datenrahmen vom Datenterminal 107 nicht
korrekt empfangen wurde und dass die Basis 101 den Datenrahmen
erneut senden sollte. Der ungültige
Datenrahmen wird dann in Schritt 423 verworfen, und der
erneut gesendete Da tenrahmen kann in Schritt 401 empfangen
werden. Alternativ wird dann in Schritt 425, wenn der in Schritt 409 angezeigte
ursprüngliche
Datenrahmen oder der in Schritt 419 angezeigte verbesserte
Datenrahmen keine Fehler hat, der relevante Datenrahmen analysiert,
um daraus den Kopfinhalt wie zum Beispiel Rahmensequenznummer, Formatinformation
und verschiedene Protokollelemente zu erhalten. In Schritt 427 werden
alle diese Elemente oder Parameter auf ihre Gültigkeit geprüft. Rahmen,
die dem Übertragungsprotokoll
nicht genügen,
führen
dazu, dass der Prozess weitergeht zu Schritt 421, und jene Datenrahmen,
die die Prüfung
hinsichtlich der Gültigkeit
des Protokolls bestehen, führen
dazu, dass der Prozess weitergeht zu Schritt 429.
-
In Schritt 429 kann eine
optionale Datenrahmenbestätigung
(ACK) vom Datenterminal 107 zur Basis 101 übertragen
werden, und der relevante Datenrahmen wird in Schritt 431 als gültig akzeptiert. Auf
diese Weise erfolgt die Anforderung einer Übertragungswiederholung nur
dann, wenn die zweite Paritätsprüfung einen
Fehler anzeigt. Andernfalls wird auf eine solche Anforderung verzichtet,
wenn die zweite Paritätsprüfung keinen
Fehler in dem verbesserten Datenrahmen anzeigt, womit vorteilhafterweise
der Grad der Kanalkapazität
herabgesetzt wird, mit der normalerweise fehlerhaft empfangene Füllsymbole
korrigiert werden können.
-
Für
den Fachmann versteht es sich, dass die hier offenbarten Vorrichtungen
und Verfahren ein Verfahren zur Durchführung einer verbesserten Fehlervorwärtskorrektur
bereitstellen, ohne dass dazu wertvolle Kanalkapazität verwendet
werden muss und ansonsten Datenübertragungszeiten
unnötig
erhöht
werden. Diese erfindungsgemäßen Verfahren können in
einem drahtlosen Paketdatenübertragungssystem
o der in einer sonstigen Übertragungsvorrichtung
bzw. einem sonstigen Übertragungssystem
vorteilhaft eingesetzt werden, um eine Fehlervorwärtskorrektur
bereitzustellen. Die vorliegende Erfindung wird also einem seit
langem bestehenden Bedarf an einer drahtlosen Datenübertragung
gerecht, indem sie eine beispielhafte Form der Fehlervorwärtskorrektur
bereitstellt, die keine zusätzliche
Kanalkapazität
braucht.
-
Für
den Fachmann wird es offensichtlich sein, dass die offenbarte Erfindung
auf zahlreiche Arten modifiziert werden kann und viele andere Ausführungsformen
als die speziell dargelegte und oben beschriebene bevorzugte Form
annehmen kann. Demgemäß sollen
mit den beigefügten
Ansprüchen
alle Modifikationen der Erfindung, die in den Rahmen der Erfindung
fallen, abgedeckt werden.