Die
vorliegende Erfindung bezieht sich auf Empfänger für eine digitale Übertragung,
wie z. B. digitale Radioempfänger,
Modems oder Mobilfunkempfänger.
Insbesondere bezieht sich die vorliegende Erfindung auf digitale
Empfänger,
die Trellis-Decodierer, wie z. B. Viterbi-Decodierer, einsetzen,
die ausgebildet sind, um auf der Basis von Wahrscheinlichkeiten
zu arbeiten, d. h. die also einen Soft-Input verarbeiten.The
The present invention relates to receivers for digital transmission,
such as B. digital radio receivers,
Modems or mobile receivers.
In particular, the present invention relates to digital
Receiver,
the trellis decoders, such as. B. Viterbi decoder, use,
who are trained to be based on probabilities
to work, d. H. which process a soft input.
Eine
typische Senderanordnung, wie sie für die digitale Übertragung
eingesetzt wird, ist in 4 gezeigt. Aus einer Quelle 40 für Informationen
werden Informationsbits ausgegeben und einem Kanal-Codierer 41 zugeführt, der
gemäß dem Prinzip der
Vorwärtsfehlerkorrektur
(FEC; FEC = Forward Error Correction) den Informationsbits von der
Quelle 40 eine Redundanz hinzufügt, um einen besseren Empfang
sicherzustellen. Dem Kanal-Codierer 41 ist typischerweise
ein Interleaver (ILV) 42 nachgeschaltet, der eine Verwürfelung
typischerweise hinsichtlich der Frequenz und hinsichtlich der Zeit
durchführt,
damit bestimmte Phänomene,
die auf einem Freiraumübertragungskanal
auftreten, nicht zu einem Totalausfall von zeitlich oder frequenzmäßig aufeinanderfolgenden
Daten führt,
sondern lediglich zu Punktwellenfehlern im wieder rekonstruierten,
d. h. de-interleavten Signal führen.
Dem Interleaver 42 wiederum nachgeschaltet ist ein sogenannter
Mapper 43, der Ausgangsbits des Interleavers auf Frequenzträger abbildet
bzw. mappt. Der Mapper 43 basiert typischerweise auf einem
Konstellationsdiagramm, das für
eine bestimmte verwendete Modulationsart definiert ist. Eingesetzte
Modulationsarten sind die QPSK (Quaternary Phase Shift Keying),
16-QAM (QAM = Quadratur-Amplituden-Modulation), 64-QAM, etc. Bei dem in 4 gezeigten
Sen derszenario wird eine OFDM-Modulation (OFDM = Orthogonal Frequency
Division Multiplex) eingesetzt. Bei der OFDM-Modulation wird bekannterweise eine
große
Anzahl von Frequenzträgern
mit einander überlappenden Übertragungsbändern eingesetzt,
wobei jeder Frequenzträger
komplex moduliert wird. Typische Zahlen von Frequenzträgern liegen über 200 gleichzeitigen
Trägern.A typical transmitter arrangement as used for digital transmission is in FIG 4 shown. From a source 40 for information, information bits are output and a channel encoder 41 supplied according to the principle of Forward Error Correction (FEC) the information bits from the source 40 adds redundancy to ensure better reception. The channel encoder 41 is typically an interleaver (ILV) 42 typically performs scrambling with respect to frequency and time so that certain phenomena occurring on a free space transmission channel will not result in a total failure of temporally or frequency successive data, but only in point wave errors in the reconstructed, ie deinterleaved, signal to lead. The interleaver 42 in turn is a so-called mapper 43 , the output bits of the interleaver on frequency carrier maps or maps. The mapper 43 is typically based on a constellation diagram defined for a particular type of modulation used. Types of modulation used are QPSK (Quaternary Phase Shift Keying), 16-QAM (QAM = Quadrature Amplitude Modulation), 64-QAM, etc. In the case of in 4 An exemplary OFDM modulation (OFDM = Orthogonal Frequency Division Multiplex) is used. In OFDM modulation, it is known to employ a large number of frequency carriers with overlapping transmission bands, with each frequency carrier being complexly modulated. Typical numbers of frequency carriers are over 200 simultaneous carriers.
Das
dem Mapper 43 zugrundeliegende Konstellationsdiagramm definiert,
wie viele Informationsbits einem der komplexen OFDM-Träger aufmoduliert
werden. Werden lediglich zwei Informationsbits einem Träger aufmoduliert,
so handelt es sich um eine QPSK-Modulation. Jeder Träger wird
einen Betrag von 1 (bezogen auf die normierte komplexe Ebene) haben,
wobei sich die Phasen der komplexen Träger je nach Informationsbits
voneinander unterscheiden werden. Die In-Phase-Komponente (Realteil in der komplexen
Ebene) und die Quadratur-Komponente (Imaginärteil in der komplexen Ebene)
sind bei der QPSK immer gleich groß und unterscheiden sich lediglich
durch das Vorzeichen. Die QPSK ist dahingehend vorteilhaft, dass
zur Demodulation im Empfänger
ein relativ kleiner Signal/Rausch-Abstand erforderlich ist. Nachteilig
an der QPSK ist jedoch die Tatsache, dass pro Träger lediglich zwei Bits an
Information übertragen
werden, was zu einer begrenzten Datenrate führt.The mapper 43 The underlying constellation diagram defines how many information bits are modulated onto one of the complex OFDM carriers. If only two information bits are modulated onto a carrier, this is a QPSK modulation. Each carrier will have an amount of 1 (relative to the normalized complex level), with the phases of the complex carriers being different from each other depending on the information bits. The in-phase component (real part in the complex plane) and the quadrature component (imaginary part in the complex plane) are always the same size in the QPSK and differ only by the sign. The QPSK is advantageous in that a relatively small signal-to-noise ratio is required for demodulation in the receiver. A disadvantage of the QPSK, however, is the fact that only two bits of information are transmitted per carrier, resulting in a limited data rate.
Auf
höherwertigere
Modulationsverfahren, wie z. B. 16-QAM (3) oder
64-QAM (2), wird weiter hinten eingegangen.On higher-valued modulation methods, such. B. 16-QAM ( 3 ) or 64-QAM ( 2 ), will be discussed later.
Der
Mapper 43 ist ausgebildet, um jedem der komplexen OFDM-Träger je nach
Konstellationsdiagramm eine entsprechende Anzahl von Informationsbits „aufzuprägen". Die OFDM-Träger werden
dann gemeinsam einer inversen Fourier-Transformation (IFFT 44)
unterzogen, um ein komplexes „Zeitsignal" (zeitlich aufeinanderfolgende
komplexe Abtastwerte) am Ausgang des Blocks IFFT 44 zu
erhalten. Dieses komplexe Zeitsignal wird dann D/A-gewandelt (45a) und
mittels eines komplexen Mischers 45b vom Basisband hochgemischt
und einem HF-Front-End mit Leistungsverstärker etc. 46 zugeführt, um über eine Sendeantenne 47 abgestrahlt
zu werden.The mapper 43 is designed to "impose" a corresponding number of information bits on each of the complex OFDM carriers according to the constellation diagram .The OFDM carriers are then jointly subjected to an inverse Fourier transformation (IFFT 44 ) to produce a complex "time signal" (temporally consecutive complex samples) at the output of block IFFT 44 to obtain. This complex time signal is then D / A converted ( 45a ) and by means of a complex mixer 45b mixed up from baseband and an RF front end with power amplifier etc. 46 fed to over a transmitting antenna 47 to be radiated.
Das
von der Sendeantenne 47 von 4 abgestrahlte
Sendesignal wird dann beispielsweise über einen Freiraumübertragungskanal
oder einen drahtgebundenen Übertragungskanal
zu einem Empfänger übertragen,
dessen grundsätzlicher
Aufbau in 5 dargestellt ist. Das übertragene
Signal wird mittels einer Empfangsantenne 50 aufgenommen,
einem HF-Front-End 51 zugeführt und
von einem komplexen Mischer 52 ins Basisband umgesetzt.
Im Basisband wird das komplexe „Zeitsignal", das dem Signal
am Ausgang des Blocks IFFT 44 von 4 entspricht,
mittels eines Blocks 53 abgetastet und A/D-gewandelt, um dann
einer FFT 54 sowie gegebenenfalls einer De-Interleaving-Operation
zur Rückgängigmachung
einer vorausgehenden Interleaving-Operation unterzogen zu werden.That from the transmitting antenna 47 from 4 radiated transmission signal is then transmitted, for example via a free space transmission channel or a wired transmission channel to a receiver whose basic structure in 5 is shown. The transmitted signal is transmitted by means of a receiving antenna 50 recorded, an RF front-end 51 fed and from a complex mixer 52 converted into baseband. In the baseband, the complex "time signal" that is the signal at the output of block IFFT 44 from 4 corresponds, by means of a block 53 sampled and A / D converted to a FFT 54 and optionally de-interleaving to undo a previous interleaving operation.
Am
Ausgang der FFT 54 liegen die komplexen Träger vor,
die – abgesehen
von Übertragungsbeeinflussungen – den Daten
am Ausgang des Mappers 43 von 4 entsprechen.
Insbesondere ist der FFT-Block 54 ausgebildet, um die In-Phasen-Komponenten I und
die Quadratur-Komponenten Q der komplexen Träger einem Decodierer 55 zuzuführen, der
typischerweise als Trellis-Decodierer ausgebildet ist.At the exit of the FFT 54 are the complex carriers, which - apart from transmission influences - the data at the output of the mapper 43 from 4 correspond. In particular, the FFT block 54 formed to the in-phase components I and the quadrature components Q of the complex carrier a decoder 55 which is typically designed as a trellis decoder.
Ein
prominenter Vertreter für
Trellis-Decodierer ist der bekannte Viterbi-Decodierer, der unter
Verwendung von Wahrscheinlichkeitsinformationen (Soft-Inputs) eine
Signaldecodierung durchführt.
Die decodierten Informationsbits am Ausgang des Decodierers 45 werden
dann einer Informationssenke 56 zugeführt, um beispielsweise optisch
oder akustisch dargestellt zu werden. Ein moderner Decodierer umfasst
mehrere weitere Funktionalitäten,
wie z. B. eine Synchronisierung, eine Kanalentzerrung, etc., welche
in 5 durch den Hilfsblock AUX 57 symbolisch dargestellt
sind. Insbesondere führt
der Hilfsblock AUX 57 eine Kanalentzer rung entweder vor
(57a) oder nach (57b) der A/D-Wandlung im Block 53 durch.
Der Block 57 enthält
typischerweise ferner eine Synchronisationseigenschaft, um den Abtaster im
Block 53 gemäß Ausgangssignalen
vom Decodierer 55 (57c) zu steuern (57d).
Der Block 57 ist ferner typischerweise ausgebildet, um
Kanalentzerrungsinformationen dem Decodierer 55 zuzuführen (57e), damit
der Trellis-Decodierer bei seiner Wahrscheinlichkeits-basierten
Entscheidung die Informationen, bei denen gute Kanaleigenschaften
vorlagen, gegenüber
den Informationen, bei denen schlechte Kanaleigenschaften vorlagen,
bevorzugt.A prominent representative of trellis decoders is the well-known Viterbi decoder, which performs signal decoding using probability information (soft inputs). The decoded information bits at the output of the decoder 45 then become an information sink 56 fed, for example, to be displayed visually or acoustically. A modern decoder includes several other functionalities, such. As a synchronization, a channel equalization, etc., which in 5 through the auxiliary block AUX 57 symbolically represented. In particular, the auxiliary block AUX 57 a channel equalization either before ( 57a ) or after ( 57b ) of the A / D conversion in the block 53 by. The block 57 Also typically includes a synchronization feature to the sampler in the block 53 according to output signals from the decoder 55 ( 57c ) ( 57d ). The block 57 Further, it is typically configured to provide channel equalization information to the decoder 55 to feed ( 57e ) so that the trellis decoder, in its probability-based decision, prefers the information that has good channel characteristics over the information that has poor channel characteristics.
Wie
es bekannt ist, ist der Kanal-Decodierer 55, d. h. der
Trellis-Decodierer, von den Eigenschaften des Kanal-Codierers 41 von 4 abhängig. Insbesondere
bestimmt der Kanalcodieralgorithmus im Kanal-Codierer 41 das
durch den Decodierer 55 im Empfänger verwendete Trellis-Diagramm.As is known, the channel decoder 55 , ie the trellis decoder, of the properties of the channel coder 41 from 4 dependent. In particular, the channel coding algorithm determines in the channel coder 41 that through the decoder 55 Trellis diagram used in the receiver.
Ein
in 4 dargestellter digitaler Sender ist beispielsweise
im DRM-Standard (DRM = Digital Radio Mondiale), Draft ETSI ES 101
980 V1.2.1 (Mai 2002) im Kapitel 7 allgemein offenbart.An in 4 shown digital transmitter is generally disclosed in Chapter 7, for example, in the DRM standard (DRM = Digital Radio Mondiale), draft ETSI ES 101 980 V1.2.1 (May 2002).
Insbesondere
wird bei der Kanalcodierung im DRM-Standard ein Multilevel-Codierschema
eingesetzt. Das Prinzip der Multilevel-Codierung ist die gemeinsame
Optimierung von Codierung einerseits und Modulation andererseits,
um das beste Übertragungsverhalten
zu erreichen. Dies bedeutet, dass fehleranfälligere Bitpositionen in einem
QAM-Mapping einen höheren
Schutz erhalten als Bitpositionen, die weniger fehleranfällig sind.
Die unterschiedlichen Schutzebenen werden mit unterschiedlichen
Komponentencodes erreicht, die alle mit punktierten Faltungscodes
im Kanal-Codierer 41 erhalten werden, welche von demselben
Muttercode abgeleitet sind. Das Decodieren im Empfänger kann
entweder iterativ oder nicht-iterativ durchgeführt werden. Folglich kann das
Verhalten des Decodierers 55 von 5 bei fehlerbehafteten
Daten einhergehend mit der Anzahl von Iterationen verbes sert werden
und hängt von
der konkreten Decodierimplementation ab.In particular, channel coding in the DRM standard employs a multilevel coding scheme. The principle of multilevel coding is the joint optimization of coding on the one hand and modulation on the other to achieve the best transmission behavior. This means that more error prone bit positions in a QAM mapping receive greater protection than bit positions that are less error prone. The different levels of protection are achieved with different component codes, all with punctured convolutional codes in the channel encoder 41 obtained, which are derived from the same mother code. The decoding in the receiver can be performed either iteratively or non-iteratively. Consequently, the behavior of the decoder 55 from 5 error-prone data associated with the number of iterations can be verbes sert and depends on the actual decoding implementation.
Ein
beispielhafter Kanal-Codierer 41 ist in 6 dargestellt.
Informationen von der Quelle von Informationen (Block 40 von 4)
werden einem Block 60 zum Partitionieren der Informationen
zugeführt.
Allgemein gesagt ist die Einrichtung 60 von 6 wirksam,
um für
ein Drei-Level-Modulationsverfahren,
wie z. B. die 64-QAM, jeweils drei Bits i0, i1, i2 für die In-Phase-Komponente
eines komplexen Trägers
und drei Bits q0, q1,
q2 für
die Quadratur-Komponente
des komplexen Trägers
zu gruppieren (nach dem Interleaving in den Blöcken 62a bzw. 62b).
In anderen Worten ausgedrückt
wird der eingehende Datenstrom in drei ausgehende Datenströme (Ebenen)
zerteilt. Dann wird jede Ebene, also die Ebene 0, 1 oder 2 für sich getrennt
einer Codierung unterzogen (Blöcke 61a, 61b, 61c),
um dann die codierten Informationsbits, also die Informationsbits
mit mehr Redundanz, je nach Ebene bzw. je nach Wunsch, einem Interleaving 62a (für die zweite
Ebene) oder 62b (für
die erste Ebene) oder nicht (für
die 0-te Ebene) zu unterziehen. Die Ausgangssignale der Blöcke 62a, 62b, 61c werden
dann einem Mapper 63 zugeführt, der dem Mapper 43 von 4 entspricht
und bei dem in 6 gezeigten Beispiel ein Konstellationsdiagramm
umfasst, das durch die 64-QAM definiert ist. Der Mapper gruppiert
jeweils drei Bits i0, i1,
i2 für
die In-Phase-Komponente und drei Bits q0,
q1, q2 für die Quadratur-Komponente
eines komplexen Trägers
und überträgt diese
Bitworte auf die entsprechenden Amplitudenwerte der jeweiligen Komponente.
Der Ausgang des Mappers 63 liefert dann für jeden
komplexen Träger
die In-Phase-Komponente und die Quadratur-Komponente, welche dann – gesammelt
für alle
komplexen Träger – einer
IFFT (Block 44 von 4) unterzogen
werden, um somit ein OFDM-Symbol (im „Zeitbereich") zu erhalten.An exemplary channel encoder 41 is in 6 shown. Information from the source of information (block 40 from 4 ) become a block 60 for partitioning the information supplied. Generally speaking, the device is 60 from 6 effective for a three-level modulation method, such. For example, the 64-QAM may group three bits i 0 , i 1 , i 2 for the in-phase component of a complex carrier and three bits q 0 , q 1 , q 2 for the quadrature component of the complex carrier ( after interleaving in the blocks 62a respectively. 62b ). In other words, the incoming data stream is split into three outgoing data streams (levels). Then each level, that is, the level 0, 1 or 2 is separately subjected to coding (blocks 61a . 61b . 61c ), then the coded information bits, so the information bits with more redundancy, depending on the level or as desired, an interleaving 62a (for the second level) or 62b (for the first level) or not (for the 0th level). The output signals of the blocks 62a . 62b . 61c then become a mapper 63 fed to the mapper 43 from 4 corresponds to and in which 6 Example shown comprises a constellation diagram defined by the 64-QAM. The mapper groups three bits i 0 , i 1 , i 2 for the in-phase component and three bits q 0 , q 1 , q 2 for the quadrature component of a complex carrier and transmits these bit words to the corresponding amplitude values of the respective ones Component. The output of the mapper 63 then supplies for each complex carrier the in-phase component and the quadrature component, which are then - collected for all complex carriers - an IFFT (block 44 from 4 ) so as to obtain an OFDM symbol (in the "time domain").
Die
einzelnen Kanal-Codierer 61a, 61b, 61c sind
als Faltungscodierer aufgebaut, welche durch Generator-Polynome definiert
sind. Zur Anpassung an eine bestimmte Coderate wird ein Mutter-Code
mit einer bestimmten Mutter-Coderate einer jeweiligen Punktierungsoperation
unterzogen, um einen Code mit höherer
Coderate (einer Coderate näher
bei 1 als die Mutter-Coderate) zu erhalten. Gemäß dem DRM-Standard wird jede
Ebene (Ebene 2, Ebene 1 oder Ebene 0) unterschiedlich redundant
codiert, so dass problematischere Bitebenen mit höherer Redundanz
codiert werden (Ebene 0) als weniger problematische Bitebenen (Ebene
1 und Ebene 2). Bei dem beschriebenen Szenario ist das niederstwertige
Bit einer I-Komponente i0 oder einer Q-Komponente
q0 am problematischsten, da der Abstand
zwischen zwei I- bzw. Q-Komponenten
mit unterschiedlichem LSB am kleinsten ist und somit am problematischsten für den Decodierer 55 von 5.The individual channel coders 61a . 61b . 61c are constructed as convolutional encoders defined by generator polynomials. To match a particular code rate, a mother code having a certain mother code rate is subjected to a respective puncturing operation to obtain a code having a higher code rate (a code rate closer to 1 than the mother code rate). According to the DRM standard, each level (level 2, level 1 or level 0) is coded differently redundantly so that more problematic bit planes are coded with higher redundancy (level 0) than less problematic bit levels (level 1 and level 2). In the described scenario, the least significant bit of an I-component i 0 or a Q-component q 0 is the most problematic since the distance between two I- and Q-components with different LSB is smallest and thus most problematic for the decoder 55 from 5 ,
Im
Nachfolgenden wird anhand von 3 die 16-QAM
als Beispiel für
ein mehrstufiges Modulationsverfahren dargestellt. Das in 3 dargestellte Konstellationsdiagramm
ist im DRM-Standard offenbart. Das Konstellationsdiagramm enthält 16 Zustände, wobei
jeder Zustand durch einen ausgefüllten Kreis
in 3 dargestellt ist. Jeder ausgefüllte Kreis entspricht
der Spitze eines komplexen Zeigers in der komplexen Ebene. Die In-Phase-Komponente
(Realteil) kann vier unterschiedliche Zustände einnehmen (3a, 1a, -1a,
-3a) , welche durch zwei Bits i0, i1 darstellbar sind. Genau so kann die Quadratur-Komponente
vier Zuständen
einnehmen (3a, 1a, -1a, -3a) , welche ebenfalls durch zwei Bits
q0, q1 darstellbar sind.
Der Parameter a ist ein beliebig einstellbarer Verstärkungsparameter.
So ist beispielsweise ein Zustand 30 im Konstellationsdiagramm von 3 durch
die beiden In-Phase-Bits i0, i1 (0,
0) und die beiden Quadraturbits q0, q1 (0, 0) definiert. Genau so ist beispielsweise
ein Zustand 31 durch die In-Phase-Bits i0,
i1 (0, 1) und die Quadraturbits q0, q1 (0, 1) definiert.
Die Funktionsweise des Mappers 43 von 4,
in dem das 16-QAM-Konstellationsdiagramm von 3 definiert
ist, besteht also darin, beim Vorliegen von In-Phase-Bits und Quadratur- Bits am Ausgang der
Blöcke 61c, 62b bzw.
am Eingang des Mappers 63 von 6 eine In-Phase-Komponente
und eine Quadratur-Komponente zuzuweisen. Erhält der Mapper beispielsweise
als In-Phase-Bits die Bits (0, 1) und als Quadratur-Bits die Bits
(0, 1), so wird er eine In-Phase-Komponente
von (-1a) und eine Quadratur-Komponente von (-1a) zuweisen. Aus dem Konstellationsdiagramm
von 3 ist ersichtlich, dass dieses symmetrisch aufgebaut
ist. Dies bedeutet, dass die In-Phase-Komponente und die Quadratur-Komponente für ein identisches
Bitmuster für
die In-Phase-Bits
und die Quadratur-Bits gleich sind.The following is based on 3 the 16-QAM is shown as an example of a multilevel modulation method. This in 3 The constellation diagram shown is disclosed in the DRM standard. The constellation diagram contains 16 states, each state being indicated by a filled circle in 3 is shown. Each filled circle corresponds to the top of a complex pointer in the complex plane. The in-phase component (real part) can assume four different states (3a, 1a, -1a, -3a), which is represented by two bits i 0 , i 1 are adjustable. The quadrature component can assume four states (3a, 1a, -1a, -3a) in exactly the same way, which can also be represented by two bits q 0 , q 1 . The parameter a is an arbitrarily adjustable gain parameter. For example, a state 30 in the constellation diagram of 3 is defined by the two in-phase bits i 0 , i 1 (0, 0) and the two quadrature bits q 0 , q 1 (0, 0). Exactly so is for example a condition 31 is defined by the in-phase bits i 0 , i 1 (0, 1) and the quadrature bits q 0 , q 1 (0, 1). The functioning of the mapper 43 from 4 in which the 16-QAM constellation diagram of 3 is defined, it consists in the presence of in-phase bits and quadrature bits at the output of the blocks 61c . 62b or at the entrance of the mapper 63 from 6 assign an in-phase component and a quadrature component. For example, if the mapper receives bits (0, 1) as in-phase bits and bits (0, 1) as quadrature bits, it becomes an in-phase component of (-1a) and a quadrature component of Assign (-1a). From the constellation diagram of 3 it can be seen that this is symmetrical. This means that the in-phase component and the quadrature component are the same for an identical bit pattern for the in-phase bits and the quadrature bits.
Nachfolgend
wird anhand von 2 das 64-QAM-Konstellationsdiagramm aus dem DRM-Standard
erläutert.
Das 64-QAM-Konstellationsdiagramm umfasst 64 Zustände und
kann daher ausgangsseitig 64 verschiedene komplexe Zeiger definieren.
Erlaubte Zustände
der In-Phase-Komponente betragen -7a, -5a, -3a, -1a, 1a, 3a, 5a
und 7a. Dieselben erlaubten Zustände
ergeben sich für
die Quadratur-Komponente. Diese jeweils acht verschiedenen Zustände der
In-Phase-Komponente und der Quadratur-Komponente können durch
jeweils drei Bits codiert werden. Der Mapper 43 von 4 ist
daher wirksam, um z. B. einen Zustand 20 von 2 zu mappen,
wenn als In-Phase-Bits i0, i1,
i2 die Bits (0, 0, 0)
anliegen, und wenn als Quadratur-Bits die Bits q0, q1, q2 (0, 0, 0) anliegen.
Die gemappte In-Phase-Komponente beträgt ebenso wie die gemappte Quadratur-Komponente
(+7a). Erhält
der Mapper dagegen als In-Phase-Bits die Bits (0, 0, 0) und als
Quadratur-Bits die Bits (1, 0, 0), so wird der Mapper den komplexen
Zeiger 21 bestimmen. Dies bedeutet, dass die gemappte Quadratur-Komponente
(+5a) beträgt,
während
die gemappte In-Phase-Komponente (+7a) beträgt.The following is based on 2 explains the 64-QAM constellation diagram from the DRM standard. The 64-QAM constellation diagram comprises 64 states and therefore can define 64 different complex pointers on the output side. Allowed states of the in-phase component are -7a, -5a, -3a, -1a, 1a, 3a, 5a and 7a. The same allowed states result for the quadrature component. Each of these eight different states of the in-phase component and the quadrature component can be encoded by three bits each. The mapper 43 from 4 is therefore effective to z. For example, a condition 20 from 2 when the in-phase bits i 0 , i 1 , i 2 are the bits ( 0 . 0 . 0 ) and if the bits q 0 , q 1 , q 2 (0, 0, 0) are present as quadrature bits. The mapped in-phase component is as well as the mapped quadrature component (+ 7a). On the other hand, if the mapper receives bits (0, 0, 0) as in-phase bits and bits (1, 0, 0) as quadrature bits, the mapper becomes the complex pointer 21 determine. This means that the mapped quadrature component is (+ 5a) while the mapped in-phase component is (+ 7a).
Im
nachfolgenden wird anhand der 9 und 10 auf
ein iteratives Konzept zum Decodieren eines Empfangssignals eingegangen,
dem eine komplexe Modulation in Form der 64-QAM von 2 zugrunde
liegt. Die iterative Decodierung beginnt mit einer ersten Iteration 90.
Insbesondere wird die Deco dierung mit dem feinsten Level, also der
Bitstelle, die alternierend in den Codeworten verteilt ist, begonnen,
weil hier durch die verwendete Coderate, wie es anhand von 6 dargestellt
worden ist, am meisten Redundanz eingebracht worden ist. Die nachfolgende
Betrachtung wird lediglich beispielhaft anhand der Quadratur-Komponente
durchgeführt.
Hierbei erhält ein
Decodierer 55 von 5 einen
digitalen Quadraturwert, der irgendwo auf der komplexen Achse von 2 liegen
wird. Würde
der Eingangswert in den Decodierer direkt auf einen Wert -7a, -5a,
-3a, -1a, ..., 7a (selbstverständlich
nach entsprechender Normierung) fallen, so wäre das Decodieren einfach.
Dies wird jedoch im allgemeinen nicht der Fall sein, da aufgrund
von Eigenschaften des Übertragungskanals Störungen/Verzerrungen
eingetreten sind, die zu einer Abweichung geführt haben, dahingehend, dass der
dem Decodierer 55 zugeführte
Q-Wert irgend wo auf der komplexen Achse in 2 liegen
wird.The following is based on the 9 and 10 to an iterative concept for decoding a received signal, which is a complex modulation in the form of the 64-QAM of 2 underlying. Iterative decoding begins with a first iteration 90 , In particular, the decoding is started with the finest level, ie the bit position, which is distributed alternately in the code words, because here the code rate used, as it is based on 6 has been presented, the most redundancy has been introduced. The following consideration is performed merely by way of example with reference to the quadrature component. This gives a decoder 55 from 5 a digital quadrature value somewhere on the complex axis of 2 will lie. If the input to the decoder fell directly to a value of -7a, -5a, -3a, -1a, ..., 7a (of course, after appropriate normalization), decoding would be easy. However, this will generally not be the case since, due to characteristics of the transmission channel, disturbances / distortions have occurred which have led to a deviation in that of the decoder 55 supplied Q value anywhere on the complex axis in 2 will lie.
Wie
es aus 90 in 9 zu sehen ist, existieren Mehrdeutigkeiten
im Konstellationsdiagramm bezüglich
des optimalen Konstellationspunkts für das Bit 0 bzw. das Bit 1,
da die Bitwerte auf diesem Level mehrfach vorkommen. Daher könnte, um
lediglich eine einzige Entscheidung treffen zu müssen, eine Modulo-Operation
durchgeführt
werden, um die einzelnen Konstellationspunkte übereinander zu legen, so dass
das Entscheidungskriterium für
den Viterbi-Decodierer, d. h. die (euklidische) Distanz des empfangenen
Wertes zu möglichen
optimalen Werten, nur zu den beiden resultierenden (übereinander gelegten)
Konstellationspunkten berechnet werden muss, wie es bei 91 in 9 gezeigt
ist. Durch die Modulo-Operationen mit einem einfachen Δ0-Wert oder
einem mehrfachen Δ0-Wert je nach Größe des dem Decodierer 55 zugeführten Q-Werts
wird ein zu decodierender Wert daher auf den Wertebereich von 91 von 9 abgebildet,
um dann die Wahrscheinlichkeitsinformationen für diesen Wertebereich zu erhalten.Like it out 90 in 9 As can be seen, there are ambiguities in the constellation diagram with respect to the optimal constellation point for bit 0 or bit 1, since the bit values occur repeatedly at this level. Therefore, to make only a single decision, a modulo operation could be performed to overlay the individual constellation points, such that the decision criterion for the Viterbi decoder, ie the (Euclidean) distance of the received value to possible optimal values , only to the two resulting (superimposed) constellation points must be calculated, as with 91 in 9 is shown. By the modulo operations with a simple Δ 0 value or a multiple Δ 0 value depending on the size of the decoder 55 supplied Q value, therefore, a value to be decoded to the value range of 91 from 9 and then obtain the probability information for that range of values.
Nach
einer Wahrscheinlichkeitszuordnung auf der Basis der übereinander
gelegten Konstellationspunkte wird dann das Ergebnis dieser ersten
Iteration, also dieses ersten Code-Levels, der bei dem beschriebenen Fall
das LSB der die In-Phase-Komponente
oder die Quadratur-Komponente darstellenden Bitgruppe ist, für den nächsthöheren Levels
herangezogen. Insbesondere wird die Lage des optimalen, entschiedenen
Konstellationspunkts vom Empfangssignal abgezogen. Dadurch reduziert
sich die Anzahl der Entscheidungsmöglichkeiten auf dem nächsten Level
um die Hälfte,
wie es bei 92 von 9 dargestellt
ist. Erneut werden Modulo-Operationen,
nunmehr jedoch mit dem Modul Δ1, durchgeführt, um wieder die vier möglichen
Konstellationspunkte von 92 von 9 übereinander
zu legen, um die Situation in Zeile 93 von 9 zu
erhalten. Nunmehr kann wieder eine Wahrscheinlichkeitszuweisung,
also ein Demapping, durchgeführt
werden, um auch das zweite Bit einer Drei-Bit-Gruppe für eine In-Phase-Komponente
oder eine Quadratur-Komponente zu erhalten. Nach einer „Subtraktion" der Ergebnisse des
Levels 0 und der gerade erhaltenen Ergebnisse des Levels 1 vom Original
ergibt sich die Situation von Zeile 94, gemäß der schließlich ein
Demapping der höchstwertigen
Bits der Bitgruppe durchgeführt
wird, derart, dass eine vollständige
Decodierung eines Zahlenwerts erhalten worden ist, der eine In-Phase-Komponente
oder eine Quadratur-Komponente darstellt.After a probability assignment on the basis of the superimposed constellation points, the result of this first iteration, that is, this first code level, which in the case described is the LSB of the in-phase component or the quadrature component representing bit group, for the next higher levels. In particular, the position of the optimal, decided constellation point is subtracted from the received signal. This reduces the number of decision options at the next level by half, as with 92 from 9 is shown. Again modulo operations, but now with the module Δ 1 , are performed again to return the four possible constellation points of 92 from 9 to superimpose the situation in line 93 from 9 to obtain. Now, again, a probability assignment, that is, a demapping, be performed to also the second bit of a three-bit group for a In-phase component or to obtain a quadrature component. After a "subtraction" of the results of level 0 and the results of level 1 just obtained from the original, the situation of line results 94 in that a demapping of the most significant bits of the bit group is finally performed such that a complete decoding of a numerical value representing an in-phase component or a quadrature component has been obtained.
In
der ersten Iteration ist die Modulo-Operation allerdings weiterhin
auf allen Levels nötig,
die mehr als zwei Entscheidungsmöglichkeiten
bieten. In der zweiten Iteration, die anhand von 10 dargestellt
ist, werden die Informationen aller Level, außer dem aktuell zu decodierenden
Level, herangezogen, so dass hier für jeden Schritt 100, 101, 102 immer
nur zwei Entscheidungsmöglichkeiten
mit unterschiedlichem Abstand verbleiben.However, in the first iteration, the modulo operation is still required at all levels that offer more than two choices. In the second iteration, based on 10 is shown, the information of all levels, except for the currently decoded level, used, so here for each step 100 . 101 . 102 always only two choices with different distances remain.
Nachteilig
an der anhand der 9 und 10 beschriebenen
Vorgehensweise ist die Tatsache, dass bei der Decodierung der einzelnen
Levels immer unterschiedlich viel Entscheidungsmöglichkeiten, d. h. unterschiedliche
viele optimale Konstellationspunkte verbleiben, denen der Empfangswert
zugeordnet werden könnte.
Diese unterschiedlich vielen Entscheidungsmöglichkeiten sind in Zeile 90 von 9 acht,
in Zeile 92 von 9 vier und in Zeile 94 von 9 zwei
Entscheidungsmöglichkeiten.
Dadurch sind in der ersten Decodieriteration, die in 9 dargestellt
ist, auf den feinen Levels aufwendige Modulo-Operationen nötig, um
die Entscheidungsmöglichkeiten „virtuell" auf zwei zu reduzieren. Die
Modulo-Arithmetik ist in ihrer Implementation aufwendig und wird – im Gegensatz
zur Integer-Arithmetik, in einem Signalprozessor manchmal lediglich
für die
in 9 beschriebene Vorgehensweise benötigt, sonst
jedoch nicht. Dies bedeutet, dass eine Modulo-Arithmetik extra auf
einem Prozessor implementiert werden muss, obgleich sie für weitere
Berechnungen nicht mehr erforderlich ist. Ein weiterer Nachteil
der Modulo-Arithmetik besteht darin, dass sie insbesondere für Echtzeitanwendungen
zeitaufwendig ist, da sie üblicherweise
durch einen Modulsubtraktionsalgorithmus implementiert wird. Dies
bedeutet, dass von einem Wert, der einer Modulo-Reduktion zu unterziehen
ist, zunächst
der Modul einmal subtrahiert wird, um dann festzustellen, ob das
Ergebnis bereits kleiner als der Modul ist. Wird dies bejaht, so ist
die Modulo-Operation beendet. Wird dies jedoch nicht bejaht, so
wird eine erneute Subtraktion des Moduls von dem Ergebnis durchgeführt, um
dann wieder zu sehen, ob das Ergebnis nunmehr kleiner als der Modul
ist.A disadvantage of the basis of 9 and 10 The procedure described is the fact that when decoding the individual levels always different levels of decision options, ie different many optimal constellation points remain, to which the reception value could be assigned. These differently many choices are in line 90 from 9 eight, in line 92 from 9 four and in line 94 from 9 two choices. As a result, in the first decoder iteration, those in 9 It is shown that complex modulo operations are necessary on the fine levels to reduce the decision possibilities "virtually" to 2. The modulo arithmetic is complex in its implementation and, in contrast to integer arithmetic, in a signal processor is sometimes only used for the in 9 described procedure needed, but otherwise not. This means that modulo arithmetic must be extra implemented on a processor, although it is no longer needed for further calculations. Another disadvantage of modulo arithmetic is that it is time consuming, especially for real-time applications, as it is usually implemented by a modulus subtraction algorithm. This means that, from a value to be modulo-reduced, the modulus is first subtracted once to see if the result is already smaller than the modulus. If yes, the modulo operation is completed. However, if this is not answered in the affirmative, a further subtraction of the module from the result is carried out, and then again to see whether the result is now smaller than the module.
Wird
dies bejaht, so ist die Modulo-Operation nach zwei Iterationen beendet.
Wird jedoch immer noch festgestellt, dass das Ergebnis größer als
der Modul ist, so muss eine erneute Modul-Subtraktion durchgeführt werden,
um eine anschließende
Entscheidung zu treffen, ob das wiederum erhaltene Ergebnis kleiner
als der Modul ist. Daraus wird ersichtlich, dass in dem Fall, in
dem die zu reduzierende Zahl relativ groß ist, aufgrund der Implementation
der modularen Reduktion durch Subtraktion mehrere – nicht
paral lelisierbare – Iterationen
anfallen können. Dies
führt dazu,
dass erhebliche Rechenzeiteinbußen
hingenommen werden müssen,
die insbesondere für
Echtzeitanwendungen nachteilhaft sind.Becomes
if so, the modulo operation is finished after two iterations.
However, it is still found that the result is greater than
the module is, a new module subtraction must be carried out,
to a subsequent
Decide whether the result obtained is smaller
as the module is. It can be seen that in the case, in
the number to be reduced is relatively large due to the implementation
the modular reduction by subtraction multiple - not
paral lelisable - iterations
may be incurred. This
leads to,
that significant computing time losses
have to be tolerated
especially for
Real-time applications are disadvantageous.
Zusammenfassend
bedeutet dies, dass die anhand der 9 und 10 beschriebene
iterative Vorgehensweise zur Gewinnung von Wahrscheinlichkeitsinformationen
für einen
Trellis-Decodierer
zu einem erhöhten
Aufwand und zu einer erhöhten
Rechenzeit führt.In summary, this means that the basis of the 9 and 10 described iterative approach for obtaining probability information for a trellis decoder to increased effort and an increased computing time leads.
Die DE 197 25 275 C2 offenbart
ein Verfahren zur Decodierung von block- oder faltungscodierten
digitalen Signalen, das die Decodierung mittels eines nicht-linearen
Decodiernetzwerkes vornimmt, das aus den Code- oder Paritätsgleichungen
abgeleitet wird, wobei alle Bits oder Symbole durch ihre Loglikelihood-Werte
als reelle Größen dargestellt
und in einem Netzwerk als durch die Code- oder Paritätsgleichungen
verbundenen Symbole durch ein „Boxplus"-Element verbunden
werden, das durch die Verknüpfung
von Loglikelihood-Verhältnis-Werten
von Wahrscheinlichkeiten binärer
Bits durch eine Tangenshyperbolicusgleichung definiert ist. Damit
kann ohne Verzögerung
entschieden werden werden keine Informationen verschwendet und wird
hoch-parallel und integriert gearbeitet, da mit zeit- und wertkontinuierlich
arbeitenden Schaltungen implementiert werden kann.The DE 197 25 275 C2 discloses a method of decoding block or convolutionally encoded digital signals that performs decoding using a non-linear decoding network derived from the code or parity equations, where all bits or symbols are represented by their log-likelihood values as real magnitudes and in to a network as symbols connected by the code or parity equations through a Boxplus element defined by linking log likelihood ratio values of binary bit probabilities through a tangent hyperbolic equation wastes and is worked in a high-parallel and integrated way, since it can be implemented with time-continuous and value-continuous circuits.
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein effizienteres
Konzept zum Decodieren eines Empfangssignals zu schaffen.The
The object of the present invention is to provide a more efficient
Concept for decoding a received signal to create.
Diese
Aufgabe wird durch ein Verfahren zum Decodieren eines Empfangssignals
nach Patentanspruch 1, eine Vorrichtung zum Decodieren eines Empfangssignals
nach Patentanspruch 18 oder ein Computer-Programm nach Patentanspruch
19 gelöst.These
The object is achieved by a method for decoding a received signal
according to claim 1, an apparatus for decoding a received signal
according to claim 18 or a computer program according to claim
19 solved.
Der
vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass die aufwendige
Modulo-Arithmetik überflüssig ist,
wenn eine Mehrpunktentscheidung dahingehend durchgeführt wird,
dass im Gegenstand zum Stand der Technik, bei dem eine „Zusammenführung" vor der ersten Wahrscheinlichkeitszuordnung
durchgeführt
wird, nunmehr anstatt einer Zusammenführung auf lediglich zwei unterschiedliche Entscheidungszustände eine
Wahrscheinlichkeitszuordnung gemäß einer
vorbestimmten Zuordnungsfunktion durchgeführt wird. Vorteilhafterweise
wird diese Zuordnung für
jeden Zahlenwert, der eine I-Komponente
oder eine Q-Komponente darstellt, durchgeführt. Damit ergibt sich eine
vorbestimmte Zuordnungsfunktion, die eine Mehrzahl von Extremwerten
hat, und zwar insbesondere so viel Extremwerte hat, wie viele verschiedene
Zustände
der I-Komponente oder der Q-Komponente durch das Konstellationsdiagramm
festgelegt sind. Dieses Prozedere wird unter Verwendung der für einen
niedrigeren Level erhaltenen Ergebnisse für die höheren Levels in aufsteigender
Reihenfol ge wiederholt, wobei für
sämtliche
Levels außer
dem höchsten
Level entsprechende Mehrpunktentscheidungen durchgeführt werden,
ohne dass teuer zu implementierende und im Zeitaufwand problematische
Modulo-Operationen nötig
sind.The present invention is based on the recognition that the complex modulo arithmetic is superfluous when a multipoint decision is made in that in the subject of the prior art, in which a "merge" is performed before the first probability assignment, now instead of an a probability assignment according to a predetermined assignment function is performed on only two different decision states. Advantageously, this assignment is performed for each numerical value representing an I-component or a Q-component. This results in a predetermined allocation function having a plurality of extreme values, in particular having as many extreme values as many different states of the I-component or the Q-component are determined by the constellation diagram. This procedure is repeated using the lower level results for the higher levels in ascending order, with multi-point decisions being made for all levels except the highest level, without the need for costly implementation and time-consuming modulo operations.
In
anderen Worten ausgedrückt
betrifft die vorliegende Erfindung ein Verfahren zum Decodieren eines
Empfangssignals, dem eine komplexe Modulation zugrunde liegt, die
durch ein Konstellationsdiagramm definiert ist, das Zustände aufweist,
deren In-Phase-Komponenten und Quadratur-Komponenten durch jeweils
zumindest zwei Informationsbits festgelegt sind. Das Empfangssignal
wird mit Hilfe eines Multilevel-Decodierungsschemas
decodiert, das einen Kanaldecoder beinhaltet der Wahrscheinlichkeitsinformationen
verarbeitet und je Codierungslevel in einer oder mehreren Decodierungsiterationen ausgeführt wird.
Die verwendete Wahrscheinlichkeitsinformation liegt je Level und
Iteration in einer Tabelle oder Zuordnungsfunktion vor und erlaubt
(im Gegensatz zum Stand der Technik) Mehrpunktentscheidungen in
einem Schritt.In
in other words
The present invention relates to a method for decoding a
Receiving signal, which is based on a complex modulation, the
is defined by a constellation diagram that has states
their in-phase components and quadrature components respectively
at least two information bits are fixed. The received signal
is done using a multilevel decoding scheme
which decodes a channel decoder of the likelihood information
is processed and executed per coding level in one or more decoding iterations.
The probability information used is per level and
Iteration in a table or assignment function before and allowed
(in contrast to the prior art) multipoint decisions in
a step.
Bei
einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung wird das Eingangssignal durch die Verwendung
von Integer-Arithmetik quantisiert, so dass die Festlegung einer
Wahrscheinlichkeit zu einem Zahlenwert gemäß der vorbestimmten Zuordnungsfunktion
durch einen Tabellenzugriff stattfinden kann. Das heißt, die
vorbestimmte Zuordnungsfunktion ist tabellarisch gespeichert. Damit
wird die aufwendige Modulo-Operation zur Reduzierung der Entscheidungsmöglichkeiten
und die Distanzberechnung zur Gütebestimmung
eines Empfangspunkts (Entscheidungskriterium) durch einen schnellen
Tabellen-Zugriff bezüglich
der Signalpunkt-Wahrscheinlichkeit
für den
Zahlenwert ersetzt. Damit ergibt sich während der Laufzeit deutlich
weniger Rechenaufwand für
den erfindungsgemäßen Decodierer,
da die Tabellen für
jeden Level nur bei der Initialisierung des Decodierers einmal erstellt
werden müssen.
Selbst wenn jedoch Floating-Point-Arithmetik
verwendet wird und somit die vorbestimmte Zuordnungsfunktion zur
Zuordnung einer Wahrscheinlichkeit zu einem Zahlenwert nicht unbedingt
als Tabelle implementiert ist, sondern fest verdrahtet oder analytisch
berechnet wird (die vorbestimmte Zuordnungsfunktion besteht aus
stückweise
stetigen Funktionen), so finden bereits ein Geschwindigkeitsvorteil und
ein Kostenvorteil dadurch statt, dass keine Modulo-Operationen durchgeführt werden
müssen,
um die Anzahl der Entscheidungsmöglichkeiten
auf zwei zu reduzieren.at
a preferred embodiment of
present invention, the input signal through the use
quantized by integer arithmetic, allowing the determination of a
Probability to a numerical value according to the predetermined allocation function
can take place through a table access. That is, the
predetermined assignment function is stored in tabular form. In order to
is the elaborate modulo operation to reduce the decision options
and the distance calculation for determining the quality
of a reception point (decision criterion) by a fast one
Table access regarding
the signal point probability
for the
Number replaced. This results clearly during the term
less calculation effort for
the decoder according to the invention,
because the tables for
created each level only once during the initialization of the decoder
Need to become.
Even though, floating point arithmetic
is used and thus the predetermined assignment function for
Not necessarily assigning a probability to a numeric value
is implemented as a table, but hardwired or analytic
is calculated (the predetermined assignment function consists of
piecemeal
steady functions), so already find a speed advantage and
a cost advantage in that no modulo operations are performed
have to,
by the number of decision options
to reduce to two.
Bei
einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung finden sämtliche
weiteren Schritte zum Decodieren durch eine Integer-Arithmetik statt,
so dass ein erfindungsgemäß ausgeführter Decodierer überhaupt
keine Modulo-Funktionalität benötigt, was
sich insbesondere für
platzkritische Anwendungen in einer reduzierten Chipfläche und
allgemein in reduzierter Systementwicklungszeit und daher reduzierten
Chipkosten bemerkbar macht.at
a preferred embodiment of
All of the present invention will find
further steps to decode by integer arithmetic,
so that an inventively executed decoder at all
no modulo functionality needed what
especially for
space-critical applications in a reduced chip area and
generally in reduced system development time and therefore reduced
Chip costs noticeable.
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:preferred
embodiments
The present invention will be described below with reference to FIG
the accompanying drawings explained in detail. Show it:
1 ein
Blockschaltbild für
das erfindungsgemäße Konzept
zum Decodieren eines Empfangssignals; 1 a block diagram of the inventive concept for decoding a received signal;
2 ein
Konstellationsdiagramm einer Quadraturamplitudenmodulation mit 64
Zuständen; 2 a constellation diagram of 64-state quadrature amplitude modulation;
3 ein
Konstellationsdiagramm einer Quadraturamplitudenmodulation mit 16
Zuständen; 3 a constellation diagram of a quadrature amplitude modulation with 16 states;
4 ein
Blockschaltbild eines typischen Senders; 4 a block diagram of a typical transmitter;
5 ein
Blockschaltbild eines typischen Empfängers; 5 a block diagram of a typical receiver;
6 ein
Blockschaltbild eines Kanal-Codierers gemäß dem DRM-Standard; 6 a block diagram of a channel encoder according to the DRM standard;
7 ein
Diagramm zur Verdeutlichung des erfindungsgemäßen Konzepts in einer ersten
Iterationsstufe; 7 a diagram to illustrate the inventive concept in a first iteration stage;
8 eine
Darstellung zur Erläuterung
des erfindungsgemäßen Konzepts
für eine
zweite Iterationsstufe; 8th a representation for explaining the inventive concept for a second iteration stage;
9 eine
Darstellung zur Erläuterung
des Zusammenführens
von verschiedenen Konstellationszuständen auf zwei virtuelle Zustände; und 9 a representation for explaining the merging of different constellation states to two virtual states; and
10 eine
Darstellung einer 9 nachgeschalteten zweiten Iterationsstufe. 10 a representation of a 9 downstream second iteration stage.
1 zeigt
eine Darstellung des Verfahrens zum Decodieren eines Empfangssignals,
dem eine komplexe Modulation zugrunde liegt, wobei die Modulation
durch ein Konstellationsdiagramm definiert ist, das Zustände aufweist,
deren In-Phase-Komponenten
und Quadratur-Komponenten durch jeweils zumindest zwei Informationsbits
festgelegt sind. In diesem Fall, in dem die In-Phase-Komponente
und die Quadratur-Komponente durch zumindest zwei Informationsbits
festgelegt sind, kann eine Multilevel-Codierung oder ein Multilevel-Mapping
angewendet werden. 1 1 shows a representation of the method for decoding a received signal on which a complex modulation is based, wherein the modulation is defined by a constellation diagram having states whose in-phase components and quadrature components are each defined by at least two information bits. In this case, where the in-phase component and the quadrature component are defined by at least two information bits, multilevel coding or multilevel mapping may be applied.
Die
erfindungsgemäße Vorrichtung
umfasst eine Einrichtung 10 zum Erhalten einer Folge von Zahlenwerten,
wobei ein Zahlenwert eine In-Phase-Komponente oder eine Quadratur-Komponente darstellt.
Der Einrichtung 10 ist eine Einrichtung 12 zum
Festlegen einer Wahrscheinlichkeit für jeden Zahlenwert nachgeschaltet.
Die Einrichtung 12 arbeitet gemäß einer vorbestimmten Zuordnungsfunktion, wobei
die Wahrscheinlichkeit davon abhängt,
wie wahrscheinlich ein Informationsbit der In-Phase- oder der Quadratur-Komponente,
die durch den Zahlenwert dargestellt ist, einen vorbestimmten binären Zustand
hat. Am Ausgang dieser Einrichtung wird eine Folge von Wahrscheinlichkeiten
für die
Informationsbits der In-Phase-Komponente oder der Quadratur-Komponente
er halten. Insbesondere wird eine Folge von Wahrscheinlichkeiten
für die
Informationsbits erhalten, die in einem ersten Durchgang betrachtet
werden. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden
Erfindung sind diese Informationsbits die niederstwertigen Informationsbits
(niederste Ebene von Informationsbits) der In-Phase-Komponente oder
der Quadratur-Komponente. Die Ermittlung der niederstwertigen Bits
(d. h, der niedersten Ebene von Informationsbits) wird verwendet, da,
wie es gemäß 6 ausgeführt worden
ist, diesen Bits im Kanal-Codierer 41 von 4 die
meiste Redundanz eingeprägt
worden ist.The device according to the invention comprises a device 10 for obtaining a sequence of numerical values, wherein a numerical value represents an in-phase component or a quadrature component. The device 10 is a facility 12 to set a probability for each numerical value. The device 12 operates according to a predetermined assignment function, the probability depending on how likely an information bit of the in-phase or quadrature component represented by the numerical value has a predetermined binary state. At the output of this device is a sequence of probabilities for the information bits of the in-phase component or the quadrature component he hold. In particular, a sequence of probabilities is obtained for the information bits considered in a first pass. In a preferred embodiment of the present invention, these information bits are the least significant information bits (lowest level of information bits) of the in-phase component or the quadrature component. The determination of the least significant bits (i.e., the lowest level of information bits) is used because, as shown in FIG 6 has been executed, these bits in the channel encoder 41 from 4 most redundancy has been impressed.
Der
Einrichtung 12 nachgeschaltet ist eine Einrichtung 14 zum
Decodieren der Folge von Wahrscheinlichkeiten, um eine Folge von
decodierten Informationsbits zu erhalten. Der Decodierer 14 ist
ausgebildet, um Wahrscheinlichkeitsinformationen zu verarbeiten.
In anderen Worten ausgedrückt
handelt es sich bei dem Decodierer 14 um einen Soft-Input-Decodierer, wie z.
B. einen Viterbi-Decodierer.The device 12 Downstream is a facility 14 for decoding the sequence of probabilities to obtain a sequence of decoded information bits. The decoder 14 is designed to process probability information. In other words, the decoder 14 to a soft-input decoder, such. A Viterbi decoder.
Wurde
bei einem dem in 1 gezeigten Decodierer zugrundeliegenden
Codierer im Sender Redundanz hinzugefügt, so wird die Folge von Informationsbits
am Ausgang der Einrichtung 14 zum Decodieren mit genau
diesem Sender-Decodierer wieder encodiert, wobei dieser Vorgang
auch als Re-Encodierung
bezeichnet wird. Damit werden die von den decodierten Informationsbits
abgeleiteten Informationsbits, die auch als re-encodierte Informationsbits
bezeichnet werden können,
erzeugt, deren Anzahl gleich der Anzahl von Zahlenwerten der von
der Einrichtung 10 erhaltenen Folge von Zahlenwerten ist.
In diesem Fall, in dem im Sender ein Redundanz-hinzufügender Codierer
vorgesehen ist, wird also ein in 1 gezeigter
gestrichelter Weg 16 von der Einrichtung 14 zu
einer Einrichtung 18 zum Codieren der decodierten Informationsbits
gewählt,
um die von den decodierten Informationsbits abgeleiteten Informationsbits
zu erhalten.Was at a the in 1 In the transmitter shown underlying decoder added in the transmitter redundancy, so the sequence of information bits at the output of the device 14 for decoding with exactly this transmitter-decoder re-encoded, this process is also referred to as re-encoding. Thus, the information bits derived from the decoded information bits, which may also be referred to as re-encoded information bits, are generated equal in number to the number of numerical values of the device 10 is obtained sequence of numerical values. In this case, in which a redundancy-adding encoder is provided in the transmitter, an in 1 shown dashed path 16 from the institution 14 to a facility 18 to encode the decoded information bits to obtain the information bits derived from the decoded information bits.
Wurde
dagegen im Sender kein Redundanz-hinzufügender Codierer verwendet,
so wird von der Einrichtung 14 über einen weiteren gestrichelten Weg 20 direkt
zu einer Einrichtung 22 zum Zuordnen eines Summanden zu jedem decodierten
Informationsbit gegangen. Der Summand für ein Informationsbit mit einem
ersten binären
Zustand hat ein anderes Vorzeichen als der Summand für ein Informationsbit mit
einem zweiten binären
Zustand, wie es nachfolgend anhand von 7 dargestellt
wird.If, on the other hand, no redundancy-adding coder has been used in the transmitter, then the device is used 14 over another dashed path 20 directly to means 22 for allocating a summand to each decoded information bit. The summand for an information bit having a first binary state has a different sign than the summand for an information bit having a second binary state, as described below with reference to FIG 7 is pictured.
In
einer Einrichtung 24 wird die Folge von Zahlenwerten am
Ausgang der Einrichtung 10 mit den am Ausgang der Einrichtung 22 vorliegenden Summanden
kombiniert, wobei je ein Zahlenwert mit je einem Summanden kombiniert
wird. Dadurch wird eine Folge von Kombinations-Zahlenwerten erhalten.In a facility 24 becomes the sequence of numerical values at the output of the device 10 with the at the exit of the institution 22 combined Summand, where each one numerical value is combined with one summand. Thereby, a sequence of combination numerical values is obtained.
Die
Folge von kombinierten Zahlenwerten wird dann einer Einrichtung 28 zum
erneuten Durchführen
von Schritten des Festlegens einer Wahrscheinlichkeit (Einrichtung 12),
des Decodierens der Folge von Wahrscheinlichkeiten (Einrichtung 14),
gegebenenfalls des Codierens der decodierten Informationsbits (Einrichtung 18),
des Zuordnens eines Summanden (Einrichtung 22) und des
Kombinierens (Einrichtung 24) zugeführt. Der erneute Schritt des Decodierens
der Folge von Wahrscheinlichkeiten für die zweite Ebene von Informationsbits
liefert über
einen Ausgang 26 die decodierten Informationsbits zweiter
Ordnung, also der zweiten Ebene, wobei über diesen Ausgang bei dem
erstmaligen Durchgang bereits die decodierten Informationsbit erster
Ordnung, d. h. der ersten Ebene ausgegeben worden sind. Im Falle
einer 64-QAM stellt jeder Zahlenwert, der durch die Einrichtung 10 erhalten
wird, drei I-Bits oder drei Q-Bits dar. Daher wird die Folge von
kombinierten Zahlenwerten am Ausgang der Einrichtung 24,
die nach dem zweiten Durchgang erhalten wird, erneut der Einrichtung 12 und
der Einrichtung 14 zugeführt, um dann auch die decodierten
Informationsbits dritter Ordnung bzw. der dritten Ebene zu erhalten.The sequence of combined numerical values then becomes a device 28 to re-execute steps of setting a probability (facility 12 ), the decoding of the sequence of probabilities (device 14 ), optionally encoding the decoded information bits (means 18 ), the assignment of a summand (device 22 ) and combining (facility 24 ). The re-step of decoding the sequence of probabilities for the second level of information bits provides via an output 26 the second-order decoded information bits, ie the second level, the first-order decoded information bits, ie the first level, having already been output via this output during the first pass. In the case of a 64-QAM, each numeric value provided by the facility 10 Thus, the sequence of combined numerical values at the output of the device becomes three I-bits or three Q-bits 24 , which is obtained after the second pass, again the device 12 and the facility 14 are supplied to then also the third-order or third-level decoded information bits.
Die
Einrichtung 26 ist daher ausgeführt, um die Schritte des Festlegens,
Decodierens, und falls eine Anzahl von nicht verarbeiteten Ebenen
von Informationsbits größer als
1 ist, des Zuordnens und des Kombinierens für jedes weitere Informationsbit durchzuführen, bis
alle Ebenen von Informationsbits, die eine In-Phase- oder eine Quadratur-Komponente festlegen,
decodiert sind. Damit werden die im Empfangssignal enthaltenen Informationen
wiedergewonnen, wobei in jedem Schritt des Festlegens eine andere
vorbestimmte Zuordnungsfunktion für eine Folge von kombinierten
Zahlenwerten verwendet wird, wie es nachfolgend anhand von 7 erläutert wird.The device 26 is therefore implemented to perform the steps of setting, decoding, and if a number of unprocessed levels of information bits is greater than 1, allocating and combining for each additional information bit until all levels of information bits, which specify an in-phase or a quadrature component are decoded. Thus, the information contained in the received signal is retrieved using a different predetermined allocation function for a sequence of combined numerical values in each step of setting, as described below with reference to FIG 7 is explained.
Die
durch – für die 64-QAM – dreimaligen
Aktivierung der Einrichtung 14 erhaltenen decodierten Informationsbits
erster, zweiter und dritter Ordnung können nunmehr unmittelbar ausgegeben
werden. Alternativ, um die Empfangsfehlerrate zu verkleinern, kann
ein Iterationsmodul angesteuert werden, das verbesserte decodierte
Informationsbits erster, zweiter und dritter Ordnung auf der Basis
der Ergebnisse eines ersten Iterationsschritts liefert, der abgeschlossen
ist, wenn die Einrichtung 26 zum erneuten Durchführen in
diesem ersten Iterationsschritt bei ihrem Abbruchkriterium angelangt
ist, das dadurch definiert ist, dass die Informationsbits erster
Ordnung, zweiter Ordnung und dritter Ordnung am Ausgang 26 erhalten
worden sind. Die Funktionsweise des Iterationsmoduls 30 wird
Bezug nehmend auf 8 dargestellt und entspricht
im wesentlichen der anhand von 10 dargestellten
Vorgehensweise.The through - for the 64-QAM - three times activation of the device 14 obtained decoded information bits first, second and third order can now be output directly. Alternatively, to reduce the receive error rate, an iteration module may be triggered that provides improved first, second, and third order decoded information bits based on the results of a first iteration step that is completed when the device 26 for re-performing in this first iteration step has arrived at its abort criterion defined by the first-order, second-order and third-order information bits at the output 26 have been obtained. The operation of the iteration module 30 is referred to 8th represented and corresponds essentially to the basis of 10 illustrated approach.
Im
nachfolgenden wird das erfindungsgemäße Konzept anhand von 7 und
anhand des in 2 gezeigten Konstellationsdiagramms
beispielhaft dargestellt. Die von der erfindungsgemäßen Vorrichtung
zum Decodieren verarbeiteten Folge von Zahlenwerten könnte prinzipiell
die über
den I-Ausgangszweig
des Blocks 54 oder den Q-Zweig des Blocks 54 ausgegebene
Folge von Zahlenwerten sein, die eine Folge von In-Phase-Komponenten bzw.
eine Folge von Quadratur- Komponenten
darstellen. Bei einem bevorzugten Ausführungsbeispiel liegen die Zahlenwerte
der Folge von Zahlenwerten als 8-Bit-Zahlenwerte vor und sind deshalb
auf einen durch acht Bits darstellbaren Zahlenbereich normiert, so
dass lediglich Integer-Arithmetikstufen erforderlich sind. Dazu
passend wird bei dem in 7 gezeigten Beispiel in Anlehnung
an das Konstellationsdiagramm von 2 der Zahlenbereich
von ebenfalls -127 bis +127 festgelegt. Die erste Zeile 70 von 7 stellt
somit beispielhaft die imaginäre
Achse von 2 abgebildet auf den Wertebereich
der 8-Bit-Zahlenwerte
dar, wobei sich dieser Wertebereich von -127 bis +127 erstreckt.
Entlang einer Ordinatenachse des Teilbilds 70 von 7 ist
die Wahrscheinlichkeit aufgetragen, dass ein Zahlenwert zwischen
-127 und +127, der ja drei Informationsbits darstellt, als erstes
einen binären
Zustand darstellt, der eine binäre „0" ist.In the following, the inventive concept is based on 7 and based on the in 2 shown constellation diagram exemplified. The sequence of numerical values processed by the device according to the invention for decoding could in principle be the one across the I-output branch of the block 54 or the Q branch of the block 54 output sequence of numerical values representing a sequence of in-phase components or a sequence of quadrature components. In a preferred embodiment, the numerical values of the sequence of numerical values are available as 8-bit numerical values and are therefore normalized to a number range which can be represented by eight bits, so that only integer arithmetic levels are required. Matching will be in the in 7 shown example based on the constellation diagram of 2 the number range is also set from -127 to +127. The first line 70 from 7 thus exemplifies the imaginary axis of 2 mapped to the value range of the 8-bit numerical values, this range of values extending from -127 to +127. Along an ordinate axis of the partial image 70 from 7 the probability is plotted that a numerical value between -127 and +127, which represents three information bits, is the first to represent a binary state which is a binary "0".
Die
vorbestimmte Zuordnungsfunktion in 7, die die
Zick-Zack-Linie im Teilbild 70 ist, ist daher bei einem
bestimmten Wert des 8-Bit-Zahlenwerts hoch, bei dem das erste Bit
eine „0" ist, und ist bei
einem bestimmten Zahlenwert, bei dem das erste Bit eine „1" ist, niedrig. Bei
Zahlenwerten, die genau zwischen zwei Konstellations-Zuständen liegen,
ist die Wahrscheinlichkeit 50:50, d. h. es kann nicht gesagt werden,
ob dieser Zahlenwert mit größerer Wahrscheinlichkeit
einem Konstellations-Zustand entspricht, der als erstes Bit eine „1" aufweist, oder der
als erstes Bit eine „0" aufweist. Selbstverständlich könnte die
in 7 im Teilbild 70 gezeigte vorbestimmte
Zuordnungsfunktion invertiert sein, wobei dann die Wahrscheinlichkeit
angegeben wäre,
ob ein Zahlenwert einen Konstellations-Zustand darstellt, der als
erstes Bit eine „1" darstellt.The predetermined assignment function in 7 showing the zigzag line in the drawing file 70 is therefore high at a certain value of the 8-bit numerical value where the first bit is a "0", and is low at a certain numerical value where the first bit is a "1". For numerical values lying exactly between two constellation states, the probability is 50:50, ie it can not be said whether this numerical value is more likely to correspond to a constellation state having a "1" as the first bit, or as the first bit has a "0". Of course, the in 7 in the drawing file 70 shown predefined assignment function, then the probability would be indicated whether a numerical value represents a constellation state, which represents a "1" as the first bit.
Aus
dem Teilbild 70 von 7 ist zu
sehen, dass der Zahlenbereich, in dem Zahlenwert liegen können, in
16 Bereiche aufgeteilt ist, also in das Doppelte der Zustände, die
durch die 3-Bit-Quadratur-Komponente bzw. 3-Bit-In-Phase-Komponenten darstellbar
sind.From the drawing file 70 from 7 It can be seen that the numeric range in which the numerical value can lie is subdivided into 16 ranges, ie twice the states that can be represented by the 3-bit quadrature component or 3-bit in-phase components ,
Im
Teilbild 70 von 7 sind ferner unter die vorbestimmte
Zuordnungsfunktion für
das Beispiel eines Zahlenbereichs, der durch eine 8-Bit-Zahl darstellbar
ist, die Zahlenwerte eingetragen, bei denen die Wahrscheinlichkeit,
dass ein Konstellations-Zustand ein niederstwertiges Bit mit einer „1" oder einer „0" darstellt, maximal
bzw. minimal ist. Darüber
hinaus sind die Zahlenwerte eingetragen, bei denen lediglich mit
einer 50:50 Wahrscheinlichkeit gesagt werden kann, dass der Zahlenwert
für ein
3-Bit-Wort steht, dessen niederstwertiges Bit eine „1" oder „0" ist. Für Zahlenwerte
von -112, -48, 16, 80 ist die Wahrscheinlichkeit, dass das niederstwertige
Bit, das durch diesen Zahlenwert repräsentiert wird, eine „0" darstellt, minimal.
Diese Punkte sind die Punkte im Konstellationsdiagramm, bei denen
das niederstwertige Bit q0 eine „1" ist.In the drawing file 70 from 7 are further entered under the predetermined assignment function for the example of a number range, which can be represented by an 8-bit number, the numerical values in which the probability that a constellation state is a least significant bit with a "1" or a "0" represents, maximum or minimum. In addition, the numerical values are entered in which it can only be said with a 50:50 probability that the numerical value stands for a 3-bit word whose least significant bit is a "1" or "0". For numerical values of -112, -48, 16, 80, the probability that the least significant bit represented by this numerical value represents a "0" is minimal These points are the points in the constellation diagram where the least significant bit q 0 is a "1".
Die
Zahlenwerte -96, -64, -32, 0, 32, 64 und 96 liegen genau zwischen
zwei Zuständen
im Konstellationsdiagramm. Dies bedeutet, dass bei diesen Zahlenwerten
lediglich mit einer Wahrscheinlichkeit von 50:50 gesagt werden kann,
dass das niederstwertige Bit des 3-Bit-Worts, das durch diesen Zahlenwert
dargestellt wird, eine „1" oder eine „0" ist.The
Numbers -96, -64, -32, 0, 32, 64 and 96 are exactly in between
two states
in the constellation diagram. This means that with these numerical values
can only be said with a probability of 50:50
that is, the least significant bit of the 3-bit word that is represented by this numerical value
is represented, is a "1" or a "0".
Bei
Zahlenwerten von -80, -16, 48 und 112 ist die Wahrscheinlichkeit
maximal, dass das niederstwertige Bit des 3-Bit-Worts, das durch den Zahlenwert
dargestellt wird, eine „0" ist.at
Numbers of -80, -16, 48 and 112 are the probability
maximum, that is the least significant bit of the 3-bit word by the numerical value
is represented, a "0" is.
Aus
dem ersten Teilbild 70 von 7 ist somit
zu sehen, dass das Konstellationsdiagramm direkt auf einen Zahlenstrahl
abgebildet ist, der den Wertebereich umfasst, in dem ein Zahlenwert
der Folge von Zahlenwerten liegen kann.From the first drawing 70 from 7 Thus, it can be seen that the constellation diagram is mapped directly onto a number line that includes the range of values in which a numerical value of the sequence of numerical values can lie.
Bei
einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung ist die Zuordnungsfunktion, die als Zick-Zack-Linie im Teilbild 70 dargestellt ist,
tabellarisch abgespeichert. Die Festlegung einer Wahrscheinlichkeit
für ei nen
Zahlenwert gemäß der vorbestimmten
Zuordnungsfunktion findet somit allein durch einen schnell durchzuführenden
Tabellenzugriff statt. Insbesondere für Echtzeitanwendungen ist dieses
Ausführungsbeispiel
geeignet, da die Tabelle nur einmal aufgebaut werden muss. Dieses
Tabellenaufbauen muss jedoch nicht zur Echtzeit stattfinden, so
dass auf Kosten des Erstellens und Einspeicherns dieser Tabelle
beispielsweise in einen digitalen Signalprozessor ein sehr schneller
Echtzeitbetrieb möglich
wird. Insbesondere ist zu sehen, dass aufgrund der in dem Teilbild 70 von 7 dargestellten
Mehrpunktentscheidung keine Modulo-Reduktionen wie bei dem in 9 gezeigten
Szenario erforderlich sind.In a preferred embodiment of the present invention, the allocation function is on, as a zigzag line in the drawing file 70 is shown in tabular form. The determination of a probability for a numerical value according to the predetermined assignment function thus takes place solely by means of a table access which is to be carried out quickly. This embodiment is suitable in particular for real-time applications since the table only has to be set up once. However, this table construction does not have to take place in real time, so at the expense of creating and storing this table, for example, a very fast real-time operation becomes possible in a digital signal processor. In particular, it can be seen that due to the in the partial image 70 from 7 shown multipoint decision no modulo reductions as in the 9 required scenario are required.
Abweichend
vom gezeigten Ausführungsbeispiel
und je nach Anwendungsfall muss als vorbestimmte Zuordnungsfunktion
nicht unbedingt eine Zuordnungsfunktion verwendet werden, die aus stückweise
linearen Funktionen zusammengesetzt ist. Statt dessen könnte auch
eine vorbestimmte Zuordnungsfunktion verwendet werden, die aus beliebig
geformten stückweise
stetigen Funktionen zusammengesetzt ist. Allgemein gesagt ist die
vorbestimmte Zuordnungsfunktion von dem Zahlenwert, der beispielsweise
der Quadratur-Komponente eines Zustands im Konstellationsdiagramm
entspricht, bis zu der Quadraturkomponente eines benachbarten Zustands
im Konstellationsdiagramm monoton steigend (von „111" bis „011") oder monoton fallend (von „011" bis „101"), wobei die Anzahl
der lokalen Extremwerte gleich der Anzahl von Zuständen der In-Phase-Komponente
oder der Quadratur-Komponente ist, und wobei die Anzahl der lokalen
Maxima gleich der Anzahl der lokalen Minima ist. Aus einem Vergleich
von 7 mit 2 wird ferner ersichtlich, dass
für abweichende
Konstellationsdiagramme auch abweichende vorbestimmte Zuordnungsfunktionen
entstehen, da die vorbestimmte Zuordnungsfunktion eine Abbildung
entweder der imaginären Achse
oder der reellen Achse auf den Zahlenbereich darstellt, in dem ein
Zahlenwert der Folge von Zahlenwerten (Ausgang von Block 54 in 5),
welcher zu decodieren ist, liegen kann.Notwithstanding the embodiment shown and depending on the application must not be used as a predetermined assignment function necessarily a mapping function, which is composed of piecewise linear functions. Instead, a predetermined mapping function composed of arbitrarily shaped piecewise continuous functions could also be used. Generally speaking, the predetermined mapping function is monotonically increasing (from "111" to "011") or monotonically decreasing (from "111" to "011") from the numerical value corresponding to, for example, the quadrature component of a state in the constellation diagram to the quadrature component of an adjacent state in the constellation diagram "to" 101 "), wherein the number of local extreme values is equal to the number of states of the in-phase component or the quadrature component, and wherein the number of local maxima is equal to the number of local minima. From a comparison of 7 With 2 Furthermore, it can be seen that for deviating constellation diagrams also different predetermined assignment functions arise, since the predetermined assignment function represents an image of either the imaginary axis or the real axis on the numerical range in which a numerical value of the sequence of numerical values (output of block 54 in 5 ), which is to be decoded.
Nach
Zuordnung einer Wahrscheinlichkeit zu einem Zahlenwert wird dieses
Prozedere für
mehrere Zahlenwerte der Folge von Zahlenwerten wiederholt, so dass
eine Folge von Wahrscheinlichkeiten für die Informationsbits der
entsprechenden Wertigkeit erhalten wird. Werden im ersten Durchgang
die Informationsbits der In-Phase-Komponenten decodiert, die die
niedrigste Wertigkeit haben (z. B. i0 oder
q0), so wird eine Folge von Wahrscheinlichkeiten
für die niederstwertigen
Bits aufeinanderfolgender In-Phase-Komponenten oder Quadratur-Komponenten
erhalten. Werden dagegen im ersten Durchgang nicht die niederstwertigen
Bits ermittelt, sondern die zweit-niederstwertigen Bits (i1, q1) oder die höchstwertigen
Bits (i2, q2), so
wird eine entsprechende Folge von Wahrscheinlichkeiten für Informationsbits
der entsprechenden Wertigkeiten erhalten.After assigning a probability to a numerical value, this procedure is repeated for a plurality of numerical values of the sequence of numerical values, so that a sequence of probabilities for the information bits of the corresponding significance is obtained. If in the first pass the information bits of the in-phase components having the lowest significance (eg i 0 or q 0 ) are decoded, a sequence of probabilities for the least significant bits of successive in-phase components or quadrature components is decoded. Components received. If, on the other hand, it is not the least significant bits that are determined in the first pass but the second least significant bits (i 1 , q 1 ) or the most significant bits (i 2 , q 2 ), a corresponding sequence of probabilities for information bits of the corresponding significances is obtained.
Die
Folge von Wahrscheinlichkeiten wird dann in einen Viterbi-Decodierer
eingespeist, der auf der Basis eines Trellis-Diagramms, das von
der Beschaffenheit des Kanal-Codierers 41 von 4 abhängt, decodierte
Informationsbits ausgibt, die beim dargestellten Ausführungsbeispiel
die niederstwertigen Bits der decodierten In-Phase-Komponenten oder
der decodierten Quadratur-Komponenten sind. Wurde im Sender eine
Kanal-Codierung durch einen Kanal-Codierer 41 von 4 durchgeführt, so
ist die Anzahl der decodierten Informationsbits kleiner als die
Anzahl der verarbeiteten Folge von Zahlenwerten. Daher wird eine
erneute Codierung dieser decodierten Informationsbits durchgeführt, um
eine Folge von den decodierten Informationsbits abgeleiteten Informationsbits
zu erhalten. Die erneute Codierung oder Re-Encodierung wird mit
demselben Codierer durchgeführt,
der im Sender verwendet worden ist, und der beispielsweise in 6 dargestellt
ist. Dies bedeutet, dass nicht nur eine Redundanz-Hinzufügung durchgeführt wird,
sondern dass gegebenenfalls auch ein Interleaving durchgeführt wird,
wie es in 6 für die zweite Ordnung (i1, q1) oder die dritte Ordnung
(i2, q2) dargestellt
ist. Am Ende dieses Re-Encodierens, das durch den Block 18 vonThe sequence of probabilities is then fed into a Viterbi decoder, based on a trellis diagram, which depends on the nature of the channel coder 41 from 4 outputs decoded information bits which, in the illustrated embodiment, are the least significant bits of the decoded in-phase components or the decoded quadrature components. Was in the transmitter channel coding by a channel encoder 41 from 4 performed, the number of decoded information bits is less than the number of processed sequence of numerical values. Therefore, a re-encoding of these decoded information bits is performed to obtain a sequence of information bits derived from the decoded information bits. The re-encoding or re-encoding is performed with the same encoder used in the transmitter, and used in e.g. 6 is shown. This means that not only a redundancy addition is performed, but that, if necessary, an interleaving is performed, as in 6 for the second order (i 1 , q 1 ) or the third order (i 2 , q 2 ) is shown. At the end of this re-encoding, that through the block 18 from
1 ausgeführt worden
ist, liegt eine Folge von decodierten Informationsbits vor, wobei
die Anzahl der decodierten Informationsbits gleich der Anzahl von
Zahlenwerten in der Folge von Zahlenwerten ist, die durch die Einrichtung 10 erhalten
wird. 1 has been executed, there is a sequence of decoded information bits, the number of decoded information bits being equal to the number of numerical values in the sequence of numerical values passed through the device 10 is obtained.
Die
Einrichtung 22 zum Zuordnen eines Summanden ist bei dem
in 7 erläuterten
Ausführungsbeispiel
ausgebildet, um immer zwei benachbarte Zustände im Konstellationsdiagramm „zusammenzulegen". Dies bedeutet,
dass beispielsweise aus den im Teilbild 70 dargestellten
Konstellationspunkten „100" und „000" durch Zuordnen von
Summanden und anschließendes
Kombinieren ein neuer Konstellationspunkt „x00" ermittelt wird. Damit wird in dem mit
Level 1 bezeichneten Teilbild 71 die Anzahl der Entscheidungszustände halbiert,
und gleichzeitig rücken
die einzelnen Entscheidungszustände
weiter auseinander. Der Wertebereich, der entlang der x-Achse des Teilbilds 71 aufgetragen
ist, entspricht dem Wertebereich des Teilbilds 70.The device 22 for assigning a summand is in the in 7 The exemplary embodiment described is designed to "combine" two adjacent states in the constellation diagram, which means, for example, that in the partial image 70 By means of assigning summands and then combining, a new constellation point "x00" is determined, thus making up the sub-picture designated by Level 1 71 the number of decision states is halved, and at the same time the individual decision states move further apart. The range of values along the x-axis of the field 71 is applied, corresponds to the value range of the partial image 70 ,
Bei
einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung wird, falls ein decodiertes Informationsbit
am Ausgang des Codierers 18 von 1 eine „1" hat, eine Zahl (ein
Summand) hinzu addiert, deren Vorzeichen positiv ist, und deren
Betrag gleich dem halben Abstand zwischen den Zuständen „100" und „000" im Teilbild 70 ist.
Da der Abstand für
die in dem Teilbild 70 dargestellte Abbildung die Ganzzahl 32 ist,
wird einem decodierten Informationsbit durch die Einrichtung 22 eine
Zahl „16" zugeordnet, und
zwar mit einem positiven Vorzeichen. Dagegen wird, um die „Zusammenlegung" der beiden Konstellationspunkte
zu erreichen, einem decodierten Informationsbit, das einen binären Wert
von „0" hat, ebenfalls der
Betrag 16 zugeordnet, jedoch mit negativem Vorzeichen.In a preferred embodiment of the present invention, if a decoded information bit is present at the output of the encoder 18 from 1 has a "1", adds a number (a summand) whose sign is positive, and whose amount is equal to half the distance between the zu stand "100" and "000" in the drawing file 70 is. Because the distance for in the sub picture 70 represented figure the integer 32 is a decoded information bit through the device 22 In contrast, in order to achieve the "merging" of the two constellation points, a decoded information bit having a binary value of "0" is also the amount 16 assigned, but with a negative sign.
Es
sei darauf hingewiesen, dass die Summanden mit positivem und negativem
Vorzeichen nicht unbedingt gleich sein müssen. Wünschenswert ist jedoch, dass
die Summe der Summanden gleich dem Abstand zwischen zwei Zuständen im
Teilbild 70 ist, also beim bevorzugten Ausführungsbeispiel 32 beträgt. So könnte jedoch
beispielsweise einem decodierten Informationsbit mit einem binären Wert
von „1" ein Summand lediglich
von „8" zugeordnet werden,
während
dem decodierten Informationsbit mit einem Wert von „0" dann ein Wert von
24 zugeordnet werden würde.
Dies würde
bedeuten, dass der Wert „x00" nicht mehr genau
in der Mitte zwischen „100" und „000" liegen würde, sondern
entweder nach links oder nach rechts von der Mitte versetzt ist.It should be noted that the terms with positive and negative signs do not necessarily have to be the same. However, it is desirable that the sum of the summands be equal to the distance between two states in the field 70 is, so in the preferred embodiment 32 is. However, for example, a decoded information bit having a binary value of "1" could be assigned an addend of only "8", while the decoded information bit having a value of "0" would then be assigned a value of 24. This would mean that the value "x00" would no longer be exactly in the middle between "100" and "000", but is offset either to the left or to the right of the center.
Es
wird daher bevorzugt, dass der „neue" Zustand, der aus der Zusammenführung zweier
benachbarter Zustände
entstanden ist und für
den nächsten
Decodierungslevel zum Einsatz kommt, auf dem Nulldurchgang der aktuell
verwendeten Zuordnungsfunktion zu liegen kommt, also in der Mitte
zwischen den beiden zusammengeführten
Ausgangszuständen.
Beispielsweise werden die im Level 0 decodierten Zustände „000" und „100" durch zwei Summanden „-16" bzw. „+16" zu dem neuen Zustand „x00" für Level
1 vereinigt. Allgemein werden also Zustände mit gleichem Bitmuster
auf noch nicht decodierten Ebenen vereinigt, da über die Unterschiede auf den
bereits decodierten Ebenen schon entschieden wurde und diese somit
für die
weitere Verarbeitung nicht mehr von Bedeutung sind.It
Therefore, it is preferred that the "new" state resulting from the merger of two
neighboring states
has arisen and for
the next
Decoding level is used, at the zero crossing of the current
used assignment function comes to rest, so in the middle
merged between the two
Output states.
For example, the states "000" and "100" decoded in level 0 are changed by two summands "-16" and "+16", respectively, to the new state "x00" for level
1 united. Generally, therefore, states with the same bit pattern become
united on undecoded levels, because of the differences on the
already decoded levels has already been decided and this thus
for the
further processing are no longer of importance.
Nachdem
die Einrichtung 22 zum Zuordnen eines Summanden sämtlichen
decodierten Informationsbits, die der durch die Einrichtung 10 erhaltenen Folge
von Zahlenwerten entsprechen, Summanden zugeordnet hat, wird jeder
Zahlenwert mit einem Summanden kombiniert, um eine Folge von kombinierten
Zahlenwerten zu erhalten. Diese Folge von kombinierten Zahlenwerten
wird dann die im Teilbild 71 dargestellte vorbestimmte
Zuordnungsfunktion verwenden, die ähnlich der vorbestimmten Zuordnungsfunktion
im ersten Durchgang ist, indem sie stückweise stetig ist und monoton
steigende und monoton fallende Abschnitte hat. Die Anzahl der Extrema
ist nun jedoch halb so groß,
was durch das „Zusammenfügen" durch Zuordnen von
Summanden und Kombinieren der Zahlenwer te mit den Summanden erreicht
wird. Durch Anwenden der im Teilbild 71 dargestellten vorbestimmten
Zuordnungsfunktion auf die kombinierten Zahlenwerte wird eine Folge
von Wahrscheinlichkeiten erhalten, dahingehend, dass ein kombinierter
Zahlenwert ein 3-Bit-Binärwort
für eine
In-Phase-Komponente
oder eine Quadratur-Komponente repräsentiert, dessen zweites Bit bzw.
Bit zweiter Ordnung den binären
Zustand „0" oder „1" hat. Diese Folge
von Wahrscheinlichkeiten für
die Informationsbits zweiter Ordnung werden dann wieder mit dem
Viterbi-Decodierer decodiert, um eine Folge von decodierten Informationsbits zweiter
Ordnung zu erhalten, die über
den Ausgang 26 von 1 ausgebbar
ist.After the establishment 22 for assigning a summand of all the decoded information bits, that of the device 10 Each number is combined with an addend to obtain a sequence of combined numerical values. This sequence of combined numbers then becomes the one in the field 71 use the predetermined assignment function similar to the predetermined assignment function in the first pass by being piecewise continuous and having monotonically increasing and monotonically decreasing portions. However, the number of extrema is now half as large, which is achieved by "joining together" by adding summands and combining the numbers with the summands 71 a predetermined number of times, a sequence of probabilities is obtained in that a combined numerical value represents a 3-bit binary word for an in-phase component or a quadrature component whose second or second-order bit is the binary one State has "0" or "1". This sequence of probabilities for the second order information bits are then decoded again with the Viterbi decoder to obtain a sequence of decoded second order information bits passing through the output 26 from 1 is dispensable.
Die
Folge von decodierten Informationsbits wird nunmehr mit der Einrichtung 18 zum
Codieren der decodierten Informationsbits erneut codiert, wobei
nun jedoch der zweite Zweig von 6, der die Elemente 61b und 62b umfasst,
zum Codieren verwendet wird, um eine Folge von von den decodierten Informationsbits
abgeleiteten (re-encodierten) Informationsbits zu erhalten, deren
Anzahl gleich der Anzahl der Folge von kombinierten Zahlenwerten
ist.The sequence of decoded information bits is now with the device 18 to encode the decoded information bits again, but now the second branch of 6 who is the elements 61b and 62b is used for encoding to obtain a sequence of (re-encoded) information bits derived from the decoded information bits, the number of which is equal to the number of the sequence of combined numerical values.
Diesen
re-encodierten Informationsbits wird durch die Einrichtung 22 wieder
jeweils ein Summand zugeordnet, wobei das Vorzeichen des zugeordneten Summanden
wieder von dem Zustand des decodierten Informationsbits abhängt. Ist
das decodierte Informationsbit eine „1", so ist das Vorzeichen des Summanden
positiv. Ist dagegen das Vorzeichen des decodierten Informationsbits
eine „0", so ist das Vorzeichen
des zuordneten Summanden negativ. Die Beträge der Summanden für ein decodiertes
Informationsbit mit einem Wert von „0" und einem Wert von „1" sind vorzugsweise gleich, um wieder
zwei Zustände
(x10) und (x00) des Teilbilds 71 in einen „virtuellen" Zustand abzubilden,
der in einem Teilbild 72 von 7 mit „xx0" bezeichnet ist.These re-encoded information bits are passed through the device 22 again associated with each summand, wherein the sign of the associated summand again depends on the state of the decoded information bits. If the decoded information bit is a "1", then the sign of the addend is positive, whereas if the sign of the decoded information bit is a "0", then the sign of the associated addend is negative. The sums of the summands for a decoded information bit having a value of "0" and a value of "1" are preferably equal to again two states (x10) and (x00) of the field 71 to map into a "virtual" state, in a partial image 72 from 7 with "xx0" is designated.
Die
Beträge
der Summanden betragen nunmehr, im Gegensatz zu den ersten Summanden,
den doppelten Wert, nämlich
beim ge zeigten Beispiel den Wert 32. Die Einrichtung 24 zum
Kombinieren ist daher erneut aktiv, um jedem kombinierten Zahlenwert den
durch die Einrichtung 22 zugeordneten Summanden hinzu zu
addieren (unter Berücksichtigung des
entsprechenden Vorzeichens), um dann eine Folge von erneut kombinierten
Zahlenwerten zu erhalten.The amounts of the summands are now, in contrast to the first summands, the double value, namely ge in the example shown, the value 32. The device 24 for combining is therefore again active to each combined numerical value by the device 22 add added summands (taking into account the corresponding sign), and then obtain a sequence of recombined numerical values.
Mit
dieser Folge von erneut kombinierten Zahlenwerten wird wieder in
die Einrichtung 12 eingetreten, um nun jedoch unter Verwendung
der Zuordnungsfunktion aus dem Teilbild 72 zur Ermittlung der
decodierten Informationsbits dritter Ordnung eine Folge von Wahrscheinlichkeiten
zu erhalten, die noch durch die Einrichtung 14 zu decodieren
ist, um über den
Ausgang 26 die decodierten Informationsbits dritter Ordnung
zu erhalten. Zu diesem Zeitpunkt ist die Decodierung abgeschlossen,
und aus der Folge von ursprünglichen
Zahlenwerten wurde, über
eine Folge von 3-Bit-Binärwörtern, die
ursprünglich
einmal durch den Mapper 43 von 4 einem
komplexen Träger
zugeordnet wurden, wieder der Bitstrom am Eingang von Block 60 in 6 rekonstruiert.With this sequence of again combined numerical values will be back in the facility 12 but now using the mapping function from the field 72 to obtain the third-order decoded information bits, a sequence of probabilities still to be obtained by the device 14 to decode is about the output 26 the decoded information bits to get third order. At this point in time, the decoding is complete, and the sequence of original numerical values was, through a series of 3-bit binary words, originally passed through the mapper once 43 from 4 were assigned to a complex carrier, again the bitstream at the input of block 60 in 6 reconstructed.
Zur
Qualitätsverbesserung
wird bei einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung dem in 7 beschriebenen
Prozedere, das auch als erste Iteration bezeichnet wird, eine zweite
Iteration nachgeordnet. Im einzelnen werden nunmehr die durch das
Prozedere von 7 erhaltenen decodierten Informationsbits
zweiter Ordnung (Level 1) und dritter Ordnung (Level 2) durch die
Einrichtung 18 einer Re-Encodierung unterzogen, und dann
mit derselben Summanden-Zuordnung, wie sie anhand von 7 dargestellt
worden ist, verarbeitet, um eine Folge von Summanden zu erhalten,
die mit der Folge von ursprünglichen
Zahlenwerten kombiniert wird. Hierbei wird durch die Einrichtung 24 eine Kombination
durchgeführt,
so dass sich erneut kombinierte Zahlenwerte ergeben, mit denen in
eine Zuordnungsfunktion gegangen wird, die bei 80 in 8 dargestellt
ist. Die Zuordnungsfunktion bei 80 in 8 hat
wieder denselben Wertebereich von -127 bis +127 und ist zwischen
einem Wert -16 bis zu einem Wert +16 monoton steigend und ansonsten
konstant. Daraus wird eine Folge von Wahrscheinlichkeiten für die niederstwertigen
Bits der 3-Bit-Binärworte für I und
Q erhalten, die, wenn sie durch die Einrichtung 14 decodiert
werden, eine verbesserte Folge von Informationsbits erster Ordnung
(Level 0) ergeben, da zusätzlich
die (Redundanz-) Information der anderen beiden Levels aus der vorhergehenden
Iteration ausgewertet wird.For quality improvement, in a preferred embodiment of the present invention, the in 7 described procedure, which is also referred to as the first iteration, followed by a second iteration. In detail, the procedures of 7 obtained decoded information bits of second order (Level 1) and third order (Level 2) by the device 18 subjected to re-encoding, and then with the same summand assignment, as determined by 7 is processed to obtain a sequence of summands which is combined with the sequence of original numerical values. This is by the device 24 performed a combination, so that again combined numerical values result, which is gone into a mapping function, the at 80 in 8th is shown. The assignment function at 80 in 8th again has the same value range from -127 to +127 and is monotonically increasing between a value -16 to a value +16 and otherwise constant. From this a sequence of probabilities is obtained for the least significant bits of the 3-bit binary words for I and Q which, when passed through the device 14 result in an improved sequence of first-order information bits (Level 0), since in addition the (redundancy) information of the other two levels from the previous iteration is evaluated.
Dann
wird unter Verwendung der gerade berechneten Informationsbits erster
Ordnung (Level 0) und den Informationsbits dritter Ordnung (Level
2) aus der ersten Iteration dasselbe Prozedere des Festlegens einer
Wahrscheinlichkeit (Einrichtung 12 von 1),
des Decodierens (Einrichtung 14 von 1) und des
Codierens (Einrichtung 18 von 1) sowie
des Zuordnens (Einrichtung 22 von 1) und des
Kombinierens (Einrichtung 24 von 1) durchgeführt, um
verbesserte Informationsbits der zweiten Ordnung (Level 1) zu erhalten.
Hierzu wird in der Einrichtung 12 zum Festlegen einer Wahrscheinlichkeit eine
vorbestimmte Zuordnungsfunktion verwendet, die bei 81 von 8 dargestellt
ist. Diese vorbestimmte Zuordnungsfunktion ist von einem Wert -32 bis
zu einem Wert +32 monoton steigend und ansonsten konstant. Unter
Verwendung der in der zweiten Iteration berechneten verbesserten
Informationsbits erster und zweiter Ordnung (Level 0 und Level 1) werden
nunmehr noch verbesserte Informationsbits dritter Ordnung (Level
2) unter Verwendung der vorbestimmten Zuordnungsfunktion berechnet,
die bei 82 in 8 dargestellt ist.Then, using the first-order (level 0) and third-order (level 2) information bits just calculated from the first iteration, the same procedure of setting a probability (means 12 from 1 ), decoding (device 14 from 1 ) and coding (device 18 from 1 ) as well as the assignment (device 22 from 1 ) and combining (facility 24 from 1 ) to obtain improved second order (Level 1) information bits. This will be done in the facility 12 used to set a probability a predetermined assignment function, the 81 from 8th is shown. This predetermined mapping function is monotonically increasing from a value -32 to a value +32 and otherwise constant. Using the improved first and second order information bits (Level 0 and Level 1) computed in the second iteration, even better third order information bits (Level 2) are now calculated using the predetermined mapping function that is provided 82 in 8th is shown.
Bei
dem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung wird die Berechnung der Abweichung vom empfangenen
Wert zum optimalen Konstellationspunkt in allen Levels durch einen
Table-Lookup ersetzt. Diese Realisierung ist aus Gründen der
Geschwindigkeitsoptimierung vorteilhaft.at
the preferred embodiment of
The present invention will calculate the deviation from the received
Value for the optimal constellation point in all levels by one
Replaced table lookup. This realization is for the sake of
Speed optimization advantageous.
Die
Modulo-Operation in den feineren Levels der ersten Iteration, die
anhand der 9 dargestellt worden ist, ent fällt komplett,
da unter Verwendung der erfindungsgemäßen vorbestimmten Zuordnungsfunktionen
Mehrpunkt-Metriken eingesetzt werden, d. h. dass zwischen allen
Entscheidungsmöglichkeiten
sofort in einem Schritt gewählt
wird.The modulo operation in the finer levels of the first iteration, based on the 9 ent falls completely, since using the predetermined assignment functions according to the invention multipoint metrics are used, ie that is chosen between all decision-making options immediately in one step.
In
einer Tabelle wird somit die Wahrscheinlichkeit eines jeden möglichen
Empfangswerts innerhalb des zugelassenen Integer-Bereichs z. B.
bezüglich
eines gesendeten Bits 0 abgespeichert. Die Tabelle für das Sendebit
1 ist gegenüber
der für
das Sendebit 0 nur Vorzeichen-invertiert und muss somit nicht erzeugt
und gespeichert werden. Die tabellierten Werte sind entgegengesetzt
zur Distanzberechnung angelegt, d. h. dass eine hohe Wahrscheinlichkeit
einer kleinen Distanz entspricht und umgekehrt. Dies ist jedoch
lediglich für
den Viterbi-Algorithmus von Bedeutung, der jetzt bezüglich der
maximalen und nicht bezüglich
der minimalen Pfadmetrik entscheiden muss.In
a table thus becomes the probability of every possible one
Receive value within the allowed integer range z. B.
in terms of
a transmitted bit 0 is stored. The table for the send bit
1 is opposite
the for
send bit 0 is only sign-inverted and thus does not need to be generated
and saved. The tabulated values are opposite
created for distance calculation, d. H. that a high probability
a small distance and vice versa. This is however
only for
the Viterbi algorithm, which is now relevant to the
maximum and not re
the minimum path metric must decide.
Erfindungsgemäß werden
die einzelnen Levels und Iterationen der Decodierung durch die Verwendung
verschiedener vorbestimmter Zuordnungsfunktionen in Tabellenrealisierung
unterschieden. Außerdem
ist dabei eine getrennte und bessere Berücksichtigung der Randbereiche
ohne zusätzlichen
(Lokalisierungs- oder Unterscheidungs-) Aufwand möglich, als
wenn eine Distanzberechnung eingesetzt wird. Eine Zuordnungsfunktion
mit Sättigung
oder sogar Anstieg der Wahrscheinlichkeit zum Rand hin, bezüglich des äußersten
Konstellationspunktes, ist somit günstiger – anstatt einem Abfallen der
Wahrscheinlichkeit, was dem Anstieg der Distanz entsprechen würde. Es
empfiehlt sich sehr große
Zahlenwerte in den Randbereichen des verwendeten Zahlenbereichs
mit ebenso hoher Wahrscheinlichkeit (Sättigung), wenn nicht mit höherer Wahrscheinlichkeit (Anstieg),
dem äußersten
Konstellationspunkt zuzuordnen, wie einen Zahlenwert der der optimaler
Position des Konstellationspunkts entspricht.According to the invention
the individual levels and iterations of decoding through use
various predetermined assignment functions in table realization
distinguished. Furthermore
is a separate and better consideration of the edge areas
without additional
(Localization or discrimination) effort possible, as
if a distance calculation is used. An assignment function
with saturation
or even increase in probability toward the edge, in terms of outermost
Constellation point, is thus cheaper - instead of a drop in the
Probability, which would correspond to the increase in distance. It
is recommended very large
Numerical values in the border areas of the number range used
with equally high probability (saturation), if not more likely (increase),
the utmost
Assign constellation point, such as a numerical value of the optimal
Position of the constellation point corresponds.
Die
vorbestimmten Zuordnungsfunktionen in Tabellenform sind, wie es
dargestellt worden ist, bei 70, 71, 72, 80, 81, 82 der 7 und 8 graphisch dargestellt.
Je weiter oberhalb der Achse sich die vorbestimmte Zuordnungsfunktion
befindet, desto wahrscheinlicher ist die Annahme richtig, dass der
Empfangswert dieser Stelle einem gesendeten Bit 0 zugeordnet werden
muss. Entsprechendes gilt umgekehrt, wenn die vorbestimmte Zuordnungsfunktion
in den negativen Bereich, also unter die Abszisse fällt.The predetermined assignment functions in tabular form are as shown 70 . 71 . 72 . 80 . 81 . 82 of the 7 and 8th shown graphically. The further above the axis the predetermined assignment function is, the more likely it is to assume that the reception value of this location is assigned to a transmitted bit 0 must be ordered. The same applies conversely if the predetermined assignment function falls within the negative range, ie below the abscissa.
Erfindungsgemäß wird bei
einem bevorzugten Ausführungsbeispiel
die aufwendige Modulo-Operation zur Reduzierung der Entscheidungsmöglichkeiten
und die Distanzberechnung zur Gütebestimmung
eines Empfangspunkts durch ein Table-Lookup bezüglich der Signalpunkt-Wahrscheinlichkeit
ersetzt. Dadurch ergibt sich während
der Laufzeit deutlich weniger Rechenaufwand, da die Tabellen nur
bei der Initialisierung des erfindungsgemäßen Decodierers einmal erstellt
werden müssen.According to the invention is at
a preferred embodiment
the complex modulo operation to reduce the decision possibilities
and the distance calculation for determining the quality
a receive point through a table lookup for the signal point probability
replaced. This results during
the runtime significantly less computational effort, since the tables only
created once during initialization of the decoder according to the invention
Need to become.
Das
beschriebene Verfahren kann in Empfängern für digitalen Lang-, Mittel-
und Kurzwellenrundfunk nach dem Standard von Digital Radio Mondiale
(DRM) zur Anwendung kommen. Es handelt sich bei diesem System um
eine OFDM-Übertragung,
wie es anhand der 4 und 5 dargestellt ist.
Innerhalb eines 10 kHz breiten Bandes werden etwa 200 Träger untergebracht.
Ein Teil der Träger wird
für Pilotinformationen
in einem regelmäßigen Raster
mit festgelegten Werten moduliert.The method described can be used in digital long, medium and short wave radio receivers according to the standard of Digital Radio Mondiale (DRM). This system is an OFDM transmission, as shown by the 4 and 5 is shown. Within a 10 kHz wide band about 200 carriers are accommodated. Part of the carriers is modulated for pilot information in a regular grid of fixed values.
Der überwiegende
Teil der Träger
wird mit den eigentlich zu übertragenden
Daten in 16- oder 64-QAM moduliert, je nach dem welcher Grad an
Robustheit erreicht werden soll. Je nach Modulation wird also ein
Multilevel-Code mit zwei (bei 16-QAM : 4 Konstellationspunkte je
Dimension) oder drei (bei 64-QAM : 8 Konstellationspunkte je Dimension)
Levels verwendet. Die Gesamtcoderate ist davon praktisch unabhängig und
lässt sich
zwischen 0,5 und 0,78 in verschiedenen Stufen einstellen. Die Coderate
der einzelnen Levels schwankt zwischen 1/4 und 8/9, um eine bestimmte
Gesamtco derate, d. h. eine Summe der Coderaten aller Levels geteilt
durch die Anzahl der Levels, zu erzielen.The predominant
Part of the carrier
becomes with the actually to be transferred
Data is modulated in 16- or 64-QAM, depending on the degree
Robustness should be achieved. Depending on the modulation is so one
Multilevel code with two (16-QAM: 4 constellation points each
Dimension) or three (64-QAM: 8 constellation points per dimension)
Levels used. The total code rate is practically independent of this and
let yourself
between 0.5 and 0.78 in different stages. The code rate
The individual levels vary between 1/4 and 8/9 to a specific one
Total co derate, d. H. shared a sum of the code rates of all levels
through the number of levels to achieve.
Die
Decodierung erfolgt hierbei in zwei Iterationen nach dem oben beschriebenen
Verfahren unter Verwendung verschiedener Metriktabellen für die verschiedenen
Levels, Iterationen und Konstellationen. Zwei mal zwei Tabellen
werden für
16-QAM benötigt.
Zwei mal drei Tabellen werden für
64-QAM benötigt.
Aufgrund der verwendeten Integer-Arithmetik mit 28 =
256 Quantisierungsstufen (8 Bits), also aufgrund einem Wertebereich,
in dem die Zahlenwerte liegen können,
von -127 bis +127, ist der Speicherbedarf einer Tabelle mit 255
Werten relativ übersichtlich und
einer Berechnung der Signalpunktwahrscheinlichkeit in Echtzeit (analytische
Zuordnungsfunktion) vorzuziehen, obgleich dies aufgrund der einfachen stückweise
stetigen Funktionen ebenfalls prinzipiell möglich ist.The decoding is done in two iterations according to the method described above using different metric tables for the different levels, iterations and constellations. Two times two tables are needed for 16-QAM. Two times three tables are needed for 64-QAM. Due to the used integer arithmetic with 2 8 = 256 quantization levels (8 bits), ie due to a range of values in which the numerical values can lie, from -127 to +127, the memory requirement of a table with 255 values is relatively clear and a calculation of the Signal point probability in real time (analytical assignment function) preferable, although this is also possible in principle due to the simple piecewise continuous functions.
Zusammenfassend
zeichnet sich die vorliegende Erfindung somit dadurch aus, dass
die Unterscheidung der einzelnen Levels und Iterationen bei der
Decodierung eines Multilevelcodes mit Hilfe des Viterbi-Algorithmus
nur durch jeweils verschiedene Metriktabellen bei gleichzeitiger
Vermeidung einer Vorverarbeitung der Eingangswerte durch Modulo-Operationen durchgeführt wird.
Dies ist vorteilhaft aufgrund der vereinfachten und weniger aufwendigen
Berechnung der Pfadmetriken innerhalb des Viterbi-Algorithmus, vorzugsweise
durch Nachschlagen der Verteilungswahrscheinlichkeit in Tabellen und
aufgrund der Unterscheidung einzelner Levels und Iterationen nur
durch Verwendung verschiedener Metriktabellen. Damit einher geht
automatisch das Wegfallen der Vorverarbeitung des Eingangssignals mit
Modulo-Operationen
zur Decodierung aufgrund der Verwendung von Mehrpunktmetriken. Das
erfindungsgemäße Konzept
ermöglicht
somit eine Geschwindigkeitsoptimierung eines Decodierers bei vernachlässigbar
erhöhtem
Speicheraufwand.In summary
Thus, the present invention is characterized in that
the distinction of the individual levels and iterations in the
Decoding a multilevel code using the Viterbi algorithm
only by different metric tables at the same time
Prevention of preprocessing of the input values is performed by modulo operations.
This is advantageous due to the simplified and less expensive
Calculation of path metrics within the Viterbi algorithm, preferably
by looking up the distribution probability in tables and
due to the distinction of individual levels and iterations only
by using different metric tables. This goes hand in hand
automatically eliminating the preprocessing of the input signal with
Modulo operations
for decoding due to the use of multipoint metrics. The
inventive concept
allows
thus a speed optimization of a decoder at negligible
increased
Storage costs.
Abhängig von
den Gegebenheiten kann das erfindungsgemäße Decodierverfahren in Hardware oder
in Software implementiert werden. Die Implementation kann auf einem
digitalen Speichermedium, insbesondere einer Diskette oder CD mit
elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem
programmierbaren Computersystem zusammenwirken können, dass das Verfahren zum
Decodieren ausgeführt
wird. Allgemein besteht die Erfindung somit auch in einem Computer-Programm-Produkt
mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode
zur Durchführung
des erfindungsgemäßen Verfahrens,
wenn das Computer-Programm-Produkt
auf einem Rechner abläuft.
In anderen Worten ausgedrückt
ist die Erfindung somit auch ein Computer-Programm mit einem Programmcode
zur Durchführung
des Verfahrens, wenn das Computer-Programm auf einem Computer abläuft.Depending on
the circumstances, the decoding method according to the invention in hardware or
be implemented in software. The implementation can be done on one
digital storage medium, in particular a floppy disk or CD with
electronically readable control signals, which are so with a
programmable computer system that can interact with the procedure
Execute decoding
becomes. Generally, the invention thus also consists in a computer program product
with a program code stored on a machine-readable carrier
to carry out
of the method according to the invention,
if the computer program product
runs on a computer.
In other words
Thus, the invention is also a computer program with a program code
to carry out
of the procedure when the computer program runs on a computer.