DE10213882B4 - Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge - Google Patents

Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge Download PDF

Info

Publication number
DE10213882B4
DE10213882B4 DE2002113882 DE10213882A DE10213882B4 DE 10213882 B4 DE10213882 B4 DE 10213882B4 DE 2002113882 DE2002113882 DE 2002113882 DE 10213882 A DE10213882 A DE 10213882A DE 10213882 B4 DE10213882 B4 DE 10213882B4
Authority
DE
Germany
Prior art keywords
trellis
metric values
pass
memory
decoding
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
DE2002113882
Other languages
English (en)
Other versions
DE10213882A1 (de
Inventor
Lutz Dr. Finn
Sabine RÖSSEL
Gerhard Steib
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.)
Provenance Asset Group LLC
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to DE2002113882 priority Critical patent/DE10213882B4/de
Application filed by Siemens AG filed Critical Siemens AG
Priority to PCT/EP2003/002942 priority patent/WO2003081786A1/de
Priority to AU2003215670A priority patent/AU2003215670A1/en
Priority to US10/509,038 priority patent/US7143334B2/en
Priority to CNA03806880XA priority patent/CN1643798A/zh
Priority to KR1020047015128A priority patent/KR100973097B1/ko
Priority to EP03744712A priority patent/EP1488531A1/de
Publication of DE10213882A1 publication Critical patent/DE10213882A1/de
Application granted granted Critical
Publication of DE10213882B4 publication Critical patent/DE10213882B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • H04L1/006Trellis-coded modulation
    • 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
    • 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
    • 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
    • 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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • 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/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • 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/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information

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)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)

Abstract

Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge aus K Informationsbits,
– bei dem bei einem Trellis-Diagramm mit Trellis-Segmenten in einem ersten Durchgang für eine Vorwärtsrichtung und für eine Rückwärtsrichtung mit Hilfe eines MaxLogMAP-Algorithmus Metrikwerte von allen Trellis-Segmenten exakt berechnet werden,
– bei dem eine Anzahl an Trellis-Segmenten als Stützstellen des ersten Durchgangs ausgewählt und zugehörige Metrikwerte in einer ersten Speicherebene abgespeichert werden,
– bei dem mit 1 < i ≤ n in einem i-ten Durchgang für beide Richtungen Metrikwerte von Trellis-Segmenten berechnet werden, die zwischen den Stützstellen eines i-1 ten Durchgangs angeordnet sind, wobei abgespeicherte Metrikwerte von Stützstellen des i-1 ten Durchgangs zur Berechnung der Metrikwerte des i-ten Durchgangs verwendet werden,
– bei dem eine Anzahl an Trellis-Segmenten als Stützstellen des i-ten Durchgangs ausgewählt und zugehörige Metrikwerte in einer i-ten Speicherebene abgespeichert werden,
– bei dem die auf den Stützstellen basierende...

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge aus K Informationsbits mittels einem Max-LogMAP-Algorithmus.
  • Bei Sprachkanälen und bei Datenkanälen eines Funkkommunikationssystems, das beispielsweise nach dem GSM/EDGE-Mobilfunkstandard ausgeprägt ist, werden zur Datencodierung bzw. Datendecodierung binäre Faltungscodes verwendet. Ein bevorzugter Algorithmus für eine sogenannte „Softinput/Softoutput-Decodierung" ist der bekannte „symbol-by-symbol log-likelihood maximum aposteriori probability"-Algorithmus (LogMAP-Algorithmus), der im allgemeinen mit Hilfe einer Maximum-Approximation (MaxLogMAP-Algorithmus) realisiert wird.
  • Der grundlegende MAP-Algorithmus ist beispielsweise in der Druckschrift „Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate", L.R. Bahl et al., IEEE Transactions on Information Theory, pp. 284-287, March 1974 beschrieben, der MaxLogMAP-Algorithmus kann der Druckschrift „Iterative Decoding of Binary Block and Convolutional Codes", J. Hagenauer et al., IEEE Transactions on Information Theory, vol. 42, no. 2, pp. 429-445, March 1996 entnommen werden.
  • Ein mit Hilfe eines sogenannten „gleitenden Fensters" (Decodierfenster) durchgeführter Window-MaxLogMAP-Algorithmus ist in der Druckschrift „An Intuitive Justification and a Simpli fied Implementation of the MAP Decoder for Convolutional Codes", A. J. Viterbi, IEEE Journal on Selected Areas in Communications, vo. 16, no.2, pp. 260-264, Feb. 1998, beschrieben.
  • Als Grundlage für die Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge dient das binäre Trellis-Diagramm. Ein zu einem Informationsbit der Datenfolge gehörendes Segment des Trellis-Diagramms erfasst alle möglichen Kombinationen von m (Gedächtnislänge des Faltungscodes) vorausgegangen Informationsbits als 2m Ausgangszustände. Weiterhin werden alle sich daraus ergebenden „Umrechnungen" (Codierungen) des Informationsbits als 2(m+1) Zustandsübergänge und resultierende 2m Zielzustände als Ausgangszustände für das nächste nachfolgende Informationsbit erfasst. Eine Informationsbitfolge entspricht dabei einem bestimmten Pfad innerhalb des Trellis-Diagramms, wobei mit Hilfe des MaxLogMAP-Algorithmus eine Abfolge der wahrscheinlichsten Informationsbits im Trellis-Diagramm ermittelt wird.
  • Bei der Realisierung des MaxLogMAP-Algorithmus ist grundsätzlich zwischen einer systolischen Realisierung einerseits, und einer prozessor-orientierten Realisierung andererseits zu unterscheiden.
  • Bei der systolischen Realisierung wird eine möglichst hohe Parallelität von Decodierschritten im gesamten Trellis-Diagramm angestrebt. Diese Realisierung kommt bei extrem hohen Datendurchsatz-Anforderungen von bis zu 50 Gbit/s zur Anwendung.
  • Die prozessor-orientierte Realisierung ist bei geringem Hardwareaufwand für moderate Datendurchsatz-Anforderungen von einigen Mbit/s geeignet.
  • Bei beiden Realisierungen wird vorausgesetzt, dass für große, blockweise übertragene Datenfolgen eine Decodierung nur mit Hilfe eines Decodierfenster sinnvoll realisiert werden kann.
  • Aus Gründen des Datendurchsatzes und des Hardwareaufwands wird zur Decodierung in der Regel der Window-MaxLogMAP-Algorithmus verwendet.
  • Decodierungs-Ergebnisse (Softoutput-Werte), die vergleichend dazu mit einem MaxLogMAP-Algorithmus ohne Decodierfenster gewonnen werden, sind zwar genauer, jedoch wird hierbei ein großer Aufwand an Hardware und an Speicher benötigt.
  • Eine Alternative zum MaxLogMAP-Algorithmus wird, bezogen auf eine Blockfehlerrate bei einem gegebenem Signal-Rausch-Abstand, durch den in DE 39 10 739 C3 bzw. in DE 42 24 214 C2 beschriebenen „Softoutput-Viterbi-Algorithmus" (SOVA) gebildet. Der SOVA-Algorithmus weist vergleichend zum MaxLogMAP-Algorithmus jedoch eine geringere Korrelation zwischen Decodierfehlern und gebildeten Softoutput-Werten auf.
  • Aus „Forward Compuation Of Backward Path Metrics For MAP Decoder", Wu et al., IEEE Proceedings of Vehicular Technology Conference, Tokyo, 2000, IEEE 51st, Vol. 3, S. 2257 bis 22 61, ist eine Vorwärtsberechnung sogenannter "Backward Path"-Metriken für eine MAP-Decodierung bekannt.
  • Aus US 6, 226,773 ist eine speicherminimierte Architektur zur Implementierung einer MAP-Dekodierung bekannt. Dabei werden Alpha-Metriken von i = 1 bis N und Beta-Metriken von j = N bis 1 berechnet. Nachfolgend werden Alpha-Metriken mit i = 1 bis N/2 und Beta-Metriken mit j = 1 bis N/2 als gesamter Block bzw. als jeweils zusammenhängende Teilbereiche abgespeichert.
  • Aus WO 96/13105 ist eine Softoutput-Dekodierung mit Hilfe eines symbol-by-symbol-MAP-Algorithmus bekannt. Dabei werden ausschließlich Rückwärtszustandsmetriken schrittweise abgespeichert und zur Decodierung verwendet. Nachfolgend werden Vorwärtszustandsmetriken berechnet und mit Hilfe der abgespeicherten Rückwärtszustandsmetriken die Softoutput-Werte berechnet. Dabei werden nichtabgespeicherte Rückwärtszustandsmetriken mit Hilfe eines „Survivor" oder Pfad-Gedächtnisses nicht direkt exakt berechnet, sondern es werden Soft-Decision-Werte ausgehend von den an den Stützstellen abgespeicherten Beta-Metriken mit Hilfe eines sogenannten „suboptimalen" Algorithmus errechnet.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, eine Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge mittels MaxLogMAP-Algorithmus derart durchzuführen, dass bei geringem Hardwareaufwand genaue Softoutput-Werte als Decodierungs-Ergebnisse gebildet werden.
  • Die Aufgabe der Erfindung wird durch die Merkmale des Anspruchs 1 gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben.
  • Das erfindungsgemäße Verfahren gehört zu den prozessororientierten Realisierungen des MaxLogMAP-Algorithmus.
  • Durch die erfindungsgemäße Speicherkaskadierung einerseits und durch die Verwendung von Stützstellen zur Metrikberechnung andererseits, ist der MaxLogMAP-Algorithmus effizient auf genau einem anwenderspezifischen Baustein (ASIC) integrierbar.
  • Durch den Verzicht auf die Verwendung eines Decodierfensters müssen keine Abstriche bei der Genauigkeit der Decodierungsergebnisse erfolgen.
  • Die Metrikwerte werden erfindungsgemäß bei einem ersten Berechnungsdurchgang produktiv und bei weiteren Berechnungsdurchgängen auf den abgespeicherten Stützstellen basierend reproduktiv berechnet.
  • Durch die erfindungsgemäße Speicherkaskadierung wird ein optimaler Datendurchsatz realisiert.
  • Durch das erfindungsgemäße Verfahren wird Speicherplatz und damit Fläche auf einem ASIC-Baustein eingespart. Die eingesparte Fläche steht somit für weitere Signalverarbeitungsalgorithmen zur Verfügung, wodurch zusätzliche Algorithmen im ASIC-Baustein realisierbar sind.
  • Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand einer Zeichnung näher erläutert. Dabei zeigt:
  • 1 eine prinzipielle Darstellung eines MaxLogMAP-Algorithmus zur exakten Berechnung von Softoutput-Werten gemäß dem Stand der Technik,
  • 2 eine prinzipielle Darstellung eines Window-MaxLogMAP-Algorithmus zur Berechnung von Softoutput-Werten gemäß dem Stand der Technik,
  • 3 eine prinzipielle Darstellung eines erfindungsgemäßen MaxLogMAP-Algorithmus zur exakten Berechnung von Softoutput-Werten, und
  • 4 ein Beispiel zur erfindungsgemäßen Metrikwert-Berechnung und Abspeicherung.
  • 1 zeigt eine prinzipielle Darstellung eines MaxLogMAP-Algorithmus zur exakten Berechnung von Softoutput-Werten gemäß dem Stand der Technik.
  • Mit Hilfe des MaxLogMAP-Algorithmus wird eine Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge aus K Informationsbits durchgeführt.
  • Bei einem Trellis-Diagramm TREL werden an einem Trellis-Segment T1 beginnend Alfa-Metrikwerte Mα-calc-store für jedes einzelne Trellis-Segment TSN als logarithmische Übergangs-Wahrscheinlichkeiten berechnet und abgespeichert. Parallel dazu werden gleichzeitig an einem Trellis-Segment T2 beginnend Beta-Metrikwerte Mβ-calc-store für jedes einzelne Trellis-Segment TSN berechnet und abgespeichert.
  • Die beiden Berechnungen passieren einander an einem Trellis-Segment TSM, wobei ab diesem Zeitpunkt ein Entscheidungsprozess zur Errechnung eines Softoutputwerts durchgeführt wird, d.h. die Decodierung eines Informationsbits der Datenfolge erfolgt. Dabei werden bei einem in Vorwärtsrichtung durchgeführten „Forward-Decision-Process" FDP nach dem Passieren des Trellis-Segments TSM aktuell berechnete Alfa-Metrikwerte Mα-calc mit den früher berechneten und abgespeicherten Beta-Metrikwerten Mβ-calc-store zur Errechnung des Softoutputwerts verwendet.
  • Dieser Vorgang erfolgt zeitgleich bei einem in Rückwärtsrichtung durchgeführten „Backward-Decision-Process" BDP, bei dem aktuell berechnete Beta-Metrikwerten Mβ-calc mit den früher berechneten und abgespeicherten Alfa-Metrikwerten Mα-calc-store zur Errechnung des Softoutputwerts verwendet werden.
  • Im Folgenden gilt:
  • K
    Informationsbitanzahl,
    s
    Zustand einer Faltungscode-Decodierung,
    m
    Codegedächtnislänge,
    T
    benötigte Anzahl an Trellis-Segmenten, mit T = K + m, und
    π
    Länge einer Einschwingphase, mit π > 5·m
  • Mit einer Wortbreite w eines Metrikspeichers und unter der Annahme, dass die jeweiligen Metrikwerte normiert werden, werden für diese Realisierung des MaxLogMAP-Algorithmus zwei Metrik-Prozessoren und insgesamt 2·K/2·w·2m Speicherplätze benötigt. Es wird ein Datendurchsatz erreicht von:
    Figure 00070001
  • Der oben genannte Parameter tsegment ist dabei abhängig von der zur Implementierung des Algorithmus verwendeten Baustein-Technologie (ASIC), von der Speicherarchitektur und von der beim ASIC-Baustein verwendeten Taktrate.
  • Bei terminierten Codes beginnt die jeweilige Berechnung der Metrikwerte unter der Annahme einer ungleichmäßigen Wahrscheinlichkeitsverteilung bei einem Trellis-Segment mit einem Startzustandswert („initial-state"), der eine Wahrscheinlichkeit von 100 aufweist, während alle weiteren „states" eine Wahrscheinlichkeit von 0% aufweisen.
  • Bei den sogenannten „Tailbiting-Codes" ist kein Startzustand von vornherein bekannt, weshalb eine Einschwingphase der Länge π für beide Richtungen eingeführt werden muss. Zugehörige Metrikwerte der Einschwingphase sind mit Mα-pre bzw. mit Mβ-pre bezeichnet.
  • 2 zeigt eine prinzipielle Darstellung eines Window-MaxLogMAP-Algorithmus zur Berechnung von Softoutput-Werten gemäß dem Stand der Technik.
  • Bei langen Datenfolgen wird der Window-MaxLogMAP-Algorithmus, der mit Hilfe eines gleitenden Decodierfensters realisiert wird, verwendet. Als besonderer Vorteil des Window-MaxLogMAP-Algorithmus ist dessen effiziente Implementierung zu nennen.
  • Vergleichend mit 1 werden Alfa-Metrikwerte Mα-calc in Vorwärtsrichtung bei einem Trellis-Segment T1 beginnend exakt berechnet. Demgegenüber werden Beta-Metrikwerte Mβ-calc-1 eines ersten Decodierfensters DP1 bzw. Beta-Metrikwerte Mβ-calc-2 eines zweiten Decodierfensters DP2 geschätzt.
  • Erreichen die beiden Decodierfenster DP1 und DP2 den rechten Rand des Trellis-Diagramms TREL, sind alle Terminierungsinformationen vorhanden. Es werden die Beta-Metrikwerte Mβ-calc-1 bzw. Mβ-calc-2 exakt berechnet und die entsprechenden Softoutput-Werte gebildet.
  • Metrikwerte Mα-pre, Mβ-pre-1 und Mβ-pre-2 werden wiederum einer Einschwingphase zugeordnet.
  • Der Window-MaxLogMAP-Algorithmus ist in der oben genannten Druckschrift „An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes" näher beschrieben.
  • Bei dieser Realisierung werden bei einem mit 1 vergleichbaren Datendurchsatz insgesamt [w/ψ] + 1 Metrik-Prozessoren sowie (1 + θ)·ψ·w·2m Speicherplätze benötigt.
  • Dabei ist:
  • ψ
    die Anzahl an Trellis-Segmenten, für die jeweils 2m Metriken gespeichert werden,
    w
    die Größe des Decodierfensters in Trellis-Segmenten, und
    θ ∊{0,1}
    ein Parameter, der abhängig von der zur Implementierung des Algorithmus verwendeten Baustein-Technologie (ASIC), von der Speicherarchitektur und von der beim ASIC-Baustein verwendeten Taktrate ist.
  • Speziell bei Coderaten nahe eins (mit Hilfe von Punktierung erzeugt) hochratiger Kanäle, werden durch Verwendung des Decodierfensters jedoch nicht mehr tolerierbare Performance-Verschlechterungen verursacht.
  • 3 zeigt eine prinzipielle Darstellung eines erfindungsgemäßen MaxLogMAP-Algorithmus zur exakten Berechnung von Softoutput-Werten.
  • Vergleichend mit 1 werden wieder Alfa-Metrikwerte in einer Vorwärtsrichtung und Beta-Metrikwerte in einer Rückwärtsrichtung jedes Trellis-Segments TSN berechnet. Jedoch werden jetzt erfindungsgemäß nur Metrikwerte einer ausgewählten Anzahl an Trellis-Segmenten, die als Stützstellen dienen, ausgewählt und abgespeichert.
  • Die Abspeicherung erfolgt in einer bevorzugten Ausführungsform innerhalb eines in Ebenen kaskadiert aufgeteilten Speichers.
  • Im Folgenden gilt:
  • m
    Codegedächtnislänge,
    sm
    „memory-length-shift" eines Feed-Forward-Terminated-Codes (bei einem Rekursiv-Terminated-Code und bei einem Tail-Biting-Code ist sm = 0),
    K
    Informationsbitanzahl,
    T
    benötigte Anzahl an Trellis-Segmenten, es gilt T = K + m;
    π
    Länge der Einschwingphase mit π > 5·m.
    δ(1)
    Speichertiefe einer ersten Speicherebene SP(1) für Stützstellen einer ersten Metrikwert-Berechnung,
    δ(n-1)
    Speichertiefe einer n-1 ten Speicherebene SP(n-1) für Stützstellen einer n-1 ten Metrikwert-Berechnung, und
    δ(n)
    Speichertiefe einer n-ten Speicherebene SP(n) für Stützstellen einer n-1 ten Metrikwert-Berechnung.
  • Beim Trellis-Diagramm TREL werden in einem ersten Durchgang an einem Trellis-Segment T1 beginnend Alfa-Metrikwerte Mα-calc(1) in einer Vorwärtsrichtung FDP und an einem Trellis-Segment T2 beginnend Beta-Metrikwerte Mβ-calc(1) in einer Rückwärtsrichtung BDP für jedes einzelne der Trellis-Segmente TSN als logarithmische Übergangs-Wahrscheinlichkeiten berechnet.
  • Erfindungsgemäß werden jedoch jetzt aus den errechneten Metrikwerten Mα-calc(1) bzw. Mβ-calc(1) des ersten Durchgangs für eine Auswahl von K/δ(1) Trellis-Segmenten, die als Stützstellen dienen, Metrikwerten Mα-calc-sel(1) bzw. Mβ-calc-sel(1) des ersten Durchgangs jeweils in einer ersten Speicherebene SP(1) mit einer Speichertiefe von δ(1) abgelegt.
  • Bei einem zweiten Durchgang werden, basierend auf je zwei benachbarten Stützstellen des ersten Durchgangs, wiederum Metrikwerte Mα-calc(2) bzw. Mβ-calc(2) derjenigen Trellis-Segmente TSN berechnet, die zwischen den jeweiligen Stützstellen des ersten Durchgangs angeordnet sind.
  • Wie beim ersten Durchgang werden aus den errechneten Metrikwerten Mα-calc(2) bzw. Mβ-calc(2) des zweiten Durchgangs für eine Auswahl von K/δ(1)/δ(2) Trellis-Segmenten, die wiederum als Stützstellen dienen, die entsprechenden Metrikwerte Mα-calc-sel(2) bzw. Mβ-calc-sel(2) des zweiten Durchgangs in einer zweiten Speicherebene SP(2) mit einer Speichertiefe von δ(2) abgelegt.
  • Diese auf den Stützstellen eines vorhergehenden Durchgangs basierende Metrikwert-Berechnung wird dementsprechend sowohl in Vorwärtsrichtung als auch in Rückwärtsrichtung fortgesetzt. Dabei werden nach dem Passieren des Trellis-Segments TSM entsprechende Softoutput-Werte gebildet, wobei freiwerdende Speicherebenen entsprechend neu eingesetzt werden.
  • Der Entscheidungsprozess zur Bestimmung der Softoutputwerte erfolgt dabei wie in 1 beschrieben. Die einzelnen Speicherebenen sind zueinander kaskadiert aufgebaut.
  • Nach n Durchgängen sind alle Softoutputwerte bestimmt, wobei die n-te Speicherebene eine Speichertiefe von δ(n) mit abgespeicherten Metrikwerten von K/δ(1)/δ(2)/.../δ(n) Trellis-Segmenten bzw. Stützstellen aufweist.
  • Vergleichend mit den in den Figuren 1 bzw. 2 angegebenen Datendurchsatz werden durch das erfindungsgemäße Verfahren insgesamt 2·n Metrik-Prozessoren sowie
    Figure 00120001
    Speicherplätze benötigt.
  • Es gilt dabei:
    Figure 00120002
    in Abhängigkeit davon, wieviele ASIC-Taktzyklen für ein Trellis-Segment benötigt werden und wieviele Ports an den Speichern zur Verfügung stehen.
  • Anhand von existierenden Realisierungen des MaxLogMAPWindow-Algorithmus können Parameter abgeleitet und für einen Vergleich zwischen den aus 1 bzw. 2 bekannten, herkömmlichen Realisierungen und der erfindungsgemäßen Realisierung verwendet werden.
  • Die Ergebnisse sind der nachfolgenden Tabelle zu entnehmen:
    Figure 00130001
  • Bei gleichem Datendurchsatz und ohne Abstriche bei der Genauigkeit des MaxLogMAP-Algorithmus, ermöglicht durch die Vermeidung eines Decodierfensters, wird der Hardware-Aufwand bei der erfindungsgemäßen speicherkaskadierten Realisierung um mehr als 80% gegenüber der herkömmlichen in 1 beschriebenen Realisierung verringert.
  • Dabei wurde für diesen Vergleich vorausgesetzt:
    • – ein Overhead durch Softinput- und Softoutput Puffer an einer Systemschnittstelle mit (R–1 + 1)·wsoft·k·amemory wobei in der Regel k = K ist, jedoch k = W + ((nβ – 1)·δ) bei der Realisierung mit Decodierfenster sein kann; mit R als Code-Rate, wsoft als Wortbreite der Softwerte sowie amemory als Flächeneinheit pro Speicherbit,
    • – ein Overhead durch Ansteuerung und Schnittstelle: Aoverhead
    • – ein Metrik-Prozessor incl. Skalierung der Registerbits: Aviterbi(w)·fparallel + 2(m+1)·w·aflipflop wobei Aviterbi die Viterbi-Arithmetik für eine gegebene Wortbreite w und aflipflop die Registerflächeneinheit pro Bit darstellen, fparallel ist die Anzahl der in einem ASIC-Taktzyklus ausgeführten Butterfly-Berechnungen und kann folgende Werte annehmen: {1, 2, ..., 2(m-1)},
    • – eine Metrik-Wortbreite w = 16,
    • – eine Softwert-Wortbreite wsoft = 8,
    • – eine Speicherbitfläche amemory = 2,
    • – eine Registerbitfläche aflipflop = 10 Einheiten,
    • – ein Viterbi-Arithmetik/Butterfly Aviterbi = 12500 Einheiten,
    • – ein Overhead Aoverhead = 50000 Einheiten.
  • Die Einheiten entsprechen einem Gatteräquivalent einer 0,18 μm ASIC-Technologie bei einer Taktfrequenz von rund 150 MHz.
  • Im Folgenden werden Daten eines GSM/EDGE-Standard relevanten Parametersatz verglichen:
    – Code-Rate R = 1/6
    – Gedächtnislänge m = 6
    – Blockgröße K = 1000
    – Decoder-Durchsatz größer als 2 Mbit/s
    – Parallelität fparallel = 1
    Figure 00150001
    Figure 00160001
  • Bei UMTS (W-CDMA) und bei UTRAN TDD Faltungscodes sind für die Faltungsdecodierung folgende Parameter zu verwenden:
    – Code-Rate R = 1/3
    – Gedächtnislänge m = 8
    – Maximale Blockgröße K = 300
    – Decoder-Durchsatz größer als 2 Mbit/s
    – Parallelität fparallel = 8
    Figure 00160002
  • Bei UMTS (W-CDMA) und bei UTRAN TDD Turbo Codes kommt ein MaxLogMAP-Decoder mit geringfügigen Erweiterungen als Teil der Turbo-Decodierung in Betracht. So kann auch hier die speicherkaskadierte Realisierung mit der direkten und der Fenster-Realisierung verglichen werden:
    – Code-Rate R = 1/3
    – Gedächtnislänge m = 3
    – Maximale Blockgröße K = 5200
    – Decoder-Durchsatz größer als 2 Mbit/s
    – Parallelität fparallel = 1/4
    Figure 00170001
  • 4 zeigt ein Beispiel zur erfindungsgemäßen Metrikwert-Berechnung und Abspeicherung.
  • Bei einem ersten Durchgang D1 werden Alfa-Metrikwerte bzw. Beta-Metrikwerte berechnet. Von jedem sechsten Trellis-Segment TSN = 1, 7, 13, ..., 73 als Stützstelle werden je weils 2m berechnete Alfa-Metrikwerte in einer Speicherebene SP(α1) und jeweils 2m berechnete Beta-Metrikwerte in einer Speicherebene SP(β1) abgespeichert.
  • In einem zweiten Durchgang D2 werden diese Metrikwerte aus den Speicherebenen SP(α1) bzw. SP(β1) ausgelesen und von den zwischen den Stützstellen angeordneten Trellis-Segmenten die zugehörigen Alfa-Metrikwerte bzw. Beta-Metrikwerte exakt berechnet. Wieder wird eine entsprechende Auswahl an Trellis-Segmenten als Stützstellen getroffen und die zugehörigen Metrikwerte abgespeichert. Beispielhaft sind hier zwei Speicherebenen SP(α2) und SP(α2') bzw. SP(β2) und SP(β2') angegeben.
  • In einem dritten Durchgang D3 wird von beiden Seiten her das Trellis-Segment TSM erreicht und es werden für den „Backward-Decision-Process" aktuell berechnete 2m Beta-Metrikwerte mit abgespeicherten 2m Alfa-Metrikwerten, die im Speicher SP(α2) abgelegt sind, zur Bestimmung von Softoutput-Werten verwendet. Genauso werden für den „Forward-Decision-Process" aktuell berechnete 2m Alfa-Metrikwerte mit abgespeicherten 2m Beta-Metrikwerten, die im Speicher SP(β2) abgelegt sind, zur Bestimmung von Softoutput-Werten verwendet.
  • Nach insgesamt n = 3 Durchgängen Dn wurden alle Entscheidungswerte Mdecisions gebildet.

Claims (5)

  1. Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge aus K Informationsbits, – bei dem bei einem Trellis-Diagramm mit Trellis-Segmenten in einem ersten Durchgang für eine Vorwärtsrichtung und für eine Rückwärtsrichtung mit Hilfe eines MaxLogMAP-Algorithmus Metrikwerte von allen Trellis-Segmenten exakt berechnet werden, – bei dem eine Anzahl an Trellis-Segmenten als Stützstellen des ersten Durchgangs ausgewählt und zugehörige Metrikwerte in einer ersten Speicherebene abgespeichert werden, – bei dem mit 1 < i ≤ n in einem i-ten Durchgang für beide Richtungen Metrikwerte von Trellis-Segmenten berechnet werden, die zwischen den Stützstellen eines i-1 ten Durchgangs angeordnet sind, wobei abgespeicherte Metrikwerte von Stützstellen des i-1 ten Durchgangs zur Berechnung der Metrikwerte des i-ten Durchgangs verwendet werden, – bei dem eine Anzahl an Trellis-Segmenten als Stützstellen des i-ten Durchgangs ausgewählt und zugehörige Metrikwerte in einer i-ten Speicherebene abgespeichert werden, – bei dem die auf den Stützstellen basierende Metrikwert-Berechnung und Abspeicherung n-mal erfolgt, bis sich die Metrikwert-Berechnung der Vorwärtsrichtung und der Rückwärtsrichtung bei einem Trellis-Segment treffen und nachfolgend ein Entscheidungsprozess zur Errechnung von Softoutput-Werten zur Decodierung durchgeführt wird.
  2. Verfahren nach Anspruch 1, bei dem für jeweils eine Richtung der ersten Speicherebene jeweils eine Speichertiefe von δ1 zugewiesen wird, wobei in der ersten Speicherebene die jeweiligen Metrikwerte von jedem K/δ1-ten Trellis-Segment abgespeichert sind.
  3. Verfahren nach Anspruch 1 oder 2, bei dem für jeweils eine Richtung der i-ten Speicherebene jeweils eine Speichertiefe von δi zugewiesen wird, wobei in der i-ten Speicherebene die jeweiligen Metrikwerte von jedem K/δ1/.../δi ten Trellis-Segment abgespeichert werden.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem bei terminierten Codes für die Berechnung der Softoutputwerte eine verzögerte Entscheidungsphase verwendet wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Decodierung auf genau einem anwenderspezifischen Baustein durchgeführt wird.
DE2002113882 2002-03-27 2002-03-27 Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge Expired - Fee Related DE10213882B4 (de)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE2002113882 DE10213882B4 (de) 2002-03-27 2002-03-27 Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge
AU2003215670A AU2003215670A1 (en) 2002-03-27 2003-03-20 Method for decoding a data sequence that has been encoded with the help of a binary convolution code
US10/509,038 US7143334B2 (en) 2002-03-27 2003-03-20 Method for decoding data sequence encoded with aid of binary convolution code
CNA03806880XA CN1643798A (zh) 2002-03-27 2003-03-20 解码借助于二进制卷积码加密的数据序列的方法
PCT/EP2003/002942 WO2003081786A1 (de) 2002-03-27 2003-03-20 Verfahren zur decodierung einer mit hilfe eines binären faltungscodes verschlüsselten datenfolge
KR1020047015128A KR100973097B1 (ko) 2002-03-27 2003-03-20 이진 컨벌루션 코드를 사용하여 인코딩된 데이터 시퀀스를디코딩하기 위한 방법
EP03744712A EP1488531A1 (de) 2002-03-27 2003-03-20 Verfahren zur decodierung einer mit hilfe eines binären faltungscodes verschlüsselten datenfolge

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002113882 DE10213882B4 (de) 2002-03-27 2002-03-27 Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge

Publications (2)

Publication Number Publication Date
DE10213882A1 DE10213882A1 (de) 2003-10-16
DE10213882B4 true DE10213882B4 (de) 2006-11-23

Family

ID=28050937

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002113882 Expired - Fee Related DE10213882B4 (de) 2002-03-27 2002-03-27 Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge

Country Status (1)

Country Link
DE (1) DE10213882B4 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996013105A1 (de) * 1994-10-25 1996-05-02 Philips Electronics N.V. Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf
US6226773B1 (en) * 1999-10-20 2001-05-01 At&T Corp. Memory-minimized architecture for implementing map decoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996013105A1 (de) * 1994-10-25 1996-05-02 Philips Electronics N.V. Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf
US6226773B1 (en) * 1999-10-20 2001-05-01 At&T Corp. Memory-minimized architecture for implementing map decoding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BAHL,L. [u.a.]: Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate. In: IEEE Trans- actions on Information Theory, March 1974, vol.20, no.2, S.284-287
BAHL,L. [u.a.]: Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate. In: IEEE Trans- actions on Information Theory, March 1974, vol.20,no.2, S.284-287 *
WU Y., EBEL W.J., WOERNER B.D.: "Forward Computat- ion of Backward Path Metrics for MAP Decoder", IN: IEEE Proceedings of Vehicular Technology Conference, Tokyo. 2000, IEEE 51st, Vol. 3, S. 2257-2261
WU Y., EBEL W.J., WOERNER B.D.: "Forward Computat-ion of Backward Path Metrics for MAP Decoder", IN: IEEE Proceedings of Vehicular Technology Conference, Tokyo. 2000, IEEE 51st, Vol. 3, S. 2257-2261 *

Also Published As

Publication number Publication date
DE10213882A1 (de) 2003-10-16

Similar Documents

Publication Publication Date Title
DE3910739C3 (de) Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
DE69736881T2 (de) Parallel verketteter tail-biting-faltungskode und dekoder dafür
DE60120723T2 (de) Iterationsabbruch für Turbodecodierer
DE112004002008B4 (de) Vereinheitlichter Viterbi/Turbo-Decoder für mobile Telekommunikationssysteme
DE102012100945A1 (de) Iterativer Decodierer
DE102005010006B4 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
DE602004012417T2 (de) Dekodierungsvorrichtung und dekodierungsverfahren
WO2003071689A2 (de) Kombinierter ver- und entschachteler sowie turbo-decodierer mit kombiniertem ver- und entschachteler
DE102007035210A1 (de) Verfahren und Vorrichtung zur LDPC-Dekodierung mit gemeinsamer Hardwarenutzung und serieller Summe-Produkt-Architektur
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
DE60009531T2 (de) Parallele Turbocoder-Implementierung
WO1996013105A1 (de) Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf
DE10310812B4 (de) Dekodiervorrichtung, Trellis-Prozessor und Verfahren
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
EP1269633B1 (de) Optimierter turbo-decodierer
WO2002060071A2 (de) Viterbi-decoder
DE10213882B4 (de) Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge
DE69908629T2 (de) Hybrid verschachteler für turbo-kodierer
EP1249074B1 (de) Verfahren zur decodierung eines datensignals
EP1488531A1 (de) Verfahren zur decodierung einer mit hilfe eines binären faltungscodes verschlüsselten datenfolge
EP1349286A1 (de) Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge
EP1269632B1 (de) Turbo-decodierer und turbo-decodierverfahren
DE10120155B4 (de) Modulation mit paralleler Turbotrelliscodierung
DE60116923T2 (de) Verbesserte Hochschnellheitsarchitektur &#34;maximal a posteriori&#34; (MAP) mit optimisierter Speichergrösse und Leistungsverbrauch
EP1626507B1 (de) Decoder und Verfahren zum Durchführen eines Viterbi-Algorithmus

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NOKIA SIEMENS NETWORKS GMBH & CO.KG, 81541 MUE, DE

R081 Change of applicant/patentee

Owner name: NOKIA SOLUTIONS AND NETWORKS GMBH & CO. KG, DE

Free format text: FORMER OWNER: NOKIA SIEMENS NETWORKS GMBH & CO. KG, 81541 MUENCHEN, DE

Effective date: 20140731

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R081 Change of applicant/patentee

Owner name: PROVENANCE ASSET GROUP LLC, PITTSFORD, US

Free format text: FORMER OWNER: NOKIA SOLUTIONS AND NETWORKS GMBH & CO. KG, 81541 MUENCHEN, DE