DE10214393A1 - Verfahren zur iterativen Decodierung von verketteten Codes - Google Patents

Verfahren zur iterativen Decodierung von verketteten Codes

Info

Publication number
DE10214393A1
DE10214393A1 DE10214393A DE10214393A DE10214393A1 DE 10214393 A1 DE10214393 A1 DE 10214393A1 DE 10214393 A DE10214393 A DE 10214393A DE 10214393 A DE10214393 A DE 10214393A DE 10214393 A1 DE10214393 A1 DE 10214393A1
Authority
DE
Germany
Prior art keywords
iterations
siso
buffers
decoding
codes
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.)
Withdrawn
Application number
DE10214393A
Other languages
English (en)
Inventor
Joerg Vogt
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.)
Vogt Joerg Prof Dr 01277 Dresden De
Original Assignee
Technische Universitaet Dresden
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 Technische Universitaet Dresden filed Critical Technische Universitaet Dresden
Priority to DE10214393A priority Critical patent/DE10214393A1/de
Publication of DE10214393A1 publication Critical patent/DE10214393A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/2987Particular arrangement of the component decoders using more component decoders than component codes, e.g. pipelined turbo iterations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Der Erfindung, die ein Verfahren zur iterativen Decodierung von verketteten Codes betrifft, liegt die Aufgabe zugrunde, den Datendurchsatz der iterativen Decodierschaltung bei Einsatz eines Iterationsabbruchkriteriums zu erhöhen. Dies wird dadurch gelöst, dass die Eingangsdaten in einer geeigneten Art und Weise gepuffert werden. Dadurch kann bei Bedarf eine höhere als die mittlere Iterationszahl durchgeführt werden, obwohl der Datendurchsatz nur für die mittlere Iterationszahl dimensioniert werden muss.

Description

  • Die Erfindung betrifft ein Verfahren zur iterativen Decodierung von verketteten Codes bei dem Zuverlässigkeitsinformationen zwischen den Teildecodern ausgetauscht werden. Bei diesem Verfahren wird das Codewort durch die Kombination von mehreren Untercodes gebildet.
  • Iterative Decodierverfahren sind beispielsweise aus der US 5 446 747, US 5 563 897 und der EP 1085 660 A1 bekannt. In der DE 195 26 416 A1, US 6182261 B1 und DE 196 30 343 A1 wird die Verwendung eines adaptiven Abbruchkriteriums beim iterativen Decodieren übertragener, multidimensional codierter Information beschrieben.
  • Iterativ decodierte Codes sind z. B. Turbo-Codes, seriell verkettete Codes und Produktcodes. Zur Decodierung der Teilcodes werden in der Regel Soft-In-Soft-Out Symbol- oder Sequenzschätzer verwendet, die Zuverlässigkeitsinformaticnen untereinander austauschen.
  • Bei einem Verfahren zur iterativen Decodierung von verketteten Codes, bei dem Zuverlässigkeitsinformationen (L-Werte) zwischen verschiedenen Teildecodern ausgetauscht werden, wird das Codewort durch die Kombination mehrerer Untercodes gebildet. Die Decodierung dieser Codes erfolgt in der Regel iterativ, d. h. es besteht eine Rückkopplung zwischen den Teildecodern. Dabei werden nacheinander die Teilcodes decodiert und das Decodierergebnis, die sogenannte extrinsic Information, als a-priori Information den anderen Decodern zur Verfügung gestellt. Beispiele für iterativ decodierte Codes sind Turbo-Codes und seriell verkettete Codes. Turbo-Codes wurden erstmalig in G. Berrou, A. Glavieux, P. Thitimajshima, "Near Shannon limit error-correcting coding: Turbo codes" Proc. 1993 International Conference Communication, Genf, Mai 1993, Seiten 1064-1070, vorgestellt. Seriell verkettete iterativ decodierte Codes sind in 5. Benedetto, G. Montorsi, "Serial concatenation of block and convolutional codes" Electron. Lett., vol. 32, no. 10, Seiten 887-888, Mai 1996 beschrieben.
  • Turbo-Codes werden seit wenigen Jahren eingesetzt und sind als grundlegendes Verfahren zur Kanalcodierung für den Mobilfunkstandard der dritten Generation "IMT-2000" vorgeschlagen worden. Turbo-Codes haben den Vorteil eines hohen Codiergewinnes und können flexibel an die Kanalerfordernisse angepasst werden.
  • Zur iterativen Decodierung werden Decoder für die Teilcodes verwendet, welche neben den Zuverlässigkeitswerten des übertragenen Codeworts außerdem a-priori Informationen nutzen können. Als Decodierergebnis wird eine extrinsic Information berechnet, welche den Decodern der anderen Teilcodes wiederum als a-priori Information zur Verfügung steht. Diese Decoder werden allgemein SISO (Sofl-In-Soft-Out) genannt.
  • Realisierungen eines SISO-Decoders sind z. B. MAP oder SOVA-Decoder. Der MAP- Algorithmus wurde in L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, "Optimal decoding of linear codes for minimizing symbol error rate" IEEE Transactions on Information Theory, Seiten 284-287, März 1974 beschrieben. Der SOVA-Algorithmus wurde in J. Hagenauer et al. "Iterative ("Turbo") decoding of systematic convolutional codes with MAP and SOVA algorithms", ITG Fachtagung "Codierung", München, Okt. 1994, beschrieben.
  • Der Decodiergewinn steigt mit der Anzahl der Iterationen bis eine Sättigung erreicht wird. Ab einer Anzahl von 8 Iterationen wird typischerweise nur noch ein relativ geringer Zuwachs am Decodiergewinn erzielt, so dass für eine Vielzahl an Anwendungen 8 Iterationen die Obergrenze darstellt. Die Tatsache, dass die volle Iterationsanzahl jedoch nur für eine relative geringe Menge an Codeworten notwendig ist - viele Codeworte werden schon nach wenigen Iterationen korrekt decodiert - führte zu Verfahren, die eine korrekte Information erkennen und somit die Iteration schon vor der maximalen Iterationszahl abbrechen können. Verfahren zum vorzeitigen abbrechen der Iterationen sind z. B. in R. Y. Shao, S. Lin, and M. P. C. Fossorier "Two Simple Stopping Criteria for Turbo Decoding", IEEE Transactions on Communications, Seiten 1117-1120, August 1999, beschrieben. Ein Verfahren zum vorzeitigen Abbrechen der Iteration ist z. B. das Überprüfen einer dem Codewort beigefügten CRC nach jeder ganzen oder halben Iteration. Wenn die CRC ein korrektes Ergebnis signalisiert, wird die Iteration abgebrochen. Durch das vorzeitige Abbrechen der Iterationen ist die mittlere Iterationszahl geringer als die maximale Iterationszahl.
  • Die mittlere Iterationszahl eines Turbo-Decoders ist stark von der Blocklänge und dem SNR abhängig. Typisch beträgt die mittlere Iterationszahl 0.5 bis 5 Iterationen.
  • Der Vorteil des Abbrechens des Iterationsprozesses liegt in dem verringerten Stromverbrauch des Decoders, da die Decodierschaltung für die nicht benötigten Iterationen in einem stromsparenden Ruhemodus verharren kann.
  • Der Datendurchsatz des Decoders wird durch das Abbrechen des Iterationsprozesses nicht erhöht, da auf den nächsten Empfangsblock gewartet werden muß. Der Datendurchsatz der bekannten Verfahren mit einer SISO-Einheit ist demzufolge von der maximalen Iterationsanzahl abhängig. Bei parallelen Decoderrealisierungen mit je einer SISO-Einheit für eine halbe Iteration entspricht der Datendurchsatz der gesamten Decoderschaltung dem Durchsatz der SISO-Einheit.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur iterativen Decodierung von verketteten Codes anzugeben, dessen Datendurchsatz von der maximalen Iterationsanzahl unabhängig ist und gleichzeitig eine erhebliche Steigerung des Durchsatzes bewirkt.
  • Gemäß der Erfindung wird diese Aufgabe durch ein Verfahren in Verbindung mit den im Oberbegriff des Anspruchs 1 genannten Merkmalen dadurch gelöst, dass
    • - die Eingangsdaten blockweise in einer bestimmten Anzahl an Eingangspuffern gespeichert werden, wobei ein Eingangspuffer jeweils einen Empfangsblock speichert und die Anzahl der Eingangspuffer mindestens dem Verhältnis von der maximalen Iterationsanzahl zu der garantierten Iterationsanzahl entspricht.
    • - die garantierte Iterationsanzahl unter der maximalen Iterationsanzahl liegt,
    • - ein Iterationsabbruchkriterium ausgewertet wird, und
    • - der iterative Decodiervorgang abgebrochen wird, wenn entweder die maximale Iterationsanzahl erreicht wird oder wenn alle Eingangspuffer mit Eingangsdaten gefüllt sind oder dass Iterationsabbruchkriterum erfüllt wird.
  • Weiterhin erfindungsgemäß wird die Aufgabe durch ein Verfahren in Verbindung mit den im Oberbegriff des Anspruchs 6 genannten Merkmalen dadurch gelöst, dass
    • - die Eingangsdaten in einem Ringpuffer gespeichert werden und
    • - die Größe des Ringpuffers mindestens einer Anzahl an Empfangsblöcken entspricht, die dem Verhältnis von der maximalen Iterationsanzahl zu der garantierten Iterationsanzahl entspricht,
    • - die garantierte Iterationsanzahl unter der maximalen Iterationsanzahl liegt,
    • - ein Iterationsabbruchkriterium ausgewertet wird, und
    • - der iterative Decodiervorgang abgebrochen wird, wenn die maximale Iterationsanzahl erreicht wird oder wenn der verbleibende freie Platz in dem Ringpuffer einen bestimmten Wert unterschritten hat oder dass Iterationsabbruchkriterum erfüllt wird.
  • Vorteilhafte Verfahrensvarianten sind Gegenstand der abhängigen Unteransprüche.
  • Jeweils zwei SISO-Decoder Operationen werden normalerweise als eine Iteration bezeichnet. Mit einer bestimmten Datenrate des SISO-Decoders dSISO wird eine bestimmte Kanaldatenrate dKanal unterstützt. Der Zusammenhang ergibt sich aus der maximalen Iterationsanzahl.

    dKanal = dSISO /(2.Imax)
  • Bei dem erfindungsgemäßen Verfahren wird der Decoder nicht mit der maximalen Iterationsanzahl dimensioniert, sondern mit einer Iterationsanzahl, welche nur leicht über der mittleren Iterationsanzahl und unterhalb der maximalen Iterationsanzahl liegt. Diese Iterationsanzahl wird als garantierte Iterationsanzahl bezeichnet, da der Decoder diese Iterationsanzahl auf jeden Fall ausführen kann. Die Kanaldatenrate beträgt bei dem erfindungsgemäßen Verfahren

    dKanal = dSISO /(2.Igar),

    es gibt sich eine höhere Kanaldatenrate, da Igar < Imax.
  • Damit sich die Leistungsfähigkeit der Decodierung nicht verschlechtert, muß jedoch auch manchmal ein Empfangsrahmen mit der maximalen Iterationsanzahl decodiert werden. Dieses Problem wird bei dem erfindungsgemäßen Verfahren mit zusätzlichem Speicherplatz gelöst. Wenn ein Empfangsrahmen mehr Iterationen als die garantierte Iterationsanzahl benötigt, wird der nächste Empfangsrahmen nicht sofort decodiert sondern zunächst zwischengespeichert. Es erfolgt also ein Austausch zwischen Datendurchsatz des SISO- Decoders und der erforderlicher Puffergröße.
  • Bei Verwendung von Eingangspuffern mit einer Größe die jeweils einem Empfangsrahmen entspricht, ergibt sich die notwendige Pufferanzahl aus dem Verhältnis zwischen maximaler Iterationsanzahl und garantierter Iterationsanzahl.
  • Der notwendige Puffer kann aber auch als Ringpuffer anstatt als auch aus mehreren einzelnen Puffern bestehen. Die Größe entspricht dann der Summe der einzelnen Puffer.
  • Die erforderliche Puffergröße ist außerdem abhängig von der Datenübergabe an den Turbo- Decoder. Die obigen Angaben bezogen sich auf einen Burstmodus, wo die Daten in einem kurzen Zeitintervall zum Turbo-Decoder übertragen werden. Werden die Daten anstatt im Burstmodus kontinuierlich zum Turbo-Decoder übertragen, ist die Puffergröße um einem Empfangsrahmen größer zu dimensionierten.
  • Bei dem Verfahren muss der Datendurchsatz nur für eine garantierte Anzahl an Iterationen dimensioniert werden, die etwas über der mittleren Iterationsanzahl liegen sollte. Durch die erfindungsgemäße Zwischenspeicherung der empfangenen Daten und den gesteuerten Zugriff auf diese kann bei Bedarf eine höhere oder eine niedere als die mittlere vorgegebene Anzahl an Iterationsschritten durchgeführt werden. Ein Überlauf der Daten wird vermieden.
  • Der Iterationsprozess wird abgebrochen, wenn entweder die maximale Iterationsanzahl erreicht ist, das Iterationsabbruchkriterium erfüllt ist oder der Zwischenpuffer mit Daten gefüllt ist.
  • Dazu wird mittels einer Steuerung ständig der Zustand der Puffer geprüft und die Rückmeldung von der SISO-Einheit über einen Iterationsabbruch abgefragt.
  • Vorteilhaft wird als Iterationsabbruchkriterium die korrekte Decodierung der CRC- Information herangezogen oder ein zweimal aufeinanderfolgendes, identisches Decodierergebnis verwendet.
  • Es können auch mehrere SISO-Decoder parallel betrieben werden, wobei dann die Zuordnung der Eingangsdaten zu den Puffern und der Puffer zu den SISO-Decodern flexibel mittels einer Kontrollschaltung gestaltet wird. Die Ausgabe der Teilcodes aus den SISO-Decodern wird vorteilhaft einer Sortierung unterzogen, die der Reihenfolge des Eingangs in die Puffer entspricht.
  • Der Vorteil der Erfindung besteht darin, dass der Durchsatz der Decodierschaltung erhöht werden kann, da der Durchsatz nach dem erfindungsgemäßen Verfahren nunmehr von der mittleren Iterationszahl abhängig ist.
  • Das Verfahren kann prinzipiell für alle iterativen Decodierverfahren verwendet werden.
  • Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen näher erläutert. In den zugehörigen Zeichnungen zeigen:
  • Fig. 1 ein Blockschaltbild eines Turbo-Code Encoders
  • Fig. 2 ein Blockschaltbild eines Turbo-Code Decoders
  • Fig. 3 der zeitliche Ablauf des herkömmlichen Verfahrens mit einem SISO-Decoder
  • Fig. 4 der zeitliche Ablauf des erfindungsgemäßen Verfahrens mit einem SISO-Decoder
  • Fig. 5 ein Blockschaltbild der herkömmlichen Decodierung mit einer SISO-Einheit
  • Fig. 6 ein Blockschaltbild des erfindungsgemäßen Verfahrens mit einer SISO-Einheit
  • Fig. 7 in Blockschaltbild des erfindungsgemäßen Verfahrens mit n SISO-Einheiten
  • Fig. 8 eine Darstellung der Simulationsergebnisse.
  • Im Bereich der Kanalcodierung spielen Turbo-Codes aufgrund des hohen erzielbaren Codierungsgewinns eine wichtige Rolle. Turbo-Codes sind parallel verkettete rekursive systematische Faltungscodes. Die Struktur eines herkömmlichen Turbo-Code Encoders mit zwei Faltungscodes der Einflußlänge von drei Symbolen ist in Fig. 1 dargestellt. Ein Faltungscoder verwendet die Informationssymbole uk direkt während der anderer Faltungscoder diese Informationssymbole verschachtelt (interleavt) verarbeitet. Die Redundanzsymbole des ersten Faltungscoders werden als up k1 und die Redundanzsymbole des zweiten Faltungscoders werden als up k2 bezeichnet. Die Redundanzsymbole können mittels eines optionalen Punktierungsblocks selektiv gelöscht werden, um eine bestimmte Coderate zu erzielen. Die verbleibenden Redundanzsymbole bilden zusammen mit den Informationssymbolen das zu übertragende Codewort.
  • Der iterative Turbo-Decoder ist eine Decoderanordnung, die für die Decodierung von Turbo- Codes geeignet ist und dort Anwendung findet. Fig. 2 zeigt eine herkömmliche Turbo- Decoder Struktur. Die vom Demodulator kommenden Daten werden den einzelnen SISO- Faltungsdecodern, die den jeweiligen Encodern entsprechen, zugeführt. Der Decodiervorgang erfolgt iterativ, d. h. nach der Decodierung eines Teilecodes erfolgt die Decodierung des anderen Teilcodes unter Einbeziehung des Decodierergebnisses (extrinsic Information) des vorherigen Prozesses. Der Turbo-Decoder kann mit einem einzigen SISO-Decoder, der zeitmultiplex betrieben wird, oder parallel (zwei SISO für eine Iterationsstufe) aufgebaut werden. Auch Mischformen sind möglich.
  • Zur Decodierung der einzelnen Faltungscodes wird generell ein Soft-Input-Soft-Output Decoder (SISO) verwendet. Dieser kann durch verschiedene Algorithmen realisiert werden (MAP, Max-Log-MAP, SOVA).
  • Für die Softwerte werden allgemein logarithmierte Wahrscheinlichkeitsverhältnisse (L-Werte) verwendet. Der Betrag |L( ≙k)| gibt die Zuverlässigkeit der Entscheidung an, das Vorzeichen sign (L( ≙k)) stellt die harte Entscheidung dar. Als Decodierergebnis des SISO-Decoders wird die extrinsic Information Le( ≙k) für das Informationssymbol uk bereitgestellt, welche zwischen den Decodern der einzelnen Teilcodes ausgetauscht werden. Die abwechselnde Decodierung der Teilcodes kann auch mit einer einzigen SISO-Einheit realisiert werden. Diese decodiert dann zeitmultiplex die beiden Teilcodes. Da für eine sogenannte Iteration immer beide Teilcodes decodiert werden müssen, ergibt sich für eine Decodierung mit N Iterationen mit einem Turbo-Decoder der nur aus einer einzigen SISO-Einheit besteht, demzufolge 2 N Arbeitsschritte für die SISO-Einheit.
  • Während des Decodierprozesses wird ständig auf die Eingangsdaten zugegriffen und diese Zugriffe können wegen des Interleavers auch verwürfelt erfolgen. Deswegen wird bei einem Übertragungssystem mit kontinuierlichem Datenempfang neben dem Datenpuffer für die Decodierung ein weiterer Empfangspuffer benötigt, der die aktuell empfangenen Daten aufnimmt. Diese beiden Puffer werden dann wechselseitig umgeschaltet. In Fig. 5 ist dieses Konzept dargestellt. Die vom Kanal empfangenen Daten werden in Puffer 1 abgelegt während der Decoder die bereits empfangenen Daten aus Puffer 2 decodiert.
  • Der zeitliche Ablauf dieses Prozesses ist in Fig. 3 dargestellt. Am Beginn wird der Puffer 1 mit den empfangenen Daten gefüllt. Nach dem Ende dieses Arbeitschrittes kann mit der Decodierung des ersten Blocks begonnen werden, während der zweite Block empfangen wird und in den Puffer 2 abgelegt wird. In dem skizzierten Ablauf werden maximal 8 Iterationen unterstützt. Durch den Einsatz eines Iterationsabbruchkriterums wie in der zitierten Literatur beschrieben, kann die Iteration auch vor dem maximalen Ende abgebrochen werden. Der Decoder befindet sich dann bis zum Umschaltzeitpunkt der Puffer in Ruhe.
  • Die obigen Ausführungen beziehen sich auf den Stand der Technik. Das erfindungsgemäße Verfahren verwendet neben den bereits beschriebenen Datenpuffern weitere Puffer. In dem hier beschriebenen Ausführungsbeispiel wird ein weiterer Puffer eingesetzt. Dadurch wird eine größere Flexibilität in bezug auf die maximale Iterationszahl erzielt. Die Anzahl an mindestens notwendigen Puffern ergibt sich aus dem Verhältnis aus maximaler Iterationsanzahl zu garantierter Iterationsanzahl zuzüglich eines weiteren Puffers, da im Beispiel kontinuierlich Daten empfangen werden, also 8/4+1 = 3 Puffer. In Fig. 6 ist die entsprechende Schaltung skizziert. Eine Kontrollschaltung erhält die Information über einen Iterationsabbruch von dem SISO-Decoder und kann dann eine flexible Umschaltung zwischen den Puffern vornehmen (np ist die Zahl an zusätzlichen Puffern). Der zeitliche Ablauf des erfindungsgemäßen Verfahrens ist in Fig. 4 dargestellt. Der Decoder ist in dem gewählten Beispiel nur für 4 Iterationen ausgelegt (garantierte Iterationen). Da aber wegen dem zusätzlichen Puffer die Daten länger gültig bleiben, können in dem beschriebenen Beispiel auch maximal 8 Iterationen durchgeführt werden. Dies ist im Beispiel Fig. 4 für Block Nr. 2 der Fall. Für das gezeigte Ausführungsbeispiel ist hier die Pufferkapazität erschöpft und die weiteren Blöcke können nur noch mit maximal 4 Iterationen decodiert werden. Erst wenn die Pufferkapazität durch Iterationen kleiner als 4 Iterationen wieder erhöht wird, ist wieder eine höhere Iterationszahl möglich. Das Verfahren ist besonders vorteilhaft, wenn die mittlere Iterationszahl unter der dauerhaft garantierten Iterationszahl (4 in diesem Beispiel) liegt.
  • In einem weiteren Ausführungsbeispiel können mehrere Empfangsblöcke durch den Einsatz mehrerer SISO-Decoder parallel decodiert werden. In Fig. 7 ist eine entsprechende Anordnung mit n Decodern dargestellt. Für die n SISO-Decoder werden auch n Puffer benötigt. Ein Puffer wird mit den Empfangsdaten beschrieben und mindestens 1 Puffer wird für die Erhöhung der Iterationszahl verwendet. Somit werden insgesamt mindestens n+2 Puffer benötigt. Eine Steuerung verbindet mit einem n-Schalter jeweils einen Puffer mit einem SISO-Decoder. Die SISO-Decoder melden einen eventuellen Iterationsabbruch wie im vorherigen Beispiel der Steuerung. Dem SISO-Decoder, der als erster die Decodierung beendet hat, wird der nächste Eingangspuffer zugewiesen. Als Puffer für die Empfangsdaten wird ein Puffer benutzt, welcher aktuell von keinem SISO-Decoder benutzt wird. Sind alle Puffer in Benutzung, wird durch die Steuerung die Decodierung in dem SISO-Decoder beendet, welcher die höchste Iterationszahl erreicht hat. Da die SISO-Decoder durch die unterschiedliche Iterationszahl die Daten im Extremläll in einer falschen Reihenfolge abliefern, wird am Ausgang ein weiterer Puffer benötigt. Die Steuerung stellt durch einen geordneten Zugriff auf diesen Puffer die richtige Reihenfolge der decodierten Daten wieder her.
  • Das erfindungsgemäße Verfahren erzielt einen höheren Datendurchsatz als herkömmliche Verfahren bei einer unwesentlichen Verschlechterung der Decodierleistung. Als Beispiel ist in Fig. 8 das Simulationsergebnis der Bitfehlerrate (BER) mit und ohne dem erfindungsgemäßen Verfahren dargestellt. Für die Simulation der Bitfehlerrate wurde ein Turbo-Code mit dem Generatorpolynom (gfeedback, gparity) = (13oct, 15oct) der Teilcodes, die Blocklänge 5114 bits, ein AWGN-Kanal und als SISO-Decoder ein MAP Decoder verwendet. Zur Decodierung wird ein Decoder mit einer SISO-Einheit verwendet.
  • Das erfindungsgemäße Verfahren wurde für eine dauerhafte Iterationszahl von 5 Iterationen und maximal 10 Iterationen dimensioniert. Zum Vergleich wurden die BER-Kurven des herkömmlichen Verfahrens mit maximal 5 Iterationen und mit maximal 10 Iterationen dargestellt. Weiterhin ist der Verlauf der mittleren Iterationszahl dargestellt. Es ist zu erkennen, dass das erfindungsgemäße Verfahren bis zu 0.4 dB keinen Vorteil zum herkömmlichen Verfahren hat. Ab 0.5 dB ist das erfindungsgemäße Verfahren jedoch annähernd so leistungsfähig wie das herkömmliche Verfahren mit 10 Iterationen. Das bedeutet, dass der Datendurchsatz des erfindungsgemäßen Verfahrens bei annähernd gleicher Leistungsfähigkeit doppelt so hoch ist, wie bei den herkömmlichen Verfahren.

Claims (10)

1. Verfahren zur iterativen Decodierung von verketteten Codes, bei dem nacheinander die einzelnen Teilcodes des Empfangsblocks mit einem ISO-Decoder decodiert werden, dadurch gekennzeichnet, dass
die Eingangsdaten blockweise in einer bestimmten Anzahl an Eingangspuffern gespeichert werden, wobei ein Eingangspuffer jeweils einen Empfangsblock speichert und die Anzahl der Eingangspuffer mindestens dem Verhältnis von der maximalen Iterationsanzahl zu der garantierten Iterationsanzahl entspricht.
die garantierte Iterationsanzahl unter der maximalen Iterationsanzahl liegt,
ein Iterationsabbruchkriterium ausgewertet wird, und
der iterative Decodiervorgang abgebrochen wird, wenn entweder die maximale Iterationsanzahl erreicht wird oder wenn alle Eingangspuffer mit Eingangsdaten gefüllt sind oder dass Iterationsabbruchkriterum erfüllt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass als Iterationsabbruchkriterium die korrekte Decodierung der CRC-Information herangezogen wird.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass als Iterationsabbruchkriterium ein zweimal aufeinanderfolgendes, identisches Decodierergebnis verwendet wird.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass mehrere SISO-Decoder parallel betrieben werden und die Zuordnung der Eingangsdaten zu den Puffern und der Puffer zu den SISO-Decodern flexibel mittels einer Kontrollschaltung gestaltet wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Ausgabe des Decodierergebnisses aus den SISO-Decodern einer Sortierung unterzogen wird, die der Reihenfolge des Eingangs in die Puffer entspricht.
6. Verfahren zur iterativen Decodierung von verketteten Codes, bei dem nacheinander die einzelnen Teilcodes des Empfangsblocks mit einem SISO-Decoder decodiert werden, dadurch gekennzeichnet, dass
die Eingangsdaten in einem Ringpuffer gespeichert werden und
die Größe des Ringpuffers mindestens einer Anzahl an Empfangsblöcken entspricht, die dem Verhältnis von der maximalen Iterationsanzahl zu der garantierten Iterationsanzahl entspricht,
die garantierte Iterationsanzahl unter der maximalen Iterationsanzahl liegt,
ein Iterationsabbruchkriterium ausgewertet wird, und
der iterative Decodiervorgang abgebrochen wird, wenn die maximale Iterationsanzahl erreicht wird oder wenn der verbleibende freie Platz in dem Ringpuffer einen bestimmten Wert unterschritten hat oder dass Iterationsabbruchkriterum erfüllt wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass als Iterationsabbruchkriterium die korrekte Decodierung der CRC-Information herangezogen wird.
8. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass als Iterationsabbruchkriterium ein zweimal aufeinanderfolgendes, identisches Decodierergebnis verwendet wird.
9. Verfahren nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass mehrere SISO-Decoder parallel betrieben werden und die Zuordnung der Eingangsdaten zu den Puffern und der Puffer zu den SISO-Decodern flexibel mittels einer Kontrollschaltung gestaltet wird.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Ausgabe des Decodierergebnisses aus den SISO-Decodern einer Sortierung unterzogen wird, die der Reihenfolge des Eingangs in die Puffer entspricht.
DE10214393A 2001-03-27 2002-03-26 Verfahren zur iterativen Decodierung von verketteten Codes Withdrawn DE10214393A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10214393A DE10214393A1 (de) 2001-03-27 2002-03-26 Verfahren zur iterativen Decodierung von verketteten Codes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10116179 2001-03-27
DE10214393A DE10214393A1 (de) 2001-03-27 2002-03-26 Verfahren zur iterativen Decodierung von verketteten Codes

Publications (1)

Publication Number Publication Date
DE10214393A1 true DE10214393A1 (de) 2003-02-06

Family

ID=7679956

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10214393A Withdrawn DE10214393A1 (de) 2001-03-27 2002-03-26 Verfahren zur iterativen Decodierung von verketteten Codes

Country Status (1)

Country Link
DE (1) DE10214393A1 (de)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2859332A1 (fr) * 2003-08-28 2005-03-04 Agence Spatiale Europeenne Architecture pour un decodeur iteratif
EP1422830A3 (de) * 2002-11-23 2005-05-25 Samsung Electronics Co., Ltd. Turbodekodereinganssteuerverfahren und Apparat
FR2890804A1 (fr) * 2005-09-12 2007-03-16 St Microelectronics Sa Traitement de blocs dans un dispositif de decodage par blocs
WO2008077421A1 (en) * 2006-12-22 2008-07-03 Micronas Gmbh Channel decoder with variable number of decoding iterations
EP2048790A1 (de) * 2006-08-02 2009-04-15 Fujitsu Limited Empfängervorrichtung und dekodierungsverfahren dafür
US7725798B2 (en) 2004-02-27 2010-05-25 Joanneum Research Forschungsgesellschaft Mbh Method for recovering information from channel-coded data streams
WO2012094179A1 (en) * 2011-01-07 2012-07-12 Marvell World Trade Ltd. Low latency simd architecture for multiple iterative decoders arranged parallel
EP2819310A1 (de) * 2013-06-26 2014-12-31 Alcatel Lucent Iterativer Fehlekorrekturdecodierer mit verketteten Dekodierblöcken und einem rückgekoppelten Dekodierblock
US9071279B2 (en) 2004-05-18 2015-06-30 Nxp, B.V. Turbo decoder input reordering

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1422830A3 (de) * 2002-11-23 2005-05-25 Samsung Electronics Co., Ltd. Turbodekodereinganssteuerverfahren und Apparat
US7505535B2 (en) 2002-11-23 2009-03-17 Samsung Electronics Co., Ltd. Method and apparatus for controlling turbo decoder input
EP1528688A2 (de) * 2003-08-28 2005-05-04 Agence Spatiale Europeenne Architektur für einen iterativen Dekodierer
EP1528688A3 (de) * 2003-08-28 2005-06-08 Agence Spatiale Europeenne Architektur für einen iterativen Dekodierer
US7275203B2 (en) 2003-08-28 2007-09-25 Agence Spatiale Europeenne Architecture for an iterative decoder
FR2859332A1 (fr) * 2003-08-28 2005-03-04 Agence Spatiale Europeenne Architecture pour un decodeur iteratif
US7725798B2 (en) 2004-02-27 2010-05-25 Joanneum Research Forschungsgesellschaft Mbh Method for recovering information from channel-coded data streams
US9071279B2 (en) 2004-05-18 2015-06-30 Nxp, B.V. Turbo decoder input reordering
FR2890804A1 (fr) * 2005-09-12 2007-03-16 St Microelectronics Sa Traitement de blocs dans un dispositif de decodage par blocs
US7640482B2 (en) 2005-09-12 2009-12-29 Stmicroelectronics Sa Block processing in a block decoding device
EP2048790A1 (de) * 2006-08-02 2009-04-15 Fujitsu Limited Empfängervorrichtung und dekodierungsverfahren dafür
EP2048790A4 (de) * 2006-08-02 2011-09-21 Fujitsu Ltd Empfängervorrichtung und dekodierungsverfahren dafür
US8464139B2 (en) 2006-08-02 2013-06-11 Fujitsu Limited Receiving device and decoding method thereof
WO2008077421A1 (en) * 2006-12-22 2008-07-03 Micronas Gmbh Channel decoder with variable number of decoding iterations
WO2012094179A1 (en) * 2011-01-07 2012-07-12 Marvell World Trade Ltd. Low latency simd architecture for multiple iterative decoders arranged parallel
CN103155420A (zh) * 2011-01-07 2013-06-12 马维尔国际贸易有限公司 用于并联布置的多个迭代解码器的低延时simd架构
US8908814B2 (en) 2011-01-07 2014-12-09 Marvell World Trade Ltd. Low latency SIMD architecture for iterative decoders
CN103155420B (zh) * 2011-01-07 2017-10-27 马维尔国际贸易有限公司 用于并联布置的多个迭代解码器的低延时simd架构
EP2819310A1 (de) * 2013-06-26 2014-12-31 Alcatel Lucent Iterativer Fehlekorrekturdecodierer mit verketteten Dekodierblöcken und einem rückgekoppelten Dekodierblock

Similar Documents

Publication Publication Date Title
DE19736625C1 (de) Verfahren zur Datenübertragung auf Übertragungskanälen in einem digitalen Übertragungssystem
DE19736676C1 (de) Verfahren zur Paketübertragung mit einem ARQ-Protokoll auf Übertragungskanälen in einem digitalen Übertragungssystem
DE69736881T2 (de) Parallel verketteter tail-biting-faltungskode und dekoder dafür
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE102005010006B4 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
DE19736626C1 (de) Verfahren zur Datenübertragung in einem digitalen Übertragungssystem bei paketvermitteltem Dienst
WO2003071689A2 (de) Kombinierter ver- und entschachteler sowie turbo-decodierer mit kombiniertem ver- und entschachteler
DE112004002008B4 (de) Vereinheitlichter Viterbi/Turbo-Decoder für mobile Telekommunikationssysteme
DE60211413T2 (de) Verfahren und Vorrichtung zur Optimierung der Größe von codierten Datenblöcken
DE60111974T2 (de) Abbruchkriterium für einen Turbodekoder
DE10214393A1 (de) Verfahren zur iterativen Decodierung von verketteten Codes
DE10310812B4 (de) Dekodiervorrichtung, Trellis-Prozessor und Verfahren
DE19934646C2 (de) Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes
EP1029404B1 (de) Verfahren und einrichtung zur datenübertragung in einem digitalen übertragungssystem mit arq
He et al. On the application of turbo codes to the robust transmission of compressed images
DE60209196T2 (de) Verfahren und Vorrichtung zur Optimierung, unter Leistungsgebundenheiten, der Grösse von kodierten Datenblöcken
DE19725275C2 (de) Verfahren zur Decodierung von block- oder faltungscodierten digitalen Signalen
DE102015205290B4 (de) Verfahren zur Übertragung von binären Daten über einen Kanal, insbesondere über einen optischen Freiraum-Datenübertragungskanal
DE19520987A1 (de) Verfahren zur Terminierung des Trellis bei rekursiven systematischen Faltungscodes
WO2007098814A1 (de) Codierung und decodierung mit trellis-codierter modulation
DE102014216143B4 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
WO1998052362A2 (de) Kanalcodierungsverfahren
DE60026109T2 (de) Kombinierte Kanal - und Entropiedekodierung
DE60224862T2 (de) Ver- und Entschachtellungsapparat und Verfahren
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

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: VOGT, JOERG, PROF. DR., 01277 DRESDEN, DE

8139 Disposal/non-payment of the annual fee