DE69934606T2 - Turbodekoder und verschachtel-/endschachtelapparat - Google Patents

Turbodekoder und verschachtel-/endschachtelapparat Download PDF

Info

Publication number
DE69934606T2
DE69934606T2 DE69934606T DE69934606T DE69934606T2 DE 69934606 T2 DE69934606 T2 DE 69934606T2 DE 69934606 T DE69934606 T DE 69934606T DE 69934606 T DE69934606 T DE 69934606T DE 69934606 T2 DE69934606 T2 DE 69934606T2
Authority
DE
Germany
Prior art keywords
address
interleaving
unit
information
deinterleaving
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.)
Expired - Lifetime
Application number
DE69934606T
Other languages
English (en)
Other versions
DE69934606D1 (de
Inventor
Kazuhisa Fujitsu Limited OHBUCHI
Tetsuya Fujitsu Limited YANO
Kazuo Fujitsu Limited KAWABATA
Takaharu Fujitsu Limited Nakamura
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE69934606D1 publication Critical patent/DE69934606D1/de
Application granted granted Critical
Publication of DE69934606T2 publication Critical patent/DE69934606T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2978Particular arrangement of the component decoders
    • H03M13/2984Particular arrangement of the component decoders using less component decoders than component codes, e.g. multiplexed decoders and scheduling thereof
    • 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/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • 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
    • H03M13/2764Circuits therefore
    • 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/2767Interleaver wherein the permutation pattern or a portion thereof is stored
    • 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/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • 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/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • H03M13/2785Interleaver using in-place interleaving, i.e. writing to and reading from the memory is performed at the same memory location
    • 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/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
    • 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

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)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Turbodecodiergerät und ein Verschachtelungs-Entschachtelungsgerät, die zum Beispiel für eine Verwendung in einem Kommunikationssystem, so wie einem Mobilkommunikationssystem, geeignet sind.
  • Im konventionellen Drahtloskommunikationsgebiet, einschließlich einer Mobilkommunikation oder von Ähnlichem, sind Geräte eines Verschachtelers und eines entsprechenden Entschachtelers eingeführt zum Sortieren der Datenreihen, um einen Bündelfehler, der dazu tendiert, häufig bei einem bestimmten Teilstück der Datenreihe aufzutreten, einfacher korrigierbar zu machen. Das heißt, dass ein Übertragungssignal nach einem Verschachteln durch einen Verschachteler auf der Übertragungsseite übertragen wird, und auf der Empfangsseite empfangen wird, und dass das Signal dann durch einen Entschachteler entschachtelt wird.
  • Ein konventioneller Verschachteler bzw. Interleaver und Entschachteler bzw. Deinterleaver werden hier im Nachfolgenden beschrieben werden.
  • 6(A) ist ein Blockdiagramm, das eine Anordnung eines konventionellen Verschachtelers zeigt. Wie in 6(A) gezeigt, umfasst ein Verschachteler 100 einen Verschachtelungs-RAM 101, einen Schreibzähler 102, einen Lesezähler 103 und einen Leseadressen-Umwandlungsschaltkreis 104. Der in 6(A) gezeigte Verschachteler 100 ist auf der Grundlage einer Annahme angeordnet, dass der Verschachteler eine Eingabedatenreihe verschachtelt, die aus 24 × 16 = 384 Datenelementen (D000, D001, D002, ..., D383) zusammengesetzt ist (d.h., dass die Verschachtelergröße = 24 × 16 ist).
  • In diesem Fall ist der Verschachtelungs-RAM 101 (hier im Nachfolgenden einfach als „RAM 101" bezeichnet) eine Einheit zum darin Speichern der Eingabedatenserie (D000, D001, D002, ..., D383) für die Verschachtelungsoperation. Der Schreibzähler 102 ist eine Einheit zum sequenziellen Zählen der Zahlen von 0 bis 383 und gibt den gezählten Wert als eine Schreibadresse (A000, A001, A002, ..., A383) für den RAM 101 aus. Somit sind die Eingabedatenreihen sequenziell in den RAM 101 bei Adressen von A000 bis A383 gemäß der Schreibadresse (A000 bis A383) geschrieben.
  • Der Lesezähler 103 ist eine Einheit zum Zählen einer Reihe von Zahlen von 0 bis 383 zum Erzeugen der Leseadresse für den RAM 101. Der Leseadressen-Umwandlungsschaltkreis 104 ist eine Einheit zum Bewirken einer arithmetischen Operation, die durch x·16(mod383) ausgedrückt ist, auf der gezählten Zahl x (= 0 bis 383), die von dem Lesezähler 103 geliefert ist, wodurch die Reihe der gezählten Zahlen x, von dem Lesezähler 103' erzeugt, in eine mit einem regulären Intervall 16 umgewandelt wird. Somit wird die dem RAM 101 gelieferte Reihe von Leseadressen eine Reihe von Adressen mit einem regulären Intervall von 16, so dass A000, A016, A032, A368, A001, A017, A033, ..., An·16(mod383), ..., A351, A367, A383.
  • Wenn der Verschachteler 100 wie oben beschrieben angeordnet ist, dient der gezählte Wert des Schreibzählers 102, wenn Daten wie in 6(B) gezeigt in den Speicher geschrieben werden, direkt als die Schreibadresse und die Eingabedatenreihen (D000, D001, D002, ..., D383) werden sequenziell bei den entsprechenden Speicherbereichen in den RAM 101 geschrieben. Andererseits, wenn Daten von dem Speicher gelesen werden, werden Daten von Adressbereichen gelesen, die durch die Leseadresse bezeichnet sind, die bei dem regulären Intervall von 16 von dem Leseadressen-Umwandlungsschaltkreis 104 erzeugt werden.
  • Auf diese Weise werden die Eingabedatenreihen (D000, D001, D002, ..., D383) verschachtelt und als ein Ergebnis wie D016, D032, ..., D368, D001, D017, D033, ..., Dn·16(mod383), ..., D351, D367, D383 ausgegeben.
  • Die in dem vorliegenden Verschachteler 100 ausgeführte Verschachtelungsoperation kann, mit anderen Worten, zum Beispiel, wie in 7 gezeigt, veranschaulicht sein. Das heißt, dass, wenn Datenelemente von 24 × 16 = 384 in den RAM 101 geschrieben werden, die geschriebenen Daten in der durch einen Pfeil A angegebenen Richtung in dieser Reihenfolge gruppiert werden, wohingegen, wenn dieselben Datenelemente von dem Speicher gelesen werden, in der durch einen Pfeil B angegebenen Richtung gruppierte Datenelemente in dieser Reihenfolge gelesen werden, wodurch die Verschachtelungsoperation bewältigt wird (diese Art einer Verschachtelungsoperation ist als ein Blockverschachteln bekannt).
  • Unterdes ist 8(A) ein Blockdiagramm, das eine Anordnung eines konventionellen Entschachtelers zeigt. Wie in 8(A) gezeigt, umfasst der Entschachteler 200 einen Entschachtelungs-RAM 201, einen Schreibzähler 202, einen Lesezähler 203 und eine Leseadressen-Umwandlungsschaltkreis 204. Der in 8(A) gezeigte Entschachteler 200 ist auf der Grundlage einer Annahme angeordnet, dass der Entschachteler es mit einer Eingabedatenreihe zu tun hat, die aus 16 × 24 = 384 Datenelementen (D000, D001, D002, ..., D383) zusammengesetzt ist.
  • In diesem Fall ist der Entschachtelungs-RAM 201 (hier im Nachfolgenden einfach als „RAM 201" bezeichnet) eine Einheit zum darin Speichern der Eingabedatenreihen (D000, D001, D002, ..., D383) für die Verschachtelungsoperation. Der Schreibzähler 202 ist eine Einheit zum sequenziellen Zählen der Zahlen von 0 bis 383 und gibt den gezählten Wert als eine Schreibadresse (A000, A001, A002, ..., A383) für den RAM 201 aus. Somit werden die Eingabedatenreihen sequenziell in den RAM 201 bei Adressen von A000 bis A383 gemäß der Schreibadresse (A000 bis A383) geschrieben.
  • Der Lesezähler 203 ist eine Einheit zum Zählen einer Reihe von Zahlen von 0 bis 383 zum Erzeugen der Leseadresse für den RAM 201. Der Leseadressen-Umwandlungsschaltkreis 204 ist eine Einheit zum Bewirken einer arithmetischen Operation, die durch x·24(mod383) ausgedrückt ist, auf der gezählten Zahl x (= 0 bis 383), die von dem Lesezähler 203 geliefert ist, wodurch die Reihe gezählter Zahlen x, von dem Lesezähler 203 erzeugt, dazu gelangt, ein reguläres Intervall von 24 zu haben. Somit wird die dem RAM 201 gelieferte Reihe von Leseadressen eine Reihe von Adressen mit einem regulären Intervall von 24, so dass A000, A024, A048, ..., A360, A001, A002, ..., An·24(mod383), ..., A335, A359, A383.
  • Wenn der Verschachteler 200 wie oben beschrieben angeordnet ist, dient der gezählte Wert des Schreibzählers 202, wenn Daten wie in 8(B) gezeigt in den Speicher geschrieben werden, direkt als die Schreibadresse und die Eingabedatenreihen (D000, D001, D002, ..., D383) werden sequenziell in den RAM 201 bei den entsprechenden Adressbereichen geschrieben. Andererseits, wenn Daten von dem Speicher gelesen werden, werden Daten von Adressbereichen gelesen, die durch die Leseadresse bezeichnet sind, die bei dem regulären Intervall von 24 von dem Leseadressen-Umwandlungsschaltkreis 204 erzeugt werden.
  • Auf diese Weise werden die Eingabedatenreihen (D000, D001, D002, ..., D383) verschachtelt und als ein Ergebnis ausgegeben wie D000, D024, D048, ..., D360, D001, D025, ..., Dn·24(mod383), ..., D335, D359, D383. Die Operation des vorliegenden Verschachtelers 200 ist, mit anderen Worten, äquivalent zu einer Verschachtelungsoperation bei einer Größe von 16 × 24. Das heißt, dass, wenn, wie zum Beispiel in 9 gezeigt, Datenelemente von 16 × 24 = 384 in den RAM 201 geschrieben werden, die geschriebenen Daten in der durch einen Pfeil A angegebenen Richtung in dieser Reihenfolge gruppiert werden, wohingegen, wenn dieselben Datenelemente von dem Speicher gelesen werden, in der durch einen Pfeil B angegebenen Richtung gruppierte Datenelemente in dieser Reihenfolge gelesen werden.
  • Wenn die Eingabedatenreihen durch 24 × 16 in dem oben beschriebenen Verschachteler 100 verschachtelt werden, und die resultierenden Ausgabedatenreihen (D000, D016, D032, ..., D368, D001, D017, D033, ..., Dn·16(mod383), ..., D351, D367, D383) dem vorliegenden Entschachteler 200 geliefert werden, werden dann demgemäß ein Schreiben und ein Lesen von Datenreihen ausgeführt, wie in 8(C) gezeigt. Das heißt, dass, wenn ein Schreiben ausgeführt wird, die Ausgabedatenreihen in dem RAM 201 in der oben erwähnten Reihenfolge sequenziell geschrieben werden, und dass, wenn ein Lesen ausgeführt wird, die Datenreihen bei einem regulären Intervall von 24 Adressen gelesen werden. Als ein Ergebnis werden die Ausgabedatenreihen wie eine vor der Verschachtelungsoperation wiederhergestellt (d.h., dass die Entschachtelungsoperation bewirkt ist).
  • Neuerdings wird ein neues Fehlerkorrektursystem genutzt, das als „Turbocodieren und Turbodecodieren" bekannt ist. Gemäß einem Kommunikationssystem mit dem darauf angewendeten System zum Turbocodieren und Turbodecodieren wird eine Übertragungsinformation durch einen Verschachteler mit Verwenden einer Vielzahl von Fehlerkorrekturcodes (ein rekursiver systematischer Faltungscode wird häufig eingesetzt) auf der Übertragungsseite (in einem Turbocodierer) codiert. Dann, auf der Empfangsseite (in einem Turbodecodierer), wird die empfangene Information einer Verschachtelungsoperation, einem Decodieren für eine unscharfe Ausgabe, und einer Entschachtelungsoperation wiederholt durch Verwenden eines Verschachtelers, eines Entschachtelers und einer Vielzahl von Fehlerkorrekturcode-Decodierern (für eine unscharfe Ausgabe) unterworfen. Somit werden an die Übertragungsfunktion in dem Übertragungspfad angefügte Fehler soweit wie möglich reduziert, um die ursprüngliche Übertragungsinformation wiederherzustellen.
  • 10 ist ein Blockdiagramm, das ein Beispiel einer Anordnung eines Hauptteilstücks eines Kommunikationssystems zeigt, auf welches die oben erwähnten „Turbocodierer und Turbodecodierer" angewendet sind. Wie in 10 gezeigt, ist dieses Kommunikationssystem eingerichtet, einen Turbocodierer 300 auf der Übertragungsseite zu enthalten, während ein Turbodecodierer (Turbodecodiereinheit) 400 auf der Empfangsseite mit einem dazwischen angeordneten gewünschten Kommunikationspfad (Funkkommunikationsnetzwerk usw.) 500 ist. Der Turbocodierer 300 ist aus einem Paar rekursiver systematischer Faltungscodierer (hier im Nachfolgenden einfach als „Faltungscodierer" bezeichnet) 301 und 302 zusammengesetzt, wobei jeder eingerichtet ist, Exklusiv- ODER logische Summierungselemente (EX-OR) 311 bis 313 und Verzögerungselemente (Flip-Flop: FF) 314 und 315 zu enthalten. Der Turbocodierer enthält auch einen Verschachteler (π) 303 zum Bewirken einer Verschachtelungsoperation auf die Übertragungsinformation u. Der Turbodecodierer 400 ist eingerichtet, Decodierer für eine unscharfe Ausgabe (DEC) 401 und 402 und einen Verschachteler (π) und einen Entschachteler (π–1) 404 zu enthalten.
  • Der Faltungscodierer 301 des Turbocodierers 300 ist eine Einheit zum Senden einer codierten Information, die durch Codieren der Übertragungsinformation u erhalten ist, mit Verwenden einer Faltungsoperation, an die Empfangsseite als einen Fehlerkorrekturcode y1. Der Verschachteler 301 ist eine Einheit zum Bewirken einer Verschachtelungsoperation auf die Übertragungsinformation u mit Verwenden desselben Betriebsprinzips, wie das des oben erwähnten Verschachtelers 100. Der Faltungscodierer 302 ist eine Einheit zum Senden der codierten Information, die durch Bewirken einer Faltungscodierung auf die Übertragungsinformation u' erhalten ist, die in dem Verschachteler 303 verschachtelt worden ist, an die Empfangsseite als einen Fehlerkorrekturcode y2.
  • Das heißt, dass der Turbocodierer 300 eingerichtet ist zum Senden der Übertragungsinformation (zu decodierende Information) u selbst, des Fehlerkorrekturcodes y1 über die Übertragungsinformation u vor der Verschachtelungsoperation und des Fehlerkorrekturcodes y2 über die Übertragungsinformation u nach der Verschachtelungsoperation an die Empfangsseite als einen Turbocode.
  • Andererseits führt der Turbodecodierer 400 wiederholt die folgenden Operationen aus. Von den empfangenen Turbocodes [in diesem Fall wird angenommen, dass die Übertragungsinformation u, die Fehlerkorrekturcodes y1 und y2 ein Rauschen (Fehler) in dem Übertragungspfad 500 erleiden und dass sie eine empfangene Information U, Fehlerkorrekturcodes Y1 bzw. Y2 werden] empfängt der DEC 401 die empfangene Information U und bewirkt eine Decodierung für eine unscharfe Ausgabe darauf durch Verwenden des Fehlerkorrekturcodes Y1, um eine empfangene Information U' zu erhalten. Danach bewirkt der Verschachteler 403 eine Verschachtelungsoperation der empfangenen Information U' und der DEC 402 bewirkt eine Decodierung für eine unscharfe Ausgabe auf dem verschachtelten Signal durch Verwenden des Fehlerkorrekturcodes Y2. Dann wird das decodierte Ergebnis (empfangene Information U'') in dem Entschachteler 404 entschachtelt und das erhaltene Signal wird an den DEC 401 zurückgespeist. Der DEC 401 bewirkt wiederum eine Decodierung für eine unscharfe Ausgabe durch Verwenden des Fehlerkorrekturcodes Y1. Die oben beschriebenen Operationen werden wiederholt. Wenn die Decodierung für eine unscharfe Ausgabe bewirkt wird, werden eine MAP-(Maximum A Posteriori Wahrscheinlichkeit) Decodierung, eine SOVA (Soft-Output Viterbi Algorithm) Decodierung oder Ähnliches genutzt.
  • Der Verschachteler 403 bewirkt außerdem eine Verschachtelungsoperation auf dem von dem DEC 401 gelieferten decodierten Ergebnis auf der Grundlage des Operationsprinzips, das dem des obigen Verschachtelers 100 ähnlich ist. Mit dieser Verschachtelungsoperation werden die Datenreihen als ein Decodierungsergebnis von dem DEC 401 an den DEC 402 mit den Datenreihen geliefert, die mit den Datenreihen des Fehlerkorrekturcodes Y2 abgestimmt sind, der für die Decodierung für eine unscharfe Ausgabe in dem DEC 402 genutzt ist.
  • Ferner ist der DEC 402 eine Einheit zum Bewirken einer Decodierung für eine unscharfe Ausgabe (zum Beispiel MAP-Decodieren, SOVA-Decodieren oder Ähnliches) auf dem decodierten Ergebnis, das der Verschachtelungsoperation unterzogen worden ist, durch Verwenden des Fehlerkorrekturcodes Y2. Der Entschachteler 404 ist eine Einheit zum Bewirken einer Entschachtelungsoperation auf dem von dem DEC 402 gelieferten decodierten Ergebnis auf der Grundlage des Betriebsprinzips, das dem des oben erwähnten Entschachtelers 200 ähnlich ist, wodurch die ursprünglichen Datenreihen wiederhergestellt werden. Mit dieser Entschachtelungsoperation werden die Datenreihen als ein Decodierergebnis, von dem DEC 402 geliefert, an den DEC 401 mit den Datenreihen geliefert, die mit den Datenreihen des Fehlerkorrekturcodes Y1 abgestimmt sind. Somit werden die Datenreihen erneut der Decodierung für eine unscharfe Ausgabe durch Verwenden des Fehlerkorrekturcodes Y1 in dem DEC 401 unterworfen.
  • Da die folgende Operation in dem Turbodecodierer 400 wiederholt wird, tendieren an die Übertragungsinformation u angefügte Fehler dazu, von der Information entfernt zu werden, und somit kann die ursprüngliche Übertragungsinformation u mit einem höheren Genauigkeitsgrad wiederhergestellt werden.
    • 1. U erfährt ein Decodieren für eine unscharfe Ausgabe durch Verwenden von Y1. → U'
    • 2. U' erfährt ein Decodieren für eine unscharfe Ausgabe durch Verwenden von Y2. → U'' (Ausgabe erfährt eine einmalige Turbozykluswiederholung)
    • 3. U'' erfährt ein Decodieren für eine unscharfe Ausgabe durch Verwenden von Y1. → U'3
    • 4. U'3 erfährt ein Decodieren für eine unscharfe Ausgabe durch Verwenden von Y2. → U'4 (Ausgabe erfährt eine zweite Turbozykluswiederholung)
    • 5. U'4 erfährt ein Decodieren für eine unscharfe Ausgabe durch Verwenden von Y1. → U'5
    • 4. U'5 erfährt ein Decodieren für eine unscharfe Ausgabe durch Verwenden von Y2. → U'6 (Ausgabe erfährt eine dritte Turbozykluswiederholung) (Dieselbe Operation kann ähnlich wiederholt werden)
  • Die Wiederholungszeit ist gleich oder geringer als eine Sättigungsanzahl gesetzt (zum Beispiel ungefähr 16-mal).
  • Auf diese weise wiederholt der Turbodecodierer 400 die Operationen zum Decodieren für eine unscharfe Ausgabe, Verschachteln und Entschachteln durch Verwenden der DECs 401 und 402, des Verschachtelers 403 und des Entschachtelers 404, wodurch durch das Turbocodiersystem codierte Daten decodiert werden können. Die Turbocodierung und Turbodecodierung sind im Detail in einer Referenz wie beispielsweise USP Nr. 5446747 beschrieben.
  • Gemäß dem oben beschriebenen Turbodecodierer 400 werden die Operationen zum Verschachteln und Entschachteln unabhängig durch den Verschachteler 403 und den Entschachteler 404 bewirkt. Deshalb gelangt der Turbodecodierer notwendigerweise dazu, einen sehr großen Schaltkreis zu haben.
  • Im Besonderen, in einer tatsächlichen Kommunikationssituation, tendiert eine einzelne Einheit (in dem obigen Beispiel der Datenreihen jede von D000 bis D383) von Datenreihen (Datenreihen als ein Ziel der Verschachtelungs- oder Entschachtelungsoperation), als ein Decodierergebnis einige Zehner-Bitmengen zu haben. Wenn die einzelne Einheit der Datenreihen dazu gelangt, solch eine große Größe zu haben, wird die Größe des Verschachtelers (oder Entschachtelers) (d.h. die Speichergröße) dazu gelangen, einige Tausender-Bitmengen zu haben, mit dem Ergebnis, dass das oben identifizierte Problem deutlicher sichtbar werden wird.
  • Ferner gibt es eine Möglichkeit, dass eine andere Anordnung als der Turbodecodierer 400 dem oben identifizierten Problem entgegentreten wird. Das heißt, dass, wenn ein Sender-Empfänger eingerichtet ist zum Kommunizieren durch Verwenden eines Verschachtelers und eines entsprechenden Entschachtelers, es unverzichtbar ist, sowohl den Verschachteler 100 als auch den Entschachteler 200 unabhängig herzurichten, wenn der Sender-Empfänger auf der Grundlage der aktuell verfügbaren Technologie eingerichtet ist. Deshalb wird die Größe des Gerätes ähnlicherweise sehr groß werden.
  • Die vorliegende Erfindung ist angesichts des obigen Aspektes getätigt worden. Deshalb ist es eine Aufgabe der vorliegenden Erfindung, ein Turbodecodiergerät und ein Verschachtelungs-Entschachtelungsgerät bereitzustellen, was es möglich macht, die Größe des Gerätes beträchtlich zu reduzieren.
  • Dokument XP002922269 („Iterative Decoding of Parallel Concatenated Convolutional Codes", Small World Communications, 13-1-99 v. 1.4) betrifft Schaltkreise und Entwurfstechniken, die einen Entwurf iterativer Decodierer für parallelverkettete Faltungscodes mit Verwenden einer Small World Communications MAP04 Reihe von Soft-In-Soft-Out-Decodierern ermöglichen. 3 und 4 des Dokumentes zeigen jeweils einen allgemeinen bzw. einen symmetrischen Verschachteler mit gemeinsamen I/O-SRAMs und 8 zeigt einen seriellen Decodierer für Turbocodes mit einem DSP oder Mikroprozessor, einem Schnittstellenschaltkreis und einem MAP-Decodierer. Der DSP führt sämtliche der Funktionen eines Turbocodedecodierers durch, abgesehen vom MAP-Decodieren.
  • US-Patentanmeldung US 4 394 642 betrifft Geräte zum Verschachteln und Entschachteln von Daten, die ausgebildet sind zum Speichern von Bits eines Datenstroms nach einem Fehlercodieren. Die Datenbits werden in einem Direktzugriffsspeicher gespeichert und ein Verschachteler umfasst eine Adresszeigereinrichtung und eine Logik zum Lesen der Datenbits in einer vorbestimmten umgeordneten Sequenz zum Bereitstellen einer Quasi-Zufallsmustersequenz von Datenbits, die, wenn übertragen, im Wesentlichen immun gegen periodische Bündel einer Funkfrequenzinterferenz sind. 3 und 8 dieses Dokumentes zeigen die in einem Verschachteler und in einem Entschachteler eingesetzten strukturellen Elemente, von denen bevorzugte Ausführungsformen fähig sind, entweder als ein Verschachteler oder als ein Entschachteler zu arbeiten.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist ein Turbodecodiergerät bereitgestellt zum Decodieren eines Turbocodes mit wenigstens einer zu decodierenden Information, einem Fehlerkorrekturcode für die Information, die vor einer Verschachtelungsoperation auf einer Übertragungsseite decodiert werden soll, und einem Fehlerkorrekturcode für die Information, die nach einer Verschachtelungsoperation auf der Übertragungsseite decodiert werden soll, während eine Verschachtelungsoperation und eine Entschachtelungsoperation wiederholt ausgeführt werden durch Verwenden eines Fehlerkorrekturcodes, durch wiederholtes Ausführen der Operationen eines Empfangens einer Information, Decodierens der empfangenen Information in einem Decodierer zum Erhalten einer decodierten Information, Verschachtelns der decodierten Information, Decodierens der verschachtelten Information in dem Decodierer, Entschachtelns der decodierten verschachtelten Information und Speisens der entschachtelten Information zurück an den Decodierer gekennzeichnet durch Umfassen von: einer Fehlerkorrektur-Decodiereinheit, die ausgebildet ist zum Bewirken einer Fehlerkorrektur und eines Decodierens hinsichtlich der zu decodierenden Information auf der Grundlage entweder des Fehlerkorrekturcodes oder eines Ergebnisses der Fehlerkorrektur und Decodieroperation, die in der vorhergehenden Stufe durchgeführt worden sind; einem Verschachtelungs-/Entschachtelungs-RAM, der ausgebildet ist zum Bewirken sowohl einer Verschachtelungsoperation als auch einer Entschachtelungsoperation auf dem Ergebnis der Fehlerkorrektur und Decodieroperation, geliefert von der Fehlerkorrektur-Decodiereinheit, und zum Ausgeben der von der Fehlerkorrektur und Decodieroperation abgeleiteten Daten an die Fehlerkorrektur-Decodiereinheit als ein Ergebnis der Fehlerkorrektur und Decodieroperation, die in der vorhergehenden Stufe durchgeführt worden sind, wobei dieselben Adressen des Verschachtelungs-/Entschachtelungs-RAM eingerichtet sind, zum Verschachteln und Entschachteln verwendet zu werden; und einer Speichersteuereinheit, die ausgebildet ist zum Steuern der Reihenfolge eines Schreibens/Lesens des Ergebnisses der Fehlerkorrektur und Decodieroperation in/von den/dem Verschachtelungs/Entschachtelungs-RAM, so dass die Verschachtelungsoperation und die Entschachtelungsoperation abwechselnd bzw. alternativ auf dem Ergebnis der Fehlerkorrektur und Decodieroperation bewirkt werden, und die in der Fehlerkorrektur-Decodiereinheit genutzten Fehlerkorrekturcodes abwechselnd bzw. alternierend ausgewählt werden, so dass die wiederholt ausgeführten Operationen des Turbodecodiergerätes durchgeführt werden.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Verschachtelungs-Entschachtelungsgerät bereitgestellt zur Verwendung in einem Turbodecodiergerät, das wiederholt die Operationen ausführt zum Empfangen einer Information, Decodieren der empfangenen Information in einem Decodierer zum Erhalten einer decodierten Information, Verschachteln der decodierten Information, Decodieren der verschachtelten Information, Entschachteln der decodierten verschachtelten Information und Speisen der verschachtelten Information zurück an den Decodierer, gekennzeichnet durch Umfassen von: einem Verschachtelungs-/Entschachtelungs-RAM, das ausgebildet ist zum darin Speichern von Daten, wobei dieselben Adressen des Verschachtelungs-/Entschachtelungs-RAM eingerichtet sind, zum Verschachteln und Entschachteln verwendet zu werden; einer ersten Adressenerzeugungseinheit, die ausgebildet ist zum Erzeugen einer Reihe von Adressen in einer vorbestimmten Reihenfolge für den Verschachtelungs-/Entschachtelungs-RAM; einer zweiten Adressenerzeugungseinheit, die ausgebildet ist zum Erzeugen einer Reihe von Adressen für den Verschachtelungs-/Entschachtelungs-RAM in einer Reihenfolge, die unterschiedlich ist von der der ersten Adressenerzeugungseinheit; einer Adressenauswähleinheit, die ausgebildet ist zum selektiven Ausgeben einer der Ausgaben der Adressenerzeugungseinheiten als eine Schreibadresse des Verschachtelungs-/Entschachtelungs-RAM, und zum Ausgeben der anderen der Ausgaben der Adressenerzeugungseinheiten als eine Leseadresse für den Verschachtelungs-/Entschachtelungs-RAM; und einer Adressenauswähl-Steuereinheit, die ausgebildet ist zum Steuern der Adressenauswähleinheit auf solch eine Weise, dass die Adressenauswähleinheit abwechselnd die Ausgaben der Adressenerzeugungseinheiten als die Schreibadresse und die Leseadresse in Übereinstimmung damit auswählt, wann die in dem Verschachtelungs-/Entschachtelungs-RAM gespeicherten Daten während der wiederholt ausgeführten Operationen verschachtelt oder entschachtelt werden sollen.
  • Um die obige Aufgabe zu erreichen, enthält ein Turbodecodiergerät wenigstens eine zu decodierende Information, einen Fehlerkorrekturcode für die Information, die decodiert werden soll und nicht auf einer Übertragungsseite verschachtelt worden ist, und einen Fehlerkorrekturcode für die Information, die decodiert werden soll und auf der Übertragungsseite verschachtelt worden ist, während eine Verschachtelungsoperation und eine Entschachtelungsoperation wiederholt zusammen mit einem Fehlerkorrekturcode ausgeführt werden, gekennzeichnet durch Enthalten einer Fehlerkorrektur-Decodiereinheit, die fähig ist zum Bewirken einer Fehlerkorrektur und eines Decodierens hinsichtlich der zu decodierenden Information basierend auf entweder einem der Fehlerkorrekturcodes und einem Ergebnis einer Fehlerkorrektur und eines Decodierens, das in einer vorhergehenden Stufe durchgeführt worden ist, einer Speichereinheit zum Bewirken einer Verschachtelungsoperation und einer Entschachtelungsoperation auf dem Ergebnis der Fehlerkorrektur und Decodieroperation, von der Fehlerkorrektur-Decodiereinheit bereitgestellt, und zum Ausgeben der Daten, die von der Fehlerkorrektur und Decodieroperation abgeleitet werden, an die Fehlerkorrektur-Decodiereinheit als ein Ergebnis der Fehlerkorrektur und Decodieroperation, die in einer vorhergehenden Stufe getätigt worden ist, und einer Speichersteuereinheit zum Steuern der Reihenfolge des Schreibens/Lesens des Ergebnisses der Fehlerkorrektur und Decodieroperation in/von die/der Speichereinheit, so dass eine Verschachtelungsoperation und eine Entschachtelungsoperation auf dem Ergebnis der Fehlerkorrektur und Decodieroperation in Abhängigkeit von dem in der Fehlerkorrektur-Decodiereinheit genutzten Fehlerkorrekturcode bewirkt werden können.
  • Gemäß dem Turbodecodiergerät der vorliegenden Erfindung können die Daten, durch Steuern der Schreibreihenfolge und der Lesereihenfolge der Daten gemäß dem in der Fehlerkorrektur-Decodiereinheit genutzten Fehlerkorrekturcode, als das Ergebnis des Fehlerkorrekturdecodierens verschachtelt und entschachtelt werden. Deshalb ist es unnötig, einen Verschachteler und einen Entschachteler unabhängig bereitzustellen, wodurch die Größe und Kosten des Turbodecodiergerätes minimiert werden.
  • Die Speichersteuereinheit kann eingerichtet sein, die folgenden Komponenten zu enthalten:
    • (1) eine erste Adressenerzeugungseinheit zum Erzeugen einer Reihe von Adressen in einer vorbestimmten Reihenfolge für die Speichereinheit;
    • (2) eine zweite Adressenerzeugungseinheit zum Erzeugen einer Reihe von Adressen für die Speichereinheit in einer Reihenfolge, die von der der ersten Adressenerzeugungseinheit unterschiedlich ist;
    • (3) ein Paar von Adressenauswähleinheiten zum selektiven Verbinden eines der Ausgänge der Adressenerzeugungseinheiten als eine Schreibadresse der Speichereinheit, während der andere der Ausgänge der Adressenerzeugungseinheiten als eine Schreibadresse für die Speichereinheit verbunden ist;
    • (4) eine Verschachtelungsmodus-Bestimmungseinheit zum Bestimmen, ob der in der Fehlerkorrektur-Decodiereinheit genutzte Fehlerkorrekturcode ein für die Information Eingerichteter ist, die vor einer Verschachtelungsoperation auf der Übertragungsseite decodiert werden soll, oder ein für die Information Eingerichteter ist, die nach einer Verschachtelungsoperation auf der Übertragungsseite decodiert werden soll; und
    • (5) eine Adressenauswähl-Steuereinheit zum Steuern der Paare von Adressenauswähleinheiten auf solch eine Weise, dass, wenn die Verschachtelungsbestimmungseinheit bestimmt, dass der Fehlerkorrekturcode ein für die Information Eingerichteter ist, die vor einer Verschachtelungsoperation decodiert werden soll, dann einer der Ausgänge der Adressenerzeugungseinheiten als die Schreibadresse ausgewählt wird, während der andere der Ausgänge der Adressenerzeugungseinheiten als die Leseadresse ausgewählt wird, und wenn die Verschachtelungsbestimmungseinheit bestimmt, dass der Fehlerkorrekturcode ein für die Information Eingerichteter ist, die nach einer Verschachtelungsoperation decodiert werden soll, dann der andere der Ausgänge der Adressenerzeugungseinheiten als die Schreibadresse ausgewählt wird, während dieser eine der Ausgänge der Adressenerzeugungseinheiten als die Leseadresse ausgewählt wird.
  • Wenn die Ausgänge bzw. Ausgaben von der ersten Adressenerzeugungseinheit und der zweiten Adressenerzeugungseinheit selektiv gesteuert werden, können, gemäß der obigen Anordnung des Turbodecodiergerätes der vorliegenden Erfindung, die resultierenden Daten der Fehlerkorrekturdecodierdaten zufriedenstellend in der Schreibreihenfolge und der Lesereihenfolge der Daten auf der Speichereinheit in Abhängigkeit davon gesteuert werden, ob Verschachteln oder Entschachteln angefordert wird. Deshalb kann das vorliegende Turbodecodiergerät mit einer extrem einfachen Konstruktion realisiert werden.
  • Die zweite Adressenerzeugungseinheit kann eine Zufallsmuster-Aufnahmeeinheit enthalten, mit einer darin gehaltenen bzw. aufgenommenen Zufallsmusterinformation zum zufälligen Ändern der Sequenz der von der ersten Adressenerzeugungseinheit erzeugten Adressen und Ausgeben einer Reihe von Adressen davon. Wenn die zweite Adressenerzeugungseinheit wie oben eingerichtet ist, wird es unnötig, zwei Zufallsmusterinformationsmengen für die Verschachtelungsoperation und die Entschachtelungsoperation herzurichten (d.h., dass die erste Adressenerzeugungseinheit dazu gebracht wird, nicht nur als eine Einheit für die Verschachtelungsoperation, sondern auch als eine Einheit für die Entschachtelungsoperation zu dienen). Deshalb können die Kosten zum Ausführen einer arithmetischen Operation, die beim Bestimmen des Zufallsmusters im Voraus angefordert wird, beträchtlich reduziert werden, und darüber hinaus kann das Turbodecodiergerät kleiner hergestellt werden und mit extrem niedrigen Kosten konstruiert werden.
  • Ferner ist, gemäß der vorliegenden Erfindung, ein Verschachtelungs-Entschachtelungsgerät bereitgestellt, das eine Speichereinheit zum darin Speichern von Daten enthält, so dass die Daten einer Verschachtelungs- und Entschachtelungsoperation unterworfen werden können, eine erste Adressenerzeugungseinheit zum Erzeugen einer Reihe von Adressen in einer vorbestimmten Reihenfolge für die Speichereinheit, eine zweite Adressenerzeugungseinheit zum Erzeugen einer Reihe von Adressen für die Speichereinheit in einer Reihenfolge, die unterschiedlich von der der ersten Adressenerzeugungseinheit ist, ein Paar von Adressenauswähleinheiten zum selektiven Ausgeben einer der Ausgaben bzw. Ausgänge von den Adressenerzeugungseinheiten für eine Schreibadresse der Speichereinheit, während der andere eine der Ausgänge der von den Adressenerzeugungseinheiten für eine Leseadresse für die Speichereinheit ist, und eine Adressenauswähl-Steuereinheit zum Steuern des Paares von Adressenauswähleinheiten auf solch eine Weise, dass das Paar von Adressenauswähleinheiten die Ausgänge bzw. Ausgaben der Adressenerzeugungseinheiten als die Schreibadresse und die Leseadresse in Abhängigkeit von den Fällen auswählt, in welchen die Daten zum Verschachteln oder Entschachteln angefordert werden.
  • Gemäß des obigen Verschachtelungs-Entschachtelungsgerätes der vorliegenden Erfindung kann einer der Ausgänge bzw. Ausgaben von den Adressenerzeugungseinheiten (zwei Arten von Adressendatenreihen unterscheiden sich voneinander in ihrer Erzeugungsreihenfolge) als die Schreibadresse oder die Leseadresse in Abhängigkeit davon ausgewählt werden, ob die Daten verschachtelt oder entschachtelt werden sollen. Deshalb kann die einzelne Speichereinheit nicht nur als ein Verschachteler, sondern auch als ein Entschachteler fungieren. Als ein Ergebnis wird es unnötig, unabhängig einen Verschachteler und einen Entschachteler zum Ausführen einer Verschachtelungsoperation und einer Entschachtelungsoperation bereitzustellen, mit dem Ergebnis, dass das Gerät klein gemacht werden, und somit das Gerät mit extrem niedrigen Kosten konstruiert werden kann.
  • In diesem Fall kann die Adressenauswähl-Steuereinheit eingerichtet sein zum Steuern des Paares von Adressenauswähleinheiten auf solch eine Weise, dass, wenn die Daten verschachtelt werden sollen, der Ausgang bzw. die Ausgabe der ersten Adressenerzeugungseinheit als die Schreibadresse ausgewählt wird, und der Ausgang bzw. die Ausgabe der zweiten Adressenerzeugungseinheit als die Leseadresse ausgewählt wird, und wenn die Daten entschachtelt werden sollen, der Ausgang bzw. die Ausgabe der zweiten Adressenerzeugungseinheit als die Schreibadresse ausgewählt wird, während der Ausgang bzw. die Ausgabe der ersten Adressenerzeugungseinheit als die Leseadresse ausgewählt wird.
  • Umgekehrt kann die Adressenauswähl-Steuereinheit das Paar von Adressenauswähleinheiten auf solch eine Weise steuern, dass, wenn die Daten verschachtelt werden sollen, der Ausgang bzw. die Ausgabe der zweiten Adressenerzeugungseinheit als die Schreibadresse ausgewählt wird, während der Ausgang bzw. die Ausgabe der ersten Adressenerzeugungseinheit als die Leseadresse ausgewählt wird, und wenn die Daten entschachtelt werden sollen, der Ausgang bzw. die Ausgabe der ersten Adressenerzeugungseinheit als die Schreibadresse ausgewählt wird, während der Ausgang bzw. die Ausgabe der zweiten Adressenerzeugungseinheit als die Leseadresse ausgewählt wird.
  • In beiden der obigen Fälle kann eine der Verschachtelungsfunktion und der Entschachtelungsfunktion ausgewählt werden durch einfaches Auswählen eines der Ausgänge der Adressenerzeugungseinheiten. Deshalb kann das vorliegende Gerät mit einer sehr einfachen Anordnung konstruiert werden.
  • Außerdem kann in dem vorliegenden Verschachtelungs-Entschachtelungsgerät die zweite Adressenerzeugungseinheit eine Zufallsmuster-Aufnahmeeinheit zum Aufnehmen bzw. Halten einer Zufallsmusterinformation enthalten, die verwendet wird zum zufälligen Umordnen der Sequenz von Adressen, von der ersten Adressenerzeugungseinheit erzeugt, und die zum Ausgeben der umgeordneten Adressen verwendet wird. Auch in diesem Fall wird es unnötig, zwei Zufallsmusterinformationsmengen für die Verschachtelungsoperation und die Entschachtelungsoperation herzurichten (d.h., dass die erste Adressenerzeugungseinheit dazu gebracht werden kann, nicht nur als eine Einheit für die Verschachtelungsoperation, sondern auch als eine Einheit für die Entschachtelungsoperation zu dienen). Deshalb können Kosten zum Ausführen einer arithmetischen Operation, die beim Bestimmen des Zufallsmusters im Voraus angefordert ist, beträchtlich reduziert werden, und darüber hinaus kann das vorliegende Gerät kleiner gemacht und mit extrem niedrigen Kosten konstruiert werden.
  • Für ein besseres Verständnis der vorliegenden Erfindung und zum Zeigen, wie dieselbe verwirklicht werden kann, wird nun mittels eines Beispiels auf die folgenden Zeichnungen verwiesen werden.
  • 1 ist ein Blockdiagramm, das eine Anordnung eines Turbodecodierers (Turbodecodiergerät) als eine Ausführungsform der vorliegenden Erfindung zeigt.
  • 2(A) bis 2(H) sind Ablaufdiagramme zum Erläutern der Operation des Turbodecodierers als die Ausführungsform.
  • 3 ist ein Blockdiagramm, das im Besonderen eine Verschachtelungs-Entschachtelungseinheit zeigt, die in dem Turbodecodierer als die Ausführungsform eingesetzt ist.
  • 4(A) ist ein Blockdiagramm, das eine Anordnung des Entschachtelers gemäß der vorliegenden Ausführungsform zeigt.
  • 4(B) und 4(C) sind Diagramme, die eine Reihe einer Adressenausgabe und eine Reihe von Eingabe/Ausgabedaten zum Erläutern des Betriebs des in 4(A) gezeigten Entschachtelers zeigen.
  • 5 ist ein Blockdiagramm, das eine andere Anordnung des Verschachtelungs-Entschachtelungsgerätes gemäß der vorliegenden Ausführungsform zeigt.
  • 6(A) ist ein Blockdiagramm, das eine Anordnung eines konventionellen Entschachtelers zeigt.
  • 6(B) ist ein Diagramm, das eine Reihe einer Adressenausgabe und eine Reihe von Eingabe-/Ausgabedaten zum Erläutern der Operation des in 6(A) gezeigten Verschachtelers zeigt.
  • 7 ist ein Diagramm, das das Bild hinsichtlich der Operation des in 6(A) gezeigten Verschachtelers erläutert.
  • 8(A) ist ein Blockdiagramm, das eine Anordnung eines konventionellen Entschachtelers zeigt.
  • 8(B) und 8(C) sind Diagramme, die eine Reihe einer Adressenausgabe und eine Reihe von Eingabe/Ausgabedaten zum Erläutern der Operation des in 8(A) gezeigten Entschachtelers zeigen.
  • 9 ist ein Diagramm, das das Bild hinsichtlich der Operation des in 8(A) gezeigten Verschachtelers erläutert.
  • 10 ist ein Blockdiagramm, das ein Beispiel einer Anordnung des Hauptteilstücks eines Kommunikationssystems zeigt, auf welches eine konventionelle Anordnung mit einem Turbocodiersystem und einem Turbodecodiersystem angewendet ist.
  • Ein Modus zum Ausführen der vorliegenden Erfindung wird hier im Nachfolgenden mit Verweis auf die Zeichnungen beschrieben werden.
  • 1 ist ein Blockdiagramm, das eine Anordnung eines Turbodecodierers (Turbodecodiergerät) als eine Ausführungsform der vorliegenden Erfindung zeigt. Wie in 1 gezeigt, ähnlich dem mit Verweis auf 10 beschriebenen vorher erwähnten Turbodecodierer 400, ist der Turbodecodierer 1 eingerichtet zum Ausführen eines Decodierens hinsichtlich eines Turbocodes, der durch den Turbocodierer 300 codiert worden ist. Gemäß der vorliegenden Ausführungsform ist der Turbodecodierer 1 eingerichtet mit RAMs 2-1 bis 2-3, einem RAM-Auswählschalter 3, einem Decodierer für eine unscharfe Ausgabe (DEC) 4, einem Verschachtelungs/Entschachtelungs-RAM (π(–1)) 5, einem Adressenerzeugungszähler 6, einer Adressenerzeugungseinheit 7, einem Schreibadressen-Auswählschalter (SW1) 8-1, einem Leseadressen-Auswählschalter (SW2) 8-2, einem Ausgangsauswählschalter 9 und einer Schaltersteuereinheit 10.
  • Gemäß der Annahme der vorliegenden Ausführungsform ist das „Turbocodiersystem und Turbodecodiersystem" auf ein Mobilkommunikationssystem angewendet, das ein CDMA-(Code Division Multiple Access) System einsetzt. Der Turbocodierer 300 ist zum Beispiel auf der Übertragungsseite an einer Position bereitgestellt, wo eine Übertragungsinformation u einer Primärmodulation (zum Beispiel QPSK oder Ähnliches) unterworfen ist, und einer Position, wo dieselbe Information einer Spreizspektrummodulation unterworfen ist. Der Turbodecodierer 1 ist auf der Empfangsseite bei einer Position bereitgestellt, wo die empfangene Information U nach der Spreizspektrumdemodulation eingegeben ist.
  • Die oben beschriebenen RAMs 2-1 und 2-3 sind Einheiten zum darin Speichern von Turbocodes [empfangene Information (zu decodierende Information) U, Fehlerkorrekturcodes Y1, Y2], die einen Fehler in dem Übertragungspfad 500 bei einer Übertragung von dem Turbocodierer 300 erlitten haben. Gemäß der vorliegenden Ausführungsform werden die empfangene Information U und Fehlerkorrekturcodes Y1, Y2 beim Hineinschreiben in die RAMs und beim Lesen von den RAMs gemäß den durch den Adressenerzeugungszähler 6 erzeugten Zählerwerten gesteuert.
  • Gemäß der vorliegenden Ausführungsform wird, zuliebe einer Erleichterung der Erläuterung, ähnlich dem zuvor erwähnten konventionellen Beispiel, das mit Verweis auf 6(A), 6(B), 7, 8(A) bis 8(C) und 9 beschrieben ist, angenommen, dass jede der Datenreihen der empfangenen Information U, Fehlerkorrekturcodes Y1, Y2 und resultierende decodierte Daten der unscharfen Ausgabe von dem DEC 4 aus 16 × 24 = 384 (D000 bis D383) Datenelementen zusammengesetzt sind. Aus diesem Grund erstreckt sich der von dem Adressenerzeugungszähler 6 erzeugte Zählerwert von 0 bis 383. Wie später beschrieben werden wird, wird ein Turbodecodieren bei der Periode einer Datenreiheneinheit (Zyklus) ausgeführt.
  • Außerdem wird in der vorliegenden Ausführungsform der obige Fehlerkorrekturcode Y1 auf solch eine Weise erhalten, dass die Übertragungsinformation u in einer Faltungscodierung in dem Turbocodierer 300 codiert wird, bevor die Übertragungsinformation u eine Verschachtelungsoperation in dem Verschachteler 300 erfährt (d.h., dass der Fehlerkorrekturcode Y1 als einer auf die Übertragungsinformation u in dem Turbocodierer 300 vor der Verschachtelungsoperation wirkt). Umgekehrt wird der Fehlerkorrekturcode Y2 auf solch eine Weise erhalten, dass die Übertragungsinformation u in einer Faltungscodierung in dem Turbocodierer 300 codiert wird, nachdem die Übertragungsinformation u eine Verschachtelungsoperation in dem Verschachteler 303 erfährt (d.h., dass der Fehlerkorrekturcode Y2 als einer auf die Übertragungsinformation u in dem Turbocodierer 300 nach der Verschachtelungsoperation wirkt).
  • Der RAM-Auswählschalter 3 ist eine Einheit zum selektiven Schalten eines Ausgangs bzw. einer Ausgab von dem RAM 2-2 (der Fehlerkorrekturcode Y1) und eines Ausgangs bzw. einer Ausgabe von dem RAM 2-3 (der Fehlerkorrekturcode Y2) von jedem der RAMs 2-1 bis 2-3. Gemäß der vorliegenden Ausführungsform ist der Ausgangsanschluss des RAM-Auswählschalters 3 abwechselnd mit einem des A-Seite-Anschlusses und des B-Seite-Anschlusses unter der Steuerung der Schaltersteuereinheit 10 verbunden.
  • Der DEC (Fehlerkorrektur-Decodiereinheit) 4 ist ähnlich dem DEC 401 oder dem DEC 402 eingerichtet, die mit Verweis auf 10 beschrieben wurden. In diesem Fall bewirkt die Fehlerkorrektur-Decodiereinheit 4 ein Decodieren für eine unscharfe Ausgabe (Fehlerkorrekturdecodieren: zum Beispiel MAP-Decodieren) auf der empfangenen Information U auf der Grundlage von einem der Fehlerkorrekturcodes (Y1 oder Y2) und Daten, die von dem Decodieren für eine unscharfe Ausgabe abgeleitet werden, bewirkt in einem vorhergehenden Schritt U' (außer für die erste empfangene Information), die durch den durch den RAM-Auswählschalter 3 ausgewählten Anschluss geliefert werden. Das heißt, dass gemäß dem Turbodecodierer 1 der vorliegenden Ausführungsform der RAM-Auswählschalter 3 bereitgestellt ist, so dass die DECs 401 und 402, die in dem konventionellen Turbodecodierer 400 bereitgestellt sind, mit einer einzelnen Einheit der Fehlerkorrektur-Decodiereinheit 4 ersetzt sind.
  • Der Verschachtelungs-/Entschachtelungs-RAM (Speichereinheit) 5 ist eine Einheit zum darin Speichern von Daten, die von dem Decodieren für eine unscharfe Ausgabe (hierin einfach als „decodiertes Ergebnis" bezeichnet) resultieren, die von dem DEC 4 geliefert sind, so dass die gelieferten Daten verschachtelt und entschachtelt werden können. Das decodierte Ergebnis nach der Verschachtelungsoperation oder der Entschachtelungsoperation wird an den DEC als das oben erwähnte frühere decodierte Ergebnis U' zurückgespeist.
  • Der Adressenerzeugungszähler (erste Adressenerzeugungseinheit) 6 ist eine Einheit zum sequenziellen Zählen einer Reihe von Zahlen von 0 bis 383, so dass der Zählwert davon an den Verschachtelungs/Entschachtelungs-RAM 5 (hier im Nachfolgenden als RAM 5 bezeichnet) als eine Reihe von Adressen (A000 bis A383) geliefert wird. Die Adressenumwandlungseinheit (zweite Adressenerzeugungseinheit) 7 ist eine Einheit zum Erzeugen einer Reihe von Adressen für RAM 5 in einer Reihenfolge, die von der Reihenfolge unterschiedlich ist, in der die Adressen von dem Adressenerzeugungszähler 6 erzeugt werden. In diesem Beispiel ist die Reihenfolge der Serie von Adressen, von dem Adressenerzeugungszähler 6 erzeugt (A000 bis A383), umgeordnet zum Bilden eines Intervalls von 16 Zählerwerten (A000, A016, A032, ..., An·16(mod383), ..., A351, A367, A383), und die Adressenreihen werden an den RAM 5 als Adressen geliefert.
  • Aus diesem Grund ist die Adressenumwandlungseinheit 7 eingerichtet, ein Verschachtelungsmuster-ROM (Adressenerzeugungsmuster-Aufnahmeeinheit) 71 (hier im Nachfolgenden einfach als „ROM 71" bezeichnet) zu enthalten, der eine Information hat, die eine Verschachtelungsmusterinformation für eine Adressenumwandlungsreihenfolgenumwandlung darin gespeichert hat [konkret: wenn zum Beispiel x als ein Zählerwert des Adressenerzeugungszählers 6 genommen wird, wird eine entsprechende Adresse dazu gebracht, x·16(mod383) zu sein oder eine Zufallsmusterinformation (d.h. Adressenumwandlungstabelle)].
  • Der Schreibadressen-Auswählschalter 8-1 wählt eine von der Ausgabe (Adresse) von dem Adressenerzeugungszähler 6 und der Ausgabe (Adresse) der Adressenumwandlungseinheit 7 aus, wobei eine der Adressenreihen als eine Schreibadressenreihe für den RAM 5 ausgewählt wird. In diesem Beispiel, wie in 1 gezeigt, wenn der Schalter 8-1 seinen Ausgangsanschluss mit dem A-Seite-Anschluss verbindet, wird die Ausgabe bzw. der Ausgang von dem Adressenerzeugungszähler 6 als die Schreibadresse für den RAM 5 ausgewählt, während, wenn der Schalter 8-1 seinen Ausgangsanschluss mit dem B-Seite-Anschluss verbindet, die Ausgabe bzw. der Ausgang von der Adressenumwandlungseinheit 7 als die Schreibadresse für den RAM 5 ausgewählt wird.
  • Umgekehrt wählt der Leseadressen-Auswählschalter 8-2 eine von der Ausgabe (Adresse) von dem Adressenerzeugungszähler 6 und der Ausgabe (Adresse) der Adressenumwandlungseinheit 7 aus, wodurch eine der Adressenreihen als eine Leseadressenreihe ausgewählt wird. Wenn zum Beispiel, wie in 1 gezeigt, der Schalter 8-2 seinen Ausgangsanschluss mit dem A-Seite-Anschluss verbindet, wird die Ausgabe von der Adressenumwandlungseinheit 7 als die Leseadresse für den RAM 5 ausgewählt, während, wenn der Schalter 8-2 seinen Ausgangsanschluss mit dem B-Seite-Anschluss verbindet, die Ausgabe von dem Adressenerzeugungszähler 6 als die Leseadresse 5 ausgewählt wird.
  • In diesem Beispiel sind die Schalter 8-1 und 8-2 eingerichtet zum gleichzeitigen Ändern ihrer Verbindung mit der A-Seite oder B-Seite unter der Steuerung der Schaltersteuereinheit 10 (d.h., dass die Steuerung dazu gebracht wird, den Zustand zu unterbinden, dass der Schalter 8-1 mit dem A-Seite-Anschluss verbindet und der Schalter 8-2 mit dem B-Seite-Anschluss verbindet, oder den Zustand, dass der Schalter 8-1 mit dem B-Seite Anschluss verbindet und der Schalter 8-2 mit dem A-Seite-Anschluss zu einer Zeit verbindet). Das heißt, dass die Schalter 8-1 und 8-2 eingerichtet sind, als eine Adressenauswähleinheit zu fungieren, so dass eine der Ausgaben von dem Adressenerzeugungszähler 6 und dem Adressenumwandlungszähler 7 an den RAM 5 als die Schreibadresse und die andere desselben an den RAM 5 als eine Leseadresse geliefert wird.
  • Der Ausgangsauswählschalter 9 wird in den AN-Zustand gebracht, wenn das decodierte Ergebnis ausgegeben wird, nachdem das Turbodecodieren vollendet ist. Wenn zum Beispiel die Wiederholzeit der Decodieroperation in dem DEC 4 eine Sättigungszeit erreicht mit dem Ergebnis, dass eine Fehlerkorrekturfunktion nicht länger vorteilhaft bewirkt wird, wird der Ausgangsauswählschalter 9 zum AN-Zustand gebracht unter der Steuerung der Schaltersteuereinheit 10.
  • Gemäß der vorliegenden Ausführungsform wird die obige Sättigungszeit ungefähr 16 (die Sättigungszeit in der in 10 gezeigten Anordnung) × 2 = 32, wenn das MAP-Decodieren auf den DEC 4 angewendet wird, weil eine zweimalige Wiederholung der Decodierung in dem DEC 4 äquivalent ist zu einem einmaligen Decodieren in dem in 10 gezeigten DEC 401 und DEC 402.
  • Die Schaltersteuereinheit 10 ist eine Einheit zum Steuern der gesamten Schaltoperation, die in den jeweiligen Schaltern 3, 8-1, 8-2 und 9 bewirkt ist. Die Schaltersteuereinheit 10 steuert die jeweiligen Schalter 3, 8-1, 8-2 als Hauptschalteinheiten der vorliegenden Ausführungsform in der folgenden Weise.
    • (1) Wenn der Schalter 3 seinen Ausgangsanschluss mit dem A-Seite-Anschluss verbindet (d.h., dass der Fehlerkorrekturcode Y1 beim Decodieren in dem DEC 4 genutzt wird), dann verbinden die Schalter 8-1 und 8-2 auch ihre Ausgangsanschlüsse mit den A-Seite-Anschlüssen. Wenn die Schalter in diesem Verbindungszustand platziert sind, wird die Verbindungsanordnung des RAM 5, des Adressenerzeugungszählers 6 und des Adressenumwandlungszählers 7 zu dem in 6(A) gezeigten Verschachtelers 100 äquivalent. Als ein Ergebnis wird das von dem DEC 4 gelieferte Decodierergebnis (D000 bis D383) in den RAM 5 gemäß der von dem Adressenerzeugungszähler 6 erzeugten Adressenreihe (A000 bis A383) geschrieben, und danach werden dieselben von dem RAM 5 gemäß der Adressenreihe mit einem regulären Intervall von 16 von der Adressenumwandlungseinheit 7 erzeugten Adressen gelesen. Auf diese Weise wird die Verschachtelungsoperation bewirkt.
    • (2) Wenn der Schalter 3 seinen Ausgangsanschluss mit dem B-Seite-Anschluss verbindet (d.h., dass der Fehlerkorrekturcode Y2 beim Decodieren in dem DEC 4 genutzt wird), dann verbinden die Schalter 8-1 und 8-2 auch ihre Ausgangsanschlüsse mit den B-Seite-Anschlüssen. Wenn die Schalter in diesem Verbindungszustand platziert sind, wird die Verbindungsanordnung des RAM 5, des Adressenerzeugungszählers 6 und des Adressenumwandlungszählers 7 zu der in 4(A) Gezeigten äquivalent. Als ein Ergebnis wird das von dem DEC 4 gelieferte Decodierergebnis in den RAM 5 gemäß der Adressenreihe mit einem regulären Intervall von 16 von der Adressenumwandlungseinheit 7 erzeugten Adressen geschrieben, und danach werden dieselben von dem RAM 5 gemäß der von dem Adressenerzeugungszähler 6 erzeugten Adressenreihe (A000 bis A383) gelesen.
  • Wenn die Eingangsdatenreihe eine Reihenfolge von D000 bis D383 hat, werden die Datenreihen demgemäß in der in 4(B) gezeigten Reihenfolge geschrieben und gelesen. Wenn die Eingangsdatenreihen nach der Verschachtelungsoperation jedoch wie in 4(A) gezeigt angeordnet sind, dann werden das Schreiben und das Lesen in der in 4(C) gezeigten Reihenfolge ausgeführt mit dem Ergebnis, dass die Ausgangsdatenreihe von dem RAM 5 die Reihenfolge wiederherstellt, bevor die obige Verschachtelungsoperation bewirkt wird (d.h., dass eine Entschachtelungsoperation bewirkt wird).
  • Wenn die Schaltsteuereinheit 10 die Schaltoperation der Schalter 8-1 und 8-2 steuert, kann das Teilstück, das aus dem RAM 5, dem Adressenerzeugungszähler 6 und der Adressenumwandlungseinheit 7 zusammengesetzt ist, gemäß dem Turbodecodierer der vorliegenden Ausführungsform, als ein Verschachteler oder ein Entschachteler fungieren (d.h., dass der Turbodecodierer das Verschachtelungs- Entschachtelungsgerät 11 enthält, wie zum Beispiel in 3 gezeigt).
  • Um die obige Schaltsteuerung auszuführen, umfasst die Schaltsteuereinheit 10 zum Beispiel einen Schaltersteuerzähler 111 und eine Zählüberwachungseinheit 112.
  • In diesem Fall ist der Schaltersteuerzähler 111 eine Einheit zum Zählen des Zählwertes zur Schaltsteuerung auf der Grundlage des Zählerwertes des Adressenerzeugungszählers. Gemäß der Anordnung der vorliegenden Ausführungsform, durch Berücksichtigen der von der Decodierverarbeitung in dem DEC 4 abgeleiteten Verzögerung, wenn zum Beispiel die Zählperiode (von 0 bis 383) des Adressenerzeugungszählers 6 als eine Einheitsperiode betrachtet wird, zählt der Schaltersteuerzähler 111 inkrementell eins für eins von null alle drei Perioden.
  • Die Zählüberwachungseinheit 112 ist eine Einheit zum Überwachen des Zählerwertes des Zählers 111. In diesem Fall bestimmt die Zählüberwachungseinheit 112 beispielsweise, ob der Zählwert ungeradzahlig oder geradzahlig ist, und wenn bestimmt wird, dass der Zählwert geradzahlig ist (einschließlich null), werden die Schalter 3, 8-1 und 8-2 zu den A-Seite-Anschlüssen geschaltet, während, wenn bestimmt wird, dass der Zählwert ungeradzahlig ist, die Schalter 3, 8-1 und 8-2 zu den B-Seite-Anschlüssen geschaltet werden.
  • Wenn der Zählerwert des Zählers 111 zum Beispiel 31 erreicht (d.h., dass die Wiederholzeit einer in dem DEC 4 bewirkten Decodieroperation 32 erreicht, oder die Sättigungszeit), bestimmt die Zählüberwachungseinheit 112, dass das Turbodecodieren vollendet worden ist. Dann ändert die Zählüberwachungseinheit 112 den Ausgangsauswählschalter 9 zu dem AN-Zustand.
  • Nun wird die Operation des Turbodecodierers 1 der vorliegenden Ausführungsform, wie oben eingerichtet, hier im Nachfolgenden mit Verweis auf die Ablaufdiagramme von 2(A) bis 2(H) beschrieben werden.
  • Anfangs, wenn der erste Decodierschritt gestartet wird, bringt die Schaltersteuereinheit 10 den RAM-Auswählschalter 3 dazu, den A-Seite-Anschluss auszuwählen, so dass die empfangene Information U die Decodierung für eine unscharfe Ausgabe durch Verwenden des Fehlerkorrekturcodes Y1 erfährt (der Schalter 9 ist in dem AUS-Zustand). Gemäß dem Zählerwert des Adressenerzeugungszählers 6 [siehe 2(A)] werden somit die empfangene Information U und der Fehlerkorrekturcode Y1 sequenziell von dem RAM 2-1 und 2-2 gelesen [siehe Ablaufpunkte T0 bis T1 in 2(A) und 2(B)], und an den DEC 4 geliefert.
  • Der DEC 4 bewirkt die Decodierung für eine unscharfe Ausgabe auf der empfangenen Information U auf der Grundlage des gelieferten Fehlerkorrekturcodes Y1 (Ablaufpunkt T1 bis T2). Zu dieser Zeit, da die Zählüberwachungseinheit 112 bestimmt, dass der Zählerwert des Zählers 111 null ist (geradzahlig), bringt die Schaltersteuereinheit 10 die Schalter 8-1 und 8-2 dazu, den jeweiligen A-Seite-Anschluss auszuwählen [siehe 2(H)].
  • Auf diese Weise wird das Decodierergebnis des DEC 4 in den RAM 5 gemäß der von dem Adressenerzeugungszähler 6 erzeugten Sequenzadresse geschrieben [siehe Ablaufpunkt T2 bis T3 in 2(F)]. Danach werden die geschriebenen Daten gemäß den Adressenreihen mit einem regulären Intervall von 16 von der Adressenumwandlungseinheit gelieferten Adressen gelesen [Ablaufpunkt T3 bis T4 in 2(G)]. Somit ist die Verschachtelungsoperation bewerkstelligt.
  • Die Decodierverarbeitung ist soweit ausgeführt worden, der Zählerwert des Zählers 111 wird 1 (ungerade Zahl) [siehe Ablaufpunkt in 2(A)]. Deshalb bringt die Schaltersteuereinheit 10 die Schalter 3, 8-1 und 8-2 dazu, wiederum zu dem B-Seite-Anschluss geschaltet zu werden.
  • In Ansprechen auf das Ändern der Anschlüsse der Schalter werden das Decodierergebnis nach der Verschachtelungsoperation (früheres Decodierergebnis U'), die empfangene Information U und der Fehlerkorrekturcode Y2 an den DEC 4 eingegeben. Der DEC 4 bewirkt eine zweite Decodierung für eine unscharfe Ausgabe auf der Grundlage der gelieferten Information (Ablaufpunkt T4 bis T5). Zu dieser Zeit wird die empfangene Information U erneut an den DEC 4 eingegeben. Dieses ist so, weil eine Differenz zwischen dem früheren Decodierergebnis U' und der empfangenen Information U genommen wird, und die folgende Decodierverarbeitung auf der Grundlage der Differenz und der Fehlerkorrekturcodes Y1 und Y2 bewirkt wird. Wenn dem DEC 4 ein Speicher zum darin Speichern der empfangenen Information U bereitgestellt ist, braucht die empfangene Information U demgemäß nicht an den DEC 4 jedes Mal eingegeben zu werden.
  • Das Decodierergebnis des DEC 4 wird an den RAM 5 eingegeben. Zu dieser Zeit, da die Schalter 8-1 und 8-2 zu dem B-Seite-Anschluss geschaltet sind [siehe Ablaufpunkt T5 in 2(H)], wird das Decodierergebnis in den RAM 5 gemäß der Adressenreihe mit dem regulären Intervall von 16 geschrieben, von der Adressenumwandlungseinheit 7 geliefert [siehe Ablaufpunkt T5 bis T6 in 2(F)]. Danach wird das Decodierergebnis gemäß der Adressenreihe mit einer inkrementierten, von dem Adressenerzeugungszähler 6 erzeugten Reihenfolge gelesen [siehe Ablaufpunkt T6 bis T7 in 2(G)]. Auf diese Weise ist die Verschachtelungsoperation bewerkstelligt.
  • Die Schalter 3, 8-1 und 8-2 werden abwechselnd geschaltet, jedes Mal wenn die Decodieroperation wiederholt wird, d.h. ein wiederholtes drittes Mal, viertes Mal und so weiter auf eine ähnliche Weise. Wenn der Zählerwert des Zählers 111 zum Beispiel 31 erreicht (d.h., dass der 32. Decodierschritt vollendet ist), wird der Schalter 9 gesteuert, im AN-Zustand zu sein, und das Aufzeichnungsergebnis kann daraus erzeugt werden.
  • Das heißt, dass der Adressenerzeugungszähler 6, die Adressenumwandlungseinheit 7, die Schalter 8-1, 8-2 und die Schaltersteuereinheit 10 kollektiv eingerichtet sind, als eine Speichersteuereinheit 12 zu fungieren, in der die Decodierergebnisse beim Schreiben in den RAM 5 oder beim Lesen von demselben gesteuert werden, so dass die Verschachtelungsoperation und die Entschachtelungsoperation gemäß den in dem DEC 4 genutzten Fehlerkorrekturcodes Y1 und Y2 bewirkt werden.
  • Aus diesem Grund fungiert die Zählüberwachungseinheit 112 als eine Verschachtelungsbestimmungseinheit zum Bestimmen, ob der in dem DEC 4 genutzte Fehlerkorrekturcode von der übertragenen Information u vor der Verschachtelungsoperation in dem Turbocodierer 300 (Y1) oder von der übertragenen Information u nach der Verschachtelungsoperation in dem Turbocodierer 300 (Y2) ist.
  • Die Schaltersteuereinheit 10 ist eingerichtet, als eine Adressenauswähl-Steuereinheit zu fungieren zum Steuern der Schalter 8-1 und 8-2 auf solch eine Weise, dass, wenn die Zählüberwachungseinheit bestimmt, dass der in dem DEC 4 genutzte Fehlerkorrekturcode der Fehlerkorrekturcode Y1 ist, der Ausgang bzw. die Ausgabe von dem Adressenerzeugungszähler als die Schreibadresse ausgewählt wird, während der Ausgang bzw. die Ausgabe von der Adressenumwandlungseinheit 7 als die Leseadresse ausgewählt wird, und wenn die Zählüberwachungseinheit 112 bestimmt, dass der in dem DEC 4 genutzte Fehlerkorrekturcode der Fehlerkorrekturcode Y2 ist, der Ausgang bzw. die Ausgabe von der Adressenumwandlungseinheit 7 als die Schreibadresse ausgewählt wird, während der Ausgang bzw. die Ausgabe von dem Adressenerzeugungszähler 6 als die Leseadresse ausgewählt wird.
  • Das heißt, dass in dem Verschachtelungs-Entschachtelungsgerät 11 (siehe 3) die Schaltersteuereinheit 10 die Schalter 8-1 und 8-2 steuert, so dass die Ausgänge bzw. Ausgaben von den Adressenerzeugungseinheiten 6 und 7 als die Schreibadresse und Leseadresse auf eine unterschiedliche Weise ausgewählt werden in Abhängigkeit von Fällen, wo Daten (Decodierergebnis) verschachtelt werden sollen oder entschachtelt werden sollen.
  • Gemäß dem Turbodecodierer 1 der vorliegenden Ausführungsform steuert die Schaltersteuereinheit 10, wie oben beschrieben, die Schalter 8-1 und 8-2 in Abhängigkeit von den in dem DEC 4 genutzten Fehlerkorrekturcodes Y1 und Y2, wodurch das von dem DEC 4 abgeleitete Decodierergebnis in einer Schreibreihenfolge in den RAM 5 und der Lesereihenfolge von demselben gesteuert werden kann. Deshalb kann das Decodierergebnis selektiv die Verschachtelungsoperation oder die Entschachtelungsoperation in Ansprechen auf die Schaltsteuerung erfahren. Demgemäß wird es für den Turbodecodierer 1 unnötig, einen Verschachteler und einen Entschachteler unabhängig zu haben.
  • Deshalb kann der Turbodecodierer 1 mit ungefähr der halben Schaltkreisgröße im Vergleich mit einem konventionellen Decodierer implementiert werden mit dem Ergebnis, dass der Turbodecodierer 1 beträchtlich verkleinert und mit beträchtlich geringeren Kosten implementiert werden kann. Da der Turbodecodierer der vorliegenden Ausführungsform eingerichtet ist, den RAM-Auswählschalter zu enthalten, kann im Besonderen der Betrieb des konventionellen Turbodecodierers 400 durch die einzelne Einheit des DEC 4 realisiert werden. Deshalb können die Größe und die Kosten der Anordnung davon weiter reduziert werden.
  • Wie oben beschrieben, hat die vorliegende Ausführungsform eine einfache Anordnung. Die Schaltersteuereinheit 10 steuert nämlich die Schalter 8-1 und 8-2, so dass die Ausgänge bzw. Ausgaben (Adressen) von den Adressenerzeugungseinheiten 6 und 7 als die Schreibadresse und die Leseadresse für den RAM 5 in Abhängigkeit davon ausgewählt werden, ob das Decodierergebnis verschachtelt oder entschachtelt werden soll. Deshalb können die Verschachtelungsoperation und die Entschachtelungsoperation in der einzelnen Einheit des RAM 5 bewirkt werden. Demgemäß kann der Turbodecodierer 1 einfach gesteuert werden. Darüber hinaus wird es möglich, einen großen Beitrag für das Verkleinern des Turbodecodierers 1 zu erwarten.
  • Wenn der Adressenumwandlungseinheit 7 ein ROM 71 bereitgestellt ist, das eine Zufallsmusterinformation darin gespeichert hat, die zum Ändern der Reihenfolge des Ausgangs bzw. der Ausgabe (Adressenreihen), von der Adressenerzeugungseinheit 6 erzeugt, genutzt wird (in dem obigen Fall werden die Adressenreihen in eine Reihe mit einem regulären Intervall von 16 Adressen geändert), wird es unnötig, zwei Arten von Zufallsmusterinformation für die Verschachtelungsoperation und die Entschachtelungsoperation herzurichten (d.h., dass der Adressenerzeugungszähler 6 als ein Zähler für die Verschachtelungsoperation und die Entschachtelungsoperation dienen kann).
  • Deshalb kann der Turbodecodierer 1 beträchtlich von einer Last entlastet werden, die angefordert wird, wenn eine Zufallsmusterinformation im Voraus durch Ausführen einer arithmetischen Operation erschaffen wird. Darüber hinaus kann der Turbodecodierer 1 weiter verkleinert werden und mit geringeren Kosten hergestellt werden.
  • Da im Besonderen eine Verschachtelungsoperation (Entschachtelungsoperation), die tatsächlich in dem Turbocodier-Decodiersystem bewirkt wird, eine als „Zufallsverschachteln" („Zufallsentschachteln") bekannte komplizierte Verschachtelungsoperation (Entschachtelungsoperation) ist (obwohl in dem obigen Beispiel das Zufallsmuster nicht eine einfache Regel ist, so dass die Adressenreihen in eine Reihe mit einem regulären Intervall von 16 Adressen geändert werden), ist es extrem vorteilhaft, dass nur eine Zufallsmusterinformationsart ausreicht zum Herrichten eines Bewirkens der Verschachtelungsoperation oder der Entschachtelungsoperation.
  • Da die in dem DEC 4 genutzten Fehlerkorrekturcodes Y1 und Y2 dazu gebracht werden, ein abwechselndes Schalten von dem Status des Fehlerkorrekturcodes Y1 zu starten (d.h., dass der Schalter 3 dazu gebracht wird, ein abwechselndes Schalten von dem A-Seite-Verbindungsstatus zu starten), kann, außerdem in der obigen Ausführungsform, das abwechselnde Schalten von dem Status des Fehlerkorrekturcodes Y2 gestartet werden (d.h., dass der Schalter 3 dazu gebracht wird, ein abwechselndes Schalten von dem B-Seite-Verbindungsstatus zu starten). Wenn das Schalten wie oben gesteuert wird, wird derselbe Effekt erhalten werden.
  • In diesem Fall soll jedoch, im Gegensatz zu dem obigen Beispiel, die Schaltersteuereinheit 10 eingerichtet sein, die abwechselnde Verschachtelungs-Entschachtelungsoperation, die auf dem Decodierergebnis von dem DEC 4 bewirkt werden soll, von dem Status der Entschachtelungsoperation zu starten. Deshalb sollen die Schalter 8-1 und 8-2 das Schalten von dem B-Seite-Verbindungsstatus starten.
  • Ferner wird, gemäß dem Verschachtelungs-Entschachtelungsgerät 11 der vorliegenden Ausführungsform, wenn Daten (Decodierergebnis) gelesen werden (d.h., dass die Schalter 8-1 und 8-2 zur A-Seite geschaltet sind), die Umordnung der Datenreihe (Verschachteln) mit Verwenden der in der Adressenumwandlungseinheit 7 gespeicherten Zufallsmusterinformation bewirkt, und wenn die Daten geschrieben werden (d.h., dass die Schalter 8-1 und 8-2 zur B-Seite geschaltet sind), wird die Umordnung der Datenreihe (Entschachteln) mit Verwenden derselben Zufallsmusterinformation bewirkt. Jedoch kann die Beziehung zwischen dem Schalterverbindungszustand und welche Operation des Verschachtelns oder des Entschachtelns bewirkt wird, umgekehrt geregelt sein.
  • Das heißt, dass, wie zum Beispiel in 5 gezeigt, wenn das obige in dem ROM 71 gespeicherte Zufallsmuster von x·16(mod383) mit einem anderen Zufallsmuster von x·24mod(383) ersetzt wird, die folgende Operation erwartet werden kann. Wenn die Schalter 8-1 und 8-2 zur B-Seite geschaltet sind, werden Daten gemäß einer Adressenreihe mit einem regulären Intervall von 24 von der Adressenumwandlungseinheit 7 erzeugten Adressen geschrieben werden, und die Daten werden von dem Speicher gemäß der inkrementellen von dem Adressenerzeugungszähler 6 erzeugten Adressenreihe gelesen. Deshalb dient das in 5 gezeigte Verschachtelungs-Entschachtelungsgerät 11' als ein Verschachteler, der eine Verschachtelungsoperation beim Schreiben von Daten bewirkt.
  • Wenn die Schalter 8-1 und 8-2 zur A-Seite geschaltet sind, werden umgekehrt Daten gemäß der inkrementellen von dem Adressenerzeugungszähler 6 erzeugten Adressenreihe geschrieben werden, und die Daten werden von dem Speicher gemäß einer Adressenreihe mit einem regulären Intervall von 24 von der Adressenumwandlungseinheit 7 erzeugten Adressen gelesen werden. Auf diese Weise dient das Verschachtelungs-Entschachtelungsgerät 11' als ein Entschachteler, der eine Entschachtelungsoperation beim Lesen der Daten bewirkt.
  • Wenn der ROM 71 dazu gebracht, das Zufallsmuster von x·24mod(383) darin gespeichert zu haben (d.h., dass das in 5 gezeigte Verschachtelungs-Entschachtelungsgerät 11' auf den Turbodecodierer angewendet wird), soll die Schaltersteuereinheit 10 demgemäß eingerichtet sein zum Steuern der Schalter 8-1 und 8-2 in der folgenden Weise. Wenn die Daten (Decodierergebnis) verschachtelt werden sollen (der Schalter 3 ist zur A-Seite geschaltet), werden die Schalter 8-1 und 8-2 zur B-Seite geschaltet, so dass der Ausgang bzw. die Ausgabe von der Adressenumwandlungseinheit 7 als eine Schreibadresse ausgewählt wird, während der Ausgang bzw. die Ausgabe, von dem Adressenerzeugungszähler 6 als eine Leseadresse ausgewählt wird. Wenn die Daten entschachtelt werden sollen (der Schalter ist zur B-Seite geschaltet), werden die Schalter 8-1 und 8-2 ferner zur A-Seite geschaltet, so dass der Ausgang bzw. die Ausgabe von dem Adressenerzeugungszähler 6 als eine Schreibadresse ausgewählt wird, während der Ausgang bzw. die Ausgabe von der Adressenumwandlungseinheit 7 als eine Leseadresse ausgewählt wird.
  • Außerdem braucht in diesem Fall nicht gesagt zu werden, dass Effekte und Vorteile, die denen der vorher erwähnten Ausführungsform ähnlich sind, erhalten werden.
  • Während in der obigen Ausführungsform die Beschreibung hinsichtlich eines Falles getätigt worden ist, in welchem das Verschachtelungs-Entschachtelungsgerät 11 (oder 11') auf den Turbodecodierer 1 angewendet wird, braucht es nicht betont zu werden, dass eine Anwendung des Verschachtelungs-Entschachtelungsgerätes 11 (11') nicht auf den Turbodecodierer 1 beschränkt ist. Das heißt, dass das Verschachtelungs-Entschachtelungsgerät auf irgendein System angewendet werden kann, in welchem die Verschachtelungsoperation und die entsprechende Entschachtelungsoperation beide ausgeführt werden sollen. Außerdem kann in diesem Fall das System, auf welches das Verschachtelungs-Entschachtelungsgerät angewendet wird, mit einer extrem geringen Größe implementiert werden.
  • Obwohl, in der obigen Ausführungsform, zur Erleichterung der Erläuterung die Beschreibung hinsichtlich eines Falls getätigt worden ist, in der die Anzahl von Datenelementen, die die zu verschachtelnden und zu entschachtelnden Eingangsdatenreihen zusammensetzen, auf 384 (D000 bis D383) gesetzt ist, und die bei der Verschachtelungs- und Entschachtelungsoperation genutzte Zufallsmusterinformation x·16(mod383) [oder alternativ x·24(mod383)] ist, ist die vorliegende Erfindung nicht auf diese Bedingungen beschränkt. Selbst wenn die Eingangsdatenreihen aus einer unterschiedlichen Anzahl von Datenelementen als der von dem obigen Fall zusammengesetzt sein können, können nämlich dieselben Effekte oder Vorteile erhalten werden.
  • Die Anordnung der vorliegenden Ausführungsform, wie in 1 gezeigt, ist lediglich ein Beispiel. Deshalb kann irgendeine Anordnung genommen werden, solange wie die Anordnung wenigstens die Operationen implementieren kann, die in den in 2(A) bis 2(H) gezeigten Ablaufdiagrammen veranschaulicht sind.
  • Während in der obigen Ausführungsform die Beschreibung hinsichtlich eines Falles getätigt worden ist, in welchem die vorliegende Erfindung auf ein ein CDMA-System nutzendes Mobilkommunikationssystem angewendet wird, ist die vorliegende Erfindung nicht darauf beschränkt, sondern kann auf Systeme angewendet werden, so wie ein Vielfachzugriffsfunksystem mit Verwenden anderer Systeme, zum Beispiel FDMA (Frequency Division Multiple Access), TDMA (Time Division Multiple Access) oder einem anderen gewünschten Kommunikationssystem usw. Auch in diesen Anwendungen werden die Effekte oder Vorteile, die denen der obigen Ausführungsform ähnlich sind, erhalten werden.
  • Wie oben beschrieben, braucht einem Mobilkommunikationssystem nicht ein Verschachteler und ein Entschachteler unabhängig bereitgestellt zu werden, gemäß der vorliegenden Erfindung, da eine einzelne Speichereinheit als ein Verschachteler und ein Entschachteler fungieren kann. Deshalb kann eine Kommunikationsausrüstung, in der eine Verschachtelungsoperation und eine Entschachtelungsoperation ausgeführt werden sollen, beträchtlich klein hergestellt und mit geringeren Kosten hergestellt werden. Somit wird erwartet, dass die Nutzbarkeit der vorliegenden Erfindung extrem hoch ist.

Claims (7)

  1. Turbodecodiergerät (1) zum Decodieren eines Turbocodes, das zumindest zu decodierende Information (U), einen Fehlerkorrekturcode (Y1) für die Information (U), die vor der Verschachtelungsoperation auf einer Übertragungsseite (300) zu decodieren ist, sowie einen Fehlerkorrekturcode (Y2) für die Information (U), die nach der Verschachtelungsoperation auf der Übertragungsseite (300) zu decodieren ist, während die Verschachtelungsoperation und die Entschachtelungsoperation wiederholt unter Einsatz eines Fehlerkorrekturcodes ausgeführt werden, aufweist, durch wiederholtes Ausführen der Operationen des Empfangens der Information (U), Decodierens der empfangenen Information (U) in einem Decoder (4), um decodierte Information (U') zu erzielen, Verschachteln der decodierten Information (U'), Decodieren der verschachtelten Information in dem Decoder (4), Entschachteln der decodierten verschachtelten Information (U'') und Einspeisen der entschachtelten Information zurück in den Decoder, dadurch gekennzeichnet, dass es Folgendes aufweist: eine Fehlerkorrektur-Decodiereinheit (4), die Fehlerkorrektur und Decodieren an der zu decodierenden Information (U) basierend entweder auf einem der Fehlerkorrekturcodes (Y1, Y2) oder einem Ergebnis des Fehlerkorrekturvorgangs und des Decodiervorgangs, die im vorhergehenden Stadium ausgeführt wurden, ausführen kann; einen Verschachtelungs-/Entschachtelungs-RAM (5), der sowohl den Entschachtelungsvorgang als auch den Verschachtelungsvorgang an dem Ergebnis des Fehlerkorrektur- und Decodiervorgangs, der von der Fehlerkorrektur-Decodiereinheit (4) geliefert wird, ausführen und die Daten, die von dem Fehlerkorrektur- und Decodiervorgang abgeleitet werden, zu der Fehlerkorrektur-Decodiereinheit (4) als ein Ergebnis des Fehlerkorrekturvorgangs und des Decodiervorgangs, der im vorhergehenden Stadium ausgeführt wurde, ausgeben kann, wobei die gleichen Adressen der Verschachtelungs-/Entschachtelungs-RAM (5) eingerichtet sind, um zum Verschachteln und Entschachteln verwendet zu werden, und eine Speichersteuereinheit (12), die die Reihenfolge des Schreibens/Lesens des Ergebnisses des Fehlerkorrektur- und Decodiervorgangs in den/aus dem Verschachtelungs-/Entschachtelungs-RAM (5) steuern kann, so dass der Verschachtelungsvorgang und der Entschachtelungsvorgang abwechselnd an dem Ergebnis des Fehlerkorrektur- und Decodiervorgangs ausgeführt werden, und die Fehlerkorrekturcodes (Y1, Y2), die in der Fehlerkorrektur-Decodiereinheit (4) verwendet werden, abwechselnd ausgewählt werden, so dass die wiederholt ausgeführten Vorgänge des Turbodecodiergeräts ausgeführt werden.
  2. Turbodecodiergerät nach Anspruch 1, wobei die Speichersteuereinheit (12) dadurch gekennzeichnet ist, dass sie Folgendes aufweist: eine ersten Adressenerzeugungseinheit (6), die eine Reihe von Adressen in einer vorbestimmten Reihenfolge für den Verschachtelungs/Entschachtelungs-RAM (5) erzeugen kann, eine zweite Adressenerzeugungseinheit (7), die eine Reihe von Adressen für den Verschachtelungs/Entschachtelungs-RAM (5) in einer Reihenfolge erzeugen kann, die anders ist als die der ersten Adressenerzeugungseinheit (6), eine Adressenauswähleinheit (8-1, 8-2), die selektiv einen der Ausgänge der Adressenerzeugungseinheiten (6, 7) als eine Schreibadresse für den Verschachtelungs/Entschachtelungs-RAM (5) ausgeben kann, während der andere der Ausgänge der Adressenerzeugungseinheiten als eine Leseadresse für den Verschachtelungs-/Entschachtelungs-RAM (5) ausgegeben wird, eine Verschachtelungsmodus-Bestimmungseinheit (112), die bestimmen kann, ob der Fehlerkorrekturcode, der in der Fehlerkorrektur-Decodiereinheit (4) verwendet wird, einer ist, der der zu decodierenden Information (U) vor dem Verschachtelungsvorgang auf der Übertragungsseite entspricht, oder einer, der der zu decodierenden Information (U) nach dem Verschachtelungsvorgang auf der Übertragungsseite entspricht, und eine Adressenauswähl-Steuereinheit (10), die die Adressenauswähleinheit so steuern kann, dass, wenn die Verschachtelungsmodus-Bestimmungseinheit (112) bestimmt, dass der Fehlerkorrekturcode einer ist, der der zu decodierenden Information vor dem Verschachtelungsvorgang entspricht, einer der Ausgänge der Adressenerzeugungseinheiten (6 oder 7) als die Schreibadresse ausgewählt wird, während der andere der Ausgänge der Adressenerzeugungseinheit (7 oder 6) als Leseadresse ausgewählt wird, und, wenn die Verschachtelungsmodus-Bestimmungseinheit bestimmt, dass der Fehlercode der ist, der der zu decodierenden Information nach dem Verschachtelungsvorgang entspricht, der andere der Ausgänge der Adressenerzeugungseinheiten (7 oder 6) als die Schreibadresse ausgewählt wird, während der andere der Ausgänge der Adressenerzeugungseinheit (6 oder 7) als die Leseadresse ausgewählt wird.
  3. Turbodecodiervorrichtung nach Anspruch 1, wobei die zweite Adressenerzeugungseinheit (7) dadurch gekennzeichnet ist, dass sie Folgendes aufweist: eine Zufallsmuster-Aufnahmeeinheit (71), die Zufallsmusterinformation enthalten kann, wobei das Turbodecodiergerät die Sequenz der Adressen, die von der ersten Adressenerzeugungseinheit (6) für den Verschachtelungs-/Entschachtelungs-RAM (5) erzeugt werden, auf der Basis der Zufallsmusterinformation umordnen kann.
  4. Verschachtelungs-Entschachtelungsgerät für den Gebrauch in einem Turbodecodiergerät, das wiederholt die Vorgänge des Empfangens von Information (U), des Decodierens der empfangenen Information (U) in einem Decoder zum Erzielen decodierter Information (U'), des Verschachtelns der decodierten Information (U'), des Decodierens der verschachtelten Information, des Entschachtelns der decodierten verschachtelten Information (U'') und des Einspeisens der entschachtelten Information zurück in den Decoder ausführen kann, dadurch gekennzeichnet, dass es Folgendes aufweist: einen Verschachtelungs-/Entschachtelungs-RAM (5), der Daten speichern kann, wobei die gleichen Adressen des Verschachtelungs-/Entschachtelungs-RAM (5) geordnet werden, um zum Verschachteln und Entschachteln verwendet zu werden; eine erste Adressenerzeugungseinheit (6), die eine Reihe von Adressen in einer vorbestimmten Reihenfolge für den Verschachtelungs/Entschachtelungs-RAM (5) erzeugen kann, eine zweite Adressenerzeugungseinheit (7), die eine Reihe von Adressen für den Verschachtelungs/Entschachtelungs-RAM (5) in einer Reihenfolge erzeugen kann, die anders ist als die der ersten Adressenerzeugungseinheit (6), eine Adressenauswähleinheit (8-1, 8-2), die selektiv einen der Ausgänge der Adressenerzeugungseinheiten (6, 7) als eine Schreibadresse des Verschachtelungs/Entschachtelungs-RAM (5) ausgeben kann, und den anderen der Ausgänge der Adressenerzeugungseinheiten als eine Leseadresse für den Verschachtelungs-/Entschachtelungs-RAM (5) ausgeben kann, und eine Adressenauswähl-Steuereinheit (10), die die Adressenauswähleinheit (8-1, 8-2) so steuern kann, dass die Adressenauswähleinheit alternativ die Ausgänge der Adressenerzeugungseinheit (6 oder 7) als die Schreibadresse und die Leseadresse je nachdem auswählt, wann die Daten, die in dem Verschachtelungs-/Entschachtelungs-RAM (5) gespeichert sind, während der wiederholt ausgeführten Vorgänge zu verschachteln oder entschachteln sind.
  5. Verschachtelungs-Entschachtelungsgerät nach Anspruch 4, dadurch gekennzeichnet, dass die Adressauswähl-Steuereinheit (10) ferner die Adressenauswähleinheit (8-1, 8-2) so steuern kann, dass, wenn die Daten zu verschachteln sind, der Ausgang der ersten Adressenerzeugungseinheit (6) als die Schreibadresse ausgewählt wird, während der Ausgang der zweiten Adressenerzeugungseinheit (7) als die Leseadresse ausgewählt wird, und, wenn die Daten zu entschachteln sind, der Ausgang der zweiten Adressenerzeugungseinheit (7) als die Schreibadresse ausgewählt wird, während der Ausgang der ersten Adressenerzeugungseinheit (6) als die Leseadresse ausgewählt wird.
  6. Verschachtelungs-Entschachtelungsgerät nach Anspruch 4, dadurch gekennzeichnet, dass die Adressenauswähl-Steuereinheit (10) ferner die Adressenauswähleinheit (8-1, 8-2) so steuern kann, dass, wenn die Daten zu verschachteln sind, der Ausgang der zweiten Adressenerzeugungseinheit (7) als die Schreibadresse ausgewählt wird, während der Ausgang der ersten Adressenerzeugungseinheit (6) als die Leseadresse ausgewählt wird, und, wenn die Daten zu entschachteln sind, der Ausgang der ersten Adressenerzeugungseinheit (6) als die Schreibadresse ausgewählt wird, während der Ausgang der zweiten Adressenerzeugungseinheit (7) als die Leseadresse ausgewählt wird.
  7. Verschachtelungs-Entschachtelungsgerät nach Anspruch 4, wobei die zweite Adressenerzeugungseinheit (7) dadurch gekennzeichnet ist, dass sie Folgendes aufweist: eine Zufallsmuster-Aufnahmeeinheit (71), die Zufallsmusterinformation enthalten kann, wobei das Verschachtelungs-Entschachtelungsgerät die Sequenz der Adressen, die von der ersten Adressenerzeugungseinheit (6) für den Verschachtelungs-/Entschachtelungs-RAM (5) erzeugt wird, auf der Grundlage der ausgegebenen Zufallsmusterinformation neu ordnen kann.
DE69934606T 1999-02-26 1999-02-26 Turbodekoder und verschachtel-/endschachtelapparat Expired - Lifetime DE69934606T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/000934 WO2000052834A1 (fr) 1999-02-26 1999-02-26 Turbodecodeur et appareil d'entrelacement / desentrelacement

Publications (2)

Publication Number Publication Date
DE69934606D1 DE69934606D1 (de) 2007-02-08
DE69934606T2 true DE69934606T2 (de) 2007-10-04

Family

ID=14235052

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69934606T Expired - Lifetime DE69934606T2 (de) 1999-02-26 1999-02-26 Turbodekoder und verschachtel-/endschachtelapparat

Country Status (6)

Country Link
US (3) US6574766B2 (de)
EP (2) EP1650873B1 (de)
JP (1) JP3746426B2 (de)
CN (1) CN1187904C (de)
DE (1) DE69934606T2 (de)
WO (1) WO2000052834A1 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
CN1187904C (zh) * 1999-02-26 2005-02-02 富士通株式会社 增强解码装置及交错-去交错装置
JP3932091B2 (ja) 1999-03-01 2007-06-20 富士通株式会社 ターボ復号装置
US6693566B2 (en) * 1999-12-03 2004-02-17 Broadcom Corporation Interspersed training for turbo coded modulation
US6516437B1 (en) * 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
DE10012874A1 (de) * 2000-03-16 2001-09-27 Infineon Technologies Ag Turbo-Decodierer und Turbo-Decodierverfahren
KR100628201B1 (ko) 2000-10-16 2006-09-26 엘지전자 주식회사 터보 디코딩 방법
US6662331B1 (en) * 2000-10-27 2003-12-09 Qualcomm Inc. Space-efficient turbo decoder
TW200803242A (en) * 2001-04-16 2008-01-01 Interdigital Tech Corp Physical layer processing for a wireless communication system using code division multiple access
US6392572B1 (en) * 2001-05-11 2002-05-21 Qualcomm Incorporated Buffer architecture for a turbo decoder
AUPR679101A0 (en) * 2001-08-03 2001-08-30 Lucent Technologies Inc. Termination of iterative decoding
DE10138566A1 (de) * 2001-08-06 2003-03-06 Infineon Technologies Ag Verfahren und Vorrichtung zur Durchführung der Ver- und Entschachtelung bei einer Turbo-Dekodierung
US20030063677A1 (en) * 2001-09-28 2003-04-03 Intel Corporation Multi-level coding for digital communication
KR100762612B1 (ko) * 2001-12-07 2007-10-01 삼성전자주식회사 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법
US6954885B2 (en) * 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
DE10206727A1 (de) * 2002-02-18 2003-08-28 Infineon Technologies Ag Kombinierter Ver-und Entschachteler sowie Turbo-Decodierer mit kombiniertem Ver-und Entschachteler
JP3931100B2 (ja) * 2002-03-12 2007-06-13 株式会社日立コミュニケーションテクノロジー ターボ復号器並びにターボ符号器及びターボ符号器、復号器を含む無線基地局
JP3927082B2 (ja) * 2002-06-13 2007-06-06 沖電気工業株式会社 無線データ通信における誤り訂正装置および方法
JP2004288283A (ja) * 2003-03-20 2004-10-14 Hitachi Ltd 情報記録フォーマット、情報記録再生符号化方法・回路およびこれを用いた磁気ディスク記録再生装置、情報記録再生装置、並びに情報通信装置
JP4408755B2 (ja) * 2004-06-28 2010-02-03 Necエレクトロニクス株式会社 デインタリーブ装置、移動通信端末及びデインタリーブ方法
JP4889646B2 (ja) 2004-10-12 2012-03-07 アウェア, インコーポレイテッド 電気通信環境における資源の共有
JP2006287325A (ja) * 2005-03-31 2006-10-19 Toyota Industries Corp インターリーブ及びデインターリーブ方法、無線装置及びその半導体装置
CN100455001C (zh) * 2005-09-23 2009-01-21 凌阳科技股份有限公司 回旋交错及去交错的电路与方法
EP2178254B1 (de) 2006-04-12 2017-02-08 TQ Delta, LLC Paketwiederübertragung und gemeinsame Speichernutzung
WO2008057041A2 (en) * 2006-11-10 2008-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Quadratic permutation polynomial interleaver/de-interleaver for turbo codes
US8959403B2 (en) 2006-11-10 2015-02-17 Optis Wireless Technology, Llc QPP interleaver/de-interleaver for turbo codes
JP4827766B2 (ja) * 2007-02-20 2011-11-30 パナソニック株式会社 受信装置および受信方法
US8432961B2 (en) * 2009-06-11 2013-04-30 Lg Electronics Inc. Transmitting/receiving system and method of processing broadcast signal in transmitting/receiving system
WO2011033680A1 (en) 2009-09-16 2011-03-24 Nec Corporation Interleaver and interleaving method
US8438434B2 (en) * 2009-12-30 2013-05-07 Nxp B.V. N-way parallel turbo decoder architecture
JP2011176596A (ja) * 2010-02-24 2011-09-08 Panasonic Mobile Communications Co Ltd インタリーブ装置及びインタリーブ方法
TWI708256B (zh) * 2019-08-02 2020-10-21 點序科技股份有限公司 記憶體裝置、記憶體控制器及其資料存取方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
JPH0697542B2 (ja) * 1985-05-14 1994-11-30 松下電器産業株式会社 インタ−リ−ブ回路
JPH0756734B2 (ja) * 1985-05-27 1995-06-14 松下電器産業株式会社 情報記録再生装置
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
JPH07254862A (ja) * 1994-03-15 1995-10-03 Sony Corp インターリーブ回路およびディインターリーブ回路
US5592492A (en) * 1994-05-13 1997-01-07 Lsi Logic Corporation Convolutional interleaving/de-interleaving method and apparatus for data transmission
DK2302805T3 (da) 1995-02-01 2012-10-15 Sony Corp Flerkanalstransmission med interleaving gennem adressering af RAM-hukommelse på stedet
FR2747255B1 (fr) * 1996-04-03 1998-07-10 France Telecom Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
FR2753025B1 (fr) * 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
FR2753026B1 (fr) * 1996-08-28 1998-11-13 Pyndiah Ramesh Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede
US5912898A (en) * 1997-02-27 1999-06-15 Integrated Device Technology, Inc. Convolutional interleaver/de-interleaver
US6353900B1 (en) * 1998-09-22 2002-03-05 Qualcomm Incorporated Coding system having state machine based interleaver
US6292918B1 (en) * 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
US6598204B1 (en) * 1999-02-18 2003-07-22 Imec Vzw System and method of turbo decoding
CN1187904C (zh) * 1999-02-26 2005-02-02 富士通株式会社 增强解码装置及交错-去交错装置

Also Published As

Publication number Publication date
CN1187904C (zh) 2005-02-02
US20010014962A1 (en) 2001-08-16
EP1650873A1 (de) 2006-04-26
US6993699B2 (en) 2006-01-31
EP1650873B1 (de) 2011-05-11
US6574766B2 (en) 2003-06-03
EP1160988A4 (de) 2005-06-15
EP1160988A1 (de) 2001-12-05
EP1160988B1 (de) 2006-12-27
CN1325566A (zh) 2001-12-05
DE69934606D1 (de) 2007-02-08
US20030115531A1 (en) 2003-06-19
US20060107163A1 (en) 2006-05-18
WO2000052834A1 (fr) 2000-09-08
JP3746426B2 (ja) 2006-02-15
US7533306B2 (en) 2009-05-12

Similar Documents

Publication Publication Date Title
DE69934606T2 (de) Turbodekoder und verschachtel-/endschachtelapparat
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE69026916T2 (de) Verschachtelung in kodierte Modulation für den mobilen Funk
DE60020637T2 (de) Ratenanpassung und Kanalverschachtelung für ein Kommunikationssystem
DE60009973T2 (de) Verschachtelungsverfahren, Verschachtelungsgerät, Turbokodierungsverfahren und Turbokodierer
DE69936683T2 (de) Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt
DE60032441T2 (de) Vorrichtung und verfahren zur turboverschaltelung
DE60224672T2 (de) Übertragungsverfahren und einrichtung in einem funkkommunikationsnetz
DE60033198T2 (de) Verfahren und vorrichtung für turbo raum-zeit trelliskodierung
DE69836120T2 (de) Verfahren zur Kodierung und Modulation, sowie Einrichtung zur dessen Ausführung
DE69916903T2 (de) Übertragungssystem mit Ratenanpassung
DE10248989B4 (de) Vorrichtung und Verfahren zum Durchführen einer Codierung und Ratenabstimmung in einem CDMA-Mobilkommunikationssystem
DE69907011T2 (de) Verallgemeinerter faltungsver- und -entschachteler
DE60216040T2 (de) Verfahren und vorrichtung zur zuordnung faltungscodierter bits zu symbolen vor deren modulation
DE60110083T2 (de) Dekorrelation von interferenzen von mehreren verschachtelten Datenströmen
DE60002705T2 (de) Binnen-reihen permutationen für turbocode
DE60316428T2 (de) Verfahren, Kodierer und Kommunikationsvorrichtung zur Kodierung von parallel verketteten Daten
DE60208605T2 (de) Abbildung mit ungleichmässigem Fehlerschutz
DE60112445T2 (de) Modifikation eines Verschachtelermusters
WO2003024014A2 (de) Verfahren zur anpassung der bitrate eines in einem kommunikationssystem zu übertragenden bitstroms und entsprechende kommunikationsvorrichtung
DE202007019694U1 (de) Code-Multiplexiersystem
DE69908629T2 (de) Hybrid verschachteler für turbo-kodierer
EP1323269A2 (de) Abschnittsweise entschachtelung
DE60032895T2 (de) Turbocodeterminierung
DE60311997T2 (de) Verfahren zur ersten Verschachtelung für einen Sender mit zwei Verschachtelern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition