EP1488531A1 - Method for decoding a data sequence that has been encoded with the help of a binary convolution code - Google Patents

Method for decoding a data sequence that has been encoded with the help of a binary convolution code

Info

Publication number
EP1488531A1
EP1488531A1 EP03744712A EP03744712A EP1488531A1 EP 1488531 A1 EP1488531 A1 EP 1488531A1 EP 03744712 A EP03744712 A EP 03744712A EP 03744712 A EP03744712 A EP 03744712A EP 1488531 A1 EP1488531 A1 EP 1488531A1
Authority
EP
European Patent Office
Prior art keywords
trellis
metric values
decoding
values
metric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP03744712A
Other languages
German (de)
French (fr)
Inventor
Lutz 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.)
Nokia Solutions and Networks GmbH and Co KG
Original Assignee
Siemens AG
Nokia Siemens Networks GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from DE2002113882 external-priority patent/DE10213882B4/en
Priority claimed from EP02007030A external-priority patent/EP1349286A1/en
Application filed by Siemens AG, Nokia Siemens Networks GmbH and Co KG filed Critical Siemens AG
Priority to EP03744712A priority Critical patent/EP1488531A1/en
Publication of EP1488531A1 publication Critical patent/EP1488531A1/en
Withdrawn 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0055MAP-decoding

Abstract

The invention relates to a method for decoding a data sequence consisting of K information bits that has been encoded with the help of a binary convolution code, using a MaxLogMAP algorithm. In a first calculation operation, metric values are calculated accurately in a forwards and backwards direction in a trellis diagram and only some of said values are stored in a memory as interpolation points for an additional calculation operation. Said interpolation points are used in an additional calculation operation to accurately calculate the metric values that lie between the interpolation points of the first calculation operation. Soft output values are formed for decoding, said values being determined accurately after n operations.

Description

Beschreibungdescription
Verfahren zur Decodierung einer mit Hilfe eines binären Fal¬ tungscodes verschlüsselten DatenfolgeA method for decoding a using a binary Fal ¬ tung codes encrypted data sequence
Die vorliegende Erfindung betrifft ein Verfahren zur Decodie¬ rung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge aus K Informationsbits mittels einem Max- LogMAP-Algorithmus .The present invention relates to a process for Decodie ¬ tion of an encrypted using a binary convolutional code data sequence from K information bits using a Max LogMAP algorithm.
Bei Sprachkanälen und bei Datenkanälen eines Funkkommunikationssystems, das beispielsweise nach dem GSM/EDGE-Mobilfunk- standard ausgeprägt ist, werden zur Datencodierung bzw. Datendecodierung binäre Faltungscodes verwendet. Ein bevorzug- ter Algorithmus für eine sogenannte „Softinput/Softoutput-De- codierung* ist der bekannte ,,symbol-by-symbol log-likelihood maximum aposteriori probability*-Algorithmus (LogMAP-Algo- rithmus) , der im allgemeinen mit Hilfe einer Maximum-Approximation (MaxLogMAP-Algorithmus) realisiert wird.In the case of voice channels and data channels of a radio communication system, which is designed, for example, according to the GSM / EDGE mobile radio standard, binary convolutional codes are used for data coding or data decoding. A preferred algorithm for a so-called “soft input / soft output decoding * is the well-known“ symbol-by-symbol log-likelihood maximum aposteriori probability * algorithm (LogMAP algorithm), which is generally based on a Maximum approximation (MaxLogMAP algorithm) is realized.
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. Hage- nauer et al . , IEEE Transactions on Information Theory, vol. 42, no. 2, pp. 429 - 445, March 1996 entnommen werden.The basic MAP algorithm is described, for example, in the publication "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, the MaxLogMAP algorithm can be described in the document “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.
Ein mit Hilfe eines sogenannten „gleitenden Fensters* (Deco- dierfenster) durchgeführter indow-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.An indow MaxLogMAP algorithm carried out with the help of a so-called “sliding window * (decoding window) is described in the publication“ An Intuitive Justification and a Simplified fied Implementation of the MAP Decoder for Convolutional Codes *, AJ Viterbi, IEEE Journal on Selected Areas in Communications, vo. 16, no.2, pp. 260-264, Feb. 1998.
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ögli- chen 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 2lm+1) Zustandsübergän- ge 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.The binary trellis diagram serves as the basis for decoding a data sequence encrypted with the aid of a binary convolutional code. A segment of the trellis diagram belonging to an information bit of the data sequence captures all possible combinations of m (memory length of the convolutional code) preceding information bits as 2 m initial states. Furthermore, all resulting “conversions * (encodings) of the information bit are recorded as 2 lm + 1) state transitions and resulting 2 m target states as initial states for the next subsequent information bit. An information bit sequence corresponds to a specific path within the trellis diagram, with the MaxLogMAP algorithm being used to determine a sequence of the most likely information bits in the trellis diagram.
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.When implementing the MaxLogMAP algorithm, a distinction must be made between a systolic implementation on the one hand and a processor-oriented implementation on the other. In the systolic implementation, the greatest possible parallelism of decoding steps in the entire trellis diagram is sought. This implementation is used for extremely high data throughput requirements of up to 50 Gbit / s. The processor-oriented implementation is suitable for moderate data throughput requirements of a few Mbit / s with little hardware expenditure. In both implementations, it is assumed that for large data sequences transmitted in blocks, decoding can only be sensibly implemented with the aid of a decoding window.
Aus Gründen des Datendurchsatzes und des Hardwareaufwands wird zur Decodierung in der Regel der Window-MaxLogMAP- Algorithmus verwendet .For reasons of data throughput and hardware expenditure, the Window MaxLogMAP algorithm is generally used for decoding.
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.Decoding results (soft output values), which are obtained in comparison with a MaxLogMAP algorithm without a decoding window, are more accurate, but this requires a great deal of hardware and memory.
Eine Alternative zum MaxLogMAP-Algorithmus wird, bezogen auf eine Blockfehlerrate bei einem gegebenem Signal-Rausch-An alternative to the MaxLogMAP algorithm is based on a block error rate for a given signal-to-noise
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 Deco- dierfehlern und gebildeten Softoutput-Werten auf.Distance formed by the “soft output viterbi algorithm * (SOVA) described in DE 39 10 739 C3 or DE 42 24 214 C2. Compared to the MaxLogMAP algorithm, however, the SOVA algorithm has a lower correlation between decoding errors and the soft output values formed.
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 genaueThe object of the present invention is to carry out a decoding of a data sequence encrypted with the aid of a binary convolutional code by means of the MaxLogMAP algorithm in such a way that with low hardware expenditure, precise
Softoutput-Werte als Decodierungs-Ergebnisse gebildet werden.Soft output values are formed as decoding results.
Die Aufgabe der Erfindung wird durch die Merkmale des Anspruchs 1 gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben.The object of the invention is solved by the features of claim 1. Advantageous further developments are specified in the subclaims.
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 Metrikberech¬ nung andererseits, ist der MaxLogMAP-Algorithmus effizient auf genau einem anwenderspezifischen Baustein (ASIC) integrierbar.The method according to the invention is one of the processor-oriented implementations of the MaxLogMAP algorithm. The inventive Speicherkaskadierung one hand, and by the use of support points for Metrikberech ¬ voltage on the other hand, the MaxLogMAP algorithm is efficient on exactly one user-specific module (ASIC) can be integrated.
Durch den Verzicht auf die Verwendung eines Decodierfensters müssen keine Abstriche bei der Genauigkeit der Decodierungs- ergebnisse erfolgen.By not using a decoding window, there is no need to compromise on the accuracy of the decoding results.
Die Metrikwerte werden erfindungsgemäß bei einem ersten Berechnungsdurchgang produktiv und bei weiteren Berechnungsdurchgängen auf den abgespeicherten Stützstellen basierend reproduktiv berechnet.According to the invention, the metric values are calculated productively in a first calculation run and reproductively in further calculation runs based on the stored reference points.
Durch die erfindungsgemäße Speicherkaskadierung wird ein optimaler Datendurchsatz realisiert.An optimal data throughput is realized by the storage cascading according to the invention.
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.The method according to the invention saves storage space and thus area on an ASIC module. The space saved is thus available for further signal processing algorithms, which means that additional algorithms can be implemented in the ASIC module.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand einer Zeichnung näher erläutert. Dabei zeigt:An exemplary embodiment of the invention is explained in more detail below with reference to a drawing. It shows:
FIG 1 eine prinzipielle Darstellung eines MaxLogMAP- Algorithmus zur exakten Berechnung von Softoutput-1 shows a basic representation of a MaxLogMAP algorithm for the exact calculation of soft output
Werten gemäß dem Stand der Technik, FIG 2 eine prinzipielle Darstellung eines Window-MaxLogMAP- Algorithmus zur Berechnung von Softoutput-Werten gemäß dem Stand der Technik,State-of-the-art values, 2 shows a basic illustration of a window MaxLogMAP algorithm for calculating soft output values according to the prior art,
FIG 3 eine prinzipielle Darstellung eines erfindungsgemäßen MaxLogMAP-Algorithmus zur exakten Berechnung von Softoutput-Werten, und3 shows a basic illustration of a MaxLogMAP algorithm according to the invention for the exact calculation of soft output values, and
FIG 4 ein Beispiel zur erfindungsgemäßen Metrikwert- Berechnung und Abspeicherung.4 shows an example of the metric value calculation and storage according to the invention.
FIG 1 zeigt eine prinzipielle Darstellung eines MaxLogMAP- Algorithmus zur exakten Berechnung von Softoutput-Werten gemäß dem Stand der Technik.1 shows a basic representation of a MaxLogMAP algorithm for the exact calculation of soft output values according to the prior art.
Mit Hilfe des MaxLogMAP-Algorithmus wird eine Decodierung ei- ner mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge aus K Informationsbits durchgeführt.The MaxLogMAP algorithm is used to decode a data sequence encoded using a binary convolutional code from K information bits.
Bei einem Trellis-Diagramm TREL werden an einem Trellis- Segment Tl beginnend Alfa-Metrikwerte Mα-calc-store für je- des 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.In a trellis diagram TREL, alfa metric values Mα-calc-store for each individual trellis segment TSN starting with a trellis segment T1 are calculated and stored as logarithmic transition probabilities. At the same time, beta metric values Mß-calc-store for each individual trellis segment TSN are calculated and stored starting at a trellis segment T2.
Die beiden Berechnungen passieren einander an einem Trellis- Segment TSM, wobei ab diesem Zeitpunkt ein Entscheidungspro- zess 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 .The two calculations take place on a trellis segment TSM, from which point on a decision process for calculating a soft output value is carried out, ie the decoding of an information bit of the data sequence takes place. In the case of a “forward decision process * FDP carried out in the forward direction, after passing the trellis segment TSM, currently calculated alfa metric values are obtained Mα-calc with the previously calculated and stored beta metric values Mß-calc-store used to calculate the soft output value.
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.This process takes place at the same time in a backward decision process * BDP, in which the currently calculated beta metric values Mß-calc are used with the previously calculated and stored Alfa metric values Mα-calc-store to calculate the soft output value.
Im Folgenden gilt: K Informationsbitanzahl, s Zustand einer Faltungscode-Decodierung, Codegedächtnislänge, T benötigte Anzahl an Trellis-Segmenten, mit T = K + m, und π Länge einer Einschwingphase, mit π > 5*mThe following applies: K information bit number, s state of a convolutional code decoding, code memory length, T required number of trellis segments, with T = K + m, and π length of a transient phase, with π> 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 zweiWith a word width w of a metric memory and assuming that the respective metric values are normalized, there are two for this implementation of the MaxLogMAP algorithm
Metrik-Prozessoren und insgesamt 2 -K/2 - w - 2m Speicherplätze benötigt. Es wird ein Datendurchsatz erreicht von: 1Metric processors and a total of 2 -K / 2 - w - 2 m memory spaces required. A data throughput of: 1
[Mbit/s; t segment - 10[Mbit / s; t segment - 10
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 Wahrscheinlich- keit von 100% aufweist, während alle weiteren „states* eine Wahrscheinlichkeit von 0% aufweisen.The above-mentioned parameter t segmen t is dependent on the module technology (ASIC) used to implement the algorithm, on the memory architecture and on the clock rate used in the ASIC module. In the case of terminated codes, the respective calculation of the metric values begins with the assumption of an uneven probability distribution in a trellis segment with a start state value (“initial state”), which has a probability of 100%, while all further “states * have a probability of Have 0%.
Bei den sogenannten „Tailbiting-Codes* ist kein Startzustand von vornherein bekannt, weshalb eine Einschwingphase der Län- ge π für beide Richtungen eingeführt werden muss. Zugehörige Metrikwerte der Einschwingphase sind mit Mα-pre bzw. mit Mß-pre bezeichnet.With the so-called “tailbiting codes *”, no start state is known from the outset, which is why a settling phase of length π must be introduced for both directions. Associated metric values of the transient phase are designated with Mα-pre or with Mß-pre.
FIG 2 zeigt eine prinzipielle Darstellung eines Window- MaxLogMAP-Algorithmus zur Berechnung von Softoutput-Werten gemäß dem Stand der Technik.2 shows a basic illustration of a window MaxLogMAP algorithm for calculating soft output values according to the prior art.
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.The Window-MaxLogMAP algorithm, which is implemented with the help of a sliding decoding window, is used for long data sequences. A particular advantage of the Window MaxLogMAP algorithm is its efficient implementation.
Vergleichend mit FIG 1 werden Alfa-Metrikwerte Mα-calc in Vorwärtsrichtung bei einem Trellis-Segment Tl beginnend exakt berechnet. Demgegenüber werden Beta-Metrikwerte Mß-calc-1 eines ersten Decodierfensters DPI bzw. Beta-Metrikwerte Mß- calc-2 eines zweiten Decodierfensters DP2 geschätzt.In comparison with FIG. 1, alpha metric values Mα-calc are calculated exactly starting in the forward direction with a trellis segment Tl. In contrast, beta metric values Mß-calc-1 of a first decoding window DPI or beta metric values Mß-calc-2 of a second decoding window DP2 are estimated.
Erreichen die beiden Decodierfenster DPI und DP2 den rechten Rand des Trellis-Diagramms TREL, sind alle Terminierungsin- formationen vorhanden. Es werden die Beta-Metrikwerte Mß-calc-1 bzw. Mß-calc-2 exakt berechnet und die entsprechen¬ den Softoutput-Werte gebildet.If the two decoding windows DPI and DP2 reach the right edge of the trellis diagram TREL, all termination information is available. It will be the beta metric values Mß-calc-1 or Mß-calc-2 calculated exactly and the corresponding ¬ the soft output values formed.
Metrikwerte Mα-pre, Mß-pre-1 und Mß-pre-2 werden wiederum ei- ner Einschwingphase zugeordnet.Metric values Mα-pre, Mß-pre-1 and Mß-pre-2 are in turn assigned to a settling phase.
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.The Window-MaxLogMAP algorithm is described in more detail in the above-mentioned publication “An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes *.
Bei dieser Realisierung werden bei einem mit FIG 1 vergleichbaren Datendurchsatz insgesamt |w/ζ- +l Metrik-Prozessoren sowie \ + θ)- ψ - w - 2m Speicherplätze benötigt.In this implementation, with a data throughput comparable to FIG. 1, a total of | w / ζ- + l metric processors and \ + θ) - ψ - w - 2 m memory locations are required.
Dabei ist: ψ die Anzahl an Trellis-Segmenten, für die jeweils 2m Here is: ψ the number of trellis segments, for each 2 m
Metriken gespeichert werden, w die Größe des Decodierfensters in Trellis- Segmenten, und θ e {θ,l} 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.Metrics are stored, w the size of the decoding window in trellis segments, and θ e {θ, l} a parameter that depends on the chip technology (ASIC) used to implement the algorithm, on the memory architecture and on the ASIC Block rate used is.
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. FIG 3 zeigt eine prinzipielle Darstellung eines erfindungsgemäßen MaxLogMAP-Algorithmus zur exakten Berechnung von Softoutput-Werten.Especially at code rates close to one (generated with the help of puncturing) of high-rate channels, however, performance degradations that are no longer tolerable are caused by using the decoding window. 3 shows a basic illustration of a MaxLogMAP algorithm according to the invention for the exact calculation of soft output values.
Vergleichend mit FIG 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, aus- gewählt und abgespeichert.In comparison with FIG. 1, again Alfa metric values in a forward direction and beta metric values in a backward direction of each trellis segment TSN are calculated. However, according to the invention, only metric values of a selected number of trellis segments that serve as support points are now selected and stored.
Die Abspeicherung erfolgt in einer bevorzugten Ausführungsform innerhalb eines in Ebenen kaskadiert aufgeteilten Speichers .In a preferred embodiment, the storage takes place within a memory cascaded in levels.
Im Folgenden gilt: m Codegedächtnislänge, sm „memory-length-shift* eines Feed-Forward-The following applies: m code memory length, sm “memory length shift * of a feed forward
Terminated-Cödes (bei einem Rekursiv-Terminated- Code und bei einem Tail-Biting-Code ist sm = 0) ,Terminated cödes (for a recursive terminated code and for a tail biting code sm = 0),
K Informationsbitanzahl, T benötigte Anzahl an Trellis-Segmenten, es gilt T = K + m; π Länge der Einschwingphase mit π > 5*m . δ(l) Speichertiefe einer ersten Speicherebene SP(1) für Stützstellen einer ersten Metrikwert-Berechnung, δ(n-l) Speichertiefe einer n-1 ten Speicherebene SP(n-l) 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 Tl beginnend Alfa-Metrikwerte Mα-calc(l) in einer Vorwärtsrichtung FDP und an einem Trel¬ lis-Segment T2 beginnend Beta-Metrikwerte Mß-calc(l) in einer Rückwärtsrichtung BDP für jedes einzelne der Trellis-Segmente TSN als logarithmische Übergangs-Wahrscheinlichkeiten berechnet.K number of information bits, T required number of trellis segments, T = K + m; π Length of the settling phase with π> 5 * m. δ (l) storage depth of a first storage level SP (1) for support points of a first metric value calculation, δ (nl) storage depth of an n-1 th storage level SP (nl) for support points of an n-1 th metric value calculation, and δ (n ) Storage depth of an n-th storage level SP (n) for nodes of an n-1 th metric value calculation. Be at the trellis diagram TREL in a first pass on a trellis segment Tl starting Alfa-metric values Mα-calc (l) in a forward direction FDP and at a Trel ¬ lis segment T2 starting beta metric values MSS calc (l) in a reverse direction BDP for each of the trellis segments TSN as logarithmic transition probabilities.
Erfindungsgemäß werden jedoch jetzt aus den errechneten Met- rikwerten Mα-calc(l) bzw. Mß-calc(l) des ersten Durchgangs für eine Auswahl von K/δ(l) Trellis-Segmenten, die als Stützstellen dienen, Metrikwerten Mα-calc-sel (1) bzw. Mß-calc- sel(l) des ersten Durchgangs jeweils in einer ersten Spei- - cherebene SP(1) mit einer Speichertiefe von δ(l) abgelegt.According to the invention, however, the calculated metric values Mα-calc (l) or Mß-calc (l) of the first pass for a selection of K / δ (l) trellis segments which serve as support points are now metric values Mα-calc -sel (1) or Mß-calc- sel (l) of the first pass are each stored in a first storage level SP (1) with a storage depth of δ (l).
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ütz- stellen des ersten Durchgangs angeordnet sind.In a second run, based on two neighboring support points of the first run, metric values Mα-calc (2) or Mß-calc (2) of those trellis segments TSN which are arranged between the respective support points of the first run are again calculated are.
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/δ(l)/δ(2) Trellis-Segmenten, die wiederum als Stützstelen dienen, die entsprechenden MetrikwerteAs in the first run, the calculated metric values Mα-calc (2) and Mß-calc (2) of the second run for a selection of K / δ (l) / δ (2) trellis segments, which in turn serve as support columns , the corresponding metric values
Mα-calc-sel (2) bzw. Mß-calc-sel (2) des zweiten Durchgangs in einer zweiten Speicherebene SP(2) mit einer Speichertiefe von δ(2) abgelegt.Mα-calc-sel (2) or Mß-calc-sel (2) of the second pass are stored in a second storage level SP (2) with a storage depth of δ (2).
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.This metric value calculation based on the support points of a previous run is accordingly both continued in the forward and backward directions. Corresponding soft output values are formed after passing through the TSM trellis segment, with memory levels that are freed up being used accordingly.
Der Entscheidungsprozess zur Bestimmung der Softoutputwerte erfolgt dabei wie in FIG 1 beschrieben. Die einzelnen Speicherebenen sind zueinander kaskadiert aufgebaut.The decision process for determining the soft output values takes place as described in FIG. 1. The individual storage levels are cascaded.
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.After n passes, all soft output values are determined, the nth memory level having a memory depth of δ (n) with stored metric values of K / δ (1) / δ (2) / .... / δ (n) trellis segments or Has support points.
Vergleichend mit den in den Figuren FIG 1 bzw. FIG 2 angegebenen Datendurchsatz werden durch das erfindungsgemäße Verfahren insgesamt 2 - n Metrik-Prozessoren sowieIn comparison with the data throughput indicated in FIGS. 1 and 2, a total of 2 - n metric processors and
« w - 2m Speicherplätze benötigt. «W - 2 m of storage space required.
Es gilt dabei: = K , θx e {θ,l} , in Abhängigkeit davon, wievie- le ASIC-Taktzyklen für ein Trellis-Segment benötigt werden und wieviele Ports an den Speichern zur Verfügung stehen.The following applies: = K, θ x e {θ, l}, depending on how many le ASIC clock cycles are required for a trellis segment and how many ports are available in the memories.
Anhand von existierenden Realisierungen des MaxLogMAPWindow- Algorithmus können Parameter abgeleitet und für einen Vergleich zwischen den aus FIG 1 bzw. FIG 2 bekannten, herkömmlichen Realisierungen und der erfindungsgemäßen Realisierung verwendet werden. Die Ergebnisse sind der nachfolgenden Tabelle zu entnehmen:Using existing implementations of the MaxLogMAPWindow algorithm, parameters can be derived and used for a comparison between the conventional implementations known from FIG. 1 or FIG. 2 and the implementation according to the invention. The results are shown in the table below:
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 FIG 1 beschriebenen Realisierung verringert.With the same data throughput and without sacrificing the accuracy of the MaxLogMAP algorithm, made possible by avoiding a decoding window, the hardware outlay in the memory-cascaded implementation according to the invention is reduced by more than 80% compared to the conventional implementation described in FIG.
Dabei wurde für diesen Vergleich vorausgesetzt:The following was assumed for this comparison:
- ein Overhead durch Softinput- und Softoutput Puffer an einer Systemschnittstelle mit (R-1 + l)- wsoft - k - amemory wobei in der Regel k=K ist, jedoch k=W+((np - 1)*δ) bei der Realisierung mit Decodierfenster sein kann; mit R als Code-- an overhead through soft input and soft output buffers at a system interface with (R -1 + l) - w soft - k - a memory where usually k = K, but k = W + ((n p - 1) * δ ) can be implemented with a decoding window; with R as code
Rate, wSOt als Wortbreite der Softwerte sowie a memory als Flächeneinheit pro Speicherbit,Rate, w SO t as the word width of the software and a memory as the unit of area per memory bit,
- ein Overhead durch Ansteuerung und Schnittstelle: AoVerhead.- An overhead through control and interface: A oVerhead .
- ein Metrik-Prozessor incl. Skalierung der Registerbits: t rH M' /parallel + ^→ ■ W ü fll≠op 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( ~1)}, - eine Metrik-Wortbreite w = 16,- a metric processor including scaling of the register bits: t rH M '/ parallel + ^ → ■ W ü fll ≠ op where A V iterbi represent the Viterbi arithmetic for a given word width w and a flip-flop the register area unit per bit, f parallel is the number of butterfly calculations carried out in an A S I C cycle and can take the following values: {1,2, ..., 2 (~ 1) }, a metric word width w = 16,
- eine Softwert-Wortbreite wsoft = 8,- a software word length w soft = 8,
- eine Speicherbitfläche amemσry = 2,a memory bit area a memσr y = 2,
- eine Registerbitfläche amP0p = 10 Einheiten,a register bit area at P0 p = 10 units,
- ein Viterbi-Arithmetik/Butterfly Ävieü = 12500 Einheiten,- a Viterbi arithmetic / butterfly equivalent = 12500 units,
- ein Overhead Aoverhead = 50000 Einheiten.- an overhead A over head = 50,000 units.
Die Einheiten entsprechen einem Gatteräquivalent einer 0,18 μm ASIC-Technologie bei einer Taktfrequenz von rund 150 MHz.The units correspond to a gate equivalent of 0.18 μm ASIC technology at a clock frequency of around 150 MHz.
Im Folgenden werden Daten eines GSM/EDGE-Standard relevanten Parametersatz verglichen:In the following, data of a GSM / EDGE standard relevant parameter set are compared:
- Code-Rate R = 1/6- Code rate R = 1/6
- Gedächtnislänge m = 6 - Blockgröße K = 1000- Memory length m = 6 - Block size K = 1000
- Decoder-Durchsatz größer als 2 Mbit/s- Decoder throughput greater than 2 Mbit / s
- Parallelität fparaiiei = 1 - parallelism fparaiiei = 1
Bei UMTS (W-CDMA) und bei UTRAN TDD Faltungscodes sind für die Faltungsdecodierung folgende Parameter zu verwenden:With UMTS (W-CDMA) and with UTRAN TDD convolutional codes the following parameters have to be used for the convolution decoding:
- Code-Rate R = 1/3- Code rate R = 1/3
- Gedächtnislänge m = 8- Memory length m = 8
- Maximale Blockgröße K = 300- Maximum block size K = 300
- Decoder-Durchsatz größer als 2 Mbit/s- Decoder throughput greater than 2 Mbit / s
- Parallelität fparallel = 8- parallelism fparallel = 8
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: With UMTS (W-CDMA) and UTRAN TDD Turbo Codes, a MaxLogMAP decoder with minor extensions can be considered as part of the turbo decoding. Here, too, the memory cascaded implementation can be compared with the direct and the window implementation:
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 f arallel = 1/4Code rate R = 1/3 memory length m = 3 Maximum block size K = 5200 Decoder throughput greater than 2 Mbit / s parallelism f arallel = 1/4
FIG 4 zeigt ein Beispiel zur erfindungsgemäßen Metrikwert- Berechnung und Abspeicherung.4 shows an example of the metric value calculation and storage according to the invention.
Bei einem ersten Durchgang Dl werden Alfa-Metrikwerte bzw. Beta-Metrikwerte berechnet. Von jedem sechsten Trellis- Segment TSN = 1, 7, 13, ..., 73 als Stützstelle werden je- weils 2 berechnete Alfa-Metrikwerte in einer Speicherebene SP(αl) und jeweils 2m berechnete Beta-Metrikwerte in einer Speicherebene SP(ßl) abgespeichert.In a first run D1, alpha metric values or beta metric values are calculated. From every sixth trellis segment TSN = 1, 7, 13, ..., 73 as support point because 2 calculated alpha metric values are stored in a storage level SP (αl) and 2 m calculated beta metric values in each case in a storage level SP (ßl).
In einem zweiten Durchgang D2 werden diese Metrikwerte aus den Speicherebenen SP(αl) bzw. SP(ßl) 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 a second pass D2, these metric values are read out from the memory levels SP (αl) or SP (β1) and the associated alpha metric values or beta metric values are calculated exactly from the trellis segments arranged between the support points. Again, a corresponding selection of trellis segments is made as support points and the associated metric values are stored. Two memory levels SP (α2) and SP (α2 ') or SP (ß2) and SP (ß2') are given here as examples.
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* aktu- eil berechnete 2m Alfa-Metrikwerte mit abgespeicherten 2m Beta-Metrikwerten, die im Speicher SP(ß2) abgelegt sind, zur Bestimmung von Softoutput-Werten verwendet.In a third pass D3, the trellis segment TSM is reached from both sides and 2 m beta metric values currently calculated for the “backward decision process *” with stored 2 m Alfa metric values are stored in the memory SP (α2). are used to determine soft output values. Likewise, 2 m alpha metric values currently calculated for the “forward decision process *” with stored 2 m beta metric values, which are stored in the memory SP (β2), are used to determine soft output values.
Nach insgesamt n=3 Durchgängen Dn wurden alle Entscheidungs- werte Mdecisions gebildet. After a total of n = 3 passes Dn, all decision values Mdecisions were formed.

Claims

Patentansprüche claims
1. Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge aus K Informati- onsbits,1. Method for decoding a data sequence from K information bits encrypted with the aid of a binary convolutional code,
- 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 ex- akt berechnet werden,- In the case of a trellis diagram with trellis segments, in a first pass for a forward direction and for a reverse direction, metric values of all trellis segments are calculated exactly using a MaxLogMAP algorithm,
- 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 l<i≤n in einem i-ten Durchgang für beide- in which a number of trellis segments are selected as support points of the first pass and associated metric values are stored in a first storage level, - in which with l <i≤n in an i th pass for both
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 Be- rechnung der Metrikwerte des i-ten Durchgangs verwendet werden,Directions are calculated metric values of trellis segments that are arranged between the support points of an i-1 th pass, stored metric values of support points of the i-1 th pass being used to calculate the metric values of the i-th pass,
- 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 wer- den,in which a number of trellis segments are selected as support points of the i th passage and associated metric values are stored in an i th memory level,
- 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. - in which the metric value calculation and storage based on the support points takes place n times until the metric value calculation of the forward direction and the reverse direction meet in a trellis segment and a decision process for calculating soft output values for decoding is subsequently carried out.
2. Verfahren nach Anspruch 1, bei dem für jeweils eine Richtung der ersten Speicherebene jeweils eine Speichertiefe von δl zugewiesen wird, wobei in der ersten Speicherebene die jeweiligen Metrikwerte von jedem K/δl-ten Trellis- Segment abgespeichert sind.2. The method as claimed in claim 1, in which a storage depth of δl is assigned for each direction of the first storage level, the respective metric values of each K / δl-th trellis segment being stored in the first storage level.
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 Speicherebe- ne die jeweiligen Metrikwerte von jedem K/δl/.../δi ten Trellis-Segment abgespeichert werden.3. The method according to claim 1 or 2, in which a storage depth of δi is assigned for each direction of the i-th storage level, the respective metric values of each K / δl /.../ in the i-th storage level δi th trellis segment can be saved.
4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem bei terminierten Codes für die Berechnung der Softoutput- werte eine verzögerte Entscheidungsphase verwendet wird.4. The method according to any one of the preceding claims, in which a delayed decision phase is used in the case of terminated codes for calculating the soft output values.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Decodierung auf genau einem anwenderspezifischen Baustein durchgeführt wird. 5. The method according to any one of the preceding claims, wherein the decoding is carried out on exactly one user-specific component.
EP03744712A 2002-03-27 2003-03-20 Method for decoding a data sequence that has been encoded with the help of a binary convolution code Withdrawn EP1488531A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP03744712A EP1488531A1 (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

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
EP02007030 2002-03-27
DE10213882 2002-03-27
DE2002113882 DE10213882B4 (en) 2002-03-27 2002-03-27 Method for decoding a data sequence encrypted using a binary convolutional code
EP02007030A EP1349286A1 (en) 2002-03-27 2002-03-27 Method for decoding a data sequence encoded with a binary convolutional code
PCT/EP2003/002942 WO2003081786A1 (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
EP03744712A EP1488531A1 (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

Publications (1)

Publication Number Publication Date
EP1488531A1 true EP1488531A1 (en) 2004-12-22

Family

ID=28455549

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03744712A Withdrawn EP1488531A1 (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

Country Status (6)

Country Link
US (1) US7143334B2 (en)
EP (1) EP1488531A1 (en)
KR (1) KR100973097B1 (en)
CN (1) CN1643798A (en)
AU (1) AU2003215670A1 (en)
WO (1) WO2003081786A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100706608B1 (en) * 2005-07-19 2007-04-13 한국전자통신연구원 Optimal encoder and encoding method for dual stream system
US7895497B2 (en) * 2006-06-26 2011-02-22 Samsung Electronics Co., Ltd. Apparatus and method using reduced memory for channel decoding in a software-defined radio system
CN110110283A (en) * 2018-02-01 2019-08-09 北京中科晶上科技股份有限公司 A kind of convolutional calculation method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3910739C3 (en) * 1989-04-03 1996-11-21 Deutsche Forsch Luft Raumfahrt Method for generalizing the Viterbi algorithm and means for performing the method
DE4224214C2 (en) * 1992-07-22 1995-02-09 Deutsche Forsch Luft Raumfahrt Process for source-controlled channel decoding by expanding the Viterbi algorithm
DE4437984A1 (en) 1994-10-25 1996-08-14 Philips Patentverwaltung Transmission system with soft output decoding
US6028899A (en) 1995-10-24 2000-02-22 U.S. Philips Corporation Soft-output decoding transmission system with reduced memory requirement
US6226773B1 (en) * 1999-10-20 2001-05-01 At&T Corp. Memory-minimized architecture for implementing map decoding
FR2802371B1 (en) * 1999-12-10 2003-09-26 Matra Nortel Communications SIGNALING METHOD IN A RADIO COMMUNICATION SYSTEM, TRANSMITTERS, RECEIVERS AND REPEATERS FOR IMPLEMENTING THE METHOD
US6654927B1 (en) * 2000-01-10 2003-11-25 Lg Electronics Inc. Iterative error-correction for turbo code decoding
US6901117B1 (en) * 2000-02-10 2005-05-31 Motorola, Inc. Soft output decoder for convolutional codes
EP1128560B1 (en) * 2000-02-21 2004-01-28 Motorola, Inc. Apparatus and method for performing SISO decoding
US20020034261A1 (en) * 2000-06-23 2002-03-21 Eidson Donald Brian Rate n/n systematic, recursive convolutional encoder and corresponding decoder
FI109162B (en) * 2000-06-30 2002-05-31 Nokia Corp Method and arrangement for decoding a convolution-coded codeword
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US6813743B1 (en) * 2000-07-31 2004-11-02 Conexant Systems, Inc. Sliding window technique for map decoders
US6452979B1 (en) * 2000-09-06 2002-09-17 Motorola, Inc. Soft output decoder for convolutional codes
FI20010147A (en) * 2001-01-24 2002-07-25 Nokia Corp A method and arrangement for decoding a convolutionally coded codeword
JP4198904B2 (en) * 2001-06-11 2008-12-17 富士通株式会社 Recording / reproducing apparatus, signal decoding circuit, error correcting method, and iterative decoder
KR100436434B1 (en) * 2001-11-19 2004-06-16 한국전자통신연구원 Turbo decoder that have a state metric, and Calculation method by Using it

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO03081786A1 *

Also Published As

Publication number Publication date
US20050166128A1 (en) 2005-07-28
KR20040099360A (en) 2004-11-26
US7143334B2 (en) 2006-11-28
KR100973097B1 (en) 2010-07-29
WO2003081786A1 (en) 2003-10-02
CN1643798A (en) 2005-07-20
AU2003215670A1 (en) 2003-10-08

Similar Documents

Publication Publication Date Title
DE3910739C3 (en) Method for generalizing the Viterbi algorithm and means for performing the method
DE69736881T2 (en) PARALLEL CHAINED TAIL BITING FOLDING CODE AND DECODER THEREFOR
DE102012100945A1 (en) Iterative decoder
DE60120723T2 (en) Iteration termination for turbo decoder
DE69722571T2 (en) System and method for digital transmission with a product code combined with multidimensional modulation
DE602004012417T2 (en) DECODING DEVICE AND DECODING METHOD
DE102007035210A1 (en) Code e.g. convolution code, decoding method, involves evaluating value based on sum of transformed values of bit-to-test nodes-messages for bit nodes minus transformed values of bit-to-test nodes-messages for bit nodes and test nodes
WO2003071689A2 (en) Combined interleaver and deinterleaver, and turbo decoder comprising a combined interleaver and deinterleaver
DE60009531T2 (en) Parallel turbo coder implementation
DE112010003449T9 (en) Iterative decoding of signals received over a noisy channel using forward and backward recursions with startup initialization
WO1996013105A1 (en) Transmission system with soft output decoding and reduced storage capacity requirement
DE10310812B4 (en) Decoding device, trellis processor and method
DE60007956T2 (en) Device and method for SISO decoding
EP1488531A1 (en) Method for decoding a data sequence that has been encoded with the help of a binary convolution code
EP1269633B1 (en) Optimized turbo decoder
WO2002060071A2 (en) Viterbi decoder
DE19934646C2 (en) Method and device for iterative decoding of chained codes
DE69908629T2 (en) HYBRID NESTLER FOR TURBO ENCODERS
EP1249074B1 (en) Method for decoding a data signal
DE10213882B4 (en) Method for decoding a data sequence encrypted using a binary convolutional code
DE102011056132B4 (en) Method and device for decoding data
EP1349286A1 (en) Method for decoding a data sequence encoded with a binary convolutional code
EP0843444A2 (en) Digital communication system using a trellis based, reduced state estimation method
DE60118716T2 (en) Log-MAP decoding
DE60116923T2 (en) Improved high-speed architecture &#34;maximum a posteriori&#34; (MAP) with optimized memory size and power consumption

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040728

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK

17Q First examination report despatched

Effective date: 20050503

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NOKIA SIEMENS NETWORKS GMBH & CO. KG

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NOKIA SIEMENS NETWORKS S.P.A.

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NOKIA SIEMENS NETWORKS GMBH & CO. KG

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20090930