[go: up one dir, main page]

DE10048872A1 - Abschnittsweise Entschachtelung - Google Patents

Abschnittsweise Entschachtelung

Info

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
Application number
DE10048872A
Other languages
English (en)
Inventor
Michael Schneider
Peter Jung
Joerg Plechinger
Tideya Kella
Markus Doetsch
Burkhard Becker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10048872A priority Critical patent/DE10048872A1/de
Priority to PCT/DE2001/003721 priority patent/WO2002030073A2/de
Priority to EP01982161A priority patent/EP1323269A2/de
Priority to JP2002533562A priority patent/JP2004511179A/ja
Priority to CN01816716.0A priority patent/CN1582555A/zh
Publication of DE10048872A1 publication Critical patent/DE10048872A1/de
Priority to US10/405,847 priority patent/US7013412B2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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/2703Coding, 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/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • H03M13/2714Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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/276Interleaving address generation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel 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. Schritt (Definition der Transformationsmatrix)
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:
  • 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.
2. Schritt (Intra-Zeilen Permutation) Fall A: C = p
  • 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.
Fall B: C = p + 1
  • 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.
Fall C: C = p - 1
  • 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.
3. Schritt (Inter-Zeilen Permutation)
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)
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
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
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.
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.
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.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß nz = 1.
DE10048872A 2000-10-02 2000-10-02 Abschnittsweise Entschachtelung Withdrawn DE10048872A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Raouafi F., Dingninou A., Berrou C.: "Saving memory in turbo-decoders using the Max-Log-MAP algorithm" IN IEE (1999) *

Cited By (3)

* Cited by examiner, † Cited by third party
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