DE10048872A1 - Abschnittsweise Entschachtelung - Google Patents
Abschnittsweise EntschachtelungInfo
- Publication number
- DE10048872A1 DE10048872A1 DE10048872A DE10048872A DE10048872A1 DE 10048872 A1 DE10048872 A1 DE 10048872A1 DE 10048872 A DE10048872 A DE 10048872A DE 10048872 A DE10048872 A DE 10048872A DE 10048872 A1 DE10048872 A1 DE 10048872A1
- Authority
- DE
- Germany
- Prior art keywords
- deinterleaving
- data
- permutation
- turbo
- destination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 33
- 239000011159 matrix material Substances 0.000 claims description 50
- 230000009466 transformation Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 4
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 102100026191 Class E basic helix-loop-helix protein 40 Human genes 0.000 description 3
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 101150045592 RSC1 gene Proteins 0.000 description 2
- 101100094096 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RSC2 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 241000599985 Beijerinckia mobilis Species 0.000 description 1
- 101150087426 Gnal gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- SDIXRDNYIMOKSG-UHFFFAOYSA-L disodium methyl arsenate Chemical compound [Na+].[Na+].C[As]([O-])([O-])=O SDIXRDNYIMOKSG-UHFFFAOYSA-L 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
- H03M13/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
- H03M13/2714—Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/276—Interleaving address generation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2789—Interleaver providing variable interleaving, e.g. variable block sizes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
- H04L25/03866—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Power Engineering (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Television Systems (AREA)
Abstract
Bei einem Verfahren zur Entschachtelung eines gemäß einer vorgegebenen Verschachtelungsvorschrift blockweise verschachtelten Datensignals werden Entschachtelungs-Zieladressen bezüglich eines ersten vorgegebenen Abschnitts der zu entschachtelnden Datensymbole berechnet und in einem Zieladressenspeicher abgelegt. Mittels der berechneten Zieladressen wird dann der betreffende Abschnitt der Datensymbole entschachtelt. Nachfolgend werden diese beiden Schritte so oft wiederholt, bis der gesamte Datenblock abschnittsweise entschachtelt ist.
Description
Die Erfindung betrifft ein Verfahren zur Entschachtelung ei
nes blockweise verschachtelten Datensignals.
In der Telekommunikationstechnik ist es üblich, ein über ei
nen Kanal zu übertragendes Datensignal einer senderseitigen
Verschachtelung zu unterziehen. Durch die Verschachtelung
wird erreicht, daß Störungen, die ohne eine Verschachtelung
statistisch abhängige (in Gruppen auftretende) Detektionsfeh
ler bewirken würde, stattdessen statistisch unabhängige De
tektionsfehler erzeugen. Für statistisch unabhängige Detekti
onsfehler ist durch Kanalcodierung ein besserer Fehlerschutz
grad als für statistisch abhängige Detektionsfehler erreich
bar.
Die Ver- und Entschachtelung des Datensignals erfolgt Daten
blockweise, d. h. Datenblock für Datenblock wird nach einer
jeweils gleichen Verschachtelungsvorschrift vom senderseiti
gen Verschachteler verschachtelt und nach der inversen (eben
falls jeweils gleichen) Entschachtelungsvorschrift vom Ent
schachteler im Empfänger entschachtelt.
Zu diesem Zweck müssen vor der ersten Ver- bzw. Entschachte
lung die entsprechenden Zieladressen (Verschachtelungs-
Zieladressen bzw. Entschachtelungs-Zieladressen) für die Um
sortierung der Datensymbole berechnet werden. Bisher ge
schieht dies so, daß vor Durchführung der ersten Ver- bzw.
Entschachtelungsprozedur Zieladressen für sämtliche Datensym
bole eines Datenblocks berechnet und in einem Verschachte
lungs-Zieladressenspeicher bzw. Entschachtelung-Zieladres
senspeicher abgelegt werden. Bei einem Datenblock bestehend
aus K Datensymbolen müssen die Zieladressenspeicher jeweils K
Zieladressen-Speicherplätze umfassen. Die Zieladressenspeicher
enthalten somit die kompletten Ver- bzw. Entschachte
lungsinformationen.
Nachteilig bei diesem Verfahren der Entschachtelung ist, daß
ein großer Speicherplatzbereich im Empfänger eingerichtet
sein muß. Für den UMTS-(Universal Mobile Telecommunications
System-)Standard, der eine Datenblocklänge K zwischen 40 und
5114 Bits erlaubt, wird für die Abspeicherung der Entschach
telungs-Zieladressen ein Speicher mit 5114 Speicherzellen ei
ner Adreßdatenbreite von 13 Bit benötigt.
Üblicherweise erfolgt die Verschachtelung eines Datensignals
nach der Kanalcodierung. Bei einer speziellen Form der Ka
nalcodierung, die als Turbo-Codierung bezeichnet wird, wird
jedoch bereits bei der Kanalcodierung eine Verschachtelungs
prozedur durchgeführt. Diese im Rahmen der Turbo-Codierung
durchgeführte Verschachtelung wird im folgenden als Turbo-
Verschachtelung bezeichnet.
Turbo-Codes sind binäre, parallel verkettete, rekursive, sy
stematische Faltungscodes. Durch die Verwendung von Turbo-
Codes läßt sich insbesondere beim Übertragen von großen Da
tenblöcken bestehend aus mehr als z. B. 1000 Bits ein erheb
lich besserer Fehlerschutzgrad als mit üblichen Faltungscodes
erzielen. Die Struktur eines Turbo-Codes sowie die Erzeugung
desselben unter Verwendung eines Turbo-Codierers mit inte
griertem Turbo-Verschachteler sind bekannt und beispielsweise
detailliert in dem Buch "Analyse und Entwurf digitaler Mobil
funksysteme", von P. Jung, Stuttgart, B. G. Teubner-Verlag,
1997, Anhang E, Seiten 343-368, beschrieben.
Beim Empfang des Turbo-codierten, über einen Übertragungska
nal (z. B. Mobilfunkkanal) übertragenen Datensignals muß im
Empfänger im Zuge der Turbo-Decodierung auch die Turbo-Ver
schachtelung rückgängig gemacht werden. Dieser Prozeß wird
als Turbo-Entschachtelung bezeichnet und durch einen im Tur
bo-Decodierer integrierten Turbo-Entschachteler bewerkstelligt.
Die Turbo-Ver- und Entschachtelung des Datensignals er
folgt ebenfalls Datenblockweise.
Der Erfindung liegt die Aufgabe zugrunde, ein verbessertes
Verfahren zur Entschachtelung, insbesondere Turbo-Entschach
telung, eines blockweise verschachtelten Datensignals anzuge
ben. Insbesondere soll das Entschachtelungsverfahren einen
möglichst geringen Speicherplatzbedarf haben.
Zur Lösung der Aufgabenstellung sind die Merkmale des An
spruchs 1 vorgesehen.
Demnach wird jeder Datenblock sukzessive entschachtelt, indem
Entschachtelungs-Zieladressen zunächst nur für einen vorbe
stimmten Abschnitt des Datenblocks berechnet werden, nachfol
gend eine Entschachtelung des entsprechenden Abschnitts des
erhaltenen (verschachtelten) Datenblocks durchgeführt wird,
und dieser Vorgang so oft wiederholt wird, bis der gesamte
Datenblock Abschnitt für Abschnitt entschachtelt ist. Auf
diese Weise wird der Speicherplatzbedarf bei der Entschachte
lung wesentlich reduziert, weil lediglich die Entschachte
lungs-Zieladressen von Datenblockabschnitten und nicht des
gesamten Datenblocks gespeichert werden müssen.
Demzufolge kennzeichnet sich eine vorteilhafte Ausgestaltung
der Erfindung dadurch, daß die in dem nächsten Schritt be
rechneten Entschachtelungs-Zieladressen unter Überschreiben
der zuvor in dem Zieladressenspeicher abgelegten Zieladressen
abgespeichert werden.
Eine weitere vorteilhafte Ausgestaltung des erfindungsgemäßen
Verfahrens kennzeichnet sich dadurch, daß die Verschachtelung
nach mehreren unterschiedlichen Verschachtelungsvorschriften
durchführbar ist, daß eine Erzeugungsregel zur Berechnung der
unterschiedlichen Verschachtelungsvorschriften vorgegeben
ist, und daß die Vorausberechnung der Entschachtelungs-
Zieladressen bezüglich der Abschnitte von Datensymbolen unmittelbar
aus der Erzeugungsregel ohne vorhergehende Berech
nung von Zieladressen für die Verschachtelung vorgenommen
wird. Aufgrund des Wegfalls der Berechnung der Verschachte
lungs-Zieladressen wird eine weitere Verminderung des Spei
cherplatzbedarfs für die Entschachtelung erreicht.
Bei der Erzeugungsregel kann es sich um den UMTS-Standard TS
25.212 handeln, welcher für jede Datenblocklänge K eine Tur
bo-Verschachtelungsvorschrift in Form einer Koordinaten-
Transformationsmatrix bestehend aus R Zeilen und C Spalten
definiert. In diesem Fall kann jeder der vorgegebenen Ab
schnitte eines Datenblocks eine Anzahl von nz.C aufeinander
folgenden Datensymbolen des verschachtelten Datensignals auf
weisen, wobei nz eine ganze Zahl gleich oder größer 1 ist.
Vorzugsweise ist nz = 1, d. h. es wird eine zeilenweise Turbo-
Entschachtelung des Datenblocks vorgenommen.
Nachfolgend wird die Erfindung anhand eines die Turbo-Ent
schachtelung (gemäß UMTS-Standard TS 25.212) betreffenden
Ausführungsbeispiels unter Bezugnahme auf die Zeichnung näher
erläutert; in dieser zeigt:
Fig. 1 ein Blockschaltbild eines bekannten Turbo-Codierers
zur Erzeugung eines Turbo-Codes;
Fig. 2 ein Blockschaltbild eines bekannten Turbo-Decodierers
zur Decodierung eines Turbo-codierten Empfangssignals;
Fig. 3 eine Darstellung zur Erläuterung einer Verschachte
lungs-Permutationsmatrix und der inversen Permuta
tionsmatrix sowie des erfindungsgemäßen Prinzips der
abschnittsweisen Turbo-Entschachtelung;
Fig. 4 eine Darstellung zur Erläuterung der Intra-Zeilen Per
mutation bei der Erzeugung einer Verschachtelungs-
Transformationsmatrix für K = 3840 im UMTS-Standard; und
Fig. 5 eine Darstellung entsprechend Fig. 4, in welcher die
Hintereinanderausführung von zwei Koordinatentrans
formationen zur Realisierung der Intra-Zeilen Permuta
tion und einer Koordinatentransformation zur Realisie
rung der Inter-Zeilen Permutation für die Erzeugung
der UMTS-Verschachtelungs-Transformationsmatrix darge
stellt sind.
Fig. 1 zeigt beispielhaft das Blockschaltbild eines Turbo-
Codierers TCOD, wie er in einem UMTS-Sender zur Erzeugung ei
nes Turbo-codierten Datensignals D eingesetzt werden kann. Im
Rahmen der Erfindung können auch andere Turbo-Codierer ver
wendet werden.
Der Turbo-Codierer TCOD weist einen Turbo-Verschachteler IL,
zwei identische, rekursive, systematische Faltungscodierer
RSC1 und RSC2 (z. B. 8-Zustands-Faltungscodierer), zwei optio
nale Punktierer PKT1 und PKT2 und einen Multiplexer MUX auf.
Die Aufgabe des Turbo-Codierers TCOD besteht darin, einem di
gitalen Eingabesignal X zur Fehlerschutzcodierung Redundanz
hinzuzufügen. Das Eingabesignal besteht aus einer Folge von
Datensymbolen, z. B. Bits. Bei dem digitalen Eingabesignal X
kann es sich beispielsweise um ein quellencodiertes Sprach-
oder Videosignal handeln.
Der Turbo-Codierer TCOD erzeugt ein digitales Ausgabesignal
D, das durch Multiplexen des Eingabesignals X (sogenanntes
systematisches Signal), eines von RSC1 codierten und ggf. von
PKT1 punktierten Signals Y1 und eines von IL verschachtelten,
von RSC2 codierten und ggf. von PKT2 punktierten Signals Y2
erzeugt wird.
Der Turbo-Verschachteler IL führt eine blockweise Verschach
telung des Eingabesignals X durch. Das heißt, daß der Turbo-
Verschachteler IL in ständiger Wiederholung jeweils K Datensymbole
(K ist eine ganze, positive Zahl und bezeichnet die
Datenblocklänge) entgegennimmt, umsortiert und in geänderter
Reihenfolge wieder ausgibt. Das Umsortieren (Permutieren) der
Datensymbole erfolgt nach einer für eine konstante Daten
blocklänge K immer gleichen Vorschrift.
Im UMTS-Standard ist die Blocklänge K variabel und liegt zwi
schen 40 und 5114 Bits. Wie später noch näher erläutert wird,
ist für jede Datenblocklänge im Standard eine spezielle Ver
schachtelungsvorschrift vorgeschrieben.
Das fehlerschutzcodierte Datensignals D wird dann in geeigne
ter Weise auf einen Träger moduliert und über einen Übertra
gungskanal (z. B. Mobilfunkkanal) übertragen.
Die Decodierung eines Turbo-codierten Empfangssignals in ei
nem Empfänger wird nachfolgend unter Bezugnahme auf den in
Fig. 2 gezeigten, bekannten Turbo-Decodierer TDEC erläutert.
Auch andere Bauweisen von Turbo-Decodierern sind möglich und
können zur Durchführung des erfindungsgemäßen Verfahrens ein
gesetzt werden.
Der Turbo-Decodierer TDEC umfaßt einen ersten und einen zwei
ten Demultiplexer DMUX1 und DMUX2, einen Speicher MEM, einen
ersten und zweiten Faltungsdecodierer DEC1 und DEC2, einen
Turbo-Verschachteler IL', einen ersten und einen zweiten Tur
bo-Entschachteler DIL1 und DIL2 sowie eine Entscheidungslogik
(Schwellenwertentscheider) TL.
Von einem Demodulator (nicht dargestellt) des Empfängers wird
eine entzerrte Datenfolge bereitgestellt, die die im Emp
fänger rekonstruierte codierte Datenfolge D ist.
Die Funktionsweise des in Fig. 2 gezeigten Turbo-Decodierers
TDEC wird im folgenden kurz erläutert.
Der erste Demultiplexer DMUX1 spaltet das entzerrte Datensi
gnal in das entzerrte systematische Datensignal
(rekonstruierte Version des Eingabesignals X) und ein ent
zerrtes Redundanzsignal auf. Letzteres wird von dem zwei
ten Demultiplexer DMUX2 in die beiden entzerrten Redundanz-
Teilsignale 1 und 2 (rekonstruierte Versionen der Redun
danz-Teilsignale Y1 und Y2) aufgespalten.
Die beiden Faltungsdecodierer DEC1 und DEC2 können z. B. MAP-
Symbolschätzer sein. Der erste Faltungsdecodierer DEC1 be
rechnet ausgehend von den Datensignalen und 1 und einem
Rückkoppelsignal Z logarithmische Zuverlässigkeitsdaten Λ1
in Form von LLRs (Log-Likelihood Ratios).
Die Zuverlässigkeitsdaten Λ1 werden von dem Turbo-Verschach
teler IL' verschachtelt und die verschachtelten Zuverlässig
keitsdaten Λ1I werden dem zweiten Faltungsdecodierer DEC2 zu
geführt. Die Arbeitsweisen der Turbo-Verschachteler IL und
IL' sind identisch. Der zweite Faltungsdecodierer DEC2 be
rechnet aus den verschachtelten Zuverlässigkeitsdaten Λ1I und
aus den rekonstruierten Redundanz-Teilsignaldaten 2, die in
dem Speicher MEM bereitgehalten werden, ein verschachteltes
Rückkoppelsignal ZI und verschachtelte zweite logarithmische
Zuverlässigkeitsdaten Λ2I, ebenfalls in Form von LLR's.
Das verschachtelte Rückkoppelsignal ZI wird von dem ersten
Turbo-Entschachteler DIL1 entschachtelt und ergibt das Rück
koppelsignal Z.
Die dargestellte Rekursionsschleife wird mehrmals (z. B. 5
Mal) durchlaufen. Jedem Durchlauf liegen die Daten desselben
Datenblocks zugrunde. Die beim letzten Durchlauf erhaltenen
verschachtelten zweiten Zuverlässigkeitsdaten Λ2I werden von
dem zweiten Entschachteler DIL2 entschachtelt und als ent
schachtelte Zuverlässigkeitsdaten Λ2 der Entscheidungslogik
TL zugeführt. Diese bestimmt daraufhin ein Datensignal E(X),
welches eine Folge von Schätzwerten für die Datensymbole des
Eingabesignals X ist.
Nach der Turbo-Decodierung eines Datenblocks und Ausgabe der
entsprechenden Folge von Schätzwerten E(X) wird der nächste
Datenblock Turbo-decodiert.
Eine detaillierte Beschreibung der Arbeitsweise eines Turbo-
Decodierers ist in dem Kapitel E.3.3 "Rekursive MAP-Symbol
schätzung" des genannten Buchs von P. Jung auf den Seiten 353
bis 361 angegeben, die hiermit zum Inhalt dieser Schrift
wird.
Wie beispielhaft an dem in Fig. 2 dargestellten Turbo-De
codierer TDEC ersichtlich, umfaßt eine Turbo-Decodierung bei
jedem Schleifendurchlauf eine Turbo-Verschachtelungsprozedur
(IL') und eine Turbo-Entschachtelungsprozedur (DIL1) sowie
eine abschließende Turbo-Entschachtelungsprozedur (DIL2). Die
beiden Turbo-Entschachtelungsprozeduren sind identisch.
Die Verschachtelungsvorschrift kann mathematisch durch eine
Permutation beschrieben werden. Die Permutation ordnet jeder
Ausgangs- oder Quellenadresse eindeutig eine Zieladresse für
die Umsortierung der Datensymbole eines Datenblocks zu. Quel
lenadresse ist die ursprüngliche Stelle des Datensymbols im
Datenblock und die Zieladressen ist die Stelle des umsor
tierten Datensymbols im verschachtelten Datenblock.
In Fig. 3 wird das der Erfindung zugrundeliegende Prinzip an
hand eines einfachen Beispiels erläutert.
Zunächst wird der Verschachtelungsvorgang betrachtet. Eine
einen Datenblock bildende Datenfolge bestehend aus K = 9 Daten
symbolen {a, b, c, d, e, f, g, h, i} soll verschachtelt werden. Fig.
3, oberer Teil, zeigt einen als 3 × 3-Speicherzellen-Matrix
dargestellten Verschachtelungs-Eingabedatenspeicher V_iDS,
einen als 3 × 3-Speicherzellen-Matrix dargestellten Verschachtelungs-Ausgabedatenspeicher
V_fDS und eine 3 × 3-Permutations
matrix P, deren Elemente ebenfalls in einem Speicher
(Zieladressenspeicher) abgelegt sind.
Die Datenfolge wird in den Verschachtelungs-Eingabedaten
speicher V_iDS eingelesen und dort, wie in Fig. 3 darge
stellt, in Zeilenrichtung abgespeichert.
Die Speicherplätze der Datenspeicher V_iDS und V_fDS sind in
Zeilenrichtung mit Adressen n = 1 bis 9 durchnumeriert. Die
Adressen n sind im rechten oberen Eck der jeweiligen Spei
cherzellen eingetragen.
Die Permutationsmatrix P gibt für das im Verschachtelungs-
Eingabedatenspeicher V_iDS in der Speicherzelle mit Adresse n
abgespeicherte Datensymbol die Verschachtelungs-Zieladresse
V-Adr(n) im Verschachtelungs-Ausgabedatenspeicher V_fDS an.
Beim Verschachteln wird demnach das in V_iDS auf Speicher
platz 1 abgespeicherte Datensymbol, nämlich a, in V_fDS auf
dem Speicherplatz 3 abgespeichert, das in V_iDS auf Speicher
platz 2 abgespeicherte Datensymbol, nämlich b, wird in V_fDS
auf dem Speicherplatz 7 abgespeichert, . . usw. Das Auslesen
des Verschachtelungs-Ausgabedatenspeichers V_fDS erfolgt
ebenfalls in Zeilenrichtung, d. h. die verschachtelte Daten
folge lautet {g, e, a, c, h, f, b, i, d}.
Das Entschachteln wird gemäß Fig. 3, unterer Teil, analog dem
Verschachteln, jedoch unter Verwendung der inversen Permuta
tionsmatrix (der Begriff invers bezieht sich auf die Operati
on der Nacheinanderausführung von Permutationen), bezeichnet
als P-1, durchgeführt. Die inverse Permutationsmatrix P-1 ist
in Fig. 3 angegeben. Die Elemente der inversen Permutations
matrix sind in einem Entschachtelungs-Zieladressenspeicher
gespeichert.
Es wird nun angenommen, daß der Verschachteler in der Lage
sein soll, eine Vielzahl von unterschiedlichen Verschachtelungsvorschriften
auszuführen. Dabei sollen die diversen Ver
schachtelungsvorschriften nicht in Form einer Vielzahl von im
Verschachteler abgespeicherten Permutationsmatrizen bereitge
halten werden, sondern es wird im folgenden vorausgesetzt,
daß eine spezielle Erzeugungsregel existiert, mit der die
verschiedenen Permutationsmatrizen in Abhängigkeit von einem
oder mehreren Erzeugungsparametern (z. B. der Datenblocklänge
K) aufgebaut werden können. Wie im folgenden noch dargelegt,
sind diese Voraussetzungen bei der Turbo-Verschachtelung ge
mäß dem UMTS-Standard erfüllt.
Die herkömmliche Vorgehensweise zur Durchführung der Ent
schachtelung ist die folgende: Zunächst wird gemäß der Erzeu
gungsregel die gewünschte Permutationsmatrix P vollständig
(d. h. sämtliche Verschachtelungs-Zieladressen) berechnet.
Dann wird die vollständig berechnete Permutationsmatrix P in
vertiert. Mittels der invertierten Permutationsmatrix P-1
wird dann die Entschachtelung vorgenommen.
Das erfindungsgemäße Vorgehen bei der Turbo-Entschachtelung
unterscheidet sich von der herkömmlichen Vorgehensweise da
durch, daß zunächst nur ein bestimmter, vorgegebener Ab
schnitt der inversen Permutationsmatrix P-1, z. B. die in der
ersten Zeile angegebenen Entschachtelungs-Zieladressen E-
Adr(n) = 7, 5, 1, (schraffiert dargestellt) für n = 1, 2, 3 be
stimmt werden. Anschließend, d. h. vor der Bestimmung weiterer
Entschachtelungs-Zieladressen, wird eine erste teilweise Ent
schachtelung des verschachtelten Datensignals vorgenommen.
Dabei werden die ersten drei Datensymbole g, e, a der ver
schachtelten Datenfolge, die in dem Entschachtelungs-Einga
bedatenspeicher E_iDS (entspricht V_fDS) auf den ersten drei
Speicherplätzen abgespeichert sind, in die Speicherplätze
7, 5, 1 des Entschachtelungs-Ausgabedatenspeichers E_fDS ge
schrieben. Anschließend wird ein weiterer vorgegebener Ab
schnitt der inversen Permutationsmatrix P-1, z. B. die in der
zweiten Zeile angegebenen Entschachtelungs-Zieladressen
3, 8, 6, berechnet. Dann wird wiederum der diesbezügliche
Schreibvorgang durchgeführt. Diese Vorgehensweise wird solan
ge fortgesetzt, bis die verschachtelte Datenfolge vollständig
entschachtelt ist.
Mit anderen Worten werden weder die Permutationsmatrix P noch
aus dieser die inverse Permutationsmatrix P-1 vollständig be
rechnet, sondern es werden immer nur jeweils die Matrixele
mente (Entschachtelungs-Zieladressen) der inversen Permutati
onsmatrix P-1 berechnet, die für die Entschachtelung des vor
gegebenen Abschnitts des verschachtelten Datenblocks gerade
benötigt werden. Vorteilhaft ist dabei der geringe Speicher
platzbedarf zum Abspeichern der Entschachtelungs-Zieladressen
im Entschachtelungs-Zieladressenspeicher, da in jedem Ent
schachtelungsschritt die im vorhergehenden Entschachtelungs
schritt verwendeten Zieladressen überschrieben werden können.
Bei dem erläuterten Beispiel (d. h. bei einer zeilenweisen
Entschachtelung) muß der Entschachtelungs-Zieladressen
speicher nicht neun sondern nur drei Speicherzellen umfassen.
Es wird bemerkt, daß die Möglichkeit, die Verschachtelungs-
Permutationsmatrix P mittels der Erzeugungsregel gezielt für
bestimmte, vorgegebene Abschnitte berechnen zu können, nicht
impliziert, daß auch eine abschnittsweise Berechnung der in
versen Permutationsmatrix P-1 bezüglich vorgebbarer Abschnit
te möglich ist. Berechnet man z. B. die Verschachtelungs-
Zieladressen der ersten Zeile der Permutationsmatrix P, er
hält man die Werte 3, 7, 4. Mit diesen Werten lassen sich die
Adressen 1, 2, 3 der inversen Permutationsmatrix P-1 (punktiert
dargestellt) berechnen, die jedoch nicht zur Entschachtelung
eines vorgegebenen Abschnitts von Datensymbolen, z. B. der in
der ersten Zeile des Speichers E_iDS abgespeicherten Daten
symbole, ausreichen. Dieses Beispiel macht deutlich, daß
selbst dann, wenn eine abschnittsweise Berechnung der Permu
tationsmatrix P möglich sein sollte, für die Berechnung eines
vorgegebenen Abschnitts der inversen Permutationsmatrix P-1
zunächst im allgemeinen die vollständige Permutationsmatrix P
zu berechnen ist.
Im folgenden wird für den Fall des UMTS-Standards eine Mög
lichkeit der partiellen Berechnung der inversen Permutations
matrix P-1 (Entschachtelungs-Zieladressenmatrix) angegeben.
Die Erkenntnis, daß eine solche abschnittsweise Berechnung
der inversen Permutationsmatrix P-1 im UMTS-Standard möglich
ist, ist Teil der Erfindung.
Wie bereits erwähnt, ist in dem UMTS-Standard eine Erzeu
gungsregel angegeben, mittels der für jede mögliche Blocklän
ge K eine spezielle Verschachtelungsvorschrift generiert wer
den kann. Jede Verschachtelungsvorschrift ist in Form einer
Koordinatentransformation zwischen dem Entschachtelungs-
Eingabedatenspeicher E_iDS und dem Entschachtelungs-Ausgabe
datenspeicher E_fDS angegeben.
Zum besseren Verständnis der Erfindung wird nachfolgend zu
nächst die im UMTS-Standard TS 25.212 V3.3.0 vereinbarte Er
zeugungsregel zur Bestimmung der zugehörigen Koordinaten-
Transformationsmatrix wiedergegeben. Die Koordinaten-Trans
formationsmatrix enthält die gleiche Information wie die an
hand Fig. 3 erläuterte Permutationsmatrix, unterscheidet sich
von dieser jedoch dadurch, daß die Permutationsvorschrift in
Form einer zweidimensionalen Koordinatentransformation (und
nicht einer eindimensionalen Zieladressen-Zuweisungsvor
schrift) dargestellt ist.
1.1 Definition der Anzahl R der Zeilen:
R = 5, falls K = 40 bis 159 Bits (Fall 1)
R = 10, falls K = 160 bis 200 Bits oder K = 481 bis 530 Bits (Fall 2)
R = 20, andernfalls (Fall 3)
1.2 Definition der Anzahl C der Spalten:
Fall 2, für K = 481 bis 530 Bits: C = p = 53 sonst:
R = 5, falls K = 40 bis 159 Bits (Fall 1)
R = 10, falls K = 160 bis 200 Bits oder K = 481 bis 530 Bits (Fall 2)
R = 20, andernfalls (Fall 3)
1.2 Definition der Anzahl C der Spalten:
Fall 2, für K = 481 bis 530 Bits: C = p = 53 sonst:
- a) Suche der minimalen Primzahl p, so daß
0 ≦ (p + 1) - K/R - b) falls 0 ≦ p - K/R, dann gehe zu (iii) sonst: C = p + 1
- c) falls 0 ≦ p - 1 - K/R, dann: C = p - 1 sonst: C = p
1.3 Die Eingabedatensequenz wird dann Zeile für Zeile in eine
R×C-Eingabedaten-Speichermatrix (entspricht V_iDS) ge
schrieben.
- 1. Auswahl einer primitiven Wurzel g aus der folgenden Ta
belle:
- 2. Konstruktion einer Basissequenz c(i) für die Intra-
Zeilen Permutation nach:
c(i) = [g.c(i - 1)]modp, i = 1, 2, . ., (p - 2) c(0) = 1
wobei mod die Modulo-Operation bezeichnet. - 3. Suche nach dem Satz {qj} der minimalen Primzahlen, j = 1,
2, . ., R - 1, mit:
- - ggT{qj, p - 1} = 1 (ggT = größter gemeinsamer Teiler)
- - qj < 6
- - qj < qj-1
- - q0 = 1
- 4. Der Satz {gj} wird permutiert, der durch die Permutation
erhaltene Satz mit {pj} bezeichnet, die Permutationsvor
schrift lautet:
pPX(j) = qj, j = 0, 1 . . ., R - 1,
wobei PX(j) die Inter-Zeilen Permutation ist, die im dritten Schritt definiert wird. - 5. Durchführen der j-ten Intra-Zeilen Permutation, j = 0, 1,
. . ., R - 1, nach:
cj(i) = c([i.pj]mod(p - 1)), i = 0, 1, 2, . ., (p - 2) und cj(p - 1) = 0,
wobei cj(i) die Position des Eingabebits des i-ten Aus gangs nach der Permutation der j-ten Zeile ist.
- 1. Wie Fall A1
- 2. Wie Fall A2
- 3. Wie Fall A3
- 4. Wie Fall A4
- 5. Durchführen der j-ten Intra-Zeilen Permutation, j = 0, 1,
. . ., R - 1, nach:
cj(i) = c([i.pj]mod(p - 1)), i = 0, 1, 2, . ., (p - 2) und cj(p - 1) = 0, und cj(p) = p, - 6. Falls K = C.R, dann tausche cR-1(p) gegen cR-1(0) aus, wobei cj(i) die Position des Eingabebits des i-ten Ausgangs nach der Permutation der j-ten Zeile ist.
- 1. Wie Fall A1
- 2. Wie Fall A2
- 3. Wie Fall A3
- 4. Wie Fall A4
- 5. Durchführen der j-ten Intra-Zeilen Permutation, j = 0, 1,
. . , R - 1, nach:
cj(i) = c([i.pj]mod(p - 1)) - 1, i = 0, 1, 2, . ., (p - 2), wo bei cj(i) die Position des Eingabebits des i-ten Aus gangs nach der Permutation der j-ten Zeile ist.
Durchführen der Inter-Zeilen Permutation PX(j), j = 0, 1, . .,
R - 1, X = A, B, C oder D, nach den folgenden Schemata, wobei
PX(j) die ursprüngliche Position der j-ten permutierten Zeile
ist:
PA: {19, 9, 14, 4, 0, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11}
für R = 20
PB: {19, 9, 14, 4, 0, 2, 5, 7, 12, 18, 16, 13, 17, 15, 3, 1, 6, 11, 8, 10}
für R = 20
PC: {9, 8, 7, 6, 5, 4, 3, 2, 1, 0} für R = 10
PD: {4, 3, 2, 1, 0} für R = 5
Die verschiedenen Schemata werden folgendermaßen eingesetzt:
mit X = A oder B oder C oder D
Fig. 4 erläutert anhand eines Beispiels für K = 3840 den Aufbau
der Transformationsmatrix. Dabei werden die einzelnen Elemen
te der Matrix anhand ihrer Zeilen-Spalten Koordinaten (j, i)
identifiziert und die durch den obigen Standard vorgeschrie
bene Koordinaten-Transformationen betrachtet.
Gemäß den Definitionen unter den Punkten 1.1 und 1.2 ergibt
sich C = 192 (Anzahl der Spalten) und R = 20 (Anzahl der Zeilen).
Die minimale Primzahl lautet p = 191.
Für den 2. Schritt gilt Fall B. Gemäß dem Schritt B1 wird die
primitive Wurzel g für p = 191 bestimmt. Es ergibt sich g = 19.
In Schritt B2 wird die Basissequenz c(i) berechnet. Die be
rechneten Werte c(i) sind in Fig. 4 in dem fett umrandeten
horizontalen Bereich angegeben.
In dem Schritt B3 wird der Satz {qj} der minimalen Primzah
len, j = 0 bis R - 1, berechnet. Der Satz der minimalen Primzah
len lautet:
{1, 7, 11, 13, 17, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83}
Im folgenden Beispiel wird der Schritt B5 mit dem Satz {gj}
der minimalen Primzahlen durchgeführt; der Übergang auf den
Satz der permutierten minimalen Primzahlen erfolgt erst nach
folgend bei der Inter-Zeilen Permutation. Somit wird für die
j-te Zeile die zugehörige Intra-Zeilen Permutation nach der
Gleichung cj(i) = c ([i.qj]mod(p - 1)) berechnet. Die Intra-Zeilen
Permutationsvorschrift cj(i) würde, sofern sie gesondert an
den Datensymbolen im Verschachtelungs-Eingabedatenspeicher
V_iDS ausgeführt würde (was nicht der Fall ist, da sie ledig
lich zum Aufbau der Transformationsmatrix dient), bewirken,
daß ein in dem Verschachtelungs-Eingabedatenspeicher V_iDS
auf die Zeilen-Spalten Koordinate (j, i) eingelesenes Daten
symbol auf eine Speicherzelle eines (fiktiven) Zwischenspeichers
mit der Zeilen-Spalten Koordinate (j, cj(i)) abgespei
chert würde.
Die Intra-Zeilen Permutation cj(i) hängt von dem Zeilenindex
j ab, d. h. ist für jede Zeile unterschiedlich.
Gemäß der im Schritt B5 angegebenen Gleichung kann die Intra-
Zeilen Permutation als Nacheinanderausführung einer "inneren"
Intra-Zeilen Permutation nach der Vorschrift
c_inj(i) = [i.qj]mod(p - 1)
und einer "äußeren" Intra-Zeilen Permutation nach der Vor
schrift
c_out(i) = c(i)
durchgeführt werden.
Die innere Intra-Zeilen Permutation c_inj(i) ist für jede
Zeile unterschiedlich, während die äußere Intra-Zeilen Permu
tation c_out(i) für sämtliche Zeilen identisch ist.
Einige der bei der inneren Intra-Zeilen Permutation erhalte
nen Spalten-Zielkoordinatenwerte c_inj(i) sind in der in Fig.
4 dargestellten R×C-Transformationsmatrix eingetragen. Für
i = 1 (1-te Spalte) ergibt sich die Sequenz {qj} der minimalen
Primzahlen.
Die Werte in der Spalte i = 4 sind in der Fig. 4 fett umrandet.
Sie berechnen sich gemäß der Gleichung c_inj(4) = [4.qj]mod190.
Für die Speicherzelle mit der Koordinate i = 4, j = 3 ergibt sich
der Wert c_in3(4) = [4.13]mod190 = 52.
Die innere Intra-Zeilen Permutation, die also die Koordinate
(3, 4) auf die Koordinate (3, 52) abbildet, wird in Fig. 5
durch den Pfeil A veranschaulicht.
Die äußere Intra-Zeilen Permutation c_out(i) wird durch den
Pfeil B dargestellt. Die Zielkoordinate (3, 52) der inneren
Intra-Zeilen Permutation, die die Ausgangskoordinate für die
äußere Intra-Zeilen Permutation ist, wird auf die Zielkoor
dinate (3, 86) der äußeren Intra-Zeilen Permutation abgebildet
(die damit auch die Zielkoordinate der gesamten Intra-Zeilen
Permutation ist).
Im Ergebnis folgt für dieses Beispiel:
c3(4) = c_out(c_in3(4)) = 86
In dem 3. Schritt wird die Inter-Zeilen Permutation gemäß dem
Schema PA ausgeführt. Da PA(j = 3) = 4, wird die Zielkoordinate
(3, 86) der Intra-Zeilen Permutation auf die Zielkoordinate
(4, 86) der Inter-Zeilen Permutation abgebildet. Die Inter-
Zeilen Permutation entspricht einem (tatsächlich nicht statt
findenden) Transfer des in der Speicherzelle des fiktiven
Zwischenspeichers mit der Koordinate (3, 86) abgespeicherten
Datensymbols in die Speicherzelle des Verschachtelungs-Aus
gabedatenspeichers V_fDS mit der Koordinate (4, 86). Die In
ter-Zeilen Permutation wird in Fig. 5 durch den Pfeil C ver
anschaulicht.
Allgemein ergibt sich für die Verschachtelung somit die UMTT-
Koordinaten-Abbildungsvorschrift:
(j, i) → (PX(j), cj(i))
Aus der Koordinaten-Abbildungsvorschrift der Transformations
matrix lassen sich die eindimensionalen Verschachtelungs-
Zieladressen der Permutationsmatrix P gemäß der folgenden Be
ziehung berechnen:
Quellenadresse: n = j.C + i
Verschachtelungs-Zieladresse: V-Adr(n) = PX(j).C + cj(i)
Quellenadresse: n = j.C + i
Verschachtelungs-Zieladresse: V-Adr(n) = PX(j).C + cj(i)
Damit ist die Permutationsmatrix gemäß Fig. 3, oberer Teil,
berechenbar.
Für das Beispiel ergibt sich:
Quellenadresse: n = 3.192 + 4 = 580
Verschachtelungs-Zieladresse: V-Adr(579) = 4.192 + 86 = 854
Quellenadresse: n = 3.192 + 4 = 580
Verschachtelungs-Zieladresse: V-Adr(579) = 4.192 + 86 = 854
Das heißt, in der Permutationsmatrix P steht in dem Feld mit
der Adresse n = 580 (entspricht der Koordinate (3, 4)) der Ver
schachtelungs-Zieladressenwert 854.
Im folgenden wird erläutert, wie gemäß der Erfindung die Ent
schachtelungs-Zieladressen der ersten Zeile der inversen Per
mutationsmatrix P-1 berechnet werden können, ohne zuvor eine
Berechnung der Permutationsmatrix P durchführen zu müssen.
Zunächst wird die Zeilen- und Spaltenzahl der inversen Permu
tationsmatrix P-1 bestimmt. Die Bestimmung erfolgt gemäß dem
Schritt 1, das heißt ist identisch mit der Bestimmung der
Zeilen- und Spaltenzahl der Permutationsmatrix P.
Die Koordinaten der inversen Permutationsmatrix P-1 werden in
der Form (j, i), das heißt ebenfalls als Zeilen-Spalten-
Koordinaten, angegeben.
Zunächst wird die inverse Abbildung der im UMTS-Standard un
ter Schritt 3 definierten Inter-Zeilen Permutation ausge
führt. Die inversen Inter-Zeilen Permutationen PX -1(j),
j = 0, 1, . ., R - 1, lauten für die Fälle X = A, B, C oder D:
P-1 A: {4, 15, 5, 14, 3, 6, 17, 7, 11, 1, 10, 19, 8, 12, 2, 18, 16, 13, 9, 0} für R = 20
P-1 B: {4, 15, 5, 14, 3, 6, 16, 7, 18, 1, 19, 17, 8, 11, 2, 13, 10, 12, 9, 0} für R = 20
P-1 C: {9, 8, 7, 6, 5, 4, 3, 2, 1, 0} für R = 10
P-1 D: {4, 3, 2, 1, 0} für R = 5
P-1 A: {4, 15, 5, 14, 3, 6, 17, 7, 11, 1, 10, 19, 8, 12, 2, 18, 16, 13, 9, 0} für R = 20
P-1 B: {4, 15, 5, 14, 3, 6, 16, 7, 18, 1, 19, 17, 8, 11, 2, 13, 10, 12, 9, 0} für R = 20
P-1 C: {9, 8, 7, 6, 5, 4, 3, 2, 1, 0} für R = 10
P-1 D: {4, 3, 2, 1, 0} für R = 5
Die Auswahl X = A, B, C oder D der inversen Inter-Zeilen Permu
tation folgt aus dem unter Schritt 3 angegebenen Schema.
Die Koordinaten-Abbildungsvorschrift der inversen Inter-
Zeilen Permutation ist:
(j, i) → (PX -1(j), i)
Dabei ist (j, i) die Ausgangskoordinate einer Speicherzelle
des Entschachtelungs-Eingabedatenspeichers E_iDS.
In einem nächsten Schritt wird die Zeilen-Koordinate durch
aufeinanderfolgendes Ausführen der Umkehrabbildungen der äu
ßeren Intra-Zeilen Permutation und der inneren Intra-Zeilen
Permutation berechnet.
Die Koordinatentransformation bezüglich der inversen äußeren
Intra-Zeilen Permutation lautet:
(PX -1(j), i) → (PX -1(j), c_out-1(i))
Dabei bezeichnet c_out-1(i) = c-1(i) die inverse äußere Intra-
Zeilen Permutation.
In einem letzten Koordinaten-Transformationsschritt wird die
inverse innere Intra-Zeilen Permutation ausgeführt. Die ent
sprechende Abbildungsvorschrift lautet:
Die Berechnung der Entschachtelungs-Zieladressen E-Adr(n) er
folgt dann unter Verwendung der nachstehenden Abkürzungen
gemäß der Gleichung
E-Adr(n) = dj.C + di
wobei n = j.C + i die Quellen-Adresse des in dem Entschachte
lungs-Eingabedatenspeicher E_iDS abgespeicherten verschach
telten Datensignals ist.
Ausnahmen dieses Entschachtelungsschemas treten bei den Spal
ten p - 1 und p für den Fall C = p + 1 und für die Spalte p - 1 für
den Fall C = p auf.
Diese Spalten werden nicht der Intra-Zeilen Permutation un
terworfen, das heißt bei ihnen wird weder die äußere Intra-
Zeilen Permutation noch die innere Intra-Zeilen Permutation
vorgenommen. Deshalb beschränkt sich der Entschachtelungsab
lauf auf die Umkehrung der Inter-Zeilen Permutation.
Bei der Entschachtelung wird bezüglich der Spalte p lediglich
die Inter-Zeilen Permutation durchgeführt. Das Ergebnis der
Entschachtelung lautet daher:
di = i = p
dj = PX -1(j), X = A, B, C oder D
Die Spalte p - 1 wird bei der Verschachtelung der Inter-Zeilen
Permutation unterzogen und dann auf die Spalte 0 abgebildet.
Das Ergebnis des Entschachtelungsablaufs ist daher:
di = p - 1 für i = 0
dj = PX -1(j) X = A oder B oder C oder D
Die Berechnung der Entschachtelungs-Zieladressen erfolgt auch
hier gemäß der bereits angegebenen Formel E-Adr(n) = dj.C + di
Bei der Durchführung des Entschachtelungsschrittes werden nun
zunächst die Ziel-Entschachtelungsadressen E-Adr(n) für einen
bestimmten vorgegebenen Abschnitt des Entschachtelungs-
Eingabedatenspeichers E_iDS, z. B. in dem beschriebenen Bei
spiel die Entschachtelungsadressen n = 0, 1, . ., 191 für eine
bestimmte Zeile j, berechnet. Hierzu müssen zu dem Zeilenin
dex j der Zeilenkoordinatenwert Wert dj und sämtliche Spal
tenkoordinatenwerte di berechnet werden. Die berechneten Ent
schachtelungs-Zieladressen E-Adr(n) für die Zeile j werden im
Zieladressenspeicher abgespeichert. Dieser muß zu diesem
Zweck beim betrachteten Beispiel lediglich 192 Speicherzel
len, allgemein maximal 256 Speicherzellen, einer Wortbreite
von z. B. 13 Bits aufweisen. Bei einem aus mehreren Zeilen be
stehenden Datenblockabschnitt ist der Zieladressenspeicher
entsprechend größer auszulegen.
Mittels dieser 192 Zieladressen wird dann eine Entschachte
lung der ersten 192 Datensymbole des verschachtelten Datensi
gnals durchgeführt. Der Ablauf entspricht der anhand Fig. 3
erläuterten Vorgehensweise.
Nachdem die ersten 192 Datensymbole (bzw. ein anderer frei
wählbarer Abschnitt des verschachtelten Datenblocks) ent
schachtelt ist, wird der nächste Satz von Entschachtelungs-
Zieladressenwerten E-Adr(n) berechnet, und es wird gemäß der
berechneten Entschachtelungs-Zieladressenwerte die Umspeiche
rung der Datensymbole des zweiten betrachteten Abschnitts des
Datenblocks durchgeführt. Sofern eine zeilenweise Entschach
telung ausgeführt wird, ist der Datenblock nach R = 5 oder R = 10
oder R = 20 alternierenden Entschachtelungs-Zieladressen-
Berechnungsschritten, Entschachtelungs-Zieladressen-
Abspeicherungsschritten, wobei die bei der vorhergehenden
Prozedur verwendeten Zieladressen überschrieben werden, und
Datensymbol-Umspeicherschritten vollständig entschachtelt.
Das beschriebene Verfahren der abschnittsweisen oder sequen
tiellen Entschachtelung eines blockweise verschachtelten Da
tensignals wurde anhand der Turbo-Entschachtelung gemäß dem
UMTS Standard erläutert, ist jedoch nicht auf diese Bedingun
gen beschränkt, sondern kann allgemein als Entschachtelungs
prozedur für blockweise verschachtelte Datensignale einge
setzt werden.
Claims (6)
1. Verfahren zur Entschachtelung eines gemäß einer vorgegebe
nen Verschachtelungsvorschrift blockweise verschachtelten Da
tensignals, wobei ein Datenblock K Datensymbole umfaßt,
dadurch gekennzeichnet,
daß Entschachtelungs-Zieladressen (E-Adr(n)) bezüglich ei nes ersten vorgegebenen Abschnitts der K zu entschachteln den Datensymbole eines Datenblocks berechnet und in einem Zieladressenspeicher abgelegt werden;
daß dieser Abschnitt der Datensymbole gemäß den im Ziela dressenspeicher abgelegten Entschachtelungs-Zieladressen entschachtelt wird;
daß in einem nächsten Schritt neue Entschachtelungs-Ziel adressen für einen nächsten vorgegebenen Abschnitt der K zu entschachtelnden Datensymbole dieses Datenblocks berechnet und in dem Zieladressenspeicher abgelegt werden;
daß der nächste Abschnitt der Datensymbole gemäß den im Zieladressenspeicher abgelegten neuen Entschachtelungs- Zieladressen entschachtelt wird; und
daß auf diese Weise der gesamte Datenblock abschnittsweise entschachtelt wird.
daß Entschachtelungs-Zieladressen (E-Adr(n)) bezüglich ei nes ersten vorgegebenen Abschnitts der K zu entschachteln den Datensymbole eines Datenblocks berechnet und in einem Zieladressenspeicher abgelegt werden;
daß dieser Abschnitt der Datensymbole gemäß den im Ziela dressenspeicher abgelegten Entschachtelungs-Zieladressen entschachtelt wird;
daß in einem nächsten Schritt neue Entschachtelungs-Ziel adressen für einen nächsten vorgegebenen Abschnitt der K zu entschachtelnden Datensymbole dieses Datenblocks berechnet und in dem Zieladressenspeicher abgelegt werden;
daß der nächste Abschnitt der Datensymbole gemäß den im Zieladressenspeicher abgelegten neuen Entschachtelungs- Zieladressen entschachtelt wird; und
daß auf diese Weise der gesamte Datenblock abschnittsweise entschachtelt wird.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß in dem nächsten Schritt berechnete Entschachtelungs-
Zieladressen unter Überschreiben der zuvor in dem Ziela
dressenspeicher abgelegten Entschachtelungs-Zieladressen
abgespeichert werden.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
daß die Verschachtelung nach mehreren unterschiedlichen Verschachtelungsvorschriften durchführbar ist,
daß eine Erzeugungsregel zur Berechnung der unterschiedli chen Verschachtelungsvorschriften vorgegeben ist, und
daß die Vorausberechnung der Entschachtelungs-Zieladressen bezüglich der Abschnitte von Datensymbolen unmittelbar aus der Erzeugungsregel ohne eine vorherige Berechnung der Zieladressen für die Verschachtelung vorgenommen wird.
daß die Verschachtelung nach mehreren unterschiedlichen Verschachtelungsvorschriften durchführbar ist,
daß eine Erzeugungsregel zur Berechnung der unterschiedli chen Verschachtelungsvorschriften vorgegeben ist, und
daß die Vorausberechnung der Entschachtelungs-Zieladressen bezüglich der Abschnitte von Datensymbolen unmittelbar aus der Erzeugungsregel ohne eine vorherige Berechnung der Zieladressen für die Verschachtelung vorgenommen wird.
4. Verfahren nach Anspruch 3,
dadurch gekennzeichnet,
daß es sich bei der Entschachtelung um eine Turbo-
Entschachtelung, d. h. eine Entschachtelung eines mit einem
Turbo-Verschachteler verschachtelten Datensignals, handelt.
5. Verfahren nach Anspruch 3,
dadurch gekennzeichnet,
daß es sich bei der vorgegebenen Erzeugungsregel um den UMTS-Standard TS 25.212 handelt, welcher für jede Daten blocklänge K eine Verschachtelungsvorschrift in Form einer Koordinaten-Transformationsmatrix bestehend aus R Zeilen und C Spalten definiert, und
daß jeder der vorgegebenen Abschnitte eine Anzahl von nz.C aufeinanderfolgende Datensymbole des verschachtelten Daten signals aufweist, wobei nz eine ganze Zahl gleich oder grö ßer 1 ist.
daß es sich bei der vorgegebenen Erzeugungsregel um den UMTS-Standard TS 25.212 handelt, welcher für jede Daten blocklänge K eine Verschachtelungsvorschrift in Form einer Koordinaten-Transformationsmatrix bestehend aus R Zeilen und C Spalten definiert, und
daß jeder der vorgegebenen Abschnitte eine Anzahl von nz.C aufeinanderfolgende Datensymbole des verschachtelten Daten signals aufweist, wobei nz eine ganze Zahl gleich oder grö ßer 1 ist.
6. Verfahren nach Anspruch 5,
dadurch gekennzeichnet,
daß nz = 1.
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10048872A DE10048872A1 (de) | 2000-10-02 | 2000-10-02 | Abschnittsweise Entschachtelung |
| PCT/DE2001/003721 WO2002030073A2 (de) | 2000-10-02 | 2001-09-25 | Abschnittsweise entschachtelung |
| EP01982161A EP1323269A2 (de) | 2000-10-02 | 2001-09-25 | Abschnittsweise entschachtelung |
| JP2002533562A JP2004511179A (ja) | 2000-10-02 | 2001-09-25 | 断片的脱インターリーブ |
| CN01816716.0A CN1582555A (zh) | 2000-10-02 | 2001-09-25 | 片段式解交织 |
| US10/405,847 US7013412B2 (en) | 2000-10-02 | 2003-04-02 | Method for segmentally deinterleaving a data signal |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE10048872A DE10048872A1 (de) | 2000-10-02 | 2000-10-02 | Abschnittsweise Entschachtelung |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE10048872A1 true DE10048872A1 (de) | 2002-04-25 |
Family
ID=7658494
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE10048872A Withdrawn DE10048872A1 (de) | 2000-10-02 | 2000-10-02 | Abschnittsweise Entschachtelung |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US7013412B2 (de) |
| EP (1) | EP1323269A2 (de) |
| JP (1) | JP2004511179A (de) |
| CN (1) | CN1582555A (de) |
| DE (1) | DE10048872A1 (de) |
| WO (1) | WO2002030073A2 (de) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10202090A1 (de) * | 2002-01-21 | 2003-07-31 | Infineon Technologies Ag | Elektronische Sender-Empfänger-Vorrichtung |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004030226A1 (en) * | 2002-09-25 | 2004-04-08 | Koninklijke Philips Electronics N.V. | Method of calculating an intra-row permutation pattern for an interleaver |
| US8077743B2 (en) * | 2003-11-18 | 2011-12-13 | Qualcomm Incorporated | Method and apparatus for offset interleaving of vocoder frames |
| CN101218747B (zh) * | 2005-05-04 | 2012-09-05 | 诺基亚公司 | 提供增强信道交织的方法和装置 |
| CN101436160B (zh) * | 2007-11-16 | 2011-05-11 | 瑞昱半导体股份有限公司 | 解交叉单元的数据存取方法 |
| US8291291B1 (en) * | 2008-11-13 | 2012-10-16 | Altera Corporation | Data resequencing |
| US8189408B2 (en) * | 2009-11-17 | 2012-05-29 | Freescale Semiconductor, Inc. | Memory device having shifting capability and method thereof |
| US9065485B1 (en) | 2011-01-05 | 2015-06-23 | Altera Corporation | Method and apparatus for interleaving using stored initial value |
| EP2525498A1 (de) * | 2011-05-18 | 2012-11-21 | Panasonic Corporation | Bitverschachtelte codierte Modulation (BICM) mit quasi-zyklischen LDPC Codes |
| US9539109B2 (en) | 2011-09-16 | 2017-01-10 | Globus Medical, Inc. | Low profile plate |
| CN104917587B (zh) * | 2014-03-13 | 2018-08-14 | 钜泉光电科技(上海)股份有限公司 | 通信设备中的数据块交织和解交织方法及其装置 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5659580A (en) * | 1994-11-29 | 1997-08-19 | Lucent Technologies Inc. | Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister |
| US6029264A (en) * | 1997-04-28 | 2000-02-22 | The Trustees Of Princeton University | System and method for error correcting a received data stream in a concatenated system |
| DE19846721A1 (de) * | 1998-10-12 | 2000-04-13 | Bosch Gmbh Robert | Verfahren zur Kodierung und Dekodierung und Vorrichtung zum Kodieren oder Dekodieren |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1138379C (zh) * | 1993-12-29 | 2004-02-11 | 齐尼思电子公司 | 格式化数据帧的方法和装置 |
| FR2730370B1 (fr) * | 1995-02-07 | 1997-04-25 | France Telecom | Dispositif de reception de signaux numeriques a structure iterative, module et procede correspondants |
| BR9811299A (pt) * | 1997-07-30 | 2000-12-05 | Samsung Electronics Co Ltd | Turbo codificador, dispositivo de codificação de canal, e, processos de intercalação diagonal, de intercalação de deslocamento circular, e de codificação de canal para uso em um codificador de canal |
| JP3347335B2 (ja) * | 1997-11-10 | 2002-11-20 | 株式会社エヌ・ティ・ティ・ドコモ | インタリービング方法、インタリービング装置、及びインタリーブパターン作成プログラムを記録した記録媒体 |
| KR100350459B1 (ko) * | 1998-12-26 | 2002-12-26 | 삼성전자 주식회사 | 통신시스템의인터리빙/디인터리빙장치및방법 |
-
2000
- 2000-10-02 DE DE10048872A patent/DE10048872A1/de not_active Withdrawn
-
2001
- 2001-09-25 JP JP2002533562A patent/JP2004511179A/ja not_active Abandoned
- 2001-09-25 EP EP01982161A patent/EP1323269A2/de not_active Withdrawn
- 2001-09-25 CN CN01816716.0A patent/CN1582555A/zh active Pending
- 2001-09-25 WO PCT/DE2001/003721 patent/WO2002030073A2/de not_active Ceased
-
2003
- 2003-04-02 US US10/405,847 patent/US7013412B2/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5659580A (en) * | 1994-11-29 | 1997-08-19 | Lucent Technologies Inc. | Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister |
| US6029264A (en) * | 1997-04-28 | 2000-02-22 | The Trustees Of Princeton University | System and method for error correcting a received data stream in a concatenated system |
| DE19846721A1 (de) * | 1998-10-12 | 2000-04-13 | Bosch Gmbh Robert | Verfahren zur Kodierung und Dekodierung und Vorrichtung zum Kodieren oder Dekodieren |
Non-Patent Citations (1)
| Title |
|---|
| Raouafi F., Dingninou A., Berrou C.: "Saving memory in turbo-decoders using the Max-Log-MAP algorithm" IN IEE (1999) * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE10202090A1 (de) * | 2002-01-21 | 2003-07-31 | Infineon Technologies Ag | Elektronische Sender-Empfänger-Vorrichtung |
| US7746944B2 (en) | 2002-01-21 | 2010-06-29 | Infineon Technologies Ag | Electronic transmitter/receiver |
| DE10202090B4 (de) * | 2002-01-21 | 2010-08-12 | Infineon Technologies Ag | Elektronische Sender-Empfänger-Vorrichtung |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2002030073A3 (de) | 2002-07-18 |
| JP2004511179A (ja) | 2004-04-08 |
| US20030221157A1 (en) | 2003-11-27 |
| US7013412B2 (en) | 2006-03-14 |
| EP1323269A2 (de) | 2003-07-02 |
| WO2002030073A2 (de) | 2002-04-11 |
| CN1582555A (zh) | 2005-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69936683T2 (de) | Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt | |
| DE60009973T2 (de) | Verschachtelungsverfahren, Verschachtelungsgerät, Turbokodierungsverfahren und Turbokodierer | |
| DE60032441T2 (de) | Vorrichtung und verfahren zur turboverschaltelung | |
| DE69026916T2 (de) | Verschachtelung in kodierte Modulation für den mobilen Funk | |
| DE3910739C3 (de) | Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens | |
| DE69838451T2 (de) | Verfahren und schaltung zur adaptiven kanalkodierung | |
| DE69513720T2 (de) | Codiereinrichtung für punktierten Faltungscode | |
| DE10206727A1 (de) | Kombinierter Ver-und Entschachteler sowie Turbo-Decodierer mit kombiniertem Ver-und Entschachteler | |
| DE69907011T2 (de) | Verallgemeinerter faltungsver- und -entschachteler | |
| DE69905987T2 (de) | Verfahren und Gerät zur Kodierung und Signalübertragung unter Verwendung eines Sub-Codes von einem Produktcodes | |
| DE69905255T2 (de) | Verbesserte verschachteler für turbo-kodes | |
| DE60108892T2 (de) | Modul, vorrichtung und verfahren zum hochbitratigen dekodieren eines verketteten codes | |
| DE69722571T2 (de) | System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation | |
| DE112004002008B4 (de) | Vereinheitlichter Viterbi/Turbo-Decoder für mobile Telekommunikationssysteme | |
| DE10048872A1 (de) | Abschnittsweise Entschachtelung | |
| DE69907705T2 (de) | Verschachteler mit anwendung von nebengruppenverteilung | |
| DE60002705T2 (de) | Binnen-reihen permutationen für turbocode | |
| DE10196688B3 (de) | Ein Decodierer für eine trellis-basierte Kanalcodierung | |
| DE60016561T2 (de) | Blockverschachtelung für turbokodierung | |
| DE60111974T2 (de) | Abbruchkriterium für einen Turbodekoder | |
| DE69317766T2 (de) | Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc) | |
| DE69908629T2 (de) | Hybrid verschachteler für turbo-kodierer | |
| CN1625057A (zh) | 一种高度结构化的ldpc编码和解码方法及其编码器和解码器 | |
| DE10310812A1 (de) | Dekodiervorrichtung, Trellis-Prozessor und Verfahren | |
| WO2001006662A1 (de) | Verfahren und vorrichtung zur iterativen decodierung von verketteten codes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8139 | Disposal/non-payment of the annual fee |