DE69727325T2 - Fehlerdetektion für ARQ Systeme - Google Patents

Fehlerdetektion für ARQ Systeme Download PDF

Info

Publication number
DE69727325T2
DE69727325T2 DE69727325T DE69727325T DE69727325T2 DE 69727325 T2 DE69727325 T2 DE 69727325T2 DE 69727325 T DE69727325 T DE 69727325T DE 69727325 T DE69727325 T DE 69727325T DE 69727325 T2 DE69727325 T2 DE 69727325T2
Authority
DE
Germany
Prior art keywords
module
packet
controversial
packets
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69727325T
Other languages
English (en)
Other versions
DE69727325D1 (de
Inventor
David R. Irvin
Ali S. Khayrallah
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson Inc
Original Assignee
Ericsson Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Inc filed Critical Ericsson Inc
Application granted granted Critical
Publication of DE69727325D1 publication Critical patent/DE69727325D1/de
Publication of DE69727325T2 publication Critical patent/DE69727325T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/093CRC update after modification of the information word
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1838Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1806Go-back-N protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich allgemein auf Datenkommunikationssysteme, und spezieller auf Fehlererfassung für Systeme mit automatischer Wiederholungsanforderung (automatic repeat request, ARQ), die Gegenstand einer Übertragung mit hohem Bitfehlerverhältnis (bit-error ratio, BER) sind.
  • Hintergrund der Erfindung
  • In digitalen Kommunikationssystemen werden Blockcodes verwendet, um den übertragenen Daten redundante Information hinzuzufügen, um die Erfassung und/oder Korrektur beliebiger Fehler zu ermöglichen, die während einer Übertragung auftreten können. Ein gewöhnlich verwendeter Typ eines Codes wird eine zyklische Redundanzprüfung (cyclic redundancy check, CRC) genannt. Zyklische Redundanzcodes sind zum Erfassen von großen Anzahlen von Fehlern mit einem minimalen Betrag von Redundanz fähig und können mit einfachen logischen Schaltungen implementiert werden. Diese Vorteile haben zu der weit verbreiteten Verwendung von CRC-Codes in digitalen Kommunikationssystemen geführt.
  • Ein Nachteil bei CRC-Prüfungen ist, dass CRC-Prüfungen eine Erfassung von Fehlern gestatten, aber keine Vorwärtskorrektur der Fehler erlauben. Somit werden CRC-Prüfungen häufig in Systemen mit automatischer Wiederholungsanforderung (ARQ) verwendet, in denen der empfangende Modul mit dem verursachenden Modul zurück kommunizieren kann. Im Wesentlichen überprüft der empfangende Modul eingehende Pakete oder Rahmen auf Übertragungsfehler durch Untersuchen einer Rahmenprüfsequenz, die durch eine zyklische Redundanzprüfung generiert und dem Paket durch den verursachenden Modul hinzugefügt wird. Falls das eingehende Paket ohne offensichtlichen Fehler ankommt, sendet der abschließende Modul ein Bestätigungspaket (acknowledgement packet), das eine ACK genannt wird, zu dem verursachenden Modul. Falls das eingehende Paket mit Übertragungsfehlern behaftet ist, verwirft der abschließende Modul das Paket und hält seine ACK zurück (oder sendet alternativ eine negative Bestätigung, oder NACK). Wenn die ACK zurückgehalten wird, leitet der verursachende Modul ab, dass das Paket durch den abschließenden Modul nicht korrekt empfangen wurde, und der verursachende Modul sendet das Paket erneut.
  • Traditionelle ARQ-Systeme, wie oben beschrieben, haben eine lange Geschichte, die detailliert durch Bertsekas und Gallager beschrieben wird (Data Networks, Prentice Hall, 1987, S. 58–73). Verbesserungen für die traditionellen ARQ-Schemata werden im US-Patent 5,241,548 wie folgt offengelegt: wenn ein Paket ankommt, das mit Übertragungsfehlern behaftet ist, wird es in einem Puffer gespeichert, anstatt durch den abschließenden Modul verworfen zu werden. Wann immer drei mit Fehlern behaftete Pakete so akkumuliert sind, führt der abschließende Modul ein Majoritätslogikvotum Bit für Bit in den drei mit Fehlern behafteten Replikationen des Pakets durch. Aus den Ergebnissen dieses Votums baut der abschließende Modul ein neues zusammengesetztes Paket auf. Falls die Rahmenprüfsequenz für das zusammengesetzte Paket gültig ist, sendet der abschließende Modul eine Bestätigung zu dem verursachenden Modulen; anderenfalls wird der Puffer bereinigt, der Prozess beginnt von neuem und der abschließende Modul erwartet die automatische erneute Übertragung des in Frage kommenden Pakets.
  • Mit der Zeit haben sich Variationen des grundlegenden ARQ-Schemas entwickelt, hauptsächlich als Reaktion auf die Bedürfnisse von terrestrischen Übertragungslinks (Übertragungsverknüpfungen), die normalerweise ein niedriges BER haben, mit dem allgemeinen Ergebnis, dass Kanaleffizienz und Durchsatz erhöht wurden. Ungeachtet dessen optimiert keines der verschiedenen bis heute vorgelegten Schemata den Kanaldurchsatz und die Effizienz bei Vorhandensein von Kanalfehlern vollständig, insbesondere in mobilen funkbasierten Übertragungssystemen, die sporadisch Gegenstand eines hohen BER sein können.
  • Spezieller erfordert das Verfahren, das im US-Patent 5,241,548 offengelegt wird, dass drei Replikationen des Pakets zu empfangen sind, bevor die hinzugefügte Leistung des Majoritätslogikvotums ins Spiel kommt – eine Entscheidung basierend auf zwei empfangenden Paketen kann nicht mit Vertrauen durchgeführt werden. Falls das Paket nach drei Replikationen nicht geeignet dekodiert werden kann, wäre die einzige Alternative zu einem Neustart des gesamten Prozesses, auf insgesamt fünf Replikationen zu warten, da die Majoritätslogikoperation eine ungerade Zahl von Replikationen benötigt, um Stimmengleichheit beim Votum auszuschließen. Eine Anhäufung einer ungeraden Zahl von Replikationen, sei es die Zahl drei oder fünf, würde jedoch eine wesentliche Verschwendung in Fällen einführen, wo das Paket mit zwei oder vier Replikation geeignet dekodiert werden könnte.
  • Außerdem ist die Anforderung nach einer ungeraden Zahl von Paketen besonders begrenzend, wenn die physische Schicht, die den Modul unterstützt, einen Diversifizierungsempfänger umfasst. Typischerweise setzt ein Diversifizierungsempfänger zwei Antennen ein und leitet zwei Schätzungen des eingehenden Signals ab. Diese Art eines Aufbaus hat inhärent die Fähigkeit, eine gerade Zahl von Paketreplikationen für eine Unter suchung bereitzustellen. Diese Fähigkeit wird jedoch vollständig verschwendet, wenn ein derartiger Diversifizierungsempfänger einen abschließenden Modul mit einem ARQ-Modul unterstützt, der gemäß dem Stand der Technik funktioniert, da der ARQ-Modul des Stands der Technik inhärent die Begrenzung aufweist, dass eine ungerade Zahl von Paketreplikationen benötigt wird.
  • Ein anderes Problem, das in ARQ-Systemen des Stands der Technik angetroffen wird, tritt auf, wenn sich ein Teil der Information, die durch die CRC geschützt wird, von Replikation zu Replikation ändert und ein anderer Teil der Information, der durch die CRC geschützt wird, gleich bleibt. Diese Situation könnte z. B. entstehen, wenn ein Datenpaket ein Headerfeld (Kopffeld) enthält, das Information überträgt, die Synchronisation, Ablaufsteuerung (sequencing), Adressierung, Netzmanagement betrifft, oder andere Information, die durch untere Schichten des Kommunikationsprotokolls verwendet wird. In dieser Situation kann sich Information in dem Headerfeld, wie etwa ein Sequenzglied, von Replikation zu Replikation ändern, während das Textfeld das gleiche bleibt. Da die CRC in dem Header ebenso wie den Textfeldern berechnet wird, werden beliebige Änderungen an dem Header zwischen Replikationen zu einer Änderung in der CRC führen, obwohl das Textfeld das gleiche bleibt.
  • In US 5,497,382 wird ein Fehlerkorrekturverfahren offengelegt, umfassend die Schritte zum Empfangen mehrerer Kopien eines übertragenen Datenpakets, umfassend einen Zweifehler-Korrektur-BCH-Code, ihr Vergleichen unter Verwendung einer XOR-Operation zum Bestimmen umstrittener Bitpositionen, Erstellen einer Menge von zusammengesetzten Paketen durch Invertieren einiger der umstrittenen Bitpositionen abhängig von der Gesamtzahl von gefundenen Fehlern und Bestimmen der Gültigkeit der zusammengesetzten Pakete.
  • Zusammenfassung der Erfindung
  • Gemäß der vorliegenden Erfindung wird ein Fehlerkorrekturverfahren zum Korrigieren von Fehlern in einem Diversifizierungsempfänger vorgesehen, worin mehrere Kopien des übertragenen Datenpakets empfangen werden, wobei das Fehlerkorrekturverfahren die Schritte umfasst: a) Vergleichen der mehrfachen Kopien des empfangenen Datenpakets, um die umstrittenen Bitpositionen zu bestimmen; b) Schaffen einer Menge von zusammengesetzten Paketen durch Ersetzen aller möglichen Kombinationen von Werten in den umstrittenen Bitpositionen in eine Zeichenkette, die die unumstrittenen Bitpositionen enthält; c) Bestimmen der Gültigkeit von jedem zusammengesetzten Paket; und d) falls nur ein zusammengesetztes Paket gültig ist, Ausgeben des gültigen zusammengesetzten Pakets.
  • Das Fehlerkorrekturverfahren kann ferner den Schritt zum Vergleichen der Zahl von umstrittenen Bitpositionen mit einer vorbestimmten Schwelle vor Erstellung der zusammengesetzten Pakete inkludieren.
  • Die zusammengesetzten Pakete können nur erstellt werden, wenn die Zahl von umstrittenen Bitpositionen kleiner als die vorbestimmte Schwelle ist.
  • Die vorbestimmte Schwelle kann eine Funktion von Batteriekapazität sein.
  • Die vorbestimmte Schwelle kann eine Funktion von verfügbaren Prozessorinstruktionszyklen sein.
  • Die vorliegende Erfindung ist eine Teilungsanmeldung der Europäischen Anmeldung 97 942 637.6, der Stammanmeldung. In der Stammanmeldung wird ein verbesserter abschließender Modul für ein ARQ-Protokoll beschrieben. In einer bevorzugten Ausführungsform der Stammanmeldung werden Pakete, die mit Übertragungsfehlern empfangen werden, in einem Speicher gehalten, anstatt verworfen zu werden. Wann immer eine gerade Zahl von mit Fehlern behafteten Replikationen eines übertragenen Pakets in einem Speicher vorhanden sind, wird eine Zählung der Zahl von Bits durchgeführt, worin sich die verschiedenen Replikationen unterscheiden. Diese Zählung wird mit einer Schwelle verglichen, die vorbestimmt oder angepasst ist, wobei das Niveau der Schwelle abhängig von der Toleranz der Anwendung bezüglich eines nicht erfassten Übertragungsfehlers oder abhängig von einer Bewertung von verfügbaren Prozessorressourcen oder in dem Fall eines tragbaren Endgerätes abhängig von einer Bewertung einer verfügbaren Batteriereserve gewählt wird. Falls die Zahl von umstrittenen Bits unter diese Schwelle fällt, wird eine Menge von allen möglichen übertragenen Bitmustern unter der Annahme aufgebaut, dass ein beliebiges Bit, das nicht umstritten ist, ohne Übertragungsfehler empfangen wurde. Die CRC von jedem möglichen übertragenen Bitmuster wird untersucht. Falls genau eine dieser CRCs als gültig herausgefunden wird, wird eine ACK von dem abschließenden Modul gesendet, der die Ankunft der nächsten Replikation des übertragenen Pakets erwartet. Wann immer eine ungerade Zahl von mit Fehlern behafteten Replikationen eines übertragenen Pakets im Speicher ist, wird ein zusammengesetztes Paket durch ein Majoritätslogikvotum gebildet. Falls die CRC der Zusammensetzung gültig ist, wird eine ACK gesendet.
  • In der vorliegenden Anmeldung, die einen Diversifizierungsempfänger betrifft, setzen wir einen verbesserten abschließenden Modul ein, wie oben beschrieben, um Paare von mit Fehlern behafteten Paketen zu verarbeiten und zu dekodieren.
  • Die Stammanmeldung hat die Operation des abschließenden Moduls verbessert, und dadurch maximalen Kanaldurchsatz vorge sehen und Kanalbandbreite bewahrt, Paketverzögerung von Ende zu Ende minimiert. Die vorliegende Erfindung optimiert die Fähigkeit eines Diversifizierungsempfängers. Diese Betrachtungen sind von höchster Wichtigkeit, wenn die Ressourcen der physischen Schicht des Kommunikationskanals in der Kapazität begrenzt und gegenüber Fehlern anfällig sind, wie in dem Fall eines Mobilfunklinks, der durch zellularen Bandmobilfunk oder Satellitenübertragungsausrüstung mit einem geringen Linkspielraum implementiert wird, oder wo der Mobilfunklink zeitweilig durch undurchdringliche Hindernisse blockiert wird oder wo der Mobilfunklink zeitweilig ungünstige Bedingungen erfährt, die durch schlechtes Wetter auferlegt werden.
  • Weitere Ziele der vorliegenden Erfindung sind, ein Verfahren vorzusehen, das auf in der Hand gehaltene Funkendgeräte anwendbar ist, worin die Prozessorressourcen oder Batterieressourcen, die einem ARQ-Protokollmodul gewidmet sind, begrenzt oder als Reaktion auf sich ändernde Übertragungskanalbedingungen oder als Reaktion auf das Niveau von Batteriereserven oder als Reaktion auf die Toleranz der Applikationsschicht gegenüber nicht erfassten Fehlern angepasst sein können.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt einen verursachenden Modul und einen abschließenden Modul, die durch eine Datenlinkverbindung miteinander verbunden sind, wie durch den Stand der Technik gelehrt wird.
  • 2 zeigt die Operation eines einfachen ARQ-Protokolls von dem Standpunkt eines verursachenden DLC-Moduls, wie durch den Stand der Technik gelehrt wird.
  • 3 zeigt die Operation eines verbesserten abschließenden Moduls eines ARQ-Protokolls, wie in der Stammanmeldung offengelegt wird.
  • 4 zeigt ein Beispiel von zwei Paketen, jedes mit zehn Bitpositionen, von denen drei umstritten sind.
  • 5 setzt das Beispiel fort, das in 4 eingeführt wird, und zeigt den Aufbau einer Menge von zusammengesetzten Paketen.
  • 6 zeigt den Basisaufbau eines Dualkettendiversifizierungsempfängers, der zum Vorsehen einer Unterstützung der physischen Schicht für den verbesserten abschließenden Modul fähig ist.
  • 7 zeigt die Operation des verbesserten abschließenden Moduls als in einem Dualkettendiversifizierungsempfänger ausgeführt.
  • 8 ist eine schematische Darstellung eines Datenpakets.
  • Beschreibung der Erfindung
  • Bezugnehmend nun auf die Zeichnungen wird ein schematisches Diagramm eines Datenkommunikationssystems gezeigt, in dem das Fehlersteuersystem der vorliegenden Erfindung ausgeführt werden kann. Das Datenkommunikationssystem wird allgemein durch die Ziffer 10 angezeigt. Das Datenkommunikationssystem 10 inkludiert einen verursachenden Modul 110, der sich über einen Kommunikationslink 130 mit einem abschlieflenden Modul 120 verbindet. Der verursachende Modul 110 sendet Pakete oder Rahmen von Daten zu dem abschließenden Modul 120 über den Kommunikationslink 130. Der Kommunikationslink 130 kann durch Mobilfunkdrahtlosausrüstung oder durch feste drahtlose Ausrüstung oder durch eine gewisse Kombination aus fester und Mobilfunkdrahtlosausrüstung oder durch terrestrische Schal tungen und Datenschaltungsabschlussausrüstung vorgesehen werden.
  • Der verursachende Modul 110 formatiert die Daten, um sie für eine Übertragung über den Kommunikationskanal passend zu machen. Die Formatierung von Daten, um sie zu den Kanalanforderungen kompatibel zu machen, wird als Quellenkodierung bezeichnet. Nach einer Quellenkodierung werden die Daten durch Hinzufügen zusätzlicher Bits zu dem Datenstrom kodiert, was die Erfassung von Kanalfehlern in dem empfangenen Datenstrom ermöglichen wird. Die zusätzlichen Datenbits werden redundante Bits genannt. Der Prozess zum Hinzufügen von redundanten Bits zu einem Datenstrom, um eine Fehlererfassung in dem empfangenden Ende zu ermöglichen, wird Fehlerkodierung genannt.
  • Ein gut bekanntes Beispiel einer Fehlererfassungstechnik ist als die zyklische Redundanzprüfung (CRC) bekannt. Die meisten CRC-Codes werden für Fehlererfassung, aber nicht Fehlerkorrektur verwendet. Andere Blockcodes und Faltungscodes erlauben sowohl Fehlererfassung als auch Fehlerkorrektur. Wenn CRC-Codes zur Fehlerkorrektur verwendet werden, überprüft der abschließende Modul 120 die empfangenen Daten auf beliebige Fehler, die während einer Übertragung aufgetreten sein können. Falls das empfangene Paket ohne offensichtlichen Fehler empfangen wird, sendet der empfangende Modul 120 ein Bestätigungspaket, das eine ACK genannt wird, zu dem verursachenden Modul 110. Falls das empfangene Paket mit Kanalfehlern behaftet ist, wird die ACK zurückbehalten. In diesem Fall (ACK zurückbehalten) sendet der verursachende Modul 110 das Paket erneut, nachdem eine vorbestimmte Zeitperiode vergangen ist. Dieser Typ eines Systems wird ein System mit automatischer Wiederholungsanforderung (ARQ) genannt.
  • 2 zeigt die Operation eines verursachenden Moduls 110 in einem ARQ-System. Wenn eine Anforderung, Daten zu senden, empfangen wird (Block 200), berechnet der verursachende Modul 110 die CRC und fügt die Rahmenprüfbits der Quelleninformation hinzu (Block 210). Das Paket wird dann über den Kommunikationslink 130 übertragen (Block 220). Als Nächstes startet der verursachende Modul 110 einen Timer (Block 230). Falls eine ACK von dem abschlieflenden Modul 120 vor dem Ablauf vom Timer empfangen wird (Block 240), leitet der verursachende Modul 110 ab, dass der abschlieflende Modul 120 das Paket korrekt empfangen hat. Der verursachende Modul 110 löscht dann einen Paketwiederholungszähler (Block 250) und erwartet die nächste Anforderung für einen Dienst. Anderenfalls (d. h. eine ACK wird nicht von dem Modul 110 empfangen, bevor Timer 230 abläuft) leitet der verursachende Modul 110 ab, dass Modul 120 das Paket nicht korrekt empfangen hat. Der verursachende Modul 110 prüft dann den Paketwiederholungszähler (Block 260), der ein Zähler ist, der für den Zweck einer Begrenzung der Zahl von Malen, die ein Paket erneut gesendet werden kann, gehalten wird. Falls der Paketwiederholungszähler seinen maximalen zulässigen Wert nicht erreicht hat, wird das Paket erneut zu dem abschlieflenden Modul 120 gesendet (Block 270) und der Paketwiederholungszähler wird inkrementiert (Block 280). Anderenfalls (d. h. der Paketwiederholungszähler hat seinen maximalen zulässigen Wert erreicht) wird die Kommunikationsdatenlinkverbindung 130 fallen gelassen oder es werden Korrekturmaflnahmen unternommen, wie im Stand der Technik gelehrt wird (Block 290).
  • 3a und 3b zeigen die Operation eines verbesserten abschlieflenden Moduls, wie in der Stammanmeldung offengelegt. Wenn ein Paket empfangen wird (Block 200), berechnet der abschlieflende Modul 120 die zyklische Redundanzprüfung (CRC) von jedem eingehenden Paket und untersucht die Ergebnisse (Block 310). Falls die CRC bestanden wird, sendet der abschlieflende Modul 120 eine ACK zu Modul 110 über den Kommunikationslink 130 und bereinigt einen Puffer, dessen Funktion nachstehend vollständiger beschrieben wird (Block 320). Der abschließende Modul 120 erwartet kann die Ankunft des nächsten Pakets. Anderenfalls (d. h. die CRC schlägt fehl) wird das mit Fehlern behaftete Paket in dem Puffer gespeichert (Block 330). Der abschließende Modul 120 untersucht dann den Pufferbereich und zählt die Zahl von vorhandenen Paketen (Block 340). Falls ein Paket in dem Puffer ist (das Paket wurde gerade eingestellt), erwartet Modul 120 die Ankunft des nächsten Pakets (Block 350).
  • Falls zwei oder mehr Pakete im Speicher sind, bestimmt der abschließende Modul 120, ob eine ungerade oder gerade Zahl von Paketen in dem Puffer vorhanden ist (Block 360). Falls es eine ungerade Zahl von Paketen gibt, wird ein einzelnes zusammengesetztes Paket durch eine Majoritätslogikvotumstechnik gebildet (Block 370). Unter Verwendung dieser Technik wird der Wert einer beliebigen umstrittenen Bitposition durch ein einfaches Majoritätsvotum in jeder umstrittenen Position zugewiesen. Falls z. B. ein Majoritätsvotum in drei Replikation durchgeführt wird, werden zwei der drei Replikationen einen Wert haben, der der umstrittenen Bitposition zugewiesen wird. Es gibt eine hohe Wahrscheinlichkeit, dass das Ergebnis des Majoritätsvotums dem korrekten Bitwert entspricht. Nachdem das zusammengesetzte Paket gebildet ist, wird eine CRC-Prüfung in dem mit Majorität gewählten Paket durchgeführt (Block 380 und 390). Falls die CRC-Prüfung bestanden wird, sendet der abschließende Modul eine ACK zu dem verursachenden Modul (Block 400) und bereinigt den Puffer. Anderenfalls (d. h. die CRC schlägt fehl) wartet der abschließende Modul 120 auf das nächste Paket (Block 410).
  • Die Majoritätslogikvotumstechnik arbeitet wegen der Möglichkeit einer Stimmengleichheit nicht gut, wenn es eine gerade Zahl von Paketen gibt. Entsprechend wird eine Ersatztechnik verwendet, um zusammengesetzte Pakete zu erstellen, wenn es eine gerade Zahl von mit Fehlern behafteten Replikationen gibt (Block 360). In diesem Fall zählt der abschließende Modul 120 die Zahl von umstrittenen Bitpositionen (Block 420). Um dies zu tun, werden die Replikationen der Pakete, die in dem Puffer gespeichert sind, Bitposition für Bitposition verglichen. Falls alle Replikationen in dem Inhalt einer bestimmten Bitposition übereinstimmen, dann ist diese Position nicht umstritten. Anderenfalls wird die Bitposition einmal als umstritten gezählt. 4 zeigt ein Beispiel von zwei verglichenen Replikationen, jede Replikation mit 10 Bits, wobei die zwei Replikationen gemeinsam drei umstrittene Bitpositionen aufweisen.
  • Wie in 3 gezeigt, wird die Zahl von umstrittenen Bitpositionen mit einer Schwelle LMAX verglichen (Block 430). Falls die Zahl von umstrittenen Bitpositionen LMAX gleich ist oder überschreitet, erwartet Modul 120 die Ankunft des nächsten Pakets (Block 440). Anderenfalls (d. h. die Zahl von umstrittenen Bitpositionen ist kleiner als LMAX) bildet Modul 120 ein oder mehrere zusammengesetzte Pakete (Block 450). Es wird eine Serie von zusammengesetzten Paketen generiert, die alle mögliche Kombinationen von Werten in den umstrittenen Bitpositionen enthalten. Falls es zwei umstrittene Bitpositionen gibt, dann gibt es vier mögliche Kombinationen. Falls es drei umstrittene Bitpositionen gibt, dann gibt es acht mögliche Kombinationen.
  • 5 veranschaulicht den Aufbau der Menge von zusammengesetzten Paketen. Wie in 5 gezeigt, haben alle Mitglieder der Menge von zusammengesetzten Paketen die gleichen Bitwerte wie die zwei empfangenen Pakete, die in dem Puffer gehalten werden, in allen Positionen, wo die zwei empfangenen Paketen selbst übereinstimmen. Für jede Bitposition, wo sich die zwei empfangenen Pakete unterscheiden – d. h. die umstrittenen Bitpositionen -, wird ein Element der Menge von Zusammensetzun gen mit einer "Eins" in der umstrittenen Bitposition gebildet, und es wird ein anderes Element mit einer "Null" in der umstrittenen Bitposition gebildet. Auf diesem Weg werden alle möglichen übertragenen Bitmuster unter der Annahme rekonstruiert, dass alle Bits, die auf dem gleichen Weg in den zwei gespeicherten Paketen – d. h. die Bits in den unumstrittenen Bitpositionen – empfangen wurden, ohne Fehler empfangen wurden. Aus dieser Menge von 2L Elementen werden die Bitmuster entsprechend den zwei Paketen, die im Speicher gehalten werden, eliminiert, da von ihnen a priori geglaubt wird, Übertragungsfehler zu enthalten.
  • Der abschließende Modul 120 berechnet und prüft als Nächstes die CRC von jedem Mitglied der Menge von zusammengesetzten Paketen (Block 460) und bestimmt die Zahl von zusammengesetzten Paketen mit einer gültigen Rahmenprüfsequenz (Block 470). Falls genau eines eine gültige Rahmenprüfsequenz hat, sendet Modul 120 eine ACK zu Modul 110 und bereinigt den Puffer (Block 400). Anderenfalls (d. h. die Zahl von zusammengesetzten Paketen mit einer gültigen Rahmenprüfsequenz ist nicht genau eins) hält Modul 120 die ACK zurück und erwartet die Ankunft des nächsten Pakets (Block 440).
  • Die Schwelle LMAX wird gemäß Betrachtungen von System und Leistungsverhalten berechnet und variiert. In einer in der Stammanmeldung beschriebenen bevorzugten Ausführungsform wird der Wert von LMAX derart gewählt, um die Möglichkeit davon, dass Übertragungsfehler durch die CRC unerfasst bleiben, zu begrenzen, die ansteigt, während die Zahl von umstrittenen Bits ansteigt. In der Literatur werden analytische Techniken zum Berechnen der Wahrscheinlichkeit von derartigen nicht erfassten Fehlern gelehrt (siehe z. B. Boudreau et al, "Performance of a Cyclic Redundancy Check and its Interaction With a Data Scrambler", IBM Journal of Research and Development, Vol. 38, Nr. 6 (November 1994), S. 651–658.
  • In einer anderen Ausführungsform der Stammanmeldung wird der Wert von LMAX als eine Funktion von verfügbaren Prozessorzyklen gewählt oder variiert, sodass eine obere Grenze in den Prozessorressourcen gesetzt wird, die einer Untersuchung der Menge von Zusammensetzungen gewidmet ist. Der Zweck einer Festsetzung oder Variation der oberen Grenze ist, Prozessorressourcen für eine anderweitige Verwendung oder als Reaktion auf sich ändernde Umstände freizusetzen. In einer Variation dieser Ausführungsform würde der Wert von LMAX gemäß der Beziehung: LMAX = log((T/N) + M)gesetzt, wobei
    T die Gesamtzahl von Prozessorinstruktionszyklen ist, die gegenwärtig zur Verarbeitung einer Menge von zusammengesetzten Paketen verfügbar sind,
    M die Zahl von mit Fehlern behafteten Paketen ist, die im Puffer gespeichert sind,
    N die Zahl von Instruktionszyklen ist, die benötigt werden, um ein einzelnes Mitglied der Menge von zusammengesetzten Paketen zu verarbeiten,
    log der Logarithmus zu Basis 2 ist, abgerundet auf die nächste ganze Zahl.
  • In noch einer anderen Ausführungsform der Stammanmeldung wird der Wert von LMAX als eine Funktion verfügbarer Batteriekapazität gewählt oder variiert, sodass eine obere Grenze in der Energie gesetzt wird, die durch den Prozessor bei einer Untersuchung der Menge von Zusammensetzungen aufgewendet wird.
  • Energieaufwand ist eine Angelegenheit in einem batteriegespeisten Empfänger, der den abschließenden DLC-Modul implementiert. In einer Variation dieser Ausführungsform würde der Wert von LMAX gemäß LMAX = log((ET/EN) + M)gesetzt, wobei
    ET die gesamte Batteriekapazität ist, die gegenwärtig für eine Verarbeitung einer Menge von zusammengesetzten Paketen verfügbar ist,
    M die Zahl von mit Fehlern behafteten Paketen ist, die im Puffer gespeichert sind,
    EN die Batteriekapazität ist, die benötigt wird, um ein einzelnes Mitglied der Menge von zusammengesetzten Paketen zu verarbeiten,
    log der Logarithmus zu Basis 2 ist, abgerundet auf die nächste ganze Zahl.
  • In anderen Ausführungsformen der Stammanmeldung wird das Majoritätslogikvotum unter drei empfangenen Paketen durch eine Erweiterung der Menge von zusammengesetzten Paketen und eine Untersuchung der CRC von jedem, ein Element nachschlagend, dessen CRC gültig ist, ersetzt. In dieser Erweiterung werden alle möglichen Variationen der empfangenen Information berechnet, wobei Bits, die auf dem gleichen Weg in zwei gespeicherten Paketen empfangen werden, als korrekt angenommen werden, oder wobei Bits, die auf dem gleichen Weg in drei gespeicherten Paketen empfangen werden, als korrekt angenommen werden, oder wobei Bits, die auf dem gleichen Weg in zwei oder drei gespeicherten Paketen empfangen werden, als korrekt angenommen werden.
  • Die Ersatztechnik, die durch den abschließenden Modul 120 verwendet wird, wenn eine gerade Anzahl von Paketen empfangen wird, ist auch in einem Diversifizierungsempfänger von Nutzen. 6 zeigt den Aufbau eines Zweikettendiversifizierungsempfängers, der allgemein durch die Ziffer 500 angezeigt wird, und ein Fehlerkorrekturverfahren gemäß der vorliegenden Erfindung einsetzt. In 6 entwickeln zwei Empfängerketten zwei Replikationen von jedem eingehenden Paket. Kette 510 umfasst Antenne 520, HF-Schaltungstechnik 530 und Demodulator 540. Kette 550 umfasst Antenne 560, HF-Schaltungstechnik 570 und Demodulator 580. Antennen 520 und 560, die voneinander räumlich entfernt sind, um Empfangsdiversifizierung vorzusehen, empfangen das eingehende Signal. HF-Schaltungen 530, 570 und Demodulatoren 540, 580 funktionieren gemäß den gut bekannten Prinzipien, die moderne Demodulatoren leiten, konvertieren die HF-Signale in digitale Bitströme, wobei der Ausgang von jedem eine Replikation des eingehenden Pakets ist. Decoder 590 implementiert den abschließenden Modul. Decoder 590 akzeptiert die eingehenden Paketreplikationen und gibt eine korrekte Version der Daten und eine ACK-Authorisierung aus.
  • 7a und 7b zeigen die Operation des verbesserten abschließenden Moduls, wie in einem Diversifizierungsempfänger ausgeführt, der inhärent Paketreplikationen in Paaren wegen der Zweikettennatur des Empfängers generiert.
  • Wenn ein Paketpaar empfangen wird (Block 610), berechnet der Diversifizierungsempfänger 500 die CRC eines ersten Pakets (Block 620). Falls die CRC des ersten Pakets gültig ist (Block 630), sendet der Diversifizierungsempfänger eine ACK zu dem verursachenden Modul und bereinigt den Puffer (Block 640). Anderenfalls (d. h. die CRC schlägt fehl) wird die CRC des zweiten Pakets in dem Paar geprüft (Block 650). Falls die CRC des zweiten Pakets bestanden wird (Block 660), sendet der Diversifizierungsempfänger eine ACK zu dem verursachenden Modul und bereinigt den Puffer (Block 670). Falls kein Paket die CRC-Prüfung besteht, werden beide Pakete in einem Puffer gespeichert (Block 680). Alle Pakete, die in dem Puffer gespeichert sind, werden dann verglichen, um die Zahl von umstrittenen Bitpositionen zu bestimmen (Block 690). Die Zahl von umstrittenen Bitpositionen wird mit einer Schwelle LMAX verglichen (Block 700). Falls die Zahl von umstrittenen Bitpositionen die Schwelle LMAX überschreitet, wird der Puffer bereinigt und der Diversifizierungsempfänger wartet auf ein neues Paketpaar (Block 710). Falls die Zahl von umstrittenen Bitpositionen kleiner als die Schwelle LMAX ist, wird eine Serie von zusammengesetzten Paketen unter Verwendung der zuvor beschriebenen Ersatztechnik gebildet (Block 720). Der Diversifizierungsempfänger berechnet dann die CRC von jedem zusammengesetzten Paket (Block 730). Falls nur ein zusammengesetztes Paket eine gültige CRC hat (Block 740), sendet der Diversifizierungsempfänger eine ACK zu dem verursachenden Modul und bereinigt den Puffer (Block 750). Falls kein zusammengesetztes Paket eine gültige CRC hat (Block 760), wird der Puffer bereinigt und der Diversifizierungsempfänger wartet auf ein neues Paketpaar, das zu übertragen ist (Block 780). Falls mehr als ein zusammengesetztes Paket passiert (Block 760), hält der Diversifizierungsempfänger die ACK zurück und wartet auf das nächste Paket, das zu empfangen ist (Block 770).
  • In dem obigen wurde angenommen, dass verschiedene Pakete, die durch den verursachenden Modul 110 zu dem abschließenden Modul 120 übertragen werden, identisch sind. Es gibt jedoch gewisse Umstände, wo sich ein erneut übertragenes Paket von dem zuvor übertragenen Paket unterscheidet, das durch den abschließenden Modul 120 nicht akzeptiert wurde. In gewissen Kommunikationsprotokollen ändert sich ein Teil der Information, die durch die CRC geschützt wird, wenn Quelleninformation erneut übertragen wird. Z. B. umfasst ein Datenpaket häufig ein Headerfeld, das Information überträgt, die Synchronisation, Ablaufsteuerung, Adressierung, Netzmanagement betrifft, oder Information, die durch die oberen Schichten des Kommunikationsprotokolls nicht verwendet wird. Z. B. können die Headerfelder eine Sequenznummer inkludieren, die sich ändern wird, wenn Information erneut übertragen wird. Da die CRC in dem Headerfeld ebenso wie dem Informationsfeld berechnet wird, werden beliebige Änderungen an dem Header, die zwischen zwei Übertragungen durchgeführt werden, zu einer Änderung der CRC führen, obwohl das Informationsfeld das gleiche bleibt. Folglich müssen die verschiedenen Replikationen eines Datenpakets, die durch den abschlieflenden Modul 120 empfangen werden, geändert werden, bevor die verschiedenen Replikationen miteinander verglichen werden können.
  • Die Stammanmeldung sieht ein Verfahren zum Ändern empfangener Pakete in dem abschlieflenden Modul 120 vor, um zu ermöglichen, die Majoritätslogikvotumstechnik und die Ersatztechnik in jenen Situationen zu verwenden, wo ein Teil der übertragenen Information zwischen Übertragungen variiert. Es wird ein Vorteil aus der Linearitätseigenschaft der zyklischen Redundanzprüfung gezogen, um die Datenpakete zu manipulieren, um die Wirkungen der geänderten Information aufzuheben. Dieses Verfahren trifft auf einen beliebigen linearen Fehlersteuercode zu und ist nicht nur auf systematische zyklische Redundanzprüfungen beschränkt.
  • Das Verfahren zum Ändern von Replikationen lässt sich am leichtesten durch Operationen in Polynomen mit modulo-2 Koeffizienten beschreiben. 8 zeigt eine schematische Darstellung eines Datenpakets. Das Datenpaket enthält ein Informationsfeld und ein Redundanzfeld. Das Informationsfeld ist unterteilt in ein Headerfeld, das k1 Bits enthält, das Textfeld enthält k2 Bits und das CRC-Feld enthält m Bits. Das Headerfeld wird durch das Polynom i1(x) dargestellt, das Textfeld wird durch das Polynom i2(x) dargestellt, die gemeinsam das Informationsfeld bilden, das durch das Polynom
    Figure 00190001
    dargestellt wird. Das übertragene Codewort wird durch c(x) dargestellt und das Generatorpolynom, das die CRC-Prüfung definiert, wird durch g(x) dargestellt. Die Paritätsprüfbits ergeben sich durch die folgende Gleichung:
  • Figure 00190002
  • Dann wird das übertragene Codewort als c(x) = i(x)xm + p(x) geschrieben. Es ist wichtig zu vermerken, dass für lineare Codes p(x) als die Summe der Beiträge von i1(x) und i2(x) ausgedrückt werden kann. D.h. die Paritätsprüfbits können durch die Gleichung: p(x) = p1(x) + p2(x)dargestellt werden, wobei p1(x) die Redundanz darstellt, die mit dem variablen Informationsfeld i1(x) in Verbindung steht, und p2(x) die Paritätsprüfbits darstellt, die mit dem festen Informationsfeld i2(x) in Verbindung stehen. p1(x) kann durch die Gleichung
    Figure 00190003
    dargestellt werden. p2(x) kann durch die Gleichung
    Figure 00200001
    dargestellt werden.
  • Wann immer Pakete, die geänderte Information enthalten, durch den abschließenden Modul 120 empfangen werden, müssen die Unterschiede in den empfangenen Datenpaketen, die beliebigen Änderungen in dem variablen Informationsfeld zuzuschreiben sind, eliminiert werden. Dies wird bewerkstelligt, indem die Headerfelder in allen empfangenen Datenpaketen gleich gemacht werden. Die Redundanzfelder in den geänderten Replikationen werden dann erneut kalkuliert, um beliebige Änderungen zu subtrahieren, die dem Redundanzvektor zuzuschreiben sind, der der Änderung in den Header zuzuschreiben ist. Diese Operationen können durch die folgende Gleichung dargestellt werden:
  • Figure 00200002
  • In der obigen Gleichung stellt r(x) das empfangene Paket dar und r'(x) stellt das geänderte Paket dar. Mit diesem Verfahren werden Unterschiede, die aus Headeränderungen entstehen, aus den Datenpaketen entfernt, die die gleichen Textfelder haben. Folglich können die verschiedenen geänderten Replikationen r'(x) wie zuvor beschrieben unter Verwendung von Majoritätslogikvotumstechniken für ungerade Zahlen von Paketen und der Ersatztechnik für gerade Zahlen von Paketen verglichen werden.
  • Was folgt ist ein Beispiel des Fehlererfassungsverfahrens der Stammanmeldung. Angenommen, dass das übertragene Paket insgesamt sieben Bits enthält, x0–x6, wobei x0 das niederwertigste Bit ist. Bits x0–x2 sind die Paritätsbits, die durch den Vektor p(x) dargestellt werden. Bits x3 und x4 sind die Textbits, die durch Vektor i2(x) dargestellt werden. Bits x5 und x6 sind die Headerbits, die durch den Vektor i1(x) dargestellt werden. Das Generatorpolynom g(x) ist x3 + x + 1. Die Werte für i1(x), i2(x) und p(x) sind wie folgt:
    i1(x) = 1 = 01 (erste Übertragung)
    i1(x) = x = 10 (zweite Übertragung)
    i2(x) = x + 1 = 11 (beide Übertragungen)
    p(x) = x = 010 (erste Übertragung)
    p(x) = 0 = 000 (zweite Übertragung)
  • Somit ist das erste übertragene Codewort 0111010. Das zweite übertragene Codewort ist 1011000.
  • Während der ersten Übertragung wird das Fehlermuster x2 eingeführt, sodass das erste empfangene Wort r(x) 0111110 ist. Eine Paritätsprüfung legt den Fehler offen, sodass die ACK zurückgehalten wird und das empfangene Wort in einem Speicher gespeichert wird. Während der zweiten Übertragung wird das Fehlermuster x4 eingeführt, sodass das zweite empfangene Wort r(x) 1001000 ist. Erneut legt die Paritätsprüfung den Fehler offen, sodass die ACK zurückgehalten wird. Das zweite empfangene Wort wird auch in dem Puffer gespeichert.
  • Die empfangende Einheit versucht, das übertragene Paket unter Verwendung der Ersatztechnik zu rekonstruieren. Die ersten und zweiten empfangenen Codeworte können jedoch nicht direkt verglichen werden, da sich das Headerfeld zwischen den Übertragungen geändert hat, obwohl das Textfeld das gleiche geblieben ist. Der erste Schritt beim Korrigieren des Fehlers ist, die empfangenen Codeworte zu ändern, um die Wirkung des Headerfelds zu eliminieren. Zuerst werden die Headerbits subtrahiert. Zweitens wird der Redundanzvektor p1(x), der den Headerbits zuzuschreiben ist, subtrahiert. Diese Operationen werden durch die Gleichung r'(x) = r(x) + p1(x) + i1(x)x2x3 = r(x) + p1(x) i1(x)x5 ausgedrückt.
  • Um r'(x) zu aufzubauen, müssen wir p1(x) gemäß der folgende Gleichung kalkulieren:
  • Figure 00220001
  • Für die erste Übertragung ist p1(x)x2 + x + 1. Für die zweite Übertragung ist p1(x)x2 + 1. Nun kann r'(x) wie folgt berechnet werden:
  • Erste Übertragung
  • r'(x) = r(x) + p1(x) + i(x)x5 r'(x) = x5 + x4 + x3 + x3 + x3 → 0111 110 p1(x) = x2 + x + 1 → 0000 111 i(x)x5 = x3 → 0100 000 r'(x) = x4 + x3 + 1 → 0011 001
  • Zweite Übertragung
  • r'(x) = r(x) + p1(x) + i1(x)x5 r(x) = x6 + x3 → 1001 000 p1(x) = x3 + 1 → 0000 101 i(x)x5 = x6 → 1000 000 r'(x) = → 0001 101
  • Nun können die zwei Replikationen direkt verglichen werden, um die umstrittenen Bitpositionen wie folgt zu bestimmen:
    Erste Replikatin 0011 001
    Zweite Replikation 0001 101
  • Die Bitpositionen x2 und x4 sind in den zwei Replikationen umstritten. Deshalb wird eine Menge von Zusammensetzungen aufgebaut, die die Werte 1 und 0 in die umstrittenen Positionen wie folgt ersetzen:
    Zusammensetzung 1 → 0001001
    Zusammensetzung 2 → 0001101 – zweite Replikation
    Zusammensetzung 3 → 0011001 – erste Replikation
    Zusammensetzung 4 → 0011101
  • Die zweiten und dritten zusammengesetzten Replikationen werden ignoriert, da sie Duplikate der zwei empfangenen Replikationen sind, die bereits als fehlerhaft bekannt sind. Die Parität der zwei verbleibenden Zusammensetzungen werden dann geprüft.
  • Zusammensetzung 1
    Figure 00230001
  • Zusammensetzung 4
    Figure 00230002
  • Zusammensetzung 4 ist die einzige Zusammensetzung, die eine gültige Paritätsprüfung enthält. Deshalb wird Zusammensetzung 4 angenommen, das übertragene Textfeld zu enthalten.
  • In der obigen Erörterung wurde angenommen, dass r(x) ein empfangenes Paket einer harten Ausgabe war. Alternativ kann es eine Verwendung in Verbindung mit einem empfangenen Paket einer weichen Ausgabe geben. Ein empfangenes Paket einer weichen Ausgabe besteht aus realen Zahlen, wobei eine positive Zahl eine 0 anzeigt und eine negative Zahl eine 1 anzeigt. Um die Wirkung von i1(x) von r(x) zu subtrahieren, müssen wir l1 (x) aus i1(x) aufbauen, wobei eine 0(1) in i1(x) + 1(– 1) in l1(x) wird. Ähnlich bauen wir P1(x) aus p1(x) auf. Wir berechnen nun:
  • Figure 00240001
  • Erneut hängt r'(x) nun nur von i2(x) ab. Schließlich können wir die L Wiederholungen von r'(x) unter Verwendung einer konventionellen Technik weicher Kombination kombinieren. Das resultierende weiche Ausgangswort r''(x) kann nun auf dem üblichen Weg durch Umsetzen von positiven Werten in 0 und negativen Werten in 1 in ein hartes Ausgangswort umgesetzt werden. Schließlich wird die CRC geprüft.
  • Die vorliegende Erfindung, die sich auf ein Fehlerkorrekturverfahren zum Korrigieren von Fehlern in einem Diversifizierungsempfänger bezieht, wie insbesondere in Bezug auf 6 und 7 beschrieben wird, kann natürlich auf anderen speziellen Wegen ausgeführt werden, ohne von dem Bereich der vorliegenden Erfindung abzuweichen, wie in den angefügten Ansprüchen definiert. Variationen und Modifikationen werden einem Durchschnittsfachmann einfallen, sobald er die grundlegenden Konzepte der Erfindung erkennt, insbesondere die Erweiterung der vorliegenden Erfindung, um go-back-N (gehe-N-zurück) ARQ-Systemvariationen, selektiv-wiederholen ARQ-Systemvariationen, ARPANET-ARQ-Systemvariationen und andere verwandte ARQ-Systemvariationen zu umfassen.

Claims (5)

  1. Fehlerkorrekturverfahren zum Korrigieren von Fehlern in einem Diversifizierungsempfänger, wo mehrfache Kopien des übertragenen Datenpakets empfangen werden, wobei das Fehlerkorrekturverfahren die Schritte umfasst: a) Vergleichen der mehrfachen Kopien des empfangenen Datenpakets, um die umstrittenen Bitpositionen zu bestimmen; b) Schaffen einer Menge von zusammengesetzten Paketen durch Ersetzen aller möglichen Kombinationen von Werten in den umstrittenen Bitpositionen in eine Zeichenkette, die die unumstrittenen Bitpositionen enthält; c) Bestimmen der Gültigkeit von jedem zusammengesetzten Paket; und d) falls nur ein zusammengesetztes Paket gültig ist, Ausgeben des gültigen zusammengesetzten Pakets.
  2. Fehlerkorrekturverfahren nach Anspruch 1, ferner inkludierend den Schritt zum Vergleichen der Zahl von umstrittenen Bitpositionen mit einer vorbestimmten Schwelle, bevor die zusammengesetzten Pakete geschaffen werden.
  3. Fehlerkorrekturverfahren nach Anspruch 2, wobei die zusammengesetzten Pakete nur geschaffen werden, wenn die Zahl von umstrittenen Bitpositionen kleiner als die vorbestimmte Schwelle ist.
  4. Fehlerkorrekturverfahren nach Anspruch 2, vorbei die vorbestimmte Schwelle eine Funktion der Batteriekapazität ist.
  5. Fehlerkorrekturverfahren nach Anspruch 2, wobei die vorbestimmte Schwelle eine Funktion von verfügbaren Prozessorinstruktionszyklen ist.
DE69727325T 1996-09-27 1997-09-22 Fehlerdetektion für ARQ Systeme Expired - Fee Related DE69727325T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/723,217 US5745502A (en) 1996-09-27 1996-09-27 Error detection scheme for ARQ systems
US723217 1996-09-27

Publications (2)

Publication Number Publication Date
DE69727325D1 DE69727325D1 (de) 2004-02-26
DE69727325T2 true DE69727325T2 (de) 2004-10-14

Family

ID=24905356

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69727325T Expired - Fee Related DE69727325T2 (de) 1996-09-27 1997-09-22 Fehlerdetektion für ARQ Systeme
DE69717472T Expired - Fee Related DE69717472T2 (de) 1996-09-27 1997-09-22 Verfahren zur fehlererkennung für system mit automatischer wiederholungsaufforderung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69717472T Expired - Fee Related DE69717472T2 (de) 1996-09-27 1997-09-22 Verfahren zur fehlererkennung für system mit automatischer wiederholungsaufforderung

Country Status (10)

Country Link
US (1) US5745502A (de)
EP (2) EP1154576B1 (de)
JP (1) JP2001501789A (de)
KR (1) KR100312729B1 (de)
CN (1) CN1100394C (de)
AU (1) AU727898B2 (de)
CA (1) CA2267373A1 (de)
DE (2) DE69727325T2 (de)
TW (1) TW345781B (de)
WO (1) WO1998013940A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013006141B4 (de) * 2013-04-10 2016-09-29 Bundesrepublik Deutschland, vertreten durch das Bundesministerium der Verteidigung, dieses vertreten durch das Bundesamt für Ausrüstung, Informationstechnik und Nutzung der Bundeswehr Verfahren zur Verarbeitung von Datenpaketen in einem Kommunikationsknoten

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5968197A (en) * 1996-04-01 1999-10-19 Ericsson Inc. Method and apparatus for data recovery
US6320879B1 (en) * 1997-03-18 2001-11-20 Paradyne Corporation Communication system and method for interleaving or transmission of telephone rings and data
US6101168A (en) * 1997-11-13 2000-08-08 Qualcomm Inc. Method and apparatus for time efficient retransmission using symbol accumulation
JP2003534670A (ja) * 1997-12-11 2003-11-18 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) ダイナミックフォールト分離の冗長性終端
US6327688B1 (en) * 1998-08-07 2001-12-04 Analog Devices, Inc. Data bus with automatic data integrity verification and verification method
US6418549B1 (en) 1998-10-30 2002-07-09 Merunetworks, Inc. Data transmission using arithmetic coding based continuous error detection
US6209111B1 (en) * 1998-11-09 2001-03-27 Microsoft Corporation Error correction on a mobile device
JP3640844B2 (ja) * 1999-09-17 2005-04-20 株式会社東芝 エラー処理機能を備えた伝送装置及びエラー処理方法
US6505034B1 (en) * 1999-12-20 2003-01-07 Nokia Ip Inc. Adaptive ARQ feedback bandwidth allocation
JP3916382B2 (ja) * 2000-07-07 2007-05-16 沖電気工業株式会社 動画像受信装置
US6804218B2 (en) 2000-12-04 2004-10-12 Qualcomm Incorporated Method and apparatus for improved detection of rate errors in variable rate receivers
US6732329B2 (en) * 2001-03-27 2004-05-04 Intel Corporation Providing a header checksum for packet data communications
US20030039226A1 (en) 2001-08-24 2003-02-27 Kwak Joseph A. Physical layer automatic repeat request (ARQ)
KR100378586B1 (ko) * 2001-08-29 2003-04-03 테커스 (주) 엑티브엑스 기반의 키보드 해킹 방지 방법 및 장치
US7889742B2 (en) 2001-09-29 2011-02-15 Qualcomm, Incorporated Method and system for improving data throughput
US8089940B2 (en) 2001-10-05 2012-01-03 Qualcomm Incorporated Method and system for efficient and reliable data packet transmission
CN1586048B (zh) 2001-11-16 2012-07-11 皇家飞利浦电子股份有限公司 无线通信系统
DE10161631B4 (de) * 2001-12-14 2004-01-22 Siemens Ag Verfahren zur Korrektur des Beginns der Abtastung einer seriellen Bitfolge eines Ausgangssignals eines Filters
JP3499548B1 (ja) * 2002-07-01 2004-02-23 松下電器産業株式会社 受信装置及び通信方法
KR100584170B1 (ko) * 2002-07-11 2006-06-02 재단법인서울대학교산학협력재단 터보 부호화된 복합 재전송 방식 시스템 및 오류 검출 방법
KR100548314B1 (ko) * 2002-10-11 2006-02-02 엘지전자 주식회사 무선통신 수신시스템의 오류제어방법
FR2846182B1 (fr) * 2002-10-16 2005-01-28 Nortel Networks Ltd Procede de controle de retransmission de donnees et unite de controle pour mettre en oeuvre le procede
US7523305B2 (en) * 2003-12-17 2009-04-21 International Business Machines Corporation Employing cyclic redundancy checks to provide data security
JP2005332549A (ja) * 2004-03-09 2005-12-02 Teac Corp 光ディスク装置
US7392459B2 (en) * 2004-04-14 2008-06-24 Lucent Technologies Inc. Method and apparatus for preventing a false pass of a cyclic redundancy check at a receiver during weak receiving conditions in a wireless communications system
EP1617432A1 (de) * 2004-07-12 2006-01-18 Teac Corporation Optisches Plattengerät
JP4501566B2 (ja) * 2004-07-13 2010-07-14 富士通株式会社 無線通信装置及び移動局
DE102004036383B4 (de) * 2004-07-27 2006-06-14 Siemens Ag Codier-und Decodierverfahren , sowie Codier- und Decodiervorrichtungen
US7965646B2 (en) * 2004-08-11 2011-06-21 Qwest Communications International Inc Wireless code-passing system for stateful connection monitoring
US20060198442A1 (en) * 2004-12-28 2006-09-07 Curt Jutzi Method, apparatus and system for frame level recovery using a collection of badly received frames
JP4571893B2 (ja) * 2005-07-26 2010-10-27 日本放送協会 デジタル信号受信装置及びデジタル信号受信プログラム
JP4558617B2 (ja) * 2005-09-22 2010-10-06 株式会社日立国際電気 誤り訂正処理方法及び伝送装置
JP2007104423A (ja) * 2005-10-05 2007-04-19 Oki Electric Ind Co Ltd 連送方式による誤り訂正方法、通信システム及び受信装置
US8892963B2 (en) * 2005-11-10 2014-11-18 Advanced Micro Devices, Inc. Error detection in high-speed asymmetric interfaces utilizing dedicated interface lines
EP1791285A1 (de) * 2005-11-29 2007-05-30 Alcatel Lucent Hybride ARQ Vorrichtung und entsprechendes Verfahren, wobei die FEC Redundanz basierend auf die Wiederübertragungszahl eines Pakets angepasst wird
CN100424998C (zh) * 2006-01-20 2008-10-08 北京华环电子股份有限公司 一种基于循环冗余码的单比特纠错查表方法及其电路
JP4601564B2 (ja) * 2006-02-22 2010-12-22 株式会社日立国際電気 誤り訂正処理方法及び伝送装置
JP4984281B2 (ja) * 2006-08-18 2012-07-25 学校法人 名城大学 誤り訂正装置、受信装置、誤り訂正方法および誤り訂正プログラム
US9882683B2 (en) * 2006-09-28 2018-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Autonomous transmission for extended coverage
CN102983952B (zh) * 2006-11-29 2016-06-15 艾利森电话股份有限公司 具有线性独立数据分组编码的可靠多播方法和装置
KR101784078B1 (ko) 2006-12-14 2017-10-10 톰슨 라이센싱 통신 시스템에서의 레이트리스 인코딩
US9838152B2 (en) 2006-12-14 2017-12-05 Thomson Licensing Modulation indication method for communication systems
CN101563872B (zh) 2006-12-14 2015-11-25 汤姆逊许可证公司 通信系统的无比率编码解码方法
CN101558593A (zh) 2006-12-14 2009-10-14 汤姆逊许可证公司 通信系统的带自适应调制的arq
WO2008085811A2 (en) * 2007-01-04 2008-07-17 Interdigital Technology Corporation Method and apparatus for hybrid automatic repeat request transmission
JP5125180B2 (ja) * 2007-03-30 2013-01-23 沖電気工業株式会社 車々間通信システム及び車々間通信における誤り訂正方法
GB2453344B (en) 2007-10-04 2012-01-18 Toumaz Technology Ltd Wireless transmission method and apparatus
EP2344985A1 (de) * 2008-10-09 2011-07-20 Georgia Tech Research Corporation Sichere kommunikation über nichtsystematische fehlersteuerungscodes
US20120174187A1 (en) * 2009-07-09 2012-07-05 Georgia Tech Research Corporation Systems and methods for providing physical layer security
TW201123793A (en) * 2009-12-31 2011-07-01 Ralink Technology Corp Communication apparatus and interfacing method for I/O control interface
US8392810B2 (en) * 2010-01-25 2013-03-05 Qualcomm Incorporated Majority vote error correction
GB2504522B (en) * 2012-08-01 2014-12-17 Canon Kk Data processing method and apparatus for processing a plurality of received data copies
JP6038326B2 (ja) * 2013-07-30 2016-12-07 三菱電機株式会社 データ処理装置及びデータ通信装置及び通信システム及びデータ処理方法及びデータ通信方法及びプログラム
JP6188867B2 (ja) * 2015-06-12 2017-08-30 株式会社日立製作所 パケットを復元するための方法及びシステム
EP3125454A1 (de) * 2015-07-27 2017-02-01 Thomson Licensing Datenverarbeitungsverfahren und vorrichtung zur korrektur von fehlern in defekten kopien eines datenpakets
EP3163512A1 (de) * 2015-10-30 2017-05-03 Thomson Licensing Datenverarbeitungsvorrichtung und verfahren zur wiederherstellung einer korrekten codesymbolfolge aus mehreren falschen kopien
US10498361B2 (en) 2016-04-20 2019-12-03 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatuses for group transmissions
US10367609B2 (en) * 2017-09-20 2019-07-30 Qualcomm Incorporated Error correction for data packets transmitted using an asynchronous connection-less communication link
CN108337069B (zh) * 2018-01-19 2021-06-25 国网辽宁省电力有限公司 一种改进的降低误码率的末端并行分组crc校验系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887162A (en) * 1988-04-19 1989-12-12 Ricoh Company, Ltd. Facsimile machine having retransmission function
US5241548A (en) * 1991-05-23 1993-08-31 Motorola, Inc. Method for error correction of a transmitted data word
CA2095719C (en) * 1991-09-20 1999-05-11 Stephen N. Levine Extended error correction of a transmitted data message
JP2967897B2 (ja) * 1993-07-22 1999-10-25 エヌ・ティ・ティ移動通信網株式会社 自動再送要求データ伝送方法
US5577053A (en) * 1994-09-14 1996-11-19 Ericsson Inc. Method and apparatus for decoder optimization
US5687188A (en) * 1994-10-11 1997-11-11 Motorola, Inc. Method of producing an adjusted metric

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013006141B4 (de) * 2013-04-10 2016-09-29 Bundesrepublik Deutschland, vertreten durch das Bundesministerium der Verteidigung, dieses vertreten durch das Bundesamt für Ausrüstung, Informationstechnik und Nutzung der Bundeswehr Verfahren zur Verarbeitung von Datenpaketen in einem Kommunikationsknoten

Also Published As

Publication number Publication date
CA2267373A1 (en) 1998-04-02
CN1100394C (zh) 2003-01-29
WO1998013940A1 (en) 1998-04-02
EP1154576B1 (de) 2004-01-21
AU727898B2 (en) 2001-01-04
AU4429597A (en) 1998-04-17
EP1154576A2 (de) 2001-11-14
EP0928520A1 (de) 1999-07-14
US5745502A (en) 1998-04-28
CN1238075A (zh) 1999-12-08
EP1154576A3 (de) 2001-12-19
DE69717472T2 (de) 2003-07-10
KR100312729B1 (ko) 2001-11-03
DE69727325D1 (de) 2004-02-26
JP2001501789A (ja) 2001-02-06
EP0928520B1 (de) 2002-11-27
TW345781B (en) 1998-11-21
KR20000048677A (ko) 2000-07-25
DE69717472D1 (de) 2003-01-09

Similar Documents

Publication Publication Date Title
DE69727325T2 (de) Fehlerdetektion für ARQ Systeme
DE60203766T2 (de) Vorrichtung und Verfahren zur Fehlerkorrektur für Transportformatindikatoren (TFI) in einem W-CDMA Kommunikationssystem
DE69733346T2 (de) Verfahren und gerät zur datenrückgewinnung in arq-übertragungssystemen
DE69829847T2 (de) Fehlerschutzverfahren und vorrichtung für über-funk-dateiübertragung
DE69634770T2 (de) Verfahren und Gerät zur Fehlerverarbeitung für digitale Kommunikationen
DE60029601T2 (de) Gruppenkettenreaktionskodierer mit variabler anzahl zugeordneter eingabedaten für jeden ausgaben gruppenkode
DE69835447T2 (de) Verfahren und vorrichtung zur effizienten wiederübertragung mittels symbolakkumulation
DE60217992T2 (de) System und Verfahren zum Erzeugen von Coden in einem Kommunikationssystem
DE60112206T2 (de) ARQ aAutomatische Ssendewiederholung für Turbo codierte Daten
DE69532180T2 (de) Verfahren zur vorwärtsfehlerkorrektur
DE60002884T2 (de) Verfahren und system zur datenempfangsquittierung
CH694114A5 (de) Verfahren, Datenübertragungsvorrichtung und mobile Station zum Verringern der Rahmenfehlerrate bei Datenübertragung in Form von Datenrahmen.
DE102015110602A1 (de) Verfahren und Vorrichtung zum iterativen Decodieren einer Datentransferstruktur
DE102018218729B3 (de) Interleaving mit zirkularer Zeilen-Rotation für die Übertragung bei Telegramm-Splitting
WO2004107653A1 (de) Verfahren und testgerät zum ermitteln einer fehlerrate
DE602005000124T2 (de) Verfahren zum Empfangen von paketorientierter Information mit automatischer Wiederholungsaufforderung
DE60033577T2 (de) Paketübertragung mit automatischem aufforderungsprotokoll mit verwendung von punktierten kodes
DE60035099T2 (de) Verfahren zur bestimmung der rahmenfrequenz eines datenrahmens in einem kommunikationssystem
EP1016236B1 (de) Schnelle decodierung von partiell empfangenen faltungscodierten daten
WO2004088909A1 (de) Verfahren und messgerät zum ermitteln einer fehlerrate ohne incremental redundancy
DE10345438B4 (de) Verfahren und Vorrichtung zum Dekodieren von mittels paketorientierten Datenübertragungsnetzen übertragenen kodierten Datenpaketen und Verfahren und Vorrichtung zum Kodieren und Dekodieren von über paketorientierte Datenübertragungsnetze zu übertragende Datenpaketen
DE102010023352B3 (de) Verfahren zum Übertragen von Daten
DE102014114728B4 (de) Mehrschichtige fehlerkorrekturcodierung
DE10253949B3 (de) Verfahren zur Bestimmung einer Restfehlerwahrscheinlichkeit bei der Übertragung von Daten
DE10345713B4 (de) ARQ-Verfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee