DE69736881T2 - Parallel verketteter tail-biting-faltungskode und dekoder dafür - Google Patents

Parallel verketteter tail-biting-faltungskode und dekoder dafür Download PDF

Info

Publication number
DE69736881T2
DE69736881T2 DE69736881T DE69736881T DE69736881T2 DE 69736881 T2 DE69736881 T2 DE 69736881T2 DE 69736881 T DE69736881 T DE 69736881T DE 69736881 T DE69736881 T DE 69736881T DE 69736881 T2 DE69736881 T2 DE 69736881T2
Authority
DE
Germany
Prior art keywords
component
decoder
soft
decision
composite
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69736881T
Other languages
English (en)
Other versions
DE69736881D1 (de
Inventor
Michael Stephen Albany HLADIK
Bailey John Latham ANDERSON
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.)
SES Americom Inc
Original Assignee
SES Americom Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SES Americom Inc filed Critical SES Americom Inc
Application granted granted Critical
Publication of DE69736881D1 publication Critical patent/DE69736881D1/de
Publication of DE69736881T2 publication Critical patent/DE69736881T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • 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/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/2978Particular arrangement of the component decoders
    • H03M13/2981Particular arrangement of the component decoders using as many component decoders as 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • 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

Description

  • Die vorliegende Erfindung betrifft allgemein das Codieren einer Fehlerkorrektur für die Kommunikation von kurzen Mitteilungen über schwache Kanäle und insbesondere ein parallel verknüpftes Faltungscodierverfahren und einen Decoder dafür.
  • Eine Form eines parallel verknüpften Codierens, das entweder als parallel verknüpftes Faltungscodieren (PCCC) oder als "Turbo-Codieren" bezeichnet wird, war aufgrund beeindruckend dargestellter Codierungsgewinne, falls sie auf Blocks von 10,000 oder mehr Bits angewendet wurden, der Grund neuer Codierungsforschung. (Siehe C. Berrou, A. Glavieux and P. Thitimajshima, "Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes", Proceedings of the IEEE International Conference on Communications, (1993), pp. 1064-1070; J.D. Anderson, "The TURBO Coding Scheme," Report IT-146 ISSN 0105-854, Institute of Telecommunication, Technical University of Denmark, December 1994; und P. Robertson; "Illuminating the Structure of Code and Decoder of Parallel Concatenated Recursive Systematic (Turbo) Codes", IEEE Globecom Conference, (1994) pp. 1298-1303.)
  • Es wurde jedoch gezeigt, dass die Leistung eines Turbo-Codes wesentlich abbaut beziehungsweise degeneriert, sobald die Länge des codierten Datenblocks abnimmt. Diese Wirkung basiert auf der starken Abhängigkeit von dessen Gewichtungsstrukturen der Komponenten rekursiv systematischen Faltungscodes auf die Blocklänge. Ein zweites Thema besteht in der genauen Beendigung beziehungsweise Termination von Mitteilungsblocks, die auf einen Turbo-Codierer angewendet werden. Wie durch O. Joersson und H. Meyr Codes in "Terminating the Trellis of Turbo-Codes," IEEE Electronics Letters; vol. 30 (16) August 4, (1994), 1285-1286, beschrieben, kann das in Turbo-Codierern verwendete Verschachteln es unmöglich machen, sowohl die verknüpften als auch die nicht verknüpften Codiereingabesequenzen mit einem einzigen Satz von Tail-Bits zu beenden. Während die Möglichkeit besteht, eine zweite Tail-Sequenz zu verwenden, die in der Mitteilungsstruktur eingebettet ist, so dass der an der verknüpften Datensequenz tätige Codierer angemessen, beziehungsweise richtig beendet wird, verdoppelt dies den mit Codier-Termination assoziierten Overhead und verringert die wirksame Codierungsgeschwindigkeit. Eine Alternative besteht nicht darin eine der Codiersequenzen zu beenden, wobei dies jedoch die Leistung des Codier/Decodier-Systems abbaut, insbesondere wenn es auf kurze Mitteilungen angewendet wird. In "Terminating the Trellis of Turbo-Codes in the Same State", IEE Electronics Letters, 31 (1, January 5) (1995), 22-23, berichten A.S. Barbulescu und S.S. Pietrobon ein Verfahren, das Beschränkungen an die Interleaver-Gestaltung stellt, um mit einer einzigen Terminations-Bit-Sequenz zwei Komponenten rekursive systematische Faltungscodierer (RSC) zu beenden. Deren Leistungsergebnisse zeigen einen gewissen Abbau verglichen zu einer durch Termination beider Codier erhaltenen Leistung bei Verwendung eines optimierten Interleavers. Zusätzlich zeigt eine veröffentlichte Bit-Fehler-Rate (BER) gegenüber Daten eines Energie-pro-Bit-Rausch-Leistung-Spektral-Dichte Verhältnisses (Eb/N0) eine Verflachung in BER über einen Bereich von Eb/N0-Werten, wenn RSC's in dem Turbo-Codierer verwendet wird.
  • "Iterative Decoding of Binary Block and Convolutional Codes" IEEE Transactions of Information Theory; 42 (2; March 2 (1996) offenbart ein System, das systematische Faltungscodes verwendet, um Daten in einem Kommunikationssystem zu codieren.
  • "An efficient Adaptive Circular Viterbi Algorithm for Decoding Generalized Tailbiting Codes"; IEEE Transactions on Vehicular Technology 43 (1; February) (1994), offenbart die Verwendung von Tail-Biting Faltungscodes, um Daten in einem Kommunikationssystem zu übertragen. "On Tail-Biting Convolutional Codes"; IEEE Transactions on Communications, Vol. com-34, (2; February) (1986) behandelt diesen gleichen Gegenstand.
  • Der durch die vorstehenden drei Veröffentlichungen vorgeschlagenen Verfahren erreichte Codierungsgewinn erfährt mit abnehmender Datenblockgröße einen signifikanten Abbau.
  • Demgemäß ist es wünschenswert ein verbessertes parallel verknüpftes Codierverfahren für kurze Datenblöcke bereitzustellen.
  • Erfindungsgemäß werden bei einem parallel verknüpften Faltungscodierschema Tail-Biting nicht rekursive systematische Faltungs- (NSC) Codes verwendet. Der assoziierte Decoder verwendet iterativ zirkuläres maximales a posteriori (MAP) Decodieren, um Hard- und Soft-Decision Ausgaben zu erzeugen. Die Verwendung von Tail-Biting Codes löst das Problem einer Termination der Eingabedatensequenzen beim Turbo-Codieren, wodurch ein Decoder assoziierter Leistungsabbau für kurze Mitteilungen vermieden wird. Während NSC Codes im Allgemeinen schwächer als rekursive systematische Faltungscodes (RSC) Codes sind, die den gleichen asymptomatischen Speicher aufweisen, wobei die Datenblocklänge zunimmt, wenn der freie Abstand eines NSC Codes weniger empfindlich auf die Datenblocklänge reagiert. Daher wird parallel verknüpftes Codieren mit NSC Codes bessere Leistung erbringen als mit RSC Codes, die den gleichen Speicher für Mitteilungen aufweisen, die kürzer als ein gewisser Schwellenwert einer Datenblockgröße sind.
  • Die Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung der Erfindung offenbar werden, wenn sie zusammen mit den begleitenden Zeichnungen gelesen wird, in denen:
  • 1 ein vereinfachtes Blockdiagramm darstellt, das einen parallel verknüpften Codierer darstellt;
  • 2 ein vereinfachtes Blockdiagramm darstellt, das einen Decoder für parallel erknüpfte Codes darstellt;
  • 3 ein vereinfachtes Blockdiagramm darstellt, das einen Tail-Biting, nicht rekursiven systematischen Faltungscodierer zur Verwendung in dem erfindungsgemäßen Codierschema darstellt.
  • 4 ein vereinfachtes Blockdiagramm darstellt, das einen zirkulären MAP Decoder darstellt, der als ein Komponentendecoder in einem Decoder für ein erfindungsgemäßes parallel verknüpftes Faltungscodierschema nützlich ist; und
  • 5 ein vereinfachtes Blockdiagramm darstellt, das eine alternative Ausführungsform eines zirkulären MAP Decoders darstellt, der als ein Komponentendecoder für ein erfindungsgemäßes parallel verknüpftes Faltungscodierschema nützlich ist.
  • 1 stellt ein allgemeines Blockdiagramm einer Codiersignalbearbeitung 10 für parallel verknüpfte Codierschemata. Es umfasst mehrere N von Komponenten-Codierern 12, die an Blocks von Datenbits von einer Quelle arbeiten. Die Datenblöcke werden durch Verschachtelungsalgorithmen über Interleaver 14 permutiert. Wie gezeigt, gibt es N-1 Interleaver für N Codierer 12. Schließlich werden die Komponentencodierer-Ausgaben durch einen zusammengesetzten Codewort-Formatierer 16 in ein einziges zusammengesetztes Codewort kombiniert. Der zusammengesetzte Codewort-Formatierer wird so gewählt, dass die Charakteristika des Kanals übereinstimmen, und wobei er durch einen Rahmen-Formatierer gefolgt werden kann, der so gewählt ist, dass der Kanal und der Kanal des Zugangs- beziehungsweise Zugriffsverfahrens des Kommunikationssystem übereinstimmen. Der Rahmen-Formatierer kann ebenfalls andere notwendige Overhead, wie beispielsweise Steuerbits und Synchronisationssymbole, einfügen.
  • Es kann bei parallel verknüpfter Codierung ein signifikanter Codierungsratenvorteil erhalten werden, falls die Komponentencodes systematische Codes sind. Die durch einen systematischen Codierer erzeugten Codeworte (Ausgabe) umfassen die ursprünglichen Datenbits, die als Eingaben dem Codierer bereitgestellt wurden und zusätzliche Paritätsbits. (Die durch die Paritätsbits eingeführte Redundanz ist dass was eine Code-Fehlerberichtigungs- beziehungsweise korrekturkapazität ergibt.) Werden daher systematische Codierer in dem parallel verknüpften Codierer, gezeigt in 1, verwendet, dann enthalten die durch alle Komponentencodierer 12 erzeugten Codeworte die Eingabedatenbits. Falls der Formatierer 16 ein Datenpaket oder ein zusammengesetztes Codewort bildet, das lediglich die durch jeden Komponentencodierer 12 erzeugten Paritätsbits und zu codierenden den Block von Informationsbits umfasst, dann wird durch Beseitigen einer Widerholung der Informationsbits in dem übertragenen zusammengesetzten Codewort eine wesentliche Verbesserung in der Rate des zusammengesetzten parallel verknüpften Codes realisiert. Falls beispielsweise der Komponentencodierer 1 und Komponentencodierer 2 eines parallel verknüpften Faltungscodes- (PCCC) Codierers zwei Komponentencodes umfasst, die jeweils Rate ½ Codes darstellen, wobei dann die zusammengesetzte parallel verknüpfte Coderate von ½ für nicht systematische Komponentencodes auf 1/3 zunimmt, wenn systematische Komponentencodes verwendet werden.
  • Parallele verknüpfte Codierschemata, die rekursiv systematische Faltungs- (RSC) Codes verwenden, waren das letzte Thema intensiver Forschung. Diese parallel verknüpften Faltungscodes (PCCCs) sind ebenfalls allgemein als "Turbo"-Codes in der Literatur bekannt. Wie hier vorstehend erwähnt, wurde gezeigt, dass diese PCCCs eine eindrucksvolle Leistung bezüglich einer Bit-Fehlerrate (BER) gegenüber dem Energie-pro-Bit-Rausch-Leistung-Spektral-Dichte Verhältnis (Eb/No) für den Fall relativ großer Mitteilungen d.h. Zehntausend und mehr Bits, erreichen kann. Es wurde jedoch ebenfalls gezeigt, dass der mit Turbo-Codes erhaltene Codierungsgewinn mit abnehmender Datenblockgröße signifikant abbaut, da die Festigkeiten des rekursiv systematischen Faltungskomponentencodes recht empfindlich gegenüber der Datenblocklänge sind. Andererseits ist die Leistung eines nicht rekursiv systematischen Tail-Biting Faltungscodes für die meisten praktischen Zwecke von der Datenblocklänge unabhängig, wobei die Leistung, die erhalten werden kann nur abbaut, falls der Block von codierten Datenbits geringer ausfällt als eine minimale Größe, die durch die NSC's Entscheidungstiefeneigenschaften bestimmt wird.
  • 2 zeigt einen allgemeinen Decoder 20 für parallel verknüpfte Codes in Form eines Blockdiagramms. Der Decoder 20 umfasst das Folgende: einen zusammengesetztes Codewort zu Komponenten-Codewort Wandler 22, der das von einem Kanal empfangene zusammengesetzte Codewort zu einzelnen empfangenen Codeworten für jeden Komponentendecoder 24 umwandelt, N Komponenten-Decoder 24, die N Komponenten-Codierern von 1 entsprechen, der gleiche Typ (oder die gleichen) von Interleavern 14, die in dem parallel verknüpften Codierer (1) verwendet werden, und erste und zweite Deinterleaver 28 beziehungsweise 29, die jeweils eine Sequenzaufnahmecharakteristik aufweisen, die gleichwertig einer Reihenverknüpfung von N-1 Deinterleavern 30 ist, welche den zum Codieren verwendeten N-1 Interleavern entsprechen. Die erforderliche Anordnung dieser Deinterleaver ist in 2 gezeigt, wobei sie die umgekehrte Ordnung der Interleaver darstellt. Die Ausgaben von Komponentendecodern 24 entsprechen irgendeiner Art von Soft-Decision-Information auf den Schätz-Wert von jedem Datenbit in dem empfangenen Codewort. Beispielsweise können die Ausgaben der Komponentendecoder eine erste Funktion von Wahrscheinlichkeiten darstellen, das die decodierten Bits 0 oder 1 sind, abhängig von der empfangenen Symbolsequenz von dem Kanal. Beispielhaft entfernt eine derartige erste Funktion den Einfluss der bedingten Wahrscheinlichkeit P{djt = 0|Yjt } einer Soft-Decision Ausgabe eines Komponentendecoders, die nach einer geeigneten Permutation in einen folgenden sequentiellen Komponentendecoder eingegeben wird, worin P{djt = 0|Yjt } die Wahrscheinlichkeit ist, dass das jth Informationsbit zu der Zeit t 0 ist, was abhängig von dem jth (systematischen) Bit des empfangenen Kanalausgabesymbols Yt ist. Alternativ kann die durch die Komponentendecoder 24 ausgegebene Soft-Decision Information eine Funktion des Likelihood-Verhältnisses
    Figure 00060001
    sein, oder eine Funktion des log Likelihood-Verhältnisses log [Λ(djt )]. Wie gezeigt, weist der Nth Komponentendecoder eine zweite Ausgabe auf, d.h. eine zweite Funktion der bedingten Wahrscheinlichkeiten für die decodierten Bitwerte oder vorstehend erwähnten Likelihood-Verhältnisse. Beispielhaft für diese zweite Funktion steht das Produkt von P{djt = 0|YL 1} und der von dem vorhergehenden Komponentendecoder empfangen a priori Wahrscheinlichkeit, dass djt = 0.
  • Der Decoder für parallel verknüpfte Codes arbeitet in der folgenden Weise iterativ. Der erste Komponentendecoder (Decoder 1) berechnet einen Satz von Soft-Decision Werten für die Sequenz von Informationsbits, die basierend auf dem empfangenen Codewort und jeglicher a priori Information über die übertragenen Informationsbits durch den ersten Komponentencodierer codiert wurden. In der ersten Iteration wird, falls keine a priori Information über die Quellenstatistik vorliegt, angenommen, dass die Bits gleich wahrscheinlich 0 oder 1 (d.h. P{bit = 0} = P{bit = 1} = 1/2) sein können. Die durch den Decoder 1 berechneten Soft-Decision Werte werden anschließend unter Verwendung des gleichen Typs eines (oder gleichen) Interleavers, der in dem Codierer zum Permutieren des Blocks von Datenbits für den zweiten Codierer verwendet wurde, verschachtelt. Diese permutierten Soft-Decision Werte und das entsprechende empfangene Codewort umfassen die Eingaben für den nächsten Komponentendecoder (Decoder 2). Die permutierten Soft-Decision Werte, die von dem vorhergehenden Komponentendecoder und Interleaver empfangen wurden, werden durch den nächsten Komponentendecoder als a priori Information über die zu decodierenden Datenbits verwendet. Auf diese Weise arbeiten die Komponentendecoder sequentiell bis der Nth Decoder einen Satz von Soft-Decision Ausgaben für den Block von Datenbits berechnet hat, der durch den Codierer codiert wurde. Der nächste Schritt besteht, wie vorstehend beschrieben, im Entschachteln von Soft-Decision Werten von dem Nth Decoder. Der erste Decoder arbeitet dann an dem empfangenen Codewort, wobei er erneut die neuen Soft-Decision Werte von dem Nth Decoder als dessen a priori Information verwendet. Der Decoderbetrieb verläuft für die erwünschte Anzahl von Iterationen in dieser Weise. Bei Abschluss der Enditeration, wird die Sequenz der Werte, die eine zweite Funktion der durch den Nth Decoder berechneten Soft-Decision Ausgaben darstellen, entschachtelt, um die Daten in der Ordnung, in der sie durch den PCCC Codierer empfangen wurden, zurückzugeben. Die Anzahl von Iterationen kann eine bestimmte Zahl sein, oder sie kann durch Erfassen einer Decoderkonvergenz dynamisch bestimmt werden.
  • Der Decoder stellt Soft-Decision Information bereit, die eine Funktion der Wahrscheinlichkeit P{djt = 0|YL 1} ist, dass heißt, die bedingte Wahrscheinlichkeit, dass der jth Datenbit in einer k-Bit Symboleingabe in den Codierer zu der Zeit t 0 ist, vorausgesetzt, dass der Satz van Kanalausgaben YL 1 = {y1, ..., yL} empfangen wird. Zusätzlich kann der Decoder eine Hard-Decision Information als eine Funktion deren Soft-Decision Ausgabe durch eine Decision- beziehungsweise Entscheidungsvorrichtung bereitstellen, die eine Entscheidungsregel wie beispielsweise:
    Figure 00070001
    ausführt. Das heißt, falls P{djt = 0|YL 1} > ½, dann ist ^djt = 0, falls P{djt = 0|YL 1} < ½, dann ist ^djt = 1, andererseits wird der Wert 0 oder 1 d j / t zufällig zugewiesen.
  • Gewöhnliche Turbo-Decoder verwenden entweder maximale a posteriori (MAP) Decoder, wie beispielsweise durch L.R. Bahl, J. Cocke, F. Jelinek und J. Raviv in "Optimal Decoding of Linear Codes for Minimizing Symbol error Rate", IEEE Transactions of Information Theory, March 1974, pp. 284-287, beschrieben, oder Soft-Ausgabe Viterbi-Algorithmus (SOVA) Decoder, wie durch J. Hagenauer And P. Hoeher in "A Viterbi-Algorithmus with Soft-Decision Outputs and its Applications", IEEE Globecom Conference 1989, pp. 1680-1686, beschrieben. Ein MAP Decoder erzeugt die Wahrscheinlichkeit, dass ein decodierter Bitwert 0 oder 1 ist. Andererseits berechnet ein SOVA-Decoder gewöhnlich das Likelihood-Verhältnis
    Figure 00070002
    für jedes decodierte Bit. Es ist offensichtlich, dass dieses Wahrscheinlichkeits-Verhältnis aus P{decodiertes Bit ist 0} und umgekehrte Verwendung P{decodiertes Bit ist 0} = 1 – P {decodiertes Bit ist 1} erhalten werden kann. Es wurde irgendein Berechnungsvorteil festgestellt, falls entweder MAP- oder SOVA-Decoder mit dem Logarithmus von Likelihood-Verhältnissen arbeiten, das heißt,
    Figure 00080001
  • Es wurde gezeigt, dass der mit Turbo-Codes erhaltene Codiergewinn (Fehlerberichtigungsfähigkeit) mit abnehmender Datenblockgröße signifikant abbaut. Einige Autoren wiesen dieses Verhalten hauptsächlich den Eigenschaften den RSC-Codes zu. Es konnte gezeigt werden, dass die Abstandseigenschaft eines RSC-Codes mit zunehmender Datenblocklänge zunimmt. Umgekehrt nimmt der minimale Abstand eines RSC-Codes mit abnehmender Datenblocklänge ab. Ein zweites Problem besteht in der Schwierigkeit alle RSC-Codes, die aufgrund eines Verschachtelns ein Turbo-Codierschema umfassen, zu terminieren. Unvorteilhafterweise werden die entgegengesetzten Wirkungen, die sich aus einem Fehlen einer Sequenz-Termination oder der Verhängung von Beschränkungen an einer Interleaver-Gestaltung signifikant und werden sogar mit abnehmender Datenblocklänge um so mehr so.
  • Erfindungsgemäß umfassen die Komponenten-Codes in einem parallel verknüpften Faltungscodierschema Tail-Biting nicht rekursive systematische Faltungscodes. Die Verwendung derartiger Tail-Biting Codes löst das Problem einer Termination der Eingabedatensequenzen beim Turbo-Codieren, wodurch ein Decoderleistungsabbau für kurze Mitteilungen vermieden wird. Obwohl NSC-Codes im Allgemeinen schwächer sind als die den gleichen Speicher aufweisenden RSC-Codes, ist der freie Abstand von einem NSC-Code weniger empfindlich gegenüber einer Datenblocklänge. Daher wird parallel verknüpftes Codieren mit NSC-Codes eine bessere Leistung aufweisen als mit RSC-Codes, die den gleichen Speicher für Mitteilungen aufweisen, die kürzer sind als eine bestimmte Schwellengröße eines Datenblocks. Der Leistungs-Kreuzungspunkt stellt eine Funktion einer erwünschten decodierten Bit-Fehlerrate, Coderate und eines Codespeicher dar.
  • 3 zeigt ein Beispiel mit einer Rate = ½, einem Speicher = m Tail-Biting nicht rekursiv systematischem Faltungscodierer zur Verwendung in dem erfindungsgemäßen parallel verknüpften Faltungscodier- (PCCC) Schema. Für Beschreibungszwecke bezeichnet ein Codierer (n, k, m) einen Codierer, worin die Eingabesymbole k Bits umfassen, die Ausgabe-Symbole n Bits umfassen und m = Encoderspeicher in k Bit-Symbolen ist. Für Darstellungszwecke ist 3 für binäre Eingabe-Symbole, d.h. k = 1 gezeichnet. Die vorliegende Erfindung ist jedoch auf beliebige Werte von k, n und m anwendbar.
  • Anfänglich befindet sich ein Schalter 50 in der Abwärts-Position, und es werden L-Eingabe-Bits, k zu einem Zeitpunkt (ein Eingabe-Symbol zu einem Zeitpunkt für dieses Beispiel) in ein Schieberegister 52 geschoben. Nach Beladen des Lth Bit in den Codierer, wird der Schalter auf die Aufwärts-Position bewegt und Codieren beginnt mit der Verschiebung des ersten Bit von einem zweiten Schieberegister 54 in den nicht rekursiv systematischen Codierer, wobei sich der Zustand des Codierers zu diesem Zeitpunkt sich bei (bL, bL-1, ..., bL(km-1) befindet. In diesem Beispiel umfasst die Codierer-Ausgabe den gegenwärtigen Eingabebit und einen Paritätsbit, der in Block 56 (gezeigt als Modulo 2 Addition für dieses Beispiel) als eine Funktion des Codierer-Zustands und des gegenwärtigen Eingabe-Symbols gebildet wird. Codieren wird beendet, wenn das Lth Bit codiert ist.
  • In einer anderen erfindungsgemäßen Ausführungsform umfasst der für den hier vorstehend beschriebenen parallel verknüpften Codierer assoziierten Decoder einen zirkulären MAP-Decoder, der durch die gegenwärtigen Erfinder in dem gemeinsam übertragenen US-P-5,721,745, beschrieben ist. Insbesondere beschreibt die US-P-5,721,745 einen zirkulären MAP-Decoder, der zum Decodieren von Tail-Biting Faltungscodes nützlich ist. Der zirkuläre MAP-Decoder kann sowohl eine Abschätzung des codierten Datenblocks als auch Zuverlässigkeits-Information einer Datensenke übermitteln, beispielsweise einem Sprachsynthesesignalprozessor zur Verwendung bei der Übertragung einer Fehlermaskierung beziehungsweise -unterdrückung oder einem Protokollprozessor für Paketdaten als eine Maßnahme einer Blockfehlerwahrscheinlichkeit zur Verwendung bei wiederholten Abrufentscheidungen.
  • Insbesondere beschreibt die US-P-5,721,745 einen zirkulären MAP-Decoder für Fehler korrigierende Trellis-Codes, die von Tail-Biting verwenden, was Soft-Decision Ausgaben erzeugt. Der zirkuläre MAP-Decoder stellt eine Abschätzung der Wahrscheinlichkeiten der Zustände in der ersten Stufe bzw. dem ersten Stadium des Trellis bereit, welche Wahrscheinlichkeiten das a priori Wissen des Ausgangszustands in einem herkömmlichen MAP-Decoder ersetzen. Der zirkuläre Decoder stellt den anfänglichen Zustand einer Wahrscheinlichkeitsverteilung in jeder von zwei Weisen bereit. Die erste bezieht sich auf eine Lösung mit einem Eigenwert-Problem für welches der erhaltene Eigenvektor die erwünschte Wahrscheinlichkeitsverteilung des Anfangszustand darstellt, wobei der zirkuläre MAP-Decoder mit Wissen des Ausgangszustands den Rest des Decodierens gemäß des herkömmlichen MAP-Decodier-Algorithmus' ausführt. Die zweite basiert auf einer Rekursion, für die die Iterationen zu einer Ausgangszustandverteilung konvergieren. Nach ausreichenden Iterationen, ist ein Zustand an der zirkulären Sequenz der Zustände mit hoher Wahrscheinlichkeit bekannt, wobei der zirkuläre MAP Decoder den Rest des Decodierens gemäß des herkömmlichen MAP-Decodier-Algorithmus' ausführt.
  • Die Aufgabe des herkömmlichen MAP-Decodier-Algorithmus besteht darin die bedingten Wahrscheinlichkeiten aufzufinden: P{Zustand m zu Zeitpunkt t| Empfang Kanalausgaben y1, ..., yL}.
  • Der Begriff L in diesem Ausdruck stellt die Länge des Datenblocks in Einheiten der Anzahl von Codiersymbolen dar. (Der Codierer für einen (n, k) Code arbeit an k-Bit Eingabe-Symbolen, um n-Bit Ausgabe-Symbole zu erzeugen.) Der Begriff yt stellt die Kanalausgabe (Symbol) zu dem Zeitpunkt t dar.
  • Der MAP-Decodier-Algorithmus findet tatsächlich zuerst die Wahrscheinlichkeiten: λt(m) = P{St = m; YL 1}; (1)das heißt, die Verbindungs-Wahrscheinlichkeit, das der Codierzustand zum Zeitpunkt t, St, m ist und der Satz von Kanalausgaben YL 1 = {y1, ..., yL} empfangen ist. Dies sind die erwünschten Wahrscheinlichkeiten, die mit einer Konstanten (P{YL 1}, die Wahrscheinlichkeit eines Empfangs des Satzes von Kanalausgaben {y1, ..., yL}) multipliziert werden.
  • Nun werden die Elemente einer Matrix Γt durch Γt(i,j) = P{Zustand j zu Zeitpunkt t; yt/Zustand i zu Zeitpunkt t-1.} definiert.
  • Die Matrix Γt wird als eine Funktion der Kanaltransition-Wahrscheinlichkeit R(Yt, X) berechnet, wobei die Wahrscheinlichkeit pt(m|m') ist, dass der Codierer einen Durchgang beziehungsweise eine Transition von Zustand m' zu m am Zeitpunkt t durchmacht, und wobei Wahrscheinlichkeit qt(X|m',m) ist, dass das Ausgabesymbol des Codierers X ist, vorausgesetzt dass der vorhergehende Codierzustand m' ist und der gegenwärtige Codierzustand m ist. Insbesondere wird jedes Element von Γt durch Summieren über alle möglichen Codierer-Ausgaben X, wie folgt berechnet:
    Figure 00110001
  • Der MAP-Decoder berechnet L dieser Matrices, einen für jedes Trellis-Stadium. Sie werden von den empfangenen Kananlausgabesymbolen und der Beschaffenheit der Trellis-Äste für einen gegebenen Code gebildet.
  • Als nächstes werden die M Verbindungswahrscheinlichkeitselemente eines Reihenvektors αt durch αt(j) = P{Zustand j zu Zeitpunkt t; y1, ..., yL} (3)und den M bedingten Wahrscheinlichkeitselementen eines Säulenvektors βl durch βt(j) = P{yt+1, ..., yL| Zustand j zu Zeitpunkt t} (4)für j = 0, 1, ..., (M-1), worin M die Anzahl der Codierer-Zustände ist. (Merke, dass Matrices und Vektoren hier durch Verwendung eines fettgedruckten Typs bezeichnet werden.)
  • Die Schritte des MAP Decodier-Algorithmus sind folgende:
    • (i) Berechne α1, ..., αL durch Vorwärts-Rekursion: αt = αt-1 Γt, t = 1, ..., L. (5)
    • (ii) Berechne βl, ..., βL-1 durch Rückwärts-Rekursion: βl = Γt+1 βl+1, t = L-1, ..., 1. (6)
    • (iii) Berechne die Elemente von λt durch: λt(i) = αt(i) βt(i), alle i, t = 1, ..., L. (7)
    • (iv) Finde verwandte Quantitäten wie benötigt. Lasse beispielsweise A j / t die Satzzustände St = {S 1 / t, S 2 / t, ..., S km / t} sein, so dass das jth Element von St, S j / t, gleich Null ist. Für einen herkömmlichen nicht rekursiven Trellis-Code, S j / t = d j / t, ist der jth Datenbit zum Zeitpunkt t. Daher ist die Ausgabe der Decoder Soft-Decision
      Figure 00120001
      worin
    Figure 00120002
    und m der Index ist, der einem Zustand St entspricht.
  • Die Decoder Hard-Decision oder die decodierte Bit-Ausgabe wird durch Anwenden von P{djt = 0|YL1 } auf die folgende Entscheidungsregel:
    Figure 00120003
    erhalten.
  • Das heißt, falls P{djt = 0|YL1 } > 1/2 ist, dann ist ^djt = 0; falls P{djt = 0|YL1 } < 1/2 ist, dann ist ^djt = 1, andernfalls werden die Werte 0 oder 1 zufällig d j / t zugeordnet.
  • Ein anderes Beispiel einer verwandten Quantität für den hier vorstehenden Schritt (iv) besteht darin, dass die Matrix der Wahrscheinlichkeiten σt Elemente wie folgt umfasst: σt(i,j) = P{St-1 = i; = St = j; YL1 ) = αt-1(i)γt(i,j)βt(j)
  • Diese Wahrscheinlichkeiten sind nützlich, falls es wünschenswert ist die a posteriori Wahrscheinlichkeit der Codiererausgabebits zu bestimmen.
  • Bei der Standardanwendung des MAP Decodier-Algorithmus wird die Vorwärts-Rekursion durch den Vektor α0 = (1, 0, ..., 0) initialisiert, und die Rückwärts-Rekursion wird durch βL = (1, 0, ..., 0)T initialisiert. Diese Anfangsbedingungen basieren auf den Annahmen, dass der Anfangszustand des Codierers So = 0 und dessen Endzustand SL = 0 ist.
  • In einer Ausführungsform wird durch den zirkulären MAP Decoder die Anfangszustand-Wahrscheinlichkeitsverteilung durch Lösen eines Eigenwert-Problems, wie folgt, bestimmt. Belasse αt, βt, Γt und λt wie zuvor, nehme jedoch die Anfangs α0 und βL wie folgt:
    Setze βL zu dem Säulenvektor (111 ... 1)T.
    Lasse α0 eine unbekannte (Vektor) Variable sein.
  • Anschließend,
    • (i) Berechne Γt für t = 1, 2, ... L gemäß Gleichung (2).
    • (ii) Finde den größten Eigenwert des Matrixprodukts Γ1 Γ2 ... ΓL. Normalisiere den entsprechenden Eigenvektor so, dass dessen Komponenten auf Eins summieren. Dieser Vektor stellt die Lösung für α0 dar. Der Eigenwert ist P{YL 1}.
    • (iii) Bilde den/die folgenden αt durch Vorwärts-Rekursion wie in Gleichung (5) ausgeführt.
    • (iv) Ausgehend von βL, wie vorstehend initialisiert, bilde βt durch die in Gleichung (6) ausgeführte Rückwärts-Rekursion.
    • (v) Bilde das λt wie in (7) als auch andere wünschenswerte Variablen, wie beispielsweise die Soft-Decision Ausgabe P{djt = 0|YL1 } oder die, hier vorstehend beschriebene Matrix der Wahrscheinlichkeiten σt.
  • Die Erfinder zeigten, dass die unbekannte Variable α0 die Matrix-Gleichung
    Figure 00130001
    erfüllt.
  • Aus der Tatsache, dass diese Formel eine Beziehung unter Wahrscheinlichkeiten ausdrückt, ist bekannt, dass das Produkt von Γt Matrices auf der Rechten den größten Eigenwert aufweist, der zu P{YL 1} gleich ist, und dass der entsprechende Eigenvektor ein Wahrscheinlichkeitsvektor sein muss.
  • Mit dem anfänglichen βL = (111 ... 1)T gibt Gleichung (6) βL-1 an. Daher ergeben wiederholte Anwendungen dieser Rückwärts-Rekursion alle die βt. Sobald α0 bekannt und βL eingesetzt ist, erfolgen alle Berechnungen in dem erfindungsgemäßen zirkulären Decoder dem herkömmlichen MAP Decodier-Algorithmus.
  • 4 ist ein vereinfachtes Blockdiagramm, dass einen zirkulären MAP-Decoder 110 zum Decodieren eines Fehler-Berichtigung Tail-Biting Trellis-Codes gemäß dem Eigenvektor-Verfahren zeigt, das hier vorstehend beschrieben wurde. Der Decoder 110 umfasst einen Γt Rechner 112, der Γt als eine Funktion der Kanalausgabe yt berechnet. Der Γt-Rechner empfängt als Eingaben das Folgende aus einem Speicher 130: Die Kanaltransitions-Wahrscheinlichkeit R(Yt, X), die Wahrscheinlichkeit pt(m|m'), dass der Codierer zu dem Zeitpunkt t eine Transition vom Zustand m' zu m macht, und die Wahrscheinlichkeit qt (X|m', m), dass das Ausgabesymbol des Codierers X ist, vorausgesetzt, dass der vorhergehende Codierer-Zustand m' ist und der gegenwärtige Codierer-Zustand m ist. Der Γt-Rechner berechnet jedes Element von Γt gemäß der Gleichung (2) durch Summieren über alle möglichen Codierer-Ausgaben X.
  • Die berechneten Werte von Γt werden einem Matrixproduktrechner 114 bereitgestellt, um unter Verwendung einer Identitätsmatrix 116, beispielsweise von einem Speicher empfangen, einer Schaltung 118 und einer Verzögerungsschaltung 120 das Matrixprodukt Γt Γ2 ... ΓL zu bilden. Zum Zeitpunkt t = 1 wird die Identitätsmatrix als eine Eingabe auf den Matrixproduktrechner angewendet. Für jeden folgenden Zeitpunkt von t = 2 bis t = L wird das Matrixprodukt
    Figure 00140001
    über die Verzögerungsschaltung zu dem Matrixproduktrechner zurückgekoppelt. Anschließend wird das erhaltene Matrixprodukt zu dem Zeitpunkt t = L über einen Schalter 121 einem normalisierten Eigenvektor-Computer 122 bereitgestellt, der den normalisierten Eigenvektor entsprechend des größten Eigenwertes des darin eingegebenen Matrixprodukts berechnet. Mit einem so initialisierten α0, d.h. wie dieser normalisierte Eigenvektor werden die aufeinander folgenden αt-Vektoren entsprechend Gleichung (5) in einem Matrixproduktrechner 124 unter Verwendung einer Verzögerungs- 126 und Schalter-128 Schaltung, wie gezeigt, rekursiv bestimmt. Geeignete Werte von Γt werden aus dem Speicher 130 abgerufen und die sich ergebenden αt werden anschließend indem Speicher 130 gespeichert.
  • Die Werte von βt werden in einem Matrixproduktrechner 132 unter Verwendung einer Schalter- 134 und einer Verzögerungsschaltung 136 gemäß Gleichung (6) bestimmt. Anschließend werden die Wahrscheinlichkeiten λt aus den Werten von αt und βt in einem Element-durch-Element Produktrechner 140 gemäß Gleichung (7) berechnet. Die Werte von λt werden einem Wahrscheinlichkeitsrechner 150 für einen decodierten Bitwert bereitgestellt, der die Wahrscheinlichkeit bestimmt, dass der jth decodierte Bit zum Zeitpunkt t, d j / t gleich Null ist. Diese Wahrscheinlichkeit wird einer Schwellenwertentscheidungsvorrichtung 152 bereitgestellt, die die folgenden Entscheidungsregeln umsetzt: Falls die Wahrscheinlichkeit von Rechner 150 größer als ½ ist, dann wird entschieden, dass der decodierte Bit Null ist; falls die Wahrscheinlichkeit kleiner als ½ ist, dann wird entschieden, dass der decodierte Bit Eins ist; falls sie gleich ½ ist, dann wird dem decodierten Bit zufällig der Wert 0 oder 1 zugewiesen. Die Ausgabe der Schwellenwertentscheidungsvorrichtung entspricht dem Ausgabebit des Decoders zum Zeitpunkt t.
  • Die Wahrscheinlichkeit, dass der decodierte Bit gleich Null ist P{djt = 0|Yjt }, wird ebenfalls in 4 dargestellt, wie sie einem Soft-Ausgabe Funktionsblock 154 bereitgestellt wird, um eine Funktion der Wahrscheinlichkeit bereitzustellen, d.h. f(P{djt = 0|Yjt }), so dass beispielsweise das
    Figure 00150001
    als die Soft-Decision Ausgabe des Decoders vorliegt. Eine andere nützlich Funktion von P{djt = 0|Yjt } besteht in dem
    Figure 00150002
    Alternativ kann eine nützliche Funktion für Block 154 einfach die Identitätsfunktion sein, so dass die Soft-Ausgabe gerade P{djt = 0|Yjt } ist.
  • Eine alternative Ausführungsform des zirkulären MAP-Decoders bestimmt die Zustandwahrscheinlichkeitsverteilung durch ein Rekursionsverfahren. Insbesondere wird in einer Ausführungsform (das dynamische Konvergenzverfahren) die Rekursion fortgeführt bis Decoderkonvergenz festgestellt wird. Bei diesem Rekwsions- (oder dynamischen Konvergenz) verfahren werden die Schritte (ii) und (iii) des hier vorstehend beschriebenen Eigenvektorverfahrens, wie folgt, ersetzt:
    • (ii.a) Ausgehend von einem anfänglichen α0 gleich (1/M, ..., 1/M), worin M die Anzahl der Zustände in dem Trellis darstellt, wird die Vorwärts-Rekursion L-mal berechnet. Die Ergebnisse werden so normalisiert, dass die Elemente von jedem neuen αt auf Eins aufsummiert werden. Es werden alle L αt Vektoren behalten.
    • (ii.b) Es wird α0 αL von dem vorhergehenden Schritt angeglichen und ausgehend von t = 1, wobei die ersten LWmin αt Wahrscheinlichkeits-Vektoren erneut berechnet werden.
  • Das heißt, es wird
    Figure 00160001
    für m = 0, 1, ..., M-1 und t = 1, 2, ..., LWmin berechnet, worin LWmin eine geeignete minimale Anzahl von Trellis-Stadien ist. Es wird, wie zuvor, normalisiert. Es wird lediglich der letzte Satz von Lα's, der durch die Rekursion. in Schritt (ii.a) und (ii.b) aufgefunden wurde und der vorhergehend in Schritt (ii.a) aufgefundene
    Figure 00160002
    beibehalten.
    • (ii.c) Es
      Figure 00160003
      aus Schritt (ii.b) mit dem vorhergehend aufgefunden Satz aus Schritt (ii.a) verglichen. Falls sich die M entsprechenden Elemente der neuen und alten
      Figure 00160004
      innerhalb eines Toleranzbereichs befinden, dann wird mit Schritt (iv), wie vorstehend ausgeführt, fortgesetzt. Andererseits wird mit Schritt (ii.d) weitergegangen.
    • (ii.d) Lasse t = t + 1 und berechne αt = αt-1Γt. Normalisiere wie vorstehend. Behalte lediglich den letzten berechneten Satz von Lα's und das in dem vorhergehenden Schritt (ii.a) aufgefundene αt.
    • (ii.e) Es werden die neuen αt's mit dem vorhergehend aufgefundenen Satz verglichen. Befinden sich die neuen und alten αt's von M innerhalb eines Toleranzbereichs, dann wird mit Schritt (iv) fortgeführt. Andererseits wird mit Schritt (ii.d) weitergegangen, falls die zwei letzten Vektoren nicht mit dem Toleranzbereich übereinstimmen und falls die Anzahl von Rekursionen nicht ein spezifiziertes Maximum (gewöhnlich 2L) überschreitet; andererseits wird mit Schritt (iv) fortgeführt.
  • Dieses Verfahren wird dann mit den vorstehend angegebenen Schritten (iv) und (v) bezüglich des Eigenvektorverfahrens fortgesetzt, um die Soft-Decision Ausgaben und decodierte Ausgabebits des zirkulären MAP-Decoders zu erzeugen.
  • In einer anderen alternativen Ausführungsform des zirkulären MAP-Decoders, wie in dem US-P-5,721,745 beschrieben, wird das hier vorstehend beschriebene Rekursionsverfahren so modifiziert, dass der Decoder lediglich eine bestimmte, festgelegte Anzahl von Trellis-Stadien für einen zweiten Zeitpunkt zu bearbeiten braucht, das heißt eine bestimmte Wrap-Tiefe (wrap depth). Dies ist für Zwecke der Umsetzung nützlich, da die erforderliche Anzahl von Berechnungen zum Decodieren für jeden codierten Mitteilungsblock beziehungsweise Informationsblock die gleiche ist. Folglich werden die Hardware- und Software-Komplexitäten verringert.
  • Ein Weg, um die erforderliche Wrap-Tiefe für ein MAP-Decodieren von einem Tail-Biting Faltungs-Code abzuschätzen, besteht darin sie aus Experimentieren mit Hardware oder Software zu bestimmen, was erforderlich macht, dass ein zirkulärer MAP-Decoder mit einer variablen Wrap-Tiefe ausgeführt und Experimente durchgeführt werden, um die decodierte Bit-Fehlerrate gegenüber Eb/N0 für aufeinander folgend ansteigende Wrap-Tiefen zu erfassen. Die minimale Decoder Wrap-Tiefe, die die minimale Wahrscheinlichkeit eines decodierten Bit-Fehlers für ein spezifiziertes Eb/N0 bereitstellt, wird aufgefunden, wenn weitere Erhöhungen bei der Wrap-Tiefe die Fehlerwahrscheinlichkeit nicht verringern.
  • Falls eine decodierte Bit-Fehlerrate tolerierbar ist, die größer als die minimal erreichbare bei einem spezifizierten Eb/N0 ist, dann ist es möglich die erforderliche Anzahl von Trellis-Stadien zu verringern, die durch den zirkulären MAP-Decoder bearbeitet werden. Insbesondere kann, wenn die erwünschte durchschnittliche Wahrscheinlichkeit eines Bitfehlers erhalten wird, die hier vorstehend beschriebene Wrap-Tiefensuche einfach terminiert werden.
  • Ein anderer Weg die Wrap-Tiefe für einen gegebenen Code zu bestimmen, besteht in der Verwendung der Abstandeigenschaften des Codes. Zu diesem Zweck ist es erforderlich zwei unterschiedliche Decoder Entscheidungstiefen zu definieren. Wie hier verwendet, bezieht sich der Begriff "korrekter beziehungsweise richtiger Weg" auf die Sequenz von Zuständen oder einen Weg durch das Trellis, der sich aus dem Codieren eines Blocks von Datenbits ergibt. Der Begriff "unrichtige Teilmenge eines Knotens" bezieht sich auf den Satz aller unrichtiger (Trellis) Äste aus einem korrekten Wegknoten und dessen Absteigenden (descendents). Beide Entscheidungstiefen, die nachstehend definiert werden hängen von dem Faltungscodierer ab.
  • Die Entscheidungstiefen werden wie folgt, definiert:
    • (i) Es wird die Vorwärts-Entscheidungstiefe für eine e-Fehler-Berichtigung, LF(e), so definiert, dass sie die erste Tiefe in dem Trellis ist, an der alle Wege in der unrichtigen Teilmenge eines richtigen Weges des Anfangsknotens, ob sie später mit dem richtigen Weg verschmelzen oder nicht, mehr als einen Hamming-Abstand 2e von dem richtigen Weg liegen. Die Signifikanz von LF(e) besteht darin, dass falls e oder weniger Fehler vorwärts des Anfangsknoten vorkommen, und bekannt ist, dass das Codieren dort begonnen hat, dann muss der Decoder richtig decodieren. Eine formale Aufstellung von Vorwärts-Entscheidungstiefen für Faltungscodes wurde durch J.B. Anderson und K. Balchandran in "Decision Depths of Convolutional Codes", IEEE Transactions on Information Theory, vol. IT-35 (March 1989), 455-59, bereitgestellt. Eine Anzahl von Eigenschaften von LF(e) werden in dieser Referenz und ebenfalls durch J.B. Anderson und S. Mohan in Source and Channel Coding – An Algorithmic Approach, Kluver Academic Publishers, Norwell, MA, 1991, offenbart. Herausstechend unter diesen Eigenschaften ist, dass eine einfache lineare Beziehung zwischen LF und e besteht, wobei beispielsweise bei einer Rate von ½ Codes LF ungefähr 9,08e beträgt.
    • (ii) Als nächstes wird die nicht verschmolzene Entscheidungstiefe für eine e-Fehler-Berichtigung, LU(e) definiert, die die erste Tiefe in dem Trellis ist, an der alle Wege in dem Trellis, die niemals den richtigen Weg berühren, mehr als einen Hamming-Abstand von 2e von dem richtigen Weg entfernt liegen.
  • Die Signifikanz von LU(e) für ein Soft-Decision zirkuläres MAP Decodieren besteht darin, dass die Wahrscheinlichkeit einer Zustandsidentifizierung an dem aktuell übertragenen Weg hoch ist, nachdem der Decoder LU(e) Trellis-Stadien bearbeitet. Daher beträgt die minimale Wrap-Tiefe für zirkuläres MAP-Decodieren LU(e). Berechnungen der Tiefe LU(e) zeigen, dass sie immer größer als LF(e) ist, wobei sie jedoch dem gleichen Näherungsgesetz folgt. Dies impliziert, dass die minimale Wrap-Tiefe als die Vorwärts-Entscheidungs-Tiefe LF(e) abgeschätzt werden kann, falls die nicht verschmolzene Entscheidungstiefe eines Codes nicht bekannt ist.
  • Durch Auffinden der minimalen unverschmolzenen Entscheidungstiefe für einen gegebenen Codierer wird die geringste Anzahl von Trellis-Stadien festgestellt, die durch einen geeigneten zirkulären Decoder bearbeitet werden müssen, der Soft-Decision Ausgaben erzeugt. Ein Algorithmus zum Auffinden von LF(e), der Vorwärts-Entscheidungstiefe, wurde durch, die hier vorstehend zitierten, J.B. Anderson und K. Balachandran in "Decision Depths of Convolutional Codes" vorgegeben. Um LU(e) aufzufinden:
    • (i) Erweitere den Code-Trellis von links nach rechts, beginnend von allen Trellisknoten gleichzeitig, ausgenommen für das Null-Zustand.
    • (ii) Auf jedem Niveau werden beliebige Wege gelöscht, die mit dem richtigen (alle-Null) Weg verschmelzen, wobei jedoch keine Wege aus dem richtigen (Null) Zustandsknoten erweitert werden.
    • (iii) Auf dem Niveau k wird der geringste Hamming-Abstand, oder Gewichtung unter den Wegen aufgefunden, die an Knoten auf diesem Niveau terminieren.
    • (iv) Falls dieser geringste Abstand 2e überschreitet, wird gestoppt. Dann ist LU(e) = k.
  • Wie in der US-P-5,721,745 beschrieben, führt Experimentieren über Computersimulation zu zwei unerwarteten Ergebnissen: (1) gerolltes beziehungsweise eingewickeltes Bearbeiten (wrapped processing) von βt verbessert die Decoderleistung; und (2) die Verwendung einer Wrap-Tiefe von LU(e) + LF(e) = 2 LF(e) verbessert die Leistung signifikant. Daher umfasst eine bevorzugte Ausführungsform des auf Rekursion basierenden zirkulären MAP Decoder-Algorithmus die folgenden Schritte:
    • (i) Berechnen von Γt für t = 1, 2, ..., L gemäß Gleichung (2).
    • (ii) Ausgehend von einem anfänglichen α0 gleich zu (1/M, ... 1/M), worin M die Anzahl von Zuständen in dem Trellis ist, wird die Vorwärts-Rekursion von Gleichung (5) (L + LW)-mal für u = 1, 2, ... (L + LW) berechnet, worin LW die Wrap-Tiefe des Decoders ist. Der Trellisniveau-Index t nimmt die Werte ((u-1) mod L) + 1 an. Umwickelt (wraps around) der Decoder die empfangenen Symbolsequenzen von dem Kanal, dann wird αL als α0 behandelt. Die Ergebnisse werden so normalisiert, dass die Elemente von jedem neuen αt auf Eins aufsummiert werden. Die L letzten α-Vektoren werden behalten, die über diese Rekursion aufgefundenen wurden.
    • (iii) Ausgehend von einem anfänglichen βL gleich zu (1, ..., 1)T wird die Rückwärts-Rekursion von Gleichung (6) (L + LW)-mal für u = 1, 2, ... (L + LW) berechnet. Der Trellisniveau-Index t nimmt die Werte L-(u mod L) an. Umwickelt der Decoder die empfangene Sequenz, dann wird βl als βL+1 verwendet und Γt wird als ΓL+1 verwendet, wenn die neuen βL berechnet werden. Die Ergebnisse werden normalisiert, dass die Elemente von jedem neuen βt auf Eins aufsummiert werden. Erneut werden die L letzten β-Vektoren behalten, die durch diese Rekursion aufgefunden wurden.
  • Der nächste Schritt dieses bevorzugten Rekwsionsverfahrens ist der gleiche wie Schritt (v), der vorstehend mit Bezug auf das Eigenvektorverfahren ausgeführt wurde, um die Soft-Decisions und decodierten Ausgabebits durch den zirkulären MAP-Decoder zu erzeugen.
  • 5 ist ein vereinfachtes Blockdiagramm, das einen zirkulären MAP-Decoder 180 gemäß dieser bevorzugten erfindungsgemäßen Ausführungsform darstellt. Der Decoder 180 umfasst einen Γt-Rechner 182, der Γt als eine Funktion der Kanalausgabe yt berechnet. Die Kanalausgaben y1, ..., yL werden dem Γt-Rechner über einen Schalter 184 bereitgestellt. Befindet sich der Schalter in der Abwärts-Position, dann werden L Kanalausgabe-Symbole eines nach dem anderen in einen Γt-Rechner 182 und ein Schieberegister 186 geladen. Anschließend wird der Schalter 184 in die Aufwärts-Position bewegt, um dem Schieberegister zu ermöglichen die ersten LW empfangenen Symbole erneut in den Γt-Rechner zu schieben, d.h. um zirkuläre Bearbeitung bereitzustellen. Der Γt-Rechner empfängt als Eingaben aus dem Speicher 130 die Kanaltransitions-Wahrscheinlichkeit R(Yt, X), die Wahrscheinlichkeit pt(m|m'), dass der Codier am Zeitpunkt t eine Transition von Zustand m' zu m macht, und die Wahrscheinlichkeit qt(X|m', m), dass das Ausgabesymbol des Codierers X ist, vorausgesetzt, dass der vorhergehende Codierer-Zustand m' und der gegenwärtige Codierer-Zustand m ist. Der Γt-Rechner berechnet gemäß Gleichung (2) jedes Element von Γt durch Summieren über alle möglichen Codierer-Ausgaben X.
  • Die berechneten Werte von Γt werden einem Matrixproduktrechner 190 bereitgestellt, der die Γt-Matrix mit der αt-1 Matrix multipliziert, die durch eine Verzögerungs- 192 und Demultiplexer- 194 Schaltung rekursiv bereitgestellt wird. Das Kontrollsignal CNTRL1 bewirkt, wenn t = 1 ist, dass der Demultiplexer 194 α0 aus dem Speicher 196 als eine Eingabe an den Matrixproduktrechner 190 auswählt. Falls 2 ≤ t ≤ List, dann bewirkt das Kontrollsignal CNTRL1, dass der Demultiplexer 194 αt-1 aus der Verzögerung 192 als eine Eingabe an den Matrixproduktrechner 190 auswählt. Die Werte von Γt und αt werden wie erforderlich in dem Speicher 196 gespeichert.
  • Die βt-Vektoren werden in einem Matrixproduktrechner 200 über eine Verzögerungs-202 und eine Demultiplexer- 204 Schaltung rekursiv berechnet. Das Kontrollsignal CNTRL2 bewirkt, wenn t = L-1 ist, dass der Demultiplexer 204 βL aus dem Speicher 196 als eine Eingabe an den Matrixproduktrechner 200 auswählt. Falls L-2 ≥ t ≥ 1 ist, dann bewirkt das Kontrollsignal CNTRL2, dass der Demultiplexer 204 βt+1 aus der Verzögerung 102 als eine Eingabe an den Matrixproduktrechner 200 auswählt. Die erhaltenen Werte von βt werden mit den Werten von αt, die aus dem Speicher 196 in einem Element-durch-Element Produktrechner 206 erhalten wurden, multipliziert, um wie vorstehend beschrieben, die Wahrscheinlichkeiten λt bereitzustellen. In der gleichen Weise, wie mit Bezug auf 4 vorstehend beschrieben, werden die Werte von λt einem decodierten Bitwert-Wahrscheinlichkeitsrechner 150 bereitgestellt, dessen Ausgabe einer Schwellenwertentscheidungsvorrichtung 152 bereitgestellt wird, was zu den decodierten Ausgabebits des Decoders fuhrt.
  • Die bedingte Wahrscheinlichkeit, dass der decodierte Bit gleich Null (P{djt = 0|Yjt }) ist, wird ebenfalls in 5 gezeigt, welche einem Soft-Ausgabe-Funktionsblock 154 zum Bereitstellen einer Funktion der Wahrscheinlichkeit bereitgestellt wird, d.h. f(P{djt = 0|Yjt }), wie beispielsweise das
    Figure 00210001
    als die Soft-Decision Ausgabe des Decoders. Eine andere nützliche Funktion von P{djt = 0|Yjt } ist das
    Figure 00220001
  • Alternativ kann eine nützliche Funktion für Block 154 einfach die Identitätsfunktion sein, so dass die Soft-Ausgabe gerade P{djt = 0|Yjt } beträgt.
  • Erfindungsgemäß ist es möglich die Rate des parallel verknüpften Codierschemas, das Tail-Biting nicht rekursive systematische Codes umfasst durch Entfernen ausgewählter Bits in dem zusammengesetzten Codewort zu erhöhen, das durch den zusammengesetzten Codewortformatierer gemäß eines vorteilhaft gewählten Musters, vor einem Übertragen der Bits des zusammengesetzten Codeworts über einen Kanal, gebildet wird. Dieses Verfahren ist als Puncturing beziehungsweise Punktieren beziehungsweise Durchstechen bekannt. Dieses Punktier-Muster ist ebenfalls dem Decoder bekannt. Der folgende einfache zusätzliche Schritt, der durch den empfangenes zusammengesetztes Codewort-zu-Komponenten-Codewort Wandler beziehungsweise Konverter ausgeführt wird, stellt die erwünschte Decoder-Operation bereit: der Konverter für das empfangene zusammengesetzte Codewortzu-Komponenten-Codewort fügt, während der Bildung der empfangenen Komponenten-Codeworte, bloß einen neutralen Wert für jedes bekannte punktierte Bit ein. Beispielsweise liegt der neutrale Wert für den Fall einer antipodischen Signalisierung über einem Additiven weißen Gaußschen Rauschkanal vor. Der Rest der Decoder-Operation verläuft wie vorstehend beschrieben.
  • Es wurde vordem weitgehend akzeptiert, dass nicht rekursive systematische Faltungscodes aufgrund der ausgezeichneten beziehungsweise überlegenen Abstandseigenschaften von RSC-Codes für relativ große Datenblocklängen, wie beispielsweise in S. Benedetto und G. Montorsi, "Design of Parallel Concatenated Convolutional Codes", in IEEE Transactions on Communications, zu veröffentlichen, berichtet wird, nicht als die Komponentencodes in einem parallel verknüpften Codierschema nützlich sein würden. Wie hier vorstehend beschrieben, bestimmten jedoch die Erfinder, dass der minimale Abstand eines NSC-Codes weniger empfindlich auf die Datenblocklänge ist, und daher in Kommunikationssystemen, die kurze Blöcke von Datenbits in stark rauschenden Kanälen übertragen, vorteilhaft verwendet werden kann. Außerdem haben die Erfinder bestimmt, dass die Verwendung von Tail-Biting-Codes das Problem einer Termination von Eingabedatensequenzen in Turbo-Codes löst. Die Verwendung von Tail-Biting Faltungscodes als Komponentencodes in einem parallel verknüpften Codierschema wurde vordem nicht vorgeschlagen. Daher stellt die vorliegende Erfindung ein parallel verknüpftes nicht rekursives Tail-Biting systematisches Faltungscodierschema mit einem Decoder bereit, der zirkuläre MAP-Decoder zum Decodieren der Komponenten Tail-Biting Faltungscodes umfasst, um eine bessere Leistung für kurze Datenblocklängen als in herkömmlichen Turbo-Codierschemata bereitzustellen, was vermittels einer Bit-Fehlerrate gegenüber einem Signal-Rausch-Verhältnis erfasst wird.
  • Obwohl die vorliegenden erfindungsgemäßen Ausführungsformen hier aufgezeigt und beschrieben wurden, wird offensichtlich werden, dass derartige Ausführungsformen lediglich als Beispiele bereitgestellt sind. Zahlreiche Variationen, Änderungen und Substitutionen sind dem Fachmann ohne von dem Umfang der beigefügten Ansprüche abzuweichen, bekannt.

Claims (46)

  1. Verfahren zum parallel verknüpften Faltungscodieren, umfassend die Schritte von: Bereitstellen eines Blocks von Datenbits an einen parallel verknüpften Codierer, der mehrere N Komponentencodierer (12) und N-1 Interleaver (14) umfasst, die in einer parallelen Verknüpfung verbunden sind; Codieren des Blocks von Datenbits in einem ersten von den Komponentencodierern (12) durch einen darauf angewendeten Code und wobei dadurch ein entsprechendes erstes Komponentencodewort erzeugt wird, das die Datenbits und Paritätsbits umfasst; Verschachteln des Blocks von Datenbits, um einen permutierten Block von Datenbits bereitzustellen; Codieren des erhaltenen permutierten Blocks von Datenbits in einem nachfolgenden Komponentencodierer durch einen darauf angewendeten Code, und wobei dadurch ein entsprechendes zweites Komponentencodewort erzeugt wird, das die Datenbits und Paritätsbits umfasst, Wiederholen der Schritte eines Verschachtelns und Codierens des erhaltenen permutierten Blocks von Datenbits durch die übrigen N-2 Interleaver und die übrigen N-2 Komponentencodierer, und wobei dadurch Komponentencodeworte erzeugt werden, die die Datenbits und Paritätsbits umfassen, und Formatieren der Bits der Komponentencodeworte, um ein zusammengesetztes Codewort bereitzustellen; dadurch gekennzeichnet, dass die Codes Tail-Biting nicht rekursive systematische Faltungscodes sind.
  2. Verfahren nach Anspruch 1, wobei der Formatierungsschritt so ausgeführt wird, dass das zusammengesetzte Codewort lediglich ein Ereignis von jedem Bit des Blocks von Datenbits umfasst.
  3. Verfahren nach Anspruch 1, wobei der Formatierungsschritt so ausgeführt wird, dass das zusammengesetzte Codewort lediglich ausgewählte der Bits umfasst, die gemäß eines bestimmten Musters in den Komponentencodeworten umfasst sind.
  4. Verfahren zum Decodieren parallel verknüpfter Faltungscodes, umfassend die Schritte von: Empfangen eines zusammengesetzten Codeworts von einem Kanal, das eine formatierte Sammlung von Bits von mehreren Komponentencodeworten umfasst, die durch Anwenden von Codes auf einen Block von Datenbits in einem parallel verknüpften Codierer erzeugt wurden, der mehrere von N Komponentencodierern (12) umfasst, die von dem empfangenen zusammengesetzten Codewort empfangene Komponentencodeworte bilden, wobei jedes entsprechend empfangene Komponentencodewort durch einen entsprechenden einen von mehreren N Komponentendecodern (24) eines zusammengesetzten Decoders empfangen wird, wobei jeder entsprechende Komponentendecoder ebenfalls einen Satz von a priori Soft-Decision Information für Werte der Datenbits empfängt; Decodieren der empfangenen Komponentencodeworte durch einen Vorgang von Iterationen durch die N Komponentendecoder (24) und N-1 Interleaver (14), um Soft-Decision Ausgaben von dem zusammengesetzten Decoder bereitzustellen, wobei jeder der N Komponentendecoder (24) zu jedem Datenbit in dem Datenblock in der durch den entsprechenden Komponentencodierer (12) codierten Reihenfolge Soft-Decision Information bereitstellt, wobei die N-1 Interleaver (14) jeweils die Soft-Decision Information von einem vorhergehenden Komponentendecoder verschachteln, um einem nachfolgenden Komponentendecoder einen permutierten Block von Soft-Information bereitzustellen, wobei der Satz von a priori Soft-Decision Information für den ersten der N Komponentendecoder (24) unter der Annahme berechnet wird, dass die Datenbitwerte für die erste Iteration gleich wahrscheinlich sind und danach eine erste Funktion der Soft-Decision Information umfassen, welche erste Funktion der Soft-Decision Information von dem Nten Komponentendecoder über einen ersten Deinterleaver (28) rückgekoppelt wird, der zu den N-1 Interleavern (14) entsprechende N-1 Deinterleaver umfasst, wobei die N-1 Deinterleaver des ersten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der Satz von a priori Soft-Decision Information jedem anderen Komponentendecoder (24) bereitgestellt wird, der die erste Funktion der Soft-Decision Information von dem vorhergehenden sequentiellen Komponentendecoder umfasst, und Entschachteln einer zweite Funktion der Soft-Decision Ausgabe von dem Nten Komponentendecoder in einem zweiten Deinterleaver (29), um unter Verwendung von den zu den N-1 Interleavern entsprechenden N-1 Deinterleavern (30) die Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen, wobei die N-1 Deinterleaver des zweiten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, dadurch gekennzeichnet, dass die angewendeten Codes Tail-Biting nicht rekursive systematische Faltungscodes sind, und dass jeder der N Komponentendecoder (24) MAP Zirkulardecoder umfasst, wobei die MAP Zirkulardecoder durch Lösen eines Eigenvektorproblems eine Anfangszustandswahrscheinlichkeitsverteilung bereitstellen.
  5. Verfahren nach Anspruch 4, wobei die Anzahl von Iterationen durch die Komponentendecoder (24), Interleaver (14) und Deinterleaver (28, 29) eine bestimmte Anzahl aufweist.
  6. Verfahren nach Anspruch 4, wobei, falls die Anzahl der Iterationen geringer als eine maximale Anzahl ist, die Iterationen durch die Komponentendecoder (24), Interleaver (14) und Deinterleaver (28, 29) solange fortdauern bis Decoderkonvergenz festgestellt wird, wobei andernfalls Decodieren nach der maximalen Iterationsanzahl beendet wird, und wobei der zusammengesetzte Decoder die zweite Funktion von Soft-Decision Ausgaben von dem Nten Komponentendecoder als dessen Soft-Decision Ausgabe über den zweiten Deinterleaver (29) bereitstellt.
  7. Verfahren nach Anspruch 4 weiter umfassend die Schritte von: Implementieren einer Entscheidungsregel, um Hard-Decision Ausgaben als eine Funktion der Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen.
  8. Verfahren nach Anspruch 4, wobei die formatierte Sammlung von Bits gemäß eines bestimmten Musters punktiert ist, und weiterhin den Schritt umfassend von: Einfügen neutraler Werte für alle punktierten Bits, wenn die empfangenen Kompo nentencodeworte gebildet werden.
  9. Verfahren zum Decodieren parallel verknüpfter Faltungscodes, umfassend die Schritte von: Empfangen eines zusammengesetzten Codeworts von einem Kanal, das eine formatierte Sammlung von Bits von mehreren Komponentencodeworten umfasst, die durch Anwenden von Codes auf einen Block von Datenbits in einem parallel verknüpften Codierer erzeugt wurden, der mehrere von N Komponentencodierern (12) umfasst, die von dem empfangenen zusammengesetzten Codewort empfangene Komponentencodeworte bilden, wobei jedes entsprechend empfangene Komponentencodewort durch einen entsprechenden einen von mehreren N Komponentendecodern (24) eines zusammengesetzten Decoders empfangen wird, wobei jeder entsprechende Komponentendecoder ebenfalls einen Satz von a priori Soft-Decision Information mit für Werte der Datenbits empfängt; Decodieren der empfangenen Komponentencodeworte durch einen Vorgang von Iterationen durch die N Komponentendecoder (24) und N-1 Interleaver (14), um von dem zusammengesetzten Decoder Soft-Decision Ausgaben bereitzustellen, wobei jeder der N Komponentendecoder (24) zu jedem Datenbit in dem Datenblock in der durch den entsprechenden Komponentencodierer (12) codierten Reihenfolge Soft-Decision Information bereitstellt, wobei die N-1 Interleaver (14) jeweils die Soft-Decision Information von einem vorhergehenden Komponentendecoder verschachteln, um einem nachfolgenden Komponentendecoder einen permutierten Block von Soft-Information bereitzustellen, wobei der Satz von a priori Soft-Decision Information für den ersten der N Komponentendecoder (24) unter der Annahme berechnet wird, dass die Datenbitwerte für die erste Iteration gleich wahrscheinlich sind und danach eine erste Funktion der Soft-Decision Information umfassen, welche erste Funktion der Soft-Decision Information von dem Nten Komponentendecoder über einen ersten Deinterleaver (28) rückgekoppelt wird, der zu den N-1 Interleavern (14) entsprechende N-1 Deinterleaver umfasst, wobei die N-1 Deinterleaver des ersten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der Satz von a priori Soft-Decision Information jedem anderen Komponentendecoder (24) bereitgestellt wird, der die erste Funktion der Soft-Decision Information von dem vorhergehenden sequentiellen Komponentendecoder umfasst, und Entschachteln einer zweite Funktion der Soft-Decision Ausgabe von dem Nten Komponentendecoder in einem zweiten Deinterleaver (29), um unter Verwendung von den zu den N-1 Interleavern entsprechenden N-1 Deinterleavern (30) die Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen, wobei die N-1 Deinterleaver des zweiten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, dadurch gekennzeichnet, dass die angewendeten Codes Tail-Biting nicht rekursive systematische Faltungscodes sind, und dass jeder der N Komponentendecoder (24) MAP Zirkulardecoder umfasst, wobei die MAP Zirkulardecoder einen zirkularen Tail-Biting Trellis verwenden und Vorwärts-Rekursion fortdauernd ausgeführt wird bis Zustandswahrscheinlichkeiten konvergieren.
  10. Verfahren zum Codieren und Decodieren parallel verknüpfter Faltungscodes, umfassend die Schritte von: Bereitstellen eines Blocks von Datenbits an einen parallel verknüpften Codierer, der mehrere N Komponentencodierer (12) und N-1 Codier-Interleaver (14) umfasst, die in einer parallelen Verknüpfung verbunden sind; Codieren des Blocks von Datenbits in einem ersten von den Komponentencodierern (12) durch einen daran angewendeten Code und wobei dadurch ein entsprechendes erstes Komponentencodewort erzeugt wird, das die Datenbits und Paritätsbits umfasst; Verschachteln des Blocks von Datenbits, um einen permutierten Block von Datenbits bereitzustellen; Codieren des erhaltenen permutierten Blocks von Datenbits in einem nachfolgenden Komponentencodierer durch einen daran angewendeten Code, und wobei dadurch ein entsprechendes zweites Komponentencodewort erzeugt wird, das die Datenbits und Paritätsbits umfasst, Wiederholen der Schritte eines Verschachtelns und Codierens des erhaltenen permutierten Blocks von Datenbits durch die übrigen N-2 Codier-Interleaver (14) und die übrigen N-2 Komponentencodierer (12) und wobei dadurch Komponentencodeworte erzeugt werden, die die Datenbits und Paritätsbits umfassen, und Formatieren der Bits der Komponentencodeworte, um ein zusammengesetztes Codewort bereitzustellen; Eingeben des zusammengesetzten Codeworts in einen Kanal; Empfangen eines empfangenen zusammengesetzten Codeworts von einem Kanal; Bilden empfangener Komponentencodeworte von dem empfangenen zusammengesetzten Codewort; Bereitstellen jeden entsprechenden empfangenen Komponentencodeworts an einen entsprechenden einen von mehreren N Komponentendecodern (24) eines zusammengesetzten Decoders, wobei jeder entsprechende Komponentendecoder (24) ebenfalls einen Satz von a priori Wahrscheinlichkeiten für Werte der Datenbits empfängt; Decodieren der empfangenen Komponentencodeworte durch einen Vorgang von Iterationen durch die N Komponentendecoder (24) und N-1 Interleavern (14), um von dem zusammengesetzten Decoder Soft-Decision Ausgaben bereitzustellen, wobei die N Komponentendecoder jeweils zu jedem Datenbit in dem Datenblock in der durch den entsprechenden Komponentencodierer (12) codierten Anordnung Soft-Decision Information bereitstellen, wobei die N-1 Interleaver (14) jeweils die Soft-Decision Information von einem vorhergehenden Komponentendecoder (24) verschachteln, um einem nachfolgenden Komponentendecoder einen permutierten Block von Soft-Information bereitzustellen, wobei der Satz von a priori Soft-Decision Information für den ersten der N Komponentendecoder (24) unter der Annahme berechet wird, dass die Datenbitwerte für die erste Iteration gleich wahrscheinlich sind und danach eine erste Funktion der Soft-Decision Information umfassen, welche erste Funktion der Soft-Decision Information von dem Nten Komponentendecoder über einen ersten Deinterleaver (28) rückgekoppelt wird, der zu den N-1 Interleavern (14) entsprechende N-1 Deinterleaver (30) umfasst, wobei die N-1 Deinterleaver des ersten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der Satz von a priori Soft-Decision Information jedem anderen Komponentendecoder (12) bereitgestellt wird, der die erste Funktion der Soft-Decision Information von dem vorhergehenden sequentiellen Komponentendecoder umfasst, und Entschachteln einer zweite Funktion der Soft-Decision Ausgabe von dem Nten Komponentendecoder in einem zweiten Deinterleaver (29), um unter Verwendung von den zu den N-1 Interleavern (14) entsprechenden N-1 Deinterleavern (30) die Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen, wobei die N-1 Deinterleaver des zweiten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, dadurch gekennzeichnet, dass die angewendeten Codes Tail-Biting nicht rekursive systematische Faltungscodes sind, und dass der Decodierungsschritt durch die N Komponentendecoder (24) ausgeführt wird, wobei die Komponentendecoder (24) MAP Zirkulardecoder umfassen und die MAP Zirkulardecoder durch Lösen eines Eigenvektorproblems eine Anfangszustandswahrscheinlichkeitsverteilung bereitstellen.
  11. Verfahren nach Anspruch 10, wobei der Formatierungsschritt so ausgeführt wird, dass das zusammengesetzte Codewort lediglich ein Ereignis von jedem Bit des Blocks von Datenbits umfasst.
  12. Verfahren nach Anspruch 10, wobei der Formatierungsschritt so ausgeführt wird, dass das zusammengesetzte Codewort lediglich ausgewählte der Bits umfasst, die gemäß eines bestimmten Musters in den Komponentencodeworten umfasst sind.
  13. Verfahren nach Anspruch 10, wobei die Anzahl von Iterationen durch die Komponentendecoder (24), Interleaver (14) und die Deinterleaver (28, 29) eine bestimmte Anzahl aufweist.
  14. Verfahren nach Anspruch 10, wobei die Iterationen durch die Komponentendecoder (24), Interleaver (14) und die Deinterleaver (28, 29) solange fortdauern bis eine Decoderkonvergenz in der Anzahl von Iterationen festgestellt wird, die geringer als eine maximale Anzahl ist, wobei andernfalls Decodieren nach der maximalen Anzahl von Iterationen beendet wird, und wobei der zusammengesetzte Decoder die zweite Funktion von Soft-Decision Ausgaben von dem Nten Komponentendecoder als dessen Soft-Decision Ausgabe über den zweiten Deinterleaver (29) bereitstellt.
  15. Verfahren nach Anspruch 10, weiterhin umfassend den Schritt von: Implementieren einer Entscheidungsregel, um Hard-Decision Ausgaben als eine Funktion der Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen.
  16. Verfahren nach Anspruch 10, wobei der Formatierungsschritt weiterhin den Schritt eines Punktierens ausgewählter der Bits von den Komponentencodeworten gemäß eines bestimmten Musters umfasst, und das zusammengesetzte Codewort die zusammengesetzten Codeworte ohne die Punktierungs-Bits umfasst, und weiterhin den Schritt umfasst von: Einfügen neutraler Werte für alle punktierten Bits, wenn die empfangenen Komponentencodeworte gebildet werden.
  17. Verfahren zum Codieren und Decodieren parallel verknüpfter Faltungscodes, umfassend die Schritte von: Bereitstellen eines Blocks von Datenbits an einen parallel verknüpften Codierer, der mehrere N Komponentencodierer (12) und N-1 Codier-Interleaver (14) umfasst, die in einer parallelen Verknüpfung verbunden sind; Codieren des Blocks von Datenbits in einem ersten von den Komponentencodierern (12) durch einen daran angewendeten Code und wobei dadurch ein entsprechendes erstes Komponentencodewort erzeugt wird, das die Datenbits und Paritätsbits umfasst; Verschachteln des Blocks von Datenbits, um einen permutierten Block von Datenbits bereitzustellen; Codieren des erhaltenen permutierten Blocks von Datenbits in einem nachfolgenden Komponentencodierer durch einen daran angewendeten Code, und wobei dadurch ein entsprechendes zweites Komponentencodewort erzeugt wird, das die Datenbits und Paritätsbits umfasst, Wiederholen der Schritte eines Verschachtelns und Codierens des erhaltenen permutierten Blocks von Datenbits durch die übrigen N-2 Codier-Interleaver (14) und die übrigen N-2 Komponentencodierer (12) und wobei dadurch Komponentencodeworte erzeugt werden, die die Datenbits und Paritätsbits umfassen, und Formatieren der Bits der Komponentencodeworte, um ein zusammengesetztes Codewort bereitzustellen; Eingeben des zusammengesetzten Codeworts in einen Kanal; Empfangen eines empfangenen zusammengesetzten Codeworts von einem Kanal; Bilden empfangener Komponentencodeworte von dem empfangenen zusammengesetzten Codewort; Bereitstellen jeden entsprechenden empfangenen Komponentencodeworts an einen entsprechenden einen von mehreren N Komponentendecodern (24) eines zusammengesetzten Decoders, wobei jeder entsprechende Komponentendecoder (24) ebenfalls einen Satz von a priori Wahrscheinlichkeiten für Werte der Datenbits empfängt; Decodieren der empfangenen Komponentencodeworte durch einen Vorgang von Iterationen durch die N Komponentendecoder (24) und N-1 Interleavern (14), um von dem zusammengesetzten Decoder Soft-Decision Ausgaben bereitzustellen, wobei die N Komponentendecoder jeweils zu jedem Datenbit in dem Datenblock in der durch den entsprechenden Komponentencodierer (12) codierten Anordnung Soft-Decision Information bereitstellen, wobei die N-1 Interleaver (14) jeweils die Soft-Decision Information von einem vorhergehenden Komponentendecoder (24) verschachteln, um einem nachfolgenden Komponentendecoder einen permutierten Block von Soft-Information bereitzustellen, wobei der Satz von a priori Soft-Decision Information für den ersten der N Komponentendecoder (24) unter der Annahme berechnet wird, dass die Datenbitwerte für die erste Iteration gleich wahrscheinlich sind und danach eine erste Funktion der Soft-Decision Information umfassen, welche erste Funktion der Soft-Decision Information von dem Nten Komponentendecoder über einen ersten Deinterleaver (28) rückgekoppelt wird, der zu den N-1 Interleavern (14) entsprechende N-1 Deinterleaver (30) umfasst, wobei die N-1 Deinterleaver des ersten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der Satz von a priori Soft-Decision Information jedem anderen Komponentendecoder (12) bereitgestellt wird, der die erste Funktion der Soft-Decision Information von dem vorhergehenden sequentiellen Komponentendecoder umfasst, und Entschachteln einer zweite Funktion der Soft-Decision Ausgabe von dem Nten Komponentendecoder in einem zweiten Deinterleaver (29), um unter Verwendung von den zu den N-1 Interleavern (14) entsprechenden N-1 Deinterleavern (30) die Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen, wobei die N-1 Deinterleaver des zweiten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, dadurch gekennzeichnet, dass die angewendeten Codes Tail-Biting nicht rekursive systematische Faltungscodes sind, und dass der Decodierungsschritt durch die N Komponentendecoder (24) ausgeführt wird, wobei die Komponentendecoder (24) MAP Zirkulardecoder umfassen und wobei die MAP Zirkulardecoder einen zirkularen Tail-Biting Trellis verwenden und Vorwärts-Rekursion fortdauernd ausgeführt wird bis Zustandswahrscheinlichkeiten konvergieren.
  18. Verfahren nach Anspruch 17, wobei der Formatierungsschritt so ausgeführt wird, dass das zusammengesetzte Codewort lediglich ein Ereignis von jedem Bit des Blocks von Datenbits umfasst.
  19. Verfahren nach Anspruch 17, wobei der Formatierungsschritt so ausgeführt wird, dass das zusammengesetzte Codewort lediglich ausgewählte der Bits umfasst, die gemäß eines bestimmten Musters in den Komponentencodeworten umfasst sind.
  20. Verfahren nach Anspruch 17, wobei die Anzahl von Iterationen durch die Komponentendecoder (24), Interleaver (14) und die Deinterleaver (28, 29) eine bestimmte Anzahl ist.
  21. Verfahren nach Anspruch 17, wobei die Iterationen durch die Komponentendecoder (24), Interleaver (14) und die Deinterleaver (28, 29) solange fortdauern bis eine Decoderkonvergenz in der Anzahl von Iterationen festgestellt wird, die geringer als eine maximale Anzahl ist, wobei andernfalls Decodieren nach der maximalen Anzahl von Iterationen beendet wird, und wobei der zusammengesetzte Decoder die zweite Funktion von Soft-Decision Ausgaben von dem Nten Komponentendecoder als dessen Soft-Decision Ausgabe über den zweiten Deinterleaver (29) bereitstellt.
  22. Verfahren nach Anspruch 17, weiterhin umfassend den Schritt von: Implementieren einer Entscheidungsregel, um Hard-Decision Ausgaben als eine Funktion der Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen.
  23. Verfahren nach Anspruch 17, wobei der Formatierungsschritt weiterhin den Schritt eines Punktierens ausgewählter der Bits von den Komponentencodeworten gemäß eines bestimmten Musters umfasst, und wobei das zusammengesetzte Codewort die zusammen gesetzten Codeworte ohne die Punktierungs-Bits umfasst, und weiterhin den Schritt umfasst von: Einfügen neutraler Werte für alle punktierten Bits, wenn die empfangenen Komponentencodeworte gebildet werden.
  24. Parallel verknüpfter Codierer, umfassend: mehrere N Komponentencodierer (12) und mehrere N-1 Interleaver (14), die in einer parallelen Verknüpfung zur systematischen Anwendung von Codes auf einen Block von Datenbits und verschiedenen Permutationen des Blocks von Datenbits verbunden sind, und wobei dadurch Komponentencodeworte erzeugt werden, die die Datenbits und Paritätsbits umfassen; und einen zusammengesetzten Codewortformatierer (16) zum Formatieren der Sammlung von Bits von den Komponentencodeworten, um ein zusammengesetztes Codewort bereitzustellen; dadurch gekennzeichnet, dass die Codes Tail-Biting nicht rekursive systematische Faltungscodes sind.
  25. Codierer nach Anspruch 24, worin der zusammengesetzte Codewortformatierer (16) das zusammengesetzte Codewort so erzeugt, dass es lediglich ein Ereignis von jedem Bit des Blocks von Datenbits umfasst.
  26. Codierer nach Anspruch 24, worin der zusammengesetzte Codewortformatierer (16) das zusammengesetzte Codewort so erzeugt, dass es lediglich ausgewählte der Bits umfasst, die gemäß eines bestimmten Musters in den Komponentencodeworten umfasst sind.
  27. Zusammengesetzter Decoder (20) zum Decodieren parallel verknüpfter Faltungscodes, umfassend: einen zusammengesetztes Codewort-zu-Komponentencodewort-Wandler (22) zum Empfangen eines zusammengesetzten Codeworts von einem Kanal, wobei das zusammengesetzte Codewort ausgewählte Bits von mehreren N Komponentencodeworten umfasst, die durch Anwenden von Codes auf einen Block von Datenbits in einem parallel verknüpften Codierer erzeugt wurden, und mehrere N entsprechende empfangene Komponentencodeworte davon bilden; mehrere Komponentendecoder (24), wobei jeder entsprechende Decoder von dem zusammengesetztes Codewort-zu-Komponentencodewort-Wandler ein entsprechend empfangenes Komponentencodewort empfängt, wobei jeder entsprechende Decoder ebenfalls einen Satz a priori Soft-Decision Information für Werte der Datenbits empfängt, wobei die N Komponentendecoder jeweils zu jedem Datenbit in dem Datenblock in der durch einen entsprechenden Komponentencodierer (12) in dem parallel verknüpften Codierer codierten Reihenfolge Soft-Decision Information bereitstellen; mehrere N-1 Interleaver (14), wobei jeder entsprechende Interleaver die Soft-Decision Information von einem entsprechenden Komponentendecoder verschachtelt, um einem nachfolgenden Komponentendecoder einen permutierten Block von Soft-Information bereitzustellen, wobei die empfangenen Codeworte durch einen Vorgang von Iterationen durch die Komponentendecoder (24) und N-1 Interleaver (14) decodiert werden, um von dem zusammengesetzten Decoder Soft-Decision Ausgabe bereitzustellen; einen ersten Deinterleaver (28), der N-1 Deinterleaver umfasst, die den N-1 Interleavern (14) entsprechen, wobei die N-1 Deinterleaver des ersten Deinterleavers (28) in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der Satz von a priori Soft-Decision Information für die ersten N Komponentendecoder (24) unter der Annahme berechnet wird, dass die Werte von Datenbits für die erste Iteration gleich wahrscheinlich sind und danach eine erste Funktion der Soft-Decision Information umfassen, welche erste Funktion der Soft-Decision Information durch den Nten Decoder ausgegeben und über den ersten Deinterleaver (29) rückgekoppelt wird, wobei der Satz von a priori Soft-Decision Information jedem anderen Komponentendecoder bereitgestellt wird, der von dem vorherigen sequentiellen Komponentendecoder die erste Funktion der Soft-Decision Information umfasst; und einen zweiten Deinterleaver (29), der N-1 Deinterleaver (30) umfasst, die den N-1 Interleavern (14) entsprechen, wobei die N-1 Deinterleaver (30) des zweiten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der zweite Deinterleaver (29) eine zweite Funktion der Soft-Decision Ausgabe von dem Nten Komponentendecoder entschachtelt, um die Soft-Decision Ausgabe des Komponenten decoders bereitzustellen; dadurch gekennzeichnet, dass die Codes Tail-Biting nicht rekursive systematische Faltungscodes sind, und dass die N Komponentendecoder (24) MAP Zirkulardecoder umfassen, die durch Lösen eines Eigenvektorproblems eine Anfangszustandswahrscheinlichkeitsverteilung bereitstellen.
  28. Decoder nach Anspruch 27, worin die Anzahl der Iterationen durch die Komponentendecoder, Interleaver und Deinterleaver eine bestimmte Anzahl aufweist.
  29. Decoder nach Anspruch 27, worin, falls die Anzahl von Iterationen geringer als eine maximale Anzahl ist, die Iterationen durch die Komponentendecoder (24), Interleaver (14) und die Deinterleaver (28, 29) solange fortdauern bis eine Decoderkonvergenz festgestellt wird, wobei andernfalls Decodieren nach der maximalen Anzahl von Iterationen beendet wird, und wobei der zusammengesetzte Decoder die zweite Funktion von Soft-Decision Ausgaben von dem Nten Komponentendecoder als dessen Soft-Decision Ausgabe über den zweiten Deinterleaver bereitstellt.
  30. Decoder nach Anspruch 27, weiter umfassend: eine Entscheidungseinrichtung zum Implementieren einer Entscheidungsregel, um Hard-Decision Ausgaben als eine Funktion der Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen.
  31. Zusammengesetzter Decoder (20) zum Decodieren parallel verknüpfter Faltungscodes, umfassend: einen zusammengesetztes Codewort-zu-Komponentencodewort-Wandler (22) zum Empfangen eines zusammengesetzten Codeworts von einem Kanal, wobei das zusammengesetzte Codewort ausgewählte Bits von mehreren N Komponentencodeworten umfasst, die durch Anwenden von Codes auf einen Block von Datenbits in einem parallel verknüpften Codierer erzeugt wurden, und mehrere N entsprechende empfangene Komponentencodeworte davon bilden; mehrere Komponentendecoder (24), wobei jeder entsprechende Decoder von dem zusammengesetztes Codewort-zu-Komponentencodewort-Wandler ein entsprechend empfangenes Komponentencodewort empfängt, wobei jeder entsprechende Decoder ebenfalls einen Satz a priori Soft-Decision Information für Werte der Datenbits empfängt, wobei die N Komponentendecoder jeweils zu jedem Datenbit in dem Datenblock in der durch einen entsprechenden Komponentencodierer (12) in dem parallel verknüpften Codierer codierten Reihenfolge Soft-Decision Information bereitstellen; mehrere N-1 Interleaver (14), wobei jeder entsprechende Interleaver die Soft-Decision Information von einem entsprechenden Komponentendecoder verschachtelt, um einem nachfolgenden Komponentendecoder einen permutierten Block von Soft-Information bereitzustellen, wobei die empfangenen Codeworte durch einen Vorgang von Iterationen durch die Komponentendecoder (24) und N-1 Interleaver (14) decodiert werden, um von dem zusammengesetzten Decoder Soft-Decision Ausgabe bereitzustellen; einen ersten Deinterleaver (28), der N-1 Deinterleaver umfasst, die den N-1 Interleavern (14) entsprechen, wobei die N-1 Deinterleaver des ersten Deinterleavers (28) in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der Satz von a priori Soft-Decision Information für die ersten N Komponentendecoder (24) unter der Annahme berechnet wird, dass die Werte von Datenbits für die erste Iteration gleich wahrscheinlich sind und danach eine erste Funktion der Soft-Decision Information umfassen, welche erste Funktion der Soft-Decision Information durch den Nten Decoder ausgegeben und über den ersten Deinterleaver (29) rückgekoppelt wird, wobei der Satz von a priori Soft-Decision Information jedem anderen Komponentendecoder bereitgestellt wird, der von dem vorherigen sequentiellen Komponentendecoder die erste Funktion der Soft-Decision Information umfasst; und einen zweiten Deinterleaver (29), der N-1 Deinterleaver (30) umfasst, die den N-1 Interleavern (14) entsprechen, wobei die N-1 Deinterleaver (30) des zweiten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der zweite Deinterleaver (29) eine zweite Funktion der Soft-Decision Ausgabe von dem Nten Komponentendecoder entschachtelt, um die Soft-Decision Ausgabe des Komponentendecoders bereitzustellen; dadurch gekennzeichnet, dass die Codes Tail-Biting nicht rekursive systematische Faltungscodes sind, und dass die N Komponentendecoder (24) MAP Zirkulardecoder umfassen, worin die MAP Zirkulardecoder einen zirkularen Tail-Biting Trellis verwenden und Vorwärts-Rekursion fortdauernd ausgeführt wird bis die Zustandswahrscheinlichkeiten konvergieren.
  32. Decoder nach Anspruch 31, worin die Anzahl von Iterationen durch die Komponentendecoder, Interleaver und Deinterleaver eine bestimmte Anzahl aufweist.
  33. Decoder nach Anspruch 31, worin, falls die Anzahl von Iterationen geringer als eine maximale Anzahl ist, die Iterationen durch die Komponentendecoder (24), Interleaver (14) und die Deinterleaver (28, 29) solange fortdauern bis eine Decoderkonvergenz festgestellt wird, wobei andernfalls Decodieren nach der maximalen Anzahl von Iterationen beendet wird, und wobei der zusammengesetzte Decoder die zweite Funktion von Soft-Decision Ausgaben von dem Nten Komponentendecoder als dessen Soft-Decision Ausgabe über den zweiten Deinterleaver bereitstellt.
  34. Decoder nach Anspruch 31 weiter umfassend: eine Entscheidungseinrichtung zum Implementieren einer Entscheidungsregel, um Hard-Decision Ausgaben als eine Funktion der Soft-Decision Ausgabe des zusammengesetzten Decoders bereitzustellen.
  35. Codier- und Decodiersystem zum Codieren und Decodieren parallel verknüpfter Faltungscodes, umfassend: einen parallel verknüpften Codierer (10), der mehrere N Komponentencodierer (12) und mehrere N-1 Codier-Interleaver (14) umfasst, die zum systematischen Anwenden von Codes auf einen Block von Datenbits und verschiedenen Permutationen des Blocks von Datenbits in einer parallelen Verknüpfung verbunden sind, und wodurch Komponentencodeworte erzeugt werden, die die Datenbits und Paritätsbits umfassen; einen zusammengesetztes-Codewort-Formatierer (16) zum Formatieren der Sammlung von Bits von den Komponentencodeworten, um ein zusammengesetztes Codewort bereitzustellen; einen zusammengesetztes Codewort-zu-Komponentencodewort-Wandler (22) zum Empfangen des zusammengesetzten Codeworts von einem Kanal und wobei mehrere N entsprechend empfangene Komponentencodeworte davon gebildet werden; mehrere Komponentendecodern (24), wobei jeder entsprechende Decoder von dem zusammengesetztes Codewort-zu-Komponentencodewort-Wandler ein entsprechend empfangenes Komponentencodewort empfängt, wobei jeder entsprechende Decoder ebenfalls einen Satz a priori Soft-Decision Information für Werte der Datenbits empfängt, wobei die N Komponentendecoder jeweils zu jedem Datenbit in dem Datenblock in der durch einen entsprechenden Komponentencodierer in dem parallel verknüpften Codierer (12) codierten Reihenfolge Soft-Decision Information bereitstellen; mehrere N-1 Interleaver (14), wobei jeder entsprechende Interleaver die Soft-Decision Information von einem entsprechenden Komponentendecoder verschachtelt, um einem nachfolgenden Komponentendecoder (24) einen permutierten Block von Soft-Information bereitzustellen, wobei die empfangenen Codeworte durch einen Vorgang von Iterationen durch die Komponentendecoder und N-1 Interleaver (14) decodiert werden, um von dem zusammengesetzten Decoder Soft-Decision Ausgabe bereitzustellen; einen ersten Deinterleaver (28), der N-1 Deinterleaver umfasst, die den N-1 Interleavern (14) entsprechen, wobei die N-1 Deinterleaver des ersten Deinterleavers (28) in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der Satz von a priori Soft-Decision Information für die ersten N Komponentendecoder (24) unter der Annahme berechnet wird, dass die Werte von Datenbits für die erste Iteration gleich wahrscheinlich sind und danach eine erste Funktion der Soft-Decision Information umfassen, welche erste Funktion der Soft-Decision Information durch den Nten Decoder ausgegeben und über den ersten Deinterleaver rückgekoppelt wird, wobei der Satz von a priori Soft-Decision Information jedem anderen Komponentendecoder bereitgestellt wird, der von dem vorherigen sequentiellen Komponentendecoder die erste Funktion der Soft-Decision Information umfasst; und einen zweiten Deinterleaver (29), der N-1 Deinterleaver (30) umfasst, die den N-1 Interleavern (14) entsprechen, wobei die N-1 Deinterleaver (30) des zweiten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der zweite Deinterleaver eine zweite Funktion der Soft-Decision Ausgabe von dem Nten Komponentendecoder entschachtelt, um die Soft-Decision Ausgabe des Komponenten decoders bereitzustellen; dadurch gekennzeichnet, dass die Codes Tail-Biting nicht rekursive systematische Faltungscodes sind, und dass die N Komponentendecoder (24) MAP Zirkulardecoder umfassen, die durch Lösen eines Eigenvektorproblems eine Anfangszustandswahrscheinlichkeitsverteilung bereitstellen.
  36. Codier- und Decodiersystem nach Anspruch 35, worin der zusammengesetztes Codewort-Formatierer (16) das zusammengesetzte Codewort so erzeugt, dass es lediglich ein Ereignis von jedem Bit des Blocks von Datenbits umfasst.
  37. Codier- und Decodiersystem nach Anspruch 35, worin der zusammengesetztes Codewort-Formatierer (16) das zusammengesetzte Codewort so erzeugt, dass es lediglich ausgewählte der Bits umfasst, die gemäß eines bestimmten Musters in den Komponentencodeworten umfasst sind.
  38. Codier- und Decodiersystem nach Anspruch 35, worin die Anzahl von Iterationen durch die Komponentendecoder (24), Interleaver (14) und Deinterleaver (28, 29) eine bestimmte Anzahl aufweist.
  39. Codier- und Decodiersystem nach Anspruch 35, worin, falls die Anzahl der Iterationen geringer als eine maximale Anzahl ist, die Iterationen durch die Komponentendecoder (24), Interleaver (14) und Deinterleaver (28, 29) solange fortdauern bis Decoderkonvergenz festgestellt wird, wobei andernfalls Decodieren nach der maximalen Iterationsanzahl beendet wird, und wobei der zusammengesetzte Decoder die zweite Funktion von Soft-Decision Ausgaben von dem Nten Komponentendecoder als dessen Soft-Decision Ausgabe über den zweiten Deinterleaver bereitstellt.
  40. Codier- und Decodiersystem nach Anspruch 35 weiter umfassend: eine Entscheidungseinrichtung zum Implementieren einer Entscheidungsregel, um Hard-Decision Ausgaben als eine Funktion der Soft-Decision Ausgabe des Decoders bereitzustellen.
  41. Codier- und Decodiersystem zum Codieren und Decodieren parallel verknüpfter Faltungscodes, umfassend: einen parallel verknüpften Codierer (10), der mehrere N Komponentencodierer (12) und mehrere N-1 Codier-Interleaver (14) umfasst, die zum systematischen Anwenden von Codes auf einen Block von Datenbits und verschiedenen Permutationen des Blocks von Datenbits in einer parallelen Verknüpfung verbunden sind, und wodurch Komponentencodeworte erzeugt werden, die die Datenbits und Paritätsbits umfassen; einen zusammengesetztes-Codewort-Formatierer (16) zum Formatieren der Sammlung von Bits von den Komponentencodeworten, um ein zusammengesetztes Codewort bereitzustellen einen zusammengesetztes Codewort-zu-Komponentencodewort-Wandler (22) zum Empfangen des zusammengesetzten Codeworts von einem Kanal und wobei mehrere N entsprechende empfangene Komponentencodeworte davon gebildet werden; mehrere Komponentendecodern (24), wobei jeder entsprechende Decoder von dem zusammengesetztes Codewort-zu-Komponentencodewort-Wandler ein entsprechend empfangenes Komponentencodewort empfängt, wobei jeder entsprechende Decoder ebenfalls einen Satz a priori Soft-Decision Information für Werte der Datenbits empfängt, wobei die N Komponentendecoder jeweils zu jedem Datenbit in dem Datenblock in der durch einen entsprechenden Komponentencodierer in dem parallel verknüpften Codierer (12) codierten Reihenfolge Soft-Decision Information bereitstellen; mehrere N-1 Interleaver (14), wobei jeder entsprechende Interleaver die Soft-Decision Information von einem entsprechenden Komponentendecoder verschachtelt, um einem nachfolgenden Komponentendecoder (24) einen permutierten Block von Soft-Information bereitzustellen, wobei die empfangenen Codeworte durch einen Vorgang von Iterationen durch die Komponentendecoder und N-1 Interleaver (14) decodiert werden, um von dem zusammengesetzten Decoder Soft-Decision Ausgabe bereitzustellen; einen ersten Deinterleaver (28), der N-1 Deinterleaver umfasst, die den N-1 Interleavern (14) entsprechen, wobei die N-1 Deinterleaver des ersten Deinterleavers (28) in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der Satz von a priori Soft-Decision Information für die ersten N Komponentendecoder (24) unter der Annahme berechnet wird, dass die Werte von Datenbits für die erste Iteration gleich wahrscheinlich sind und danach eine erste Funktion der Soft-Decision Information umfassen, welche erste Funktion der Soft-Decision Information durch den Nten Decoder ausgegeben und über den ersten Deinterleaver rückgekoppelt wird, wobei der Satz von a priori Soft-Decision Information jedem anderen Komponentendecoder bereitgestellt wird, der von dem vorherigen sequentiellen Komponentendecoder die erste Funktion der Soft-Decision Information umfasst; und einen zweiten Deinterleaver (29), der N-1 Deinterleaver (30) umfasst, die den N-1 Interleavern (14) entsprechen, wobei die N-1 Deinterleaver (30) des zweiten Deinterleavers in umgekehrter Anordnung zu den N-1 Interleavern angewendet werden, wobei der zweite Deinterleaver eine zweite Funktion der Soft-Decision Ausgabe von dem Nten Komponentendecoder entschachtelt, um die Soft-Decision Ausgabe des Komponentendecoders bereitzustellen; dadurch gekennzeichnet, dass die Codes Tail-Biting nicht rekursive systematische Faltungscodes sind, und dass die N Komponentendecoder (24) MAP Zirkulardecoder umfassen, worin die MAP Zirkulardecoder einen zirkularen Tail-Biting Trellis verwenden und Vorwärts-Rekursion fortdauernd ausgeführt wird bis Zustandswahrscheinlichkeiten konvergiert haben.
  42. Codier- und Decodersystem nach Anspruch 41, worin der zusammengesetztes Codewort-Formatierer (16) das zusammengesetzte Codewort so erzeugt, dass es lediglich ein Ereignis von jedem Bit des Blocks von Datenbits umfasst.
  43. Codier- und Decodersystem nach Anspruch 41, worin der zusammengesetztes Codewort-Formatierer (16) das zusammengesetzte Codewort so erzeugt, dass es lediglich ausgewählte der Bits umfasst, die gemäß eines bestimmten Musters in den Komponentencodeworten umfasst sind.
  44. Codier- und Decodersystem nach Anspruch 41, worin die Anzahl von Iterationen durch die Komponentendecoder (24), Interleaver (14) und Deinterleaver (28, 29) eine bestimmte Anzahl aufweist.
  45. Codier- und Decodersystem nach Anspruch 41, worin, falls die Anzahl der Iterationen geringer als eine maximale Anzahl ist, die Iterationen durch die Komponentendecoder (24), Interleaver (14) und Deinterleaver (28, 29) solange fortdauern bis Decoderkonvergenz festgestellt wird, wobei andernfalls Decodieren nach der maximalen Iterationsanzahl beendet wird, und wobei der zusammengesetzte Decoder die zweite Funktion von Soft-Decision Ausgaben von dem Nten Komponentendecoder als dessen Soft-Decision Ausgabe über den zweiten Deinterleaver bereitstellt.
  46. Codier- und Decodersystem nach Anspruch 35 weiter umfassend: eine Entscheidungseinrichtung zum Implementieren einer Entscheidungsregel, um Hard-Decision Ausgaben als eine Funktion der Soft-Decision Ausgabe des Decoders bereitzustellen.
DE69736881T 1996-04-19 1997-04-14 Parallel verketteter tail-biting-faltungskode und dekoder dafür Expired - Fee Related DE69736881T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US636732 1991-01-02
US08/636,732 US5721745A (en) 1996-04-19 1996-04-19 Parallel concatenated tail-biting convolutional code and decoder therefor
PCT/US1997/006129 WO1997040582A1 (en) 1996-04-19 1997-04-14 Parallel concatenated tail-biting convolutional code and decoder therefor

Publications (2)

Publication Number Publication Date
DE69736881D1 DE69736881D1 (de) 2006-12-14
DE69736881T2 true DE69736881T2 (de) 2007-06-21

Family

ID=24553103

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69736881T Expired - Fee Related DE69736881T2 (de) 1996-04-19 1997-04-14 Parallel verketteter tail-biting-faltungskode und dekoder dafür

Country Status (21)

Country Link
US (1) US5721745A (de)
EP (1) EP0834222B1 (de)
JP (1) JP3857320B2 (de)
KR (1) KR100522263B1 (de)
CN (1) CN1111962C (de)
AR (1) AR006767A1 (de)
AU (1) AU716645B2 (de)
BR (1) BR9702156A (de)
CA (1) CA2221295C (de)
CZ (1) CZ296885B6 (de)
DE (1) DE69736881T2 (de)
HU (1) HU220815B1 (de)
ID (1) ID16464A (de)
IL (1) IL122525A0 (de)
MY (1) MY113013A (de)
NO (1) NO975966D0 (de)
PL (3) PL184230B1 (de)
RU (1) RU2187196C2 (de)
UA (1) UA44779C2 (de)
WO (1) WO1997040582A1 (de)
ZA (1) ZA973217B (de)

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI100565B (fi) * 1996-01-12 1997-12-31 Nokia Mobile Phones Ltd Tiedonsiirtomenetelmä ja laitteisto signaalin koodaamiseksi
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
KR100498752B1 (ko) * 1996-09-02 2005-11-08 소니 가부시끼 가이샤 비트메트릭스를 사용한 데이터 수신장치 및 방법
US5996113A (en) * 1996-11-26 1999-11-30 Intel Corporation Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation
US6377610B1 (en) * 1997-04-25 2002-04-23 Deutsche Telekom Ag Decoding method and decoding device for a CDMA transmission system for demodulating a received signal available in serial code concatenation
WO1998058468A1 (fr) * 1997-06-19 1998-12-23 Kabushiki Kaisha Toshiba Systeme de transmission avec multiplexage de donnees d'information, multiplexeur et demultiplexeur utilises a cet effet et codeur et decodeur pour correction d'erreurs
US5983384A (en) * 1997-04-21 1999-11-09 General Electric Company Turbo-coding with staged data transmission and processing
US6029264A (en) * 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system
WO1998049778A1 (de) * 1997-04-30 1998-11-05 Siemens Aktiengesellschaft Verfahren und anordnung zur ermittlung mindestens eines digitalen signalwerts aus einem elektrischen signal
KR19990003242A (ko) 1997-06-25 1999-01-15 윤종용 구조적 펀처드 길쌈부호 부호와 및 복호기
BR9811299A (pt) * 1997-07-30 2000-12-05 Samsung Electronics Co Ltd Turbo codificador, dispositivo de codificação de canal, e, processos de intercalação diagonal, de intercalação de deslocamento circular, e de codificação de canal para uso em um codificador de canal
KR19990012821A (ko) 1997-07-31 1999-02-25 홍성용 전자기파 흡수체 조성물과 이의 제조 방법, 전자기파 흡수용도료 조성물과 이의 제조 방법 및 이의 도포 방법
US6192503B1 (en) * 1997-08-14 2001-02-20 Ericsson Inc. Communications system and methods employing selective recursive decording
JP4033245B2 (ja) * 1997-09-02 2008-01-16 ソニー株式会社 ターボ符号化装置およびターボ符号化方法
US6138260A (en) * 1997-09-04 2000-10-24 Conexant Systems, Inc. Retransmission packet capture system within a wireless multiservice communications environment with turbo decoding
KR100248396B1 (ko) * 1997-10-24 2000-03-15 정선종 병렬 길쌈 부호화기를 사용한 채널 부호기 설계방법
US6000054A (en) * 1997-11-03 1999-12-07 Motorola, Inc. Method and apparatus for encoding and decoding binary information using restricted coded modulation and parallel concatenated convolution codes
EP0952673B1 (de) * 1997-11-10 2017-05-17 Ntt Mobile Communications Network Inc. Verschachtelungsverfahren und vorrichtung sowie aufziehungsträger auf welchem ein verschachtelungsmustererzeugungsprogramm aufgezeichnet ist
FR2771228A1 (fr) * 1997-11-18 1999-05-21 Philips Electronics Nv Systeme de transmission numerique, decodeur, et procede de decodage
US6256764B1 (en) * 1997-11-26 2001-07-03 Nortel Networks Limited Method and system for decoding tailbiting convolution codes
JP3828360B2 (ja) * 1997-12-24 2006-10-04 インマルサット リミテッド ディジタルデータ用符号化変調方法、ディジタルデータ変調装置、衛星地球局、変調方法および変調装置
US6088387A (en) * 1997-12-31 2000-07-11 At&T Corp. Multi-channel parallel/serial concatenated convolutional codes and trellis coded modulation encoder/decoder
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
US6370669B1 (en) * 1998-01-23 2002-04-09 Hughes Electronics Corporation Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
US6275538B1 (en) * 1998-03-11 2001-08-14 Ericsson Inc. Technique for finding a starting state for a convolutional feedback encoder
US6452985B1 (en) * 1998-03-18 2002-09-17 Sony Corporation Viterbi decoding apparatus and Viterbi decoding method
EP1005726B1 (de) 1998-03-31 2003-10-15 Samsung Electronics Co., Ltd. TURBOENKODER/DEKODER UND VON DER SERVICEQUALITÄT (QoS) ABHÄNGIGES RAHMENVERARBEITUNGSVERFAHREN
KR100557177B1 (ko) * 1998-04-04 2006-07-21 삼성전자주식회사 적응 채널 부호/복호화 방법 및 그 부호/복호 장치
CA2291696C (en) * 1998-04-18 2007-11-27 Samsung Electronics Co., Ltd. Channel encoding device and method for communication system
US6198775B1 (en) * 1998-04-28 2001-03-06 Ericsson Inc. Transmit diversity method, systems, and terminals using scramble coding
DE29924886U1 (de) * 1998-06-05 2006-06-08 Samsung Electronics Co., Ltd., Suwon Kanalcodiervorrichtung
US6298463B1 (en) * 1998-07-31 2001-10-02 Nortel Networks Limited Parallel concatenated convolutional coding
WO2000010257A1 (en) 1998-08-17 2000-02-24 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
US6128765A (en) * 1998-08-20 2000-10-03 General Electric Company Maximum A posterior estimator with fast sigma calculator
US6192501B1 (en) 1998-08-20 2001-02-20 General Electric Company High data rate maximum a posteriori decoder for segmented trellis code words
US6223319B1 (en) 1998-08-20 2001-04-24 General Electric Company Turbo code decoder with controlled probability estimate feedback
US6263467B1 (en) 1998-08-20 2001-07-17 General Electric Company Turbo code decoder with modified systematic symbol transition probabilities
EP2068451B1 (de) * 1998-08-27 2013-10-02 Dtvg Licensing, Inc Verfahren zur generalen Turbocodetrellissterminierung
KR100377939B1 (ko) * 1998-09-01 2003-06-12 삼성전자주식회사 이동통신시스템에서서브프레임전송을위한프레임구성장치및방법
US6526538B1 (en) 1998-09-28 2003-02-25 Comtech Telecommunications Corp. Turbo product code decoder
US6427214B1 (en) 1998-09-29 2002-07-30 Nortel Networks Limited Interleaver using co-set partitioning
US6028897A (en) * 1998-10-22 2000-02-22 The Aerospace Corporation Error-floor mitigating turbo code communication method
US6014411A (en) * 1998-10-29 2000-01-11 The Aerospace Corporation Repetitive turbo coding communication method
US6044116A (en) * 1998-10-29 2000-03-28 The Aerospace Corporation Error-floor mitigated and repetitive turbo coding communication system
KR100277764B1 (ko) * 1998-12-10 2001-01-15 윤종용 통신시스템에서직렬쇄상구조를가지는부호화및복호화장치
US6202189B1 (en) * 1998-12-17 2001-03-13 Teledesic Llc Punctured serial concatenated convolutional coding system and method for low-earth-orbit satellite data communication
KR100346170B1 (ko) * 1998-12-21 2002-11-30 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
US6484283B2 (en) * 1998-12-30 2002-11-19 International Business Machines Corporation Method and apparatus for encoding and decoding a turbo code in an integrated modem system
KR100296028B1 (ko) * 1998-12-31 2001-09-06 윤종용 이동통신시스템에서 이득 조절 장치를 가지는 복호기
KR100315708B1 (ko) * 1998-12-31 2002-02-28 윤종용 이동통신시스템에서터보인코더의펑처링장치및방법
US6088405A (en) * 1999-01-15 2000-07-11 Lockheed Martin Corporation Optimal decoder for tall-biting convolutional codes
US6665357B1 (en) * 1999-01-22 2003-12-16 Sharp Laboratories Of America, Inc. Soft-output turbo code decoder and optimized decoding method
US6304995B1 (en) * 1999-01-26 2001-10-16 Trw Inc. Pipelined architecture to decode parallel and serial concatenated codes
FR2789824B1 (fr) 1999-02-12 2001-05-11 Canon Kk Procede de correction d'erreurs residuelles a la sortie d'un turbo-decodeur
US6598204B1 (en) * 1999-02-18 2003-07-22 Imec Vzw System and method of turbo decoding
US6499128B1 (en) * 1999-02-18 2002-12-24 Cisco Technology, Inc. Iterated soft-decision decoding of block codes
US6678843B2 (en) * 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
EP1919087A1 (de) * 1999-03-01 2008-05-07 Fujitsu Limited Turbodekodierer
FR2790621B1 (fr) 1999-03-05 2001-12-21 Canon Kk Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
US6304996B1 (en) * 1999-03-08 2001-10-16 General Electric Company High-speed turbo decoder
US6754290B1 (en) * 1999-03-31 2004-06-22 Qualcomm Incorporated Highly parallel map decoder
US6594792B1 (en) 1999-04-30 2003-07-15 General Electric Company Modular turbo decoder for expanded code word length
US6715120B1 (en) 1999-04-30 2004-03-30 General Electric Company Turbo decoder with modified input for increased code word length and data rate
DE19924211A1 (de) * 1999-05-27 2000-12-21 Siemens Ag Verfahren und Vorrichtung zur flexiblen Kanalkodierung
US6473878B1 (en) * 1999-05-28 2002-10-29 Lucent Technologies Inc. Serial-concatenated turbo codes
JP3670520B2 (ja) * 1999-06-23 2005-07-13 富士通株式会社 ターボ復号器およびターボ復号装置
US6516136B1 (en) * 1999-07-06 2003-02-04 Agere Systems Inc. Iterative decoding of concatenated codes for recording systems
KR100421853B1 (ko) * 1999-11-01 2004-03-10 엘지전자 주식회사 상향 링크에서의 레이트 매칭 방법
JP3846527B2 (ja) * 1999-07-21 2006-11-15 三菱電機株式会社 ターボ符号の誤り訂正復号器、ターボ符号の誤り訂正復号方法、ターボ符号の復号装置およびターボ符号の復号システム
US7031406B1 (en) * 1999-08-09 2006-04-18 Nortel Networks Limited Information processing using a soft output Viterbi algorithm
DE19946721A1 (de) * 1999-09-29 2001-05-03 Siemens Ag Verfahren und Vorrichtung zur Kanalkodierung in einem Nachrichtenübertragungssystem
US6226773B1 (en) * 1999-10-20 2001-05-01 At&T Corp. Memory-minimized architecture for implementing map decoding
ES2201617T3 (es) * 1999-10-21 2004-03-16 Sony International (Europe) Gmbh Turbo-dscodificador sova con complejidad de normalizacion reducida.
US6580767B1 (en) * 1999-10-22 2003-06-17 Motorola, Inc. Cache and caching method for conventional decoders
DE59905374D1 (de) * 1999-10-27 2003-06-05 Infineon Technologies Ag Verfahren und vorrichtung zur codierung eines punktierten turbocode
JP3549788B2 (ja) * 1999-11-05 2004-08-04 三菱電機株式会社 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム
US6400290B1 (en) * 1999-11-29 2002-06-04 Altera Corporation Normalization implementation for a logmap decoder
US7499507B2 (en) * 1999-12-03 2009-03-03 Broadcom Corporation Synchronization module using a Viterbi slicer for a turbo decoder
WO2001043310A2 (en) * 1999-12-03 2001-06-14 Broadcom Corporation Embedded training sequences for carrier acquisition and tracking
DE10001147A1 (de) * 2000-01-13 2001-07-19 Siemens Ag Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms
KR100374787B1 (ko) * 2000-01-18 2003-03-04 삼성전자주식회사 대역 효율적인 연쇄 티.씨.엠 디코더 및 그 방법들
US7092457B1 (en) * 2000-01-18 2006-08-15 University Of Southern California Adaptive iterative detection
CN100426717C (zh) 2000-01-20 2008-10-15 北方电讯网络有限公司 可变速率分组数据应用中带有软组合的混合arq方案
KR100331686B1 (ko) * 2000-01-26 2002-11-11 한국전자통신연구원 2를 밑수로 하는 로그 맵을 이용한 터보 복호기
US6606724B1 (en) * 2000-01-28 2003-08-12 Conexant Systems, Inc. Method and apparatus for decoding of a serially concatenated block and convolutional code
US6810502B2 (en) 2000-01-28 2004-10-26 Conexant Systems, Inc. Iteractive decoder employing multiple external code error checks to lower the error floor
US6516437B1 (en) 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
EP1281241A2 (de) * 2000-04-04 2003-02-05 Advanced Hardware Architectures, Inc Verbessertes turboprodukt-codedecodierersystem
US6606725B1 (en) 2000-04-25 2003-08-12 Mitsubishi Electric Research Laboratories, Inc. MAP decoding for turbo codes by parallel matrix processing
FR2808632B1 (fr) * 2000-05-03 2002-06-28 Mitsubishi Electric Inf Tech Procede de turbo-decodage avec reencodage des informations erronees et retroaction
US20020172292A1 (en) * 2000-05-05 2002-11-21 Gray Paul K. Error floor turbo codes
US6542559B1 (en) * 2000-05-15 2003-04-01 Qualcomm, Incorporated Decoding method and apparatus
US6728927B2 (en) * 2000-05-26 2004-04-27 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Method and system for high-spread high-distance interleaving for turbo-codes
US6738942B1 (en) * 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
FI109162B (fi) * 2000-06-30 2002-05-31 Nokia Corp Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
JP4543522B2 (ja) * 2000-08-31 2010-09-15 ソニー株式会社 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法
DE60141982D1 (de) * 2000-09-01 2010-06-10 Broadcom Corp Satellitenempfänger und entsprechendes verfahren
WO2002021702A1 (en) * 2000-09-05 2002-03-14 Broadcom Corporation Quasi error free (qef) communication using turbo codes
US7242726B2 (en) 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6604220B1 (en) * 2000-09-28 2003-08-05 Western Digital Technologies, Inc. Disk drive comprising a multiple-input sequence detector selectively biased by bits of a decoded ECC codedword
US6518892B2 (en) 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
US20020104058A1 (en) * 2000-12-06 2002-08-01 Yigal Rappaport Packet switched network having error correction capabilities of variable size data packets and a method thereof
US7230978B2 (en) 2000-12-29 2007-06-12 Infineon Technologies Ag Channel CODEC processor configurable for multiple wireless communications standards
US6813742B2 (en) * 2001-01-02 2004-11-02 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
FI20010147A (fi) * 2001-01-24 2002-07-25 Nokia Corp Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
WO2002067429A2 (en) * 2001-02-20 2002-08-29 Cute Ltd. System and method for enhanced error correction in trellis decoding
FR2822316B1 (fr) * 2001-03-19 2003-05-02 Mitsubishi Electric Inf Tech Procede d'optimisation, sous contrainte de ressoureces, de la taille de blocs de donnees codees
JP4451008B2 (ja) * 2001-04-04 2010-04-14 三菱電機株式会社 誤り訂正符号化方法および復号化方法とその装置
US6738948B2 (en) * 2001-04-09 2004-05-18 Motorola, Inc. Iteration terminating using quality index criteria of turbo codes
EP1407555A1 (de) * 2001-05-09 2004-04-14 Comtech Telecommunications Corp. Wenig dichte paritätsprüfcodes und wenig dichte turboproduktcodes
US7012911B2 (en) * 2001-05-31 2006-03-14 Qualcomm Inc. Method and apparatus for W-CDMA modulation
US20030123563A1 (en) * 2001-07-11 2003-07-03 Guangming Lu Method and apparatus for turbo encoding and decoding
DE20211493U1 (de) * 2001-07-12 2003-01-23 Samsung Electronics Co Ltd Einrichtung zur Rückwärtsübertragung zur Verbesserung der Übertragungsdurchsatzrate in einem Datenkommunikationssystem
US6738370B2 (en) * 2001-08-22 2004-05-18 Nokia Corporation Method and apparatus implementing retransmission in a communication system providing H-ARQ
US7085969B2 (en) * 2001-08-27 2006-08-01 Industrial Technology Research Institute Encoding and decoding apparatus and method
US6763493B2 (en) * 2001-09-21 2004-07-13 The Directv Group, Inc. Method and system for performing decoding using a reduced-memory implementation
FR2830384B1 (fr) * 2001-10-01 2003-12-19 Cit Alcatel Procede de dispositif de codage et de decodage convolutifs
EP1317070A1 (de) * 2001-12-03 2003-06-04 Mitsubishi Electric Information Technology Centre Europe B.V. Verfahren zur Erlangung eines Fehlerkorrekturkodes mit gewünschten Parametern aus einem Blockturbokode
JP3637323B2 (ja) * 2002-03-19 2005-04-13 株式会社東芝 受信装置、送受信装置及び受信方法
JP3549519B2 (ja) * 2002-04-26 2004-08-04 沖電気工業株式会社 軟出力復号器
US20050226970A1 (en) * 2002-05-21 2005-10-13 Centrition Ltd. Personal nutrition control method and measuring devices
US20030219513A1 (en) * 2002-05-21 2003-11-27 Roni Gordon Personal nutrition control method
JP3898574B2 (ja) * 2002-06-05 2007-03-28 富士通株式会社 ターボ復号方法及びターボ復号装置
KR100584170B1 (ko) * 2002-07-11 2006-06-02 재단법인서울대학교산학협력재단 터보 부호화된 복합 재전송 방식 시스템 및 오류 검출 방법
US6774825B2 (en) * 2002-09-25 2004-08-10 Infineon Technologies Ag Modulation coding based on an ECC interleave structure
US7346833B2 (en) * 2002-11-05 2008-03-18 Analog Devices, Inc. Reduced complexity turbo decoding scheme
JP4555334B2 (ja) 2004-04-28 2010-09-29 サムスン エレクトロニクス カンパニー リミテッド 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法
CN100367676C (zh) * 2004-05-27 2008-02-06 中国科学院计算技术研究所 一种卷积码的编码方法
US20060263750A1 (en) * 2004-06-01 2006-11-23 Roni Gordon Personal nutrition control devices
US7346832B2 (en) 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7395490B2 (en) 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
KR101131323B1 (ko) 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US7373585B2 (en) * 2005-01-14 2008-05-13 Mitsubishi Electric Research Laboratories, Inc. Combined-replica group-shuffled iterative decoding for error-correcting codes
US7461328B2 (en) * 2005-03-25 2008-12-02 Teranetics, Inc. Efficient decoding
US7360147B2 (en) * 2005-05-18 2008-04-15 Seagate Technology Llc Second stage SOVA detector
US7395461B2 (en) 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7502982B2 (en) * 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US8611305B2 (en) 2005-08-22 2013-12-17 Qualcomm Incorporated Interference cancellation for wireless communications
US8271848B2 (en) * 2006-04-06 2012-09-18 Alcatel Lucent Method of decoding code blocks and system for concatenating code blocks
US20080092018A1 (en) * 2006-09-28 2008-04-17 Broadcom Corporation, A California Corporation Tail-biting turbo code for arbitrary number of information bits
US7831894B2 (en) * 2006-10-10 2010-11-09 Broadcom Corporation Address generation for contention-free memory mappings of turbo codes with ARP (almost regular permutation) interleaves
US7827473B2 (en) * 2006-10-10 2010-11-02 Broadcom Corporation Turbo decoder employing ARP (almost regular permutation) interleave and arbitrary number of decoding processors
US8392811B2 (en) * 2008-01-07 2013-03-05 Qualcomm Incorporated Methods and systems for a-priori decoding based on MAP messages
TWI374613B (en) * 2008-02-29 2012-10-11 Ind Tech Res Inst Method and apparatus of pre-encoding and pre-decoding
EP2096884A1 (de) 2008-02-29 2009-09-02 Koninklijke KPN N.V. Telekommunikationsnetzwerk und Verfahren für den zeitbasierten Netzwerkzugang
US8250448B1 (en) * 2008-03-26 2012-08-21 Xilinx, Inc. Method of and apparatus for implementing a decoder
US8719670B1 (en) * 2008-05-07 2014-05-06 Sk Hynix Memory Solutions Inc. Coding architecture for multi-level NAND flash memory with stuck cells
US9408165B2 (en) 2008-06-09 2016-08-02 Qualcomm Incorporated Increasing capacity in wireless communications
US9237515B2 (en) 2008-08-01 2016-01-12 Qualcomm Incorporated Successive detection and cancellation for cell pilot detection
US9277487B2 (en) 2008-08-01 2016-03-01 Qualcomm Incorporated Cell detection with interference cancellation
EP2181504A4 (de) * 2008-08-15 2010-07-28 Lsi Corp Rom-listen-decodierung von nah-codewörtern
KR101321487B1 (ko) 2009-04-21 2013-10-23 에이저 시스템즈 엘엘시 기입 검증을 사용한 코드들의 에러-플로어 완화
US9160577B2 (en) 2009-04-30 2015-10-13 Qualcomm Incorporated Hybrid SAIC receiver
ES2708959T3 (es) 2009-11-27 2019-04-12 Qualcomm Inc Mayor capacidad en comunicaciones inalámbricas
EP2505011B1 (de) * 2009-11-27 2019-01-16 Qualcomm Incorporated Kapazitätssteigerung in der drahtlosen kommunikation
CN102859583B (zh) * 2010-01-12 2014-09-10 弗劳恩霍弗实用研究促进协会 利用对数值先前脉络值的数字表示之修改的音频编码器、音频解码器、编码音频信息的方法及解码音频信息的方法
US8448033B2 (en) * 2010-01-14 2013-05-21 Mediatek Inc. Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8499226B2 (en) * 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8769365B2 (en) 2010-10-08 2014-07-01 Blackberry Limited Message rearrangement for improved wireless code performance
CN107276717B (zh) * 2010-10-08 2020-06-26 黑莓有限公司 用于获得改进的码性能的消息重新排布
CN102412849A (zh) * 2011-09-26 2012-04-11 中兴通讯股份有限公司 一种卷积码编码方法及编码装置
US9043667B2 (en) 2011-11-04 2015-05-26 Blackberry Limited Method and system for up-link HARQ-ACK and CSI transmission
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US10178651B2 (en) 2012-05-11 2019-01-08 Blackberry Limited Method and system for uplink HARQ and CSI multiplexing for carrier aggregation
US20130326630A1 (en) * 2012-06-01 2013-12-05 Whisper Communications, LLC Pre-processor for physical layer security
US9053047B2 (en) * 2012-08-27 2015-06-09 Apple Inc. Parameter estimation using partial ECC decoding
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9432053B1 (en) * 2014-07-07 2016-08-30 Microsemi Storage Solutions (U.S.), Inc. High speed LDPC decoder

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
FR2675968B1 (fr) * 1991-04-23 1994-02-04 France Telecom Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant.
US5349589A (en) * 1991-07-01 1994-09-20 Ericsson Ge Mobile Communications Inc. Generalized viterbi algorithm with tail-biting
US5369671A (en) * 1992-05-20 1994-11-29 Hughes Aircraft Company System and method for decoding tail-biting code especially applicable to digital cellular base stations and mobile units
US5355376A (en) * 1993-02-11 1994-10-11 At&T Bell Laboratories Circular viterbi decoder
US5577053A (en) * 1994-09-14 1996-11-19 Ericsson Inc. Method and apparatus for decoder optimization

Also Published As

Publication number Publication date
JPH11508439A (ja) 1999-07-21
RU2187196C2 (ru) 2002-08-10
CN1111962C (zh) 2003-06-18
NO975966L (no) 1997-12-18
CZ407397A3 (cs) 1998-06-17
WO1997040582A1 (en) 1997-10-30
CA2221295A1 (en) 1997-10-30
UA44779C2 (uk) 2002-03-15
ZA973217B (en) 1997-12-18
EP0834222A1 (de) 1998-04-08
HUP9901440A2 (hu) 1999-08-30
PL183239B1 (pl) 2002-06-28
ID16464A (id) 1997-10-02
PL183537B1 (pl) 2002-06-28
EP0834222B1 (de) 2006-11-02
CN1189935A (zh) 1998-08-05
JP3857320B2 (ja) 2006-12-13
KR19990022971A (ko) 1999-03-25
KR100522263B1 (ko) 2006-02-01
MY113013A (en) 2001-10-31
HU220815B1 (hu) 2002-05-28
PL323524A1 (en) 1998-03-30
NO975966D0 (no) 1997-12-18
AU716645B2 (en) 2000-03-02
CA2221295C (en) 2005-03-22
CZ296885B6 (cs) 2006-07-12
AU2459197A (en) 1997-11-12
HUP9901440A3 (en) 2000-03-28
DE69736881D1 (de) 2006-12-14
PL184230B1 (pl) 2002-09-30
BR9702156A (pt) 1999-07-20
AR006767A1 (es) 1999-09-29
IL122525A0 (en) 1998-06-15
US5721745A (en) 1998-02-24

Similar Documents

Publication Publication Date Title
DE69736881T2 (de) Parallel verketteter tail-biting-faltungskode und dekoder dafür
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE3910739C2 (de)
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
EP1005730B1 (de) Verfahren zur datenübertragung auf übertragungskanälen in einem digitalen übertragungssystem
DE69923970T2 (de) Kanaldecodiereinrichtung und Verfahren zum Kanaldecodieren
DE60113053T2 (de) Vor-Dekoder für Turbodekoder, zur Rückgewinnung von punktierten Paritätssymbolen, sowie ein Verfahren zur Rückgewinnung eines Turbokodes
DE19736653C1 (de) Verfahren und Einrichtung zur Abschätzung der Dienstqualität auf Übertragungskanälen in einem digitalen Übertragungssystem
EP1005733B1 (de) Verfahren zur paketübertragung mit einem arq-protokoll auf übertragungskanälen in einem digitalen übertragungssystem
DE60211413T2 (de) Verfahren und Vorrichtung zur Optimierung der Größe von codierten Datenblöcken
WO2003071689A2 (de) Kombinierter ver- und entschachteler sowie turbo-decodierer mit kombiniertem ver- und entschachteler
EP1005734B1 (de) Verfahren zur datenübertragung in einem digitalen übertragungssystem bei paketvermitteltem dienst
DE60003071T2 (de) Verfahren zur dekodierung von mit einem entropie-code kodierten daten, entsprechende dekodierungsvorrichtung und übertragungssystem
DE60111974T2 (de) Abbruchkriterium für einen Turbodekoder
DE112010003449T9 (de) Iterative Decodierung von Signalen, die über einen verrauschten Kanal empfangen werden, unter Verwendung von Vorwärts- und Rückwärts-Rekursionen mit einer Hochfahrinitialisierung
EP1236281B1 (de) Turbo-code-decoder und turbo-code-decodierverfahren mit iterativer kanalparameterschätzung
DE19934646C2 (de) Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes
DE69908629T2 (de) Hybrid verschachteler für turbo-kodierer
EP1269633B1 (de) Optimierter turbo-decodierer
EP1249074B1 (de) Verfahren zur decodierung eines datensignals
DE19725275C2 (de) Verfahren zur Decodierung von block- oder faltungscodierten digitalen Signalen
DE60209196T2 (de) Verfahren und Vorrichtung zur Optimierung, unter Leistungsgebundenheiten, der Grösse von kodierten Datenblöcken
WO1998052362A2 (de) Kanalcodierungsverfahren
DE10000932C2 (de) Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines Datenstroms
DE60026109T2 (de) Kombinierte Kanal - und Entropiedekodierung

Legal Events

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