DE60120723T2 - Iterationsabbruch für Turbodecodierer - Google Patents

Iterationsabbruch für Turbodecodierer Download PDF

Info

Publication number
DE60120723T2
DE60120723T2 DE60120723T DE60120723T DE60120723T2 DE 60120723 T2 DE60120723 T2 DE 60120723T2 DE 60120723 T DE60120723 T DE 60120723T DE 60120723 T DE60120723 T DE 60120723T DE 60120723 T2 DE60120723 T2 DE 60120723T2
Authority
DE
Germany
Prior art keywords
signal
quality index
iteration
recursion
decoder
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
DE60120723T
Other languages
English (en)
Other versions
DE60120723D1 (de
Inventor
Shuzham J. Edison Xu
Haim Manalapan Teicher
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.)
Motorola Solutions Inc
Original Assignee
Motorola 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 Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of DE60120723D1 publication Critical patent/DE60120723D1/de
Publication of DE60120723T2 publication Critical patent/DE60120723T2/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
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Description

  • BEREICH DER ERFINDUNG
  • Diese Erfindung bezieht sich im Allgemeinen auf Kommunikationssysteme, und insbesondere auf einen Decoder zur Verwendung in einem Empfänger eines faltungscodierten Kommunikationssystems.
  • HINTERGRUND DER ERFINDUNG
  • Faltungscodes werden oft in digitalen Kommunikationssystemen verwendet, um übertragene Informationen vor Fehlern zu schützen. Solche Kommunikationssysteme weisen den DS-CDMA-Standard IS-95 (DS-CDMA = Direktsequenz-Codemultiplex-Vielfachzugriff) und das GSM (Global System for Mobile Comunications) auf. In diesen Systemen wird für gewöhnlich ein Signal in einen ausgehenden Codevektor faltungscodiert, der übertragen wird. Bei einem Empfänger verwendet ein praktischer Soft-Decision-Decoder, wie beispielsweise ein in der Technik bekannter Viterbi-Decoder, eine Gitter struktur, um eine optimale Suche nach dem Codevektor durchzuführen, der am wahrscheinlichsten übertragen wurde.
  • In letzter Zeit wurden Turbocodes entwickelt, die herkömmliche Codierungsmethoden übertreffen. Turbocodes werden im Allgemeinen aus zwei oder mehr Faltungscodes und Verschachtelern für Turbocodes gebildet. Turbodecodierung ist ein iteratives Verfahren und verwendet einen Soft-Output-Decoder, um die individuellen Faltungscodes zu decodieren. Der Soft-Output-Decoder liefert Informationen über jede Bit-Position, was dem Soft-Output-Decoder bei der Decodierung der anderen Faltungscodes hilft. Für gewöhnlich handelt es sich bei dem Soft-Output-Decoder um einen MAP(maximum a posterion)-Decoder oder um einen Soft-Output-Viterbi-Algorithmus(SOVA)-Decoder.
  • Turbocodierung wird in effizienter Weise verwendet, um Fehler im Falle einer Kommunikation über einen AWGN-Kanal (AWGN = Added White Gaussian Noise = Additives weißes gaußsches Rauschen) zu korrigieren. Intuitiv gibt es einige wenige Wege, die Fehlerkorrekturleistung des Turbodecodierers zu überwachen und zu bewerten. Es wurde beobachtet, dass sich die Größe einer LLR (log-likelihood ratio) für jedes Informationsbit in dem iterativen Teil des Decoders vergrößert, während die Iterationen fortlaufen. Dies verbessert die Wahrscheinlichkeit der korrekten Entscheidungen. Die LLR-Größenzunahme steht in direktem Zusammenhang mit der Anzahl von Iterationen in dem Turbodecodierungsvorgang. Es ist jedoch wünschenswert, die Anzahl von Iterationen zu verringern, um Rechenzeit und Schaltkreisenergie zu sparen. Die geeignete Anzahl von Iterationen (Beendigungskriterium) für einen zuverlässig turbodecodierten Block variiert mit der Qualität des eingehenden Signals und der resultierenden Anzahl von darin auftretenden Fehlern. Mit anderen Worten, die Anzahl der benötigen Iterationen steht mit den Kanalzuständen in Zusammenhang, wobei mehr Iterationen notwendig sein werden, um die Informationsbits korrekt zu aufzulösen und Fehler zu verringern, wenn mehr Rauschen in der Umgebung vorhanden ist.
  • Ein Beendigungskriterium nach dem Stand der Technik verwendet eine Paritätskontrolle als Indikator, den Decodierungsvorgang zu beenden. In Bezug auf die Implementierung ist eine Paritätskontrolle unkompliziert. Eine Paritätskontrolle ist jedoch nicht zuverlässig, wenn es eine große Anzahl von Bitfehlern gibt. Eine andere Art von Kriterium für die Beendigung der Turbodecodierungsiteration ist der LLR-Wert (LLR = log-likelihood ratio), der für jedes decodierte Bit berechnet wird. Da Turbodecodierung nach einer Reihe von Iterationen konvergiert, ist die LLR eines Datenbits der direkteste Indikatorindex für diese Konvergenz. Eine Möglichkeit der Anwendung des Beendigungskriteriums ist der Vergleich der LLR-Größe mit einem bestimmten Schwellenwert. Es kann jedoch schwierig sein, den richtigen Schwellenwert zu bestimmen, da die Kanalzustände variieren. Noch weitere Beendigungskriterien nach dem Stand der Technik messen die Entropie oder Differenz zweier Wahrscheinlichkeitsverteilungen, wobei dies jedoch viele Berechnungen erfordert. Eine Publikation, die solche Beendigungskriterien offenbart, ist in dem Artikel Iterative Decoding of Binary Block and Convolutional Codes von Hagenauer, J; Offer E.; Pabke L., IEEE Transactions on Information Theory, März 1996, IEEE, USA, ISSN 0018-9448, Ausgabe 48, Nr. 2, S. 429–445 offenbart.
  • Es wird ein Decoder benötigt, der den geeigneten Beendigungspunkt für die Anzahl von Iterationen des Decoders auf zuverlässige Art und Weise bestimmen kann. Es wäre außerdem vorteilhaft, die Beendigungskriterien ohne eine erhebliche Zunahme der Berechnungkomplexität bereitzustellen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Gitterdiagramm, das bei den im Stand der Technik bekannten Soft-Output-Decodierungsmethoden verwendet wird;
  • 2 zeigt ein vereinfachtes Blockdiagramm für das im Stand der Technik bekannte Turbocodieren;
  • 3 zeigt ein vereinfachtes Blockdiagramm für einen im Stand der Technik bekannten Turbodecoders;
  • 4 zeigt ein vereinfachtes Blockdiagramm für einen Turbodecoder mit einem iterativen Qualitätsindexkriterium gemäß der vorliegenden Erfindung;
  • 5 zeigt ein vereinfachtes Blockdiagramm für den in 4 verwendeten Viterbi-Decoder;
  • 6 zeigt eine grafische Darstellung der Verbesserung, die durch den Hard-Quality-Index der vorliegenden Erfindung bereitgestellt wird;
  • 7 zeigt eine grafische Darstellung der Verbesserung, die durch den Soft-Quality-Index der vorliegenden Erfindung bereitgestellt wird;
  • 8 zeigt eine weitere grafische Darstellung der durch die vorliegende Erfindung bereitgestellten Verbesserung;
  • 9 zeigt eine grafische Darstellung der Verbesserung, die durch den Hard-Intrinsic-SNR-Index (SNR = Signal-Rausch-Verhältnis) der vorliegenden Erfindung bereitgestellt wird;
  • 10 zeigt eine grafische Darstellung der Verbesserung, die durch den Soft-Intrinsic-SNR-Index der vorliegenden Erfindung bereitgestellt wird; und
  • 11 zeigt ein Verfahren zur Turbodecodierung gemäß der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die vorliegende Erfindung stellt einen Turbodecodierer bereit, der das eigentliche (intrinsische) Signal-Rausch-Verhältnis (SNR) als ein Qualitätsindex-Beendigungskriterium des Datenstroms in der Schleife am Eingang jeder wesentlichen Decoderstufe auf dynamische Art und Weise verwendet, während die Schleifendecodierungsiterationen fortlaufen. Dieser Qualitätsindex wird als Beendigungskriterium verwendet, um die Anzahl von in dem Decoder benötigten Iterationen zu bestimmen. Indem die Anzahl der Berechnungen begrenzt wird, die zur zuverlässigen Decodierung der Bits durchgeführt werden sollen, spart die vorliegende Erfindung Strom in der Kommunikationsvorrichtung sowie Berechnungskomplexität ein.
  • Typischerweise sind Blockcodes, Faltungscodes, Turbocodes und andere als ein in 1 dargestelltes Gitter grafisch dargestellt, wobei ein Gitter mit vier Zuständen und fünf Abschnitten gezeigt ist. Der Einfachheit halber bezeichnet M die Anzahl von Zuständen pro Gitterabschnitt (typischwerweise entspricht M acht Zuständen) und N Gitterabschnitte pro Block oder Frame (typischerweise N = 5000). MAP-Decoder (log-MAP, MAP, max-log-MAP, constant-log-MAP, usw.) verwenden allgemeine Vorwärts- und Rückwärts-Viterbi-Rekursionen oder Soft-Output-Viterbi-Algorithmen (SOVA) auf dem Gitter, um Soft-Output-Daten an jedem Abschnitt bereitzustellen, wie es im Stand der Technik bekannt ist. Der MAP-Decoder reduziert die Fehlerwahrscheinlichkeit decodierter Bits für jedes Informationsbit basierend auf allen empfangenen-Bits auf ein Minimum.
  • Aufgrund der Markov-Natur der codierten Sequenz (in der frühere Zustände sich nicht auf zukünftige Zustände oder zukünftige Ausgabezweige auswirken können) kann die MAP-Bitwahrscheinlichkeit in die Vergangenheit (Anfang des Gitters bis zum gegenwärtigen Zustand), die Gegenwart (Zweigmetrik für den gegenwärtigen Wert), und in die Zukunft (Ende des Gitters bis zum gegenwärtigen Wert) aufgeschlüsselt werden. Spezifischer gesagt führt der MAP-Decoder Vorwärts- und Rückwärtsrekursionen bis zu einem gegenwärtigen Zustand durch, wobei die Vergangenheits- und Zukunftswahrscheinlichkeiten zusammen mit der gegenwärtigen Zweigmetrik verwendet werden, um eine Output Decision zu treffen. Die Grundlagen der Bereitstellung von Hard- und Soft-Output-Decisions sind im Stand der Technik bekannt, und es gibt zahlreiche Variationen der oben beschriebenen Decodierungsverfahren. Die meisten der für Turbocodes in Betracht gezogenen Soft-Input-Soft-Output-(SISO)-Decoder basieren auf dem optimalen MAP-Algorithmus des Standes der Technik in einer Veröffentlichung von L. R. Bahl, J. Cocke, F. Jelinek, und J. Raviv mit dem Titel "Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate", IEEE Transactions on Information Theory, Ausgabe IT-20, März 1974, S. 284–7 (BCJR-Algorithmus).
  • 2 stellt einen typischen Turbocodierer dar, der aus Verschachtelern und elementaren Codes aufgebaut ist, bei denen es sich üblicherweise um systematische Faltungscodes handelt, die aber auch Blockcodes sein können. Im Allgemeinen handelt es sich bei einem Turbocodierer um eine parallele Verkettung von zwei RSC-Codierern (RSC = recursive systematic convolutional = rekursive systematische Faltungs-) mit einem Verschachteler (int) dazwischen. Das Ausgangssignal der Turbocodierung wird durch Multiplexen (Verketten) der Informationsbits mi und der Paritätsbits pi von den zwei Codierern RSC1 und RSC2 erzeugt. Optional können die Paritätsbits punktiert werden, wie es beim Stand der Technik zur Erhöhung der Coderate (d. h., ein Datendurchsatz von 1/2) bekannt ist. Das turbocodierte Signal wird dann über einen Kanal übertragen. Rauschen ni aufgrund der AWGN-Natur des Kanals wird dem Signal x1 während der Übertragung hinzugefügt. Die Rauschabweichung des AWGN kann als o2 = No/2 dargestellt werden, wobei No/2 die zweiseitige Rauschleistungs-Spektrumsdichte ist. Durch das Rauschen erhöht sich die Wahrscheinlichkeit von Bitfehlern, wenn ein Empfänger versucht, das Eingangssignal y1 (= x1 + n1) zu decodieren, um die ursprünglichen Informationsbits mi zu erhalten. Gleichermaßen beeinflusst Rau schen die übertragenen Paritätsbits, um ein Signal t1 = p1 + n1 bereitzustellen.
  • 3 zeigt einen typischen Turbodecodierer, der Verschachteler, Entschachteler und Decoder aufweist. Der Mechanismus des Turbodecodierers bezüglich der extrinsischen Informationen Le1, Le2, der Verschachteler (int), der Entschachteler (deint) sowie der Iterationsvorgang zwischen den Soft-Input/Soft-Output-Decodierabschnitten SISO1 und SISO2 folgen dem Bahl-Algorithmus. Bei Annahme keiner Decoderverzögerung in dem Turbodecodierer berechnet der erste Decoder (SISO1) ein Soft-Output aus den eingegebenen Signalbits yi, und aus den a priori Informationen La, die nachfolgend beschrieben werden. Für extrinsische Daten von dem ersten Decoder wird das Soft-Output mit Le1 bezeichnet. Der zweite Decoder (SISO2) wird mit verschachtelten Versionen von Le1 (den a priori Informationen von La) eingegeben, den eingegebenen Signalbits yi. Der zweite Decoder erzeugt extrinsische Daten Le2, die entschachtelt werden, um La zu erzeugen, welches an den ersten Decoder zurückgekoppelt wird, und ein Soft-Output (typischerweise eine MAP-LLR) stellt einen Soft-Output der ursprünglichen Informationsbits mi bereit. Für gewöhnlich werden die vorstehend genannten Iterationen für jedes Bit eine festgelegte Anzahl von Malen (üblicherweise sechzehn) wiederholt, bis alle Eingabebits decodiert sind.
  • MAP-Algorithmen verringern die Wahrscheinlichkeit eines Fehlers für ein Informationsbit angesichts der empfangenen Sequenz, und sie liefern außerdem die Wahrscheinlichkeit, dass das Informationsbit angesichts der empfangenen Sequenz entweder eine 1 oder eine 0 ist. Der BCJR-Algorithmus des Standes der Technik liefert eine Soft-Output-Decision für jede Bitposition (Gitterabschnitt von 1), wobei der Einfluss der Soft-Inputs innerhalb des Blocks in Beiträge aus der Vergangenheit (frühere Soft-Inputs), aus dem gegenwärtigen Soft-Input, und aus der Zukunft (spätere Soft-Inputs) aufgeschlüsselt wird. Der BCJR-Decoderalgorithmus verwendet eine allgemeine Vorwärts- und Rückwärts-Viterbi-Rekursion auf dem Gitter, um ein optimales Soft-Output für jeden Gitterabschnitt (Stufe) zu erreichen. Diese a posteriori Wahrscheinlichkeiten, oder gebräuchlicherweise die LLR der Wahrscheinlichkeiten, werden beim iterativen Turbodecodieren zwischen den SISO-Decodierungsschritten weitergegeben. Die LLR für jedes Informationsbit ist
    Figure 00080001
    für alle Bits in der decodierten Sequenz (k = 1 bis N). In Gleichung (1) wird die Wahrscheinlichkeit, dass das decodierte Bit gleich 1 (oder 0) in dem Gitter angesichts der empfangenen Sequenz ist, aus einem Produkt von Faktoren aufgrund der Markov-Eigenschaft des Codes gebildet. Die Markov-Eigenschaft besagt, dass die Vergangenheit und die Zukunft angesichts der Gegenwart unabhängig sind. Die Gegenwart γk(n, m) ist die Wahrscheinlichkeit, zum Zeitpunkt k im Zustand m zu sein und das Symbol γk zu erzeugen, wenn zum Zeitpunkt k – 1 der vorhergehende Zustand n war. Die Gegenwart hat die Funktion einer Zweigmetrik. Die Vergangenheit α1(m) ist die Wahrscheinlichkeit, zum Zeitpunkt k mit der empfangenen Sequenz {y1, ..., yk} im Zustand m zu sein, und die Zukunft βk(m) ist die Wahrscheinlichkeit, die empfangene Sequenz {yk+1, ..., yN} zum Zeitpunkt k aus Zustand m zu erzeugen. Die Wahrscheinlichkeit αk(m) kann als Funktion von αk-1(m) und γk(n, m) ausgedrückt werden und wird als die Vorwärtsrekursion bezeichnet
    Figure 00080002
    wobei M die Anzahl von Zuständen ist. Die umgekehrte oder Rückwärtsrekursion für die Berechnung der Wahrscheinlichkeit βk(n) aus βk+1(n) und γk(n, m) ist
  • Figure 00080003
  • Die gesamten a posteriori Wahrscheinlichkeiten in Gleichung (2) werden durch Summierung über die Zweige in dem Gitter B1 (B0) berechnet, die dem Informationsbit entsprechen, das 1 (oder 0) ist.
  • Die LLR in Gleichung (1) erfordert, dass sowohl die Vorwärtsrekursion als auch die Rückwärtsrekursion bei Zeitpunkt k zur Verfügung stehen. Das BCJR-Verfahren zur Erfüllung dieser Anforderung ist im Allgemeinen die Berechnung und das Speichern der gesamten umgekehrten Rekursion unter Verwendung einer festgelegten Anzahl von Iterationen, sowie der rekursiven Berechnung von αk(m) und Lak aus k = 1 bis k = N unter Verwendung von αk-1 und βk.
  • Die Leistung von Turbodecodieren wird durch viele Faktoren beeinflusst. Einer der Schlüsselfaktoren ist die Anzahl von Iterationen. Da ein Turbodecodierer nach wenigen Iterationen konvergiert, wird die Leistung durch weitere Iterationen nach der Konvergenz nicht maßgeblich verbessert. Turbocodes konvergieren bei guten Kanalvoraussetzungen schneller, wobei zum Erhalt einer guten Leistung eine kleinere Anzahl von Iterationen notwendig ist. Die Anzahl der durchgeführten Iterationen ist direkt proportional zu der Anzahl benötigter Berechnungen und wird den Stromverbrauch beeinflussen. Da der Stromverbrauch bei mobilen und tragbaren Funkkommunikationsgeräten von grober Bedeutung ist, liegt ein noch größerer Schwerpunkt darauf, zuverlässige und gute Iterationsbeendigungskriterien zu finden. Von diesen Gründen motiviert, liefert die vorliegende Erfindung ein anpassungsfähiges Verfahren zur Beendigung des Iterationsvorgangs.
  • In der vorliegenden Erfindung ist die Anzahl von Iterationen als die Gesamtanzahl der verwendeten SISO-Decodierungsstufen (d. h. zwei Iterationen in einem Zyklus) definiert. Dementsprechend zählt die Iterationsanzahl von 0 bis 2N – 1. Jede Decodierungsstufe kann entweder MAP oder SOVA sein. Der Schlüsselfaktor in dem Decodierungsvorgang ist die Kombinierung der extrinsischen Informationen in einen SISO-Block. Die endgültige Hard-Decision bei den Informationsbits wird gemäβ dem Wert der LLR getroffen, nachdem die Iterationen beendet sind. Die endgültige Hard-Bit- Decision basiert auf der LLR-Polarität. Wenn die LLR positiv ist, fällt die Entscheidung auf +1, ansonsten fällt die Entscheidung für das Hard-Output auf –1.
  • In der vorliegenden Erfindung wird das Signal-Rausch-Verhältnis (intrinsische SNR) in der Schleife als das Iterationsbeendigungskriterium in dem Turbodecodierer verwendet. Da sich das Signal-Rausch-Verhältnis verbessert, wenn pro Iteration mehr Bits korrekt erfasst werden, verwendet die vorliegende Erfindung einen Erfassungsqualitätsindikator, welcher bei fortlaufenden Iterationen die Erhöhung in der Signalenergie relativ zu dem Rauschen beobachtet.
  • 4 zeigt gemäß der vorliegenden Erfindung einen Turbodecodierer mit mindestens einem zusätzlichen Viterbi-Decoder, um den Decodierungsvorgang zu überwachen. Obwohl ein Viterbi-Decoder verwendet werden kann, bieten zwei Decoder die Flexibilität, Iterationen bei jeglichem SISO-Decoder zu beenden. Die Viterbi-Decoder werden verwendet, weil es einfach ist, den Viterbi-Decoder zu analysieren, um den Qualitätsindex zu erhalten. Der Viterbi-Decoder wird nur verwendet, um in der vorliegenden Erfindung die mathematischen Gleichungen zu lösen, d. h. die Qualitätsindizes und intrinsischen Werte des Signal-Rausch-Verhältnisses abzuleiten. Es ist keine echte Viterbi-Decodierung notwendig. Es ist gut bekannt, dass MAP- oder SOVA-Decoder den herkömmlichen Viterbi-Decoder nicht maßgeblich übertreffen, wenn keine Iteration angewendet wird. Daher ist der Qualitätsindex auch für die Leistung der MAP- und SOVA-Decoder gültig. Der Fehler aufgrund der Viterbi-Näherung an SISO (MAP oder SOVA) wird sich nicht anhäufen, da es keine Veränderung in dem Turbodecodierungsverfahren selbst gibt. Es sollte erwähnt werden, dass das Turbodecodierungsverfahren so bleibt wie es ist. Der mindestens eine zusätzliche Viterbi-Decoder wird zur Analyse angeschlossen, um den Qualitätsindex zu erzeugen, und so tatsächlich keine Decodierung erforderlich ist.
  • In einer bevorzugten Ausführungsform werden zwei Viterbi-Decoder verwendet. Wenn in der Praxis zwei identische RSC-Codierer verwendet werden, wodurch identische SISO-Decoder notwendig sind, ist nur ein Viterbi-Decoder erforderlich, obwohl zwei gleiche Decoder verwendet werden können. Ansonsten sind die zwei Viterbi-Decoder unterschiedlich und sind beide notwendig. Beide Decoder erzeugen ein Iterationsbeendigungssignal und agieren unabhängig voneinander, so dass jeder Decoder eine Beendigung an die Iterationen signalisieren kann. Die Viterbi-Decoder werden nicht im herkömmlichen Sinn verwendet, da sie nur verwendet werden, um die mathematischen Gleichungen zu lösen und die Qualitätsindizes und die Werte des intrinsischen Signal-Rausch-Verhältnisses abzuleiten. Des Weiteren, da Iterationen bei jedem beliebigen SISO-Decoder mitten im Zyklus angehalten werden können, wird ein Soft-Output von der LLR des Decoders für die übertragenen Bits erzeugt, wenn die Iteration unterbrochen wird.
  • Die vorliegende Erfindung verwendet die extrinsischen Informationen, die in der Iterationsschleife des Viterbi-Decoders erhältlich sind. Bei einem AWGN-Kanal haben wir die folgenden Pfadmetriken bei der extrinsischen Informationseingabe:
    Figure 00110001
    wobei mi das übertragene Informationsbit, xi = mi das systematische Bit und Pi das Paritätsbit ist. Mit mi in Polaritätsform (1→ +1 und 0→ –1), schreiben wir die extrinsischen Informationen erneut als:
    Figure 00110002
    wobei p[mi] die a priori Information über die übertragenen Bits ist,
    Figure 00120001
    die extrinsische Information ist, oder allgemein,
    Figure 00120002
    ist.
  • Die Pfadmetrik wird daher als
    Figure 00120003
    berechnet.
  • Es versteht sich, dass
    Figure 00120004
    der Fehlerkorrekturfaktor ist, der von den extrinsischen Informationen eingeführt wurde. Und aus der Sicht des Viterbi-Decodiers verbessert dieser Fehlerkorrekturfaktor die Pfadmetrik und daher auch die Decodierleistung. Dieser Faktor ist die Verbesserung, die durch die extrinsischen Informationen verursacht wurde. Die vorliegende Erfindung führt diesen Faktor als den Qualitätsindex und das Iterationsbeendigungskriterium für Turbocodes ein.
  • Insbesondere ist der Turbodecodierungs-Qualitätsindex Q(iter, {mi}, L)
    Figure 00120005
    wobei iter die Iterationsanzahl ist, L die Anzahl der Bits in jedem Decodierungsblock bezeichnet, mi das übertragene Informationsbit, und zi die extrinsische Information ist, die nach jedem kleinen Decodierungsschritt erzeugt wird. Allgemeiner gesagt, ist
    Figure 00130001
    wobei wi eine Gewichtungsfunktion zur Veränderung der Leistung ist. In einer bevorzugten Ausführungsform ist wi eine Konstante von 1.
  • Diser Index bleibt positiv, da zi und mi typischweise dieselbe Polarität haben. In der Praxis sind die eingehenden Datenbits {mi} unbekannt, und anstelle dessen wird der folgende Index verwendet:
    Figure 00130002
    wobei d ^i die Hard-Decision ist, wie sie aus den LLR-Informationen extrahiert wurde. Das bedeutet, d ^i = sign{Li}, wobei Li den LLR-Wert bezeichnet. Die folgende Soft-Output-Version des Qualitätsindex kann ebenfalls für denselben Zweck verwendet werden:
    Figure 00130003
    oder allgemeiner gesagt
  • Figure 00130004
  • Es versteht sich, dass diese Indizes extrem einfach erzeugt werden können und sehr wenig Hardware benötigen. Des Weiteren weisen diese Indizes praktisch dasselbe asymptotische Verhalten auf und können als ein guter Qualitätsindex für die Bewertung der Turbodecodierungsleistung sowie als Iterationsbeendigungskriterium verwendet werden.
  • Diese Indizes verhalten sich so, dass sie sich bei den ersten wenigen Iterationen sehr schnell vergrößern, und sich dann an eine Asymptote von fast konstantem Wert annähern. Wie aus den nachfolgenden Simulationsergebnissen ersichtlich ist, liefert dieses asymptotische Verhalten eine gute Beschreibung des Turbo decodierungsvorgangs und dient als eine Qualitätsüberwachung des Turbodecodierungsverfahrens. Im Betrieb werden die Iterationen unterbrochen, wenn dieser Indexwert den Knickpunkt der Asymptote überkreuzt.
  • Die Iterationsschleife des Turbodecodierers vergrößert die Größe der LLR, so dass die Wahrscheinlichkeit eines Entscheidungsfehlers verringert wird. Eine andere Sichtweise wäre, dass die Eingabe extrinsischer Informationen in jeden Decoder das Signal-Rausch-Verhältnis der eingegebenen Abtastwertströme praktisch verbessert. Die folgende Analyse wird vorgelegt, um zu zeigen, dass die extrinsischen Informationen das tatsächliche Signal-Rausch-Verhältnis bei jedem elementaren Decoder verbessern. Dies hilft bei der Erklärung, wie die Turbocodierungsverstärkung erreicht wird. Eine Analyse der eingehenden Abtastwerte wird ebenfalls mit der Hilfe des zuvor erläuterten Viterbi-Decodieres bereitgestellt.
  • Die pfadmetrische Gleichung der angefügten Viterbi-Decoder ist
  • Figure 00140001
  • Eine Erweiterung dieser Gleichung ergibt
  • Figure 00140002
  • Im Hinblick auf den Korrelationsterm erhalten wir den folgenden Faktor
  • Figure 00150001
  • Für den Viterbi-Decoder ist die Suche nach der minimalen euklidischen Distanz der gleiche Vorgang wie die Suche nach der folgenden maximalen Korrelation.
    Figure 00150002
    oder äquivalent ist der eingegebene Datenstrom in den Viterbi-Decoder
    Figure 00150003
    was grafisch in 5 dargestellt ist.
  • Unter Berücksichtigung der Standard-Berechnungsformel für das Signal-Rausch-Verhältnis
    Figure 00150004
    und angesichts der Tatsache, dass yi = xi + ni und ti = pi + ni (wobei p1 die Paritätsbits des eingehenden Signals sind), erhalten wir ein Signal-Rausch-Verhältnis SNR für die Eingabedaten-Abtastwerte in den elementaren Decoder als
  • Figure 00160001
  • Es versteht sich, dass es sich bei den letzten zwei Termen um Fehlerkorrekturterme aufgrund der eingegebenen extrinsischen Informationen handelt. Das Signal-Rausch-Verhältnis SNR für die eingegebenen Paritätsabtastwerte ist
  • Figure 00160002
  • Es ist jetzt zu sehen, dass sich das Signal-Rausch-Verhältnis SNR für jeden empfangenen Datenabtastwert mit fortlaufenden Iterationen verändert, da die eingegebenen extrinsischen Informationen das tatsächliche oder intrinsische Signal-Rausch-Verhältnis SNR vergrößern werden. Zudem wird das entsprechende Signal-Rausch-Verhältnis SNR für jeden Paritätsabtastwert durch die Iteration nicht beeinträchtigt. Wenn xi das gleiche Vorzeichen wie zi hat, ergibt sich offensichtlich
  • Figure 00160003
  • Dies zeigt, dass die extrinsische Information das tatsächliche Signal-Rausch-Verhältnis SNR der Datenstromeingabe in jeden elementaren Decoder vergrößert hat.
  • Das durchschnittliche Signal-Rausch-Verhältnis SNR für den gesamten Block ist
    Figure 00170001
    bei jeder Iterationsstufe.
  • Wenn die extrinsische Information dasselbe Vorzeichen wie die empfangenen Datenabtastwerte hat, und wenn sich die Größen der zi-Abtastwerte vergrößern, wird sich das durchschnittliche Signal-Rausch-Verhältnis SNR des gesamten Blocks mit wachsender Anzahl von Iterationen vergrößern. Es versteht sich, dass der zweite Term der zuvor beschriebene ursprüngliche Qualitätsindex dividiert durch die Blockgröße ist. Der dritte Term ist direkt proportional zu dem Durchschnitt der Größe im Quadrat der extrinsischen Informationen und ist immer positiv. Dieser Ausdruck des extrinsischen Signal-Rausch-Verhältnis (SNR) wird dasselbe asymptotische Verhalten wie die zuvor erläuterten Qualitätindizes aufweisen, und kann ebenfalls als Decodierungsqualitätsindikator verwendet werden. Ähnlich wie die Qualitätsindizes sind geeignetere instrinsische Werte für das Signal-Rausch-Verhältnis SNR wie folgt:
    Figure 00170002
    oder eine entsprechende Softcopy davon
    Figure 00180001
    wobei StartSNR den anfänglichen SNR-Wert bezeichnet, durch den die Decodierungsiterationen gestartet werden. Optional kann hier auch eine Gewichtungsfunktion eingesetzt werden. Nur die letzten zwei Terme sind zur Überwachung der Decodierungsqualität notwendig. Es sollte außerdem erwähnt werden, dass die Normalisierungskonstante in den vorhergehenden intrinsischen SNR-Ausdrucken ignoriert wurde.
  • Rückblickend liefert die vorliegende Erfindung einen Decoder, der auf dynamische Art und Weise Iterationsberechnungen bei der Decodierung eines empfangenen faltungscodierten Signals unter Verwendung von Qualitätsindexkriterien beendet. Der Decoder weist einen Standard-Turbodecodierer mit zwei Rekursionsprozessoren auf, die in einer Iterationsschleife miteinander verbunden sind. Es ist ein neuer Aspekt der Erfindung, dass sie mindestens einen zusätzlichen Rekursionsprozessor aufweist, der an den Eingängen von mindestens einem der Rekursionsprozessoren parallel gekoppelt ist. Vorzugsweise handelt es sich bei dem mindestens einen zusätzlichen Rekursionsprozessor um einen Viterbi-Decoder, und bei den zwei Rekursionsprozessoren um Soft-Input/Soft-Output-Prozessoren. Noch bevorzugter sind zwei zusätzliche Prozessoren bereitgestellt, die jeweils an den Eingängen der zwei Rekursionsprozessoren parallel gekoppelt sind. Alle Rekursionsprozessoren, einschließlich den zusätzlichen Prozessoren, führen gleichzeitige iterative Berechnungen am Signal durch. Der mindestens eine zusätzliche Rekursionsprozessor berechnet einen Qualitätsindex des Signals für jede Iteration und steuert einen Controller derart, dass dieser die Iterationen beendet, wenn der Messert des Qualitätsindex einen vorher festgelegten Pegel überschreitet.
  • Der Qualitätsindex ist eine Aufsummierung der erzeugten extrinsischen Informationen multipliziert mit einer Menge, die bei jeder Iteration aus den LLR-Informationen extrahiert wird. Bei der Menge kann es sich um eine Hard-Decision des LLR-Werts oder um den LLR-Wert selbst handeln. Alternativ handelt es sich bei dem Qualitätsindex um ein intrisisches Signal-Rausch-Verhältnis des Signals, der bei jeder Iteration berechnet wird. Insbesondere ist das intrinsische Signal-Rausch-Verhältnis eine Funktion des Qualitätsindex, die bei jeder Iteration zu einer Summierung des Quadrats der erzeugten extrinsischen Informationen addiert wird. Das intrinsische Signal-Rausch-Verhältnis kann unter Verwendung des Qualitätsindex berechnet werden, wobei die Menge eine Hard-Decision des LLR-Werts ist, oder das intrinsische Signal-Rausch-Verhältnis wird unter Verwendung des Qualitätsindex berechnet, wobei die Menge der LLR-Wert ist. In der Praxis ist der Messwert des Qualitätsindex über aufeinanderfolgende Iterationen gesehen ein Richtungskoeffizient des Qualitätsindex.
  • Die Schlüsselvorteile der vorliegenden Erfindung lieben bei einer einfachen Hardwareimplementierung und einer Flexibilität bei der Verwendung. Mit anderen Worten, die vorliegende Erfindung kann verwendet werden, um eine Iteration bei jedem beliebigen SISO-Decoder zu unterberechen, oder die Iteration kann mitten im Zyklus unterbrochen werden. Darüber hinaus wird das Signal-Rausch-Verhältnis gemäß dem Viterbi-Decodierungsvorgang abgeleitet, welcher keine mathematische Quadratwurzeloperation anwendet, die eine stark erhöhte Stromkreiskomplexität oder die Verwendung einer Approximation benötigen würde. Im Gegensatz dazu hat die vorliegende Erfindung eine sehr einfache Hardwareimplementierung.
  • 6 zeigt Simulationsergebnisse unter Verwendung der Turbodecodierung gemäß der vorliegenden Erfindung. Die Leistung von QH(iter, {mi}, L) und QS(iter, {mi}, L) wurde durch numerische Simulationen überprüft. Die Simulationsergebnisse werden dargelegt, um das asymptotische Verhalten dieser Indizes zu veranschaulichen. Anschließend wird die Leistung des Turbodecodierers dargestellt, wenn man davon ausgeht, dass die Hard- und Softindizes als ein Iterationsbeendigungskriterium verwendet werden. Der verwendete Code ist der CMDA2000-Standardcode mit der Coderate 1/3, G1 = 13 und G2 = 15, wie in der Technik anerkannt wird. Die Simulation wurde mit 2000 Frames mit der Größe 640 Bits durchgeführt, und die SNR-Punkte sind 0,8 dB, 0,9 dB und 1,0 dB. Das Speicher-Ausschnitt-Verfahren nach Viterbi, das in der Technik für realistischere Ergebnisse bekannt ist, wird mit der Synchronisierungslernlänge 30 eingesetzt. Das asymptotische Verhalten des Hard-Quality-Index QH(iter, {mi}, L) und des Soft-Quality-Index QS(iter, {mi}, L) ist in 6 und 7 dargestellt.
  • 6 und 7 zeigen, dass der Richtungskoeffizient der asymptotischen Kurven mit wachsendem Signal-Rausch-Verhältnis größer wird. Dies findet wie erwartet statt, da ein hohes SNR bessere extrinsische Informationen beim Decodieren ergibt. Wie ersichtlich ist, erreichen die Qualitätsindizes bei wachsendem Signal-Rausch-Verhältnis ihre Asymptoten schneller, was bedeutet, dass für eine Konvergenz weniger Iterationen notwendig sind. Das kann durch eine Analyse des Viterbi-Decoders erkannt werden.
  • Die Decodierungsiterationen werden basierend auf dem asymptotischen Verhalten der Qualitätsindizes unterbrochen, indem der Prozentsatz der Zunahme (d. h. der Richtungskoeffizient oder eine Ableitung) dieser Indizes berechnet wird. Die in den folgenden Aufzeichnungen verwendeten Beendigungskriterien basieren auf dem Kurven-Richtungskoeffizienten mit einem Schwellenwert von 0,03 dB. Das bedeutet, wenn {QH(iter + 1, {mi}, L) – QH(iter, {mi}, L)}/QH(iter, {mi}, L) < 0,03 bBkönnen die Iterationen beendet werden. Gleichermaßen kann derselbe Schwellenwert von 0,03 dB für den Soft-Quality-Index verwendet werden. Das bedeutet, wenn {QS(iter + 1, {mi}, L) – QS(iter, {mi}, L)}/QS(iter, {mi}, L) < 0,03 bBwerden die Iterationen beendet. Des Weiteren können Iterationen beendet werden, sobald diese Indizes einen vorher festgelegten Schwellenwert überschreiten, um jegliche falsche Angaben zu vermeiden. Alternativ kann es sein, dass eine bestimmte Menge an obligatorischen Iterationen durchgeführt werden muss, bevor die Indizes als Kriterium für eine Iterationsbeendigung verwendet werden.
  • Die auf der direkten Verwendung der Hard- und Soft-Quality-Indizes basierenden BER-Leistungskurven werden in 8 dargelegt. In diesem bevorzugten Fall wird eine obligatorische Mindestanzahl von neun Iterationen (das sind 4,5 vollständige Zyklen) verwendet, auf die die Anwendung der Qualitätsindizes folgt. Die Indizes werden mit einem erhöhten Schwellenwert von 0,03 dB angewendet. Die Höchstanzahl der in beiden Fällen verwendeten Iterationen war sechzehn. Die Mindestanzahl der in beiden Fällen verwendeten Iterationen war neun. Tabelle 1 listet die durchschnittliche Anzahl von Iterationen auf, um die Berechnungseinsparung darzulegen.
  • Figure 00210001
  • Wie erwartet verringert sich die Anzahl der benötigten durchschnittlichen Iterationen mit der Zunahme des Signal-Rausch-Verhältnisses SNR. Des Weiteren ist die Verschlechterung der Signalunversehrtheit aufgrund der Iterationsbeendigung viel geringer als 0,1 dB.
  • In der vorliegenden Erfindung kann das intrinsische Signal-Rausch-Verhältnis ebenfalls als ein Iterationsbeendigungskriterium verwendet werden. Aufgrund der engen Beziehung zwischen dem intrinsischen SNR und den Qualitätsindizes weisen die numerischen Ergebnisse bei dem hard- und soft-intrinsischen Signal-Rausch-Verhältnis eine ähnliche Leistung auf, wie in 9 und 10 dargestellt ist. Nur das asymptotische Verhalten der Summe der letzten zwei Terme in dem Ausdruck des intrinsischen Signal-Rausch-Verhältnisses ist dargestellt.
  • Optional können die Qualitätsindizes und das intrinsische Signal-Rausch-Verhältnis als ein Kriterium für die erneute Übertragung in einem ARQ-System (ARQ = Automatic Repeat-reQuest = Automatische Wiederholungsanfrage) verwendet werden. Beispielsweise kann bei Verwendung eines niedrigeren Schwellenwerts für die Framequalität die Decodierung beendet werden und eine Aufforderung zur erneuten Frameübertragung gesendet werden, wenn die Qualitätsindizes oder das intrinsische SNR nach einer vorher festgelegten Anzahl von Iterationen immer noch unter dem niedrigeren Schwellenwert liegen.
  • Wie erkannt werden sollte, ist die Hardware, die zur Implementierung der Qualitätsindizes zur Iterationsbeendigung notwendig ist, sehr einfach. Da es in jeder elementaren Decodierungsstufe LLR- und extrinsische Informationsausgaben gibt, ist nur eine MAC-Einheit (MAC = Multiply And Accumulate = Multiplizieren und Akkumulieren) zur Berechnung des Soft-Index notwendig. Außerdem ist eine nur Speichereinheit notwendig, um den Index zu speichern und ihn mit dem nächsten Index für eine Berechnung des Richtungskoeffizienten zu vergleichen. Des Weiteren können alle Qualitätsindexwerte bei unterschiedlichen Iterationsstufen mit sehr wenigen Speicherelementen gespeichert werden. Eine Vergleichseinheit basierend auf einer Substraktion und einer Division ist notwendig. Bei dem Hard-Index ist vor dem MAC (Multiplizieren und Akkumulieren) ein Slicer für die Hard-Decision notwendig. Vorteilhafterweise können diese Indizes mit einer einfachen Befestigung an den gegenwärtigen Aufbau implementiert werden.
  • 11 stellt ein Ablaufdiagramm dar, das gemäß der vorliegenden Erfindung ein Verfahren 100 zur Beendigung von Iterationsberechnungen bei der Decodierung eines empfangenen faltungscodierten Signals unter Verwendung von Qualitätsindexkriterien darstellt. Ein erster Schritt 102 stellt einen Turbodecodierer mit zwei Rekursionsprozessoren bereit, die in einer Iterationsschleife miteinander verbunden sind, und mindestens einen zusätzlichen Rekursionsprozessor, der an den Eingängen von mindestens einem der Rekursionsprozessoren parallel gekoppelt ist. Alle Rekursionsprozessoren führen gleichzeitig Iterationsberechnungen an dem Signal durch. In einer bevorzugten Ausführungsform ist der mindestens eine zusätzliche Rekursionsprozessor ein Viterbi-Decoder, und die zwei Rekursions-Prozessoren sind Soft-Input-Soft/Output-Decoder. Noch bevorzugter sind zwei zusätzliche Prozessoren jeweils an den Eingängen der zwei Rekursionsprozessoren parallel gekoppelt.
  • Ein anschließender Schritt 104 berechnet einen Qualitätsindex des Signals in dem mindestens einen Rekursionsprozessor für jede Iteration. Der Qualitätsindex ist insbesondere eine Summierung von erzeugten extrinsischen Informationen von den Rekursionsprozessoren multipliziert mit einer Menge, die aus den LLR-Informationen der Rekursionsprozessoren bei jeder Iteration extrahiert wird. Bei dem Qualitätsindex kann es sich um einen Hard-Value oder einen Soft-Value handeln. Bei dem Hard-Value ist die Menge eine Hard-Decision des LLR-Werts. Bei dem Soft-Value ist die Menge der LLR-Wert selbst. Optional ist der Qualitätsindex ein intrinsisches Signal-Rausch-Verhältnis (SNR) des Signals, das bei jeder Iteration berechnet wird. Das intrinsische SNR ist eine Funktion eines anfänglichen Signal-Rausch-Verhältnis, das zu dem Qualitätsindex addiert wird, der wiederum zu einer Summierung des Quadrats der erzeugten extrinsischen Informationen bei jeder Iteration addiert wird. Für die Qualitätsindexkriterien sind jedoch nur die beiden letzten Terme nützlich. Für diesem Fall gibt es ebenfalls Hard- und Soft-Values für das intrinsische Signal-Rausch-Verhältnis, wobei die gerade beschriebenen entsprechenden Hard- und Soft-Decisions des Qualitätsindex verwendet werden.
  • Ein anschließender Schritt 106 beendet die Iterationen, wenn die Messung des Qualitätsindex einen vorher festgelegten Pegel überschreitet. Vorzugsweise umfasst der Beendigungsschritt die Mes sung des Qualitätsindex, bei dem es sich während den Iterationen um einen Richtungskoeffizienten des Qualitätsindex handelt. In der Praxis liegt der vorher festgelegte Pegel bei einem Knickpunkt der Qualitätsindexkurve, die sich ihrer Asymptote annähert. Spezifischer gesagt wird der vorher festgelegte Pegel bei 0,03 dB des SNR eingestellt. Ein anschließender Schritt 108 stellt ein Ausgabesignal bereit, das von dem Soft-Ouput des Turbodecodierers abgeleitet wird, der nach dem Beendigungsschritt vorliegt.
  • Während spezififische Komponenten und Funktionen des Turbodecodierers für Faltungscodes vorangehend beschrieben wurden, könnten weniger oder zusätzliche Funktionen von Fachleuten in der Technik angewendet werden, welche innerhalb des breiten Schutzumfangs der vorliegenden Erfindung liegen. Die Erfindung sollte nur durch die anliegenden Ansprüche begrenzt sein.

Claims (11)

  1. Verfahren (100) zum Beenden von Iterationsberechnungen bei der Decodierung eines empfangenen faltungscodierten Signals unter Verwendung von Qualitätsindexkriterien, wobei das Verfahren die folgenden Schritte aufweist: Bereitstellen (102) eines Turbodecoders mit zwei in einer Iterationsschleife angeschlossenen Rekursionsprozessoren, wobei die beiden Decoder das empfangene Signal iterativ decodieren, und mit mindestens einem Viterbi-Rekursionsprozessor, welcher mit den Eingängen zumindest eines der Rekursionsprozessoren parallel geschaltet ist, wobei alle Rekursionsprozessoren gleichzeitig Iterationsberechnungen an dem Signal durchführen; Berechnen (104) eines Qualitätsindex des Signals in dem mindestens einen Viterbi Rekursionsprozessor für jede Iteration; Beenden (106) der Iterationen, wenn der Faktor des Qualitätsindex einen vorbestimmten Pegel überschreitet; und Liefern (108) eines Ausgangssignals, das vom Soft-Output des Turbodecoders erhalten wird, welches nach dem Beendigungsschritt vorliegt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die beiden Rekursionsprozessoren Soft-Input- und Soft-Output-Decoder sind.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der erste Bereitstellungsschritt zwei zusätzliche Prozessoren ein schließt, die jeweils an den Eingängen der beiden Rekursionsprozessoren parallel geschaltet sind.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Berechnungsschritt den Qualitätsindex einschließt, welcher eine Summierung erzeugter nicht zugehöriger Information multipliziert mit einer Größe ist, die aus der LLR-Information bei jeder Iteration extrahiert wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Berechnungsschritt die Größe einschließt, welche eine harte Entscheidung oder Hard Decision des LLR-Werts ist.
  6. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Berechnungsschritt die Größe einschließt, welche der LLR-Wert ist.
  7. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Berechnungsschritt den Qualitätsindex einschließt, welcher ein unbezogener oder freier Störabstand des bei jeder Iteration berechneten Signals ist, wobei der unbezogene Störabstand eine Funktion des Qualitätsindex ist, der einer Summierung des Quadrats der erzeugten nicht zugehörigen Informationen bei jeder Iteration ist.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Berechnungsschritt einschließt, dass der unbezogene oder freie Störabstand unter Verwendung des Qualitätsindex mit der Größe, welche eine harte Entscheidung des LLR-Werts ist, berechnet wird.
  9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass der Berechnungsschritt einschließt, dass der unbezogene oder freie Störabstand unter Verwendung des Qualitätsindex mit der Größe, welche der LLR-Wert ist, berechnet wird.
  10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Beendigungsschritt einschließt, dass der Faktor des Qualitätsindex eine Abstufung des Qualitätsindex über die Iterationen ist.
  11. Decoder, der zur Implementierung des Verfahrens nach einem der Ansprüche 1 bis 10 ausgelegt ist.
DE60120723T 2000-04-20 2001-04-10 Iterationsabbruch für Turbodecodierer Expired - Fee Related DE60120723T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US55364600A 2000-04-20 2000-04-20
US553646 2000-04-20
PCT/US2001/011544 WO2001082486A1 (en) 2000-04-20 2001-04-10 Iteration terminating using quality index criteria of turbo codes

Publications (2)

Publication Number Publication Date
DE60120723D1 DE60120723D1 (de) 2006-07-27
DE60120723T2 true DE60120723T2 (de) 2007-06-14

Family

ID=24210192

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60120723T Expired - Fee Related DE60120723T2 (de) 2000-04-20 2001-04-10 Iterationsabbruch für Turbodecodierer

Country Status (8)

Country Link
US (1) US20010052104A1 (de)
EP (1) EP1314254B1 (de)
KR (1) KR100512668B1 (de)
CN (1) CN1279698C (de)
AT (1) ATE330369T1 (de)
AU (1) AU2001253295A1 (de)
DE (1) DE60120723T2 (de)
WO (1) WO2001082486A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6848069B1 (en) * 1999-08-10 2005-01-25 Intel Corporation Iterative decoding process
US6956912B2 (en) * 2000-11-14 2005-10-18 David Bass Turbo decoder with circular redundancy code signature comparison
US7533320B2 (en) * 2000-11-14 2009-05-12 Interdigital Technology Corporation Wireless transmit/receive unit having a turbo decoder with circular redundancy code signature comparison and method
WO2002067435A1 (en) * 2001-02-23 2002-08-29 Koninklijke Philips Electronics N.V. Turbo decoder system comprising parallel decoders
WO2002089331A2 (en) * 2001-04-30 2002-11-07 Regents Of The University Of Minnesota Area efficient parallel turbo decoding
US7200799B2 (en) 2001-04-30 2007-04-03 Regents Of The University Of Minnesota Area efficient parallel turbo decoding
US7289567B2 (en) * 2001-04-30 2007-10-30 Motorola, Inc. Apparatus and method for transmitting and receiving data using partial chase combining
JP3730885B2 (ja) * 2001-07-06 2006-01-05 株式会社日立製作所 誤り訂正ターボ符号の復号器
JP3887255B2 (ja) * 2002-03-25 2007-02-28 富士通株式会社 反復復号を用いたデータ処理装置
US7093180B2 (en) * 2002-06-28 2006-08-15 Interdigital Technology Corporation Fast H-ARQ acknowledgement generation method using a stopping rule for turbo decoding
DE60208921T2 (de) * 2002-09-24 2006-09-21 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und vorrichtung zur übertragung fehlertoleranter daten, wobei eine wiederholte übertragung fehlerhafter daten ausgeführt wird, bis die anzahl der übrigen fehlerhaften daten akzeptabel ist
EP1414158A1 (de) 2002-10-24 2004-04-28 STMicroelectronics N.V. Dekodierungsverfahren von in einem Empfänger vorkommenden Turbo-kode kodierter Signal, und entschprechender Empfänger, insbesondere für mobiele Radiosystemen
KR100909527B1 (ko) * 2002-11-04 2009-07-27 삼성전자주식회사 고속 패킷데이터 통신시스템에서의 터보 복호 시간 제어방법
US7725798B2 (en) * 2004-02-27 2010-05-25 Joanneum Research Forschungsgesellschaft Mbh Method for recovering information from channel-coded data streams
US8024644B2 (en) * 2006-11-14 2011-09-20 Via Telecom Co., Ltd. Communication signal decoding
US20090077457A1 (en) * 2007-09-19 2009-03-19 Rajaram Ramesh Iterative decoding of blocks with cyclic redundancy checks
JP4863519B2 (ja) * 2008-02-14 2012-01-25 シャープ株式会社 復号化装置、復号化方法、復号化プログラム、受信装置、及び通信システム
US8413031B2 (en) * 2008-12-16 2013-04-02 Lsi Corporation Methods, apparatus, and systems for updating loglikelihood ratio information in an nT implementation of a Viterbi decoder
GB2498298B (en) * 2010-09-29 2017-03-22 Ibm Decoding in solid state memory devices
US20130132806A1 (en) * 2011-11-21 2013-05-23 Broadcom Corporation Convolutional Turbo Code Decoding in Receiver With Iteration Termination Based on Predicted Non-Convergence
US8675785B2 (en) * 2012-05-14 2014-03-18 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for Turbo receiver processing
US9160373B1 (en) 2012-09-24 2015-10-13 Marvell International Ltd. Systems and methods for joint decoding of sector and track error correction codes
EP2809013B1 (de) 2013-05-31 2017-11-29 OCT Circuit Technologies International Limited Funkempfänger und Verfahren darin
KR101713063B1 (ko) * 2014-10-14 2017-03-07 동국대학교 산학협력단 복수 프레임 전송 시스템의 패러티 프레임 전송 및 복호 방법
CN104579369B (zh) * 2014-12-18 2018-06-15 北京思朗科技有限责任公司 一种Turbo迭代译码方法和译码装置
CN106533454B (zh) * 2015-09-14 2019-11-05 展讯通信(上海)有限公司 Turbo码译码迭代控制方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3106818B2 (ja) * 1993-11-29 2000-11-06 株式会社村田製作所 ディジタル無線受信方法および装置
DE19526416A1 (de) * 1995-07-19 1997-01-23 Siemens Ag Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Infomation
DE19749148C2 (de) * 1997-11-06 1999-12-02 Siemens Ag Verfahren und Einrichtung zur Datenübertragung in einem digitalen Übertragungssystem mit ARQ
KR100282403B1 (ko) * 1998-08-20 2001-02-15 서평원 이동통신 시스템에서 전파 회선 프로토콜의 프레임 전송 방법

Also Published As

Publication number Publication date
ATE330369T1 (de) 2006-07-15
KR100512668B1 (ko) 2005-09-07
EP1314254A1 (de) 2003-05-28
KR20030058935A (ko) 2003-07-07
EP1314254A4 (de) 2004-06-30
CN1461528A (zh) 2003-12-10
AU2001253295A1 (en) 2001-11-07
EP1314254B1 (de) 2006-06-14
CN1279698C (zh) 2006-10-11
US20010052104A1 (en) 2001-12-13
DE60120723D1 (de) 2006-07-27
WO2001082486A1 (en) 2001-11-01

Similar Documents

Publication Publication Date Title
DE60120723T2 (de) Iterationsabbruch für Turbodecodierer
DE60107527T2 (de) Einrichtung und Verfahren zum Anhalten einer iterativen Dekodierung in einem CDMA Mobilkommunikationssystem
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE3910739C2 (de)
DE602004001548T2 (de) Verfahren und Vorrichtung zur Decodierung eines Low Density Partity Check (LDPC) Codes in einem Kommunikationssystem
DE102012100945A1 (de) Iterativer Decodierer
EP0755122A2 (de) Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Information
DE60211413T2 (de) Verfahren und Vorrichtung zur Optimierung der Größe von codierten Datenblöcken
DE102005010006A1 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
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
DE102007035210A1 (de) Verfahren und Vorrichtung zur LDPC-Dekodierung mit gemeinsamer Hardwarenutzung und serieller Summe-Produkt-Architektur
EP1236281B1 (de) Turbo-code-decoder und turbo-code-decodierverfahren mit iterativer kanalparameterschätzung
DE19902100C2 (de) Verfahren und Vorrichtung zur Decodierung von Faltungscodes
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
EP1269633B1 (de) Optimierter turbo-decodierer
DE60312906T2 (de) Turbo-dekodierung mit iterativer schätzung von kanalparametern
DE60006108T2 (de) Lineare Approximation des LOG-MAP Algorithmus für Turbodekodierung
DE19717546A1 (de) Verfahren und Vorrichtung zur Decodierung bei einem CDMA-Übertragungssystem zum Demodulieren eines Empfangssignals, das in serieller Codeverkettung vorliegt
DE19725275C2 (de) Verfahren zur Decodierung von block- oder faltungscodierten digitalen Signalen
EP1269632B1 (de) Turbo-decodierer und turbo-decodierverfahren
DE60116923T2 (de) Verbesserte Hochschnellheitsarchitektur &#34;maximal a posteriori&#34; (MAP) mit optimisierter Speichergrösse und Leistungsverbrauch
DE10300268B4 (de) Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern
DE10213882B4 (de) Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge
EP1488531A1 (de) Verfahren zur decodierung einer mit hilfe eines binären faltungscodes verschlüsselten datenfolge
DE112011102578T5 (de) Verfahren zur Beendigung der Iteration bei einem iterativen Turbo-Dekodierer und iterativer Turbo-Dekodierer

Legal Events

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