WO2000048325A1 - Verfahren und anordnung zur decodierung eines vorgegebenen codeworts - Google Patents

Verfahren und anordnung zur decodierung eines vorgegebenen codeworts Download PDF

Info

Publication number
WO2000048325A1
WO2000048325A1 PCT/DE2000/000391 DE0000391W WO0048325A1 WO 2000048325 A1 WO2000048325 A1 WO 2000048325A1 DE 0000391 W DE0000391 W DE 0000391W WO 0048325 A1 WO0048325 A1 WO 0048325A1
Authority
WO
WIPO (PCT)
Prior art keywords
soft values
code word
soft
code
values
Prior art date
Application number
PCT/DE2000/000391
Other languages
English (en)
French (fr)
Inventor
Stefan SCHÄFFLER
Thomas Sturm
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2000048325A1 publication Critical patent/WO2000048325A1/de

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear 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/45Soft decoding, i.e. using symbol reliability information
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/17Burst error correction, e.g. error trapping, Fire codes
    • H03M13/175Error trapping or Fire codes

Definitions

  • the invention relates to a method and an arrangement for decoding a predetermined code word.
  • the information-carrying digits should be restored as completely as possible.
  • the decoding takes place on the side of the receiver who received the code word via a disturbed channel.
  • Signals are transmitted in particular as Boolean values, preferably divided into +1 and - 1, via the channel, experience a disturbance there and are converted by a demodulator into analog values that deviate more or less from the specified Boolean values ( ⁇ 1) can.
  • the systematic block code adds n - k test bits to the n information bits, which are calculated from the information bits, the information bits themselves remaining unchanged, whereas in the case of the unsystematic block code, the information bits themselves are changed, for example the information is in one position from one to the next performed surgery.
  • check bits are provided for the reconstruction of the information hidden in the operations.
  • the object of the invention is to use analog values (so-called “soft values”) for the reconstruction of the transmitted information as optimally as possible within the framework of decoding a given code word. This object is achieved in accordance with the features of the independent claims. Further developments of the invention also result from the dependent claims.
  • a method for decoding a predetermined code word in which there is a soft value for each position (each bit) of the code word. These soft values are sorted according to their reliability (according to a specified sorting criterion). The code word is decoded using the sorted soft values.
  • the sorting criterion corresponds to a quality of the soft values.
  • Soft values are distinguished by the fact that they can assume any (analog) values that If the two digital quantities are represented by the values +1 and -1, a soft value +0, 1 has a higher probability of error when assigned to +1 than a soft value +10 this fact is exploited if one uses the (in terms of amount) best or sufficiently good soft values for decoding the code word.
  • the code word has n digits, k of the n digits (meaning: k ⁇ n) containing information (“information bits”) and n-k digits containing redundancy information. It is thus possible to use a number of k digits (the number k digits can include any digits from the n digits) to reconstruct the information
  • the redundancy information is added to the code word in particular in order to be able to reconstruct these digits correctly with a high degree of certainty if individual digits are disturbed used to decode the code word, it is highly likely that the code word can be decoded correctly based on these locations.
  • the size of the set is determined by the number k of the information (sbits).
  • the transformation rule includes a rule that makes it possible to use the redundancy information (redundancy bits) in such a way that information bits can be reconstructed (with the greatest possible certainty / probability).
  • redundancy bits redundancy bits
  • a re-sorting takes place that influences the Transformations regulation takes such that an equivalent transformed coding is created, the information bits of which are at the positions of the code word at which the best (or sufficiently good) soft values are present.
  • the transformation rule must be modified in such a way that total information (ie: information bits, redundancy bits, rule of the transformation rule) enables the reconstruction of the information of interest (the k bits).
  • the coding specification is a generator matrix of a block code
  • this must be converted in such a way that the original information can be restored by the best (or the sufficiently good) soft values.
  • the steps of the transformation must be saved in order to be able to identify the correct places within the code word when reconstructing the information.
  • the block code can be, in particular, a code used in communications technology for the transmission of information via a communication interface, in particular a radio interface.
  • the block code is transformed into an equivalent systematic block code using a transformation rule, so that those positions with the smallest indices are assigned to the largest soft values;
  • the k information bits are successively determined using the soft values using an optimization method
  • optimization method is a "branch and bound" method.
  • the soft values are an output from a demodulator.
  • the soft values are the soft outputs of an upstream soft output decoder.
  • a processor unit is provided which is set up in such a way that
  • the code word comprises several digits with soft values
  • a set of soft values can be determined from the soft values by carrying out a sorting according to a sorting criterion
  • the code word is decoded on the basis of the set of soft values.
  • Fig.l a decoding unit from a rounding unit and a hard decision decoder
  • FIG. 3 shows a block diagram with units for digital message transmission
  • FIG. 11 shows a block diagram with components of a soft decision decoder
  • Fig. 13 a processor unit.
  • binary linear block codes are mainly used for message transmission.
  • the recipient of a message must reconstruct (decode) the sent message based on the received data (demodulation result) and the knowledge of the binary block code used.
  • FIG. 1 shows that a rounding is carried out in a block 101 by rounding soft values y € M n to “hard” values c £ ⁇ l ⁇ n . Data may be lost during the rounding process , since in block 102 only the result of the “hard” decision is available in the hard decision decoding.
  • Input data for the method described below can be not only the direct results of the demodulation, but also soft values of an upstream decoder in the case of chained codes.
  • bits of the code in the ⁇ 1 ⁇ representation are considered below. Compared to a ⁇ 0, 1 ⁇ representation that is often used in information technology, —1 corresponds to 1 and 1 to 0.
  • characterizing quantities can be used
  • Numerically and technically meaningful coding images are usually designed in such a way that they have a number of other properties that make errors in decoding less likely (large Hamming distance, Etc.).
  • the decoding algorithm presented later does not impose any additional requirements, ie the method can be carried out, although the result that can be achieved naturally depends on the code quality.
  • a binary linear block code is systematically called if
  • the binary linear block code described in Section 4.1.2 of the GSM Technical Specification GSM 05.03 Version 5.2.0 (Channel coding), part of the SACCH code (Slow associated control Channel), encodes 184 information bits to 224 code bits.
  • the code is systematic, i.e. the first 184 code bits are identical to the information bits.
  • the 40 remaining test bits are defined by systematization according to construction using a generator polynomial.
  • a unit consisting of source 201, source encoder 202 and crypto encoder 203 determines information u G ⁇ l ⁇ fc which serves as input for one (possibly also several) channel encoder 204.
  • the channel encoder 204 generates a code word c G ⁇ 1 ⁇ "which is fed into a modulator 205 and is transmitted via a disturbed physical channel 206 to a receiver, where it is determined in a demodulator 207 to be a real vector y GE". This vector is decoded into a word ü G ⁇ l ⁇ fc in a channel decoder 208.
  • the technical goal of coding / decoding is to maximize the likelihood that word u will be identical to the original word u.
  • a unit consisting of crypto decoder 209, source decoder 210 and sink 211 completes the receiver. The two units cryptocoder 203 and cryptodecoder 209 are optional.
  • the output u G ⁇ l ⁇ fc of the cryptocoder 203 to be reconstructed is interpreted as realizing the random variable U, since the receiving part knows nothing about the choice of u.
  • the output c G ⁇ l ⁇ n of the channel encoder 204 is therefore a realization of the random variable ⁇ (U).
  • the output y G E "of the demodulator 207 is implemented as the random variable
  • Y ⁇ ⁇ E n , ⁇ ⁇ ⁇ (U ( ⁇ )) + Z ( ⁇ ), (9) interpreted, whereby the random variable Z: ⁇ ⁇ E n represents the channel interference.
  • Z is then a .N (0, ⁇ 2 / n ) normally distributed random variable, which is also stochastically independent of U or ⁇ (U).
  • the variance ⁇ 2 is calculated from the ratio of noise power density and mean energy on the channel.
  • the denominator of this formula is independent of ü, while the Zäliler becomes maximum when (y - ⁇ (ü)) ⁇ (y - ⁇ (ü)) becomes minimal.
  • the target function sought can therefore be defined as follows: F: ⁇ l ⁇ k ⁇ E,
  • This objective function is also referred to as the maximum likelihood function.
  • the given block code is transformed into an equivalent systematic block code in such a way that the information bits Ui with the smallest indices are assigned to the largest components of the demodulation result y, i.e. the "safest" bits are decoded first.
  • a position of the code word can be assigned a +1 (see edge 402) or a -1 (see edge 404).
  • the number of nodes corresponds to the number of digits in the code word, with each node except for the lowest being assigned to ⁇ 1.
  • the lowest nodes represent all possible assignments of the code word. The more branches you can cut off in the tree of Fig. 4, i.e. you do not have to calculate explicitly down to the lowest level, the greater the computing time saved.
  • G AG, A e ⁇ l ⁇ k ' k regular, GG ⁇ l ⁇ k > n , (16)
  • the algorithm defines another bijective map p: ⁇ 1, ..., k ⁇ - ⁇ 1, ..., k ⁇ with the property
  • FIG. 5 shows a first variant of an algorithm for systematization in pseudocode notation.
  • the algorithm is understandable in itself. It should be noted here that the algorithm from FIG. 5 terminates because the matrix G has the full rank k.
  • a pq G causes the addition of the ⁇ th line from G to the pth line of G.
  • u ⁇ A pq causes the addition of the pth element of u to the ⁇ th element of u
  • the generation of the starting point ü ° is already included in the algorithm, since the data management of the mapping r can thus be dispensed with.
  • the target function (14) must be adapted accordingly.
  • the function F is broken down as follows:
  • S b (ü) sums those S j (ü) that can be calculated if the bits ü p ( i ) , ..., ü p ⁇ are known, and L b sums up the remaining estimates.
  • FIG. 9 shows a first variant of a branch-and-bound algorithm in pseudocode notation.
  • the set M with tuples (b, ü, F, S), b G ⁇ 1,. , , , k - 1 ⁇ , ü G ⁇ l ⁇ fc , F, SGE, as elements represent a FILO cellar (First In, Last Out).
  • F m ; n 0 preferably a comparison F m j n ⁇ barrier should be used.
  • FIG. 10 shows A second variant of the branch-and-bound algorithm in FIG. 10. If you look at the use of the basement storage, you can see that the components of the current u match the respective basement elements up to the p (&) element. Therefore, a more effective implementation of the basement storage offers itself with which many operations can be saved.
  • the method described above is illustrated again in FIG. 11 on the basis of its functional blocks.
  • the described “soft decision” decoder 801 comprises the logic units 802 to 806 and is connected between the demodulator 807 and the cryptocoder 808 (for further details within the channel encoder see also FIG. 3).
  • An alternative embodiment is the determination of a so-called starting point as a decoded code word.
  • This starting point is itself used as the result of the decoding and is not, as described above, further improved by means of an optimization method (e.g. branch and bound method).
  • An algorithm in pseudocode notation for particularly efficient determination of the starting point is shown in Fig.12.
  • the algorithm terminates because the matrix G has the full rank k.
  • the matrix A pq G ⁇ l ⁇ k> k is the kx / c unit matrix with an extra element -1 in the pq position.
  • a pg G causes the addition of the qth line from G to the pth line of G.
  • u ⁇ causes the addition of the pth element of u to the ⁇ th element of u.
  • FIG. 13 shows a processor unit PRZE which is suitable for performing transformation and / or compression / decompression.
  • the processor unit PRZE comprises a processor CPU, a memory SPE and an input / output interface IOS, which is used in different ways via an interface IFC: output is visible on a monitor MON and / or on a printer via a graphic interface PRT issued. An entry is made using a mouse MAS or a keyboard TAST.
  • the processor unit PRZE also has a data bus BUS, which ensures the connection of a memory MEM, the processor CPU and the input / output interface IOS.
  • additional components can be connected to the data bus BUS, e.g. additional memory, data storage (hard disk) or scanner.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

Es wird ein Verfahren zur Decodierung eines vergegebenen Codeworts angegeben, bei dem für jede Stelle (jedes Bit) des Codeworts ein Soft-Wert vorliegt. Diese Soft-Werte werden gemäss ihrer Zuverlässigkeit (nach einem vorgegebenen Sortierkriterium) sortiert. Anhand der sortierten Soft-Werte wird die Decodierung des Codeworts durchgeführt.

Description

Beschreibung
Verfahren und Anordnung zur Decodierung eines vorgegebenen Codeworts
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Decodierung eines vorgegebenen Codeworts.
Bei der Decodierung eines Codeworts, das eine vorgegebene Anzahl Stellen aufweist, sollen die informationstragenden Stellen möglichst vollständig wiederhergestellt werden.
Die Decodierung findet auf der Seite des Empfängers statt, der das Codewort über einen gestörten Kanal empfangen hat. Signale werden insbesondere als Boolesche Werte, bevorzugt unterteilt in +1 und — 1, über den Kanal übertragen, erfahren dort eine Störung und werden von einem Demodulator in analoge Werte umgesetzt, die mehr oder weniger stark von den vorgegebenen Booleschen Werten (±1) abweichen können.
Allgemein wird ausgegangen von k Stellen binärer Information („Informationsbits") u € {±l}fe ohne Redundanz, die von einem Kanalcodierer mittels systematischen Blockcodes oder unsystematischen Blockcodes in ein Codewort c G {±1}" abgebildet wird. Dabei enthält das Codewort n — k Bits (auch: „Prüfbits"), die als redundante Information zu den n Informationsbits zur Wiederherstellung der Information nach Übertragung über den gestörten Kanal einsetzbar sind.
Der systematische Blockcode fügt zu den n Informationsbits n — k Prüfbits hinzu, die aus den Informationsbits errechnet werden, wobei die Informationsbits selbst unverändert bleiben, wohingegen beim unsystematischen Blockcode die Informationsbits selbst verändert werden, bspw. steckt die Information in einer von einer zur nächsten Stelle durchgeführten Operation. Auch hier sind Prüfbits zur Rekonstruktion der in den Operationen versteckten Information vorgesehen.
Nun ist es entscheidend von Nachteil, eine Zuordnung des empfangenen Codeworts (mit den mit analogen Werten belegten Stellen) „hart" zu decodieren, d.h. jede Stelle dem jeweils naheliegendsten Booleschen Wert zuzuordnen, da hierbei wertvolle Information verloren geht.
Die Aufgabe der Erfindung besteht darin, im Rahmen einer Decodierung eines vorgegebenen Codeworts analoge Werte (sogenannte „Soft-Werte") zur Rekonstruktion der übertragenen Information möglichst optimal auszunutzen. Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche gelöst. Weiterbildungen der Erfindung ergeben sich auch aus den abhängigen Ansprüchen.
Zur Lösung der Aufgabe wird ein Verfahren zur Decodierung eines vorgegebene Codeworts angegeben, bei dem für jede Stelle (jedes Bit) des Codeworts ein Soft- Wert vorliegt. Diese Soft-Werte werden gemäß ihrer Zuverlässigkeit (nach einem vorgegebenen Sortierkriterium) sortiert. Anhand der sortierten Soft-Werte wird die Decodierung des Codeworts durchgeführt.
Dabei ist es eine Weiterbildung, daß die ersten Elemente der Sortierung die besten, d.h. zuverlässigsten Soft-Werte sind. In diesem Fall entspricht das Sortierkriterium einer Güte der Soft-Werte.
Ein besonderer Vorteil besteht daxin, daß in den besten (oder in ausreichend guten) Soft- Werten die „sichersten" Werte zur Decodierung des Codeworts eingesetzt werden. Soft-Werte zeichnen sich dadurch aus, daß sie beliebige (analoge) Werte annehmen können, die auf einen geeigneten digitalen Wert abzubilden sind. Sind die beiden digitalen Größen durch die Werte +1 und —1 dargestellt, so hat ein Soft- Wert +0, 1 eine höhere Fehlerwahrscheinlichkeit bei Zuordnung zu +1 als ein Soft- Wert +10. Genau diese Tatsache wird ausgenutzt, wenn man die (betragsmäßig) besten bzw. ausreichend gute Soft- Werte zur Decodierung des Codeworts einsetzt.
Eine andere Weiterbildung besteht darin, daß das Codewort n Stellen aufweist, wobei k der n Stellen (sinnvoll: k < n) Informationen („Informationsbits") und n — k Stellen Redundanzinformation enthalten. Somit ist es möglich, anhand einer Anzahl k Stellen (die Anzahl k Stellen kann beliebige Stellen aus den n Stellen umfassen) die Information zu rekonstruieren. Die Redundanzinformation ist insbesondere deshalb dem Codewort beigefügt, um bei Störung einzelner Stellen, diese Stellen mit hoher Sicherheit dennoch richtig rekonstruieren zu können. Werden die Anzahl k besten Stellen zur Decodierung des Codeworts eingesetzt, so ist mit großer Wahrscheinlichkeit anhand dieser Stellen das Codewort richtig decodierbar.
Damit ist es auch eine Weiterbildung, daß die Größe der Menge bestimmt ist durch die Anzahl k der Stellen der Information (sbits).
Die Transformationsvorschrift umfaßt eine Regel, die es ermöglicht, die Redundanzinformation (Redundanzbits) derart auszunutzen, daß dadurch Informationsbits (mit möglichst hoher Sicherheit/Wahrscheinlichkeit) rekonstruiert werden können. Durch die Verwendung der k besten (oder ausreichend guten) Stellen im Codewort findet eine Umsortierung statt, die Einfluß auf die Transformations Vorschrift derart nimmt, daß eine äquivalente transformierte Codierung entsteht, deren Informationsbits an den Stellen des Codeworts stehen, bei denen die besten (oder ausreichend gute) Soft-Werte vorliegen. Demnach muß die Transformationsvorschrift derart modifiziert werden, daß eine Gesamtinformation (also: Informationsbits, Redundanzbits, Regel der Transformationsvorschrift) die Rekonstruktion der ursprünglich interessierenden Information (die k Bits) ermöglicht.
Handelt es sich bei der Codierungsvorschrift um eine Generatormatrix eines Blockcodes, so ist diese derart umzustellen, daß durch die besten (bzw. die ausreichend guten) Soft-Werte die ursprüngliche Information wiederhergestellt werden kann. Dazu sind die Schritte der Transformation abzuspeichern, um bei der Rekonstruktion der Information die richtigen Stellen innerhalb des Codeworts identifizieren zu können.
Der Blockcode kann insbesondere ein in der Nachrichtentechnik eingesetzter Code zur Übertragung von Informationen über eine Kommunikationsschnittstelle, insbesondere eine Funkschnittstelle sein.
Eine besondere Ausgestaltung besteht darin, daß das ursprünglich ermittelte Codewort schrittweise verbessert wird, indem die folgenden Vorschriften abgearbeitet werden:
1. der Blockcode wird anhand einer Transformationsvorschrift in einen äquivalenten systematischen Blockcode transformiert, so daß diejenigen Stellen mit kleinsten Indizes den betragsmäßig größten Soft- Werten zugeordnet werden;
2. es werden sukzessive die k Informationsbits unter Verwendung der Soft- Werte mittels einer Optimierungsmethode bestimmt;
3. die gefundenen Informationsbits werden entsprechend der inversen Transformationsvorschrift zurücktransformiert.
Dabei ist es eine Weiterbildung, daß die Optimierungsmethode ein „Branch- and-Bound"- Verfahren ist.
Eine zusätzliche Weiterbildung besteht darin, daß die Soft-Werte eine Ausgabe eines Demodulators sind.
Auch ist es eine Weiterbildung, daß die Soft-Werte die Soft-Outputs eines vorgeschalteten Soft-Output-Decoders sind. Auch wird zur Lösung der Aufgabe eine Anordnung zur Decodierung eines vorgegebenen Codeworts angegeben, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, daß
1. das Codewort mehrere Stellen mit Soft- Werten umfaßt;
2. aus den Soft- Werten eine Menge von Soft- Werten bestimmbar ist, indem eine Sortierung nach einem Sortierkriterium durchgeführt wird;
3. anhand der Menge der Soft-Werte die Decodierung des Codeworts erfolgt.
Diese Anordnung ist insbesondere geeignet zur Durchführung des erfindungsgemäßen Verfahrens oder einer seiner vorstehend erläuterten Weiterbildungen.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung dargestellt und erläutert.
Es zeigen
Fig.l eine Decodiereinheit aus einer Rundungseinheit und einem Hard- Decision-Decoder;
Fig.2 einen Soft-Decision-Decoder;
Fig.3 ein Blockschaltbild mit Einheiten zur digitalen Nachrichtenübertragung;
Fig.4 eine Baumstruktur mit Knoten und Kanten;
Fig.5 einen Algorithmus zur Systematisierung (Variante 1);
Fig.6 einen Algorithmus zur Systematisierung (Variante 2);
Fig.7 einen Algorithmus zur Rücktransformation;
Fig.8 zwei Hilfsalgorithmen;
Fig.9 einen Branch-und-Bound-Algorithmus (Variante 1);
Fig.10 einen Branch-und-Bound-Algorithmus (Variante 2);
Fig.11 ein Blockbild mit Komponenten eines Soft-Decision-Decoders;
Fig.12 ein Algorithmus zur Startpunktgenerierung;
Fig.13 eine Prozessoreinheit. In der Nachrichtentechnik werden überwiegend binäre lineare Blockcodes zur Nachrichtenübertragung verwendet. Der Empfänger einer Nachricht muß aufgrund der empfangenen Daten (Demodulationsergebnis) und der Kenntnis über den verwendeten binären Blockcode die abgesandte Nachricht rekonstruieren (decodieren).
Mit Ausnahme von speziellen Blockcodes (Faltungscodes) werden bisher die oftmals vom Demodulator gelieferten reellen Werte („weiche" Daten) auf „harte" ±1 Werte gerundet. Diese harten Werte sind dann Grundlage einer Hard- Decision-Decodierung.
In Fig.l ist gezeigt, daß in einem Block 101 eine Rundung durchgeführt wird, indem Soft-Werte y € Mn zu „harten" Werten c £ {±l}n gerundet werden. Dabei gehen durch den Vorgang des Rundens u.U. Daten verloren, da in einem Block 102 in der Hard-Decision-Decodierung nur das Ergebnis der „harten" Entscheidung zur Verfügung steht.
Zur Erzielung einer optimal niedrigen Fehlerrate wird nun eine allgemeine „Soft-Decision" Decodierungsmethode vorgestellt, die die Decodierungs- entscheidung aufgrund der empfangenen „weichen" Daten trifft (vergleiche Fig.2).
Eingangsdaten für das im folgenden beschriebene Verfahren können nicht nur die direkten Ergebnisse der Demodulation sein, sondern auch Soft-Werte eines vorgeschalteten Decodierers bei verketteten Codes.
Codedefinition (Binärer linearer Blockcode)
Im folgenden werden die Bits des Codes in {±l}-Repräsentation betrachtet. Im Vergleich zu einer informationstechnisch oft üblichen {0, 1 ^Repräsentation korrespondiert —1 mit 1 und 1 mit 0.
Auf dem Körper {±1} sind die Addition © und die Multiplikation Θ wie folgt definiert:
-l θ -l = 1 — 1 © — 1 = — 1
-l θ 1 = -1 -1 0 1 = 1 l θ -l = -l 1 0 -1 = 1 l φ 1 = 1 1 0 1 = 1 Ein allgemeiner binärer linearer (n, fc)-Blockcode mit k, n <E N, 1 < k < n ist durch eine injektive lineare (Codierungs-)Abbildung φ : {±l}fc → {±1}", u --» c = φ(u), (1) definiert.
Im folgenden wird u € {±l}fc als krypto-codiertes Wort (oder uncodiertes Wort) bezeichnet, während c = ψ(u) € {±1}" als kanalcodiertes Codewort benannt wird.
Da φ eine lineare Abbildung auf endlich dimensionalen Räumen ist, läßt sich die Codierungsvorschrift mittels einer (Generator-)Matrix G 6 {±l}fc,n darstellen: c = φ(u) = Gτu. (2)..
Aus der Injektivität der Codierungsmatrix folgt sofort, daß die Generatormatrix G vollen Rang k besitzt.
Alternativ zur Darstellung der Abbildung über die Generatormatrix können charakterisierende Mengen
J . . . , Jn {l, . . . , k}, (3) betrachtet werden, die über
Jj = {i £ {!, . . . , k}; Gtj = -1}, für 1 < j < n. (4) definiert sind, d.h.
Cj = φ u für 1 < j < n. (5)
Figure imgf000008_0001
Betrachtet man {±1} als Teilmenge von E, so gilt
Cj = [ Ui, für 1 < j < n. (6) i£Jj
Numerisch und technisch sinnvolle Codierungsabbildungen sind in der Regel so konstruiert, daß sie eine Reihe weiterer Eigenschaften besitzen, die Fehler bei der Decodierung unwahrscheinlicher machen (großer Hamming- Abstand, etc.). Der später vorgestellte Decodierungsalgorithmus setzt aber keine zusätzlichen Anforderungen voraus, d.h., das Verfahren ist durchführbar, wenngleich das erzielbare Ergebnis natürlich von der Codequalität abhängt.
Ein binärer linearer Blockcode heißt systematisch, wenn
J, = {j}, ϊür l ≤ j ≤ k (7) gilt. Die Informationsbits Ui sind dann mit den ersten k Codebits identisch. Die übrigen n — k Codebits werden auch als Prüfbits bezeichnet.
Im folgenden wird ein erweiterter Systematisierungsbegriff verwendet, bei dem eine beliebige Auswahl von k Mengen J- jeweils genau ein Element enthält, d.h., bei entsprechender Umsortierung liegt dann ein gewöhnlicher systematischer Blockcode vor.
Beispiel: Fire-Code des SACCH-Mobilfunkcodes
Der in der GSM Technical Specification GSM 05.03 Version 5.2.0 (Channel coding) im Abschnitt 4.1.2 beschriebene binäre lineare Blockcode, ein Teil des SACCH-Codes (Slow associated control Channel), codiert 184 Informationsbits zu 224 Codebits. Der Code ist systematisch, d.h., die ersten 184 Codebits sind mit den Informationsbits identisch. Die 40 restlichen Prüfbits werden durch eine Systematisierung nach Konstruktion über ein Generatorpolynom definiert.
Zielfunktion
Es wird hier eine Zielfunktion (Bewertungsfunktion)
F : {±1}* → E (8) hergeleitet, die zur Bewertung von Wörtern ü 6 {±l}fc verwendet wird. Das Wort ü mit dem kleinsten Funktionswert F(ü) soll unter der Bedingung, daß y empfangen wurde, das wahrscheinlichste Wort sein, das vom Sender codiert wurde. Voraussetzungen
Fig.3 zeigt eine Darstellung zur digitalen Nachrichtenübertragung. Eine Einheit aus Quelle 201, Quellencodierer 202 und Kryptocodierer 203 bestimmt eine Information u G {±l}fc, die als Eingabe für einen (ggf. auch mehrere) Kanalcodierer 204 dient. Der Kanalcodierer 204 erzeugt ein Codewort c G {±1}", das in einen Modulator 205 eingespeist und über einen gestörten physikalischen Kanal 206 zu einem Empfänger übertragen wird, wo es in einem Demodulator 207 zu einem reellwertigen Vektor y G E" bestimmt wird. Dieser Vektor wird in einem Kanaldecodierer 208 zu einem Wort ü G {±l}fc decodiert. Das technische Ziel der Codierung/Decodierung liegt darin, die Wahrscheinlichkeit zu maximieren, daß das Wort ü mit dem ursprünglichen Wort u identisch ist. Eine Einheit aus Kryptodecoder 209, Quellendecoder 210 und Senke 211 komplettiert den Empfänger. Die beiden Einheiten Kryptocodierer 203 und Kryptodecoder 209 sind dabei optional.
Es werden ein Wahrscheinlichkeitsraum (Ω, S, P) und eine /c-dimensionale Zufallsvariable U : Ω → {±l}fc mit den Eigenschaften
• Die Komponenten
Figure imgf000010_0001
, . . . , Uk '■ Ω -> {±1} sind stochastisch unabhängig-
• Für i = 1, . . . , k gilt
P ({ω G Ω; Ui(ω) = -1}) = P ({ω G Ω; U{(ω) = +1» .
betrachtet.
Die zu rekonstruierende Ausgabe u G {±l}fc des Kryptocodierers 203 wird als Realisierung der Zufallsvariablen U interpretiert, da der Empfangsteil nichts über die Wahl von u weiß.
Die Ausgabe c G {±l}n des Kanalcodierers 204 ist also eine Realisierung der Zufallsvariablen φ(U).
Die Ausgabe y G E" des Demodulators 207 wird als Realisierung der Zufallsvariablen
Y : Ω → En, ω ^ φ(U(ω)) + Z(ω), (9) interpretiert, wobei die Zufallsvariable Z : Ω → En die Kanalstörung repräsentiert. Im folgenden wird ein AWGN (Additive Gaussian White Noise) Kanalmodell angenommen, d.h., Z ist dann eine .N(0, σ2/n) normalverteilte Zufallsvariable, die zudem stochastisch unabhängig von U bzw. φ(U) ist. Die Varianz σ2 berechnet sich aus dem Verhältnis von Rauschleistungsdichte und mittlerer Energie auf dem Kanal.
Bedingte Wahrscheinlichkeiten
Berechnet werden soll die Wahrscheinlichkeit w(ü, y), daß ein ü G {±l}fc beziehungsweise c = φ(ü) gesendet wurde unter der Bedingung, daß y G E" empfangen wurde, also w (Ü, y) = P ({ω G Ω; U(ω) = ü) \ {ω G Ω; Y(ω) = y}) (10)
Zur Herleitung betrachte man für e > 0 Mengen
My,t := [ϊ/i, yi + e] x . . . x [yn, yn + e] (11)
und we{ύ, y) := P ({ω G Ω; U(ω) = ü} \ {ω G Ω; Y(ω) G MVte}) = P ({u. G Ω; Y(ω) G My,t} | {u, G Ω; (ω) = fi}) P {{ω G Ω; ^ = U})
P ({ω £ Ϊl; Y(ω) e My≠})
P ({ω G Ω; U(ω) = ü}) P ({ω G Ω; Y(ω) G My,e} | { G Ω; -7( ) = ά})
∑ P ({ω G Ω; U(ω) = u}) P ({ω G Ω; Y(ω) G y; | {ω G Ω; t/(ω) = u}) ueiii}*
J" exp (- (-c-ι,p(ύ))τ(j-y( M 2<τ2 dx
(12)
∑ / exp (-(^^C)) ») ) dx
Betrachtet man nun durch mehrfache Verwendung der Regel von L'Hospital den Grenzübergang von we(ü, y) für e , 0, so erhält man
Figure imgf000011_0001
Der Nenner dieser Formel ist unabhängig von ü, während der Zäliler maximal wird, wenn (y — φ(ü))τ(y — ψ(ü)) minimal wird.
Die gesuchte Zielfunktion kann also wie folgt definiert werden: F : {±l}k → E,
(14)
Figure imgf000012_0001
Diese Zielfunktion wird auch als Maximum- Likelihood-Funktion bezeichnet.
Durchführung
Bei jeder empfangenen Nachricht ist jeweils ein Wort ύ G {±1}* gesucht mit der Eigenschaft
F(ü) < F(u) für alle u G {±l}fc. (15)
Um nicht alle 2k Wörter untersuchen zu müssen (bei großen k numerisch nicht möglich), wird hier ein „Branch-and-Bound"-Algorithmus vorgestellt, der die Zahl der zu untersuchenden Wörter stark reduziert. Zudem kann der Algorithmus zu jeder Zeit ein bis dahin bestes Codewort als Ergebnis liefern.
Das Verfahren geht mit folgenden Schritten vor:
1. „Code-Umsortierung" / „Code-Systematisierung":
In einem ersten Schritt wird der gegebene Blockcode derart in einen äquivalenten systematischen Blockcode transformiert, daß die Informationsbits Ui mit den kleinsten Indizes den betragsgrößten Komponenten des Demodulationsergebnisses y zugeordnet werden, d.h. die „sichersten" Bits werden zuerst decodiert.
2. Im Codebaum (vergleiche Fig.4) werden sukzessive die Informationsbits üi festgelegt (Branch). Durch Betrachtung von unteren Schranken für die bislang unbekannten Bestandteile der Bewertungsfunktion F können ganze Unterbäume ohne explizite Auswertung verworfen werden (Bound). Ausgehend von einem Knoten 401 kann eine Stelle des Codeworts einer +1 (vgl. Kante 402) oder einer -1 (vgl. Kante 404) zugeordnet werden. Im ersten Fall gelangt man zu einen Knoten 403, im zweiten Fall zu einem Knoten 405. Die Anzahl der Knoten entspricht der Anzahl der Stellen im Codewort, wobei an jedem Knoten bis auf den jeweils untersten eine Zuordnung zu ±1 getroffen wird. Die jeweils untersten Knoten repräsentieren alle vollständig möglichen Belegungen des Codeworts. Je mehr Äste man in dem Baum von Fig.4 abschneiden kann, also nicht explizit bis zur untersten Ebene durchrechnen muß, desto größer ist auch die Rechenzeiteinsparung.
3. Rücktransformation des Decodierungsergebnisses in den Originalcode.
Diese Schritte werden nachfolgend eingehend beschrieben.
C o de- Sy st emat isier ung
Vorgehensweise
Zu einem beliebig, aber fest gewählten krypto-codierten Codewort u G {±l}fc mit kanalcodiertem Codewort c G {±l}n, cτ := uτG, und einem beliebig, aber fest gewählten Demodulationsergebnis y G En soll der Code nun so systematisiert werden, daß c$ = ü .. für die Indizes i mit den betragsgrößten Vi ilt.
Es wird also folgende Darstellung der Generatormatrix G betrachtet:
G = AG, A e {±l}k'k regulär, G G {±l}k>n, (16)
wobei k Spalten von G aus den k Einheitsvektoren bestehen. Die Wahl der Spalten j soll möglichst den Indizes der betragsgrößten yj entsprechen. Die Multiplikation von links mit A bedeutet auf dem Körper {±1} eine Abfolge von Zeilenadditionen der Matrix G.
G ist die Generatormatrix eines speziell systematisierten Codes: cτ = uτG = A. G. (17)
=:ÜT
Es gilt dann nach Konstruktion üi = cτ(i), i = l, . . . , k, (18) wobei τ : {1,... ,k} — » {1,... ,n) möglichst auf die Indizes der betragsgrößten r/τ(j) abbildet. Im folgenden werden analog zu G die zu G gehörigen charakterisierenden Mengen
Jι,... ,JnQ{l,... ,k} (19) betrachtet, also
Jj := {* G {1, ... , k} Gij = -1}, für 1 < j < n. (20)
Weitere Vorgehensweise:
1. Decodiere y über den durch G systematisierten Code zu einem ü G {±1}*.
2. Bestimme das Codewort u G {±1}* mit
Figure imgf000014_0001
Algorithmus der Systematisierung
Betrachte eine bijektive Abbildung (Sortierung) μ : {1, ... , n) — >• {1, ... , n) mit
Figure imgf000014_0002
Alle Zeilenadditionen werden durch Tupel αm {1,... ,k} x {1,... ,k}, = l,... ,α (23) protokolliert, wobei α G N0 die Anzahl der Zeilenadditionen ist und (p, q) = am bedeutet, daß die q-te Zeile zur p-ten Zeile addiert wurde.
Der Algorithmus definiert eine weitere bijektive Abbildung p : {1, ... , k} — {1, ... , k} mit der Eigenschaft
|ϊ/τ(p(β))| ≥
Figure imgf000014_0003
l ≤s<k-l. (24)
Diese Eigenschaft wird im Branch-and-Bound- Algorithmus eingesetzt. Man betrachte weiterhin die Projektionsabbildung π:E→ {±1}
+1, für x > 0, 1, für x < 0. y J Der nachfolgende Algorithmus generiert zusätzlich einen „Startpunkt" ü°, der als erstes approximatives Decodierungsergebnis verwendet werden kann. ü° wird so konstruiert, daß gilt: ü° -= π (yτ(i)) , für i = 1, . . . , /-, (26)
Damit werden die möglichst „besten" Komponenten von y zu ü° gerundet.
In Fig.5 ist eine erste Variante eines Algorithmus zur Systematisierung in Pseudocode-Notation angegeben. Der Algorithmus ist aus sich heraus verständlich. Hierbei sei bemerkt, daß der Algorithmus aus Fig.5 terminiert, da die Matrix G den vollen Rang k aufweist.
Die Matrix Apq G {±l}fc'fe sei die k x /c-Einheitsmatrix mit Extra-Element — 1 in der p-q- Position.
Dann bewirkt ApqG die Addition der ς-ten Zeile von G zur p-ten Zeile von G. uτApq bewirkt die Addition des p-ten Elements von u zum ς-ten Element von u
Nach Durchführung des Algorithmus aus Fig.5 gilt:
G = ACtaAaa_1 . . . Aa2A G. (27)
X s/-
=A~
Im Algorithmus ist die Generierung des Startpunkts ü° bereits enthalten, da so auf die Datenhaltung der Abbildung r verzichtet werden kann.
Der numerische Aufwand beträgt
• O(n logn) Fließkomma-Operationen (Sortierung μ) und
• 0(k n) Binär-Operationen.
Zweite Variante eines Algorithmus zur Systematisierung
In obigem Verfahren wurde eine vollständige Diagonalisierung der Matrix G beziehungsweise G durchgeführt. Bei der im weiteren vorgestellten Implementierung eines Branch-and-Bound-Verfahrens werden zugehörige Indexmengen Jj an Stelle der Matrix G verwendet. Abhängig von der Art des verwendeten Codes können durch die folgende zweite Variante des Systematisierungs- Algorithmus numerische Operationen eingespart werden. Dabei werden die „Einheitsspalten" nicht mehr tatsächlich zu Einheitsvektoren transformiert, sondern die nötigen Operationen lediglich protokolliert. Weiterhin muß keine Kopie der Matrix G angelegt werden (die Spalten werden sukzessive kopiert). Bei linearen Abhängigkeiten werden allerdings zusätzliche Operationen notwendig, da Indizes dann doppelt behandelt werden (festgehalten in der Hilfsmenge R).
Es werden 0(k2) numerische Operationen eingespart. Da auch die Datenhaltung günstiger ist, sind die Einspareffekte in der praktischen Anwendung aber deutlich höher. Fig.6 zeigt die zweite Variante des Algorithmus in Pseudocode-Notation.
Rückrechnung in den Originalcode
Sei ü G {±l}fc das krypto-codierte Codewort, für welches mit der Generatormatrix G gilt: cτ = üτG. (28)
Das mit Original-Generatormatrix G codierte u berechnet sich dann sehr einfach wie folgt:
UΎ = üτA_1 (29)
= u AaaAa<x_l . . . Aa2 A . (30)
Die Rücktransformation in Pseudocode-Notation zeigt Fig. .
„Branch-und-Bound" -Verfahren
Zur Bewertung von Decodierungskandidaten ü G {±1}* bezüglich des systematisierten Codes muß die Zielfunktion (14) entsprechend angepaßt werden. Mit uτ = üτA_1 könnte man eine angepaßte Zielfunktion so definieren, daß F(Ü) = F(u) wäre. Die Funktionen F(Ü) := ^F(u) - const besitzen den identischen Minimierer und können mit einer kleineren Zahl von Operationen ausgewertet werden (wie im folgenden zu sehen).
Man betrachtet also die Funktion
F : {±1}A
Figure imgf000016_0001
Mit uτ = MT_4_1 gilt somit
Figure imgf000017_0001
Im folgenden wird die Funktion F so zerlegt, daß sich untere Schranken angeben lassen, wenn nur die ersten Komponenten des Arguments ü festgelegt sind. Diese Schranken können dann im Branch-and-Bound Algorithmus zur Verwerfung von Unterbäumen eingesetzt werden.
Die Funktion F wird wie folgt zerlegt:
Figure imgf000017_0002
n n n
= ∑ lϊ/j l " ∑ i θ «i = 7 - ∑ (ü). (33) i=ι i=1 ieJ i=ι
Im weiteren sollen untere Schranken Eh(ü) von F(Ü) angegeben werden, wenn die ersten b Bits aus ü einen fest gewählten Wert haben und der Rest noch offen ist. Die Bits sollen im Branch-and-Bound Verfahren sukzessive nach der Sortierung p gewählt werden.
Dabei wird definiert:
Figure imgf000017_0003
:= max ({p_ 1 (i); i G J ) (34) und für 0 < b < k, 1 < j < n, ü G {±l}k:
{yj θ üi für max(p-1 (Jj)) < b, * (35)
\yj\, sonst.
Dann gilt
Figure imgf000017_0004
= *?(«) ≥ sj l(ü) > . . . ≥ sk(ü) = Sj(ü). (36)
Als untere Schranken von F(ü) werden bestimmt n
Figure imgf000017_0005
also
7 " ∑
Figure imgf000018_0001
= F°(ü) ≤F'(ü)≤...≤ Fk(ü)
Figure imgf000018_0002
Bei der Berechnung von Fb(ü) werden nur die Komponenten üp(i), ■ ■ ■ , üp(&) von t- verwendet.
Zur Einsparung numerischer Operationen im nachfolgenden Algorithmus definiert man für 0 < b < k:
Kb := j G {1, ... , n}; max^1^)) = b , (39)
6
Figure imgf000018_0003
t=l
Lb:= ∑ \yj\, (41) je{l,...,n}\Kb
Sb(ü) :=
Figure imgf000018_0004
jeκb
Figure imgf000018_0005
Dabei summiert Sb(ü) diejenigen Sj(ü), die bei Kenntnis der Bits üp(i), ... , üp^ berechnet werden können und Lb summiert die restlichen Abschätzungen.
Es gilt also
Fb(ü)=1-Lb-Sb(ü), (44) und Lb und Sb(ü) berechnen sich rekursiv wie folgt: n
Figure imgf000018_0006
5°(ü) = 0, (47)
Sb(ü) = Sb~l(ü) + ∑ Sj(ü) = S'-'iü) + Ab(ü), l<b<k. (48) Die von ü unabhängigen Größen können zusammengefaßt werden zu
7 6 := 7 - Lb, 0 < b < k. (49)
Somit gilt
Figure imgf000019_0001
und
7° = 7 - ° = ∑ N - ∑ l%l = 0, (51)
Figure imgf000019_0002
Für ü G {±1}* und ein fest gewähltes b G {1, . . . , k} betrachte man ü+, ü~ G {±l}fc mit üf = üi und ü~ = ti; für z ≠ (ft). Es sei ü ,bκ := +1 und {b) := -1.
Nach Definition ist p(δ) G J,- für alle j G -fCfc. Somit gilt Sj~) = — Sj+) für G -ftTfc und somit
Ab~) = -Ab+). (53)
Es folgt weiter mit δ$ '■= Ab~) 6(ü-) = 56-1 («) + 5s, (54)
Sb+) = S"-1 (ü) - δs. (55)
Nach Definition (33) ist die Zielfunktion nach unten durch 0 beschränkt, d.h., falls F(Ü) = 0, dann ist ü ein Minimierer von F.
In Fig.8 sind je ein Algorithmus zur Indexmengen-Berechnung und zur Berechnung von Ab(ü) dargestellt.
Fig.9 zeigt eine erste Variante eines Branch-und-Bound-Algorithmus in Pseudocode-Notation. Die Menge M mit Tupeln (b, ü, F, S), b G {1, . . . , k - 1}, ü G {±l}fc, F, S G E, als Elemente repräsentiert dabei einen FILO-Keller (First In, Last Out). Hierbei sei darauf hingewiesen, daß aus numerischen Gründen in der Implementierung statt des Vergleichs Fm;n = 0 bevorzugt ein Vergleich Fmjn < schranke eingesetzt werden sollte. Eine zweite Variante des Branch-und-Bound-Algorithmus ist in Fig.10 dargestellt. Betrachtet man die Nutzung des Kellerspeichers, so erkennt man, daß die Komponenten des aktuellen u's mit den jeweiligen Kellerelementen bis zum p(&)'ten Element übereinstimmen. Daher bietet sich eine effektivere Implementierung des Kellerspeichers an mit der sich viele Operationen einsparen lassen.
Man betrachte dazu die Menge M mit Tupeln (b, ß, F, S), b £ {l, . . . , k — 1}, ß G {±1}, F, S G E, als Elementen, die einen FILO-Keller (First In, Last Out) repräsentiere. Wieder sei darauf verwiesen, daß bevorzugt aus numerischen Gründen in der Implementierung statt des Vergleichs Fmjn = 0 besser Fmin < schranke eingesetzt werden sollte.
In Fig.11 ist das oben beschriebene Verfahren nochmals anhand seiner funktionalen Blöcke veranschaulicht. Der beschriebene „Soft-Decision"-Decodierer 801 umfaßt die logischen Einheiten 802 bis 806 und ist zwischen Demodula- tor 807 und Kryptocodierer 808 geschaltet (für weitere Details innerhalb des Kanalcodierers siehe auch Fig.3).
Startpunkt- Verfahren
Eine alternative Ausführungsform ist die Bestimmung eines sog. Startpunkts als decodiertes Codewort. Dieser Startpunkt wird selbst als Ergebnis der Decodierung eingesetzt und nicht, wie oben beschrieben, mittels eines Optimierungsverfahrens (z.B. Branch-und-Bound-Verfahren) weiter verbessert. Ein Algorithmus in Pseudocode-Notation zur besonders effizienten Ermittlung des Startpunkts ist in Fig.12 dargestellt.
Der Algorithmus terminiert, da die Matrix G den vollen Rang k besitzt.
Die Matrix Apq G {±l}k>k sei die k x /c-Einheitsmatrix mit Extra-Element —1 in der p-q- Position.
Dann bewirkt ApgG die Addition der q-ten Zeile von G zur p-ten Zeile von G. uτApq bewirkt die Addition des p-ten Elements von u zum ς-ten Element von u.
Nach Durchführung des obigen Algorithmus gilt:
G = AaaAaa_l . . . ACC2A G (56) v v .
-=-4- ' und folglich ur = ÜΎA~ 1 (57)
= üτAaaAaa_1 . . . Aa2A . (58)
Diese Rückrechnung ist in obiger Pseudocode-Notierung bereits enthalten, wobei u und ü beide mit ü bezeichnet sind.
Der numerische Aufwand zur Berechnung beträgt
• O ( log ) Fließkomma-Operationen (Sortierung //) und
• im worst case O (/c3) Binär-Operationen und im best case O (k2) Binär- Operationen.
Der oben beschriebene Algorithmus „Systematisierung (Variante 2)" benötigt O (k2 ) Binär-Operationen. Zudem ist der konstante Faktor in der Komplexitätsbetrachtung in der puren Startpunkt-Methode noch deutlich geringer, da weder die am aufwendigsten zu behandelnden „unsystematischen" Spalten von G bzw. G noch die Indexmengen Jj betrachtet werden müssen.
Prozessoreinheit
Fig.13 zeigt eine Prozessoreinheit PRZE, die geeignet ist zur Durchführung von Transformation und/oder Kompression/Dekompression. Die Prozessoreinheit PRZE umfaßt einen Prozessor CPU, einen Speicher SPE und eine Input/Output-Schnittstelle IOS, die über ein Interface IFC auf unterschiedliche Art und Weise genutzt wird: Über eine Grafikschnittstelle wird eine Ausgabe auf einem Monitor MON sichtbar und/oder auf einem Drucker PRT ausgegeben. Eine Eingabe erfolgt über eine Maus MAS oder eine Tastatur TAST. Auch verfügt die Prozessoreinheit PRZE über einen Datenbus BUS, der die Verbindung von einem Speicher MEM, dem Prozessor CPU und der Input/Output-Schnittstelle IOS gewährleistet. Weiterhin sind an den Datenbus BUS zusätzliche Komponenten anschließbar, z.B. zusätzlicher Speicher, Datenspeicher (Festplatte) oder Scanner.

Claims

Patentansprüche
1. Verfahren zur Decodierung eines vorgegebenen Codeworts,
(a) bei dem das Codewort mehrere Stellen mit Soft- Werten umfaßt;
(b) bei dem aus den Soft- Werten eine Menge von Soft- Werten bestimmt wird, indem eine Sortierung nach einem Sortierkriterium durchgeführt wird;
(c) bei dem anhand der Menge der Soft-Werte die Decodierung des Codeworts durchgeführt wird.
2. Verfahren nach Anspruch 1, bei dem das Sortierkriterium eine Güte der Soft-Werte umfaßt.
3. Verfahren nach Anspruch 1 oder 2, bei dem die Menge der Soft-Werte die besten Soft-Werte umfaßt.
4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem das Codewort n Stellen aufweist, wobei k < n Stellen Information und n — k Stellen Redundanzinformation enthalten.
5. Verfahren nach Anspruch 4, bei dem die Größe der Menge bestimmt wird anhand einer Anzahl k der Stellen der Information.
6. Verfahren nach Anspruch 4 oder 5, bei dem anhand einer Transformationsvorschrift ein äquivalenter systematischer Code decodiert wird.
7. Verfahren nach einem der vorhergehenden Ansprüche zur Decodierung eines in der Nachrichtenübertragung eingesetzten Blockcodes.
8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem eine Qualität des decodierten Codeworts weiter verbessert wird, indem folgende Schritte durchgeführt werden:
(a) der Blockcode wird anhand einer Transformationsvorschrift in einen äquivalenten systematischen Blockcode transformiert, so daß diejenigen Stellen mit kleinsten Indizes den betragsmäßig größten Soft- Werten zugeordnet werden;
(b) es werden sukzessive die k Informationsbits unter Berücksichtigung der Soft-Werte mittels einer Optimierungsmethode bestimmt; (c) die gefundenen Informationsbits werden entsprechend der inversen Transformationsvorschrift zurücktransformiert .
9. Verfahren nach Anspruch 8, bei dem die Optimierungsmethode ein „Branch-and-Bound"- Verfahren ist.
10. Verfahren nach Anspruch 8 oder 9, bei dem durch die Transformationsvorschrift eine Generatormatrix des Blockcodes derart modifiziert wird, daß eine Umsortierung der Soft- Werte ihrer betragsmäßigen Größe nach erfolgt.
11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Soft-Werte eine Ausgabe eines Demodulators sind.
12. Verfahren nach einem der vorhergehenden Ansprüche, die Soft-Werte Soft-Output- Werte eines vorgeschalteten Soft-Output- Decoders sind.
13. Anordnung zur Decodierung eines vorgegebenen Codeworts, bei der eine Prozessoreinheit vorgesehen ist, die derart eingerichtet ist, daß
(a) das Codewort mehrere Stellen mit Soft- Werten umfaßt;
(b) aus den Soft- Werten eine Menge von Soft- Werten bestimmbar ist, indem eine Sortierung nach einem Sortierkriterium durchgeführt wird;
(c) anhand der Menge der Soft-Werte die Decodierung des Codeworts erfolgt.
PCT/DE2000/000391 1999-02-11 2000-02-09 Verfahren und anordnung zur decodierung eines vorgegebenen codeworts WO2000048325A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19905710 1999-02-11
DE19905710.9 1999-02-11

Publications (1)

Publication Number Publication Date
WO2000048325A1 true WO2000048325A1 (de) 2000-08-17

Family

ID=7897182

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/000391 WO2000048325A1 (de) 1999-02-11 2000-02-09 Verfahren und anordnung zur decodierung eines vorgegebenen codeworts

Country Status (1)

Country Link
WO (1) WO2000048325A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2814871A1 (fr) * 2000-10-02 2002-04-05 Sacet Procede de decodage iteratif associe a toutes concatenations d'un nombre determine de codes en blocs, ou assimiles
WO2002043311A2 (de) * 2000-11-21 2002-05-30 Siemens Aktiengesellschaft Verfahren und vorrichtung zur decodierung einer folge von symbolen

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0439649A1 (de) * 1990-01-30 1991-08-07 Siemens Aktiengesellschaft Einrichtung zur Fehlermustergenerierung bei Soft-Decision-Decodierung von Blockcodes
US5319649A (en) * 1991-12-27 1994-06-07 Comstream Corporation Transmission systems and decoders therefor
US5822340A (en) * 1996-05-10 1998-10-13 Telefonaktiebolaget Lm Ericsson Method for decoding data signals using fixed-length decision window

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0439649A1 (de) * 1990-01-30 1991-08-07 Siemens Aktiengesellschaft Einrichtung zur Fehlermustergenerierung bei Soft-Decision-Decodierung von Blockcodes
US5319649A (en) * 1991-12-27 1994-06-07 Comstream Corporation Transmission systems and decoders therefor
US5822340A (en) * 1996-05-10 1998-10-13 Telefonaktiebolaget Lm Ericsson Method for decoding data signals using fixed-length decision window

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FOSSORIER M P C ET AL: "SOFT-DECISION DECODING OF LINEAR BLOCK CODES BASED ON ORDERED STATISTICS", IEEE TRANSACTIONS ON INFORMATION THEORY,US,IEEE INC. NEW YORK, vol. 41, no. 5, 1 September 1995 (1995-09-01), pages 1379 - 1396, XP000542626, ISSN: 0018-9448 *
MINAMI H ET AL: "HIGH-PERFORMANCE SOFT DECISION DECODING METHOD USING TABLE-AIDED ALGORITHM FOR BLOCK CODE", ELECTRONICS & COMMUNICATIONS IN JAPAN, PART I - COMMUNICATIONS,US,SCRIPTA TECHNICA. NEW YORK, vol. 80, no. 9, 1 September 1997 (1997-09-01), pages 56 - 66, XP000724507, ISSN: 8756-6621 *
OFFER E ET AL: "SOFT DECISION DECODING OF BLOCK CODES AND CONCATENATED BLOCK- CONVOLUTIONAL CODES USING THE STACK ALGORITHM", PROCEEDINGS OF THE GLOBAL TELECOMMUNICATIONS CONFERENCE. (GLOBECOM),US,NEW YORK, IEEE, vol. -, 2 December 1991 (1991-12-02), pages 765 - 769, XP000332778, ISBN: 0-87942-697-7 *
VARDY A ET AL: "BIT-LEVEL SOFT-DECISION DECODING OF REED-SOLOMON CODES", IEEE TRANSACTIONS ON COMMUNICATIONS,US,IEEE INC. NEW YORK, vol. 39, no. 3, 1 March 1991 (1991-03-01), pages 440 - 444, XP000229930, ISSN: 0090-6778 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2814871A1 (fr) * 2000-10-02 2002-04-05 Sacet Procede de decodage iteratif associe a toutes concatenations d'un nombre determine de codes en blocs, ou assimiles
EP1217752A2 (de) * 2000-10-02 2002-06-26 Sacet SA Iteratives Dekodierungsverfahren für alle Verkettungen einer vorbestimmten Anzahl von Blockkoden oder ähnlichen Koden
EP1217752A3 (de) * 2000-10-02 2002-10-09 Sacet SA Iteratives Dekodierungsverfahren für alle Verkettungen einer vorbestimmten Anzahl von Blockkoden oder ähnlichen Koden
WO2002043311A2 (de) * 2000-11-21 2002-05-30 Siemens Aktiengesellschaft Verfahren und vorrichtung zur decodierung einer folge von symbolen
WO2002043311A3 (de) * 2000-11-21 2002-09-06 Siemens Ag Verfahren und vorrichtung zur decodierung einer folge von symbolen

Similar Documents

Publication Publication Date Title
DE69816261T2 (de) Turbokodierung mit übertragung und mehrstufiger verarbeitung von daten
EP0700183B1 (de) Gewinnung bitspezifischer Zuverlässigkeitsinformationen in einem digitalen Übertragungssystem mit M-stufiger orthogonaler Modulation
DE19963683A1 (de) Architektur zum Decodieren von linearen Blockfehler-Korrekturcodes mit Soft Decision
DE112005002300T5 (de) Ratenkompatible gekürzte quasi-zyklische dünnbesetzte Paritätskontrolle-Codes (LDPC-CODES)
DE102017103347B4 (de) Verarbeitung von daten in speicherzellen eines speichers
DE102017130591A1 (de) Verfahren und Vorrichtung zur Fehlerkorrekturkodierung auf Basis einer Datenkomprimierung
WO1999063520A1 (de) Verfahren und anordnung zur fehlerverdeckung
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE60104338T2 (de) Vorrichtung und verfahren zur turbo decodierung mit signaturdatenvergleich als abbruchkriterium
DE69823307T2 (de) Digitales Übertragungssystem, Dekoder und Dekodierungsverfahren
DE60101745T2 (de) Viterbi dekodierung mit pfadmetrikaktualisierung durchgeführt in einheiten von bitscheiben
WO2000048325A1 (de) Verfahren und anordnung zur decodierung eines vorgegebenen codeworts
DE69836119T2 (de) Tail-biting Faltungskode-Dekodierverfahren und -system
DE10010238C2 (de) Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
DE69918912T2 (de) Verfahren und ausführung für verbesserte leistungsfähigkeiten in einem system welches faltungsdekodierung anwendet
EP1046254A1 (de) Verfahren und vorrichtung zur codierung, decodierung und übertragung von informationen, unter verwendung von quellengesteuerter kanaldecodierung
DE102015111729B4 (de) Verfahren und decoder zum bestimmen eines fehlervektors für ein datenwort gemäss einem reed-muller-code
DE112008002060T5 (de) Koordinatenanstiegsverfahren für Linear-Programmierung-Decodierung
EP2332301B1 (de) Verfahren und einrichtung zur quantisierung von likelihood-quotienten
EP1099313B1 (de) Soft-decision-decodierung eines terminierten faltungscode
DE102017200075B4 (de) Entschlüsselungsverfahren sowie Kommunikationssystem
WO2001043294A1 (de) Verfahren und anordnung zur decodierung von informationen
EP1153481B1 (de) Verfahren und vorrichtung zum erzeugen eines datenstroms aus codeworten variabler länge und verfahren und vorrichtung zum lesen eines datenstroms aus codeworten variabler länge
DE102018105847A1 (de) Datenwiederherstellung und Datenregeneration mittels Paritätscode
DE112019005507T5 (de) Datengetriebene icad-graphengenerierung

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)