DE60104338T2 - Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium - Google Patents

Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium Download PDF

Info

Publication number
DE60104338T2
DE60104338T2 DE60104338T DE60104338T DE60104338T2 DE 60104338 T2 DE60104338 T2 DE 60104338T2 DE 60104338 T DE60104338 T DE 60104338T DE 60104338 T DE60104338 T DE 60104338T DE 60104338 T2 DE60104338 T2 DE 60104338T2
Authority
DE
Germany
Prior art keywords
decoder
signature
code
iteration
data
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 - Lifetime
Application number
DE60104338T
Other languages
English (en)
Other versions
DE60104338D1 (de
Inventor
David Bass
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.)
InterDigital Technology Corp
Original Assignee
InterDigital Technology Corp
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 InterDigital Technology Corp filed Critical InterDigital Technology Corp
Publication of DE60104338D1 publication Critical patent/DE60104338D1/de
Application granted granted Critical
Publication of DE60104338T2 publication Critical patent/DE60104338T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6588Compression or short representation of variables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Kommunikationssysteme, die eine Fehlerkorrektur für empfangene Kommunikationssignale einsetzen und insbesondere auf solche Systeme, die iterative Turbo-Decodersysteme einsetzen.
  • Hintergrund
  • Turbocodes sind eine Form von Fehlerkorrekturcodes, die eine Leistung in der Nähe der Shannon-Grenze bringen zum Betrieb in einem Additive While Gaussian Noise (AWGN) – Kanal in einem drahtlosen Kommunikationssystem, wie zum Beispiel Time Division Duplex unter der Verwendung von Codemultiplex-Vielfachzugriff (Code Division Multiple Access) (TDD/CDMA). Decoder für diese Codes verwenden einen iterativen Algorithmus, der bei jeder Iteration eine verbesserte Schätzung der übertragenen Daten abgibt.
  • Ein wichtiger Konstruktionsparameter für Decoder ist die Anzahl zu verwendender Iterationen. Decoder können in Hardware- oder Software implementiert werden, in jedem Fall bestimmt aber die Anzahl verwendeter Iterationen die Anforderung nach Verarbeitungsressourcen, wie den Verarbeitungsdurchsatz, der zum Erzielen der gewünschten Datenrate benötigt wird, die beim Decodieren verbrauchte Energie und die Menge der Hardware, die bei einer Hardwareimplementierung benötigt wird.
  • Auf diesem Gebiet sind zwei allgemeine Strategien zum Bestimmen der Anzahl von Iterationen in einer Decoderimplementierung bekannt. Erstens kann eine feste Anzahl von Iterationen als ein Teil der Konstruktion bestimmt werden. Dies vereinfacht die Implementierung, erfordert jedoch übermäßig viel Verarbeitungsressourcen, da die feste Anzahl so hoch angesetzt werden muss, dass die gewünschte Leistung erzielt wird, d. h. eine Bitfehlerrate für den erwarteten Bereich von Rauschabstandspegeln, für fast alle Fälle, bei denen viele Decodierungen weniger als die feste Anzahl von Iterationen benötigen würden.
  • Eine weitere Strategie besteht in der Verwendung einer Stoppregel, um dynamisch festzustellen, wann die Decodierung beendet werden kann, ohne dass dadurch die Leistung beeinträchtigt würde. Die einfachste Stoppregel besteht aus hartentscheidungsunterstützten (Hard-Decision-Aided/HDA) Kriterien. Bei der Verwendung dieser Stoppregel wird die Decodierung beendet, wenn zwei aufeinander folgende Iterationen das gleiche Ergebnis haben. Zwischen Iterationen gibt es keine Veränderungen an den harten Entscheidungen. Implementierungen dieser Regel für einen codierten Block von N Bits erfordert N Speicherplätze zum Speichern der Ergebnisse der vorhergehenden Implementierung sowie einen Vergleich des vorhergehenden N-Bit-Ergebnisses mit dem aktuellen N-Bit-Ergebnis.
  • Herkömmliche Stoppkriterien sind in einem Artikel von Shao, Rose Y. und Fossorier, Marc P. C. mit dem Titel "Two Simple Stopping Criteria for Turbo Decoding" ("Zwei einfache Stoppkriterien für die Turbodecodierung"), IEEE Transactions on Communications, Band 47, Nr. 8, August 1999, offenbart. Dieser Artikel gibt zwei einfache Kriterien zum Stoppen des Iterationsvorgangs bei der Turbodecodierung an. EP 1 017 176 und EP 1 009 098 beschreiben die allgemeine Turbo-Code-Fehlererfassung des Standes der Technik. EP 1 009 098 offenbart die Verwendung einer zyklischen Redundanzprüfsumme, die durch das Anhängen von Prüfsummenbits an jeden Rahmen implementiert wird.
  • Ein typischer Turbodecoder kann Turbodecoder-Schätzdaten mit mehr als 5.000 Informationsbits für jede Iteration erzeugen. Demnach erfordert die Implementierung einer herkömmlichen Stoppregel eine zusätzliche Speicherzuweisung von mehr als 5.000 Bits zum Speichern einer ersten Codeiteration zum Vergleich mit einer nächsten Codeiteration, um zu bestimmen, ob die gleichen Ergebnisse erzeugt wurden.
  • Der Erfinder hat erkannt, dass es wünschenswerter wäre, einen verbesserten Turbodecoder vorzusehen, der eine Stoppregel mit einem geringeren Bedarf an zusätzlichem Speicher wirkungsvoller implementieren kann.
  • Zusammenfassung
  • Ein iterativer Turbodecoder und ein entsprechendes Verfahren zur Fehlerkorrektur von Kommunikationssignaldaten sind vorgesehen. Der Decoder wertet rekursiv Signaldaten für eine ausgewählte Anzahl von Iterationen aus.
  • Während jeder Iteration erzeugt die Decoderschaltung eine neue Schätzung des übertragenen Datenblocks, was auch als Extrinsik bezeichnet wird. Ein Decoderdatenspeicher speichert die für eine Decodierungsiteration erzeugte Extrinsik.
  • Eine Signaturcodeerzeugungsschaltung erzeugt für jede Decoderiteration Codesignaturen, die jeder neuen Schätzung des übertragenen Datenblocks entsprechen. Die Codesignaturen sind vorzugsweise mindestens 20 Mal kleiner als die Daten, welche sie repräsentieren, und sind in der Praxis normal mindestens 100 Mal kleiner. Ein relativ kleiner Codesignaturspeicher speichert die Codesignatur, die Turbodecoder-Schätzungsdaten entspricht, die für eine Decodierungsiteration erzeugt wurden.
  • Ein Komparator ist der Signaturcodeschaltung und der Decoderschaltung wirksam zugeordnet. Der Komparator vergleicht ein erzeugtes Codesignal für eine neue Schätzung des übertragenen Datenblocks, die für eine vorliegende Decoderiteration erzeugt und gespeichert wird, mit dem Inhalt des Signaturspeichers. Wenn der Vergleich eine Gleichheit ergibt, stellt die Decoderschaltung die Iterationsverarbeitung ein. Wenn der Vergleich eine Ungleichheit ergibt, wird die erzeugte Codesignatur im Signaturspeicher gespeichert, wo sie zum Vergleich mit einer Codesignatur für eine nächste Decoderiteration zur Verfügung steht.
  • Der Komparator kann zum Speichern des erzeugten Codes im Signaturregister verwendet werden. Als Alternative kann der Komparator einfach auf das Signaturregister zugreifen, bevor der Signaturcodegenerator den neuen Signaturcode ausgibt. Dies erlaubt dem Signaturcodegenerator, den neuen Signaturcode sowohl an den Komparator als auch an das Signaturregister auszugeben, wie das in einer Phantomdarstellung gezeigt ist, was es für den Komparator erübrigt, einen Speichervorgang im Signaturcoderegister durchzuführen.
  • Vorzugsweise ist der Komparator der Decoderschaltung wirksam zugeordnet, um die Decoderschaltungsiterationsverarbeitung erst zu steuern, nachdem eine ausgewählte Mindestanzahl von Iterationen stattgefunden hat. Außerdem stellt vorzugsweise die Decoderschaltung die Iterationsverarbeitung ein, wenn ein vorbestimmter Grenzwert von Iterationen stattgefunden hat. Der Grenzwert von Iterationen ist vorzugsweise eine ganze Zahl, die mindestens um drei größer als die ausgewählte Mindestanzahl ist. In einer bevorzugten Ausführungsform ist die ausgewählte Mindestanzahl vier (4) und der Grenzwert acht (8).
  • Es ist eine Aufgabe der vorliegenden Erfindung, einen iterativen Turbodecoder vorzusehen, der selektiv eine Stoppregel mit weniger Speicherplatzbedarf als der Stand der Technik implementiert.
  • Weitere Aufgaben und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung einer derzeit bevorzugten Ausführungsform ersichtlich.
  • Kurzbeschreibung der Zeichnung(en)
  • 1 ist eine schematische Darstellung eines Turbodecoders, der gemäß der Lehre der vorliegenden Erfindung hergestellt wurde.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform(en)
  • In 1 ist ein Turbodecoder 10 mit einem Kommunikationssignaleingang 12 und einem Ausgang 14 gezeigt. Der Turbodecoder 10 weist eine Turbodecodierungs-Iterationsverarbeitungsschaltung 20 und ein zugeordnetes Turbo-Datenregister 22 auf. Die Decoder-Verarbeitungsschaltung 20 empfängt Datenblöcke von Kommunikationssignalen über den Eingang 12 und erzeugt eine neue Schätzung des übertragenen Datenblocks, die im Register 22 gespeichert wird. Die Verarbeitungsschaltung 20 ist dem Turbo-Datenregister 22 rekursiv zugeordnet, so dass der Prozessor 20 den Inhalt des Turbo-Datenregisters 22 für die zweite und jede folgende Iteration der Turbo-Decodierungsverarbeitung verwendet.
  • Die Turbodecodierungs-Verarbeitungsschaltung 20 ist vorzugsweise mit einem vorbestimmten Grenzwert bezüglich der Anzahl von Verarbeitungsiterationen konfiguriert, die für einen bestimmten Block von Kommunikationsdaten stattfinden, so dass die Turbodecoderausgabe auf dem Inhalt des Turbodecoderregisters nach der letzten Decodierungsiteration basiert. Vorzugsweise ist die maximale Anzahl von Verarbeitungsiterationen, die vom Prozessor 20 durchgeführt wird, acht (8).
  • Der Prozessor 20 implementiert auch eine Stoppregel, bei der weniger als die maximale Anzahl von Iterationen benötigt wird. Wenn der Decoder feststellt, dass sich die für aufeinander folgende Iterationen erzeugten Schätzdaten nicht ändern, wird die iterative Verarbeitung eingestellt. Anstelle des Vorsehens eines relativ großen zusätzlichen Speichers zum Speichern einer vorhergehenden Iteration von Schätzdaten sind ein relativ einfach aufgebauter Signaturcodegenerator 24 und ein relativ kleines Codesignaturregister 26 als Eingaben an einen Komparator 28 vorgesehen, der zum Implementieren der Stoppregel mit dem Iterationsprozessor 20 wirksam verbunden ist.
  • Vorzugsweise ist der Komparator 28 wirksam mit der Decoderschaltung 20 verbunden, um die Decoderschaltungs-Iterationsverarbeitung erst zu steuern, nachdem eine ausgewählte Mindestanzahl von Iterationen stattgefunden hat. Außerdem hört vorzugsweise die Decoderschaltung 20 mit der Iterationsverarbeitung auf, wenn ein vorbestimmter Grenzwert von Iterationen stattgefunden hat. Der Grenzwert von Iterationen ist vorzugsweise eine ganze Zahl, die um mindestens drei größer als die ausgewählte Mindestanzahl ist. In einer bevorzugten Ausführungsform ist die ausgewählte Mindestanzahl vier (4) und der Grenzwert acht (8).
  • Für einen Turbodecoder, der binäre Schätzungsdaten in der Größenordnung von 5.114 Bits für eine einzige Iteration erzeugt, umfasst der Signaturcodegenerator vorzugsweise einen einfachen 16-Bit-Binärteiler, der den binären 5.114-Bit-String von Daten durch eine binäre 16-Bit-Zahl teilt und den Rest, der aus der Teilungsfunktion resultiert, an den Komparator 28 ausgibt. Der Rest übersteigt dann notwendigerweise nicht 16 Bits, da der Divisor eine Länge von 16 Bit hat.
  • Für einen 16-Bit-Divisor wird vorzugsweise die Binärzahl 1000000000000011 verwendet. Ein solcher Divisor entspricht einem binären Polynom, das als 1 + x14 + x15 dargestellt werden kann. Die durch den Codegenerator 24 durchgeführte binäre Teilung entspricht mathematisch dem Teilen einer binären Polynomdarstellung der 5.114-Bit-Iterations-Schätzdaten durch das Polynom 1 + x14 + x15 unter der Verwendung einer binären (d. h. Modulo-2-) Mathematik. Der Rest der binären Teilung entspricht dem restlichen Polynom. Die Wahrscheinlichkeit, dass der Rest für zwei aufeinander folgende 5.114-Bit-Strings von Schätzungsdaten der gleiche ist, ist ungefähr 1/216, was nach Meinung des Erfinders ein akzeptables Restrisiko ist.
  • Die mathematische Korrespondenz und die Verwendung von Polynomdarstellungen zum Erzeugen von Signalcodes ist auf diesem Gebiet wohl bekannt und wird in einem Artikel von Pearson, W. W. und Brown, D. T. mit dem Titel "Signal Codes For Error Detection" ("Signalcodes zur Fehlerdetektion"), Proceedings of the IRE, Januar 1961, erörtert. Der Erfinder hat erkannt, dass diese Form der Codierung bei Turbodecodern angewendet werden kann.
  • Im Betrieb gibt der Turbodecoder-Prozessor 20 für eine bestimmte Iteration N Bits Schätzungsdaten an das Turbo-Datenregister 22 und den Signalcodegenerator 24 aus. Der Signalcodegenerator 24 erzeugt eine entsprechende Codesignatur mit M Bits, das vorzugsweise mindestens 100 Mal kleiner als N ist, die in den Komparator 28 eingegeben werden. Der Komparator 28 vergleicht den M-Bit-Signaturcode, der vom Codegenerator 24 eingegeben wird, mit dem Inhalt des Signaturregisters 26, um zu bestimmen, ob sie gleich sind.
  • Wenn der Komparator eine Gleichheit feststellt, wird das Signal an den Prozessor 20 gesendet, um die Iterationsverarbeitung zu stoppen und die Turbocodierungsergebnisse auszugeben. Wenn der Komparator eine Ungleichheit feststellt, wird der M-Bit-Signaturcode, der vom Signaturcodegenerator 24 empfangen wurde, im Signaturregister 26 gespeichert.
  • Der Komparator 28 kann zum Speichern des erzeugten Codes im Signaturregister 26 verwendet werden. Alternativ dazu kann der Komparator 28 einfach auf das Signaturregister 26 zugreifen, bevor der Signaturcodegenerator 24 den neuen Signaturcode ausgibt. Dies erlaubt es dem Signaturcodegenerator 24, den neuen Signaturcode sowohl an den Komparator 28 als auch an das Signaturregister 26 auszugeben, wie in Phantomdarstellung gezeigt, was für den Komparator 28 die Notwendigkeit erübrigt, einen Speichervorgang in das Signaturcoderegister 26 durchzuführen.
  • Wofür eine Decoderiteration ein 5.114-Bit-Block von Binärdaten erzeugt wird, teilt der Signaturcodegenerator 24 vorzugsweise durch 1000000000000011 zum Erzeugen eines Restes von nicht mehr als 16 Bits, so dass das Signaturregister 26 nur eine 16-Bit-Speicherkapazität zu haben braucht.
  • Die vorliegende Erfindung ist für Hardwareimplementierungen besonders geeignet, wo die Kosten des Erzeugens eines Signaturcodes klein sind und die Kosten zusätzlich benötigten Speicherplatzes hoch wären. Sie kann jedoch auch in Softwareimplementierungen eingesetzt werden.

Claims (17)

  1. Iterativer Turbo-Decoder für die Fehlerkorrektur bei Kommunikationssignaldaten, mit einem Decoder-Datenspeicher (22) zum Speichern für eine Decodierungsiteration erzeugter Decoder-Schätzungsdaten und Decoder-Iterations-Prozessormittel (20) zum Erzeugen aufeinander folgender Iterationen von Decoder-Schätzungsdaten mit einer ausgewählten Bitlänge N und zum Speichern der Decoder-Schätzungsdaten im Decoder-Datenspeicher (22), wobei der iterative Turbo-Decoder gekennzeichnet ist durch: – einen Signaturspeicher (26) zum Speichern einer Codesignatur, die eine ausgewählte Bitlänge M hat, die den Decoder-Schätzungsdaten entspricht, die für eine Decodierungsiteration erzeugt wurden, wobei M mindestens zwanzig Mal kleiner als N ist; – Signaturcodeerzeugungsmittel (24) zum Erzeugen einer M-Bit-Codesignatur von Decoder-Schätzungsdaten durch Verarbeiten der Decoder-Schätzungsdaten mit einem M-Bit-String, der einem vorbestimmten binären Polynom der Ordnung M-1 entspricht; und – einen Vergleicher (28), der mit den Signaturcodeerzeugungsmitteln (24) verbunden ist, und wobei die Decoder-Iterations-Prozessormittel (20) zum Vergleichen einer erzeugten Codesignatur für eine Iteration von Decoder-Schätzungsdaten mit dem Inhalt des Signaturspeichers (26) zum Liefern eines Stoppsignals an die Decoder-Iterations-Prozessormittel (20) vorgesehen sind, wenn der Vergleich eine Gleichheit widerspiegelt.
  2. Iterativer Turbo-Decoder nach Anspruch 1, bei dem – der Vergleicher (28) so konfiguriert ist, dass er erst dann ein Stoppsignal sendet, wenn eine ausgewählte Anzahl von Iterationen stattgefunden hat; und – die Decoder-Iterations-Prozessormittel (20) so konfiguriert sind, dass sie die Iterationsverarbeitung stoppen, wenn ein vorbestimmter Grenzwert von Iterationen stattgefunden hat, wobei der Grenzwert eine ganze Zahl ist, die um mindestens drei größer als die ausgewählte Anzahl ist.
  3. Iterativer Turbo-Decoder nach Anspruch 2, bei dem die Anzahl vier und der Grenzwert acht ist.
  4. Iterativer Turbo-Decoder nach Anspruch 1, bei dem die Signaturcodeerzeugungsmittel (24) so konfiguriert sind, dass sie in der Weise Codesignaturen erzeugen, dass die Codesignatur-Bitlänge M mindestens 100 Mal kleiner als die ausgewählte Bitlänge N ist.
  5. Iterativer Turbo-Decoder nach Anspruch 1, bei dem die Decoder-Schätzungsdaten ein N Bit langer binärer String sind und die Signaturcodeerzeugungsmittel (24) einen binären Teiler zum Teilen entsprechender N Bit langer binärer Strings von Decoderdaten durch den M-Bit-String, der einem ausgewählten binären Teiler entspricht, und zum Ausgeben der restlichen Teilung an den Vergleicher (28) als die Codesignatur umfassen.
  6. Iterativer Turbo-Decoder nach Anspruch 5, bei dem die Decoder-Schätzungsdaten-Binärstrings eine Bitlänge von mindestens 5.000 Bit haben und der binäre Teiler eine 16-Bit-Binärzahl ist, wodurch die Codesignaturen höchstens 16 Bit lang sind.
  7. Iterativer Turbo-Decoder nach Anspruch 6, bei dem der Teiler 1000000000000011 ist.
  8. Iterativer Turbo-Decoder nach Anspruch 1, bei dem der Vergleicher (28) mit dem Signaturspeicher (26) verbunden ist, um eine Codesignatur so abzuspeichern, dass sie zum Vergleich mit einer Codesignatur für eine nächste Decoder-Iteration zur Verfügung steht.
  9. Iterativer Turbo-Decoder nach Anspruch 1, bei dem die Signaturcodeerzeugungsmittel (24) mit dem Signaturspeicher (26) verbunden sind, um eine Codesignatur so abzuspeichern, dass sie zum Vergleich mit einer Codesignatur für eine nächste Decoder-Iteration zur Verfügung steht.
  10. Verfahren für einen iterativen Turbo-Decoder, der Fehler in Kommunikationssignaldaten durch rekursives Auswerten von Signaldaten für eine ausgewählte Anzahl von Iterationen korrigiert, indem er aufeinander folgende Iterationen von Decoder-Schätzungsdaten mit einer ausgewählten Bitlänge N erzeugt und die Decoder-Schätzungsdaten im Decoder-Datenspeicher (22) speichert, wobei das Verfahren gekennzeichnet ist durch: – Speichern einer erzeugten Codesignatur, die eine ausgewählte Bitlänge M hat, die den Decoder-Schätzungsdaten entspricht, die für eine Decodierungsiteration erzeugt wurden, in einem Signaturspeicher (26), wobei M mindestens zwanzig Mal kleiner als N ist; – Erzeugen einer M-Bit-Codesignatur von Decoder-Schätzungsdaten durch Verarbeiten der Decoder-Schätzungsdaten mit einem M-Bit-String, der einem vorbestimmten binären Polynom der Ordnung M-1 entspricht; und – Vergleichen einer erzeugten Codesignatur für eine Iteration von Decoder-Schätzungsdaten mit dem Inhalt des Signaturspeichers (26); und – Stoppen der Decoder-Schätzungsdaten-Iterationserzeugung, wenn der Vergleich eine Gleichheit widerspiegelt.
  11. Verfahren nach Anspruch 10, bei dem: – eine Mindestanzahl von Decodierungsiterationen durchgeführt wird, bevor die Decoder-Schätzungsdaten-Iterationserzeugung gestoppt wird; – die Decoder-Schätzungsdaten-Iterationserzeugung gestoppt wird, wenn ein vorbestimmter Grenzwert von Iterationen stattgefunden hat, wobei der Grenzwert eine ganze Zahl ist, die mindestens um drei größer als die Mindestanzahl ist; und – die Decoder-Schätzungsdaten-Iterationserzeugung gestoppt wird, nachdem die Mindestanzahl von Iterationen und bevor der vorbestimmte Grenzwert von Iterationen stattgefunden hat, wenn der Vergleich eine Gleichheit widerspiegelt.
  12. Verfahren nach Anspruch 11, bei dem die Mindestanzahl vier und der Grenzwert acht ist.
  13. Verfahren nach Anspruch 10, bei dem die Decoder-Schätzungsdaten für jede Verarbeitungsiteration ein binärer String sind und die Signaturcodes durch binäres Teilen entsprechender binärer Strings von Decoder-Schätzungsdaten durch einen ausgewählten binären Teiler erzeugt werden und der Rest der Teilung zum Vergleich als die Codesignatur ausgegeben wird.
  14. Verfahren nach Anspruch 13, bei dem die Decoder-Schätzungsdaten-Binärstrings eine Bitlänge von mindestens 5.000 haben und der binäre Teiler eine 16-Bit-Binärzahl ist, wobei die Codesignaturen höchstens 16 Bit lang sind.
  15. Verfahren nach Anspruch 14, bei dem der Teiler 1000000000000011 ist.
  16. Verfahren nach Anspruch 10, bei dem die erzeugte Codesignatur von Signaturcodeerzeugungsmitteln (24) im Signaturspeicher (26) so gespeichert wird, dass sie für einen Vergleich mit einer Codesignatur für eine nächste Decoder-Iteration zur Verfügung steht.
  17. Verfahren nach Anspruch 10, bei dem die erzeugte Codesignatur von einem Codesignaturvergleicher (28) im Signaturspeicher (26) so gespeichert wird, dass sie für einen Vergleich mit einer Codesignatur für eine nächste Decoder-Iteration zur Verfügung steht.
DE60104338T 2000-11-14 2001-11-01 Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium Expired - Lifetime DE60104338T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24844000P 2000-11-14 2000-11-14
US248440P 2000-11-14
PCT/US2001/045742 WO2002041563A2 (en) 2000-11-14 2001-11-01 Turbo decoding apparatus and method implementing stopping rule with circular redundancy code signature comparison

Publications (2)

Publication Number Publication Date
DE60104338D1 DE60104338D1 (de) 2004-08-19
DE60104338T2 true DE60104338T2 (de) 2004-12-02

Family

ID=22939139

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60104338T Expired - Lifetime DE60104338T2 (de) 2000-11-14 2001-11-01 Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium

Country Status (20)

Country Link
US (1) US6956912B2 (de)
EP (2) EP1418697A1 (de)
JP (3) JP3852406B2 (de)
KR (8) KR100525987B1 (de)
CN (2) CN1874211A (de)
AR (3) AR031331A1 (de)
AT (1) ATE271289T1 (de)
AU (1) AU2002220117A1 (de)
BR (1) BR0115954A (de)
CA (2) CA2428776C (de)
DE (1) DE60104338T2 (de)
DK (1) DK1378086T3 (de)
ES (1) ES2225647T3 (de)
HK (1) HK1063548A1 (de)
IL (3) IL155880A0 (de)
MX (1) MXPA03004267A (de)
MY (1) MY126922A (de)
NO (1) NO20032162L (de)
TW (1) TW522659B (de)
WO (1) WO2002041563A2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001043384A2 (en) 1999-12-03 2001-06-14 Broadcom Corporation Viterbi slicer for turbo codes
EP1254544B1 (de) 1999-12-03 2015-04-29 Broadcom Corporation Eingebettete trainingssequenzen für frequenzerfassung und -verfolgung
EP1329025A1 (de) 2000-09-05 2003-07-23 Broadcom Corporation Quasi-fehlerfreie kommunikation unter verwendung von turbokoden
US7242726B2 (en) 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6518892B2 (en) 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
US7533320B2 (en) * 2000-11-14 2009-05-12 Interdigital Technology Corporation Wireless transmit/receive unit having a turbo decoder with circular redundancy code signature comparison and method
KR100713331B1 (ko) * 2000-12-23 2007-05-04 삼성전자주식회사 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법
JP3512176B2 (ja) * 2001-05-15 2004-03-29 松下電器産業株式会社 ターボ復号装置およびターボ復号における復号の繰返し回数の制御方法
EP1499025A1 (de) * 2003-07-17 2005-01-19 Evolium S.A.S. Stopkriterium für eine iterative Datenverarbeitungsmethode
US8171367B2 (en) 2005-06-27 2012-05-01 Thomson Licensing Stopping criteria in iterative decoders
EP1783916B1 (de) * 2005-11-07 2019-11-06 Samsung Electronics Co., Ltd. Gerät und Methode zum Anhalten einer iterativen Dekodierung in einem mobilen Kommunikationssystem
JP2010011119A (ja) * 2008-06-27 2010-01-14 Nec Electronics Corp 復号方法および復号装置
US8984377B2 (en) 2011-04-19 2015-03-17 National Kaohsiung First University Of Science And Technology Stopping methods for iterative signal processing

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1127413B1 (de) * 1998-11-05 2011-06-22 Qualcomm Incorporated Effiziente iterative dekodierung
US6298084B1 (en) * 1998-11-24 2001-10-02 Motorola, Inc. Bad frame detector and turbo decoder
EP1009098A1 (de) 1998-12-10 2000-06-14 Sony International (Europe) GmbH Fehlerkorrektur mit Turbokodierung und CRC
DE69943198D1 (de) 1998-12-30 2011-03-31 Canon Kk Kodierungsvorrichtung und Verfahren, Dekodierungsvorrichtung und Verfahren und dazugehörige Systeme
US6665357B1 (en) * 1999-01-22 2003-12-16 Sharp Laboratories Of America, Inc. Soft-output turbo code decoder and optimized decoding method
DE19934646C2 (de) 1999-07-16 2001-09-13 Univ Dresden Tech Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes
US6898254B2 (en) * 2000-01-31 2005-05-24 Texas Instruments Incorporated Turbo decoder stopping criterion improvement
US6879648B2 (en) * 2000-01-31 2005-04-12 Texas Instruments Incorporated Turbo decoder stopping based on mean and variance of extrinsics
US6526531B1 (en) * 2000-03-22 2003-02-25 Agere Systems Inc. Threshold detection for early termination of iterative decoding
US6591390B1 (en) * 2000-04-11 2003-07-08 Texas Instruments Incorporated CRC-based adaptive halting turbo decoder and method of use
US6675342B1 (en) * 2000-04-11 2004-01-06 Texas Instruments Incorporated Direct comparison adaptive halting decoder and method of use
US20010052104A1 (en) * 2000-04-20 2001-12-13 Motorola, Inc. Iteration terminating using quality index criteria of turbo codes
US6865708B2 (en) * 2000-08-23 2005-03-08 Wang Xiao-An Hybrid early-termination methods and output selection procedure for iterative turbo decoders
JP2002100995A (ja) * 2000-09-22 2002-04-05 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
US6518892B2 (en) * 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding

Also Published As

Publication number Publication date
KR20090102847A (ko) 2009-09-30
DE60104338D1 (de) 2004-08-19
ATE271289T1 (de) 2004-07-15
DK1378086T3 (da) 2004-11-15
JP3852406B2 (ja) 2006-11-29
NO20032162D0 (no) 2003-05-13
KR20080014927A (ko) 2008-02-14
JP2009278686A (ja) 2009-11-26
KR20040055719A (ko) 2004-06-26
AR065022A2 (es) 2009-05-13
EP1378086B1 (de) 2004-07-14
KR100886858B1 (ko) 2009-03-05
KR20040100836A (ko) 2004-12-02
KR20070065445A (ko) 2007-06-22
MY126922A (en) 2006-10-31
US20020061079A1 (en) 2002-05-23
KR100525987B1 (ko) 2005-11-08
CN1478340A (zh) 2004-02-25
IL197056A0 (en) 2009-11-18
CA2428776C (en) 2008-01-15
CA2604072A1 (en) 2002-05-23
KR101022730B1 (ko) 2011-03-22
KR100871403B1 (ko) 2008-12-02
KR100744201B1 (ko) 2007-08-01
KR20080075532A (ko) 2008-08-18
MXPA03004267A (es) 2003-09-10
CN1264298C (zh) 2006-07-12
KR100941664B1 (ko) 2010-02-11
HK1063548A1 (en) 2004-12-31
KR20090060350A (ko) 2009-06-11
TW522659B (en) 2003-03-01
CA2428776A1 (en) 2002-05-23
WO2002041563A3 (en) 2003-10-30
ES2225647T3 (es) 2005-03-16
NO20032162L (no) 2003-06-24
WO2002041563A2 (en) 2002-05-23
KR100926812B1 (ko) 2009-11-12
CN1874211A (zh) 2006-12-06
AU2002220117A1 (en) 2002-05-27
AR054111A2 (es) 2007-06-06
JP2006325259A (ja) 2006-11-30
JP2004527142A (ja) 2004-09-02
IL155880A (en) 2008-07-08
AR031331A1 (es) 2003-09-17
US6956912B2 (en) 2005-10-18
BR0115954A (pt) 2004-01-06
KR20090016728A (ko) 2009-02-17
EP1378086A2 (de) 2004-01-07
IL155880A0 (en) 2003-12-23
EP1378086B9 (de) 2005-01-05
EP1418697A1 (de) 2004-05-12

Similar Documents

Publication Publication Date Title
DE60107527T2 (de) Einrichtung und Verfahren zum Anhalten einer iterativen Dekodierung in einem CDMA Mobilkommunikationssystem
DE60104338T2 (de) Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE69936683T2 (de) Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt
DE69936908T2 (de) Iterative dekodierung von produktkoden
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE602004012417T2 (de) Dekodierungsvorrichtung und dekodierungsverfahren
DE69925151T2 (de) Effiziente normalisierung vom trelliszustandsmetrischem wert
DE112011106024B4 (de) Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
EP0755122A2 (de) Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Information
DE19963683A1 (de) Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision
DE10238841B4 (de) Parallelverarbeitung der Decodierung und der zyklischen Redundanzüberprüfung beim Empfang von Mobilfunksignalen
DE102007035210A1 (de) Verfahren und Vorrichtung zur LDPC-Dekodierung mit gemeinsamer Hardwarenutzung und serieller Summe-Produkt-Architektur
DE112005003706T5 (de) Modifizierter turbo-decodierender Nachrichtenweiterleitungsalgorithmus für Paritätsprüfcodes mit geringer Dichte
DE60007956T2 (de) Vorrichtung und Verfahren zur SISO Dekodierung
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE69911847T2 (de) Verfahren zum Identifizieren von Datenrahmen zur Löschung in einem digitalen Datenübertragungssystem
DE69908629T2 (de) Hybrid verschachteler für turbo-kodierer
DE60319557T2 (de) Verfahren zur Verminderung der Anzahl der Bits pro Softbit
DE102011056132B4 (de) Verfahren und Vorrichtung zum Decodieren von Daten
DE19960269A1 (de) Übertragungsverfahren mit Kanalcodierung mit wirksamer und modularer Verschachtelung für Turbocodes
DE60118716T2 (de) Log-MAP Dekodierung
EP2332301B1 (de) Verfahren und einrichtung zur quantisierung von likelihood-quotienten
DE4333382A1 (de) Verfahren und Vorrichtung zum Bilden des Reziproken eines beliebigen Elementes in einem finiten Feld
CH660270A5 (de) Decoderschaltung, verfahren zu deren betrieb und drahtloser rufempfaenger.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition