DE102005015386B9 - Modifikation einer zyklischen Redundanzprüfung zur Längendetektion einer Nachricht mit Faltungsschutz - Google Patents

Modifikation einer zyklischen Redundanzprüfung zur Längendetektion einer Nachricht mit Faltungsschutz Download PDF

Info

Publication number
DE102005015386B9
DE102005015386B9 DE200510015386 DE102005015386A DE102005015386B9 DE 102005015386 B9 DE102005015386 B9 DE 102005015386B9 DE 200510015386 DE200510015386 DE 200510015386 DE 102005015386 A DE102005015386 A DE 102005015386A DE 102005015386 B9 DE102005015386 B9 DE 102005015386B9
Authority
DE
Germany
Prior art keywords
bit stream
parity check
message block
message
bits
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
DE200510015386
Other languages
English (en)
Other versions
DE102005015386A1 (de
DE102005015386A9 (de
DE102005015386B4 (de
Inventor
Shin-Lin Shieh
Po-Ning Chen
Yung-Hsiang Han
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.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
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 Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Priority to DE200510015386 priority Critical patent/DE102005015386B9/de
Publication of DE102005015386A1 publication Critical patent/DE102005015386A1/de
Publication of DE102005015386A9 publication Critical patent/DE102005015386A9/de
Application granted granted Critical
Publication of DE102005015386B4 publication Critical patent/DE102005015386B4/de
Publication of DE102005015386B9 publication Critical patent/DE102005015386B9/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • 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
    • 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields

Abstract

Verfahren für ein Variable-Längen-Kommunikationssystem, wobei das System einen Empfänger enthält, das Verfahren aufweisend:
Speichern von Information eines Zyklischen-Redundanzprüfungs(ZRP)-Generatorpolynoms gl(x), wobei l eine ganze Zahl und die Ordnung von gl(x) ist, und von Information eines Flip-Polynoms fl(x) der Ordnung l – 1 in den Empfänger,
Empfangen eines mehrere Codewörter enthaltenden Datenbitstroms, wobei die Codewörter mit einem Faltungskodierer der Speicherordnung j kodiert werden, wobei j eine ganze Zahl ist, und wobei jedes Codewort einem verketteten Bitstrom entspricht, welcher aus einem Nachrichtenblock und einem entsprechenden geflippten Paritätsprüfungsbitstrom besteht, und...

Description

  • Diese Erfindung betrifft insgesamt ein zyklisches Redundanzprüfungsverfahren zur Detektion von Nachrichtenlängen in einem Variable-Längen-Kommunikationssystem, und insbesondere ein modifiziertes zyklisches Redundanzprüfungsverfahren mit geringer Falschdetektions-Wahrscheinlichkeit für ein Variable-Längen-Kommunikationssystem, welches ein Faltungs-Kodierverfahren nutzt.
  • In digitalen Kommunikationssystemen, wie zum Beispiel einem CDMA (Code Division Multiple Access = Codemultiplex-Vielfachzugriff) System, wandert ein Binärzeichen aufweisender Datenbitstrom, welcher eine von einem Sender gesendete Nachricht darstellt, durch einen Datenkanal und wird von einem Empfänger empfangen. Der Datenbitstrom ist im Allgemeinen aus einer Anzahl von Nachrichtenblocks zusammengesetzt. Falls die Länge eines Nachrichtenblocks nicht fest ist, kann das System als ein Variable-Längen-Kommunikationssystem bezeichnet werden. In einem solchen Variable-Längen-System wird im Allgemeinen eine zusätzliche Längen-Information jedes Nachrichtenblocks für den Empfänger benötigt, um jeden Nachrichtenblock zu identifizieren und die Nachricht aus dem empfangenen Datenbitstrom zu extrahieren.
  • [1] beschreibt eine neuartige Modifikation einer zyklischen Redundanzprüfung (CRC) zur Bestimmung der Länge von Nachrichten unter Verwendung selektiv geflippter CRC-Bits.
  • Ferner beschreibt [2] die Besonderheiten des Multiplexens und der Kanalkodierung im Frequenzteilungs-Duplex-Modus des universellen terrestrischen Funkzugriffs (UTRA).
  • Ein herkömmliches Verfahren eines Variable-Längen-Kommunikationssystems kennzeichnet einen gesonderten Kanal als einen Kontrollkanal zum Übertragen von Längeninformation jedes Nachrichtenblocks. Demnach, wenn der Empfänger sowohl die Längeninformation und den Datenbitstrom empfängt, identifiziert der Empfänger die entsprechenden Nachrichtenblocks basierend auf die Längeninformationen und ent-blockt (”de-blocks”) den Datenbitstrom.
  • Das herkömmliche Verfahren nutzt im Allgemeinen ebenfalls Bits der zyklischen Redundanzprüfung (ZRP) für Zwecke der Fehlerdetektion. Insbesondere werden eine feste Anzahl von ZRP-Bits an das Ende von jedem Nachrichtenblock angehängt und haben eine vorbestimmte Beziehung zu dem entsprechenden Nachrichtenblock. Der Empfänger empfängt sowohl den Nachrichtenblock und die dem Nachrichtenblock folgenden ZRP-Bits und versucht die Beziehung zwischen ihnen wieder zu errichten. Falls die Beziehung erfüllt ist, wird der Nachrichtenblock als fehlerlos betrachtet. Andernfalls ist ein Fehler während der Übertragung dieses Blocks aufgetreten. Dieses Verfahren wird als nächstes im Einzelnen weiter erklärt.
  • Als Erstes wird ein ZRP-Generatorpolynom gl(x) der Ordnung l ausgewählt. Ein üblicher Weg des Auswählens des ZRP-Generatorpolynoms ist, dass gl(x) ggT(gl(x), xi) = 1 für jedes einzelne i zwischen 0 und l, einschließlich, erfüllen soll, wobei l und i ganze Zahlen sind, und die Funktion ggT(A(x), B(x)) als der größte gemeinsame Teiler der Polynome A(x) und B(x) definiert ist. Beispiele geeigneter gl(x) enthalten g4(x) = x4 + x3 + x2 + 1 für l = 4, g7(x) = x7 + x6 + x4 + 1 für l = 7, g8(x) = x8 + x7 + x4 + x3 + x + 1 für l = 8, und g12(x) = x12 + x11 + x3 + x2 + x + 1 für l = 12. Die Information bezüglich des ZRP-Generatorpolynoms ist sowohl im Sender als auch im Empfänger gespeichert.
  • Zur Veranschaulichung ist ein binäres Polynom für jeden Binärzeichenstrom wie folgt definiert: falls ein Binärzeichenstrom A t Binärzeichen, at-1, at-2, ..., a0, enthält, wobei t eine ganze Zahl ist, dann wird das binäre Polynom von A mit A(x) bezeichnet und es gilt A(x) = at-1xt-1 + at-2xt-2 + ... + a0. Ebenfalls zur Veranschaulichung gilt ein Binärzeichenstrom A als die ZRP-Bedingung erfüllend, falls A(x) durch gl(x) teilbar ist. Zwei Binärzeichenströme A und B gelten als die ZRP-Bedingung erfüllend, falls xsA(x) + B(x) teilbar durch gl(x) ist, wobei s die Anzahl der im Binärzeichenstrom B enthaltenen Bits ist. Einem Fachmann ist es bekannt, dass wenn zum Beispiel ein Polynom A(x) durch ein anderes Polynom gl(x) teilbar ist, der Rest von A(x) geteilt durch gl(x) 0 ist, und es kann gesagt werden, dass gl(x) A(x) teilt, bezeichnet als gl(x)|A(x).
  • Als nächstes wird für einen k Bits von binärer Information, mk-1, mk-2, ..., m0, enthaltenden Nachrichtenblock M ein Paritätsprüfungsbitstrom P, welcher l Paritätsprüfungsbits, oder ZRP-Bits, pl-1, pl-2, ..., p0, enthält, erzeugt, so dass M und P die ZRP-Bedingung erfüllen, oder gl(x)|(xlM(x) + P(x)) gilt. Ein Paritätsprüfungsbitstrom kann auch ein Paritätsblock, ein Paritätsprüfungsblock oder ein ZRP-Block genannt werden. Für jeden Nachrichtenblock M kann bewiesen werden, dass nur ein entsprechender Paritätsprüfungsbitstrom P existiert. Der Beweis wird von einem Fachmann verstanden und ist hierin nicht im Detail diskutiert.
  • Gemäß dem Standard-ZRP-Verfahren kann ein Paritätsprüfungsbitstrom P unter Verwendung von entweder Hardware oder Software erzeugt werden. Beispiele von Hardware-Implementierungen sind in den 12 gezeigt, und ein Beispiel einer Software-Implementierung ist in 3 gezeigt. Sowohl 1 als auch 2 nehmen l = 8 und ein ZRP-Generatorpolynom gl(x) = x8 + x7 + x4 + x3 + x + 1 an.
  • 1 zeigt eine erste Hardware-Implementierung des Erzeugens eines Paritätsprüfungsbitstroms P. Unter Bezugnahme auf 1 wird eine Rückkopplungs- Schieberegister-Schaltung 100 zum Erzeugen eines auf ein ZRP-Generatorpolynom gl(x) = x8 + x7 + x4 + x3 + x + 1 basierenden Paritätsprüfungsbitstroms P verwendet. Die Schaltung 100 enthält mehrere Verzögerungsschaltungen 102, welche als Flip-Flops verwirklicht sein können. Die Anzahl der Verzögerungsschaltungen 102 ist gleich der Ordnung von gl(x), d. h. l = 8. Daher gibt es in 1 acht Verzögerungsschaltungen, 1021 , 1022 , ..., 1028 . Mehrere XOR-Gatter 104 sind zwischen den Verzögerungsschaltungen 102 eingefügt. Jedes XOR-Gatter 104 entspricht einem Koeffizienten des ZRP-Generatorpolynoms gl(x). Wie Beispielsweise in 1 gezeigt ist, zeigt ein XOR-Gatter an der linken Seite der ersten Verzögerungsschaltung 1021 , dass der Koeffizient von x0 = 1 von gl(x) gleich 1 ist, das Fehlen eines XOR-Gatters 104 zwischen den Verzögerungsschaltungen 1022 und 1023 zeigt, dass der Koeffizient von x2 von gl(x) gleich 0 ist, und ein XOR-Gatter 1045 zwischen den Verzögerungsschaltungen 1027 und 1028 zeigt, dass der Koeffizient von x7 von gl(x) gleich 1 ist. Ein Taktsignal (nicht gezeigt) schiebt die Registerschaltung 100 jeweils um ein Bit von links nach rechts. Wie in 1 gezeigt ist, ist der Ausgang der Verzögerungsschaltung 1028 zu jedem der XOR-Gatter 1041 1045 rückgekoppelt. Der Paritätsprüfungsdatenstrom wird erzeugt, indem in die linke Seite der Schaltung 100 der Nachrichtenblock M, gefolgt von acht Bits von 0, eingespeist wird. Die Ausgabe der Verzögerungsschaltung 1028 weist dann den Nachrichtenblock M, gefolgt von seinen entsprechenden Paritätsprüfungsbitstrom P, auf.
  • Eine zweite Hardware-Implementierung des Erzeugens eines Paritätsprüfungsbitstroms ist in 2 gezeigt. In ähnlicher Weise enthält eine Schieberegister-Schaltung 200 mehrere Verzögerungsschaltungen 202, von denen jede durch eine Flip-Flop-Schaltung realisiert sein kann. Mehrere XOR-Gatter 204 sind gemäß des ZRP-Generatorpolynoms gl(x) zwischen den Verzögerungsschaltungen 202 eingefügt. Im Gegensatz zu 1 ist jedoch ein XOR-Gatter 204 zum rechten Ende der Schaltung 200 anstatt zum linken Ende der Schaltung 200 hinzugefügt, und der Nachrichtenblock M wird in das am weitesten rechts gelegene XOR-Gatter 204 eingegeben. Ein Schalter 206 schaltet den Ausgang der Rückkopplungs-Schieberegister-Schaltung 200 zwischen dem Nachrichtenblock M und dem Ausgang des am weitesten rechts gelegenen XOR-Gatters 204. Die Rückkopplungs-Schieberegister-Schaltung 200 gibt zuerst den Nachrichtenblock M aus und gibt dann die Paritätsbits aus, indem der Schalter 206 zum Ausgang des am weitesten rechts gelegenen XOR-Gatters 204 schaltet.
  • 3 zeigt eine Software-Implementierung des Erzeugens eines Paritätsprüfungsbitstroms P. Anstatt den Paritätsprüfungsbitstrom P Bit für Bit zu erzeugen, wird in der Software-Implementierung eine Nachschlagetabelle verwendet. Die Nachschlagetabelle enthält eine Gesamtliste der ZRP-Bitströme für alle möglichen Nachrichten von einer bestimmten Länge. Wenn zum Beispiel l = 8 ist, enthält die Nachschlagetabelle 28 = 256 Einträge von ZRP-Bitströmen, wobei jeder Bitstrom acht Binärzeichen enthält. Wie in 8 gezeigt ist, wird eine 3 Bytes (24 Bits), Byte 1, Byte 2 und Byte 3, enthaltende Nachricht unter Verwendung der Nachschlagetabelle kodiert. In Schritt 302 wird Byte 1 betrachtet und die Verweistabelle wird nach einem übereinstimmenden Eintrag für Byte 1 durchsucht. In Schritt 304 wird mit dem Ergebnis der Suche und Byte 2 eine XOR-Operation durchgeführt, um einen zwischenzeitlichen ZRP-Bitstrom ZRP2 zu erzeugen. Ein Eintrag, welcher mit ZRP2 übereinstimmt, wird (in Schritt 306) in der Nachschlagetabelle nachgeschlagen und es wird mit dem Ergebnis der Suche und Byte 3 eine XOR-Operation durchgeführt (Schritt 308), um den ZRP-Bitstrom ZRP3 der Nachricht zu erzeugen.
  • Die obigen drei Implementierungen werden von einem Fachmann leicht verstanden und daher werden die Details davon hierin nicht weiter diskutiert.
  • Nachdem der Paritätsprüfungsbitstrom P erzeugt wurde, werden die Paritätsprüfungsbits davon an das Ende des Nachrichtenblocks M angefügt, um einen verketteten Bitstrom C, aufweisend k + l Bits, mk-1, mk-2, ..., m0, pl-1, pl-2, ..., p0, zu bilden. Angesichts der obigen Bedingen teilt gl(x) C(x) = xlM(x) + P(x).
  • Für jeden in der Nachricht enthaltenen Nachrichtenblock wird das obige Kodierverfahren wiederholt, um einen entsprechenden verketteten Bitstrom zu erzeugen, und ein Datenbitstrom, welcher die verketteten Bitströme und Längeninformation jedes Nachrichtenblocks enthält, wird dann durch einen Datenkanal bzw. einem Kontrollkanal übertragen.
  • An der Empfänger-Seite werden sowohl der Datenbitstrom als auch die Längeninformation empfangen. Ein empfangener Nachrichtenblock M' und ein Paritätsprüfungsbitstrom P' werden basierend auf die Längeninformation extrahiert, wobei M' k Bits, m'k-1, m'k-2, ..., m'0, enthält, und P' l Bits, p'l-1, p'l-2, ..., p'0, enthält. Der Empfänger führt dann einen sogenannten ZRP-Test durch, um zu bestimmen, ob M' und P' die ZRP-Bedingung erfüllen. Wenn die Bedingung erfüllt ist, dann wird der Nachrichtenblock als ohne Fehler empfangen betrachtet.
  • Ein System, welches getrennt vorgesehene Kontrollkanäle zum Übertragen von Längeninformationen verwendet, wie oben diskutiert, kann sehr ineffizient sein, wenn die Datenrate langsam ist. Zum Beispiel, in einem Standard UMTS (”universal mobile telecommunications system) WCDMA (wideband code division multiple access) Modus, im AMR (Adaptive Multi-Rate) 12.2 kbps Modus, kann der Zusatz zum übertragen der Längeninformation so groß wie 3 kbps, oder fast 25% von der gesamten Übertragensrate von 12.2 kbps, sein.
  • Um den durch die getrennte Übertragung der Längeninformation verschuldeten Zusatz zu reduzieren, wurde ein ZRP-Verfahren (nachstehend ”Standard-ZRP-Verfahren” genannt) vorgeschlagen, welches die ZRP-Bits zur Detektion der Nachrichtenlängen verwendet, anstatt die Längeninformation jedes Nachrichtenblocks durch einen getrennten Kanal zu übertragen. Gemäß dem Standard-ZRP-Verfahren sendet der Sender nur den Datenbitstrom, und der Empfänger empfängt den Datenbitstrom mit keiner Längeninformation. Daher kann der Empfänger die Nachrichtenblocks nicht unmittelbar identifizieren oder die Nachricht extrahieren. Stattdessen wiederholt der Empfänger einen Versuch-und-Irrtum-Schritt, um den empfangenen Datenbitstrom nach einem Paar eines Nachrichtenblocks und eines Paritätsprüfungsstroms, welcher die ZRP-Bedingung erfüllt, zu durchsuchen. Als Erstes rät der Empfänger eine Zahl, beispielsweise k ^, als die Blocklänge, und behandelt die ersten k ^ Bits des empfangenen Bitstroms als einen Nachrichtenblock, und die folgenden l Bits als einen Paritätsprüfungsbitstrom. Der Empfänger führt dann den ZRP-Test durch, um zu bestimmen, ob der geratene Nachrichtenblock und der geratene Paritätsprüfungsbitstrom die ZRP-Bedingung erfüllen. Falls das Ergebnis positiv ist, hat der Empfänger erfolgreich einen Nachrichtenblock identifiziert und fährt fort, um den nächsten Nachrichtenblock zu identifizieren. Andernfalls wurde der Nachrichtenblock nicht identifiziert, die geratene Blocklänge k ^ wird um 1 erhöht und der ZRP-Test wird wiederholt. Theoretisch wird nach wenigen Versuchen der korrekte Nachrichtenblock identifiziert.
  • Das Standard ZRP-Verfahren hat jedoch ein inhärentes Problem einer wahrscheinlichen Falschdetektion. Unter der Annahme einer rauschfreien Übertragung und einer gleichmäßig verteilten Nachricht ist die Wahrscheinlichkeit einer Falschdetektion für das Standard-ZRP-Verfahren durch Ausdruck (1) gegeben:
    Figure 00090001
    wobei i = k – k ^ der Nachrichtenlängen-Offset ist. Als Nächstes ist eine kurze Erläuterung des Ausdrucks (1) vorgesehen.
  • Da die Übertragung als rauschfrei angenommen wird, werden alle übertragenen Bits ohne Fehler empfangen. Falls i = k – k ^ = 0 ist, wird daher die ZRP-Bedingung erfüllt und ein korrekter Nachrichtenblock ist identifiziert. Es tritt keine Falschdetektion auf, d. h., PF(0) = 0.
  • Falls i = k – k ^ = 1 ist, enthält der falsch geratene Nachrichtenblock M' k – 1 Bits, mk-1, mk-2, ..., m1, und der geratene Paritätsprüfungsblock P' enthält l Bits, pl-1, pl-2, ..., p1. Der ZRP-Test entscheidet daher, ob gl(x)
    C'(x) = xlM'(x) + P'(x) = mk-1xl+k-2 + mk-2xl+k-3 + ... + m1xl + m0xl-1 + pl-1xl-2 + pl-2xl-3 + ... + p1 teilt. Weil ggT(gl(x), x) = 1 ist, ist ein Entscheiden, ob gl(x)|C'(x) gilt, äquivalent zum Entscheiden ob gl(x)|xC'(x) gilt. C'(x) mit C(x) vergleichend, ist xC'(x) = C(x) – p0. Falls daher p0 = 0 ist, weil gl(x)|C(x) gilt, dann gilt gl(x)|xC'(x) und gl(x)|C'(x). Der Empfänger hält den falschen Nachrichtenblock M' für den korrekten Nachrichtenblock, und es gibt eine Falschdetektion. Andernfalls, falls p0 = 1 ist, wird die ZRP-Bedingung nicht erfüllt, und der Empfänger schließt, dass M' nicht der korrekte Nachrichtenblock ist, und es gibt keine Falschdetektion. Für gleichmäßig verteilte Nachrichten ist die Wahrscheinlichkeit für p0 = 0 gleich ½, und daher die Wahrscheinlichkeit für eine Falschdetektion gleich ½.
  • In ähnlicher Weise, falls 1 < i ≤ l – 1 ist, enthält der falsch geratene Nachrichtenblock M' k – i Bits, mk-1, mk-2, ..., mi, und der falsch geratene Paritätsblock P' enthält l Bits, mi-1, mi-2, ..., m0, pl-1, pl-2, ..., pi. Der ZRP-Test entscheidet daher, ob gl(x) C'(x) = xlM'(x) + P'(x) = mk-1xl-i+k-1 + mk-2xl-i+k-2 + ... + m0xl-i + pl-1xl-i-1 + pl-2xl-i-2 + ... + pi teilt. C'(x) mit C(x) vergleichend, ist
    Figure 00100001
    Weil die Ordnung von gl(x), l, größer ist als i, teilt gl(x) nicht
    Figure 00100002
    außer wenn p0 = p1 = ... = pi-1 = 0. Weil ferner gl(x)|C(x) gilt und ggT(gl(x), xi) = 1 ist, ist gl(x)|C'(x) nur erfüllt, wenn p0 = p1 = ... = pi-1 = 0 ist. Daher ist die Wahrscheinlichkeit einer Falschdetektion bei 1 < i ≤ l – 1 gleich der Wahrscheinlichkeit für p0 = p1 = ... = pi-1 = 0, welche, für eine gleichmäßig verteilte Nachricht, 2–i ist.
  • Schließlich, falls i ≥ l ist, enthält der geratene Nachrichtenblock M' k – i Bits, mk-1, mk-2, ..., mi, und der geratene ZRP-Bitstrom P' enthält mi-1, mi-2, ..., mi-l. Da es nur einen möglichen ZRP-Bitstrom gibt, welcher M' entspricht, ist die Wahrscheinlichkeit dafür, dass P' die ZRP-Bedingung gl(x)|(xlM'(x) + P'(x)) erfüllt, d. h., die Wahrscheinlichkeit für eine Falschdetektion, 2–l für einen gleichmäßig verteilten Nachrichtenblock.
  • 4 zeigt ein Simulationsergebnis für Wahrscheinlichkeit des Bestehens des ZRP-Test für das Standard-ZRP-Verfahren bei verschieden geratenen Nachrichtenlängen. Die Simulationsbedingung enthält, dass die Ordnung des ZRP-Generatorpolynoms 8 ist und dass die tatsächliche Nachrichtenlänge 15 ist. Indem sich die geschätzte Nachrichtenlänge der tatsächlichen Nachrichtenlänge annähert, d. h., der Längen-Offset i sich an 0 annähert, wächst die Wahrscheinlichkeit des Bestehens des ZRP-Tests exponentiell, wie in 4 gezeigt ist.
  • Hinsichtlich der großen Wahrscheinlichkeit einer Falschdetektion für ein Standart-ZRP-Verfahren, wurde ein modifiziertes ZRP-Verfahren (”herkömmliche Modifikation”) mit einer reduzierten Wahrscheinlichkeit einer Falschdetektion vorgeschlagen. Gemäß der herkömmlichen Modifikation des ZRP-Verfahrens werden, nachdem der Paritätsprüfungsbitstrom P' erzeugt wurde, die Paritätsprüfungsbits in umgekehrter Reihenfolge an den Nachrichtenblock angefügt, um einen verketteten Bitstrom, mk-1, mk-2, ..., m0, p0, p1, ..., pl-1 zu bilden. 5 zeigt die Simulationsergebnisse für die herkömmliche Modifikation im Vergleich zum Standard-ZRP-Verfahren. Die Bedingungen sind dieselben wie die in 4, d. h., die Ordnung des ZRP-Generatorpolynoms ist 8 und die tatsächliche Nachrichtenlänge ist 15. Wie in 5 gezeigt ist, ist die Wahrscheinlichkeit des Bestehens des ZRP-Tests, d. h., die Wahrscheinlichkeit einer Falschdetektion, für alle Nachrichtenlängen-Offsets i > 0 auf 2–l reduziert.
  • Falls der Datenkanal rauscht, werden Fehler während der Übertragung auftreten. Um die sichere Übertragung von Daten zu schützen, kann ein Verfahren, genannt Faltungskodierung, angewendet werden, um die Daten vor deren Übertragung zu kodieren. Auf der Empfänger-Seite wird ein entsprechendes Verfahren angewendet, um die empfangenen Daten zu dekodieren.
  • Konzeptionell kodiert das Faltungskodierungs-Verfahren die Daten, um redundante Bits von Informationen zu erzeugen, und opfert Übertragungsgeschwindigkeit für eine verbesserte Übertragungsgenauigkeit. Gemäß des Faltungskodierungs-Verfahrens empfängt eine Faltungskodierer Nachrichtenblocks, welche gesendet werden sollen, und erzeugt mittels eines Kodierverfahrens einen Bitstrom, welcher mehrere Teile enthält, jeder einem Nachrichtenblock entsprechend. Jeder Teil kann als ein Faltungs-Codewort bezeichnet werden, oder Codewort. Das Faltungs-Codewort wird dann mittels eines Senders gesendet. Der Faltungskodierer kann zu einem gegebenen Zeitpunkt jeweils t Bits eines Nachrichtenblocks empfangen und n Bits der Ausgabe erzeugen, wobei n im Allgemeinen größer ist als t. Jedes von den n Bits der Ausgabe kann eine Linearkombination der t Bits der Eingabe und eines oder mehrerer vorhergehenden Bits, welche den t Bits der Eingabe vorangehen, sein. Der Faltungskodierer enthält eine Anzahl von Speicherregistern zum Merken solcher vorhergehenden Bits und um die t Bits der Eingabe zu empfangen, und eine Mehrzahl von logischen Gattern, welche an die Speicherregister in einer Weise angeschlossen sind, die konsistent mit einem Kodieralgorithmus zum Erzeugen der n Bits der Ausgabe ist. Eine Speicherordnung des Faltungskodierers ist definiert als die Anzahl der Speicherregister für jedes der t Eingabe-Bits. Ein Faltungskodierer mit der Ordnung j, welcher t Bits der Eingabe empfängt, und n Bits der Ausgabe ausgibt, kann als ein (n, t, j)-Kodierer bezeichnet werden. Offensichtlich hat ein (n, t, j)-Kodierer tj Speicherregister zum Speichern der vorhergehenden Bits und t Speicherregister zum Empfangen des einen Bits der Eingabe. In einem speziellen Fall hat ein (n, 1, j)-Kodierer j Speicherregister zum Speichern der vorhergehenden Bits und ein Speicherregister zum Empfangen des einen Bits der Eingabe. Weil jedes Speicherregister entweder eine 0 oder eine 1 speichert, gibt es 2j mögliche Zustände von solchen Speicherregistern, d. h., es gibt 2j mögliche Zustände des Kodierers.
  • Es wird ein Nachrichtenblock A mit k Bits betrachtet. Auf der Senderseite, vor dem Kodieren des Nachrichtenblocks A, ist ein (n, 1, j) Kodierer in einem Anfangszustand. Nach dem Kodieren des Nachrichtenblocks A ist der Kodierer in einem Endzustand. Offensichtlich gibt es, bei gegebenen Anfangszustand, nur einen entsprechenden Endzustand. Es ist üblich, den Anfangszustand als ein Alles-Null-Zustand zu setzen, in welchem alle Speicherregister, ausgenommen das eine zum Empfangen des einen Bits der Eingabe, ein 0-Bit darin gespeichert haben. Als Ergebnis des Kodierverfahrens ist ein Codewort erzeugt, welches n(k + j) Bits enthält.
  • An der Empfängerseite kann ein Dekodierer, wie zum Beispiel ein Viterbi-Dekodierer, verwendet werden, um ein empfangenes Codewort, welches n(k + j) Bits enthält, zu dekodieren. Im Allgemeinen kennt der Dekodierer im voraus den Anfangszustand des Kodierers. Für einen k-Bit Nachrichtenblock gibt es 2k mögliche Codewörter. Der Dekodierer vergleicht diese 2k mögliche Codewörter mit dem Empfangenen Codewort und findet die beste Übereinstimmung. In einem fehlerfreien System sollte es ein Codewort geben, welches vollständig mit dem empfangenen Codewort übereinstimmt. In einem System mit Rauschen ist es möglich, dass keines von den 2k möglichen Codewörtern vollständig mit dem empfangenen Codewort übereinstimmt. Ein metrischer Pfad eines möglichen Codeworts ist definiert als die Anzahl der Bits des möglichen Codeworts, welche mit denen des empfangenen Codeworts übereinstimmen. Der Dekodierer versucht, das mögliche Codewort mit dem besten metrische Pfad zu finden. Der Nachrichtenblock, welcher dem Codewort mit dem besten metrische Pfad entspricht, wird als der dekodierte Nachrichtenblock betrachtet. Davon abhängig, welcher Dekodieralgorithmus angewendet wird, können verschiedenen Dekodierer verschiedene Wirkungsgrade haben, den besten metrische Pfad zu finden. Zum Beispiel hat ein Viterbi-Dekodierer, im Vergleich zu einem sequentiellen Dekodierer, im Allgemeinen einen besseren Wirkungsgrad. Der sequentielle Dekodierer und Veterbi-Dekodierer sind einen Fachmann bekannt und hierin nicht beschrieben.
  • In einem Variable-Längen-System sind die Länge von jedem Nachrichtenblock und die Länge des entsprechenden Codewortes unbekannt. Daher weiß der Faltungskodierer nicht, wann der Kodierprozess zu stoppen ist. Demgemäß können zusätzliche Bits zum Nachrichtenblock eingefügt werden vor dem Faltungs-Kodierprozess für diesen Nachrichtenblock. Es können zum Beispiel, für einen (n, 1, j) Kodierer, j 0-Bits an das Ende von jedem Nachrichtenblock angefügt werden. Demzufolge kehrt der Kodierer am Ende des Kodierprozesses zu dem Alles-Null-Zustand zurück. In dem Dekodierprozess rät der Dekodierer eine Länge k ^ des Nachrichtenblocks und bestimmt, ob das eine von den
    Figure 00140001
    möglichen Codewörtern mit dem besten metrischen Pfad einem Alles-Null-Endzustand entspricht. Falls positiv, wird k ^ als die korrekte Länge des Nachrichtenblocks betrachtet. Andernfalls erhöht der Kodierer k ^ um 1 und wiederholt das obige Verfahren.
  • Ein Nachrichtenblock kann kodiert werden sowohl unter Verwendung des ZRP-Verfahrens (entweder das Standard-ZRP-Verfahren oder die herkömmliche Modifikation davon) als auch des Faltungsverfahrens. Zum Beispiel kann, nach dem oben diskutierten ZRP-Kodier-Verfahren, ein verketteter Bitstrom C, welcher einen Nachrichtenblock M, welcher k Bits, mk-1, mk-2, ..., m0, enthält, und ein entsprechender Paritätsprüfungsbitstrom P, welcher l Bits, pl-1, pl-2, ..., p0, enthält, zu einem (n, 1, j)-Faltungskodierer gesendet werden, welcher ein Codewort, welches n(k + l) Bits enthält, erzeugt.
  • Ein Dekodierer auf der Empfängerseite dekodiert das empfangene Codewort ebenfalls unter Verwendung sowohl des Faltungsverfahrens als auch des ZRP-Verfahrens. Insbesondere dekodiert ein Viterbi-Dekodierer faltungsmäßig das empfangene Codewort und findet einen geratenen verketteten Bitstrom C', welcher k ^ + l Bits enthält. Dann wird der geratene verkettete Bitstrom C' zu einem ZRP-Dekodierer gesendet, wo der ZRP-Test durchgeführt wird. Falls der ZRP-Test bestanden wird, wird der geratene verkettete Bitstrom C' als den korrekten Nachrichtenblock M enthaltend betrachtet. Andernfalls wird k ^ um 1 erhöht und das obige Verfahren wiederholt.
  • Die vorliegende Erfindung betrifft ein modifiziertes ZRP-Verfahren zur Längendetektion einer Nachricht mit Faltungs-Schutz.
  • Gemäß der Erfindung wird ein erstes Verfahren für ein Variable-Längen-Kommunikationssystem bereitgestellt, wobei das System einen Empfänger enthält.
  • Das erste Verfahren weist auf Speichern von Information eines Zyklischen-Redundanzprüfungs(ZRP)-Generatorpolynoms gl(x), wobei l eine ganze Zahl und die Ordnung von gl(x) ist, und von Information eines Flip-Polynoms fl(x) der Ordnung l – 1 in den Empfänger, Empfangen eines mehrere Codewörter enthaltenden Datenbitstroms, wobei die Codewörter mit einem Faltungskodierer der Speicherordnung j kodiert werden, wobei j eine ganze Zahl ist, und wobei jedes Codewort einem verketteten Bitstrom entspricht, welcher aus einem Nachrichtenblock und einem entsprechenden geflippten Paritätsprüfungsbitstrom besteht, und Dekodieren eines ersten Nachrichtenblocks in dem Datenbitstrom.
  • Das Dekodieren des ersten Nachrichtenblocks enthält (a) Raten einer Blocklänge k ^ und Erzeugen eines verketteten Bitstroms C' aus den ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms, wobei der verkettete Bitstrom C' einen aus k ^ Bits,
    Figure 00160001
    bestehenden geratenen Nachrichtenblock M', wobei k ^ eine ganze Zahl ist, und einen l Bits enthaltenden geflippten Bitstrom P' enthält, (b) Erzeugen eines l Paritätsprüfungsbits p ^l-1, p ^l-2, ..., p ^0, enthaltenden Paritätsprüfungsbitstroms P ^, so dass gl(x)|(xlM'(x) + P ^(x)) gilt, wobei
    Figure 00160002
    und P ^(x) = p ^l-1xl-1 + p ^l-2xl-2 + ... + p ^0 ist, (c) Flippen des Paritätsprüfungsbitstroms P ^ unter der Verwendung eines Flip-Polynoms fl(x), um einen l geflippte Paritätsprüfungsbits, p ^'l-1, p ^'l-2, ..., p ^'0 , enthaltenden geflippten Paritätsprüfungsbitstrom P ^' zu erzeugen, und (d) falls P' und P ^' unterschiedlich sind, Erhöhen von k ^ um 1 und Wiederholen von (a)–(c).
  • Das Raten der Nachrichtenblock-Länge k ^ weist auf Finden eines von
    Figure 00170001
    möglichen Codewörtern, welche der geratenen Nachrichtenblock-Länge k ^ entsprechen, so dass das eine Codewort einem Alles-Null-Zustand des Faltungskodierers entspricht, falls
    Figure 00170002
    ist, Fortfahren mit dem Erzeugen des Paritätsprüfungsbitstroms P ^, wobei Dinit eine vorbestimmte Rauschsperre mit einem Wert zwischen 0 und 1, einschließlich, ist, λ0 der metrische Pfad des einen Codeworts bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstrom ist, λmax ein Maximum von allen metrischen Pfaden der
    Figure 00170003
    möglichen Codewörter bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, und λmin ein Minimum von allen metrischen Pfaden der
    Figure 00170004
    möglichen Codewörter bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, und falls
    Figure 00170005
    ist, Erhöhen von k ^ um 1 und Wiederholen der obigen Schritte.
  • Gemäß der Erfindung wird ferner ein zweites Verfahren für ein Variable-Längen-Kommunikationssystem bereitgestellt, wobei das System einen Sender und einen Empfänger enthält, der Sender einen Faltungskodierer der Speicherordnung j enthält, wobei j eine ganze Zahl ist, und wobei Nachrichten in Nachrichtenblocks variabler Länge geteilt werden.
  • Das zweite Verfahren weist auf Bereitstellen eines Zyklischen-Redundanzprüfungs(ZRP)-Generatorpolynoms gl(x), wobei l eine ganze Zahl und die Ordnung von gl(x) ist, Bereitstellen eines binären Flip-Polynoms fl(x) der Ordnung l – 1, Speichern von Information eines ZRP-Generatorpolynoms gl(x) und von Information eines Flip-Polynoms fl(x) in sowohl den Sender als auch den Empfänger und Kodieren einer zu sendenden Nachricht mittels Kodieren jedes Nachrichtenblocks M davon.
  • Das Kodieren von M enthält Erzeugen eines Paritätsprüfungsbitstroms P unter Verwendung des ZRP-Generatorpolynoms gl(x), Flippen des Paritätsprüfungsbitstroms P unter Verwendung des Flip-Polynoms fl(x), um einen geflippten Paritätsprüfungsbitstrom P zu erzeugen, Anhängen des geflippten Paritätsprüfungsbitstroms P an das Ende des Nachrichtenblocks M, um einen verketteten Bitstrom C zu schaffen, und faltungsmäßiges Kodieren des verketteten Bitstroms C, um mit dem Faltungskodierer ein Codewort D zu erzeugen.
  • Das zweite Verfahren weist ferner auf Senden des Codeworts D des Nachrichtenblocks M der zu sendenden Nachricht, Empfangen eines mehrere Codewörter enthaltenden Datenbitstroms, wobei jedes Codewort einem aus einem Nachrichtenblock und einem entsprechenden geflippten Paritätsprüfungsbitstrom bestehenden verketteten Bitstrom entspricht, und Dekodieren des Datenbitstroms.
  • Das Dekodieren des Datenbitstroms enthält Dekodieren eines ersten Nachrichtenblocks in dem Datenbitstrom, welches enthält (a) Raten einer Nachrichtenblock-Länge k ^ und Erzeugen eines verketteten Bitstroms C' aus den ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms, wobei der verkettete Bitstrom C' enthält einen geratenen Nachrichtenblock M' mit k ^ Bits,
    Figure 00180001
    wobei k ^ eine ganze Zahl ist, und einen geratenen geflippten Bitstrom P', welcher l Bits enthält, (b) Erzeugen eines Paritätsprüfungsbitstrom P ^ unter Verwendung eines ZRP-Generatorpolynoms gl(x), (c) Flippen des Paritätsprüfungsbitstroms P ^ unter Verwendung des Flippolynoms fl(x), um einen geflippten Paritätsprüfungsbitstrom P ^' zu erzeugen, (d) falls P' und P ^' verschieden sind, Erhöhen von k ^ um 1 und Wiederholen von (a)–(c), und (e) Entfernen der ersten n(k ^ + l + j) Bits aus dem Datenbitstrom, wenn P' = P ^' ist.
  • Das zweite Verfahren weist ferner auf Wiederholen des Kodierens des ersten Nachrichtenblocks in dem Datenbitstrom, nachdem die ersten n(k ^ + l + j) Bits entfernt wurden.
  • Das Raten der Nachrichtenblock-Länge k ^ weist auf Finden eines von
    Figure 00190001
    möglichen Codewörtern, welche der geratenen Nachrichtenblock-Länge k ^ entsprechen, so dass das eine Codewort einem Alles-Null-Zustand des Faltungs-Kodierers entspricht, falls
    Figure 00190002
    ist, Fortfahren mit dem Erzeugen eines Paritätsprüfungsbitstroms P ^, wobei Dinit eine vorbestimmte Rauschsperre mit einem Wert zwischen 0 und 1, einschließlich, ist, λ0 ein metrischer Pfad des einen Codeworts ist bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms, λmax ein Maximum von allen metrischen Pfaden der
    Figure 00190003
    möglichen Codewörter bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, und λmin ein Minimum von allen metrischen Pfaden der
    Figure 00190004
    möglichen Codewörter bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, und falls
    Figure 00200001
    ist, Erhöhen von k ^ um 1 und Wiederholen der obigen Schritte.
  • Gemäß der Erfindung wird ferner ein drittes Verfahren für ein Variable-Längen-Kommunikationssystem bereitgestellt, wobei das System einen Empfänger enthält.
  • Das dritte Verfahren weist auf Speichern von Information eines ZRP-Generatorpolynoms und von Information eines Flip-Polynoms in den Empfänger, Empfangen eines Datenbitstrom, welcher mehrere Codewörter enthält, wobei jedes Codewort einem aus einem Nachrichtenblock einer Nachricht und einem entsprechenden geflippten Paritätsprüfungsbitstrom bestehenden verketteten Bitstrom entspricht, und Dekodieren eines ersten Nachrichtenblocks der Nachricht in dem Datenbitstrom.
  • Das Dekodieren des ersten Nachrichtenblocks enthält (a) Raten einer Nachrichtenblock-Länge des Ersten der Nachrichtenblocks und Erzeugen eines verketteten Bitstroms aus dem empfangenen Datenbitstrom, wobei der verkettete Datenbitstrom einen geratenen geflippten Paritätsprüfungsbitstrom enthält, (b) Erzeugen eines Paritätsprüfungsbitstroms aus dem verketteten Bitstrom unter Verwendung des ZRP-Generatorpolynoms, (c) Flippen des Paritätsprüfungsbitstroms unter Verwendung des Flip-Polynoms, um einen geflippten Paritätsprüfungsbitstrom zu erzeugen, (d) falls der geflippte Paritätsprüfungsbitstrom und der geratene geflippte Paritätsprüfungsbitstrom verschieden sind, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Wiederholen von (a)–(c), und (e) falls der geflippte Paritätsprüfungsbitstrom und der geratene geflippte Paritätsprüfungsbitstrom gleich sind, Entfernen des dem ersten der Nachrichtenblocks der Nachricht entsprechenden Codeworts aus dem Datenbitstrom.
  • Das Raten der Nachrichtenblock-Länge des Ersten der Nachrichtenblocks weist auf Finden eines aus allen möglichen Codewörtern, welches einem Alles-Null-Zustand entspricht, falls ein metrischer Pfad des einen Codeworts eine vorbestimmte Bedingung erfüllt, Fortfahren mit dem Erzeugen des Paritätsprüfungsbitstroms, und falls ein metrischer Pfad des einen Codeworts nicht die vorbestimmte Bedingung erfüllt, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Zurückkehren zum Finden eines Besten von allen möglichen Codewörtern.
  • Die vorbestimmte Bedingung ist definiert als
    Figure 00210001
    wobei Dinit eine vorbestimmte Rauschsperre mit einem Wert zwischen 0 und 1, einschließlich, ist, λ0 der metrische Pfad des einen Codeworts ist, λmax ein Maximum von allen metrischen Pfaden von aller möglichen Codewörtern ist, und λmin ein Minimum von allen metrischen Pfaden aller möglichen Codewörter ist.
  • Gemäß der Erfindung wird ferner ein viertes Verfahren für ein Variable-Längen-Kommunikationssystem bereitgestellt, wobei das System einen Sender und einen Empfänger enthält, wobei die Nachrichten in Nachrichtenblocks variabler Länge geteilt werden.
  • Das vierte Verfahren weist auf Bereitstellen eines Zyklischen-Redundanzprüfungs(ZRP)-Generatorpolynoms, Bereitstellen eines binären Flip-Polynoms, Speichern von Information eines ZRP-Generatorpolynoms und von Information eines Flip-Polynoms in sowohl den Sender als auch den Empfänger, Kodieren einer zu sendenden Nachricht mittels Kodieren jedes Nachrichtenblocks davon.
  • Das Kodieren jedes Nachrichtenblocks enthält Erzeugen eines Paritätsprüfungsbitstroms unter Verwendung des ZRP-Generatorpolynoms, Flippen des Paritätsprüfungsbitstroms unter Verwendung des Flip-Polynoms, um einen geflippten Paritätsprüfungsbitstrom zu erzeugen, Anhängen des geflippten Paritätsprüfungsbitstroms an das Ende des entsprechenden Nachrichtenblocks, um einen verketteten Bitstrom zu schaffen, und faltungsmäßiges Kodieren des verketteten Bitstroms, um ein Codewort zu erzeugen, und Senden des Codeworts des Nachrichtenblocks der zu sendenden Nachricht.
  • Das vierte Verfahren weist ferner auf Empfangen eines Datenbitstroms, welcher einer empfangenen Nachricht entspricht, welche mehrere Nachrichtenblocks enthält, wobei der Datenbitstrom mehrere Codewörter enthält, wobei jedes Codewort einem entsprechenden der Nachrichtenblocks der empfangenen Nachricht und einem entsprechenden geflippten Paritätsprüfungsbitstrom bestehenden verketteten Bitstrom entspricht, und Dekodieren des Datenbitstroms durch Dekodieren jedes Nachrichtenblocks der empfangenen Nachricht.
  • Das Dekodieren jedes der Nachrichtenblock enthält (a) Raten einer Nachrichtenblock-Länge und Erzeugen eines verketteten Bitstroms aus dem empfangenen Datenbitstrom, wobei der verkettete Bitstrom einen geratenen Nachrichtenblock und einen geratenen geflippten Bitstrom enthält, (b) Erzeugen eines Paritätsprüfungsbitstrom unter Verwendung des ZRP-Generatorpolynoms, (c) Flippen des Paritätsprüfungsbitstroms unter Verwendung des Flippolynoms, um einen geflippten Paritätsprüfungsbitstrom zu erzeugen, (d) falls der geflippte Paritätsprüfungsbitstrom und der geratene geflippte Paritätsprüfungsbitstrom unterschiedlich sind, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Wiederholen von (a)–(c), und (e) falls der geflippte Paritätsprüfungsbitstrom und der geratene geflippte Paritätsprüfungsbitstrom gleich sind, Entfernen des Codeworts des entsprechenden Nachrichtenblocks aus dem Datenbitstrom.
  • Das Raten der Nachrichtenblock-Länge weist auf Finden eines aus allen möglichen Codewörtern, welches einem Alles-Null-Zustand entspricht, falls der metrische Pfad des einen Codeworts eine vorbestimmte Bedingung erfüllt, Fortfahren mit dem Erzeugen des Paritätsprüfungsbitstroms, und falls der metrische Pfad des einen Codewort nicht die vorbestimmte Bedingung erfüllt, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Zurückkehren zum Finden eines Besten aus allen möglichen Codewörtern.
  • Die vorbestimmte Bedingung ist definiert als
    Figure 00230001
    wobei Dinit eine vorbestimmte Rauschsperre mit einem Wert zwischen 0 und 1, einschließlich, ist, λ0 der metrische Pfad des einen Codeworts ist, λmax ein Maximum von allen metrischen Pfaden von allen möglichen Codewörtern ist, und λmin ein Minimum von allen metrischen Pfaden von allen möglichen Codewörtern ist.
  • Zusätzliche Eigenschaften und Vorteile der Erfindung werden teilweise in der folgenden Beschreibung dargelegt, und werden teilweise aus der Beschreibung offensichtlich, oder können beim Benutzen der Erfindung gelernt werden. Die Eigenschaften und Vorteile der Erfindung werden realisiert und erlangt anhand der Elemente und der Kombinationen, welche insbesondere in den angefügten Ansprüchen aufgezeigt sind.
  • Es ist zu verstehen, dass sowohl die vorhergehende insgesamte Beschreibung und die folgende ausführliche Beschreibung beispielhaft und erläuternd sind und nicht einschränkend für die Erfindung sind, wie sie beansprucht ist.
  • Die beigefügten Zeichnungen, welche einbezogen sind und einen Teil dieser Spezifikationen bilden, zeigen Ausführungsbeispiele der Erfindung und dienen, zusammen mit der Beschreibung, zum Erklären der Ziele, der Vorteile und der Prinzipien der Erfindung.
  • In den Zeichnungen zeigen
  • 1 eine erste Hardware-Implementierung des Erzeugens eines Paritätsprüfungsbitstroms gemäß des Standard-ZRP-Verfahrens,
  • 2 eine zweite Hardware-Implementation des Erzeugens eines Paritätsprüfungsbitstroms gemäß des Standard-ZRP-Verfahrens,
  • 3 eine Software-Implementation des Erzeugens eine Paritätsprüfungsbitstroms gemäß des Standard-ZRP-Verfahrens,
  • 4 Simulationsergebnisse des Standard-ZRP-Verfahrens,
  • 5 Simulationsergebnisse einer herkömmlichen Modifikation des ZRP-Verfahrens,
  • 6 eine erste Hardware-Implementierung des Erzeugens eines geflippten Paritätsprüfungsbitstroms konsistent mit Ausführungsbeispielen der Erfindung,
  • 7 eine zweite Hardware-Implementation des Erzeugens eines geflippten Paritätsprüfungsbitstroms konsistent mit Ausführungsbeispielen der Erfindung,
  • 8 eine Software-Implementation des Erzeugens eines geflippten Paritätsprüfungsbitstroms konsistent mit Ausführungsbeispielen der Erfindung,
  • 9 ein Kommunikationssystem, welches das mit der Erfindung konsistente ZRP-Kodierverfahren nutzt,
  • 10A die Wahrscheinlichkeit des Bestehens sowohl des Metrischen-Pfad-Tests als auch des ZRP-Tests bezüglich eines Nachrichtenlängen-Offsets für das mit der Erfindung konsistente ZRP-Verfahren, wobei ein Flip-Polynom anngenommen wird, welches eine mit der Erfindung konsistente Bedingungen erfüllt,
  • 10B die Wahrscheinlichkeit des Bestehens sowohl des Metrischen-Pfad-Tests als auch des ZRP-Tests bezüglich eines Nachrichtenlängen-Offsets für das mit der Erfindung konsistente ZRP-Verfahren, wobei ein Flip-Polynom angenommen wird, welches nicht eine mit der Erfindung konsistente Bedingungen erfüllt,
  • 11A11C vergleicht die Leistungsfähigkeit des mit der Erfindung konsistenten ZRP-Verfahrens und des herkömmlich modifizierten Verfahrens.
  • 12A zeigt Simulationsergebnisse der Wahrscheinlichkeit des Versagens, einen korrekten Nachrichtenblock zu detektieren, für das mit der Erfindung konsistente ZRP-Verfahren und das herkömmlich modifizierte Verfahren, und
  • 12B zeigt Simulationsergebnisse der Wahrscheinlichkeit einer Falschdetektion für das mit der Erfindung konsistente Flip-Bit-ZRP-Verfahren und das herkömmlich modifizierte Verfahren.
  • Es wird nun im Detail Bezug genommen auf die bevorzugten Ausführungsbeispiele der Erfindung, von denen Beispiele in den beigefügten Zeichnungen gezeigt sind. Wenn immer es möglich ist, wird durchwegs dasselbe Bezugszeichen in den Zeichnungen benutzt, um auf gleichen oder ähnliche Teile Bezug zu nehmen.
  • Die mit der Erfindung konsistenten Ausführungsbeispiele stellen ein modifiziertes ZRP-Verfahren zur Längendetektion einer Nachricht mit Faltungs-Schutz bereit.
  • Insbesondere sind die mit der Erfindung konsistenten Verfahren zum Verwenden in einem Variable-Längen- Kommunikationssystem geeignet, welches einen Sender und einen Empfänger enthält. Ein zu sendender Nachrichtenblock kann eine Anzahl von Nachrichtenblocks mit nicht festen Längen enthalten. Jeder Nachrichtenblock wird sowohl mit dem ZRP-Verfahren als auch dem faltungsmäßigem Verfahren kodiert und mittels eines Senders gesendet. Wenn der Empfänger die kodierten Nachrichtenblocks empfängt, wird jeder Nachrichtenblock dekodiert und die Nachricht wird extrahiert. Da das Verfahren des Kodierens und Dekodierens für alle Nachrichtenblocks dasselbe ist, wird nur ein Nachrichtenblock M, welcher k Bits, mk-1, mk-2, ..., mk-l, m0, enthält, in der folgenden Beschreibung betrachtet.
  • Zur Veranschaulichung wird ein binäres Polynom für jeden Binärzeichenstrom wie folgt definiert: falls ein Binärzeichenstrom A t Binärzeichen, at-1, at-2, ..., a0, enthält, wobei t eine ganze Zahl ist, wird das binäre Polynom von A mit A(x) bezeichnet und es ist A(x) = at-1xt-1 + at-2xt-2 + ... + a0. Es wird nachstehend angenommen, solange nichts anderes angedeutet wird, dass, wenn zwei binäre Polynome addiert werden, die Koeffizienten der zwei Polynome, welche demselben Exponenten entsprechen, gemäß einer Modulo-2-Additionsoperation addiert werden. Eine Modulo-2-Addition ist definiert als eine binäre Addition ohne Übertrag, zum Beispiel 0 + 1 = 1 und 1 + 1 = 0. Falls der Bitstrom B s Binärzeichen, bs-1, bs-2, ..., b0, enthält, dann ist daher, unter der Annahme, dass s < t ist, A(x) + B(x) = at-1xt-1 + at-2xt-2 + ... + asxs + (as-1 + bs-1)xs-1 + (as-2 + bs-2)xs-2 + ... + (a0 + b0), wobei (ai + bi) das Ergebnis der Modulo-2-Addition von ai und bi, für 0 ≤ i ≤ s – 1, ist. Es wird nachstehend also angenommen, solange nichts anderes angedeutet ist, dass, wenn zwei Binärzeichenströme addiert werden, die entsprechenden Bits von zwei Bitströmen gemäß einer Modulo-2-Additionsoperation addiert werden. Einem Fachmann ist es bekannt, dass, gemäß der Definition einer Modulo-2-Addition, a + b + b = a, A + B + B = A und A(x) + B(x) + B(x) = A(x) ist, wobei a und b Binärzeichen und A und B Binärzeichenströme sind.
  • Ein mit der Erfindung konsistentes Verfahren startet, indem zwei binäre Polynome, ein ZRP-Generatorpolynom (nachstehend ”ZRP-Polynom”) gl(x), und ein Flip-Polynom fl(x), ausgewählt werden. Das ZRP-Polynom gl(x) hat die Ordnung l, und das Flip-Polynom fl(x) hat die Ordnung l – 1, wobei l eine ganze Zahl ist. In einem Aspekt ist ggT(gl(x), xi) = 1 für jedes und alle 0 ≤ i ≤ l, wobei i eine ganze Zahl ist, und ggT(gl(x), xi) der größte gemeinsame Teiler von gl(x) und xi ist. Beispiele für passende gl(x) enthalten g4(x) = x4 + x3 + x2 + x + 1 für l = 4, g7(x) = x7 + x6 + x4 + 1 für l = 7, g8(x) = x8 + x7 + x4 + x3 + x + 1 für l = 8 und g12(x) = x12 + x11 + x3 + x2 + x + 1 für l = 12. Das Flip-Polynom kann durch f1(x) = fl-1xl-1 + fl-2xl-2 + ... + f0 ausgedrückt werden, wobei fi ∊ {0, 1} für 0 ≤ i ≤ l. Die Koeffizienten des Flip-Polynoms fl(x), nämlich fl-1, fl-2, ..., f0, können als Flip-Bits bezeichnet werden. Die Informationen des ZRP-Polynoms gl(x) und des Flip-Polynoms fl(x) sind sowohl im Sender als auch im Empfänger gespeichert.
  • Zur Veranschaulichung gilt ein Binärzeichenstrom A als die ZRP-Bedingung erfüllend, falls gl(x) A(x) teilt oder gl(x)|A(x) gilt, und zwei Binärzeichenströme A und B gelten als die ZRP-Bedingung erfüllend, falls gl(x) xsA(x) + B(x) teilt, oder gl(x)|(xsA(x) + B(x)) gilt, wobei s die Anzahl der in dem Binärzeichenstrom B enthaltenen Bits ist.
  • Auf der Senderseite erzeugt ein Kodierprozess als Erstes einen Paritätsprüfungsbitstrom P, welcher l Paritätsprüfungsbits, oder ZRP-Bits, pl-1, pl-2, ..., p0 enthält, so dass M und P die ZRP-Bedingung erfüllen, oder gl(x)|(xlM(x) + P(x)) gilt, wobei M(x) = mk-1xk-1 + mk-2xk-2 + ... + m0 und P(x) = pl-1xl-1 + pl-2xl-2 + ... + p0 ist. Ein Paritätsprüfungsbitstrom P kann auch als ein Paritätsprüfungsblock, ein Paritätsblock oder ein ZRP-Block bezeichnet werden. Ein Fachmann wird nun schätzen, dass jeder Nachrichtenblock M nur einem einzigen eindeutigen Paritätsprüfungsbitstrom P entspricht.
  • Der Kodierprozess, flippt denn die Paritätsprüfungsbits gemäß dem Flip-Polynom fl(x), oder speziell, mittels Durchführen einer Modulo-2-Addition von jedem Bit in dem Paritätsprüfungsbitstrom P und einem entsprechendem Flip-Bit. Der resultierende geflippte Paritätsprüfungsbitstrom P enthält l geflippte Paritätsprüfungsbits:
    Figure 00290001
    Figure 00290002
    Dies hat den Effekt, dass, falls fi = 1, dann
    Figure 00290003
    der Flip von pi ist; falls f0 = 1, dann ist
    Figure 00290004
    dasselbe wie pi.
  • Dann werden die geflippten Paritätsprüfungsbits an das Ende des Nachrichtenblocks angefügt, um einen verketteten Bitstrom C zu bilden, welcher k + l Bits,
    Figure 00290005
    Figure 00290006
    enthält.
  • Konsistent mit der Erfindung kann der geflippte Paritätsprüfungsbitstrom durch Hardware oder Software erzeugt werden. 6 zeigt eine erste Hardware-Impemantierung zum Erzeugen des geflippten Paritätsprüfungsbits gemäß einem mit der Erfindung konsistenten Ausführungsbeispiel. Bezugnehmend auf 6 wird eine Rückkopplungs-Schieberegister-Schaltung 600 verwendet, um einen geflippten Paritätsprüfungsbitstrom P, basierend auf das ZRP-Generatorpolynom gl(x) = x8 + x7 + x4 + x3 + x + 1, zu erzeugen. Die Schaltung 600 enthält mehrere Verzögerungsschaltungen 602, welche als Flip-Flops verwirklicht sein können. Die Anzahl der Verzögerungsschaltungen 602 ist gleich der Ordnung von gl(x), d. h., l = 8. Daher gibt es in 6 acht Verzögerungsschaltungen, 6021 , 6022 , ..., 6028 . Verschiedene XOR-Gatter 604 sind zwischen den Verzögerungsschaltungen 602 eingefügt. Jedes XOR-Gatter 604 entspricht einem Koeffizienten des ZRP-Generatorpolynoms gl(x). Wie in 6 gezeigt ist, zeigt beispielsweise ein XOR-Gatter 604, an der linken Seite der ersten Verzögerungsschaltung 6021 , dass der Koeffizient von x0 = 1 von gl(x) gleich 1 ist, die Abwesenheit eines XOR-Gatters 604 zwischen den Verzögerungsschaltungen 6022 und 6023 zeigt, dass der Koeffizient von x2 von gl(x) gleich 0 ist, und ein XOR-Gatter 6045 zwischen den Verzögerungsschaltungen 6027 und 6028 zeigt, dass der Koeffizient von x7 von gl(x) gleich 1 ist. Ein XOR-Gatter 6046 ist ebenfalls gekoppelt, um mit der Ausgabe der Verzögerungsschaltung 6028 und dem Nachrichtenblock M, gefolgt von Flip-Bits, fl-1, fl-2, ..., f0, eine XOR-Operation durchzuführen. Gemäß des Ausdrucks für fl(x), welcher vorher beschrieben wurde, und wie in 6 gezeigt ist, ist f8(x) = x7 + 1. Daher sind 10000001 die entsprechenden 8 Flip-Bits. Ein Taktsignal (nicht gezeigt) schiebt die Registerschaltung 600 jeweils ein Bit von links nach rechts. Wie in 6 gezeigt ist, ist das die Rückkopplung des Ausgangs des XOR-Gatters 6046 zu jedem der XOR-Gatter 6041 6045 . Ein Schalter 606 schaltet den Ausgang der Rückkopplungs- Schieberegister-Schaltung 600 zwischen den Nachrichtenblock M und dem Ausgang des XOR-Gatters 6046 . Eine Rückkopplungs-Schieberegister-Schaltung 600 gibt zuerst den Nachrichtenblock M aus und gibt dann die geflippten Paritätsbits aus, indem der Schalter 606 zum Ausgang des XOR-Gatters 6046 geschaltet wird.
  • Eine zweite Hardware-Implementierung zum Erzeugen eines geflippten Paritätsprüfungsbitstroms P, konsistent mit einem Ausführungsbeispiel der Erfindung, ist in 7 gezeigt. Wie in 7 gezeigt ist, enthält eine Rückkopplungs-Schieberegister-Schaltung 700 mehrere Verzögerungsschaltungen 702, von denen jede als eine Flip-Flop-Schaltung verwirklicht sein kann. Mehrere XOR-Gatter 704 sind zwischen den Verzögerungsschaltungen 702 gemäß des ZRP-Generatorpolynoms gl(x) eingefügt. Zwei XOR-Gatter 7041 und 7042 sind zum linken bzw. rechten Ende der Schaltung 700 hinzugefügt. Der Nachrichtenblock M wird in das XOR-Gatter 7041 eingegeben, und die am weitesten rechts gelegene Verzögerungsschaltung 702 gibt den Nachrichtenblock M und seinen entsprechenden Paritätsprüfungsbitstrom P aus. Dann flippt das XOR-Gatter 7042 den Paritätsprüfungsbitstrom P unter Verwendung der Flip-Bits, fl-1, fl-2, ..., f0, um den geflippten Paritätsprüfungsbitstrom P zu erzeugen. Es wird in 7 also vorausgesetzt, dass das Flip-Polynom f8(x) = x7 + 1 ist, und daher 10000001 die Flip-Bits sind.
  • 8 zeigt diagrammatisch eine Software-Implementierung des Erzeugens eines geflippten Paritätsprüfungsbitstroms P, wobei in der Software-Implementierung eine Nachschlage-Tabelle benutzt wird. Die Nachschlage-Tabelle enthält eine Gesamtliste der ZRP-Bitströme für alle möglichen Nachrichten mit einer bestimmten Länge. Wenn zum Beispiel l = 8 ist, enthält die Nachschlage-Tabelle 28 = 256 Einträge von ZRP-Bitströmen, wobei jeder Bitstrom acht Binärzeichen enthält. Wie in 8 gezeigt ist, wird eine Nachricht, welche 3 Bytes (24 Bits), Byte 1, Byte 2 und Byte 3, enthält, unter Verwendung der Nachschlage-Tabelle kodiert. In Schritt 802 wird Byte 1 betrachtet, und die Nachschlage-Tabelle wird nach einem Übereinstimmenden Eintrag für Byte 1 durchsucht. Bei Schritt 804 wird am Ergebnis der Suche und Byte 2 eine XOR-Operation durchgeführt, um einen zwischenzeitlichen ZRP-Bitstrom ZRP2 zu erzeugen. Es wird ein Eintrag, welcher mit ZRP2 übereinstimmt, in der Nachschlage-Tabelle nachgeschlagen (Schritt 806) und mit Byte 3 mittels einer XOR-Operation verknüpft (Schritt 808), um den ZRP-Bitstrom ZRP3. der Nachricht zu erzeugen. Ferner wird ZRP3 unter Verwendung der Flip-Bits geflippt. Es wird in 8 ebenfalls vorausgesetzt, dass das Flip-Polynom f8(x) = x7 + 1 ist und daher 10000001 die Flip-Bits sind.
  • Nach dem obigen ZRP-Kodierprozess wird ferner der verkettete Bitstrom C mittels eines (n, t, j)-Faltungskodierers kodiert, wobei n eine ganze Zahl ist, welche angibt, wie viele Bits jeweils durch den Kodierer ausgegeben werden, t eine ganze Zahl ist, welche die Anzahl der Eingaben anzeigt, welche der Kodierer empfängt und j die Speicherordnung des Kodierers ist. Um die Darstellung zu vereinfachen, wird t = 1 vorausgesetzt. Zuerst wird er verkettete Bitstrom C mit j Null-Bits angehängt, um einen 0-Beendeten Bitstrom B zu schaffen, welcher k + l + j Bits,
    Figure 00320001
    Figure 00320002
    (j Bits von Null am Ende), enthält. Der 0-Beendete Bitstrom B passiert dann den (n, 1, j)-Faltungskodierer, um ein Faltungs-Codewort D zu erzeugen, welches n(k + l + j) Bits enthält. Der Faltungs-Kodierprozess ist für einen Fachmann bekannt und ist hier nicht ausführlich beschrieben.
  • Der gleiche Kodierprozess wie oben wird durchgeführt, um ein Faltungs-Codewort für alle anderen Nachrichtenblocks der Nachricht zu erzeugen, und es wird ein Datenbitstrom, welcher die resultierenden Codewörter enthält, gesendet.
  • Wenn der Empfänger einen Datenbitstrom empfängt, welcher mindestens ein Faltungs-Codewort enthält, wird ein Dekodierprozess durchgeführt, um die erste Nachricht in dem Datenbitstrom zu identifizieren. Nachdem ein erster Nachrichtenblock identifiziert ist, wird das entsprechende Codewort aus dem Datenbitstrom entfernt, und der Empfänger fährt fort, den ersten Nachrichtenblock in dem resultierenden Datenbitstrom zu identifizieren. Wenn der Empfänger daher startet, den Nachrichtenblock M zu dekodieren, enthält der Datenbitstrom das Faltungscodewort D, welches dem Nachrichtenblock M entspricht, gefolgt von dem entsprechenden Faltungs-Codewort des nächsten Nachrichtenblocks.
  • Der Dekodierprozess enthält einen Faltungs-Dekodierprozess und einen ZRP-Dekodierprozess. Zuerst wird ein Nachrichtenblock M' mit einer Länge k ^ geraten und der Dekodierer dekodiert faltungsmäßig die ersten n(k ^ + l + j) Bits in dem empfangenen Datenbitstrom. In einem Aspekt wird k ^ derart gewählt, dass es kleiner ist als die Länge k des Nachrichtenblocks M. Der Dekodierer bestimmt, ob das eine der
    Figure 00330001
    möglichen Codewörter mit dem besten metrische Pfad, oder das beste Codewort, einem Alles-Null-Endzustand entspricht. Falls negativ, wird k ^ um 1 erhöht und der obige Prozess wird wiederholt. Falls positiv, wird k ^ als die korrekte Länge des Nachrichtenblocks betrachtet und ein vermeintlicher verketteter Bitstrom Ĉ, welcher k ^ + l Bits
    Figure 00340001
    enthält, wird extrahiert und dem ZRP-Test in dem ZRP-Dekodierprozess unterworfen.
  • In dem ZRP-Dekodierprozess wird zuerst ein Paritätsprüfungsbitstrom P ^, welcher l Paritätsprüfungsbits, p ^l-1, p ^l-2, ..., p ^0 enthält, für den geratenen Nachrichtenblock M' generiert, so dass gl(x)|(xlM'(x) + P ^(x)) gilt. Als Zweites wird unter Verwendung des Flip-Polynoms fl(x) der Paritätsprüfungsbitstrom P ^ geflippt, um einen geflippten Paritätsprüfungsbitstrom P ^' zu erzeugen, welcher l geflippte Paritätsprüfungsbits, p ^'l-1 = p ^l-1 + fl-1,
    Figure 00340002
    l-2 = p ^l-2 + fl-2, ..., p ^'0 = p ^0 + f0 enthält. Zuletzt vergleicht der Empfänger den geflippten Paritätsprüfungsbitstrom P ^' mit dem geratenen geflippten Paritätsprüfungsbitstrom P'. Falls P ^' ≠ P' ist, wird der ZRP-Test nicht bestanden und es wird kein Nachrichtenblock identifiziert; die geschätzte Länge k ^ wird um 1 erhöht, und der obige metrische Pfadtest und ZRP-Test wird wiederholt. Andernfalls, wenn P ^' = P' ist, wird der ZRP-Test bestanden und es wird angenommen, dass ein Nachrichtenblock korrekt identifiziert wurde. Die ersten n(k ^ + l + j) Bits, welche das Codewort bilden, das dem Nachrichtenblock M' entspricht, werden von dem Datenbitstrom entfernt, und der Empfänger fährt fort, den ersten Nachrichtenblock in dem resultierenden Datenbitstrom zu dekodieren.
  • Eine Falschdetektion tritt auf, wenn die ersten n(k ^ + l + j) Bits sowohl den Metrischen-Pfad-Test als auch den ZRP-Test bestehen, obwohl k ^ nicht die korrekte Länge des Nachrichtenblocks M ist. In der folgenden Beschreibung wird vorausgesetzt, dass der geratene Nachrichtenblock M' einem verketteten Bitstrom C', welcher k ^ + l Bits enthält, einen 0-Beendeten Bitstrom B', welcher k ^ + l + j Bits enthält, und einem Codewort D', welches die ersten n(k ^ + l + j) Bits enthält, entspricht.
  • Zuerst muss, wie oben diskutiert, um den Metrischen-Pfad-Test in einem fehlerfreien Kanal zu bestehen, 1) D' den besten metrische Pfad unter diesen
    Figure 00350001
    möglichen Codewörtern haben, von denen jedes einer Nachrichtenblock-Länge von k ^ entspricht, und 2) muss D' einem Alles-Null-Zustand des Kodierers entsprechen, d. h., der Kodierer kehrt nach dem Kodieren von C' in den Alles-Null-Zustand zurück. Um diese zwei Bedingungen zu erfüllen, müssen die letzten j Bits des Bitstroms B' alles Nullen sein.
  • Als Zweites muss, damit der mutmaßliche verkettete Bitstrom C' den ZRP-Test besteht, gl(x)|(C'(x) + fl(x)) gelten.
  • Indem ein geeignetes Flip-Poynom fl(x) gewählt wird, kann das ZRP-Verfahren der Erfindung eine geringe Wahrscheinlichkeit einer Falschdetektion haben. In einem Aspekt wird das Flip-Polynom fl(x) derart gewählt, dass gilt
    Figure 00350002
    Zum Beispiel, wenn l = 8, gl(x) = x8 + x7 + x4 + x3 + x + 1 ist, und ein (2, 1, 8)-Faltungskodierer verwendet wird, gibt es 66 verschiedenen Flip-Polgnome fl(x), welche die Bedingung (2) erfüllen, von denen fl(x) = x4 + x ein Beispiel ist.
  • Unter der Bedingung (2), und in der Annahme sowohl einer gleichmäßig verteilten Nachricht als auch einer fehlerfreien Übertragung, ist die Wahrscheinlichkeit des Bestehens sowohl des Metrischen-Pfad-Tests als auch des ZRP-Tests für D' durch Ausdruck (3) gegeben:
    Figure 00360001
    wobei i = k – k ^ der Nachrichtenlängen-Offset ist. Als nächstes wird ein kurzer Beweis des Ausdrucks (3) gegeben.
  • Falls i = 0 ist, enthält der Nachrichtenblock M' k Bits, mk-1, mk-2, ..., m0, und der entsprechende geflippte Paritätsprüfungsblock P' enthält l Bits,
    Figure 00360002
    B' enthält M' gefolgt von P' und j Bits von Nullen. Sowohl der Metrische-Pfad-Test als auch der ZRP-Test werden bestanden, der korrekte Nachrichtenblock ist identifiziert und es gibt keine Falschdetektion.
  • Falls 0 < i ≤ j ist, enthält M' k ^ Bits, mk-1, mk-2, ..., mi, P' enthält l Bits,
    Figure 00360003
    und B' enthält M' und P', gefolgt von j Bits,
    Figure 00360004
    und .i – i Nullen. Um den Metrischen-Pfad-Test zu bestehen, müssen die letzten j Bits des Bitstroms B' alle 0 sein, d. h.,
    Figure 00360005
    Figure 00360006
    sind alles Nullen. Damit der verkettete Bitstrom C' den ZRP-Test besteht, muss gl(x)|(C'(x) + fl(x)) gelten, wobei
    Figure 00360007
    C'(x) mit C(x) = xlM(x) + P(x) vergleichend, ist
    Figure 00360008
    Weil gl(x)|C(x) gilt und ggT(gl(x), xi) = 1 ist, ist gl(x)|C'(x) dann und nur dann erfüllt, wenn
    Figure 00360009
    gilt. Ferner gilt
    Figure 00370001
    (obige Bedingung (2)) und
    Figure 00370002
    alle Null sein müssen, um den Metrischen-Pfad-Test zu bestehen. Daher gilt
    Figure 00370003
    und gl(x) teilt nicht
    Figure 00370004
    Daher ist die Wahrscheinlichkeit eines Bestehens sowohl des Metrischen-Pfad-Tests als auch des ZRP-Tests, d. h., die Wahrscheinlichkeit für eine Falschdetektion, gleich Null.
  • Falls j < i ≤ l + j – 1 ist, enthält M' k ^ Bits, mk-1, mk-2, ..., mi, P' enthält l Bits,
    Figure 00370005
    Figure 00370006
    und B' enthält M' und P', gefolgt von j Bits,
    Figure 00370007
    Um den Metrischen-Pfad-Test zu bestehen, müssen die letzten j Bits des Bitstroms B' alle 0 sein, d. h.,
    Figure 00370008
    sind alles Nullen. Damit der verkettete Bitstrom C' den ZRP-Test besteht, muss gl(x)|(C'(x) + fl(x)) gelten, wobei
    Figure 00370009
    ist. C'(x) mit C(x) = xlM(x) + P(x) vergleichend, ist
    Figure 00370010
    Weil gl(x)|C(x) gilt und ggT(gl(x), xi) = 1 ist, ist gl(x)|C'(x) dann und nur dann erfüllt, wenn
    Figure 00370011
    gilt. Ferner gilt
    Figure 00380001
    (obige Bedingung (2)) und
    Figure 00380002
    weil die
    Figure 00380003
    um den Metrischen-Pfad-Test zu bestehen, alle Null sein müssen. Daher gilt
    Figure 00380004
    und gl(x) teilt nicht
    Figure 00380005
    Daher ist die Wahrscheinlichkeit einer Falschdetektion gleich Null.
  • In Hinblick auf das Obige ist die Wahrscheinlichkeit für eine Falschdetektion gleich Null, wenn 0 < i ≤ l + j – 1 ist.
  • Falls i ≥ l + m ist, dann enthält der geratene Nachrichtenblock M' gleich k – i Bits, mk-1, mk-2, ..., mi, der geratene geflippte Paritätsprüfungsblock P' enthält mi-1, mi-2, ..., mi-l, und B' enthält M' und P', gefolgt von j Bits, mi-l-1, mi-l-2, ..., mi-l-j. Um den Metrischen-Pfad-Test zu bestehen, müssen die letzten j Bits des Bitstroms B' alle Null sein, d. h., mi-l-1, mi-l-2, ..., mi-l-j, sind alle Null. Weil es ferner nur einen einzigen Paritätsprüfungsblock gibt, welcher einem bestimmten Nachrichtenblock M' entspricht, gibt es nur einen möglichen geflippten Paritätsprüfungsblock P', welcher dem Nachrichtenblock M' entspricht. Daher ist die Wahrscheinlichkeit, dass mi-1, mi-2, ..., mi-l dem geflippten Paritätsprüfungsblock P', welcher M' und mi-l-1, mi-l-2, ..., mi-l-j entspricht, zusammensetzt, und dass mi-l-1, mi-l-2, ..., mi-l-j alles Nullen sind, unter der Annahme, dass der Nachrichtenblock M gleichmäßig verteilt ist, 2–(l+j).
  • 9 zeigt ein Kommunikationssystem 900, welches das mit der Erfindung konsistente Flip-Bit-ZRP-Verfahren nutzt. Das System 900 enthält einen Sender 902 und einen Empfänger 904. Der Sender 902 enthält einen Flip-Bit-ZRP-Kodierer 906 und einen Faltungskodierer 908. Der Empfänger 904 enthält einen Faltungskodierer 910 und einen Flip-Bit-ZRP-Dekodierer 912. Nachrichtenblocks werden sequentiell kodiert mittels des Flip-Bit-ZRP-Kodierers 906 und Faltungskodierers 908, mittels eines Senders 902 gesendet, passieren einen Datenkanal 914 und werden sequentiell dekodiert mittels eines Faltungsdekodierers 910 und eines Flip-Bit-ZRP-Dekodierers 912.
  • Es wurden Computersimulationen durchgeführt und die Simulationsergebnisse sind in den 10A10B und 11A11C gezeigt.
  • 10A zeigt die Wahrscheinlichkeit des Bestehens sowohl des Metrischen-Pfad-Tests als auch des ZRP-Tests bezüglich des Nachrichtenlängen-Offsets für das mit der Erfindung konsistente ZRP-Verfahren, unter der Annahme einer anfänglichen Signal-zu-Rauschen-Rate (”signal-to-noise-ratio”) (SNR) von 2.0 dB, 4.0 dB und 6.0 dB. Es wird in 10A angenommen, dass ein (2, 1, 8)-Faltungskodierer verwendet wird, die Ordnung des ZRP-Generatorpolynoms 8 ist, g8(x) = x8 + x7 + x4 + x3 + x + 1, f8(x) = x4 + x und die tatsächliche Nachrichtenlänge 30 ist. f8(x) = x4 + x erfüllt die Bedingung (1). Wie in 10A gezeigt ist, wenn die SNR hoch ist, wie zum Beispiel 6.0 dB, tritt keine Falschdetektion auf, wenn der Nachrichtenlängen-Offset kleiner ist als l + j = 16. Sogar mit einer armen SNR, wie zum Beispiel 2.0 dB oder 4.0 dB, ist die Wahrscheinlichkeit einer Falschdetektion, wenn der Nachrichtenlängen-Offset kleiner ist als 16, wesentlich geringer als 2–(l+j) = 2–16.
  • 10B zeigt den Effekt, wenn das Flip-Polynom die Bedingung (1) nicht erfüllt. 10B ist das Simulationsergebnis, welches auf denselben Annahmen basiert wie 10A, mit der Ausnahme, dass f8(x) = x7 + 1, welches nicht die Bedingung (1) erfüllt, das Flip-Polynom ist. Infolgedessen ist die Wahrscheinlichkeit einer Falschdetektion viel größer.
  • Die 11A11C vergleichen die Leistungsfähigkeit des mit der Erfindung konsistenten ZRP-Verfahrens und des herkömmlich modifizierten Verfahrens, wobei die Kreise das mit der Erfindung konsistente Flip-Bit-ZRP-Verfahren darstellen, und die Kreuz-Symbole stellen das herkömmlich modifizierte Verfahren dar. Es wird in den 11A11C angenommen, dass ein (2, 1, 8)-Faltungskodierer verwendet wird, die Ordnung des ZRP-Generatorpolynoms 8 ist, g8(x) = x8 + x7 + x4 + x3 + x + 1, f8(x) = x4 + x, und die tatsächliche Nachrichtenlänge 30 ist. 11A zeigt den Vergleich, wenn die SNR 2.0 dB ist. 11B zeigt den Vergleich, wenn die SNR 4.0 ist. 11C zeigt den Vergleich, wenn die SNR 6.0 ist. Wie in den 11A11C gezeigt ist, hat das mit der Erfindung konsistente ZRP-Verfahren eine bessere Leistungsfähigkeit als das herkömmlich modifizierte Verfahren, wenn der Nachrichtenlängen-Offset kleiner ist als l + j.
  • Wie oben diskutiert wurde, wenn ein Nachrichtenblock M' geraten wird, bestimmt der Faltungsdekodierer, ob D', welches die ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms enthält, den Metrischen-Pfad-Test besteht, was erfordert 1) dass D' den besten metrische Pfad unter diesen
    Figure 00400001
    möglichen Codewörtern hat, von denen jedes einem Nachrichtenblock einer Länge von k ^ entspricht, und 2) D' einem Alles-Null-Zustand des Kodierers entsprechen muss, d. h., der Kodierer kehrt nach dem Kodieren von C' in den Alles-Null-Zustand zurück. Der Metrische-Pfad-Test unter diesen Bedingungen ist sehr strikt und kann ein Misslingen, den korrekten Nachrichtenblock zu Detektieren, zur Folge haben, wie ein Codewort D, welches einem korrekten Nachrichtenblock M entspricht, durch diesen Test durchfallen kann. Darum ist es manchmal wünschenswert, den Test zu entspannen, wie als Nächstes diskutiert wird.
  • Um die Entspannung des Metrischen-Pfad-Tests zu quantisieren, wird ein relativer metrische Pfad d als
    Figure 00410001
    definiert, und eine vorbestimmter Rauschsperre Dinit wird ausgewählt, so dass 0 ≤ Dinit ≤ 1 ist, wobei λ0 der metrische Pfad des Codeworts, das einem Alles-Null-Zustand entspricht, λmax der maximale metrische Pfad und λmin der minimale metrische Pfad ist. Falls gemäß des entspannten Metrischen-Pfad-Tests D' einem Alles-Null-Zustand des Kodierers entspricht und d ≥ Dinit ist, dann wird D' als den korrekten Nachrichtenblock enthaltend betrachtet. Offensichtlich ist der strikte Metrische-Pfad-Test der spezielle Fall von Dinit = 1. 12A zeigt Simulationsergebnisse der Wahrscheinlichkeit des Misslingens, den korrekten Nachrichtenblock zu detektieren (”Block-Fehler-Rate”) hinsichtliche der anfänglichen SNR (”Unkodierte SNR”) und einen Vergleich zwischen dem mit der Erfindung konsistenten Flip-Bit-ZRP-Verfahren und dem herkömmlich modifizierten Verfahren für verschiedene Werte von Dinit, einschließlich 0.0, 0.5 und 1.0. 12B zeigt Simulationsergebnisse der Wahrscheinlichkeit einer Falschdetektion (”Undetektierte Fehlerrate”) hinsichtlich der anfänglichen SNR (”Unkodierte SNR”) und einen Vergleich zwischen dem mit der Erfindung konsistenten Flip-Bit-ZRP-Verfahren und dem herkömmlich modifizierten Verfahren für verschiedene Werte von Dinit, einschließlich 0.0 und 0.5. Wie in 12A gezeigt ist, wenn Dinit auf 1 gesetzt wird (entsprechend dem strikten Metrischen-Pfad-Test), gibt es eine signifikant hohe Wahrscheinlichkeit des Misslingens des ZRP-Verfahrens, einen Nachrichtenblock zu finden, welcher sowohl den Metrischen-Pfad-Test als auch den ZRP-Test erfüllt. 12A zeigt auch, dass die Wahrscheinlichkeit des Misslingens des Flip-Bit-ZRP-Verfahrens, einen Nachrichtenblock zu finden, leicht höher ist als in dem Fall, wenn die Nachrichtenblock-Länge bekannt ist (dargestellt durch die Kreise), wenn Dinit gleich 0.0 oder 0.5 ist. Wie in 12B gezeigt ist, steigt, wenn Dinit auf kleinere Werte, wie zum Beispiel 0.0 oder 0.5, gesetzt ist, die Wahrscheinlichkeit einer Falschdetektion auf prohibitive Höhen an, wenn die SNR moderat (wie zum Beispiel 4.0 db), oder niedriger, ist. Daher kann das mit der Erfindung konsistente Flip-Bit-ZRP-Verfahren, indem ein passendes ZRP-Generatorpolynom, ein passendes Flip-Polynom und ein passendes Dinit gewählt wird, in einem Variable-Längen-System Fähigkeiten der Fehler-Detektion erreichen, welche von gleichem Ausmaß sind, wie die in einem System, wo die Nachrichtenlängen bekannt sind.
  • Es wird einem Fachmann ersichtlich sein, dass in dem offenbarten Verfahren verschiedenen Modifikationen und Variationen vorgenommen werden können, ohne den Rahmen oder die Lehre der Erfindung zu verlassen. Es werden dem Fachmann andere Ausführungsbeispiele der Erfindung ersichtlich aus der Betrachtung der Spezifikationen und der Anwendung der hierin offenbarten Erfindung. Es ist beabsichtigt, dass die Spezifikationen und Beispiele lediglich als beispielhaft betrachtet werden, wobei der wahre Rahmen und die Lehre der Erfindung durch die folgenden Ansprüche angegeben ist.
  • In diesem Dokument sind folgende Veröffentlichungen zitiert:
    • [1] SHIEH, S.-L.; CHEN, P.-N.; HAN, Y. S.: A Novel Modification of Cyclic Redundancy Check for Message Length Detection. In: International Symposium an Information Theory and its Applications; Oktober 2004. URL: http://shannon.cm.nctu.edu.tw/html/paper/Shieh.pdf (28.1.2009)
    • [2] 3GPP [Hrsg.]: 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Multiplexing and channel coding (FDD); Technical Specification; März 2003. 3GPP TS 25.212 V3.9.0 Release 1999. URL: http://www.3gpp.org (28.1.2009)

Claims (31)

  1. Verfahren für ein Variable-Längen-Kommunikationssystem, wobei das System einen Empfänger enthält, das Verfahren aufweisend: Speichern von Information eines Zyklischen-Redundanzprüfungs(ZRP)-Generatorpolynoms gl(x), wobei l eine ganze Zahl und die Ordnung von gl(x) ist, und von Information eines Flip-Polynoms fl(x) der Ordnung l – 1 in den Empfänger, Empfangen eines mehrere Codewörter enthaltenden Datenbitstroms, wobei die Codewörter mit einem Faltungskodierer der Speicherordnung j kodiert werden, wobei j eine ganze Zahl ist, und wobei jedes Codewort einem verketteten Bitstrom entspricht, welcher aus einem Nachrichtenblock und einem entsprechenden geflippten Paritätsprüfungsbitstrom besteht, und Dekodieren eines ersten Nachrichtenblocks in dem Datenbitstrom, enthaltend (a) Raten einer Blocklänge k ^ und Erzeugen eines verketteten Bitstroms C' aus den ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms, wobei der verkettete Bitstrom C' einen aus k ^ Bits,
    Figure 00450001
    Figure 00450002
    bestehenden geratenen Nachrichtenblock M', wobei k ^ eine ganze Zahl ist, und einen l Bits enthaltenden geflippten Bitstrom P' enthält, (b) Erzeugen eines l Paritätsprüfungsbits p ^l-1, p ^l-2, ..., p ^0, enthaltenden Paritätsprüfungsbitstroms P ^, so dass gl(x)|(xlM'(x) + P ^(x)) gilt, wobei
    Figure 00460001
    P ^(x) = p ^l-1xl-1 + p ^l-2xl-2 + ... + p ^0 ist, (c) Flippen des Paritätsprüfungsbitstroms P ^ unter der Verwendung eines Flip-Polynoms fl(x), um einen l geflippte Paritätsprüfungsbits, p ^'l-1, p ^'l-2, ..., p ^'0, enthaltenden geflippten Paritätsprüfungsbitstrom P ^' zu erzeugen, und (d) falls P' und P ^' unterschiedlich sind, Erhöhen von k ^ um 1 und Wiederholen von (a)–(c); wobei das Raten der Nachrichtenblock-Länge k ^ aufweist: Finden eines von
    Figure 00460002
    möglichen Codewörtern, welche der geratenen Nachrichtenblock-Länge k ^ entsprechen, so dass das eine Codewort einem Alles-Null-Zustand des Faltungskodierers entspricht, falls
    Figure 00460003
    ist, Fortfahren mit dem Erzeugen des Paritätsprüfungsbitstroms P ^, wobei Dinit eine vorbestimmte Rauschsperre mit einem Wert zwischen 0 und 1, einschließlich, ist, λ0 der metrische Pfad des einen Codeworts bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, λmax ein Maximum von allen metrischen Pfaden der
    Figure 00460004
    möglichen Codewörter bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, und λmin ein Minimum von allen metrischen Pfaden der
    Figure 00460005
    möglichen Codewörter bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, und falls
    Figure 00480001
    ist, Erhöhen von k ^ um 1 und Wiederholen der obigen Schritte.
  2. Verfahren gemäß Anspruch 1, wobei das ZRP-Generatorpolynom gl(x) ggT(gl(x), xi) = 1 erfüllt für 0 ≤ i ≤ l, wobei i eine ganze Zahl ist.
  3. Verfahren gemäß Anspruch 1, wobei das Flip-Polynom fl(x) derart gewählt ist, dass
    Figure 00480002
    ist für 1 ≤ i ≤ l + j – 1, wobei i eine ganze Zahl ist.
  4. Verfahren gemäß Anspruch 1, wobei die Länge des ersten Nachrichtenblocks k ist, wobei k eine ganze Zahl ist, und ein anfänglicher Wert von k ^ nicht größer ist als k.
  5. Verfahren gemäß Anspruch 1, wobei der geflippte Paritätsprüfungsbitstrom P ^' derart erzeugt wird, dass p ^'l-2 = p ^l-2 + fl-2, ..., p ^'0 = p ^0 + f0 ist, wobei ”+” ein Modulo-2-Additionsoperator ist.
  6. Verfahren gemäß Anspruch 1, wobei das Dekodieren des ersten Nachrichtenblocks ferner aufweist Entfernen der ersten n(k ^ + l + j) Bits aus dem Datenbitstrom, wenn P' = P ^' gilt.
  7. Verfahren gemäß Anspruch 1, ferner aufweisend Wiederholen des Dekodierens des ersten Nachrichtenblocks in dem Datenbitstrom, nachdem die ersten n(k ^ + l + j) Bits entfernt wurden.
  8. Verfahren gemäß Anspruch 1, wobei die Codewörter mit einem (n, t, j)-Faltungskodierer kodiert werden, wobei n eine ganze Zahl ist, welche repräsentiert, wie viele Bits jeweils durch den Kodierer ausgegeben werden, t eine ganze Zahl ist, welche die Anzahl der Eingaben, welche der Kodierer empfängt, anzeigt, und j die Speicherordnung des Kodierers ist.
  9. Verfahren gemäß Anspruch 1, wobei das Raten der Nachrichtenblock-Länge k ^ aufweist: Finden eines Besten von
    Figure 00490001
    möglichen Codewörtern, welche der geratenen Nachrichtenlänge k ^ entsprechen, so dass das beste Codewort den besten metrischen Pfad bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms hat, falls das beste Codewort einem Alles-Null-Endzustand des Faltungskodierers entspricht, Fortfahren mit dem Erzeugen des Paritätsprüfungsbitstroms P ^, und falls das beste Codewort nicht einem Alles-Null-Endzustand des Faltungskodierers entspricht, Erhöhen von k ^ um 1 und Zurückkehren zum Finden eines Besten von
    Figure 00490002
    möglichen Codewörtern.
  10. Verfahren gemäß Anspruch 1, ferner aufweisend: Auswählen eines geeigneten Wertes von Dinit und Speichern des geeigneten Wertes von Dinit in den Empfänger.
  11. Verfahren für ein Variable-Längen-Kommunikationssystem, wobei das System einen Sender und einen Empfänger enthält, der Sender einen Faltungskodierer der Speicherordnung j enthält, wobei j eine ganze Zahl ist, wobei Nachrichten in Nachrichtenblocks variabler Länge geteilt werden, das Verfahren aufweisend: Bereitstellen eines Zyklischen-Redundanzprüfungs(ZRP)-Generatorpolynoms gl(x), wobei l eine ganze Zahl und die Ordnung von gl(x) ist, Bereitstellen eines binären Flip-Polynoms fl(x) der Ordnung l – 1, Speichern von Information eines ZRP-Generatorpolynoms gl(x) und von Information eines Flip-Polynoms fl(x) in sowohl den Sender als auch dem Empfänger, Kodieren einer zu sendenden Nachricht mittels Kodieren jedes Nachrichtenblocks M davon, wobei das Kodieren von M enthält: Erzeugen eines Paritätsprüfungsbitstroms P unter Verwendung des ZRP-Generatorpolynoms gl(x), Flippen des Paritätsprüfungsbitstroms P unter Verwendung des Flip-Polynoms fl(x), um einen geflippten Paritätsprüfungsbitstrom P zu erzeugen, Anhängen des geflippten Paritätsprüfungsbitstroms P an das Ende des Nachrichtenblocks M, um einen verketteten Bitstrom C zu schaffen, und faltungsmäßiges Kodieren des verketteten Bitstroms C, um mit dem Faltungskodierer ein Codewort D zu erzeugen, und Senden des Codeworts D des Nachrichtenblocks M der zu sendenden Nachricht, Empfangen eines mehrere Codewörter enthaltenden Datenbitstroms, wobei jedes Codewort einem aus einem Nachrichtenblock und einem entsprechenden geflippten Paritätsprüfungsbitstrom bestehenden verketteten Bitstrom entspricht, und Dekodieren des Datenbitstroms, enthaltend Dekodieren eines ersten Nachrichtenblocks in dem Datenbitstrom, enthaltend: (a) Raten einer Nachrichtenblock-Länge k ^ und Erzeugen eines verketteten Bitstroms C' aus den ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms, wobei der verkettete Bitstrom C' enthält einen geratenen Nachrichtenblock M' mit k ^ Bits,
    Figure 00510001
    wobei k ^ eine ganze Zahl ist, und einen geratenen geflippten Bitstrom P', welcher l Bits enthält, (b) Erzeugen eines Paritätsprüfungsbitstrom P ^ unter Verwendung eines ZRP-Generatorpolynoms gl(x), (c) Flippen des Paritätsprüfungsbitstroms P ^ unter Verwendung des Flippolynoms fl(x), um einen geflippten Paritätsprüfungsbitstrom P ^' zu erzeugen, (d) falls P' und P ^' verschieden sind, Erhöhen von k ^ um 1 und Wiederholen von (a)–(c), und (e) Entfernen der ersten n(k ^ + l + j) Bits aus dem Datenbitstrom, wenn P' = P ^' ist, und Wiederholen des Kodierens des ersten Nachrichtenblocks in dem Datenbitstrom, nachdem die ersten n(k ^ + l + j) Bits entfernt wurden; wobei das Raten der Nachrichtenblock-Länge k ^ aufweist: Finden eines von
    Figure 00510002
    möglichen Codewörtern, welche der geratenen Nachrichtenblock-Länge k ^ entsprechen, so dass das eine Codewort einem Alles-Null-Zustand des Faltungs-Kodierers entspricht, falls
    Figure 00520001
    ist, Fortfahren mit dem Erzeugen eines Paritätsprüfungsbitstroms P ^, wobei Dinit eine vorbestimmte Rauschsperre mit einem Wert zwischen 0 und 1, einschließlich, ist, λ0 ein metrischer Pfad des einen Codeworts ist bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms, λmax ein Maximum von allen metrischen Pfaden der
    Figure 00520002
    möglichen Codewörter bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, und λmin ein Minimum von allen metrischen Pfaden der
    Figure 00520003
    möglichen Codewörter bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms ist, und falls
    Figure 00520004
    ist, Erhöhen von k ^ um 1 und Wiederholen der obigen Schritte.
  12. Verfahren gemäß Anspruch 11, wobei das ZRP-Generatorpolynom gl(x) derart gewählt ist, dass ggT(gl(x), xi) = 1 ist für 0 ≤ i ≤ l, wobei i eine ganze Zahl ist.
  13. Verfahren gemäß Anspruch 12, wobei der Paritätsprüfungsbitstrom P ^ l Bits, p ^l-1, p ^l-2, ..., p ^0, enthält und derart erzeugt ist, dass gl(x)|(xlM'(x) + P ^(x)) gilt, wobei
    Figure 00520005
    und P ^(x) = p ^l-1xl-1 + p ^l-2xl-2 + ... + p ^0 ist.
  14. Verfahren gemäß Anspruch 11, wobei das Flip-Polynom fl(x) derart gewählt ist, dass
    Figure 00530001
    ist für 1 ≤ i ≤ l + j – 1, wobei i eine ganze Zahl ist.
  15. Verfahren gemäß Anspruch 14, wobei der Paritätsprüfungsbitstrom P ^ l Bits, p ^l-1, p ^l-2, ..., p ^0, enthält, wobei der geflippte Paritätsprüfungsbitstrom P ^' enthält, welcher l geflippte Paritätsprüfungsbits, p ^'l-1, p ^'l-2, ..., p ^'0, enthält, und wobei der geflippte Paritätsprüfungsbitstrom P ^' derart erzeugt ist, dass p ^'l-1 = p ^l-1 + fl-1, p ^'l-2 = p ^l-2 + fl-2, ..., p ^'0 = p ^0 + f0 ist, wobei ”+” ein Modulo-2-Additionsoperator ist.
  16. Verfahren gemäß Anspruch 11, wobei der Faltungskodierer ein (n, t, j)-Faltungskodierer ist, wobei n eine ganze Zahl ist, welche die Anzahl der Bits repräsentiert, welche jeweils durch den Kodierer ausgegeben werden, t eine ganze Zahl ist, welche die Anzahl der Eingaben anzeigt, welche der Kodierer empfängt, und j die Speicherordnung des Kodierers ist.
  17. Verfahren gemäß Anspruch 16, wobei t = 1 ist und wobei das faltungsmäßige Kodieren Generieren des n(k + l + j) Bits enthaltenden Codeworts D aufweist.
  18. Verfahren gemäß Anspruch 11, wobei das faltungsmäßige Kodieren aufweist Anhängen von j Bits aus Nullen an das Ende des verketteten Bitstroms C, um einen 0-beendeten Bitstrom B zu schaffen, und Kodieren des 0-beendeten Bitstroms B, um das Codewort D zu erzeugen.
  19. Verfahren gemäß Anspruch 18, wobei sich der Faltungskodierer vor dem und nach dem Faltungs-Kodierprozess in einem Alles-Null-Zustand befindet.
  20. Verfahren gemäß Anspruch 11, wobei die Länge des ersten Nachrichtenblocks in dem Datenbitstrom k ist, wobei k eine ganze Zahl ist, und ein anfänglicher Wert von k ^ nicht größer als k ist.
  21. Verfahren gemäß Anspruch 11, wobei das Raten der Nachrichtenblock-Länge k ^ aufweist: Finden eines Besten von
    Figure 00540001
    möglichen Codewörtern, welche der geratenen Länge des Nachrichtenblocks k ^ entsprechen, so dass das beste Codewort den besten metrischen Pfad hat bezüglich der ersten n(k ^ + l + j) Bits des empfangenen Datenbitstroms, falls das beste Codewort einem Alles-Null-Endzustand des Faltungskodierers entspricht, Fortfahren mit dem Erzeugen des Paritätprüfungsbitstroms P ^, und falls das beste Codeword nicht einem Alles-Null-Endzustand des Faltungskodierers entspricht, Erhöhen von k ^ um 1 und Zurückkehren zum Finden eines Besten von
    Figure 00540002
    möglichen Codewörtern.
  22. Verfahren gemäß Anspruch 20, ferner aufweisend: Auswählen eines geeigneten Wertes von Dinit, und Speichern des geeigneten Wertes von Dinit in den Empfänger.
  23. Verfahren für ein Variable-Längen-Kommunikationssystem, wobei das System einen Empfänger enthält, das Verfahren aufweisend: Speichern von Information eines ZRP-Generatorpolynoms und von Information eines Flip-Polynoms in den Empfänger, Empfangen eines Datenbitstroms, welcher mehrere Codewörter enthält, wobei jedes Codewort einem aus einem Nachrichtenblock einer Nachricht und einem entsprechenden geflippten Paritätsprüfungsbitstrom bestehenden verketteten Bitstrom entspricht, und Dekodieren eines ersten Nachrichtenblocks der Nachricht in dem Datenbitstrom, enthaltend: (a) Raten einer Nachrichtenblock-Länge des Ersten der Nachrichtenblocks und Erzeugen eines verketteten Bitstroms aus dem empfangenen Datenbitstrom, wobei der verkettete Datenbitstrom einen geratenen geflippten Paritätsprüfungsbitstrom enthält, (b) Erzeugen eines Paritätsprüfungsbitstroms aus dem verketteten Bitstrom unter Verwendung des ZRP-Generatorpolynoms, (c) Flippen des Paritätsprüfungsbitstroms unter Verwendung des Flip-Polynoms, um einen geflippten Paritätsprüfungsbitstrom zu erzeugen (d) falls der geflippte Paritätsprüfungsbitstrom und der geratene geflippte Paritätsprüfungsbitstrom verschieden sind, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Wiederholen von (a)–(c), und (e) falls der geflippte Paritätsprüfungsbitstrom und der geratene geflippte Paritätsprüfungsbitstrom gleich sind, Entfernen des dem ersten der Nachrichtenblocks der Nachricht entsprechenden Codeworts aus dem Datenbitstrom; wobei das Raten der Nachrichtenblock-Länge des Ersten der Nachrichtenblocks aufweist Finden eines aus allen möglichen Codewörtern, welches einem Alles-Null-Zustand entspricht, falls ein metrischer Pfad des einen Codeworts eine vorbestimmte Bedingung erfüllt, Fortfahren mit dem Erzeugen des Paritätsprüfungsbitstroms, und falls ein metrischer Pfad des einen Codeworts nicht die vorbestimmte Bedingung erfüllt, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Zurückkehren zum Finden eines Besten von allen möglichen Codewörtern; und wobei die vorbestimmte Bedingung definiert ist als
    Figure 00560001
    wobei Dinit eine vorbestimmte Rauschsperre mit einem Wert zwischen 0 und 1, einschließlich, ist, λ0 der metrische Pfad des einen Codeworts ist, λmax ein Maximum von allen metrischen Pfaden von aller möglichen Codewörtern ist, und λmin ein Minimum von allen metrischen Pfaden aller möglichen Codewörter ist.
  24. Verfahren gemäß Anspruch 23, wobei das ZRP-Generatorpolynom mit gl(x) bezeichnet wird, wobei l eine ganze Zahl und die Ordnung von gl(x) ist und gl(x) derart gewählt wird, dass ggT(gl(x), xi) = 1 gilt für 0 ≤ i ≤ l, wobei i eine ganze Zahl ist.
  25. Verfahren gemäß Anspruch 24, wobei das Flip-Polynom mit fl(x) bezeichnet wird und derart gewählt ist, dass
    Figure 00570001
    ist für 1 ≤ i ≤ l + j – 1, wobei i eine ganze Zahl ist.
  26. Verfahren gemäß Anspruch 23, ferner aufweisend Wiederholen des Dekodierens des ersten Nachrichtenblocks in dem Datenbitstrom, um andere Nachrichtenblocks der Nachricht zu dekodieren.
  27. Verfahren gemäß Anspruch 23, wobei das Raten der Nachrichtenblock-Länge des ersten der Nachrichtenblocks aufweist Finden eines Besten aller möglichen Codewörter, welche der geratenen Nachrichtenblock-Länge entsprechen, so dass das beste Codewort den besten metrischen Pfad hat, falls das beste Codewort einem Alles-Null-Endzustand entspricht, Fortfahren mit den Erzeugen des Paritätsprüfungsbitstroms, und falls das beste Codewort nicht einem Alles-Null-Endzustand des Faltungs-Kodierers entspricht, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Zurückkehren zum Finden eines Besten aus allen möglichen Codewörtern.
  28. Verfahren für ein Variable-Längen-Kommunikationssystem, wobei das System einen Sender und einen Empfänger enthält, wobei die Nachrichten in Nachrichtenblocks variabler Länge geteilt werden, das Verfahren aufweisend: Bereitstellen eines Zyklischen-Redundanzprüfungs(ZRP)-Generatorpolynoms, Bereitstellen eines binären Flip-Polynoms, Speichern von Information eines ZRP-Generatorpolynoms und von Information eines Flip-Polynoms in sowohl den Sender als auch den Empfänger, Kodieren einer zu sendenden Nachricht mittels Kodieren jedes Nachrichtenblocks davon, wobei das Kodieren jedes Nachrichtenblocks enthält Erzeugen eines Paritätsprüfungsbitstroms unter Verwendung des ZRP-Generatorpolynoms, Flippen des Paritätsprüfungsbitstroms unter Verwendung des Flip-Polynoms, um einen geflippten Paritätsprüfungsbitstrom zu erzeugen, Anhängen des geflippten Paritätsprüfungsbitstroms an das Ende des entsprechenden Nachrichtenblocks, um einen verketteten Bitstrom zu schaffen, und faltungsmäßiges Kodieren des verketteten Bitstroms, um ein Codewort zu erzeugen, und Senden des Codeworts des Nachrichtenblocks der zu sendenden Nachricht, Empfangen eines Datenbitstroms, welcher einer empfangenen Nachricht entspricht, welche mehrere Nachrichtenblocks enthält, wobei der Datenbitstrom mehrere Codewörter enthält, wobei jedes Codewort einem entsprechenden der Nachrichtenblocks der empfangenen Nachricht und einem entsprechenden geflippten Paritätsprüfungsbitstrom bestehenden verketteten Bitstrom entspricht, und Dekodieren des Datenbitstroms durch Dekodieren jedes Nachrichtenblocks der empfangenen Nachricht, wobei das Dekodieren jedes der Nachrichtenblock enthält (a) Raten einer Nachrichtenblock-Länge und Erzeugen eines verketteten Bitstroms aus dem empfangenen Datenbitstrom, wobei der verkettete Bitstrom einen geratenen Nachrichtenblock und einen geratenen geflippten Bitstrom enthält, (b) Erzeugen eines Paritätsprüfungsbitstrom unter Verwendung des ZRP-Generatorpolynoms, (c) Flippen des Paritätsprüfungsbitstroms unter Verwendung des Flippolynoms, um einen geflippten Paritätsprüfungsbitstrom zu erzeugen, (d) falls der geflippte Paritätsprüfungsbitstrom und der geratene geflippte Paritätsprüfungsbitstrom unterschiedlich sind, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Wiederholen von (a)–(c), und (e) falls der geflippte Paritätsprüfungsbitstrom und der geratene geflippte Paritätsprüfungsbitstrom gleich sind, Entfernen des Codeworts des entsprechenden Nachrichtenblocks aus dem Datenbitstrom; wobei das Raten der Nachrichtenblock-Länge aufweist: Finden eines aus allen möglichen Codewörtern, welches einem Alles-Null-Zustand entspricht, falls der metrische Pfad des einen Codeworts eine vorbestimmte Bedingung erfüllt, Fortfahren mit dem Erzeugen des Paritätsprüfungsbitstroms, und falls der metrische Pfad des einen Codewort nicht die vorbestimmte Bedingung erfüllt, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Zurückkehren zum Finden eines Besten aus allen möglichen Codewörtern; und wobei die vorbestimmte Bedingung definiert ist als
    Figure 00590001
    wobei Dinit eine vorbestimmte Rauschsperre mit einem Wert zwischen 0 und 1, einschließlich, ist, λ0 der metrische Pfad des einen Codeworts ist, λmax ein Maximum von allen metrischen Pfaden von allen möglichen Codewörtern ist, und λmin ein Minimum von allen metrischen Pfaden von allen möglichen Codewörtern ist.
  29. Verfahren gemäß Anspruch 28, wobei das ZRP-Generatorpolynom mit gl(x) bezeichnet wird, wobei l eine ganze Zahl und die Ordnung von gl(x) ist und gl(x) derart gewählt wird, so dass ggT(gl(x), xi) = 1 gilt für 0 ≤ i ≤ l, wobei i eine ganze Zahl ist.
  30. Verfahren gemäß Anspruch 28, wobei das Flip-Polynom mit fl(x) bezeichnet wird und derart gewählt wird, dass
    Figure 00600001
    gilt für 1 ≤ i ≤ l + j – 1, wobei i eine ganze Zahl ist.
  31. Verfahren gemäß Anspruch 28, wobei das Raten der Nachrichtenblock-Länge aufweist Finden eines Besten aus allen möglichen Codewörtern, welche der geratenen Nachrichtenblock-Länge entsprechen, so dass das beste Codewort den besten metrischen Pfad hat, falls das beste Codewort einem Alles-Null-Endzustand entspricht, Fortfahren mit dem Erzeugen des Paritätsprüfungsbitstroms, und falls das beste Codewort nicht einem Alles-Null-Endzustand des Faltungskodierers entspricht, Erhöhen der geratenen Nachrichtenblock-Länge um 1 und Zurückkehren zum Finden des Besten von allen möglichen Codewörtern.
DE200510015386 2005-04-04 2005-04-04 Modifikation einer zyklischen Redundanzprüfung zur Längendetektion einer Nachricht mit Faltungsschutz Expired - Fee Related DE102005015386B9 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200510015386 DE102005015386B9 (de) 2005-04-04 2005-04-04 Modifikation einer zyklischen Redundanzprüfung zur Längendetektion einer Nachricht mit Faltungsschutz

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200510015386 DE102005015386B9 (de) 2005-04-04 2005-04-04 Modifikation einer zyklischen Redundanzprüfung zur Längendetektion einer Nachricht mit Faltungsschutz

Publications (4)

Publication Number Publication Date
DE102005015386A1 DE102005015386A1 (de) 2006-10-05
DE102005015386A9 DE102005015386A9 (de) 2007-03-22
DE102005015386B4 DE102005015386B4 (de) 2010-01-28
DE102005015386B9 true DE102005015386B9 (de) 2010-05-20

Family

ID=36998976

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510015386 Expired - Fee Related DE102005015386B9 (de) 2005-04-04 2005-04-04 Modifikation einer zyklischen Redundanzprüfung zur Längendetektion einer Nachricht mit Faltungsschutz

Country Status (1)

Country Link
DE (1) DE102005015386B9 (de)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
3GPP (Hrsg.): 3rd Generation Partnership Project, Technical Specification Group Radio Access Network, Multiplexing and channel coding (FDD), Technical Specification, März 2003. 3GPP TS 25.212.V3.9.0 Release 1999. (recherchiert am 28.01.2009). Im Internet: *
SHIEH, S.-L., CHEN, P.-N., HAN, Y.S.: A Novel Modification of Cyclic Redundancy Check for Message Length Detection. In: International Symposium on Information Theory and its Applications, Oktober 2004 (recherchiert am 28.01.2009). Im Internet: *
SHIEH, S.-L., CHEN, P.-N., HAN, Y.S.: A Novel Modification of Cyclic Redundancy Check for Message Length Detection. In: International Symposium on Information Theory and its Applications, Oktober 2004 (recherchiert am 28.01.2009). Im Internet: <URL:http://shannon.cm.nctu.edu.tw/html/paper/Shieh.pdf> 3GPP (Hrsg.): 3rd Generation Partnership Project, Technical Specification Group Radio Access Network, Multiplexing and channel coding (FDD), Technical Specification, März 2003. 3GPP TS 25.212.V3.9.0 Release 1999. (recherchiert am 28.01.2009). Im Internet: <URL:http://www.3gpp.org>

Also Published As

Publication number Publication date
DE102005015386A1 (de) 2006-10-05
DE102005015386A9 (de) 2007-03-22
DE102005015386B4 (de) 2010-01-28

Similar Documents

Publication Publication Date Title
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE69532949T2 (de) Verfahren und gerät zur dekoderoptimierung
DE69815087T2 (de) Listenausgaben-viterbi-dekodierung mit crc aussenkode für mehrratensignal
CN100397815C (zh) 数据通信系统、速率匹配设备及其方法
DE69634155T2 (de) Erfassung einer Konfidenz und eines Rahmen-Qualitäts-Signals in einem &#34;soft decision&#34;-Faltungs-Dekoder
JP3638554B2 (ja) 情報ビットストリームのエラー防止方法
DE102005010006B4 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
DE102017130591B4 (de) Verfahren und Vorrichtung zur Fehlerkorrekturkodierung auf Basis einer Datenkomprimierung
DE102017110389B4 (de) Verfahren und Decoder zur Softinput Decodierung von verallgemeinerten verketteten Codes
DE10238841B4 (de) Parallelverarbeitung der Decodierung und der zyklischen Redundanzüberprüfung beim Empfang von Mobilfunksignalen
DE69936316T2 (de) Faltungskodierungsverfahren und vorrichtung in einem digitalen system
DE69728255T2 (de) Datenübertragungsverfahren und vorrichtung zur kodierung eines signals
US7219292B2 (en) Cyclic redundancy check modification for length detection of message with convolutional protection
DE19539343C2 (de) Verfahren zur Fehlererkennung eines digitalen Bitdatenstroms, der von einem Sender zu einem Empfänger übertragen wird
KR20050039873A (ko) 가변-길이 소프트-입력 코드워드 시퀀스를 소스 디코딩하는방법 및 디바이스
DE102005015386B9 (de) Modifikation einer zyklischen Redundanzprüfung zur Längendetektion einer Nachricht mit Faltungsschutz
EP4142229A1 (de) System und verfahren zur übergangscodierung mit flexibler wortlänge
US11515895B2 (en) Block code encoding and decoding methods, and apparatus therefor
DE102011102503B3 (de) Verfahren zum Berichtigen beschädigter Daten
DE102016201408B4 (de) Verfahren zum Übertragen von Daten
DE102014208996B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE10120155B4 (de) Modulation mit paralleler Turbotrelliscodierung
DE102013223813B4 (de) Verfahren zur Wiederherstellung verloren gegangener und/oder beschädigter Daten
Dütsch Code optimisation for lossless compression of binary memoryless sources based on FEC codes
DE60026109T2 (de) Kombinierte Kanal - und Entropiedekodierung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8197 Reprint of an erroneous patent document
OP8 Request for examination as to paragraph 44 patent law
8397 Reprint of erroneous patent document
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee