DE69838451T2 - Verfahren und schaltung zur adaptiven kanalkodierung - Google Patents

Verfahren und schaltung zur adaptiven kanalkodierung Download PDF

Info

Publication number
DE69838451T2
DE69838451T2 DE69838451T DE69838451T DE69838451T2 DE 69838451 T2 DE69838451 T2 DE 69838451T2 DE 69838451 T DE69838451 T DE 69838451T DE 69838451 T DE69838451 T DE 69838451T DE 69838451 T2 DE69838451 T2 DE 69838451T2
Authority
DE
Germany
Prior art keywords
bits
input information
information bits
interleaving
encoder
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
DE69838451T
Other languages
English (en)
Other versions
DE69838451D1 (de
Inventor
Chang Soo Park
Hyeon Woo Suwon-shi LEE
Pil Joong Lee
Jun Jin Songnam-shi KONG
Yong Seong-Nam shi Kyungki-do KIM
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1019970060101A external-priority patent/KR100454952B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE69838451D1 publication Critical patent/DE69838451D1/de
Application granted granted Critical
Publication of DE69838451T2 publication Critical patent/DE69838451T2/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/0041Arrangements at the transmitter end
    • 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/27Coding, 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 using interleaving techniques
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2721Coding, 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 using interleaving techniques the interleaver involving at least two directions the interleaver involves a diagonal direction, e.g. by using an interleaving matrix with read-out in a diagonal direction
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo 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/27Coding, 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 using interleaving techniques
    • H03M13/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • 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/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component 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/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/2996Tail biting
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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
    • 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/0065Serial concatenated codes
    • 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
    • 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/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • 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/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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/0059Convolutional codes

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)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft adaptive Kanalcodierverfahren und -vorrichtungen für Kommunikationssysteme, und insbesondere adaptive Kanalcodierverfahren und -vorrichtungen zum Einsatz bei der Übertragung von Sprache und Daten.
  • 2. Beschreibung des Standes der Technik
  • Ein Turbocodierer, der parallel oder seriell aufgebaut ist, erzeugt Paritätssymbole aus einem Eingangs-N-Informationsbit-Rahmen mit zwei einzelnen Teil-(oder Einzel-)Codierern. Er verwendet einen rekursiven, systematischen Faltungscode (recursive systematic convolutional code, RSC) als Teil-(oder Einzel-)code.
  • 1 ist ein Blockdiagramm eines herkömmlichen parallelen Turbocodierers, der in dem US-Patent Nr. 5,446,747 von Berrou offenbart wurde. In dem Turbocodierer aus 1 wird ein Interleaver 12 zwischen einen ersten und einen zweiten Teilcodierer 11 und 13 zwischengeschaltet. Die Größe des Interleavers 12 ist zu der Rahmenlänge N der Eingangs-Informationsbits äquivalent, sie modifiziert die Abfolge der Informationsbits, die von dem zweiten Teilcodierer 13 empfangen wurden, um die Korrelation zwischen den Informationsbits zu verringern. 2 ist ein Blockdiagramm eines herkömmlichen seriellen Turbocodierers, bei dem ebenfalls der Interleaver 12 zwischen einen ersten und einen zweiten Teilcodierer 11 und 13 zwischengeschaltet ist.
  • Die oben genannten Turbocodierer erzeugen einen Turbocode zur Verwendung in der Weltraum-Kommunikation. Obwohl eine zwingend erforderliche Länge K in den Teilcodierern 11 und 13 kürzer als die eines herkömmlichen Faltungscodes ist (das heißt, K = 9), verwendet der Interleaver 12 einen sehr großen Speicher, wodurch zum Decodieren eine sehr lange Zeit benötigt wird.
  • 3 ist ein Blockdiagramm eines Turbodecodierers zum Decodieren der Ausgabe des parallelen Turbocodierers, der in 1 gezeigt und darüber hinaus in dem US-Patent Nr. 5,446,747 von Berrou offenbart wurde. 4 ist ein Blockdiagramm eines Turbodecodierers zum Decodieren der Ausgabe des seriellen Turbocodierers, der in 2 gezeigt und von Benedetto in einem Artikel der IEEE Electronics Letters, Band 32, Nr. 13, Juni 1996, offenbart wird.
  • Der parallele Turbodecodierer in 3 verbessert die Leistungscharakteristiken hinsichtlich der Bitfehlerwahrscheinlichkeit (bit error rate – BER) vorteilhaft dadurch, dass er Eingabedaten mit einem iterativen Decodierungs-Algorithmus wiederholt in Rahmeneinheiten decodiert. Ein Interleaver 323 trägt zu einem Anstieg der Fehlerkorrekturfähigkeit bei, indem er Burstfehlermuster verteilt, die nicht durch einen ersten Decodierer 319 korrigiert wurden, bevor die Burstfehlermuster in einem zweiten Decodierer 327 korrigiert werden.
  • Das iterative Decodieren bezieht sich auf das wiederholte Decodieren von Symbolen, die mit einem speziellen Verfahren decodiert werden, und nutzt resultierende extrinsische Informationen, um beim Decodieren eine hervorragende Leistungsfähigkeit zu erzielen. Iterative Decodierungs-Algorithmen sind beispielsweise der Algorithmus SOVA (Soft-Output-Viterbi-Algorithmus: siehe "Proceedings of IEEE Vehicular Technology Conference", S. 941–944, Mai 1993) und MAP (maximum aposteriori probability – Maximum-a-posteriori-Wahrscheinlichkeit: siehe "IEEE Transactions an Information Theory", S. 429–445, Band 42, Nr. 2, März 1996). SOVA ist eine Modifikation eines Viterbi-Algorithmus, der eine weiche Entscheidungs-Ausgabe erzeugt und die Codewort-Fehlerrate minimieren kann. Andererseits kann MAP die Symbol-Fehlerrate minimieren.
  • In dem Decodierer in 3 sind die Ausgaben y1k beziehungsweise y2k eines Depunktierers 313 yk beziehungsweise null, wenn von dem ersten Teilcodierer 11 in 1 ein Paritätssymbol yk empfangen wird, wogegen die beiden Werte null beziehungsweise yk betragen, wenn von dem zweiten Teilcodierer 13 in 1 das Paritätssymbol yk empfangen wird. Zk + 1 ist ein weiches Entscheidungssymbol, das als extrinsische Information in einem iterativen Decodierungs-Algorithmus dient und als Eingabe zum Decodieren in einer nächsten Stufe verwendet wird. Ein finales intendiertes Symbol wird durch harte Entscheidung von Zk + 1 erzielt. Die Leistungsfähigkeit des Turbocodes hängt von der Größe und der Struktur des Interleavers sowie der Anzahl der iterativen Decodierungsvorgänge ab.
  • Wie in 1 gezeigt, umfasst der Turbocodierer den Interleaver 12. Der Interleaver 12 bewirkt, dass das Turbocodieren/-decodieren in Rahmeneinheiten implementiert wird. Auf diese Weise ist die Komplexität des Turbocodes proportional zum Produkt der Rahmengröße eines Speichers, der für einen ersten und einen zweiten iterativen Decodierer 319 und 327, wie in 3 gezeigt, notwendig ist, und der Statuszahl der Teilcodes für den ersten und den zweiten Teilcodierer 11 und 13. Der Turbocode kann bei der Sprach- und Datenübertragung nicht eingesetzt werden, da er sehr große Rahmen nutzt. Das Erhöhen der Statuszahl der Teilcodes für den Turbocodierer zum Erzielen einer verbesserten Leistungsfähigkeit führt zu einer erhöhten Komplexität des ersten und des zweiten Teilcodierers 11 und 13.
  • Bei einem Burstfehler in dem Decodierer, wie in 3 gezeigt, besitzt die Ausgabe des ersten iterativen Decodierers 319 eine Korrelation, die ein zuverlässiges Decodieren in dem zweiten iterativen Decodierer 327 in der nächsten Decodierungsstufe verhindert. Somit treten Fehler gleich in einem ganzen Block auf und können in einer nächsten iterativen Decodierungsstufe nicht korrigiert werden. In diesem Kontext besteht ein ständig ansteigender Bedarf für einen Interleaver und einen Deinterleaver, die Burstfehler in einem einzigen Rahmen eines Codes, der ohne Korrelation iterativ decodiert wird, verteilen können.
  • Durch den Vorteil einer geringen Korrelation erhöht ein Zufalls-Interleaver die Leistungsfähigkeit des Turbocodes. Bei einer kleinen Rahmengröße jedoch ist die Effizienz des Zufalls-Interleavers beschränkt, da er Burstfehler ohne Korrelation verteilt und eine Nachschlagetabelle benötigt. Eine Sprachübertragung oder eine langsame Datenübertragung benötigen jedoch eine kleine Rahmengröße und eine kleine Anzahl von Teilcodezuständen, um die Verzögerungszeit gering zu halten. Die Sprachübertragung oder die langsame Datenübertragung benötigen darüber hinaus einen strukturierten Interleaver. Kurz, der herkömmliche Turbocode ist bei der Sprach- und Datenübertragung nicht praktikabel, da die zwingend erforderliche Länge der Teilcodes und der große Interleaver nicht akzeptabel sind. Es werden jedoch große Anstrengungen unternommen, um einen Codierer und einen Decodierer für ein Kommunikationssystem zu realisieren, in das die Vorteile des herkömmlichen Turbocodes mit einbezogen werden.
  • Folglich besteht ein Bedürfnis nach einem Turbocodierer, der eine Leistungsfähigkeit besitzt, die gleich oder höher ist als die eines Faltungscodierers in einem herkömmlichen Kommunikationssystem. Darüber hinaus besteht ein Bedürfnis nach einem Interleaver, der mit kleinen Teilcodezuständen und bei minimierter Verzögerungszeit eine hervorragende Leistungsfähigkeit besitzt. Obwohl die Leistungsfähigkeit des Interleavers 12 in 1 oder 2 zum Verwenden in einem Turbocodierer im Allgemeinen proportional zu der Größe des Interleavers ist, ist die Rahmengröße des Turbocodes jedoch begrenzt. In diesem Fall ist die Verwendung eines Interleavers vorzuziehen, der eine Mindest-Hamming-Distanz des Turbocodes im Hinblick auf einen Block-Code maximiert. Ein strukturierter Interleaver kann für kleine Rahmen verwendet werden.
  • In W. Blackert et al.: "Turbo code termination and interleaver condition", Electronic Letters, Band 31, Nr. 24, 23. November 1995 (XP6003664), wird auf das Turbocode-Ende und Interleaverbedingungen Bezug genommen. Gemeinsam mit Interleavern werden Teilcodierer verwendet, und darin wird ein entsprechender rekursiver, systematischer Faltungscodierer beschrieben. Eine Eingabesequenz u, die aus einer (N-v)-Bit-Mitteilung, die von einem v-Bit-Abschluss-Ende gefolgt wird, besteht und mit einer entsprechenden Datensequenz beginnt, wird Interleaving unterworfen. Das bedeutet, dass die Datensequenz beider oder aller Codierer Interleaving unterworfen wird, wobei nichts darüber offenbart wird, ob das Interleaving für die Anzahl der Eingangs-Informationsbits eingerichtet ist, oder über die Endbits. Es wird nur gesagt, dass die Eingabesequenz des entsprechenden Codierers aus einer Bit-Nachricht und einem Bit-Abschluss-Ende besteht.
  • In Bömer et al.: "A CDMA Radio link with Turbo-Decoding: Concept and Performance Evaluation", 6th IEEE Symposium an Personal, Indoor and Mobile Radio Communications, 27. bis 29. September 1995, Seiten 788 bis 793, wird eine CDMA-Funkverbindung mit einem Turbodecodierungsschema offenbart. insbesondere werden die Größen der Interleaver betrachtet. Die entsprechenden Eigenschaften eines allgemeinen Codierungsverfahrens oder Turbocodierers werden nicht offenbart.
  • D. Divsalar, F. Pollara: "Turbo Codes for Deep-Space Communications", TDA progress report 42-120, Jet Propulsion Laboratory, Pasadena, CA, US, 15.02.1995, Seiten 29 bis 39, offenbaren ein Trellis-Ende für rekursive Teilcodierer. Die entsprechende Endsequenz hängt von dem Status jedes Teilcodierers nach N Bit ab. Eine Verschiebeeinrichtung wird verwendet, die sich für die ersten N Taktzyklen in einer bestimmten Position befindet und für M zusätzliche Zyklen, die die Codierer mit Nullen spülen, in einer zweiten Position. Ein solches Determinations-Verfahren kann für eine unsymmetrische Rate und für Speicher-Codierer verwendet werden.
  • Zusammenfassung der Erfindung
  • Es ist eine Aufgabe der Erfindung, einen Turbocodierer und die entsprechenden Kanalcodierverfahren zu verbessern, so dass diese bei der Sprach- und Datenübertragung mit einem Interleaver mit hervorragender Leistungsfähigkeit eingesetzt werden können und die Statuszahl des Teilcodierers reduziert wird, wodurch die Komplexität des Decodierers gesenkt wird.
  • Diese Aufgabe wird erfüllt durch die Eigenschaften nach Anspruch 1 und 5.
  • Die Unteransprüche offenbaren vorteilhafte Ausführungsbeispiele der Erfindung.
  • Kurze Beschreibung der Zeichnungen
  • Die oben genannten Aufgaben und Vorteile der vorliegenden Erfindung werden klarer ersichtlich durch eine ausführliche Beschreibung der bevorzugten Ausführungsbeispiele mit Bezug auf die angehängten Zeichnungen, wobei:
  • 1 ein Blockdiagramm eines herkömmlichen parallelen rekursiven systematischen Faltungscodierers zeigt;
  • 2 ein Blockdiagramm eines herkömmlichen seriellen rekursiven systematischen Faltungscodierers zeigt;
  • 3 ein Blockdiagramm eines herkömmlichen parallelen rekursiven systematischen Faltungsdecodierers zeigt;
  • 4 ein Blockdiagramm eines herkömmlichen seriellen rekursiven systematischen Faltungsdecodierers zeigt;
  • 5 ein Blockdiagramm eines ersten rekursiven systematischen Faltungscodierers zeigt, der gemäß der vorliegenden Erfindung genutzt werden kann;
  • 6 ein Blockdiagramm eines zweiten rekursiven systematischen Faltungscodierers zeigt, der gemäß der vorliegenden Erfindung genutzt werden kann;
  • 7 ein Blockdiagramm eines diagonalen und ringförmigen Interleavers in einem Turbocodierer zeigt;
  • 8 ein Ablaufdiagramm mit einer ersten diagonalen Interleaving-Operation in dem diagonalen Interleaver aus 7 zeigt;
  • 9 ein Ablaufdiagramm mit einer zweiten diagonalen Interleaving-Operation in dem diagonalen Interleaver aus 7 zeigt;
  • 10 ein Ablaufdiagramm mit einer ersten ringförmigen Interleaving-Operation in dem ringförmigen Shifting-Interleaver aus 7 zeigt;
  • 11 ein Ablaufdiagramm mit einer zweiten ringförmigen Interleaving-Operation in dem ringförmigen Shifting-Interleaver aus 7 zeigt;
  • 12 einen Graphen zeigt, der die Eigenschaften von Turbocodierern, die auf Zufalls- und Block-Interleaving aufbauen, denen eines Turbocodierers, der auf ringförmigem Shifting-Interleaving aufbaut, gegenüberstellt; und
  • 13 ein Blockdiagramm eines Turbocodierers gemäß der vorliegenden Erfindung zeigt, auf das für die Beschreibung des Erzeugens und Punktierens von Endbits Bezug genommen wird.
  • Ausführliche Beschreibung der bevorzugten Ausführungsbeispiele
  • Für die Klarheit der Beschreibung werden die Ausführungsbeispiele der vorliegenden Erfindung mit Bezug auf einen parallelen rekursiven Faltungs-Turbocodierer beschrieben, andere Konfigurationen, wie beispielsweise ein serieller rekursiver Turbocodierer, werden ebenfalls erwogen. Die 5 und 6 sind Blockdiagramme von Turbocodierern. Die Codierer 410 und 420 sind Teilcodierer zum Codieren eines Eingabe-Informationsbits dk in ein Paritätssymbol Yk, analog zu den Teilcodierern der 1 und 2. Ein diagonaler Interleaver 432 und ein ringförmiger Shift-Interleaver 434 sind ein Funktionsmerkmal der vorliegenden Erfindung und werden beide "Interleaver 430" genannt, außer, wenn auf einen speziellen Interleaver Bezug genommen wird.
  • In den 5 und 6 werden die Informationsbits dk gleichzeitig dem ersten Teilcodierer 410 und dem Interleaver 430 zugeführt. Der Interleaver 430 verändert die Reihenfolge, in der die Informationsbits angeordnet sind, und maximiert vorzugsweise eine Mindest-Hamming-Distanz einer codierten Ausgabeabfolge (Xk, Yk), die den Informationsbits dk entspricht. Ein in den Kanalcodierer eingegebener Datenrahmen ist in seiner Länge variabel, da den Daten ein CRC-(Cyclic Redundancy Check – zyklische Redundanzprüfung) Bit und andere Steuerbits hinzugefügt werden. Um die Länge des Datenrahmens zwingend festzulegen, werden Dummybits hinzugefügt, die von der Differenz zwischen der Größe des Rahmens und des Interleavers abhängen. Da diese Dummybits jedoch mit der Verbesserung der Leistungsfähigkeit des Systems nichts zu tun haben, ist es wünschenswert, diese zu reduzieren. Daher bietet der Interleaver 430 unabhängig von Schwankungen von Parametern, die mit der Rahmengröße zusammenhängen, eine hervorragende Leistungsfähigkeit und einen zuverlässigen Betrieb.
  • 7 ist ein Blockdiagramm des diagonalen Interleavers 432 und des ringförmigen Shifting-Interleavers 434, die in den 5 beziehungsweise 6 gezeigt werden. Sowohl der diagonale als auch der ringförmige Shifting-Interleaver 432 beziehungsweise 434 analysieren ihre entsprechenden variablen Rahmengrößen nach dem Empfang von Informationsbits und führen optimales Interleaving der Eingangs-Informationsbits durch mit dem Interleaver in Verbindung stehende Parameter durch, die von einem System-Controller entsprechend den Ergebnissen der Analyse der Rahmengröße empfangen wurden. Der diagonale Interleaver 432 und der ringförmige Shifting-Interleaver 434 sind in der Beschreibung der Ausführungsbeispiele der vorliegenden Erfindung kombiniert, ein Turbocodierer kann jedoch speziell diagonales oder ringförmiges Shifting-Interleaving getrennt einsetzen. Im Folgenden werden der diagonale Interleaver 432 und der ringförmige Shifting-Interleaver 434 als Interleaver 430 bezeichnet.
  • In 7 speichert ein Register 511 ein Rahmengröße-Signal und ein Interleavertyp-Signal, das von einem System-Controller (nicht dargestellt) empfangen wurde. Eine Diagonal-Interleaving-Tabelle 513 speichert die Zahlen M und N von Spalten und Zeilen in einer Matrix, durch die beim diagonalen Interleaving optimale Diagonal-Interleaving-Eigenschaften hinsichtlich der Rahmengröße erzielt werden können. Das heißt, es werden die gemessenen M×N-Werte gespeichert, die optimales diagonales Interleaving von Informationsbits mit einer variablen Rahmengröße ermöglichen. Die Diagonal-Interleaving-Tabelle 513 gibt einen M×N-Wert aus, der dem Rahmengröße-Signal entspricht, das von dem Register 511 empfangen wurde. Ein Diagonal-Interleaving-Controller 517 empfängt den M×N-Wert der Diagonal-Interleaving-Tabelle 513 und erzeugt eine Leseadresse zum Durchführen des Interleaving der Informationsbits in einem bezeichneten Interleaving-Verfahren.
  • Eine ringförmige Shifting-Interleaving-Tabelle 515 speichert die Sprungparameter P und die Schrittparameter STEP, mit denen optimale Eigenschaften des ringförmigen Shifting-Interleaving hinsichtlich der Rahmengröße der Informationsbits bei ringförmigem Shifting-Interleaving erzielt werden können. Die Sprungparameter P und die Schrittparameter STEP werden empirisch gemessen. Die ringförmige Shifting-Interleaving-Tabelle 515 gibt die Parameter P und STEP aus, die dem Rahmengröße-Signal entsprechen, das von dem Register 511 empfangen wurde. Ein ringförmiger Shifting-Interleaving-Controller 519 empfängt die Parameter P und STEP der ringförmigen Shifting-Interleaving-Tabelle 515 und erzeugt eine Leseadresse zum Durchführen des Interleaving der Informationsbits in einem bezeichneten ringförmigen Shifting-Interleaving-Verfahren. Ein Multiplexer 521 empfängt die Leseadressen von dem Diagonal-Interleaving-Controller 517 und dem ringförmigen Shifting-Interleaving-Controller 519 und wählt einen davon in Übereinstimmung mit dem von dem Register 511 empfangenen Interleavertyp-Signal aus. Ein Speicher 523 empfängt die Informationsbits sequentiell und gibt die unter der von dem Multiplexer 521 empfangenen Leseadresse gespeicherten Informationsbits in einer Interleaving unterworfenen Reihenfolge aus. Der Spei cher 523 ist so konstruiert, dass er groß genug ist, auch Informationsbits mit einer maximalen variablen Rahmengröße unterbringen zu können.
  • Eine Struktur in 7, die nur den diagonalen Interleaver 432 besitzt, enthält das Register 511, die Diagonal-Interleaving-Tabelle 513, den Diagonal-Interleaving-Controller 517 und den Speicher 523. Eine Struktur, die hingegen nur den ringförmigen Shifting-Interleaver 434 in 7 besitzt, enthält das Register 511, die ringförmige Shifting-Interleaving-Tabelle 515, den ringförmigen Shifting-Interleaving-Controller 519 und den Speicher 523. In beiden Fällen werden der Multiplexer 521 und das Interleavertyp-Signal nicht benötigt, wenn nur ein Interleaving-Typ verwendet wird.
  • Die Diagonal-Interleaving-Tabelle 513 und die ringförmige Shifting-Interleaving-Tabelle 515 können aus einem Speicher wie beispielsweise einem ROM oder einem RAM oder aus einer Kombination logischer Vorrichtungen bestehen. Der Diagonal-Interleaving-Controller 517 und der ringförmige Shifting-Interleaving-Controller 519 können durch eine Kombination logischer Vorrichtungen oder einen digitalen Signal-Prozessor realisiert werden.
  • Die 8 und 9 sind Ablaufdiagramme exemplarischer diagonaler Interleaving-Vorgänge, und die 10 und 11 sind Ablaufdiagramme exemplarischer ringförmiger Interleaving-Vorgänge. Ein im Folgenden beispielhaft beschriebener Interleaver besitzt einen Eingabezwischenspeicher.
  • Mit Bezug auf die Struktur des in 7 gezeigten Interleavers 430 werden im Folgenden erste bis dritte Diagonal-Interleaving-Operationen beschrieben.
  • 8 ist ein Ablaufdiagramm der ersten Diagonal-Interleaving-Operation. In 8 umfasst das erste Diagonal-Interleaving einen Prozess des Umstellens einer Eingabebitsequenz in einer M×N-Matrix. Für das erste Diagonal-Interleaving beim Empfang der Informationsbits dk werden die Informationsbits zum sequentiellen Speichern der Informationsbits in dem Speicher 523 (7) unter den Adressen old_addr[k] gespeichert und die Größe des Datenrahmens k wird in Schritt 611 bestimmt. Danach werden in Schritt 613 die Spalten- und Zeilenparameter M×N des Datenrahmens für das Diagonal-Interleaving bestimmt. Das heißt, zum Implementieren von Diagonal-Interleaving wird der M×N-Wert aus der Diagonal-Interleaving-Tabelle auf der Basis der eingegebenen Größe des Datenrahmens k bestimmt. Eine Vielzahl von M×N-Werten kann in einer Nachschlagetabelle gespeichert und entsprechend der Eingabe-Rahmengröße k ausgewählt werden. Alternativ dazu kann ein optimaler M×N-Wert entsprechend der Eingabe-Rahmengröße k berechnet werden. In Schritt 615 wird bestimmt, ob der größte gemeinsame Teiler (greatest common divisor – GCD) von M und N gleich 1 ist. Ist der GCD von M und N gleich 1, werden erste Diagonal-Interleaving-Adressen in Schritt 617 wie folgt bedient. for(k = 0; k < M·N – 1; k + +) new addr[k] = (M – 1 – (k mod N))·N + (k mod N) (1)
  • Nach der Bestimmung der Adressen in einem Ausgabezwischenspeicher, wie in Gleichung (1) gezeigt, werden die in dem Eingabezwischenspeicher gespeicherten Eingangs-Informationsbits Interleaving unterworfen und in dem Ausgabezwischenspeicher gespeichert.
  • Wenn der GCD von M und N in Schritt 615 nicht gleich 1 ist, das heißt, [GCD (M, N) ≠ 1], wird bestimmt, dass das Interleaving in Schritt 619 fehlgeschlagen ist, und das Verfahren wird beendet.
  • Unter der Annahme, dass eine Datensequenz mit M = 6 und N = 5, die in old_addr[k] gespeichert ist, {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29} ist, ist bei einem ersten Diagonal-Interleaving eine in new_addr[k] des Ausgabezwischenspeichers gespeicherte erste diagonale Interleaver-Ausgabesequenz {25 21 17 13 9 0 26 22 18 14 5 1 27 23 19 10 6 2 28 24 15 11 7 3 29 20 16 12 8 4}.
  • Die Eingabedaten und die Ausgabe des ersten diagonalen Interleavers werden in M×N-Matritzen wie folgt tabelliert: [Tabelle 1]
    Eingabesequenz (M = 6, N = 5) Interleaving unterworfene Sequenz (M = 6, N = 5)
    0 1 2 3 4 25 21 17 13 9
    5 6 7 8 9 0 26 22 18 14
    10 11 12 13 14 5 1 27 23 19
    15 16 17 18 19 10 6 2 28 24
    20 21 22 23 24 15 11 7 3 29
    25 26 27 28 29 20 16 12 8 4
  • Das oben genannte erste Diagonal-Interleaving ist jedoch nur dann praktikabel, wenn der GCD von M und N gleich 1 ist. Wenn der GCD (M, N) ≠ 1 ist, beispielsweise bei M = 6 und N = 6, ist das erste Diagonal-Interleaving unmöglich, und es werden dieselben Daten überschrieben, wie in Tabelle 2 gezeigt. [Tabelle 2]
    Eingabesequenz (M = 6, N = 6) Interleaving unterworfene Sequenz (M = 6, N = 6)
    0 1 2 3 4 5 30 25 20 15 10 5
    6 7 8 9 10 11 30 25 20 15 10 5
    12 13 14 15 16 17 30 25 20 15 10 5
    18 19 20 21 22 23 30 25 20 15 10 5
    24 25 26 27 28 29 30 25 20 15 10 5
    30 31 32 33 34 35 30 25 20 15 10 5
  • Zweite und dritte Verfahren für diagonales Interleaving enthalten einen Prozess zum Permutieren einer eingegebenen Informationsbitsequenz, die in einer M×N-Matrix ausgedrückt wird, und ermöglichen es, dass die Eingabedaten Interleaving unterworfen werden können, unabhängig davon, ob GCD (M, N) = 1 oder ≠ 1 ist.
  • 9 zeigt ein Ablaufdiagramm der zweiten Diagonal-Interleaving-Operation. In 9 werden Eingabebits durch das zweite Diagonal-Interleaving, das sowohl für Fälle gilt, in denen der GCD (M, N) = 1 ist, als auch für Fälle, in denen der GCD (M, N) ≠ 1 ist, in einer M×N-Matrix umgestellt. Bei dem zweiten Diagonal-Interleaving werden in Schritt 631 bei der Eingabe der Informationsbits dk die Informationseingabebits unter den Ad ressen old_addr[k] gespeichert, und die Rahmengröße k wird bestimmt. Danach wird in Schritt 633 ein Spalten- und Zeilenparameter (M×N) für das Diagonal-Interleaving bestimmt. In Schritt 635 werden zweite Diagonal-Interleaving-Adressen betrieben durch for(j = 0; j < M; j + +) for(i = 0; i < N; i + +) new addr[i + j + N] = i + (M –1 – (i + j)mod M)·N (2)wobei i und j den Rahmenort erhöhen.
  • Nach der Bestimmung der Adressen des Ausgabezwischenspeichers, wie in Gleichung (2) gezeigt, werden die in dem Eingabezwischenspeicher gespeicherten Informationsbits Interleaving unterworfen und in dem Ausgabezwischenspeicher gespeichert.
  • Die dem zweiten diagonalen Interleaving unterworfene Ausgabe, die einer Eingabesequenz mit M = 6, N = 5 und dem GCD (M, N) = 1 entspricht, wird in Tabelle 3 gezeigt. [Tabelle 3]
    Eingabesequenz (M = 6, N = 5) Interleaving unterworfene Sequenz (M = 6, N = 5)
    0 1 2 3 4 25 21 17 13 9
    5 6 7 8 9 20 16 12 8 4
    10 11 12 13 14 15 11 7 3 29
    15 16 17 18 19 10 6 2 28 24
    20 21 22 23 24 5 1 27 23 19
    25 26 27 28 29 0 26 22 18 14
  • Darüber hinaus wird eine Eingabesequenz mit M = 6, N = 6 und dem GCD (M, N) ≠ 1 Interleaving unterworfen, wie in Tabelle 4 gezeigt. [Tabelle 4]
    Eingabesequenz (M = 6, N = 6) Interleaving unterworfene Sequenz (M = 6, N = 6)
    0 1 2 3 4 5 30 25 20 15 10 5
    6 7 8 9 10 11 24 29 14 9 4 35
    12 13 14 15 16 17 18 13 8 3 34 29
    18 19 20 21 22 23 12 7 2 33 28 23
    24 25 26 27 28 29 6 1 32 27 22 17
    30 31 32 33 34 35 0 31 26 21 16 11
  • Bei dem dritten Diagonal-Interleaving kann der Diagonal-Interleaving-Controller 517 implementiert werden durch for (j = 0; j; < M; j + +) for (i = 0; i < N; i + +) new addr[i + j + N] = i + ((i + j)mod M)·N (3)
  • Eine Eingabesequenz wird unter den Adressen eines abgebildeten Speichers gespeichert und dann von dem diagonalen Interleaver 432 sequentiell spalten- oder zeilenweise ausgelesen. Anderenfalls wird die Eingabesequenz sequentiell in dem Speicher nach Spalten oder Zeilen gespeichert und dann von einem Adressbit bitweise von dem diagonalen Interleaver 432 ausgelesen.
  • Deinterleaving läuft in der umgekehrten Reihenfolge des Interleavings eingegebener Daten ab.
  • 10 zeigt ein Ablaufdiagramm mit einer ersten ringförmigen Interleaving-Operation, die von dem ringförmigen Shifting-Interleaver 434 implementiert wurde. Die erste ringförmige Shifting-Interleaving-Operation ist ein Daten-Umstellungsverfahren in einem vorgegeben Intervall, wobei eine Eingabesequenz als Ring (Kreis) betrachtet wird. Die erste ringförmige Shifting-Interleaving-Operation kann eine Eingabesequenz unabhängig von ihrer Länge Interleaving unterziehen.
  • In 10 werden Eingangs-Informationsbits dk unter den Adressen old_addr[k] eines Eingabezwischenspeichers gespeichert, und die Rahmengröße wird in Schritt 711 be stimmt. Die Parameter P und STEP werden in Schritt 713 bestimmt. Hier ist P ein Sprungintervallparameter, der die Leistungsfähigkeit von einem ringförmigen Shifting-Interleaver bestimmt und daher empirisch erhalten wird, um einen optimalen Effekt zu erzielen. Darüber hinaus ist STEP ein Parameter mit einem ganzzahligen Wert zum Verschieben von Daten von einem von P angesprungenen Ort nach rechts oder links. Danach wird in Schritt 715 bestimmt, ob der GCD von P und SIZE gleich 1 ist. Wenn der GCD (P, SIZE) = 1, werden in Schritt 717 erste ringförmige Shifting-Interleaving-Adressen berechnet durch for (i = 0; i < SIZE; i + +) new addr[i] = (p·i + STEP)mod SIZE (4)wobei i ein Parameter ist, der gleich der Rahmengröße der Eingabedaten oder kleiner als die Eingabedaten-Rahmengröße ist und von null bis SIZE reichen kann, das heißt, der Anzahl der Adressen, SIZE ist eine Rahmengröße, p eine natürliche Zahl, die GCD (SIZE, P) = 1 erfüllt, und STEP ist eine ganze Zahl und zeigt einen Ausgangspunkt an.
  • So entspricht beispielsweise die erste ringförmigem Shifting-Interleaving unterworfene Ausgabe, die unter new_addr[k] des Zwischenspeichers gespeichert ist und einer Eingabesequenz {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29} mit SIZE = 30 entspricht, die unter new_addr[k] des Eingabezwischenspeichers gespeichert ist, dieser Folge {0 11 22 3 14 25 6 17 28 9 20 1 12 23 4 15 26 7 18 29 10 21 2 13 24 5 16 27 8 19}, wenn P = 11 und STEP = 0 sind. Die Eingabesequenz und die erste ringförmigem Shifting-Interleaving unterworfene Ausgabeabfolge werden wie folgt tabelliert: [Tabelle 5]
    Eingabesequenz (M = 6, N = 5) Interleaving unterworfene Sequenz (M = 6, N = 5, p = 11)
    0 1 2 3 4 0 11 22 3 14
    5 6 7 8 9 25 6 17 28 9
    10 11 12 13 14 20 1 12 23 4
    15 16 17 18 19 15 26 7 18 29
    20 21 22 23 24 10 21 2 13 24
    25 26 27 28 29 5 16 27 8 19
  • Bei einem GCD (SIZE, p) 5 ≠ 1 und bei p = 6 ist das erste ringförmige Shifting-Interleaving nicht praktikabel, da dieselben Daten überschrieben werden.
  • Unter der Voraussetzung, dass für eine Eingabesequenz, die in einer sequentiellen Adresse old_addr[k] eines Erstspeichers gespeichert ist, SIZE = 30, P = 11 und STEP = 0 sind, wird eine entsprechende, Interleaving unterworfene Ausgabe, die sich aus dem ersten ringförmigen Shifting-Interleaving gemäß 10 ergibt, durch eine M×N-Matrix, wie unten dargestellt, ausgedrückt. [Tabelle 6]
    Eingabesequenz (M = 6, N = 5) Interleaving unterworfene Sequenz (M = 6, N = 5, p = 6)
    0 1 2 3 4 0 6 12 18 24
    5 6 7 8 9 0 6 12 18 24
    10 11 12 13 14 0 6 12 18 24
    15 16 17 18 19 0 6 12 18 24
    20 21 22 23 24 0 6 12 18 24
    25 26 27 28 29 0 6 12 18 24
  • Ein zweites ringförmiges Interleaving-Schema schließt die Möglichkeit von Interleaving für den Fall ein, dass der GCD (SIZE, p) ≠ 1 ist, wie in 11 gezeigt. Das zweite ringförmige Shifting-Interleaving ist ein Daten-Umstellungsverfahren, in dem eine Eingabesequenz als eine Matrix von d × SIZE/d betrachtet wird, die Zeilen sind einem ersten ringförmigen Shifting-Interleaving unterworfen, die Spalten sind Block-Interleaving unterworfen.
  • 11 ist ein Ablaufdiagramm von dem zweiten ringförmigen Shifting-Interleaving, das angewendet werden kann, unabhängig davon, ob der GCD (SIZE, p) = 1 oder ≠ 1 ist. Bei der zweiten ringförmigen Shifting-Interleaving-Operation werden in Schritt 721 die Eingangs-Informationsbits in einer sequentiellen Adresse old_addr[k] eines Speichers gespeichert und die Größe wird bestimmt. Hier ist die Größe ein Parameter, der die Größe der Eingabedaten angibt. Die Parameter P und STEP für das ringförmige Shifting-interleaving werden in Schritt 723 bestimmt. In Schritt 725 werden die Adressen für das zweite ringförmige Shifting-Interleaving errechnet durch Gleichung (5): d = GCD(P, SIZE); for(k – j = 0; j < d; j + +) new addr[k] = ((P·i + STEP) + j)mod SIZE (5)wobei i und k zwischen 0 und SIZE betragen können, j ist ein Adressparameter, der von 0 bis d reichen kann, P ist ein Sprungparameter zum Implementieren eines ringförmigen Shifting-Interleaving, und STEP ist ein Parameter, der einen Startpunkt bestimmt, indem er Daten, die sich an einem durch P festgelegten Ort befinden, nach links oder rechts verschiebt.
  • In Gleichung (5) stellt (P × i + STEP) eine ringförmige Shifting-Interleaving-Operation dar, j gibt eine Block-Interleaving-Operation an. SIZE ist die Größe der Eingabedaten, p ist eine natürliche Zahl, und STEP ist eine ganze Zahl.
  • Wenn SIZE = 30 und p = 11 ist, wird eine zweite ringförmige Shifting Interleaving-Ausgabe in einer M×N-Matrix wie folgt ausgedrückt: [Tabelle 7]
    Eingabesequenz (M = 6, N = 5) Interleaving unterworfene Sequenz (M = 6, N = 5, p = 11)
    0 1 2 3 4 0 11 22 3 14
    5 6 7 8 9 25 6 17 28 9
    10 11 12 13 14 20 1 12 23 4
    15 16 17 18 19 15 26 7 18 29
    20 21 22 23 24 10 21 2 13 24
    25 26 27 28 29 5 16 27 8 19
    die mit der Matrix aus Tabelle 6 identisch ist. Wenn jedoch der GCD (SIZE, p) ≠ 1 ist, gilt [Tabelle 8]
    Eingabesequenz (M = 6, N = 5) Interleaving unterworfene Sequenz (M = 6, N = 5, p = 15)
    0 1 2 3 4 0 15 1 16 2
    5 6 7 8 9 17 3 18 4 19
    10 11 12 13 14 5 20 6 21 7
    15 16 17 18 19 22 8 23 9 24
    20 21 22 23 24 10 25 11 26 12
    25 26 27 28 29 27 13 28 14 29
  • Nachdem die Eingabesequenz unter den Adressen eines abgebildeten Speichers gespeichert wurde, werden die Daten von dem ringförmigen Shifting-Interleaver sequentiell spalten- oder zeilenweise ausgelesen. Anderenfalls wird die Eingabesequenz sequentiell in dem Speicher nach Spalten oder Zeilen gespeichert und dann von einem Adressbit bitweise ausgelesen.
  • Deinterleaving kann in der umgekehrten Reihenfolge des Interleavings eingegebener Daten erfolgen.
  • 12 zeigt einen Graphen, der die Leistungsfähigkeit des ringförmigen Shifting-Interleavers in einem parallelen Faltungs-Turbocodierer gemäß dem zweiten Ausführungsbeispiel der vorliegenden Erfindung zeigt. Weit verbreitete Block- und Zufalls-Interleaver werden mit dem ringförmigen Shifting-Interleaver hinsichtlich der BER unter den Bedingungen verglichen, dass ein Teilcode mit K = 2, ein 104-Bit-Rahmen, acht ite rative Decodierungsvorgänge, BPSK-(Bi-Phase Shift Key – Zweiphasenumtastung) Modulation und AWGN(Additive White Gaussian Noise – Additives Weißes Gauß'sches Rauschen) verwendet werden. Wie aus 12 ersichtlich, beträgt Eb/No des ringförmigen Shifting-Interleavers 3 dB, während der Wert des Block-Interleavers 3,4 dB mit einer BER von 10–5 beträgt. Daraus kann die Schlussfolgerung gezogen werden, dass der ringförmige Shifting-Interleaver dem Block-Interleaver hinsichtlich seiner Leistungsfähigkeit um etwa 0,4 dB überlegen ist.
  • 13 ist ein Blockdiagramm eines Turbocodierers gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • In 13 codiert der erste Teilcodierer 410 Eingangs-Informationsbits beispielsweise mit K = 3. Der Interleaver 430 unterzieht die Informationsbits Interleaving mit einem vorgegebenen Verfahren, um dadurch die Reihenfolge der Informationsbits zu verändern. Der Interleaver 430 kann aufgebaut sein wie in 7 gezeigt. In diesem Fall kann er eins der ersten bis dritten diagonalen Interleavings und das erste bis dritte ringförmige Shifting-Interleaving implementieren. Der zweite Teilcodierer 420 codiert die Ausgabe des Interleavers 430 beispielsweise mit K = 3.
  • Ein erster Endbit-Erzeuger 450 umfasst eine erste Verschiebeeinrichtung 455, die mit einem Eingabeanschluss des ersten Teilcodierers 410 verbunden ist, ein Exklusiv-ODER-Gatter 451 zum Durchführen einer Exklusiv-ODER-Operation an der Ausgabe der Speicher 412 und 413 des ersten Teilcodierers 410, sowie einen Bit-Erzeuger 453 zum Erzeugen eines Signals für Endrahmen entsprechend der Ausgabe des Exklusiv-ODER-Gatters 451 und zum Anlegen des Signals an die Verschiebeeinrichtung 455. In dem ersten Endbit-Erzeuger 450 wird die erste Verschiebeeinrichtung 455 bei dem Ende eines Rahmens und nachdem ein Rahmen-Endesignal erzeugt wurde, mit dem ersten Teilcodierer 410 verbunden. Ein zweiter Endbit-Erzeuger 460 umfasst eine zweite Verschiebeeinrichtung 465, die mit einem Eingabe-Anschluss des zweiten Teilcodierers 420 verbunden ist, ein Exklusiv-ODER-Gatter 461 zum Durchführen einer Exklusiv-ODER-Operation an den Ausgaben der Speichervorrichtungen 422 und 423 des zweiten Teilcodierers 420 und einen Bit-Erzeuger 463 entsprechend der Ausgabe des Exklusiv-ODER-Gatters 461, der ein Rahmenendesignal erzeugt und das Signal an die zweite Verschiebeeinrichtung 465 anlegt. In dem zweiten Endbit-Erzeuger 460 wird die zweite Verschiebeeinrichtung 465 bei dem Ende eines Rahmens und nachdem ein Rahmenendesignal erzeugt wurde, mit dem zweiten Teilcodierer 420 verbunden.
  • Eine erste Punktiereinrichtung 470 punktiert Informationsbits. Eine zweite Punktiereinrichtung 480 punktiert codierte Daten, die von dem ersten und dem zweiten Teilcodierer 410 und 420 empfangen wurden. Die erste und die zweite Punktiereinrichtung 470 und 480 dienen zum Anpassen einer Datenübertragungsrate. Ein Multiplexer 491 multiplext die Ausgaben der Bit-Erzeuger 453 und 463. Eine dritte Verschiebeeinrichtung 493 verschiebt nach dem Ende eines Rahmens von dem Multiplexer 491 empfangene Endbits an einen Übertragungskanal.
  • Die ersten beziehungsweise zweiten Endbit-Erzeuger 450 beziehungsweise 460 erzeugen Endbits zum Beenden der Operationen des ersten beziehungsweise des zweiten Teilcodierers 410 beziehungsweise 420. Die erste und die zweite Punktiereinrichtung 470 und 480 dienen zum Anpassen einer Datenübertragungsrate auf eine akzeptable Stufe.
  • In 13 besitzt ein Turbocode Endbits zum Beenden der Teilcodierer 410 und 420. Da hier die Teilcodes des Turbocodes systematisch sind, werden die Speicher 412 und 413 sowie 422 und 423 der Teilcodierer 410 und 420 nicht initialisiert, selbst wenn aufeinander folgende Nullen wie in einem nichtsystematischen Faltungscode eingegeben werden. Zum Einstellen der Werte in einem Speicher möglichst nahe an Null geben die ersten und zweiten Teilcodierer 410 und 420 die Summe der Rückführwerte durch Verwenden der Endbit-Erzeuger in die Speicher ein. Daher benötigt der Turbocodierer so viele Endbits, wie Speicher für jeden Teilcodierer vorhanden sind. Die ersten und zweiten Verschiebeeinrichtungen 455 und 465 werden bei dem Erzeugen von Endbits verschoben. Dann werden aus Endbits erzeugte Paritätsbits von dem ersten und dem zweiten Teilcodierer 410 und 420 an die zweite Punktiereinrichtung 480 angelegt, und die Endbits, die von dem Endbit-Erzeuger erzeugt wurden, werden von der dritten Verschiebeeinrichtung 493 verschoben, um als Informationsbits Xk ausgegeben zu werden.
  • Es ist wünschenswert, eine Übertragungsrate auf eine Potenz von 2 einzustellen, um die Komplexität der Hardware zu reduzieren. Eine Übertragungsrate von 384 kbps kann jedoch keine Potenz von 2 sein, wenn ein Turbocode mit einer Coderate von 1/2 verwen det wird. In diesem Fall wird der 1/2-Turbocode auf einen 3/8-Turbocode punktiert. Speziell im Fall einer Übertragungsgeschwindigkeit von 144 kbps wird der 1/2-Turbocode so punktiert, dass sich ein 9/16-Turbocode ergibt. 9/16-Punktierungs-Matritzen werden exemplarisch gezeigt in [Tabelle 9]
    Informationsbits 111111111111111111
    RSC1 100101001010010010
    RSC2 010010010100101001
    [Tabelle 10]
    Informationsbits 111011110111011110
    RSC1 101010101010101010
    RSC2 010101010101010101
  • In den Tabellen 9 und 10 sind die Informationsbits dk, die an die erste Punktiereinrichtung 470 angelegt werden, und RSC1 sind Paritätsbits, die von dem ersten Teilcodierer 410 an die zweite Punktiereinrichtung 480 angelegt werden. Hier zeigt Tabelle 9 exemplarisch das Punktieren von Paritätsbits, die von den Teilcodierern 410 und 420 ausgegeben wurden. In diesem Fall gibt es mehrere aufeinander folgende Nullen, die Paritätsbits entsprechen. Das heißt, wenn die Paritätsbits zum Regulieren einer Senderate punktiert werden, erscheinen Nullen nacheinander, wie in Tabelle 9 durch die Unterstreichungen gezeigt. Da jedoch in jedem der beiden Teilcodierer 410 und 420 jeweils zwei Speicher vorhanden sind, können schwere Fehler erzeugt werden, wenn nicht mindestens zwei oder mehr Paritätsbits nacheinander übertragen werden. Daher werden die Informationsbits in der vorliegenden Erfindung, wie in Tabelle 10 gezeigt, punktiert. Tabelle 10 zeigt eine 9/16-Punktierungs-Matrix, die sich von der in Tabelle 9 dadurch unterscheidet, dass mindestens zwei oder mehr Paritätsbits nacheinander übertragen werden. Die Leistungsfähigkeit des Turbocodes verbessert sich jedoch mit zunehmender Anzahl iterativer Decodierungsvorgänge.
  • Gemäß der vorliegenden Erfindung wie oben beschrieben kann ein Turbocode, der bis her für die Sprach- und Datenübertragung in einem Kommunikationssystem wegen der Zeitverzögerung nicht akzeptabel war, mit der Einführung eines Interleavers, der eine verringerte Größe besitzt und hinsichtlich des Turbocodes in einem Turbocodierer hervorragende Leistungsfähigkeit besitzt, in der Sprach- und Datenübertragung eingesetzt werden. Der Interleaver besitzt des Weiteren eine hervorragende Leistungsfähigkeit, wodurch die Statuszahl eines Teilcodierers in dem Turbocodierer reduziert und dadurch wiederum die Komplexität eines Decodierers gesenkt wird. Darüber hinaus können in Übereinstimmung mit einem Ausführungsbeispiel der vorliegenden Erfindung, wie oben beschrieben, vielfältige Codierungsraten durch Punktieren der Eingabeinformationen bereitgestellt werden.
  • Die vorliegende Erfindung wurde im Hinblick auf die speziellen Ausführungsbeispiele, die lediglich Beispielanwendungen sind, ausführlich beschrieben. Es ist also klar ersichtlich, dass innerhalb des Umfanges der vorliegenden Erfindung, wie durch die angehängten Ansprüche definiert, von einer Person mit gewöhnlicher Erfahrung auf dem Gebiet der Technik eine Vielzahl von Änderungen durchgeführt werden kann.

Claims (6)

  1. Turbocodierer zum Codieren von Eingangs- Informationsbits, der umfasst: einen ersten Teilcodierer (410) zum Codieren der Eingangs-Informationsbits in einem Rahmen, um erste Paritäten zu erzeugen; einen Interleaver (430) zur Interleaving der Eingangs-Informationsbits; einen zweiten Teilcodierer (420) zum Codieren der Interleaving unterzogenen Eingangs-Informationsbits, um zweite Paritäten zu erzeugen; einen ersten Endbit-Generator (450) zum Erzeugen erster Endbits, die Rückführwerte des ersten Teilcodierers gleich sind, um den ersten Teilcodierer abzuschließen; einen zweiten Endbit-Generator (460) zum Erzeugten zweiter Endbits, die Rückführwerte des zweiten Teilcodierers gleich sind, um den zweiten Teilcodierer abzuschließen; eine erste Verschiebeeinrichtung (455) zum Verschieben des Rückführwertes des ersten Teilcodierers zu dem ersten Teilcodierer als die ersten Endbits am Ende des Rahmens; und eine zweite Verschiebeeinrichtung (465) zum Verschieben des Rückführwertes des zweiten Teilcodierers zu dem zweiten Teilcodierer als die zweiten Endbits am Ende des Rahmens, wobei jeder der Teilcodierer so viele der Endbits wie Speicher des Teilcodierers erfordert, gekennzeichnet durch Angeordnetsein zum Codieren von Eingangs-Informationsbits variabler Rahmengrößen, durch eine erste Punktiereinrichtung (470) zum Punktieren der Eingangs-informationsbits und durch einen Multiplexer (491) zum Multiplexieren der ersten Endbits und der zweiten Endbits in die punktierten Eingangs-Informationsbits.
  2. Turbocodierer nach Anspruch 1, der des Weiteren aufweist: eine zweite Punktiereinrichtung (480) zum Punktieren der ersten Parität oder der zweiten Parität zu einem Zeitpunkt.
  3. Turbocodierer nach Anspruch 1, wobei der erste Teilcodierer zum Codieren der variablen Einangs-Informationsbits oder der ersten Endbits und der zweite Teilcodierer zum Codieren der Interleaving unterzogenen variablen Eingangs-Informationsbits oder der zweiten Endbits angeordnet ist.
  4. Turbocodierer nach Anspruch 3, wobei die Endbits jedem Teilcodierer zugeführt werden, nachdem alle Eingangs-Informationsbits codiert sind.
  5. Kanalcodierverfahren zum Einsatz in einen Kanalcodierer mit einem ersten Teilcodierer und einem zweiten Teilcodierer, wobei es die folgenden Schritte umfasst: Empfangen von Eingangs-Informationsbits; Erzeugen erster Paritätbits für die Eingangs-Informationsbits und eines ersten Rückfährwertes durch den ersten Teilcodierer; Adaptives Interleaving der Eingangs-Informationsbits entsprechend der Zahl von Eingangs-Informationsbits; Erzeugen zweiter Paritätbits der Interleaving unterzogenen Eingangs-Informationsbits und eines zweiten Rückführwertes durch den zweiten Teilcodierer und Erzeugen erster Endbits und zweiter Endbits, die dem ersten und dem zweiten Rückführwert gleich sind, um Speicher in dem ersten und dem zweiten Teilcodierer abzuschließen und Zuführen der Endbits zu dem ersten sowie dem zweiten Teilcodierer, wobei jeder der Teilcodierer so viele der Endbits wie Speicher des Teilcodierers erfordert, gekennzeichnet durch Eingangs-Informationsbits von variabler Rahmengröße und durch die Schritte des Punktierens der Ausgänge der Teilcodierer, um eine Senderate anzupassen, des Punktierens der Eingangs-Informationsbits und Multiplexen der ersten Endbits und der zweiten Endbits in die punktierten Eingangs-Informationsbits.
  6. Kanelcodierverfahren nach Anspruch 5, wobei die Endbits jedem Teilcodierer zugeführt werden, nachdem alle Eingangs-Informationsbits codiert sind.
DE69838451T 1997-07-30 1998-07-30 Verfahren und schaltung zur adaptiven kanalkodierung Expired - Lifetime DE69838451T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR19970036265 1997-07-30
KR9736265 1997-07-30
KR9760101 1997-11-10
KR1019970060101A KR100454952B1 (ko) 1997-07-30 1997-11-10 적응형채널부호화방법및장치
PCT/KR1998/000232 WO1999007076A2 (en) 1997-07-30 1998-07-30 Adaptive channel encoding method and device

Publications (2)

Publication Number Publication Date
DE69838451D1 DE69838451D1 (de) 2007-10-31
DE69838451T2 true DE69838451T2 (de) 2008-01-10

Family

ID=26632977

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69841631T Expired - Lifetime DE69841631D1 (de) 1997-07-30 1998-07-30 Verfahren und Vorrichtung zur adaptiven Kanalcodierung
DE69838451T Expired - Lifetime DE69838451T2 (de) 1997-07-30 1998-07-30 Verfahren und schaltung zur adaptiven kanalkodierung

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69841631T Expired - Lifetime DE69841631D1 (de) 1997-07-30 1998-07-30 Verfahren und Vorrichtung zur adaptiven Kanalcodierung

Country Status (9)

Country Link
EP (2) EP0997031B1 (de)
JP (2) JP3492632B2 (de)
CN (2) CN1256812C (de)
BR (1) BR9811299A (de)
CA (1) CA2295791C (de)
DE (2) DE69841631D1 (de)
ES (2) ES2344299T3 (de)
RU (1) RU2193276C2 (de)
WO (1) WO1999007076A2 (de)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430722B1 (en) 1998-01-23 2002-08-06 Hughes Electronics Corporation Forward error correction scheme for data channels using universal turbo codes
US7536624B2 (en) 2002-01-03 2009-05-19 The Directv Group, Inc. Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
KR100557177B1 (ko) * 1998-04-04 2006-07-21 삼성전자주식회사 적응 채널 부호/복호화 방법 및 그 부호/복호 장치
JP3453122B2 (ja) 1998-08-17 2003-10-06 ヒューズ・エレクトロニクス・コーポレーション 最適性能に近いターボコードインターリーバ
JP3612022B2 (ja) 1998-08-27 2005-01-19 ヒューズ・エレクトロニクス・コーポレーション 一般的なターボコードトレリスの終端方法
CN100452659C (zh) 1999-03-01 2009-01-14 富士通株式会社 加速解码器
FR2790621B1 (fr) 1999-03-05 2001-12-21 Canon Kk Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
CA2742096C (en) * 1999-04-13 2015-01-06 Ericsson Ab Rate matching and channel interleaving for a communications system
AU5289200A (en) * 1999-05-28 2000-12-18 Lucent Technologies Inc. Turbo code termination
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
AU2003204597B2 (en) * 1999-07-06 2005-01-20 Samsung Electronics Co., Ltd. Rate matching device and method for a data communication system
DE19934646C2 (de) * 1999-07-16 2001-09-13 Univ Dresden Tech Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes
FR2796780B1 (fr) * 1999-07-21 2003-09-19 Groupe Ecoles Telecomm Procede et dispositif de codage a au moins deux codages en parallele et permutation amelioree, et procede et dispositif de decodage correspondants
DE19935785A1 (de) * 1999-07-29 2001-02-08 Siemens Ag Verfahren und Einrichtung zur Erzeugung eines ratenkompatiblen Codes
FI108822B (fi) * 2000-02-14 2002-03-28 Nokia Corp Lomittelumenetelmä ja -järjestelmä
DE10008064B4 (de) * 2000-02-22 2009-07-02 Siemens Ag Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung
US6289000B1 (en) * 2000-05-19 2001-09-11 Intellon Corporation Frame control encoder/decoder for robust OFDM frame transmissions
JP2002076915A (ja) * 2000-08-31 2002-03-15 Sony Corp インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法
JP2002076925A (ja) * 2000-08-31 2002-03-15 Sony Corp 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法
DE10048872A1 (de) * 2000-10-02 2002-04-25 Infineon Technologies Ag Abschnittsweise Entschachtelung
US6871270B2 (en) * 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay
US6973579B2 (en) 2002-05-07 2005-12-06 Interdigital Technology Corporation Generation of user equipment identification specific scrambling code for the high speed shared control channel
FI20021222A (fi) * 2002-06-20 2003-12-21 Nokia Corp Informaatiobittien limitys
CN1333598C (zh) * 2004-03-05 2007-08-22 上海交通大学 一种用于数字电视地面传输的比特交织方法
CN1333599C (zh) * 2004-03-29 2007-08-22 上海交通大学 一种用于数字电视地面传输的比特交织方法
JP4249750B2 (ja) 2005-01-11 2009-04-08 三星電子株式会社 無線通信システムにおける高速フィードバック情報の伝送装置及び方法
KR100912156B1 (ko) * 2005-02-03 2009-08-14 파나소닉 주식회사 병렬 인터리버, 병렬 디인터리버 및 인터리브 방법
KR100729258B1 (ko) * 2005-12-07 2007-06-18 엘지전자 주식회사 확장된 링크 적응화 기법을 제공하는 이동 통신 단말기 및그 방법
JP4436315B2 (ja) * 2005-12-26 2010-03-24 京セラ株式会社 畳み込み符号化器、通信装置、及び畳み込み符号化方法
WO2007134542A1 (fr) * 2006-05-23 2007-11-29 Huawei Technologies Co., Ltd. Procédé et appareil d'envoi et de réception de signaux
US7925956B2 (en) * 2006-10-03 2011-04-12 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8194750B2 (en) * 2006-10-16 2012-06-05 Samsung Electronics Co., Ltd. System and method for digital communication having a circulant bit interleaver for equal error protection (EEP) and unequal error protection (UEP)
JP5415280B2 (ja) * 2007-01-16 2014-02-12 コーニンクレッカ フィリップス エヌ ヴェ データビット又はシンボルをインタリーブするためのシステム、装置及び方法
CN101075812B (zh) * 2007-06-08 2011-01-05 中国科学技术大学 一种并行级联结构的系统形式低密度码的构造方法
CN101350626B (zh) * 2007-07-20 2012-02-15 电信科学技术研究院 一种Turbo码编码装置及方法
JP2009077371A (ja) * 2007-08-30 2009-04-09 Hitachi Communication Technologies Ltd インタリーブ方法、送信機、無線機、および無線通信システム。
EP2073419B1 (de) 2007-12-20 2011-10-26 Panasonic Corporation Steuerkanalsignalisierung über ein herkömmliches Signalisierungsfeld für Transportformat und Redundanzversion
WO2010008165A2 (ko) 2008-07-13 2010-01-21 엘지전자 주식회사 이동통신 시스템에서 ctc(convolutional turbo code) 인코더를 이용하여 데이터를 전송하기 위한 장치 및 그 방법.
CN101753261B (zh) * 2008-12-01 2012-11-21 电信科学技术研究院 一种编码器、译码器及编码、译码方法
CN101753151B (zh) * 2008-12-02 2014-02-05 电信科学技术研究院 一种数据处理装置及方法
CN101753153B (zh) * 2008-12-04 2014-02-05 电信科学技术研究院 一种Turbo码编码器、译码器及编码、译码方法
CN101753155B (zh) * 2008-12-22 2014-12-03 电信科学技术研究院 一种数据处理装置及其方法
CN105100862B (zh) * 2014-04-18 2018-04-24 阿里巴巴集团控股有限公司 网格移动的显示处理方法及其系统
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
SG11201810437XA (en) 2016-07-27 2019-02-27 Qualcomm Inc Design of hybrid automatic repeat request (harq) feedback bits for polar codes
EP3602793A4 (de) 2017-03-23 2020-11-11 Qualcomm Incorporated Paritätsbitkanalzuweisung für polare codierung
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
WO2019018120A1 (en) 2017-07-07 2019-01-24 Qualcomm Incorporated COMMUNICATION TECHNIQUES APPLYING A BASIC GRAPH SELECTION FOR A LOW DENSITY PARITY CHECK CODE
CN110098891B (zh) * 2018-01-30 2021-09-07 华为技术有限公司 交织方法和交织装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901319A (en) * 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
GB2296165B (en) * 1994-12-15 1999-12-29 Int Mobile Satellite Org Multiplex communication
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor

Also Published As

Publication number Publication date
EP1601109A2 (de) 2005-11-30
CN1492589A (zh) 2004-04-28
ES2344299T3 (es) 2010-08-24
DE69841631D1 (de) 2010-06-02
ES2290990T3 (es) 2008-02-16
WO1999007076A3 (en) 1999-09-16
CA2295791A1 (en) 1999-02-11
DE69838451D1 (de) 2007-10-31
BR9811299A (pt) 2000-12-05
JP2004040818A (ja) 2004-02-05
EP0997031B1 (de) 2007-09-19
CN1150680C (zh) 2004-05-19
JP2001512914A (ja) 2001-08-28
EP0997031A2 (de) 2000-05-03
CN1256812C (zh) 2006-05-17
JP3730238B2 (ja) 2005-12-21
RU2193276C2 (ru) 2002-11-20
WO1999007076A2 (en) 1999-02-11
EP1601109B1 (de) 2010-04-21
JP3492632B2 (ja) 2004-02-03
CA2295791C (en) 2006-06-13
EP1601109A3 (de) 2007-10-03
CN1264509A (zh) 2000-08-23

Similar Documents

Publication Publication Date Title
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE69736881T2 (de) Parallel verketteter tail-biting-faltungskode und dekoder dafür
US6289486B1 (en) Adaptive channel encoding method and device
DE69922707T2 (de) Sender und Empfänger mit Ratenanpassung
DE69936683T2 (de) Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt
DE10030407B4 (de) Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
DE60221929T2 (de) Vorrichtung und Verfahren für Codegenerierung in einem Kommunikationssystem
DE60020637T2 (de) Ratenanpassung und Kanalverschachtelung für ein Kommunikationssystem
DE69936626T2 (de) Kanalkodierung und -dekodierung für ein kommunikationssystem
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE29924886U1 (de) Kanalcodiervorrichtung
JP3359913B1 (ja) 移動通信システムの直列鎖状コンボルーション符号化器に使用するためのインタリーバ及びそのインタリービング方法
JP4309586B2 (ja) ターボ符号のための改良型インターリーバ
US20020104054A1 (en) Encoding method having improved interleaving
DE69936316T2 (de) Faltungskodierungsverfahren und vorrichtung in einem digitalen system
DE60112445T2 (de) Modifikation eines Verschachtelermusters
DE60110083T2 (de) Dekorrelation von interferenzen von mehreren verschachtelten Datenströmen
DE10059490A1 (de) Exklusiv-Oder-Code (XOR-Code) und serielle Verkettungscodierer/-decodierer, die selbigen verwenden
DE19934646C2 (de) Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes
EP1302014B1 (de) Verfahren und einrichtung zur diversitätsübertragung codierter information
DE69908629T2 (de) Hybrid verschachteler für turbo-kodierer
US20050160349A1 (en) Channel coding method and device
KR100454952B1 (ko) 적응형채널부호화방법및장치
WO2007098814A1 (de) Codierung und decodierung mit trellis-codierter modulation
WO1998052362A2 (de) Kanalcodierungsverfahren

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: PARK, CHANG SOO, SEOUL 134-023, KR

Inventor name: LEE, HYEON WOO, SUWON-SHI, KYONGGI-DO 441-390, KR

Inventor name: LEE, PIL JOONG, SEOUL 121-220, KR

Inventor name: KONG, JUN JIN, SONGNAM-SHI, KYONGGI-DO 461-162, KR

Inventor name: KIM, YONG, SEONG-NAM SHI, KYUNGKI-DO, 463-050, KR

8364 No opposition during term of opposition