DE69922732T2 - Verfahren und Vorrichtung zur Faltungsverschachtelung sowie Verfahren und Vorrichtung zur Faltungsentschachtelung - Google Patents

Verfahren und Vorrichtung zur Faltungsverschachtelung sowie Verfahren und Vorrichtung zur Faltungsentschachtelung Download PDF

Info

Publication number
DE69922732T2
DE69922732T2 DE69922732T DE69922732T DE69922732T2 DE 69922732 T2 DE69922732 T2 DE 69922732T2 DE 69922732 T DE69922732 T DE 69922732T DE 69922732 T DE69922732 T DE 69922732T DE 69922732 T2 DE69922732 T2 DE 69922732T2
Authority
DE
Germany
Prior art keywords
data
ram
output
address
channels
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
DE69922732T
Other languages
English (en)
Other versions
DE69922732D1 (de
Inventor
Senichi Osakafu Furutani
Yasuhiro Osakafu Nakakura
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE69922732D1 publication Critical patent/DE69922732D1/de
Application granted granted Critical
Publication of DE69922732T2 publication Critical patent/DE69922732T2/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/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
    • 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
    • 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/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft einen Faltungsverschachteler, einen Faltungsentschachteler, ein Faltungsverschachtelungsverfahren und ein Faltungsentschachtelungsverfahren, welche zur digitalen Übertragung von Satellitenrundfunk, Bodenwellenrundfunk, CAN-Rundfunk, etc. und zum Lesen/Schreiben einer Speichereinheit wie einer Festplatte erforderlich sind.
  • Hintergrund der Erfindung
  • Ein Faltungsentschachtelungsverfahren ist wirksam als eine Gegenmaßnahme gegen Burstfehler.
  • Burstfehler werden unter Verwendung von Satellitenrundfunk als Beispiel kurz beschrieben. Eine Rundfunkwelle von einer Rundfunkstation auf der Erde wird zu einem Satelliten übertragen und von dem Satelliten zu einem Satellitenrundfunkempfänger weitergeleitet, der im Haus vorgesehen ist.
  • Die von der Rundfunkstation über den Satelliten zum Haus übertragene Welle ist einem Einfluss durch Gewitter, Regen oder ähnlichem auf dem Übertragungsweg unterworfen und während die Welle einem solchen Einfluss unterworfen ist, treten Fehler in den Daten auf. Diese Fehler werden als "Burstfehler" bezeichnet.
  • Bei der digitalen Übertragung wird eine Information zur Fehlerkorrektur zu den Originaldaten vorab hinzugefügt und daher ist es möglich, Fehler zu korrigieren, solange die Fehler innerhalb eines vorbestimmten Bereichs von Bits in jedem Segment sind. Da jedoch die Burstfehler fortlaufend in dem gesamten Bereich auftreten, ist es unmöglich, Burstfehler zu korrigieren.
  • Daher werden als Gegenmaßnahme gegen Burstfehler zu übertragende Daten vorab vorübergehend verteilt. Um genau zu sein, werden bei der vorübergehenden Verteilung an der Sendeseite, auch wenn Burstfehler in dem Vorgang der Übertragung auftreten, die Burstfehler beim Wiederherstellen der vorübergehenden Positionen der verteilten Daten an der Empfangsseite verteilt, wodurch die Burstfehler innerhalb eines korrigierbaren Bereichs einer Bitanzahl in jeder Dateneinheit begrenzt werden können.
  • Auf diese Weise ist ein Verfahren zum vorübergehenden Verteilen der zu übertragenden Daten "Faltungsverschachteln" und ein Verfahren zum Wiederherstellen der vorübergehenden Positionen der verteilten Daten auf der Empfangsseite ist "Faltungsentschachteln".
  • Ein für den oben genannten Zweck verwendeter Faltungsverschachteler wurde zum Beispiel in der japanischen Offenlegung Hei. 7-170201 vorgeschlagen.
  • 13 ist ein Blockschaltbild, welches einen im oben genannten Stand der Technik offenbarten Faltungsverschachteler darstellt. In 13 werden Eingangsdaten, welche durch einen Eingangsanschluss 1000 seriell in den Verschachteler eingegeben werden, in ein Seriell-/Parallel-Umwandlungs-Schieberegister 3000 entsprechend einem Hochgeschwindigkeitstakt eingegeben, welcher durch einen Takteingangsanschluss 2000 eingegeben wird, wobei die seriellen Daten in N Stufen paralleler Signale umgewandelt werden.
  • Dann gibt das Seriell-/Parallel-Umwandlungs-Schieberegister 3000 die N Stufen der parallelen Signale zusammen mit dem Taktsignal aus, welches einer 1/N-Frequenzteilung durch einen N-Stufen-Teiler 4000 unterworfen wurde. Die N Stufen paralleler Signale werden entsprechend in Schieberegister 5001, 5002, 5003, ..., 500(N-1) eingegeben, welche die darin eingegebenen Daten verzögern, wobei diesen parallelen Signalen Verzögerungszeiten proportional zu den Stufennummern der entsprechenden Schieberegister, M, 2M, 3M, ..., (N-1)M gegeben werden. Dann werden die N Stufen paralleler Signale, welche durch die Schieberegister 50041, 5002, 5003, ..., 500(N-1) verzögert wurden, in einen Parallel-/Seriell-Umwandlungs-Schieberegister 6000 eingegeben, um in ein serielles Signal umgewandelt zu werden. Das serielle Signal wird von dem Ausgangsan schluss 7000 als durch Verschachteln der Daten an dem Eingangsanschluss 1000 erhaltene Daten ausgegeben.
  • 14 ist ein Blockschaltbild, welches einen Faltungsentschachteler zum Entschachteln der durch den in 13 gezeigten Faltungsverschachteler verschachtelten Daten zeigt. In 14 werden an einen Eingangsanschluss 11000 angelegte Eingangsdaten in ein Seriell-/Parallel-Umwandlungs-Schieberegister 13000 entsprechend einem durch einen Taktanschluss 12000 eingegebenen Hochgeschwindigkeitstakt eingelesen, wobei die Eingangsdaten in N Stufen paralleler Signale umgewandelt werden.
  • Dann gibt das Seriell-/Parallel-Umwandlungs-Schieberegister 13000 die N Stufen paralleler Signale zusammen mit dem Taktsignal aus, welches einer 1/N-Frequenzteilung durch einen N-Stufen-Frequenzteiler 14000 unterworfen wurde. Die N Stufen paralleler Signale werden entsprechend in Schieberegister 900(N-1), ..., 9003, 9002, 9001 eingegeben, welche die eingegebenen Daten verzögern, wodurch diesen parallelen Signalen Verzögerungszeiten proportional zu den Stufennummern der entsprechenden Schieberegister (N-1)M, ..., 3M, 2M, M gegeben werden. Dann werden die durch die Schieberegister 900(N-1), ..., 9003, 9002, 9001 entsprechend verzögerten N Stufen paralleler Signale in ein Parallel-/Seriell-Umwandlungs-Schieberegister 16000 eingegeben, um in ein serielles Signal umgewandelt zu werden. Das serielle Signal wird von einem Ausgangsanschluss 17000 als durch Entschachteln der Daten an dem Eingangsanschluss 11000 erhaltene Daten ausgegeben.
  • Wie oben beschrieben, erfordern der in 13 gezeigte Faltungsverschachteler und der in 14 gezeigte Faltungsentschachteler mehrere Stufen von Schieberegistern, resultierend in einer Zunahme der Schaltungsgröße.
  • Inzwischen wurde als Stand der Technik, welcher das oben beschriebene Problem lösen kann, ein Faltungsverschachteler vorgeschlagen, der einen RAM verwendet.
  • Der Aufbau des Faltungsverschachtelers ist in 15 gezeigt. In 15 umfasst der Faltungsverschachteler einen Single-Port-RAM 13, eine Eingangsda tensteuerungseinrichtung 9, eine Auswahlsignalerzeugungseinrichtung 10, eine RAM-Steuerungseinrichtung 11, eine Adresserzeugungseinrichtung 3, eine Schreibeinrichtung 12, eine Leseeinrichtung 14 und einen Ausgangssignalauswähler 15. Der Single-Port-RAM 13 gibt Daten zu der Leseeinrichtung 14 aus. Die Eingangsdatensteuerung 9 gibt Eingangsdaten des Faltungsverschachtelers zu der Eingangsdatenschreibeinrichtung 12 und dem Ausgangssignalauswähler 15 aus. Die Auswahlsignalerzeugungseinrichtung 10 gibt ein Steuerungssignal zu dem unteren Adressauswähler 7 und der RAM-Steuerungseinrichtung 11 aus. Die RAM-Steuerungseinrichtung 11 gibt ein Steuerungssignal zu dem RAM 13 und dem Ausgangssignalauswähler 15 aus. Die Adresserzeugungseinrichtung 3 gibt eine Adresse zu der Schreibeinrichtung 12 und der Leseeinrichtung 14 aus. Die Schreibeinrichtung 12 gibt eine Adresse und Daten zu dem RAM 13 aus. Die Leseeinrichtung 14 gibt eine Adresse und Daten zu dem RAM 13 aus. Der Ausgangssignalauswähler 15 erzeugt ein Ausgangssignal des Faltungsverschachtelers.
  • Die Adresserzeugungseinrichtung 3 umfasst eine obere Adresserzeugungseinrichtung 4, eine untere Adresserzeugungseinrichtung 5 und eine Ausgangstiminganpassungseinrichtung 8. Die obere Adresserzeugungseinrichtung 4 gibt eine obere Adresse für jeden Kanal zu der Ausgangstiminganpassungseinrichtung 8 und der Leseeinrichtung 14 aus. Die untere Adresserzeugungseinrichtung 5 gibt eine untere Adresse für jeden Kanal zu der Ausgangstiminganpassungseinrichtung 8 und der Leseeinrichtung 14 aus.
  • Die untere Adresserzeugungseinrichtung 5 umfasst eine Zählereinheit 6 und einen unteren Adressauswähler 7. Die Zählereinheit 6 gibt eine untere Adresse für jeden Kanal zu dem unteren Adressauswähler 7 aus. Die Zählereinheit 6 umfasst Zähler 60~6C entsprechend Kanälen ch0~chC. Der untere Adressauswähler 7 gibt eine untere Adresse zu der Ausgangstiminganpassungseinrichtung 8 aus.
  • Die in 15 gezeigte Auswahlsignalerzeugungseinrichtung 10 und die Adresserzeugungseinrichtung 3 dienen beide als ein Eingangsseitenauswähler in dem Arbeitsprinzip, welches später unter Verwendung von 16 beschrieben wird. Andererseits dienen der Ausgangssignalauswähler 15 und die Adresserzeu gungseinrichtung 3 beide als ein Ausgangsseitenauswähler in dem Arbeitsprinzip.
  • Nachfolgend wird das Arbeitsprinzip des in 15 gezeigten Faltungsverschachtelers anhand von 16 beschrieben.
  • In 16 bezeichnet Bezugszeichen 102 einen Single-Port-RAM, welcher mit einer Taktfrequenz f synchron ist, und die Bezugszeichen 100 und 101 bezeichnen an der Eingangsseite und der Ausgangsseite des Single-Port-RAM 102 angeordnete Auswähler. Der Single-Port-RAM 102 hat mehrere Stufen von Speicherbereichen entsprechend den jeweiligen Kanälen und jeder weist eine Bitbreite b auf und die Anzahl der Speicherbereiche ist gleich "Tiefe(m) × Anzahl der Kanäle(N)", wobei m die Anzahl von Daten in Bitbreiteneinheiten ist und 0 ≤ N ≤ C. Die Auswähler 100 und 101 wählen die Kanäle ringförmig und synchron zueinander aus. Um genau zu sein, beginnen diese Auswähler 100 und 101 bei ch0, erhöhen nacheinander die Kanalnummer und kehren zu Kanal 0 zurück, wenn Kanal chC gelesen ist, um den gleichen Vorgang wie oben zu wiederholen.
  • Zu Anfang wählen beide Auswähler 100 und 101 Kanal ch0 aus. Da auf diesem Kanal kein Verzögerungselement vorhanden ist, durchläuft das Signal auf Kanal ch0 den Faltungsverschachteler, ohne verzögert zu werden.
  • Als nächstes wählen die Auswähler 100 und 101 ch1 aus. Da ein FIFO durch den RAM (Speicherbereich) 102-0 in diesem Kanal implementiert ist, wird ein durch diesen RAM 102-0 verzögertes Signal ausgegeben.
  • Danach wählen die Auswähler 100 und 101 in gleicher Weise nacheinander ch2, ch3, ..., chN-1 aus, wobei Signale, welche um das 2-, 3-, ..., N-1(>1)-fache der Verzögerung von ch1 verzögert sind, durch RAM 102-1, RAM 102-2, ..., RAM 102-(N-2), entsprechend ausgegeben werden.
  • Dann wählen die Auswähler 100 und 101 chN aus. Auf diesem Kanal wird ein um das N(>1)-fache der Verzögerung von ch1 verzögertes Signal durch RAM 102-(N-1) ausgegeben.
  • Dann wählen die Auswähler 100 und 101 chC aus. Auf diesem Kanal wird ein Signal, welches um das C-(>N)-fache der Verzögerung auf Kanal ch1 verzögert ist, durch RAM 102-(C-1) ausgegeben.
  • Zum nächsten Zeitpunkt wählen die Auswähler 100 und 101 erneut ch0 aus, um den obigen Ablauf zu wiederholen.
  • Wie oben beschrieben, liest der Faltungsverschachteler die ältesten Daten aus dem Speicherbereich des RAM entsprechend dem ausgewählten Kanal, schreibt die Eingangsdaten des Faltungsverschachtelers in die Adresse, von welcher die Daten gelesen wurden, und gibt die gelesenen Daten als das Ausgangssignal des Faltungsverschachtelers aus.
  • Durch Wiederholen der oben erwähnten Verarbeitung führt der Faltungsverschachteler eine Faltungsverschachtelung für die Eingangsdaten aus.
  • Nachfolgend wird eine Beschreibung der Wirkungsweise des in 15 gezeigten Faltungsverschachtelers gegeben.
  • Der Faltungsverschachteler erfasst zu verschachtelnde Eingangsdaten von dem Eingangsdatenanschluss 1 unter Verwendung der Eingangsdatensteuerungseinrichtung 9 und schreibt die Daten unter Verwendung der Schreibeinrichtung 12 in den RAM 13. Zu diesem Zeitpunkt zählen die Zähler 60~6C der unteren Adresserzeugungseinrichtung 5 für die b-Bit Daten der entsprechenden Kanäle ch0~chC entsprechend diesen Kanälen die unteren Adressen des RAM 13 und der untere Adressauswähler 7 wählt eine dieser unteren Adressen aus. Die so ausgewählte untere Adresse und die von der oberen Adresserzeugungseinrichtung 4 ausgegebene obere Adresse des RAM 13 werden in die Ausgangstiminganpassungseinrichtung 8 eingegeben, in welcher deren Ausgangstimings angepasst werden und diese Adressen werden dann in die Schreibeinrichtung 12 eingegeben, um eine Schreibadresse des RAM 13 anzugeben.
  • Bezogen auf die Daten von ch0 überträgt die Eingangsdatensteuerungseinrichtung 9 diese Daten nicht durch den RAM 13 sondern direkt zu dem Ausgangssignalauswähler 15. Die RAM-Steuerungseinrichtung 11 wählt diese nicht verzö gerten Daten aus, welche von der Eingangsdatensteuerungseinrichtung 9 direkt zu dem Ausgangssignalauswähler 15 gesendet wurden, und gibt diese Daten von dem Ausgangsanschluss 2 nach außen aus.
  • Weiterhin sind die Speicherbereiche für die Daten von ch1~chN~chC, deren Größen in der Reihenfolge dieser Kanäle allmählich zunehmen, in dem RAM 13 durch die obere Adresserzeugungseinrichtung 4 eingestellt. Adressen innerhalb der entsprechenden Speicherbereiche werden durch die Zählereinheit 6 der unteren Adresserzeugungseinrichtung 5 erzeugt und diese Adressen werden durch den unteren Adressauswähler 7 jedes mal ausgewählt, wenn der Auswähler 7 die entsprechenden Kanäle nacheinander auswählt. Bezogen auf die Kanäle, an welche b-Bit-Daten sequenziell angelegt werden, wird der folgende Vorgang in jedem Speicherbereich für jeden Kanal ausgeführt. Das heißt, die Daten werden an eine Adresse in dem Speicherbereich geschrieben und zum nächsten Zeitpunkt werden die Daten aus der Adresse gelesen, um an die nächste Adresse geschrieben zu werden. Auf diese Weise werden den Daten auf den Kanälen ch0~chN~chC entsprechend allmählich zunehmende Verzögerungszeiten gegeben.
  • Als nächstes wird unter Verwendung von 17 eine Beschreibung des Aufbaus eines Faltungsentschachtelers gegeben, welcher die durch den in 15 gezeigten Faltungsverschachteler verschachtelten Daten entschachtelt.
  • In 17 umfasst der Faltungsentschachteler einen Single-Port-RAM 33, eine Eingangsdatensteuerungseinrichtung 29, eine Auswahlsignalerzeugungseinrichtung 30, eine RAM-Steuerungseinrichtung 31, eine Adresserzeugungseinrichtung 23, eine Schreibeinrichtung 32, eine Leseeinrichtung 34 und einen Ausgangssignalauswähler 35. Der Single-Port-RAM 33 gibt Daten zu der Leseeinrichtung 34 aus. Die Eingangsdatensteuerungseinrichtung 29 gibt Eingangsdaten des Faltungsentschachtelers zu der Eingangsdatenschreibeinrichtung 32 und dem Ausgangssignalauswähler 35 aus. Die Auswahlsignalerzeugungseinrichtung 30 gibt ein Steuerungssignal zu dem unteren Adressauswähler 37 und der RAM-Steuerungseinrichtung 31 aus. Die RAM-Steuerungseinrichtung 31 gibt ein Steuerungssignal zu dem RAM 33 und dem Ausgangssignalauswähler 35 aus. Die Adresserzeugungseinrichtung 23 gibt eine Adresse zu der Schreibeinrichtung 32 und zu der Leseeinrichtung 34 aus. Die Schreibeinrichtung 32 gibt eine Adresse und Daten zu dem RAM 33 aus. Die Leseeinrichtung 34 gibt eine Adresse und Daten zu dem RAM 33 aus. Der Ausgangssignalauswähler 35 erzeugt ein Ausgangssignal des Faltungsentschachtelers.
  • Die Adresserzeugungseinrichtung 23 umfasst eine obere Adresserzeugungseinrichtung 24, eine untere Adresserzeugungseinrichtung 25 und eine Ausgangstiminganpassungseinrichtung 28. Die obere Adresserzeugungseinrichtung 24 gibt eine obere Adresse für jeden Kanal zu der Ausgangstiminganpassungseinrichtung 28 und der Leseeinrichtung 34 aus. Die untere Adresserzeugungseinrichtung 25 gibt eine untere Adresse für jeden Kanal zu der Ausgangstiminganpassungseinrichtung 28 und der Leseeinrichtung 34 aus.
  • Die untere Adresserzeugungseinrichtung 25 umfasst eine Zählereinheit 26 und einen unteren Adressauswähler 27. Die Zählereinheit 26 gibt eine untere Adresse für jeden Kanal zu dem unteren Adressauswähler 27 aus. Die Zählereinheit 26 umfasst Zähler 260~26C entsprechend den Kanälen ch0~chC. Der untere Adressauswähler 27 gibt eine untere Adresse zu der Ausgangstiminganpassungseinrichtung 28 aus.
  • Die Auswahlsignalerzeugungseinrichtung 30 und die Adresserzeugungseinrichtung 23 dienen beide als ein Eingangsseitenauswähler in dem Arbeitsprinzip, welches später unter Verwendung von 18 beschrieben wird. Andererseits dienen der Ausgangssignalauswähler 35 und die Adresserzeugungseinrichtung 23 beide als ein Ausgangsseitenauswähler in dem Arbeitsprinzip.
  • Nachfolgend wird die Wirkungsweise des Faltungsentschachtelers anhand von 18 beschrieben.
  • In 18 bezeichnet Bezugszeichen 1112 einen Single-Port-RAM, welcher mit einer Taktfrequenz f synchronisiert ist, und die Bezugszeichen 1110 und 1111 bezeichnen Auswähler, welche an der Eingangsseite und der Ausgangsseite des Single-Port-RAM 1112 angeordnet sind. Der Single-Port-RAM 1112 weist mehrere Stufen von Speicherbereichen entsprechend den jeweiligen Kanälen auf und jede mit einer Bitbreite b, und die Anzahl der Speicherbereiche ist gleich zu "Tie fe(m) × (maximale Kanalanzahl(C) – Kanalnummer (N)-1)", mit 0 ≤ N ≤ C. Die Auswähler 1110 und 1111 wählen die Kanäle ringförmig und synchron miteinander aus. Um genau zu sein, beginnen diese Auswähler 1110 und 1111 bei ch0, erhöhen nacheinander die Kanalnummer und kehren zu ch0 zurück, wenn sie chC erreichen, um den gleichen Ablauf wie oben zu wiederholen.
  • Zuerst wählen beide Auswähler 1110 und 1111 ch0 aus. Auf diesem Kanal wird ein Signal, welches um ein C-(>1)-faches mehr verzögert ist, als die Verzögerung auf ch1 des Faltungsverschachtelers, durch RAM 1112-0 ausgegeben.
  • Als nächstes wählen die Auswähler 1110 und 1111 ch1 aus. Auf diesem Kanal wird ein Signal, welches um das (C-1)-fache der Verzögerung auf Kanal ch1 des Faltungsverschachtelers verzögert ist, durch RAM 1112-1 ausgegeben.
  • Danach wählen die Auswähler 1110 und 1111 in gleicher Weise ch2, ch3, ..., chN-1 aus und Signale, welche um das (C-2)-, (C-3)-, ..., (C-(N-1))- (>1) fache der Verzögerung auf Kanal ch1 des Faltungsverschachtelers verzögert sind, werden durch RAM 1112-2, RAM 1112-3, ..., RAM 1112-(N-1) ausgegeben.
  • Dann wählen die Auswähler 1110 und 1111 chN aus. Auf diesem Kanal wird ein Signal, welches um das (C-N)-fache der Verzögerung auf Kanal ch1 des Faltungsverschachtelers verzögert ist, von dem RAM 1112-N ausgegeben.
  • Danach wählen die Auswähler 1110 und 1111 chC aus. Da auf diesem Kanal kein Verzögerungselement existiert, durchläuft das Signal auf chC den Faltungsentschachteler, ohne verzögert zu werden.
  • Zu dem nächsten Zeitpunkt wählen beide Auswähler 1110 und 1111 erneut ch0 aus, um den oben erwähnten Vorgang zu wiederholen.
  • Wie oben beschrieben, liest der Faltungsentschachteler die ältesten Daten aus dem Speicherbereich des RAM entsprechend dem ausgewählten Kanal, schreibt die eingegebenen Daten des Faltungsentschachtelers in die Adresse, von welcher Daten gelesen wurden, und gibt die gelesenen Daten als das Ausgangssignal des Faltungsentschachtelers aus.
  • Durch Wiederholen der oben erwähnten Verarbeitung werden die Eingangsdaten in dem gleichen Datenformat wiederhergestellt, wie dasjenige vor der Faltungsverschachtelung.
  • Als nächstes wird eine Beschreibung der Wirkungsweise des Faltungsentschachtelers gegeben.
  • Der Faltungsentschachteler erfasst eingegebene, zu entschachtelnde Daten von dem Eingangsdatenanschluss 21 unter Verwendung der Eingangsdatensteuerungseinrichtung 29 und schreibt dann die Daten unter Verwendung der Schreibeinrichtung 32 in den RAM 33. Zu diesem Zeitpunkt werden für b-Bit Daten der entsprechenden Kanäle ch0~chN~chC die Zähler 260~26N~26C der unteren Adresserzeugungseinrichtung 25 entsprechend diesen Kanälen die unteren Adressen des RAM 33 zählen und der untere Adressauswähler 27 wählt eine dieser unteren Adressen aus. Die so ausgewählte untere Adresse und die von der oberen Adresserzeugungseinrichtung 24 ausgegebene obere Adresse des RAM 33 werden in die Ausgangstiminganpassungseinrichtung 28 eingegeben, worin deren Ausgangstimings angepasst werden, und dann werden diese Adressen in die Schreibeinrichtung 32 eingegeben, um eine Schreibadresse des RAM 33 anzugeben.
  • Bezogen auf die Daten von chC überträgt die Eingangsdatensteuerungseinrichtung 29 diese Daten nicht durch den RAM 33 sondern direkt zu dem Ausgangssignalauswähler 35. Die RAM-Steuerungseinrichtung 31 wählt diese nicht verzögerten Daten aus, welche von der Eingangsdatensteuerungseinrichtung 29 direkt zu dem Ausgangssignalauswähler 35 gesendet wurden, und gibt diese Daten von dem Ausgangsanschluss 22 nach außen aus.
  • Weiterhin sind für die Daten von ch1~chN~chC Speicherbereiche, deren Größen sich allmählich in der Reihenfolge dieser Kanäle verringern, in dem RAM 33 durch die obere Adresserzeugungseinrichtung 24 eingestellt. Adressen innerhalb der entsprechenden Speicherbereiche werden durch die Zählereinheit 26 der unteren Adresserzeugungseinrichtung 25 erzeugt und diese Adressen werden von dem unteren Adressauswähler 27 jedesmal dann ausgewählt, wenn der Adressauswähler 27 die entsprechenden Kanäle nacheinander auswählt. Bezo gen auf die Kanäle, an welche b-Bit-Daten sequenziell angelegt werden, wird der folgende Vorgang mit jedem Speicherbereich für jeden Kanal ausgeführt. Das heißt, die Daten werden an die Adressen in dem Speicherbereich geschrieben und zum nächsten Zeitpunkt werden die Daten von den Adressen gelesen, um an die nächste Adresse geschrieben zu werden. Auf diese Weise werden den Daten der Kanäle ch0~chN~chC entsprechend allmählich verringerte Verzögerungszeiten gegeben.
  • Dadurch werden den Kanälen ch0~chN~chC durch den in 16 gezeigten Faltungsentschachteler allmählich geringer werdende Verzögerungszeiten gegeben, während diesen Kanälen durch den in 15 gezeigten Faltungsverschachteler allmählich zunehmende Verzögerungszeiten gegeben wurden. Synthetisch wird allen Kanälen die gleiche Verzögerungszeit gegeben, wodurch die Datenmatrix, welche durch den in 15 gezeigten Faltungsverschachteler verschachtelt wurde, durch den in 16 gezeigten Faltungsentschachteler entschachtelt (wiederhergestellt) wird.
  • Daher ist es, wenn ein digitales System als eine integrierte Schaltung aufgebaut ist, erforderlich, dass so viele Schaltungen wie möglich in der selben integrierten Schaltung untergebracht werden und das gleiche ist erforderlich für ein System mit einem Faltungsverschachteler und einem Faltungsentschachteler. Daher sind bei dieser Art von System weitere Verringerungen in Flächen- und Energieverbrauch des Faltungs-Verschachtelers und -Entschachtelers erforderlich.
  • Die US 3,652,998 offenbart Verschachteler, welche die Bits in einer Gruppe der Länge B in der Eingangsfolge verteilen, so dass jedes Paar in der Ausgangsfolge wenigstens N Bits getrennt ist, in welcher die Verzögerungsschaltung (z. B. ein oder mehrere Schieberegister) mit einer Steuerungsschaltung zusammenwirken, um eine Mehrzahl von Verzögerungspfaden zu definieren, von denen jeder eine konstante Länge aufweist, wobei die Anzahl dieser Pfade gleich der Periode P des Verschachtelers ist.
  • Die EP 0 026 050 offenbart einen Verschachteler, welcher ein Folge von Kodewörtern empfängt und welcher die Bits von jedem Kodewort über einen langen Zeitabschnitt verteilt, so dass keine zwei Bits des Kodeworts durch weniger als ein bestimmtes Zeitintervall getrennt sind. Dieses Zeitintervall wird ausgewählt, um die Wahrscheinlichkeit, dass zwei oder mehr Bits des selben Kodeworts durch die selbe Beeinflussung beeinträchtigt werden, zu minimieren. Der Verschachteler ist angeordnet, um eine insbesondere ökonomische Verwendung von Datenspeicherkapazität bereitzustellen. Der Verschachteler besteht aus einer Mehrzahl (K-1) serieller Schieberegister, in welchen jedes Kodewort (K) Bits enthält. Jedes Schieberegister hat eine Kapazität, welche ein unterschiedliches ganzzahliges Vielfaches eines vorbestimmten Betrages (N) ist, und Daten werden vorübergehend für einen Zeitabschnitt, welcher proportional zu ihrer Kapazität ist, in den entsprechenden Registern gespeichert. Daten werden durch Schalter in die und aus den geeigneten Schieberegistern geleitet.
  • Die GB 2 315 002 offenbart einen Faltungsverschachteler zum Verschachteln eines Datenstroms, welcher aus einer Anzahl N von Daten mit einem vorbestimmten Verschachtelungspegel B gebildet ist, um den Datenstrom für eine Fehlerkorrektur zu randomisieren, mit: einem Eingangspuffer; einem Speicher; einer Adresserzeugungseinheit; einem Ausgangspuffer; und einer Steuerung, und ein Verfahren zum Erzeugen einer Adresse des Speichers werden offenbart. Bei dem Verfahren zum Erzeugen einer Adresse des Speichers wird ein Basisspeicher, dessen Nummer des vertikalen Endes B-1 ist und dessen horizontale Länge (B-1) × M Zelle ist, in einen Zwischenspeicher transformiert, dessen Nummer des vertikalen Endes B-1 ist und dessen horizontale Länge (B/2) × M Zelle ist, und eine physikalische Adresse zum Ansprechen des Zwischenspeichers wird erzeugt. Die physikalische Adresse wird während einer Taktperiode aufrechterhalten, während der Speicher die Daten liest, die vorher während der ersten Halbperiode des Taktes an der Speicherposition entsprechend der physikalischen Adresse gespeichert wurden, und die gegenwärtig eingegebenen Eingangsdaten an der selben Speicherposition entsprechend der physikalischen Adresse während der letzten Halbperiode des Taktes speichert.
  • Die EP 0 681 373 offenbart einen Faltungsverschachteler und ein Adressierungsschema. Bis zu B aufeinanderfolgende Zeichen mit Fehlern können so verschachtelt werden, dass sie voneinander durch wenigstens N dazwischen liegende Zeichen getrennt sind. Ein Speicher, wie ein RAM, ist ausgebildet, um (B-1) Zellen zunehmender Größe zum Speichern von Zeichen aus einem Daten strom bereitzustellen. Eine erste der Zellen (CELL 1) hat M Speicherpositionen, angepasst zum Speichern von M Zeichen. Jede nachfolgende der Zellen (CELL 2, CELL3) hat M mehr Speicherpositionen als die unmittelbar vorausgehende Zelle zum Speichern von M mehr Zeichen als die unmittelbar vorausgehende Zelle, mit M=N/B. Die Zellen werden aufeinanderfolgend adressiert, um ein nächstes Zeichen von dem Strom in eine nächste Schreibzeichenposition in einer gegenwärtig adressierten Zelle zu schreiben und um ein Zeichen aus einer Position der gegenwärtig adressierten Zelle zu lesen, welche der nächsten Schreibzeichenposition unmittelbar folgt. Die Positionen werden in einer ersten umlaufenden Weise angesprochen, so dass der letzten Position in einer Zelle die erste Position in der Zelle folgt. Die Zellen werden in einer zweiten umlaufenden Weise adressiert, so dass der (B-1)-ten Zelle die erste Zelle folgt, oder umgekehrt. Eine eingefügte Übertragungsstufe kann innerhalb des RAM zwischen der (B-1)-ten Zelle und der ersten Zelle vorgesehen sein, um das nächste Zeichen für den Verschachteler-Ausgang direkt zu Übertragen. Jedes aufeinanderfolgende Zeichen aus dem Strom wird in eine der nächsten folgenden der Zellen geschrieben. Ein Entschachteler mit dem gleichen Aufbau wird vorgeschlagen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der vorliegenden Erfindung ist es, einen Faltungsverschachteler, einen Faltungsentschachteler, ein Faltungsverschachtelungsverfahren und ein Faltungsentschachtelungsverfahren anzugeben, welche Verringerungen in dem Flächen- und Energieverbrauch durch Optimieren eines RAM-Steuerungssystems verwirklichen können.
  • Andere Aufgaben und Vorteile der Erfindung werden aus der folgenden detaillierten Beschreibung erkennbar. Die detaillierte Beschreibung und die beschriebenen besonderen Ausführungsformen sind nur zur Illustration vorgesehen, da zahlreiche Hinzufügungen und Modifikationen innerhalb des Umfangs der Erfindung für den Durchschnittsfachmann in der detaillierten Beschreibung erkennbar sind.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist ein Faltungsentschachteler vorgesehen, welcher eine Faltungsentschachtelung für eine Daten gruppe ausführt, in welcher die eingegebene/ausgegebene Datenbreite b Bit beträgt, die Tiefe, d. h., die Anzahl der Daten in Bit-breiten Einheiten, m ist, die Anzahl der Kanäle n ist und die maximale Kanalanzahl C ist (n = ganze Zahl, welche die Bedingung 0 ≤ n ≤ C erfüllt, b, m, C = natürliche Zahlen), und der Faltungsentschachteler umfasst: eine erste Speichereinrichtung mit einer Datenbreite von j × b Bit (j = natürliche Zahl nicht kleiner als 2); eine Eingangsdaten-Steuerungseinrichtung zum Verteilen der Eingangsdaten des Faltungsentschachtelers zu einer Bitanschlusseinrichtung, eine zweite Speichereinrichtung und eine Ausgangsdaten-Steuerungseinrichtung; wobei die zweite Speichereinrichtung ausgebildet ist zum Verzögern der Eingangsdaten von der Eingangsdaten-Steuerungseinrichtung für jede Gruppe mit wenigstens zwei Kanälen, wobei die Bitanschlusseinrichtung ausgebildet ist zum Verbinden der Eingangsdaten von der Eingangsdaten-Steuerungseinrichtung und der Eingangsdaten von der zweiten Speichereinrichtung, um Daten zu erzeugen, welche in die erste Speichereinrichtung einzugeben sind, mit einer Datenbreite von j × b Bit; eine Adresserzeugungseinrichtung zum Erzeugen von Adressen der ersten Speichereinrichtung; eine Bitseparationseinrichtung zum Umwandeln ausgegebener Daten von der ersten Speichereinrichtung in Daten mit einer Datenbreite von b Bit und die von dem Faltungsentschachteler auszugeben sind; und wobei die Ausgangsdaten-Steuerungseinrichtung zum Ausgeben von Ausgangsdaten von der Bitseparationseinrichtung nach außerhalb des Faltungsentschachtelers ausgebildet ist. Daher ist die RAM-Adresserzeugungseinrichtung optimiert, wodurch die Fläche der Adresserzeugungseinrichtung minimiert ist und die Häufigkeit von Zugriffen auf den RAM verringert ist. Dadurch kann eine Faltungsentschachtelung mit minimalem Energieverbrauch ausgeführt werden und sie kann weiterhin auch mit einem bei niedriger Frequenz arbeitenden RAM ausgeführt werden.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung umfasst der Faltungsentschachteler des ersten Aspekts die Adresserzeugungseinrichtung, welche die Adresserzeugung derart ausführt, dass die erste Speichereinrichtung eine Verzögerung von (C-i)S ausführt (S = vorbestimmter Betrag der Verzögerung, 0 < S), für die i-te Gruppe aus Gruppen, in welchen sämtliche Kanäle gruppiert sind, so dass jede Gruppe höchstens k Kanäle umfasst, wobei die i-te Gruppe Kanäle von dem ik-ten Kanal bis zu dem ((i+1)k-1)-ten Kanal umfasst (k = natürliche Zahl nicht größer als C, i = ganze Zahl, welche die Beziehung 0 ≤ i ≤(ganzzahliger Teil von (C/k)) erfüllt, (i+1)k-1 ≤C);
    wobei die zweite Speichereinrichtung eine ausreichende Kapazität aufweist, um eine Verzögerung äquivalent zu einem Mangel in der Verzögerung der ersten Speichereinrichtung für die Verzögerung von (C-n)T auszuführen (T = vorbestimmter Verzögerungsbetrag, S ≤ T), die auf die Daten in dem n-ten Kanal ausgeübt wird; und
    mit einer Schalteinrichtung zum aufeinanderfolgenden Umschalten der Kanäle jedesmal, wenn Daten aus b Bit und der Tiefe m eingegeben werden, so dass der Kanal der Dateneingabe für die erste Speichereinrichtung und für die zweite Speichereinrichtung in der Kanalnummer identisch mit der Kanalnummer des Kanals der Datenausgabe von der ersten Speichereinrichtung ist. Daher können, die gleichen Wirkungen, wie oben beschrieben, erreicht werden.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung ist in dem Faltungsentschachteler des zweiten Aspekts C eine ungerade Zahl, k ist 2, S und T erfüllen die Beziehung S = T und die zweite Speichereinrichtung führt eine Verzögerung von T für den (2h+1)-ten Kanal aus (h = ganze Zahl, welche die Beziehung 0 ≤ 2h+1 ≤C erfüllt) und führt nicht eine Verzögerung für den 2h-ten Kanal aus. Daher können die gleichen Wirkungen, wie oben beschrieben, erreicht werden.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung sind bei dem Faltungsentschachteler des ersten Aspekts die zweite Speichereinrichtung und die erste Speichereinrichtung aus der gleichen Art Speichereinrichtung aufgebaut. Daher können die gleichen Wirkungen, wie oben beschrieben, erreicht werden.
  • Gemäß einem fünften Aspekt der vorliegenden Erfindung ist bei dem Faltungsentschachteler des ersten Aspekts die erste Speichereinrichtung durch ein RAM aufgebaut. Daher können die gleichen Wirkungen, wie oben beschrieben, erreicht werden.
  • Gemäß einem sechsten Aspekt der vorliegenden Erfindung weist bei einem Faltungsverschachteler des fünften Aspekts der RAM j Eingabe/Ausgabe-Anschlüsse auf (j = natürliche Zahl nicht kleiner als 2). Daher können die gleichen Wirkungen, wie oben beschrieben, erreicht werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockschaltbild, welches einen Faltungsverschachteler gemäß einer ersten Ausführungsform der vorliegenden Erfindung darstellt;
  • 2 ist eine Darstellung zum Erläutern der Wirkungsweise des Faltungsverschachtelers der ersten Ausführungsform;
  • 3 ist ein Zeitdiagramm des Faltungsverschachtelers der ersten Ausführungsform;
  • 4 ist ein Blockschaltbild, welches einen Faltungsentschachteler gemäß einer zweiten Ausführungsform der vorliegenden Erfindung darstellt;
  • 5 ist eine Darstellung zum Erläutern der Wirkungsweise des Faltungsentschachtelers der zweiten Ausführungsform;
  • 6 ist ein Zeitdiagramm des Faltungsentschachtelers der zweiten Ausführungsform;
  • 7 ist ein Blockschaltbild, welches einen Faltungsverschachteler gemäß einer dritten Ausführungsform der vorliegenden Erfindung darstellt;
  • 8 ist eine Darstellung zum Erläutern der Wirkungsweise des Faltungsverschachtelers der dritten Ausführungsform;
  • 9 ist ein Zeitdiagramm des Faltungsverschachtelers der dritten Ausführungsform;
  • 10 ist ein Blockschaltbild, welches einen Faltungsentschachteler gemäß einer vierten Ausführungsform der vorliegenden Erfindung darstellt;
  • 11 ist eine Darstellung zum Erläutern der Wirkungsweise des Faltungsentschachtelers der vierten Ausführungsform;
  • 12 ist ein Zeitdiagramm des Faltungsentschachtelers der vierten Ausführungsform;
  • 13 ist ein Blockschaltbild, welches einen zum Beispiel in der japanischen Offenlegung Nr. Hei. 7-170201 offenbarten Faltungsverschachteler zeigt;
  • 14 ist ein Blockschaltbild, welches einen von dem Faltungsverschachteler in 13 abgeleiteten Faltungsentschachteler zeigt;
  • 15 ist ein Blockschaltbild, welches einen Faltungsverschachteler gemäß einem weiteren Stand der Technik zeigt;
  • 16 ist eine Darstellung zum Erläutern der Wirkungsweise des Faltungsverschachtelers in 15;
  • 17 ist ein Blockschaltbild, welches einen Faltungsentschachteler gemäß einem weiteren Stand der Technik zeigt;
  • 18 ist eine Darstellung zum Erläutern der Wirkungsweise des Faltungsentschachtelers in 17;
  • 19 ist ein Blockschaltbild, welches einen Faltungsverschachteler gemäß einer fünften Ausführungsform der Erfindung zeigt; und
  • 20 ist ein Blockschaltbild, welches einen Faltungsentschachteler gemäß einer sechsten Ausführungsform der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend werden Ausführungsformen der vorliegenden Erfindung anhand der 1 bis 12 beschrieben.
  • [Ausführungsform 1]
  • In einem Faltungsverschachteler gemäß der ersten Ausführungsform der vorliegenden Erfindung sind Adresszähler für eine RAM-Einheit für jeweils zwei Kanäle als eine Einheit zusammengefasst und verringern dadurch die Schaltungsgröße der peripheren Einheit des RAM und seinen Energieverbrauch.
  • 1 ist ein Blockschaltbild, welches die Struktur eines Faltungsverschachtelers gemäß einer ersten Ausführungsform zeigt.
  • In 1 umfasst der Faltungsverschachteler einen Single-Port-RAM 53 (erste Speichereinrichtung in Anspruch 3), eine Eingangsdatensteuerungseinrichtung 46, eine Auswahlsignalerzeugungseinrichtung 50, einen Schieberegisterauswähler 59, eine Schieberegistereinheit 48 (zweiter Speicher in Anspruch 3), einen Schieberegisterauswähler 60, ein Register 49, Register 491 und 492, eine Bitverbindungseinrichtung 47, eine obere Adresserzeugungseinrichtung 41, eine untere Adresserzeugungseinrichtung 42, eine Ausgangstiminganpassungseinrichtung 45, eine Schreibeinrichtung 52, eine Leseeinrichtung 54, einen Ausgangssignalauswähler 55, eine Bitseparationseinrichtung 56, ein Register 57, eine Ausgangsdatensteuerungseinrichtung 58 und eine RAM-Steuerungseinrichtung 61.
  • Der Single-Port-RAM 53 gibt Daten zu der Leseeinrichtung 54 aus. Die Eingangsdatensteuerungseinrichtung 46 gibt Eingangsdaten 61 des Faltungsverschachtelers zu dem Register 49, dem Ausgangssignalauswähler 55 und dem Schieberegisterauswähler 59 aus. Die Auswahlsignalerzeugungseinrichtung 50 gibt ein Steuerungssignal zu der Eingangsdatensteuerungseinrichtung 46, der oberen Adresserzeugungseinrichtung 41, dem unteren Adressauswähler 44, den Schieberegisterauswählern 59 und 60 und der RAM-Steuerungseinrichtung 61 aus. Der Schieberegisterauswähler 59 gibt Daten zu der Schieberegistereinheit 48 aus. Die Schieberegistereinheit 48 umfasst Schieberegister 481, 483~48C-2, 48C entsprechend den Kanälen ch1, ch3~chC~2, chC und gibt Daten der Schieberegister in Gruppen, die jede zwei Kanälen entspricht, zu dem Schieberegisterauswähler 60 aus. Der Schieberegisterauswähler 60 gibt Daten zu der Bitverbindungseinrichtung 47 aus. Das Register 49 gibt Daten zu der Bitverbindungseinrichtung 47 aus. Das Register 491 behält Ausgangsdaten von der Eingangsdatensteuerungseinrichtung 46 und gibt die Daten zu dem Ausgangssignalauswähler 55 aus. Die Bitverbindungseinrichtung 47 gibt Daten zu der Schreibeinrichtung 52 des RAM 53 aus. Die obere Adresserzeugungseinrichtung 41 gibt eine obere Adresse des RAM 53 zu der Schreibeinrichtung 52 durch die Ausgangstiminganpassungseinrichtung 45 aus. Die untere Adresserzeugungseinrichtung 42 gibt eine untere Adresse des RAM 53 zu der Schreibeinrichtung 52 durch die Ausgangstiminganpassungseinrichtung 45 aus. Die Ausgangstiminganpassungseinrichtung 45 gibt eine Adresse und ein Steuerungssignal zu der Schreibeinrichtung 52 aus. Die Schreibeinrichtung 52 gibt Daten, eine Adresse und ein Steuerungssignal zu dem RAM 53 aus. Die Leseeinrichtung 54 gibt eine Adresse und ein Steuerungssignal zu dem RAM 53 aus und gibt Daten zu dem Ausgangssignalauswähler 55 aus. Der Ausgangssignalauswähler 55 gibt Daten zu der Bitseparationseinrichtung 56 aus. Die Bitseparationseinrichtung 56 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 58 und dem Register 57 aus. Das Register 57 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 58 aus. Die Ausgangsdatensteuerungseinrichtung 58 gibt ein Ausgangssignal 62 des Faltungsverschachtelers nach außen aus. Die RAM-Steuerungseinrichtung 61 steuert den RAM 53 und den Ausgangssignalauswähler 55.
  • Die untere Adresserzeugungseinrichtung 42 umfasst eine Zählereinheit 43 und einen unteren Adressauswähler 44. Die Zählereinheit 43 umfasst Zähler 432, 434 43N ~ 43C-1 entsprechend den Kanälen ch2/ch3, ch4/ch5 ~ chN/chN+1 ~ chC-1/chC. Die Zählereinheit 43 gibt die unteren Adressen in Gruppen zu dem unteren Adressauswähler 44 aus, wobei jede Gruppe zwei Kanälen entspricht. Der untere Adressauswähler 44 gibt die untere Adresse zu der Ausgangstiminganpassungseinrichtung 45 aus.
  • Die Auswahlsignalerzeugungseinrichtung 50 und die Adresserzeugungseinrichtung 40 dienen als ein Eingangsseitenauswähler in dem später beschriebenen Arbeitsprinzip. Weiterhin dienen der Ausgangssignalauswähler 55 und die Adresserzeugungseinrichtung 40 in dem Arbeitsprinzip als ein Ausgangsseitenauswähler.
  • Nachfolgend wird das Arbeitsprinzip des Faltungsverschachtelers gemäß der ersten Ausführungsform der vorliegenden Erfindung anhand von 2 und dem Zeitdiagramm 3 beschrieben.
  • Der Faltungsverschachteler der ersten Ausführungsform wird verwirklicht durch Ersetzen der in 16 gezeigten Speicherbereiche 102-0, ..., 102-(C-1) durch Schieberegister (zweite Verzögerungseinheit in Anspruch 1) 122-0, ..., 122-(C-1)/2 und Speicherbereiche (erste Verzögerungseinheit in Anspruch 1) innerhalb des Single-Port-RAM (Bitbreite 2b) ..., 123-(N/2-1), ..., 123-((C-1)/201) und Verwenden von Auswählern 120 und 121, welche die Kanäle ringförmig umschalten. Diese Auswähler 120 und 121 beginnen bei ch0, erhöhen nacheinander die Kanalnummer und kehren beim Erreichen von chC zu ch0 zurück, um den gleichen Ablauf wie oben zu wiederholen.
  • Zu Anfang wählen beide Auswähler 120 und 121 Kanal ch0 aus. Da in diesem Kanal kein Verzögerungselement vorhanden ist, durchläuft das Signal in ch0 den Faltungsverschachteler, ohne verzögert zu werden.
  • Als nächstes wählen die Auswähler 120 und 121 ch1 aus. Auf diesem Kanal ist ein FIFO durch das Schieberegister 122-0 implementiert und ein durch dieses Schieberegister verzögertes Signal wird ausgegeben.
  • Dann wählen die Auswähler chN aus. Die Daten dieses Kanals werden durch ein (nicht dargestelltes) Register gehalten, bis der nächste Kanal chN+1 ausgewählt wird. Die Daten von chN und chN+1 werden gleichzeitig in den RAM 123-(N/2-1) eingegeben und die Daten von chN werden um das N-(>1)-fache der Verzögerung auf ch1 durch den RAM 123-(N/2-1) ausgegeben.
  • Auf chN+1 wird die gleiche Verzögerung wie diejenige auf ch1 durch das Schieberegister 122-0 durch das Schieberegister 122-N/2 vorgenommen und eine Verzögerung um das N-(>1)-fache derjenigen auf ch1 wird zu dieser durch den RAM 123-(N/2-1) hinzugefügt. Folglich wird ein um das (N+1)-fache der Verzögerung auf ch1 verzögertes Signal ausgegeben.
  • Danach wählen die Auswähler 120 und 121 chC aus. Auf diesem Kanal wird die gleiche Verzögerung wie diejenige auf ch1 durch das Schieberegister 122-0 durch das Schieberegister 122-(C-1)/2 vorgenommen und eine Verzögerung um das C-1-(>N)-fache derjenigen auf ch1 wird zu dieser Verzögerung durch den RAM 123-((C-1)/2-1) hinzugefügt. Folglich wird ein um das C-fache der Verzögerung von ch1 verzögertes Signal ausgegeben.
  • Zu dem nächsten Zeitpunkt wählen die Auswähler 120 und 121 erneut ch0 aus, um den oben genannten Vorgang zu wiederholen.
  • Insbesondere, wenn die Auswähler 120 und 121 den Kanal chN zum Zeitpunkt t auswählen, werden die Eingangsdaten des Faltungsverschachtelers in die Eingangsdatensteuerungseinrichtung 46 eingegeben und diese Daten werden von dem Register 49 behalten. Zum Zeitpunkt t+1 (die Auswähler 120 und 121 wählen den Kanal chN+1 aus) werden die Eingangsdaten des Faltungsverschachtelers in das Schieberegister 122-N/2 eingegeben und das Schieberegister 122-N/2 führt eine Verschiebung aus, wodurch das Ausgangssignal der Eingangsdatensteuerungseinrichtung 46 und das Ausgangssignal des Registers 49 gleichzeitig in den Single-Port-RAM 123-(N/2-1) geschrieben werden, wie die unteren b Bit und die oberen b Bit entsprechend durch die Bitverbindungseinrichtung 47. Zum Zeitpunkt t+Nxmx(C+1) werden diese Daten gleichzeitig gelesen und die oberen b Bit werden von dem Faltungsverschachteler ausgegeben, während die unteren b Bit durch die Bitseparationseinrichtung 56 und die Ausgangsdatensteuerungs einrichtung 58 in dem Register 57 gespeichert werden. Zum Zeitpunkt t+Nxmx(C+1) wird das Ausgangssignal des Registers 57 von dem Faltungsverschachteler durch die Ausgangsdatensteuerungseinrichtung 58 ausgegeben. Durch Wiederholen der oben genannten Verarbeitung wird eine Faltungsverschachtelung verwirklicht.
  • Als nächstes wird die Wirkungsweise des Faltungsverschachtelers anhand von 1 beschrieben.
  • Der Faltungsverschachteler erfasst zu verschachtelnde Eingangsdaten von dem Eingangsanschluss 61 durch die Eingangsdatensteuerungseinrichtung 46 und schreibt die Daten durch die Schreibeinrichtung 52 in den RAM 53. Zu diesem Zeitpunkt ist ein Adresszähler zwei Kanälen (ch) mit b-Bit Daten zugeordnet. Dann zählen die Zähler 432 ~ 43N ~ 43C-1 der unteren Adresserzeugungseinrichtung 42 entsprechend ch2 und ch3 (nachfolgend ch2/ch3) ~ chN-1 und chN (chN-1/chN) ~ chC-1 und chC (chC-1/chC) die unteren Adressen des RAM 53. Der untere Adressauswähler 44 wählt einen dieser Zähler, welche die Zählereinheit der unteren Adresserzeugungseinrich-tung 42 bilden, entsprechend dem durch die Auswahlsignalerzeugungseinrich-tung 50 erzeugten Auswahlsignal aus. Die so ausgewählte untere Adresse und die von der oberen Adresserzeugungseinrichtung 41 ausgegebene obere Adres-se des RAM 53 werden in die Ausgangstiminganpassungseinrichtung 45 eingegeben, in welcher deren Timings angepasst werden, und danach werden diese Adressen in die Schreibeinrichtung 52 eingegeben, um eine Schreib-adresse für den RAM 53 anzugeben.
  • Zu diesem Zeitpunkt werden zu Anfang die Daten von ch0 eingegeben und zum nächsten Zeitpunkt werden die Daten von ch1 eingegeben. Die Auswahlsignalerzeugungseinrichtung 50 steuert die Eingangsdatensteuerungseinrichtung 46 derart, dass die Daten von ch0 nicht durch den RAM 53 sondern durch das Register 490 direkt zu dem Ausgangssignalauswähler 55 übertragen werden. Weiterhin steuert die RAM-Steuerungseinrichtung 61 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 50 den Ausgangssignalauswähler 55 derart, dass der Auswähler 55 die nicht verzögerten Daten auswählt, welche von der Eingangsdatensteuerungseinrichtung 46 direkt zu dem Ausgangssignalauswähler 55 ausge geben werden und gibt diese Daten von dem Ausgangsanschluss nach außen aus.
  • Weiterhin werden, bezogen auf die Daten von ch1, die Daten von der Eingangsdatensteuerungseinrichtung 46 um eine vorbestimmte Verzögerungszeit T (>0) entsprechend der Kapazität des Schieberegisters 481 von ch1 verzögert, welches durch die Schieberegisterauswähler 59 und 60 ausgewählt wird, und die verzögerten Daten werden in das Register 492 eingegeben. Die RAM-Steuerungseinrichtung 61 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 50 steuert den Ausgangssignalauswähler 55 derart, dass er die durch das Schieberegister 481 von ch1 verzögerten und von dem Register 492 gelieferten Daten auswählt und die Daten von dem Ausgangsanschluss 62 nach außen ausgibt.
  • Weiterhin werden, bezogen auf Daten von ch2~chN~chC Speicherbereiche für diese Daten in dem RAM 53 durch die obere Adresserzeugungseinrichtung 41 und die Zählereinheit der unteren Adresserzeugungseinrichtung 42 derart eingestellt, dass die Größen dieser Speicherbereiche in der Reihenfolge der Kanäle ansteigen, jeder um eine Verzögerungszeit von 2T, mit zwei Kanälen als Einheit, und diese Speicherbereiche werden durch einen (nicht dargestellten) oberen Adressauswähler und den unteren Adressauswähler 44 für jeweils zwei Kanäle als eine Einheit ausgewählt. Bezogen auf die Kanäle, an welche zwei Kanäle mit b Bit Daten sequenziell angelegt werden, wird der folgende Vorgang für jeden Speicherbereich für jeweils zwei Kanäle ausgeführt. Das heißt, die Daten werden an eine Adresse in dem Speicherbereich geschrieben und zum nächsten Zeitpunkt werden die Daten von der Adresse gelesen und an die nächste Adresse geschrieben.
  • Weiterhin wählen, bezogen auf die Kanäle von ch1, ch3~chN+1, chN+3~chC, die Schieberegisterauswähler 59 und 60 nacheinander die Schieberegister der entsprechenden Kanäle für jeweils zwei Kanäle aus der Schieberegistereinheit 48 aus. Die Kapazitäten dieser Schieberegister werden vorab derart eingestellt, dass die Kapazitäten den Inkrementen der Verzögerungszeit T von den gleichmäßigen Kanälen ch0, ch2 ~ chN-1 ~ chC, entsprechen und die von dem Schieberegisterauswähler 60 ausgegebenen Daten werden mit den Daten der gleich mäßigen Kanäle ch0, ch2 ~ chN-1 ~ chC durch die Bitverbindungseinrichtung 47 durch das Register 49 verbunden, wodurch den Daten der Kanäle ch0 ~ chN ~ chC ein allmählicher Anstieg der Verzögerungszeiten gegeben werden kann.
  • Nachdem die Daten von ch1 eingegeben wurden, werden die Daten von ch2 eingegeben und zum nächsten Zeitpunkt werden die Daten von ch3 eingegeben. Bezogen auf die Daten von ch2 steuert die Auswahlsignalerzeugungseinrichtung 50 den Vorgang wie folgt. Das heißt, die Eingangsdatensteuerungseinrichtung 46 gibt diese Daten in das Register 49 ein, das Register 49 kompensiert die Daten von ch2 derart, dass diese Daten die Bitverbindungseinrichtung 47 gleichzeitig mit den durch das Schieberegister 483 verzögerten Daten von ch3 erreichen, die Bitverbindungseinrichtung 47 verbindet die Daten von ch2 und die Daten von ch3 und diese so verbundenen Daten von ch2 und ch3 werden in den RAM 53 eingegeben.
  • Zu diesem Zeitpunkt steuert die Auswahlsignalerzeugungseinrichtung 50 die obere Adresserzeugungseinrichtung 41 derart, dass sie eine Adresse des Speicherbereichs des RAM 53 entsprechend ch2 erzeugt, und steuert den unteren Adressauswähler 44 derart, dass er das Ausgangssignal des Zählers 432 in der Zählereinheit 43 der unteren Adresserzeugungseinrichtung 42 auswählt, um eine Adresse des Speicherbereichs entsprechend ch3 auszugeben. Die Ausgangstiminganpassungseinrichtung 45 passt die Timings zum Ausgeben der Adressen der Speicherbereiche entsprechend ch2 und ch3 an und gibt diese Adressen zu der Schreibeinrichtung 52 für den RAM 53 aus.
  • Dadurch werden die Daten von ch2/ch3 in den Speicherbereich des RAM 53 entsprechend ch2/ch3 geschrieben.
  • Weiterhin wählt die RAM-Steuerungseinrichtung 61 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 50 die Daten aus, welche um 2T verzögert und von dem RAM 53 durch die Leseeinrichtung 54 in den Ausgangssignalauswähler 55 übertragen wurden.
  • Die Daten von ch2 und die Daten von ch3 werden gleichzeitig von dem Ausgangssignalauswähler 55 und getrennt durch die Bitseparationseinrichtung 56 ausgegeben. Die Daten von ch2 werden durch die Ausgangsdatensteuerungseinrichtung 58 und den Ausgangsanschluss 62 nach außen ausgegeben.
  • Die Daten von ch3 werden in das Register 57 eingegeben und um eine vorbestimmte Verzögerungszeit T (>0) verzögert. Dann werden die Daten von dem Register 57 durch die Ausgangsdatensteuerungseinrichtung 58 und den Ausgangsanschluss 62 nach außen ausgegeben.
  • Dadurch wird den Daten von ch3 eine Verzögerung gegeben, welche um die vorbestimmte Zeit T (>0) länger ist, als diejenige der Daten von ch2.
  • Danach werden durch den gleichen Vorgang, wie oben beschrieben, Verzögerungszeiten entsprechend geradzahligen Vielfachen von T den geradzahligen Kanälen durch den RAM 53 erteilt, während Verzögerungszeiten entsprechend ungeradzahligen Vielfachen von T den ungeradzahligen Kanälen durch die Schieberegister und das RAM 53 erteilt werden.
  • Während bei einem bekannten Faltungsverschachteler eine Adresserzeugungsschaltung für jeden Kanal benötigt wird, wird bei dem Aufbau dieser Ausführungsform eine Adresserzeugungsschaltung für zwei Kanäle benötigt. Daher werden die Adresserzeugungsschaltungen auf 1/2 verringert, resultierend in einer beträchtlichen Verringerung in der Schaltungsgröße. Während weiterhin im Stand der Technik ein Lese-/Schreib-Vorgang für einen Kanal von Eingangsdaten in den Single-Port-RAM benötigt wird, wird in dieser ersten Ausführungsform ein Lese-/Schreib-Vorgang für zwei Kanäle mit Eingangsdaten benötigt, resultierend in einer Verringerung des Energieverbrauchs. Da weiterhin die Frequenz, mit welcher der RAM angesprochen wird, verringert ist, kann auch ein RAM verwendet werden, der bei einer relativ niedrigen Arbeitsfrequenz arbeitet. Da die Schieberegister 122 (siehe 2) in Verbindung mit einem Single-Port-RAM verwendet werden, kann weiterhin die Adresserzeugungseinheit des RAM vereinfacht werden, wodurch die Adresserzeugung des RAM erleichtert wird.
  • Während in dieser ersten Ausführungsform zwei Kanäle als eine Gruppe vereinigt sind und eine Adresserzeugungsschaltung einer Gruppe zugewiesen ist, kann eine Adresserzeugungsschaltung drei oder mehr Kanälen zugewiesen sein.
  • Allgemein ist die Eingangs-/Ausgangs-Datenbreite b Bit, die Tiefe (die Anzahl der Daten in Bitbreiten-Einheiten) ist m, die Anzahl von Kanälen ist n und die maximale Kanalanzahl ist C (n ist eine ganze Zahl, welche die Beziehung 0 ≤ n ≤ C erfüllt und b, m, C sind natürliche Zahlen).
  • Insbesondere wenn der Faltungsverschachteler dieser Ausführungsform auf die DVB-Spezifikation, C = 11, angewendet wird, ist die Anzahl von Kanälen 12 und die Tiefe ist 17. Weiterhin angewendet auf die amerikanische Ground-Wave-Spezifikation, C = 51, ist die Anzahl der Kanäle 52 und die Tiefe ist 4.
  • Während weiterhin in dieser ersten Ausführungsform ein Verzögerungsäquivalent einer Differenz in Verzögerungen zwischen zwei benachbarten Kanälen durch das Schieberegister gegeben ist, kann eine größere Verzögerung als diese Differenz durch das Schieberegister gegeben sein.
  • Während weiterhin in dieser Ausführungsform ein Single-Port-RAM verwendet wird, kann ein Multiple-Port-RAM für eine Hochgeschwindigkeits-E/A verwendet werden.
  • [Ausführungsform 2]
  • Bei einem Faltungsentschachteler gemäß einer zweiten Ausführungsform der Erfindung sind die Adresszähler für einen RAM für jeweils zwei Kanäle zu einer Einheit zusammengefasst und verringern dadurch die Schaltungsgröße der peripheren Einheit des RAM und ihren Energieverbrauch.
  • 4 ist eine Blockdarstellung, welche den Aufbau eines Faltungsentschachtelers gemäß der zweiten Ausführungsform darstellt.
  • In 4 umfasst der Faltungsentschachteler einen Single-Port-RAM 83 (erste Speichereinrichtung in Anspruch 11), eine Eingangsdatensteuerungseinrichtung 76, eine Auswahlsignalerzeugungseinrichtung 80, einen Schieberegisterauswähler 89, eine Schieberegistereinheit 78 (zweite Speichereinrichtung in Anspruch 11), einen Schieberegisterauswähler 90, ein Register 79, Register 791 und 792, eine Bitverbindungseinrichtung 77, eine obere Adresserzeugungseinrichtung 71, eine untere Adresserzeugungseinrichtung 72, eine Ausgangstiminganpassungseinrichtung 75, eine Schreibeinrichtung 82, eine Leseeinrichtung 84, eine Ausgangsdatensteuerungseinrichtung 88 und eine RAM-Steuerungseinrichtung 81.
  • Der Single-Port-RAM 83 gibt Daten zu der Leseeinrichtung 84 aus. Die Eingangsdatensteuerungseinrichtung 76 gibt Eingangsdaten 91 des Faltungsentschachtelers zu der Bitverbindungseinrichtung 77, dem Register 791 und dem Schieberegisterauswähler 89 aus. Die Auswahlsignalerzeugungseinrichtung 80 gibt ein Steuerungssignal zu der Eingangsdatensteuerungseinrichtung 76, der oberen Adresserzeugungseinrichtung 71, dem unteren Adressauswähler 74, den Schieberegisterauswählern 89 und 90 und der RAM-Steuerungseinrichtung 81 aus. Der Schieberegisterauswähler 89 gibt Daten zu der Schieberegistereinheit 78 aus. Die Schieberegistereinheit 78 umfasst Schieberegister 780, 782 ~ 78N, 78N+2 ~ 78C-3, 78C-1 entsprechend den Kanälen ch0, ch2 ~ chN, chN+2 ~ chC-3, chC-1, und gibt Daten von den Schieberegistern in Gruppen, wobei jede Gruppe zwei Kanälen entspricht, zu dem Schieberegisterauswähler 90 aus. Der Schieberegisterauswähler 90 gibt Daten zu dem Register 79 und dem Register 792 aus. Das Register 79 gibt Daten zu der Bitverbindungseinrichtung 77 aus. Das Register behält die Ausgangsdaten von der Eingangsdatensteuerungseinrichtung 76 und gibt die Daten zu dem Ausgangssignalauswähler 85 aus. Das Register 792 behält die Ausgangsdaten von dem Schieberegisterauswähler 90 und gibt die Daten zu dem Ausgangssignalauswähler 865 aus. Die Bitverbindungseinrichtung 77 gibt Daten zu der Schreibeinrichtung 82 des RAM 83 aus. Die obere Adresserzeugungseinrichtung 71 gibt eine obere Adresse des RAM 83 durch die Ausgangstiminganpassungseinrichtung 75 zu der Schreibeinrichtung 82 aus. Die untere Adresserzeugungseinrichtung 72 gibt eine untere Adresse des RAM 83 durch die Ausgangstiminganpassungseinrichtung 75 zu der Schreibeinrichtung 82 aus. Die Ausgangstiminganpassungseinrichtung 75 gibt eine Adresse und ein Steuerungssignal zu der Schreibeinrichtung 82 aus. Die Schreibeinrichtung 82 gibt Daten, eine Adresse und ein Steuerungssignal zu dem RAM 83 aus. Die Leseeinrichtung 84 gibt eine Adresse und ein Steuerungssignal zu dem RAM 83 aus und gibt Daten zu dem Ausgangssignalauswähler 85 aus. Der Ausgangssignalauswähler 85 gibt Daten zu der Bitseparationseinrichtung 86 aus. Die Bitseparationseinrichtung 86 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 88 und dem Register 87 aus. Das Register 87 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 88 aus. Die Ausgangsdatensteuerungseinrichtung 88 gibt ein Ausgangssignal 92 des Faltungsentschachtelers nach außen aus. Die RAM-Steuerungseinrichtung 81 steuert den RAM 83 und den Ausgangssignalauswähler 85.
  • Die untere Adresserzeugungseinrichtung 72 umfasst eine Zählereinheit 73 und einen unteren Adressauswähler 74. Die Zählereinheit 73 umfasst Zähler 730, 732 ~ 73N ~ 73C-3 entsprechend den Kanälen ch0/ch2, chN/chN+2 ~ chN/chN+1 chC-3/chC-2. Die Zählereinheit 73 gibt untere Adressen in Gruppen, wobei jede Gruppe zwei Kanälen entspricht, zu dem unteren Adressauswähler 74 aus. Der untere Adress-auswähler 74 gibt die untere Adresse zu der Ausgangstiminganpassungseinrichtung 75 aus.
  • Die Auswahlsignalerzeugungseinrichtung 80 und die Adresserzeugungseinrichtung 70 dienen als ein Eingangsseitenauswähler in dem später beschriebenen Arbeitsprinzip. Weiterhin dienen der Ausgangssignalauswähler 85 und die Adresserzeugungseinrichtung 70 als ein Ausgangsseitenauswähler in dem Arbeitsprinzip.
  • Nachfolgend wird das Arbeitsprinzip des Faltungsentschachtelers gemäß der zweiten Ausführungsform anhand von 5 und Zeitdiagramm 6 beschrieben.
  • Der Faltungsentschachteler dieser zweiten Ausführungsform wird verwirklicht durch Ersetzen der in 18 gezeigten Speicherbereiche 1112-0, ..., 1112-(C-1) durch Schieberegister (zweite Verzögerungseinheit in Anspruch 9) 132-0, ..., 132-(C-1)/2 und Speicherbereiche (erste Verzögerungseinheit in Anspruch 9) innerhalb des Single-Port-RAM (Bitbreite 2b) 133-0, ..., 133-N/2 und Verwenden von Auswählern 130 und 131, welche die Kanäle ringförmig umschalten. Diese Auswähler 130 und 131 beginnen bei ch0 und erhöhen nach und nach die Kanalnummer und kehren zu ch0 zurück, wenn sie chC erreichen, um den gleichen Vorgang wie oben zu wiederholen.
  • Zu Anfang wählen beide Auswähler 130 und 131 Kanal ch0 aus. Auf diesem Kanal wird eine Verzögerung wie diejenige auf chC-1 durch das Schieberegister 132-(C-1)/2 (wird später beschrieben) durch das Schieberegister 132-0 ausgeübt und die Daten von ch0 werden von einem (nicht dargestellten) Register behalten, bis der nächste Kanal ch1 ausgewählt ist. Die Daten von ch0 und die Daten von ch1 werden gleichzeitig in den RAM 133-0 eingegeben und diese Daten werden um das C-1-(>N)-fache der Verzögerung auf chC-1 verzögert, welche später beschrieben wird.
  • Daher wird auf dem Kanal ch0, auf dem das Schieberegister 132-0 vorhanden ist, ein um das C-fache der Verzögerung auf chC-1 verzögertes Signal ausgegeben. Bezogen auf ch1 wird, da kein Schieberegister 132-0 für diesen Kanal vorhanden ist, ein um das C-1-fache der Verzögerung auf chC-1 verzögertes Signal ausgegeben.
  • Dann wählen die Auswähler 130 und 131 chN aus. Auf diesem Kanal wird ein Signal, welches um das C-N-(>1)-fache der Verzögerung auf ch1 durch das Schieberegister 132-N/2 und den RAM 133-N/2 verzögert ist, ausgegeben.
  • Weiterhin werden die auf chN+1 ausgewählten Daten zusammen mit den auf chN ausgewählten Daten in den RAM 133-N/2 eingegeben. Da auf chN+1 kein Schieberegister 132-N/2 vorhanden ist, wird ein um das C-(N+1)-(>1)-fache der Verzögerung auf ch1 durch den RAM 133-N/2 verzögertes Signal ausgegeben.
  • Weiterhin wird auf chC-1 eine Verzögerung nur durch das Schieberegister 132-(C-1)/2) herbeigeführt und die Daten von chC~1 werden in dem Register 792 behalten, um durch die Verzögerung des Registers 79 kompensiert zu werden.
  • Danach wählen die Auswähler 130 und 131 chC aus. Da kein Verzögerungselement auf diesem Kanal außer dem Register 791 vorhanden ist, welches die Verzögerung des Registers 79 kompensiert, durchläuft das Signal von chC den Faltungsentschachteler, ohne der ursprünglichen Verzögerung unterworfen zu sein.
  • Zum nächsten Zeitpunkt wählen die Auswähler 130 und 131 erneut ch0 aus, um den oben genannten Vorgang zu wiederholen.
  • Insbesondere, wenn die Auswähler 130 und 131 den Kanal chN zum Zeitpunkt t auswählen, werden die Eingangsdaten des Faltungsentschachtelers für diesen Kanal chN in das Schieberegister 132-N/2 eingegeben, das Schieberegister 132-N/2 führt eine Verschiebung aus und das Ausgangssignal des Schieberegisters 132-N/2 wird in dem Register 79 gespeichert. Zum Zeitpunkt t+1 (die Auswähler 130 und 131 haben den Kanal chN+1 ausgewählt) werden die Ausgangsdaten von dem Register 79 und die Eingangsdaten von dem Faltungsentschachteler gleichzeitig in den Single-Port-RAM 133 geschrieben, als die unteren b Bit und die oberen b Bit. Zum Zeitpunkt t+(C-(N+1)) × m × (C+1) werden diese Daten gleichzeitig gelesen und die oberen b Bit werden von dem Faltungsentschachteler ausgegeben, während die unteren b Bit in dem Register 87 gespeichert werden. Zum Zeitpunkt t+1 +(C-(n+1)) × m × (C+1) wird das Ausgangssignal des Registers 87 von dem Faltungsentschachteler ausgegeben. Durch Wiederholen des oben beschriebenen Vorgangs wird eine Faltungsentschachtelung verwirklicht.
  • Als nächstes wird die Wirkungsweise des Faltungsentschachtelers dieser zweiten Ausführungsform anhand von 4 beschrieben.
  • Der Faltungsentschachteler erfasst zu entschachtelnde Eingangsdaten von dem Eingangsdatenanschluss 91 durch die Eingangsdatensteuerungseinrichtung 76 und schreibt diese Daten durch die Schreibeinrichtung 82 in den RAM 83. Zu diesem Zeitpunkt ist ein Adresszähler je zwei Kanälen (ch) mit b-Bit Daten zugewiesen. Dann zählen die Zähler 730 ~ 73N ~ 73C-1 der unteren Adresserzeugungseinrichtung 72 entsprechend ch0 und ch1 (nachfolgend ch0/ch1) ~ chN-1 und chN (chN-1/chN) ~ chC-3 und chC-2 (chC-3/chC-2) entsprechend die unteren Adressen des RAM 83. Der untere Adressauswähler 74 wählt eine dieser unteren Adressen aus. Die so ausgewählte untere Adresse und die von den oberen Adresserzeugungseinrichtung 71 ausgegebene obere Adresse des RAM 83 werden in die Ausgangstiminganpassungseinrichtung 75 eingegeben, in welcher deren Ausgangstimings angepasst werden, und danach in die Schreibeinrichtung 82 eingegeben werden, um eine Schreibadresse für den RAM 83 anzugeben.
  • Zu diesem Zeitpunkt werden zuerst die Daten von ch0 eingegeben und dann werden zum nächsten Zeitpunkt die Daten von ch1 eingegeben. Bezogen auf die Daten von ch2~chN~chC werden Speicherbereiche für diese Daten in dem RAM 83 durch die obere Adresserzeugungseinrichtung 71 und die Zählereinheit der unteren Adresserzeugungseinrichtung 72 derart eingestellt, dass die Größen dieser Speicherbereiche in der Reihenfolge der Kanäle zunehmen, jeder um eine Verzögerungszeit 2T (>0) mit zwei Kanälen als eine Einheit und diese Speicherbereiche werden durch einen (nicht dargestellten) oberen Adressauswähler und den unteren Adressauswähler 74 für je zwei Kanäle als eine Einheit nacheinander ausgewählt. Bezogen auf die Kanäle, an welche zwei Kanäle mit b-Bit Daten sequenziell angelegt werden, wird der folgende Vorgang in jedem Speicherbereich für je zwei Kanäle ausgeführt. Das heißt, die Daten werden an eine Adresse in dem Speicherbereich geschrieben und zum nächsten Zeitpunkt werden die Daten von der Adresse gelesen und an die nächste Adresse geschrieben.
  • Weiterhin wählen die Schieberegisterauswähler 89 und 90, bezogen auf die ungeradzahligen Kanäle ch1, ch3 ~ chN+1, chN+3 ~ chC nacheinander die Schieberegister der entsprechenden Kanäle für jeweils zwei Kanäle aus der Schieberegistereinheit 78 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 80 aus. Die Kapazitäten dieser Schieberegister werden vorab derart eingestellt, dass die Kapazitäten den Erhöhungen der Verzögerungszeit T der geradzahligen Kanäle ch0, ch2 ~ chN-1 ~ chC-1 entsprechen und der Datenausgang des Schieberegisterauswählers 90 mit den Daten der geradzahligen Kanäle ch0, ch2 chN-1 ~ chC-1 durch die Bitverbindungseinrichtung 77 durch das Register 79 verbunden sind, wodurch der allmähliche Anstieg der Verzögerungszeiten den Daten von ch0 ~ chN ~ chC gegeben werden kann.
  • Entsprechend steuert die Auswahlsignalsteuerungseinrichtung 80, bezogen auf die Daten von ch0, die Eingangsdatensteuerungseinrichtung 76 und die Schieberegisterauswähler 89 und 90 derart, dass diese Daten um eine vorbestimmte Verzögerungszeit T (>0) entsprechend der Kapazität des durch die Schieberegisterauswähler 89 und 90 ausgewählten Schieberegisters 780 für ch0 verzögert werden, um in das Register 79 eingegeben zu werden.
  • Das Register 79 behält die Daten von ch0, bis die Daten von ch1 durch die Eingangsdatensteuerungseinrichtung 76 eintreffen und die Bitverbindungseinrichtung 77 verbindet die Daten von ch0 von dem Register 79 und die Daten von ch1 von der Eingangsdatensteuerungseinrichtung 76 zum Ausgeben der verbundenen Daten zu der Schreibeinrichtung 82 des RAM 83.
  • Zu diesem Zeitpunkt steuert die Auswahlsignalerzeugungseinrichtung 80 die obere Adresserzeugungseinrichtung 71 derart, dass sie eine Anfangsadresse des Speicherbereichs des RAM 83 entsprechend ch0 erzeugt, und steuert den unteren Adressauswähler 74 derart, dass er den Ausgang des Zählers 730 in der Zählereinheit 73 der unteren Adresserzeugungseinrichtung 72 auswählt, um eine Adresse des Speicherbereichs entsprechend ch1 auszugeben. Die Ausgangstiminganpassungseinrichtung 75 passt die Timings an, um diese Adressen der Speicherbereiche entsprechend ch0/ch1 auszugeben und gibt diese Adressen der Speicherbereiche zu der Schreibeinrichtung 82 für den RAM 83 aus.
  • Dadurch werden die Daten von ch0/ch1 in die Speicherbereiche des RAM 83 entsprechend ch0/ch1 geschrieben.
  • Weiterhin wählt die RAM-Steuerungseinrichtung 81 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 80 die Daten aus, welche um (C-1)T verzögert und von dem RAM 83 durch die Leseeinrichtung 84 zu dem Ausgangssignalauswähler 85 übertragen wurden.
  • Die von dem Ausgangssignalauswähler 85 gleichzeitig ausgegebenen Daten von ch0 und die Daten von ch1 werden durch die Bitseparationseinrichtung 86 separiert. Die Daten von ch0 werden in das Register 87 eingegeben und um eine vorbestimmte Verzögerungszeit T (>0) verzögert. Dann werden die Daten aus dem Register 87 durch die Ausgangsdatensteuerungseinrichtung 88 und den Ausgangsanschluss nach außen ausgegeben.
  • Weiterhin werden die Daten von ch1 durch die Ausgangsdatensteuerungseinrichtung 88 und den Ausgangsanschluss 92 nach außen ausgegeben, wie sie sind.
  • Dadurch werden die Daten, welche eine vorbestimmte Verzögerungszeit CT durch das Schieberegister 780 und den RAM 83 verzögert wurden, von dem Anschluss 92 ausgegeben.
  • Danach werden durch den gleichen Vorgang wie oben beschrieben, ungeradzahligen Vielfachen von T entsprechende Verzögerungszeiten geradzahligen Kanälen durch den RAM 83 gegeben, während Verzögerungszeiten entsprechend geradzahligen Vielfachen von T den ungeradzahligen Kanälen durch Schieberegister und den RAM 83 gegeben werden.
  • Weiterhin werden, bezogen auf die Daten auf chC-1, die Daten von der Eingangsdatensteuerungseinrichtung 76 um eine vorbestimmte Verzögerungszeit T (>0) entsprechend der Kapazität des Schieberegisters 78C-1 für chC-1 verzögert, welches durch die Schieberegisterauswähler 89 und 90 ausgewählt ist, um in das Register 792 eingegeben zu werden. Die RAM-Steuerungseinrichtung 81 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 80 steuert den Ausgangssignalauswähler 85 derart, dass er die durch das Schieberegister 78C-1 verzögerten und von dem Register 792 gelieferten Daten auswählt und die Daten von dem Ausgangsanschluss nach außen ausgibt.
  • Bezogen auf die Daten auf chC steuert die Auswahlsignalerzeugungseinrichtung 50 die Eingangsdatensteuerungseinrichtung 76 derart, dass sie diese Daten nicht durch den RAM 83, sondern durch das Register 791 direkt zu dem Ausgangssignalauswähler 85 sendet. Weiterhin steuert die RAM-Steuerungseinrichtung 81 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 80 den Ausgangssignalauswähler 85 derart, dass er die Daten auswählt, welche nicht der ursprünglichen Verzögerung unterworfen und von der Eingangsdatensteuerungseinrichtung 76 direkt zu dem Ausgangssignalauswähler 85 gesendet wurden und gibt die Daten von dem Ausgangsanschluss 92 nach außen aus.
  • Dadurch werden den entsprechenden Kanälen ch0 ~ chN ~ chC durch den in 4 gezeigten Faltungsentschachteler allmählich geringer werdende Verzögerungszeiten gegeben, während diesen Kanälen durch den in 1 gezeigten Faltungsverschachteler allmählich ansteigende Verzögerungszeiten gegeben werden. Synthetisch wird allen Kanälen die gleiche Verzögerungszeit gegeben, wodurch die Datenmatrix, welche durch den in 1 gezeigten Faltungsverschachteler verschachtelt wurde, durch den in 4 gezeigten Faltungsentschachteler entschachtelt wird.
  • Während bei einem bekannten Faltungsverschachteler eine Adresserzeugungsschaltung für jeden Kanal benötigt wird, wird in der Anordnung dieser zweiten Ausführungsform eine Adresserzeugungsschaltung für zwei Kanäle benötigt.
  • Daher werden die Adresserzeugungsschaltungen auf 1/2 verringert, resultierend in einer beträchtlichen Verringerung der Schaltungsgröße. Während weiterhin im Stand der Technik ein Lese-/Schreib-Vorgang für einen Kanal mit Eingangsdaten in dem Single-Port-RAM benötigt wird, wird in dieser zweiten Ausführungsform ein Lese-/Schreib-Vorgang für zwei Kanäle mit Eingangsdaten benötigt, resultierend in einer Verringerung des Energieverbrauchs. Da weiterhin die Frequenz verringert wird, mit welcher der RAM angesprochen wird, kann auch ein RAM verwendet werden, der mit einer relativ niedrigen Arbeitsfrequenz arbeitet. Da weiterhin die Schieberegister 132 (siehe 5) in Kombination mit dem Single-Port-RAM verwendet werden, wird die Adresserzeugungseinheit des RAM vereinfacht, wodurch die Adresserzeugung des RAM erleichtert wird.
  • Während in dieser zweiten Ausführungsform zwei Kanäle als eine Gruppe vereinigt werden und eine Adresserzeugungsschaltung einer Gruppe zugewiesen ist, kann eine Adresserzeugungsschaltung drei oder mehr Kanälen zugeordnet sein.
  • Allgemein ist die Breite der Eingangs-/Ausgangsdaten b Bit, die Tiefe (die Anzahl der Daten in Bitbreiten-Einheiten) ist m, die Anzahl der Kanäle ist n und die maximale Kanalanzahl ist C (n ist eine ganze Zahl, welche die Beziehung 0 ≤ n ≤ C erfüllt und b, m, C sind natürliche Zahlen).
  • Insbesondere, wenn der Faltungsentschachteler dieser Ausführungsform auf eine DVB-Spezifikation angewendet wird, C = 11, d. h., die Anzahl der Kanäle ist 12 und die Tiefe ist 17. Weiterhin angewendet auf eine amerikanische Grundwellenspezifikation, C = 51, d. h., die Anzahl der Kanäle ist 52 und die Tiefe ist 4.
  • Während weiterhin in dieser zweiten Ausführungsform eine Verzögerung äquivalent zu einer Differenz in Verzögerungen zwischen zwei benachbarten Kanälen durch das Schieberegister gegeben ist, kann eine größere Verzögerung als diese Differenz durch das Schieberegister gegeben werden.
  • Während in dieser Ausführungsform zweiten Ausführungsform ein Single-Port-RAM verwendet wird, kann weiterhin ein Multiple-Port-RAM für Hochgeschwindigkeits-E/A verwendet werden.
  • [Ausführungsform 3]
  • In einem Faltungsverschachteler gemäß einer dritten Ausführungsform der Erfindung werden Adresszähler für einen RAM für je zwei Kanäle als eine Einheit zusammengefasst und verringern dadurch die Schaltungsgröße der peripheren Einheit des RAM und ihren Energieverbrauch. Da sämtliche Verzögerungen durch den RAM alleine verwirklicht werden, kann der Faltungsverschachteler weiterhin aufgebaut werden, ohne verschiedene Arten von Speichereinheiten zu mischen.
  • 7 ist ein Blockschaltbild, welches den Aufbau eines Faltungsverschachtelers gemäß der dritten Ausführungsform zeigt.
  • In 7 umfasst der Faltungsverschachteler einen Single-Port-RAM 213 (Speichereinrichtung in Anspruch 6), eine Eingangsdatensteuerungseinrichtung 206, ein Register 208, eine Bitverbindungseinrichtung 207, eine Auswahlsignalerzeugungseinrichtung 210, ein RAM-Steuerungseinrichtung 211, eine Adresserzeugungseinrichtung 200, eine Schreibeinrichtung 212, eine Leseeinrichtung 214, einen Ausgangssignalauswähler 215, eine Bitseparationseinrichtung 216, ein Register 217 und eine Ausgangsdatensteuerungseinrichtung 218.
  • Der Single-Port-RAM 213 gibt Daten zu der Leseeinrichtung 214 aus. Die Eingangsdatensteuerungseinrichtung 206 gibt Eingangsdaten 221 des Faltungsverschachtelers zu der Bitverbindungseinrichtung 207 und dem Ausgangssignalauswähler 215 aus. Das Register 208 gibt Daten zu der Bitverbindungseinrichtung 207 aus. Die Bitverbindungseinrichtung 207 gibt Daten zu der Schreibeinrichtung 212 aus. Die Auswahlsignalerzeugungseinrichtung 210 gibt ein Steuerungssignal zu der Adresserzeugungseinrichtung 200, der Adresserzeugungseinrichtung 223, der RAM-Steuerungseinrichtung 211 und dem Ausgangssignalauswähler 215 aus. Die RAM-Steuerungseinrichtung 211 gibt ein Steuerungssignal zu dem RAM 213 aus. Die Adresserzeugungseinrichtung 200 gibt eine RAM-Adresse zu der Schreibeinrichtung 212 und der Leseeinrichtung 214 aus. Die Schreibeinrichtung 212 gibt eine RAM-Adresse und Daten zu dem RAM 213 aus. Die Leseeinrichtung 214 gibt eine RAM-Adresse zu dem RAM 213 aus und gibt Daten zu dem Ausgangssignalauswähler 215 aus. Der Ausgangssignalauswähler 215 gibt Daten zu dem Register 208 und der Bitseparationseinrichtung 216 aus. Die Bitseparationseinrichtung 216 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 218 und dem Register 217 aus. Das Register 217 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 218 aus. Die Ausgangsdatensteuerungseinrichtung 218 gibt Daten 222 als das Ausgangssignal des Verschachtelers aus.
  • Die Adresserzeugungseinrichtung 200 umfasst eine obere Adresserzeugungseinrichtung 201, eine untere Adresserzeugungseinrichtung 202 und eine Ausgangstiminganpassungseinrichtung 205. Die obere Adresserzeugungseinrichtung 201 erzeugt eine obere Adresse des RAM 213 entsprechend einem durch die Auswahlsignalerzeugungseinrichtung 210 erzeugten Auswahlsignal und gibt die obere Adresse zu der Ausgangstiminganpassungseinrichtung 205 aus. Die untere Adresserzeugungseinrichtung 202 erzeugt eine untere Adresse des RAM 213 entsprechend einem durch die Auswahlsignalerzeugungseinrichtung 210 erzeugten Auswahlsignal und gibt die untere Adresse zu der Ausgangstiminganpassungseinrichtung 205 aus. Die Ausgangstiminganpassungseinrichtung 205 gibt eine RAM-Adresse zu der Schreibeinrichtung 212 und der Leseeinrichtung 214 aus.
  • Die untere Adresserzeugungseinrichtung 202 umfasst eine Zählereinheit 203 und einen unteren Adressauswähler 204. Die Zählereinheit 203 umfasst Zähler 2032, 2034 ~ 203N ~ 203C-1 entsprechend den Kanälen ch2/ch3, ch4/ch5 ~ chN/chN+1 ~ chC-1/chC. Die Zählereinheit 203 gibt untere Adressen für je zwei Kanäle aus zu dem unteren Adressauswähler 204 aus. Der untere Adressauswähler 204 gibt die unteren Adressen zu der Ausgangstiminganpassungseinrichtung 205 aus.
  • Weiterhin umfasst die Adresserzeugungseinrichtung 223 eine obere Adresserzeugungseinrichtung 224, eine untere Adresserzeugungseinrichtung 225 und eine Ausgangstiminganpassungseinrichtung 221. Die obere Adresserzeugungseinrichtung 224 gibt eine obere RAM-Adresse zu der Ausgangstiminganpassungseinrichtung 221 aus und die untere Adresserzeugungseinrichtung 225 gibt eine untere RAM-Adresse zu der Ausgangstiminganpassungseinrichtung 221 aus. Die Ausgangstiminganpassungseinrichtung 221 gibt eine RAM-Adresse zu der Schreibeinrichtung 212 und der Leseeinrichtung 214 aus.
  • Die Auswahlsignalerzeugungseinrichtung 210, die Adresserzeugungseinrichtung 200 und die Adresserzeugungseinrichtung 223 dienen als ein Eingangsseitenauswähler in dem später beschriebenen Arbeitsprinzip. Weiterhin dienen der Ausgangssignalauswähler 215, die Adresserzeugungseinrichtung 200 und die Adresserzeugungseinrichtung 223 in dem Arbeitsprinzip als ein Ausgangsseitenauswähler.
  • Nachfolgend wird das Arbeitsprinzip des Faltungsverschachtelers gemäß dieser dritten Ausführungsform anhand von 8 und Zeitdiagramm 9 beschrieben.
  • Der Faltungsverschachteler dieser dritten Ausführungsform wird verwirklicht durch Ersetzen der in 16 gezeigten Speicherbereiche 102-0, ..., 102-(C-1) durch Speicherbereiche innerhalb des Single-Port-RAM (Bitbreite B) 142-0, ..., 142-C/2 und Speicherbereiche innerhalb des Single-Port-RAM (Bitbreite 2b) ..., 143-(N/2-1), ..., 143-((C-1)/2-1), gezeigt in 8, und Verwenden von Auswählern 140 und 141, welche die Kanäle ringförmig umschalten. Diese Auswähler 140 und 141 beginnen bei ch0, erhöhen aufeinanderfolgend die Kanalnummer und kehren zu ch0 zurück, wenn sie chC erreichen, um den gleichen Vorgang wie oben zu wiederholen.
  • In dieser dritten Ausführungsform können die Speicherbereiche 142-0, ..., 142-C/2 in einem weiteren RAM enthalten sein, getrennt von den Speicherbereichen 143-(N/2-1), ..., 143-((C-1)/201). Wenn diese Speicherbereiche 142-0, ..., 142-C/2 und 143-(N/2-1), ..., 143-((C-1)/2-1) in dem selben RAM enthalten sind, können die Speicherbereiche 142-0, ..., 142-C/2 zu zweit zusammengefasst werden, um die Bitbreite gleich derjenigen der Speicherbereiche 143-(N/2-1), ..., 143-((C-1)2-1) zu machen.
  • Zu Anfang wählen beide Auswähler 140 und 141 ch0 aus. Da in diesem Kanal kein ursprüngliches Verzögerungselement vorhanden ist, durchläuft das Signal auf ch0 den Faltungsverschachteler, ohne der ursprünglichen Verzögerung unterworfen zu werden.
  • Als nächstes wählen die Auswähler 140 und 141 ch1 aus. Auf diesem Kanal ist ein FIFO durch den Speicherbereich 142-0 innerhalb des RAM 213 implementiert und ein durch diesen Speicherbereich 142-0 verzögertes Signal wird ausgegeben.
  • Dann wählen die Auswähler 140 und 141 chN aus. Die Daten von chN werden von einem (nicht dargestellten) Register behalten, bis der nächste Kanal chN+1 ausgewählt ist und die Daten auf chN+1 werden um das N-(>1)-fache der Verzögerung auf ch1 durch den Speicherbereich 143-(N/2-1) in dem RAM 213 verzögert.
  • Auf chN+1 wird die gleiche Verzögerung wie diejenige auf ch1 durch den Speicherbereich 142-0 des RAM 213 durch den Speicherbereich 142-N/2 des RAM 213 bewirkt und zusätzlich wird eine Verzögerung um das N-(>1)-fache derjenigen auf ch1 durch den Speicherbereich 143-(N/2-1) des RAM 213 bewirkt. Danach wird ein um das (N+1)-fache der Verzögerung auf ch1 verzögertes Signal ausgegeben.
  • Danach wählen die Auswähler 140 und 141 chC aus. Auf diesem Kanal wird durch den Speicherbereich 142-(C-1)/2 des RAM 213 die gleiche Verzögerung wie diejenige auf ch1 durch den Speicherbereich 142-0 des RAM 213 bewirkt und eine Verzögerung um das C-1-(>N)-fache derjenigen auf ch1 wird durch den Speicherbereich 143-((C-1)/2-1) des RAM 213 bewirkt. Danach wird ein um das C-fache der Verzögerung auf ch1 verzögertes Signal ausgegeben.
  • Zum nächsten Zeitpunkt wählen die Auswähler 140 und 141 erneut ch0 aus, um den oben erwähnten Vorgang zu wiederholen.
  • Insbesondere, wenn die Auswähler 140 und 141 den Kanal chN zum Zeitpunkt t auswählen, speichert die Eingangsdatensteuerungseinrichtung 206 die Eingangsdaten 221 des in 7 gezeigten Faltungsverschachtelers in dem Register 208 durch den Ausgangssignalauswähler 215. Zum Zeitpunkt t+1 (die Auswähler wählen dann den Kanal chN+1 aus) werden die ältesten Daten aus dem Speicherbereich 142-N/2 des RAM 213 ausgelesen und die Eingangsdaten des Faltungsverschachtelers werden an die Adresse geschrieben, von welcher die Daten gelesen wurden. Weiterhin werden die gelesenen Daten des Ausgangs des Registers 208 gleichzeitig in den Speicherbereich 143-(N/2-1) des RAM 213 als die unteren b Bit und die oberen b Bit geschrieben. Zum Zeitpunkt t+Nxmx(C+1) werden diese Daten gleichzeitig ausgelesen und die oberen b Bit werden von dem Faltungsverschachteler ausgegeben, während die unteren b Bit in dem Register 217 gespeichert werden. Zum Zeitpunkt t+1+Nxmx(C+1) wird das Ausgangssignal des Registers 217 von dem Faltungsverschachteler ausgegeben. Durch Wiederholen der oben beschriebenen Verarbeitung wird eine Faltungsverschachtelung verwirklicht.
  • Als nächstes wird die Wirkungsweise des Faltungsverschachtelers dieser dritten Ausführungsform beschrieben.
  • Der Faltungsverschachteler erfasst die zu verschachtelnden Eingangsdaten von dem Eingangsdatenanschluss 221 durch die Eingangsdatensteuerungseinrichtung 206 und schreibt die Daten durch die Schreibeinrichtung 212 in den RAM 213. Zu diesem Zeitpunkt ist ein Adresszähler zwei Kanälen (ch) mit b Bit Daten zugeordnet. Dann zählen die Zähler 2032 ~ 203N ~ 203C-1 der unteren Adresserzeugungseinrichtung 202 entsprechend ch2 und ch3 (nachfolgend ch2/ch3) chN-1 und chN (chN-1/chN) ~ chC-1 und chC (chC-1/chC) die unteren Adressen des RAM 213. Der untere Adressauswähler 202 wählt einen dieser Zähler aus. Die derart ausgewählte untere Adresse und die von der oberen Adresserzeugungseinrichtung 201 ausgegebene obere Adresse des RAM 213 werden in die Ausgangstiminganpassungseinrichtung 205 eingegeben, in welcher deren Ausgangstimings angepasst werden und danach werden diese Adressen in die Schreibeinrichtung 212 eingegeben, um eine Schreibadresse für den RAM 213 anzugeben.
  • Zu diesem Zeitpunkt werden zu Anfang Daten von ch0 eingegeben und zum nächsten Zeitpunkt werden Daten von ch1 eingegeben. Die Auswahlsignalerzeugungseinrichtung 210 steuert die Eingangsdatensteuerungseinrichtung 206 derart, dass die Daten von ch0 nicht durch den RAM 213 sondern direkt zu dem Ausgangssignalauswähler 215 übertragen werden. Weiterhin steuert die RAM-Steuerungseinrichtung 211 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 210 den Ausgangssignalauswähler 215 derart, dass der Auswähler 215 die nicht verzögerten Daten auswählt, welche von der Eingangsdatensteue rungseinrichtung 206 direkt zu dem Ausgangssignalauswähler 215 gesendet wurden.
  • Weiterhin werden, bezogen auf die Daten auf ch1, die von dem Ausgangssignalauswähler 215 zu dem Register 208 übertragenen Daten auf ch0 mit den von der Eingangsdatensteuerungseinrichtung 206 ausgegebenen Daten von ch1 durch die Bitverbindungseinrichtung 207 kombiniert. Die RAM-Steuerungseinrichtung 211 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 210 steuert den RAM 213 durch die Schreibeinrichtung 212. Zu diesem Zeitpunkt führen die Auswahlsignalerzeugungseinrichtung 210 und die RAM-Steuerungseinrichtung 211 den folgenden Vorgang in jedem Speicherbereich für je zwei Kanäle aus. Das heißt, die von der Adresserzeugungseinrichtung 223 erzeugte obere Adresse und untere Adresse werden als Adressen des RAM 213 verwendet und, bezogen auf die von der Adresserzeugungseinrichtung 223 erzeugten Adressen werden Daten an eine Adresse in jedem Speicherbereich geschrieben und zum nächsten Zeitpunkt werden die Daten von der Adresse gelesen, um an eine andere Adresse geschrieben zu werden. Dadurch werden die Daten von ch0 und ch1 um eine vorbestimmte Zeit durch den als ein FIFO arbeitenden RAM 213 verzögert.
  • Die gleichzeitig aus dem RAM 213 gelesenen Daten von ch0 und ch1 werden in die Bitseparationseinrichtung 216 durch den Ausgangssignalauswähler 215 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 210 eingegeben und die Daten von ch0 werden zu der Ausgangsdatensteuerungseinrichtung 218 ausgegeben, wie sie sind, während die Daten von ch1 durch das Register 217 und den Ausgangsanschluss 222 nach außen ausgegeben werden. Dadurch werden Verzögerungen äquivalent zu den durch die in 1 gezeigte Schieberegistereinheit bewirkten Verzögerungen verwirklicht.
  • Weiterhin werden, bezogen auf die Daten von ch2 ~ chN ~ chC unter der Steuerung der Auswahlsignalerzeugungseinrichtung 210 Speicherbereiche für diese Daten in dem RAM 213 durch die obere Adresserzeugungseinrichtung 201 und die Zählereinheit der unteren Adresserzeugungseinrichtung 202 derart eingestellt, dass die Größen dieser Speicherbereiche in der Reihenfolge der Kanäle zunehmen, mit zwei Kanälen als eine Einheit, und diese Speicherbereiche wer den durch einen (nicht dargestellten) oberen Adressauswähler und den unteren Adressauswähler 204 für jeweils zwei Kanäle als eine Einheit nacheinander ausgewählt. Bezogen auf die Kanäle, an welche zwei Kanäle mit b Bit Daten sequenziell angelegt werden, wird der folgende Vorgang in jedem Speicherbereich für jeweils zwei Kanäle ausgeführt. Das heißt, die Daten werden an eine Adresse in dem Speicherbereich geschrieben und zum nächsten Zeitpunkt werden die Daten von der Adresse gelesen, um an die nächste Adresse geschrieben zu werden.
  • Weiterhin führt die Adresserzeugungseinrichtung 223, bezogen auf die ungeradzahligen Kanäle ch1, ch3 ~ chN+1, chN+3 ~ chC, unter der Steuerung der Auswahlsignalerzeugungseinrichtung 210 eine Adresserzeugung unter Verwendung der Speicherbereiche des RAM 213 derart aus, dass eine Verzögerungszeit, welche äquivalent zu einer Differenz zwischen Verzögerungszeiten ist, die ein ungeradzahliger Kanal und ein dem ungeradzahligen Kanal benachbarter geradzahliger Kanal besitzen, erzeugt wird.
  • Dadurch wird eine Verzögerungszeit 2T/3T ch2/ch3 gegeben, ..., und eine Verzögerungszeit (C-3)T/(C-2)T wird chC-3/chC-2 gegeben.
  • Dieser Vorgang ist vorgesehen, um die gleichen Verzögerungszeiten unter Verwendung des RAM 213 herzustellen, wie die durch die in 1 gezeigte Schieberegistereinheit gegebenen.
  • Dadurch ist eine Verzögerungszeit entsprechend ch1, ch3, ..., chC-2, chC gegeben.
  • Daher erzeugt die Adresserzeugungseinrichtung 223 Verzögerungszeiten äquivalent zu den durch die in 1 gezeigte Schieberegistereinheit 48 gegebenen, in welcher die Schieberegister entsprechend den jeweiligen Kanälen aufeinanderfolgend für jeweils zwei Kanäle ausgewählt werden und diese Schieberegister haben die Kapazitäten äquivalent zu den Erhöhungen in der Verzögerungszeit von den geradzahligen Kanälen ch0, ch2 ~ chN-1 ~ chC-1, wodurch den Daten der Kanäle ch0 ~ chN ~ chC allmählich ansteigende Verzögerungszeiten gegeben werden.
  • Das heißt, die Daten von chN werden, wie die Daten von ch0 durch den Ausgangssignalauswähler 215 in das Register 208 eingegeben und mit den Daten von chN+1 durch die Bitverbindungseinrichtung 207 verbunden, um in den RAM 213 eingegeben zu werden.
  • In dem RAM 213 werden Speicherbereiche entsprechend chN und chN+1 durch die Adresserzeugungseinrichtungen 223 und 200 eingestellt und die Daten von chN und chN+1 werden um eine Verzögerungszeit (N+1)T in diesen Bereichen entsprechend verzögert.
  • Dann werden die Daten von chN und chN+1 gleichzeitig aus dem RAM 213 gelesen, um in die Bitseparationseinrichtung 216 unter der Steuerung des Ausgangssignalauswählers 215 eingegeben zu werden.
  • Die Bitseparationseinrichtung 216 gibt sofort die Daten von chN durch die Ausgangsdatensteuerungseinrichtung 218 zu dem Ausgangsanschluss 222 aus. Andererseits werden die Daten von chN+1 vorübergehend in dem Register 217 gespeichert und dann werden sie durch die Ausgangsdatensteuerungseinrichtung 218 zu dem Ausgangsanschluss 222 ausgegeben.
  • Entsprechend können durch aufeinanderfolgendes Auswählen der Kanäle von ch0 bis chC unter der Steuerung der Auswahlsignalerzeugungseinrichtung 210 Verzögerungszeiten, welche T um T mit den Erhöhungen der Kanalnummer ansteigen, den entsprechenden Kanälen gegeben werden.
  • Während bei dem bekannten Faltungsverschachteler eine Adresserzeugungsschaltung für jeden Kanal benötigt wird, wird in dem Aufbau dieser Ausführungsform eine Adresserzeugungsschaltung für zwei Kanäle benötigt. Daher sind die Adresserzeugungsschaltung auf 1/2 verringert, resultierend in einer beträchtlichen Verringerung der Schaltungsgröße. Da die Adresserzeugungsschaltungen unter Verwendung nur eines RAM ohne Verwendung von Schieberegistern implementiert werden können, wird weiterhin die Integration höherer Dichte, verglichen mit der ersten Ausführungsform der Erfindung, verwirklicht.
  • Während weiterhin im Stand der Technik ein Lese-/Schreib-Vorgang für einen Kanal für Eingangsdaten in dem Single-Port-RAM benötigt wird, wird in dieser dritten Ausführungsform ein Lese-/Schreib-Vorgang für zwei Kanäle für Eingangsdaten benötigt, resultierend in einer Verringerung des Energieverbrauchs. Da die Häufigkeit, mit welcher der RAM angesprochen wird, verringert ist, kann weiterhin auch ein RAM verwendet werden, der mit einer relativ niedrigen Arbeitsfrequenz arbeitet.
  • Während in dieser dritten Ausführungsform zwei Kanäle als eine Gruppe vereinigt sind und eine Adresserzeugungsschaltung einer Gruppe zugewiesen ist, kann eine Adresserzeugungsschaltung drei oder mehr Kanälen zugewiesen sein.
  • Allgemein beträgt die Eingangs-/Ausgangs-Datenbreite b Bit, die Tiefe (die Anzahl von Daten in Bitbreiteneinheiten) ist m, die Anzahl von Kanälen ist n und die maxmale Kanalnummer ist C (n ist eine ganze Zahl, welche die Beziehung 0 ≤ n ≤ C erfüllt, und b, m, C sind natürliche Zahlen).
  • Insbesondere, wenn der Faltungsverschachteler dieser Ausführungsform auf die DVB-Spezifikation angewendet wird, C = 11, d. h., die Anzahl von Kanälen ist 12 und die Tiefe ist 17. Weiterhin angewendet auf die amerikanische Grundwellenspezifikation, C = 51, d. h., die Anzahl der Kanäle ist 52 und die Tiefe ist 4.
  • Während in dieser dritten Ausführungsform weiterhin eine Verzögerung äquivalent zu einer Differenz in den Verzögerungen zwischen zwei benachbarten Kanälen nicht durch Schieberegister sondern durch einen Speicherbereich des RAM gegeben ist, kann eine größere Verzögerung als die Differenz zwischen Kanälen durch diesen Speicherbereich des RAM gegeben sein.
  • Während in dieser dritten Ausführungsform ein Single-Port-RAM verwendet wird, kann weiterhin ein Multiple-Port-RAM für Hochgeschwindigkeits-E/A verwendet werden.
  • [Ausführungsform 4]
  • In einem Faltungsentschachteler gemäß einer vierten Ausführungsform der Erfindung werden Adresszähler für ein RAM für jeweils zwei Kanäle als eine Einheit zusammengefasst, um dadurch die Schaltungsgröße der peripheren Einheit des RAM und ihren Energieverbrauch zu verringern. Weiterhin kann, da sämtliche Verzögerungen allein durch den RAM verwirklicht werden, der Faltungsentschachteler aufgebaut werden, ohne verschiedene Arten von Speichereinheiten zu mischen.
  • 10 ist ein Blockschaltbild, welches den Aufbau eines Faltungsverschachtelers gemäß der vierten Ausführungsform zeigt.
  • In 10 umfasst der Faltungsentschachteler einen Single-Port-RAM 243 (Speichereinrichtung in Anspruch 14), eine Eingangsdatensteuerungseinrichtung 236, ein Register 238, eine Bitverbindungseinrichtung 237, eine Auswahlsignalerzeugungseinrichtung 240, eine RAM-Steuerungseinrichtung 241, eine Adresserzeugungseinrichtung 253, eine Schreibeinrichtung 242, eine Leseeinrichtung 244, einen Ausgangssignalauswähler 245, eine Bitseparationseinrichtung 246, ein Register 247 und eine Ausgangsdatensteuerungseinrichtung 248.
  • Der Single-Port-RAM 243 gibt Daten zu der Leseeinrichtung 244 aus. Die Eingangsdatensteuerungseinrichtung 236 gibt Eingangsdaten 251 des Faltungsentschachtelers zu der Bitverbindungseinrichtung 237 und dem Ausgangssignalauswähler 245 aus. Das Register 238 gibt Daten zu der Bitverbindungseinrichtung 237 aus. Die Bitverbindungseinrichtung 237 gibt Daten zu der Schreibeinrichtung 242 aus. Die Auswahlsignalerzeugungseinrichtung 240 gibt ein Steuerungssignal zu der Adresserzeugungseinrichtung 230, der Adresserzeugungseinrichtung 253, der RAM-Steuerungseinrichtung 241 und dem Ausgangssignalauswähler 245 aus. Die RAM-Steuerungseinrichtung 241 gibt ein Steuerungssignal zu dem RAM 243 aus. Die Adresserzeugungseinrichtung 253 gibt eine RAM-Adresse zu der Schreibeinrichtung 242 und der Leseeinrichtung 244 aus. Die Schreibeinrichtung 242 gibt eine RAM-Adresse und Daten zu dem RAM 243 aus. Die Leseeinrichtung 244 gibt eine RAM-Adresse zu dem RAM 243 aus und gibt Daten zu dem Ausgangssignalauswähler 245 aus. Der Ausgangssignalauswähler 245 gibt Daten zu dem Register 238 und der Bitseparationseinrichtung 246 aus. Die Bitseparationseinrichtung 246 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 248 und dem Register 247 aus. Das Register 247 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 248 aus. Die Ausgangsdatensteuerungseinrichtung 248 gibt Ausgangsdaten 252 zu diesem Entschachteler aus.
  • Die Adresserzeugungseinrichtung 230 umfasst eine obere Adresserzeugungseinrichtung 231, eine untere Adresserzeugungseinrichtung 232 und eine Ausgangstiminganpassungseinrichtung 235. Die obere Adresserzeugungseinrichtung 231 erzeugt eine obere Adresse des RAM 243 gemäß einem durch die Auswahlsignalerzeugungseinrichtung 240 erzeugten Auswahlsignal und gibt die obere Adresse zu der Ausgangstiminganpassungseinrichtung 235 aus. Die untere Adresserzeugungseinrichtung 232 erzeugt eine untere Adresse des RAM 243 und gibt die untere Adresse zu der Ausgangstiminganpassungseinrichtung 235 aus. Die Ausgangstiminganpassungseinrichtung 235 gibt eine RAM-Adresse zu der Schreibeinrichtung 242 und der Leseeinrichtung 244 aus.
  • Die untere Adresserzeugungseinrichtung 232 umfasst eine Zählereinheit 233 und einen unteren Adressauswähler 234. Die Zählereinheit 233 umfasst Zähler 2330, 2332 ~ 233N ~ 233C-3 entsprechend den Kanälen ch0/ch1, ch2/ch3 chN/chN+1 ~ chC-3/chC-2. Die Zählereinheit 233 gibt untere Adressen für jeweils zwei Kanäle zu dem unteren Adressauswähler 234 aus. Der untere Adressauswähler 234 gibt die unteren Adressen zu der Ausgangstiminganpassungseinrichtung 235 aus.
  • Weiterhin umfasst die Adresserzeugungseinrichtung 253 eine obere Adresserzeugungseinrichtung 254, eine untere Adresserzeugungseinrichtung 255 und eine Ausgangstiminganpassungseinrichtung 251. Die obere Adresserzeugungseinrichtung 254 gibt eine obere Adresse des RAM 243 zu der Ausgangstiminganpassungseinrichtung 251 aus und die untere Adresserzeugungseinrichtung 255 gibt eine untere Adresse des RAM 243 zu der Ausgangstiminganpassungseinrichtung 251 aus. Die Ausgangstiminganpassungseinrichtung 251 gibt eine Adresse des RAM 243 zu der Schreibeinrichtung 242 und der Leseeinrichtung 244 aus.
  • Die Auswahlsignalerzeugungseinrichtung 240, die Adresserzeugungseinrichtung 230 und die Adresserzeugungseinrichtung 253 dienen als ein Eingangsseitenauswähler in dem später beschriebenen Arbeitsprinzip. Weiterhin dienen der Ausgangssignalauswähler 245, die Adresserzeugungseinrichtung 230 und die Adresserzeugungseinrichtung 253 in dem Arbeitsprinzip als Ausgangsseitenauswähler.
  • Nachfolgend wird das Arbeitsprinzip des Faltungsentschachtelers gemäß dieser vierten Ausführungsform anhand von 11 und Zeitdiagramm 12 beschrieben.
  • Der Faltungsentschachteler dieser vierten Ausführungsform wird verwirklicht durch Ersetzen der in 18 gezeigten Speicherbereiche 112-0, ..., 112-(C-1) durch Speicherbereiche innerhalb des Single-Port-RAM (Bitbreite b) 152-0, ..., 152-((C-1)/2) und in 11 gezeigte Speicherbereiche innerhalb des Single-Port-RAM (Bitbreite 2b) 153-0, 153-(N/2), ... und Verwenden von Auswählern 150 und 151, welche die Kanäle ringförmig umschalten. Diese Auswähler 150 und 151 beginnen bei ch0, erhöhen aufeinanderfolgend die Kanalnummer und kehren zu ch0 zurück, wenn chC erreicht ist, um den gleichen Vorgang wie oben zu wiederholen.
  • In dieser vierten Ausführungsform können die Speicherbereiche 152-0, ..., 152-((C-1)/2) in einem anderen RAM getrennt von den Speicherbereichen 153-0, ..., 153-(N/2), ... enthalten sein. Wenn diese Speicherbereiche 152-0, ..., 152-((C-1)/2) und 153-0, ..., 153-(N/2) in dem selben RAM enthalten sind, können die Speicherbereiche 152-0, ..., 152-((C-1)/2) zu zweit zusammengefasst sein, um die Bitbreite gleich derjenigen der Speicherbereiche 153-0, ..., 153-(N/2) zu machen.
  • Zu Anfang wählen beide Auswähler 150 und 151 ch0 aus. Auf diesem Kanal wird eine Verzögerung wie diejenige auf chC-1 durch den Speicherbereich 152-((C-1)/2) des RAM 243 (wird später beschrieben) durch den Speicherbereich 152-0 des RAM 243 herbeigeführt und weiterhin wird eine C-1-(>N)-fache Verzögerung derjenigen auf chC-2 (wird später beschrieben) durch den Speicherbereich 153-0 des RAM 243 herbeigeführt. Danach wird ein um das C-fache der Verzögerung auf chC-1 verzögertes Signal ausgegeben.
  • Als nächstes wählen die Auswähler 150 und 151 ch1 aus. Auf diesem Kanal wird, da kein Speicherbereich 152-0 des RAM 243 vorhanden ist, ein um das C-1-fache der Verzögerung auf chC-1 verzögertes Signal ausgegeben.
  • Dann wählen die Auswähler 150 und 151 chN aus. Die Daten von chN werden in einem (nicht dargestellten) Register behalten, bis der nächste Kanal chN+1 ausgewählt wird. Die Daten auf chN werden um das C-N-(>1)-fache der Verzögerung auf chC-1 durch die Speicherbereiche 152-N/2 und 153-N/2 in dem RAM 243 verzögert, um ausgegeben zu werden.
  • Auf chN+1 wird, da kein Speicherbereich 152-N/2 des RAM 243 vorhanden ist, ein durch den Speicherbereich 153-N/2 des RAM 243 um das C-(N+1)-(>1)-fache der Verzögerung auf chC-1 verzögertes Signal ausgegeben.
  • Weiterhin wird auf chC-1 eine Verzögerung nur durch den Speicherbereich 152-((C-1)/2) des RAM 243 hervorgerufen.
  • Danach wählen die Auswähler 150 und 151 chC aus. Da kein ursprüngliches Verzögerungselement auf diesem Kanal vorhanden ist, durchläuft das Signal von chC den Faltungsentschachteler, ohne der ursprünglichen Verzögerung unterworfen zu werden.
  • Zu dem nächsten Zeitpunkt wählen die Auswähler 150 und 151 erneut ch0 aus, um den oben erwähnten Vorgang zu wiederholen.
  • Dadurch werden den entsprechenden Kanälen ch0 ~ chN ~ chC durch den in 10 gezeigten Faltungsentschachteler allmählich abnehmende Verzögerungszeiten gegeben, während diesen Kanälen durch den in 7 gezeigten Faltungsverschachteler allmählich ansteigende Verzögerungszeiten gegeben werden. Synthetisch wird allen Kanälen die gleiche Verzögerung gegeben, wodurch die Datenmatrix, welche durch den in 7 gezeigten Faltungsver schachteler verschachtelt wurde, durch den in 10 gezeigten Faltungsentschachteler entschachtelt (wiederhergestellt) wird.
  • Insbesondere wenn die Auswähler 150 und 151 den Kanal chN zum Zeitpunkt t auswählen, werden die ältesten Daten aus dem Speicherbereich 152-N/2 des RAM 243 gelesen und die Eingangsdaten des Faltungsentschachtelers werden an die Adresse geschrieben, von welcher die Daten gelesen wurden. Weiterhin werden die gelesenen Daten in dem Register 238 in 10 gespeichert. Zum Zeitpunkt t+1 (die Auswähler wählen den Kanal chN+1 aus) werden die Eingangsdaten des Faltungsentschachtelers und der Ausgang des Registers 238 gleichzeitig in den Speicherbereich 153-N/2 des RAM 243 als die unteren b Bit und die oberen b Bit geschrieben. Zum Zeitpunkt t+Nxmx(C+1) werden diese Daten gleichzeitig gelesen und die oberen b Bit werden von dem Faltungsentschachteler ausgegeben, während die unteren b Bit in dem Register 247 gespeichert werden. Zum Zeitpunkt t+1+Nxmx(C+1) wird das Ausgangssignal des Registers 247 von dem Faltungsentschachteler ausgegeben. Durch Wiederholen dieser oben beschriebenen Verarbeitung wird ein Faltungsentschachteln verwirklicht.
  • Als nächstes wird die Wirkungsweise des Faltungsentschachtelers dieser vierten Ausführungsform beschrieben.
  • Der Faltungsverschachteler erfasst zu entschachtelnde Eingangsdaten von dem Eingangsdatenanschluss 251 durch die Eingangsdatensteuerungseinrichtung 236 und schreibt die Daten durch die Schreibeinrichtung 242 in den RAM 243. Zu diesem Zeitpunkt ist ein Adresszähler zwei Kanälen mit b Bit Daten zugewiesen. Dann zählen die Zähler 2330 ~ 233C-3 der unteren Adresserzeugungseinrichtung 232 entsprechend den Kanälen ch0 und ch1 (nachfolgend ch0/ch1) ~ chN-1 und chN (chN-1/chN) ~ chC-3 und chC-2 (chC-3/chC-2) die unteren Adressen des RAM 243. Der untere Adressauswähler 232 wählt einen dieser Zähler aus. Die derart ausgewählte untere Adresse und die von der oberen Adresserzeugungseinrichtung 231 ausgegebene obere Adresse des RAM 243 werden in die Ausgangstiminganpassungseinrichtung 235 eingegeben, in welcher deren Ausgangstimings angepasst werden. Danach werden diese Adressen in die Schreibeinrichtung 242 eingegeben, um eine Schreibadresse 213 zu dem RAM 243 zu geben.
  • Zu diesem Zeitpunkt werden die Daten von ch0 durch den Ausgangssignalauswähler 245 in das Register 238 eingegeben und durch die Bitverbindungseinrichtung 237 mit den Daten von ch1 verbunden, um in den RAM 243 eingegeben zu werden.
  • In dem RAM 243 werden die ch0 und ch1 entsprechenden Speicherbereiche durch die Adresserzeugungseinrichtungen 253 und 230 eingestellt und die Daten von ch0 und ch1 werden entsprechend um eine Verzögerungszeit CT in diesen Bereichen verzögert.
  • Dann werden die Daten von ch0 und ch1 gleichzeitig aus dem RAM 243 gelesen, um unter der Steuerung des Ausgangssignalauswählers 245 in die Bitseparationseinrichtung 246 eingegeben zu werden.
  • Die Bitseparationseinrichtung 246 gibt sofort die Daten von ch0 durch die Ausgangsdatensteuerungseinrichtung 248 zu dem Ausgangsanschluss 252 aus. Andererseits werden die Daten von ch1 vorübergehend in dem Register 247 gespeichert und dann durch die Ausgangsdatensteuerungseinrichtung 248 zu dem Ausgangsanschluss 252 ausgegeben.
  • Weiterhin werden bezogen auf Daten von ch2~chN~chC-2 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 240 Speicherbereiche für diese Daten in dem RAM 243 durch die obere Adresserzeugungseinrichtung 231 und die Zählereinheit 233 der unteren Adresserzeugungseinrichtung 232 derart eingestellt, dass die Größen dieser Speicherbereiche in der Reihenfolge der Kanäle abnehmen, mit zwei Kanälen als eine Einheit, und diese Speicherbereiche werden durch einen (nicht dargestellten) oberen Adressauswähler und den unteren Adressauswähler 234 für jeweils zwei Kanäle als eine Einheit nacheinander ausgewählt. Bezogen auf die Kanäle, an welche zwei Kanäle mit b-Bit Daten sequenziell angelegt werden, wird der folgende Vorgang mit jedem Speicherbereich für jeweils zwei Kanäle ausgeführt. Das heißt, die Daten werden an eine Adresse in dem Speicherbereich geschrieben und zum nächsten Zeitpunkt werden die Daten von der Adresse gelesen, um an die nächste Adresse geschrieben zu werden.
  • Weiterhin führt die Adresserzeugungseinrichtung 253 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 240, bezogen auf die geradzahligen Kanäle ch2 ~ chN-1 ~ chC-1, eine Adresserzeugung unter Verwendung der Speicherbereiche des RAM 243 derart aus, dass eine Verzögerungszeit, welche äquivalent zu einer Differenz zwischen Verzögerungszeiten ist, die zu einem ungeradzahligen Kanal und einem dem ungeradzahligen Kanal benachbarten geradzahligen Kanal gehören, erzeugt wird.
  • Dadurch wird die Verzögerungszeit CT/(C-1)T ch0/ch1 gegeben, eine Verzögerungszeit (C-2)T/(C-3)T wird ch2/ch3 gegeben, ..., und eine Verzögerungszeit 3T/2T wird chC-3/chC-2 gegeben.
  • Dieser Vorgang dient dazu, die gleiche Verzögerung unter Verwendung des RAM 243 zu bewirken, wie die durch die in 4 gezeigte Schieberegistereinheit gegebene.
  • Dadurch ist eine Verzögerungszeit T ch0, ch2, ..., chC-3, chC-1 gegeben.
  • Insbesondere die Adresserzeugungseinrichtung 253 erzeugt Verzögerungszeiten äquivalent zu den durch die in 4 gezeigte Schieberegistereinheit 78 gegebenen, in welcher die den jeweiligen Kanälen entsprechenden Schieberegister nacheinander für jeweils zwei Kanäle ausgewählt werden und diese Schieberegister haben Kapazitäten äquivalent zu den Anstiegen in der Verzögerungszeit von den ungeradzahligen Kanälen ch1, ch3 ~ chN ~ chC, wodurch den Daten auf den Kanälen ch0 ~ chN ~ chC allmählich geringer werdende Verzögerungszeiten gegeben werden.
  • Entsprechend können durch aufeinanderfolgendes Auswählen der Kanäle von ch0 bis chC-2 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 240 den entsprechenden Kanälen Verzögerungszeiten gegeben werden, welche T um T mit dem Anstieg der Kanalnummer zunehmen.
  • Danach werden die Daten von chC-1 eingegeben und schließlich werden die Daten von chC eingegeben. Bezogen auf die Daten von chC-1 werden die Daten von chC, die von dem Ausgangssignalauswähler 245 zu dem Register 238 gesendet werden, mit den von der Eingangsdatensteuerungseinrichtung 236 ausgegebenen Daten von chC-1 durch die Bitverbindungseinrichtung 237 zusammengefasst. Die RAM-Steuerungseinrichtung 241 unter der Steuerung der Auswahlsignalerzeugungseinrichtung steuert den RAM 243 derart, dass die zusammengefassten Daten durch die Schreibeinrichtung 242 in den RAM 243 geschrieben werden. Zu diesem Zeitpunkt führen die Auswahlsignalerzeugungseinrichtung 240 und die RAM-Steuerungseinrichtung 241 den folgenden Vorgang für jeden Speicherbereich für jeweils zwei Kanäle aus. Das heißt, die obere Adresse und die untere Adresse, erzeugt von der Adresserzeugungseinrichtung 253, werden als Adressen des RAM 243 verwendet und bezogen auf die durch die Adresserzeugungseinrichtung 253 erzeugten Adressen werden Daten an eine Adresse in jedem Speicherbereich geschrieben und zum nächsten Zeitpunkt werden die Daten aus der Adresse gelesen, um an eine andere Adresse geschrieben zu werden. Dadurch wird keine Verzögerung für chC bewirkt, während eine Verzögerung einer vorbestimmten Periode durch den als ein FIFO arbeitenden RAM 243 für chC-1 bewirkt wird.
  • Weiterhin steuert die Auswahlsignalerzeugungseinrichtung 240, bezogen auf die Daten von chC, die Eingangsdatensteuerungseinrichtung 236 derart, dass die Daten von chC nicht durch den RAM 243, sondern direkt zu dem Ausgangssignalauswähler 245 gesendet werden. Weiterhin steuert die RAM-Steuerungseinrichtung 241 unter der Steuerung der Auswahlsignalerzeugungseinrichtung 240 den Ausgangssignalauswähler 245 derart, dass er die nicht verzögerten Daten auswählt, welche von der Eingangsdatensteuerungseinrichtung 206 direkt zu dem Ausgangssignalauswähler 245 gesendet wurden.
  • Die aus dem RAM 243 gelesenen Daten von chC und chC-1 werden durch den Ausgangssignalauswähler 245 in die Bitseparationseinrichtung 246 eingegeben. Die Daten von chC werden wie sie sind durch den Ausgangsanschluss 252 ausgegeben und die Daten von chC-1 werden durch das Register 247 und den Ausgangsanschluss 252 ausgegeben. Dadurch werden Verzögerungen äquivalent zu den durch die in 4 gezeigte Schieberegistereinheit bewirkten Verzögerungen verwirklicht.
  • Während bei dem bekannten Faltungsentschachteler eine Adresserzeugungsschaltung für jeden Kanal benötigt wird, wird bei dem Aufbau dieser Ausführungsform eine Adresserzeugungsschaltung für zwei Kanäle benötigt. Daher werden die Adresserzeugungsschaltungen auf 1/2 verringert, resultierend in einer beträchtlichen Verringerung der Schaltungsgröße. Da die Adresserzeugungsschaltungen ohne Verwendung von Schieberegistern implementiert werden können, wird weiterhin die Dichte der Integration erhöht, resultierend in einer weiteren Verringerung der Schaltungsgröße, verglichen mit der zweiten Ausführungsform.
  • Während weiterhin im Stand der Technik ein Lese-/Schreib-Vorgang für einen Kanal mit Eingangsdaten in dem Single-Port-RAM benötigt wird, wird in dieser vierten Ausführungsform ein Lese-/Schreib-Vorgang für zwei Kanäle mit Eingangsdaten benötigt, resultierend in einer Verringerung des Energieverbrauchs. Da weiterhin die Frequenz, mit welcher auf den RAM zugegriffen wird, verringert ist, kann auch ein auf einer relativ niedrigen Frequenz arbeitender RAM verwendet werden.
  • Während in dieser vierten Ausführungsform zwei Kanäle in einer Gruppe vereinigt sind und eine Adresserzeugungsschaltung einer Gruppe zugeordnet ist, kann eine Adresserzeugungsschaltung drei oder mehr Kanälen zugeordnet sein.
  • Allgemein beträgt die Eingangs-/Ausgangs-Datenbreite b Bit, die Tiefe (die Anzahl der Daten in Bitbreiten Einheiten) ist m, die Anzahl von Kanälen ist n und die maximale Kanalanzahl ist C (n ist eine ganze Zahl, welche die Beziehung 0 ≤ n ≤ C erfüllt und b, m, C sind natürliche Zahlen).
  • Insbesondere, wenn der Faltungsentschachteler dieser Ausführungsform auf die DVB-Spezifikation angewendet wird, C = 11, d. h., die Kanalanzahl ist 12, und die Tiefe ist 17. Weiterhin bei der Anwendung auf die amerikanische Grundwellenspezifikation, C = 51, d. h., die Kanalanzahl ist 52 und die Tiefe ist 4.
  • Während weiterhin in dieser vierten Ausführungsform eine Verzögerung äquivalent zu einer Differenz in Verzögerungen zwischen zwei benachbarten Kanälen nicht durch Schieberegister sondern durch einen Speicherbereich des RAM gegeben wird, kann eine größere Verzögerung als die Differenz zwischen Kanälen durch diesen Speicherbereich des RAM gegeben werden.
  • Während darüber hinaus in dieser vierten Ausführungsform ein Single-Port-RAM verwendet wird, kann ein Multiple-Port-RAM für Hochgeschwindigkeits-E/A verwendet werden.
  • [Ausführungsform 5]
  • In einem Faltungsverschachteler gemäß einer fünften Ausführungsform der Erfindung werden, wenn Adresszähler für ein RAM für jeweils zwei Kanäle als eine Einheit zusammengefasst werden, diese Adresszähler durch einen Addierer und eine Registereinheit implementiert, wodurch die Schaltungsgröße der peripheren Einheit des RAM weiter verringert wird.
  • 19 ist ein Blockschaltbild, welches den Aufbau eines Faltungsverschachtelers gemäß der fünften Ausführungsform darstellt.
  • In 19 umfasst der Faltungsverschachteler einen Single-Port-RAM 313 (Speichereinrichtung in Anspruch 6), eine Eingangsdatensteuerungseinrichtung 306, ein Register 308, eine Bitverbindungseinrichtung 307, eine Auswahlsignalerzeugungseinrichtung 310, eine RAM-Steuerungseinrichtung 311, eine Adresserzeugungseinrichtung 300, eine Schreibeinrichtung 312, eine Leseeinrichtung 314, einen Ausgangssignalauswähler 315, eine Bitseparationseinrichtung 316, ein Register 317 und eine Ausgangsdatensteuerungseinrichtung 318.
  • Der Single-Port-RAM 313 gibt Daten zu der Leseeinrichtung 314 aus. Die Eingangsdatensteuerungseinrichtung 306 gibt Eingangsdaten 321 des Faltungsverschachtelers zu der Bitverbindungseinrichtung 307 und dem Ausgangssignalauswähler 315 aus. Das Register 308 gibt Daten zu der Bitverbindungseinrichtung 307 aus. Die Bitverbindungseinrichtung 307 gibt Daten zu der Schreibeinrichtung 312 aus. Die Auswahlsignalerzeugungseinrichtung 310 gibt ein Steue rungssignal zu der Adresserzeugungseinrichtung 300, der RAM-Steuerungseinrichtung 311 und dem Ausgangssignalauswähler 315 aus. Die RAM-Steuerungseinrichtung 311 gibt ein Steuerungssignal zu dem RAM 313 aus. Die Adresserzeugungseinrichtung 300 gibt eine RAM-Adresse zu der Schreibeinrichtung 312 und der Leseeinrichtung 314 aus. Die Schreibeinrichtung 312 gibt eine RAM-Adresse und Daten zu dem RAM 313 aus. Die Leseeinrichtung 314 gibt eine RAM-Adresse zu dem RAM 313 aus und gibt Daten zu dem Ausgangssignalauswähler 315 aus. Der Ausgangssignalauswähler 315 gibt Daten zu dem Register 308 und der Bitseparationseinrichtung 316 aus. Die Bitseparationseinrichtung 316 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 318 und dem Register 317 aus. Das Register 317 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 318 aus. Die Ausgangsdatensteuerungseinrichtung 318 gibt Daten 322 als das Ausgangssignal des Verschachtelers aus.
  • Die Adresserzeugungseinrichtung 300 umfasst eine obere Adresserzeugungseinrichtung 301, eine untere Adresserzeugungseinrichtung 302 und eine Ausgangstiminganpassungseinrichtung 305. Die obere Adresserzeugungseinrichtung 301 erzeugt eine obere Adresse des RAM 313 entsprechend einem von der Auswahlsignalerzeugungseinrichtung 310 erzeugten Auswahlsignal und gibt die obere Adresse zu der Ausgangstiminganpassungseinrichtung 305 aus. Die untere Adresserzeugungseinrichtung 302 erzeugt eine untere Adresse des RAM 313 entsprechend einem durch die Auswahlsignalerzeugungseinrichtung 310 erzeugten Auswahlsignal und gibt die untere Adresse zu der Ausgangstiminganpassungseinrichtung 305 aus. Die Ausgangstiminganpassungseinrichtung 305 gibt eine RAM-Adresse zu der Schreibeinrichtung 312 und der Leseeinrichtung 314 aus.
  • Die untere Adresserzeugungseinrichtung 302 umfasst ein Register 331, einen Addierer 330, untere Adressauswähler 3041 und 3042 und eine Registereinheit 303. Das Register 331 behält einen Schwellwert für jeweils zwei Kanäle. Der Addierer 330 addiert das Ausgangssignal des unteren Adressauswählers 3042 mit dem Ausgangssignal des Registers 331. Der untere Adressauswähler 3041 gibt das Ausgangssignal des Addierers 330 zu der Registereinheit 303 aus. Die Registereinheit 303 umfasst Register 303-0 ~ 303-(C-1)/2-1 entsprechend Kanälen ch1, ch3, ..., chC-2. Die Ausgangstiminganpassungeinrichtung 305 gibt eine un tere Adresse von dem unteren Adressauswähler 3042 zu der Schreibeinrichtung 312 aus.
  • Die Auswahlsignalerzeugungseinrichtung 310 und die Adresserzeugungseinrichtung 300 dienen in dem später erläuterten Arbeitsprinzip als ein Eingangsseitenauswähler. Weiterhin dienen der Ausgangssignalauswähler 315 und die Adresserzeugungseinrichtung 300 in dem Arbeitsprinzip als ein Ausgangsseitenauswähler.
  • Der Faltungsverschachteler dieser fünften Ausführungsform implementiert eine Einrichtung entsprechend den in den unteren Adresserzeugungseinrichtungen 202 und 225 der dritten Ausführungsform (siehe 7) enthaltenen durch Verwenden des Addierers 330 und der Registereinheit 303, welche beide in der unteren Adresserzeugungseinrichtung 302 enthalten sind, wobei die Zähler der dritten Ausführungsform vereinigt werden, resultierend in einer weiteren Verringerung der Schaltungsgröße des Faltungsverschachtelers.
  • Nachfolgend wird die Wirkungsweise der unteren Adresserzeugungseinrichtung 302 bezogen auf den Vorgang für durch die unteren Adressauswähler 3041 und 3042 ausgewählten Kanal beschrieben. Auf den mit dem bereits für die dritte Ausführungsform beschriebenen Vorgang wird verzichtet.
  • Zuerst wird, wenn die unteren Adressauswähler 3041 und 3042 Kanal ch0 auswählen, keine untere Adresse erzeugt, da auf diesem Kanal des Verschachtelers kein Verzögerungselement der Daten vorhanden ist.
  • Als nächstes wird, wenn der untere Adressauswähler 3041 ungeradzahlige Kanäle auswählt, wie ch1, ch3, ch5, ..., das Register 303-(C-1)/2 ausgewählt und der untere Adressauswähler 3042 gibt Daten zu der Ausgangstiminganpassungseinrichtung 305 und dem Addierer 330 aus.
  • Der Addierer 330 addiert "1" zu den Eingangsdaten. Wenn das Ergebnis der Addition den in dem Register 331 gespeicherten Schwellwert übersteigt, gibt der Addierer 330 "0" zu dem unteren Adressauswähler 3041 aus, und wenn er den Schwellwert nicht übersteigt, gibt der Addierer 330 das Ergebnis der Addition zu dem Auswähler 3041 aus.
  • Der untere Adressauswähler 3041 gibt diesen Wert zu dem Register 303-(C-1)/2 aus. Zu diesem Zeitpunkt wird, wenn der untere Adressauswähler 3041 den maximalen Kanal aus den ungeradzahligen Kanälen wählt, das Register 303-(C-1)/2 auf den Eingangsdatenwert aktualisiert.
  • Wenn der untere Adressauswähler 3041 ch2 auswählt, wird das Register 303-0 ausgewählt und der untere Adressauswähler 3042 gibt Daten zu der Ausgangstiminganpassungseinrichtung 305 und dem Addierer 330 aus.
  • Als den Schwellwert für jeden Kanal gibt das Register 331 einen Schwellwert entsprechend dem Register 303-0 zu dem Addierer 330 aus. Der Addierer 330 addiert "1" zu den Eingangsdaten. Wenn das Ergebnis der Addition den Schwellwert übersteigt, gibt der Addierer 330 "0" zu dem unteren Adressauswähler 3041 aus, und wenn er den Schwellwert nicht übersteigt, gibt der Addierer 330 das Ergebnis der Addition zu dem Auswähler 3041 aus.
  • Der untere Adressauswähler 3041 gibt entweder "0" oder das Ergebnis der Addition zu dem Register 303-0 aus, um das Register 303-0 auf ein Eingangsdatenwert zu aktualisieren.
  • Wenn der untere Adressauswähler 3041 ch4 auswählt, wird das Register 303-1 ausgewählt und der untere Adressauswähler 3042 gibt Daten zu der Ausgangstiminganpassungseinrichtung 305 und dem Addierer 330 aus.
  • Als den Schwellwert für jeden Kanal gibt das Register 331 einen Schwellwert entsprechend dem Register 303-1 zu dem Addierer 330 aus. Der Addierer 330 addiert "1" zu den Eingangsdaten. Wenn das Ergebnis der Addition den Schwellwert übersteigt, gibt der Addierer 330 "0" zu dem unteren Adressauswähler 3041 aus, und wenn es den Schwellwert nicht übersteigt, gibt der Addierer 330 das Ergebnis der Addition zu dem Auswähler 3041 aus.
  • Der untere Adressauswähler 3041 gibt entweder "0" oder das Ergebnis der Addition zu dem Register 303-1 aus, um das Register auf den Eingangsdatenwert zu aktualisieren.
  • Ebenso wird, wenn der untere Adressauswähler 3041 chN auswählt, das Register 303-(N/2-1) ausgewählt und der untere Adressauswähler 3042 gibt Daten zu der Ausgangstiminganpassungseinrichtung 305 und dem Addierer 330 aus.
  • Wie für den Schwellwert für jeden Kanal gibt das Register 331 den Schwellwert des Registers 303-(N/2-1) zu dem Addierer 330 aus.
  • Der Addierer 330 addiert "1" zu den Eingangsdaten. Wenn das Ergebnis der Addition den Schwellwert übersteigt, gibt der Addierer 330 "0" zu dem unteren Adressauswähler 3041 aus, und wenn es nicht den Schwellwert übersteigt, gibt der Addierer 330 das Ergebnis der Addition zu dem Auswähler 3041 aus.
  • Der untere Adressauswähler 3041 gibt entweder "0" oder das Ergebnis der Addition zu dem Register 303-(N/2-1) aus, um das Register 303-(N/2-1) auf den Eingangsdatenwert zu aktualisieren.
  • Durch Wiederholen des oben beschriebenen Vorgangs können die unteren Adresszählungen des RAM durch den Addierer und die Registereinheit verwirklicht werden, wodurch die Schaltungsgröße verglichen mit der Adresszähler verwendenden dritten Ausführungsform verringert werden kann.
  • [Ausführungsform 6]
  • In einem Faltungsentschachteler gemäß einer sechsten Ausführungsform der Erfindung werden, wenn Adresszähler für einen RAM für jeweils zwei Kanäle als eine Einheit zusammengefasst werden, diese Adresszähler durch einen Addierer und eine Registereinheit implementiert, wodurch die Schaltungsgröße der peripheren Einheit des RAM weiter verringert wird.
  • 20 ist ein Blockschaltbild, welches den Aufbau eines Faltungsentschachtelers gemäß der sechsten Ausführungsform zeigt.
  • In 20 umfasst der Faltungsentschachteler einen Single-Port-RAM 413 (Speichereinrichtung in Anspruch 14), eine Eingangsdatensteuerungseinrichtung 406, ein Register 408, eine Bitverbindungseinrichtung 407, eine Auswahlsignalerzeugungseinrichtung 410, eine RAM-Steuerungseinrichtung 411, eine Adresserzeugungseinrichtung 400, eine Schreibeinrichtung 412, eine Leseeinrichtung 414, einen Ausgangssignalauswähler 415, eine Bitseparationseinrichtung 416, ein Register 417 und eine Ausgangsdatensteuerungseinrichtung 418.
  • Der Single-Port-RAM 413 gibt Daten zu der Leseeinrichtung 414 aus. Die Eingangsdatensteuerungseinrichtung 406 gibt Eingangsdaten 421 des Faltungsentschachtelers zu der Bitverbindungseinrichtung 407 und dem Ausgangssignalauswähler 415 aus. Das Register 408 gibt Daten zu der Bitverbindungseinrichtung 407 aus. Die Bitverbindungseinrichtung 407 gibt Daten zu der Schreibeinrichtung 412 aus. Die Auswahlsignalerzeugungseinrichtung 410 gibt ein Steuerungssignal zu der Adresserzeugungseinrichtung 400, der RAM-Steuerungseinrichtung 411 und dem Ausgangssignalauswähler 415 aus. Die RAM-Steuerungseinrichtung 411 gibt ein Steuerungssignal zu dem RAM 413 aus. Die Adresserzeugungseinrichtung 400 gibt eine RAM-Adresse zu der Schreibeinrichtung 412 und der Leseeinrichtung 414 aus. Die Schreibeinrichtung 412 gibt eine RAM-Adresse und Daten zu dem RAM 413 aus. Die Leseeinrichtung 414 gibt eine RAM-Adresse zu dem RAM 413 aus und gibt Daten zu dem Ausgangssignalauswähler 415 aus. Der Ausgangssignalauswähler 415 gibt Daten zu dem Register 408 und der Bitseparationseinrichtung 416 aus. Die Bitseparationseinrichtung 416 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 418 und dem Register 417 aus. Das Register 417 gibt Daten zu der Ausgangsdatensteuerungseinrichtung 418 aus. Die Ausgangsdatensteuerungseinrichtung 418 gibt Daten 422 als das Ausgangssignal des Entschachtelers aus.
  • Die Adresserzeugungseinrichtung 400 umfasst eine obere Adresserzeugungseinrichtung 401, eine untere Adresserzeugungseinrichtung 402 und eine Ausgangstiminganpassungseinrichtung 405. Die obere Adresserzeugungseinrichtung 401 erzeugt eine obere Adresse des RAM 413 entsprechend einem durch die Auswahlsignalerzeugungseinrichtung 410 erzeugten Auswahlsignal und gibt die obere Adresse zu der Ausgangstiminganpassungseinrichtung 405 aus. Die untere Adresserzeugungseinrichtung 402 erzeugt eine untere Adresse des RAM 413 gemäß einem durch die Auswahlsignalerzeugungseinrichtung 410 erzeugten Auswahlsignal und gibt die untere Adresse zu der Ausgangstiminganpassungseinrichtung 405 aus. Die Ausgangstiminganpassungseinrichtung 405 gibt eine RAM-Adresse zu der Schreibeinrichtung 412 und der Leseeinrichtung 414 aus.
  • Die untere Adresserzeugungseinrichtung 402 umfasst ein Register 431, einen Addierer 430, untere Adressauswähler 4041 und 4042 und eine Registereinheit 403. Das Register 431 behält einen Schwellwert für jeweils zwei Kanäle. Der Addierer 430 addiert das Ausgangssignal des unteren Adressauswählers 4041 zu dem Ausgangssignal des Registers 431. Der untere Adressauswähler 4041 gibt das Ausgangssignal des Addierers 430 zu der Registereinheit 403 aus. Die Registereinheit 403 umfasst Register 403-0 ~ 403-(C-1)/2-1 entsprechend Kanälen ch0/ch1 + chC-3/chC-2, und ein Register 403-(C-3)/2+1 entsprechend Kanälen ch0, ch2, ..., chC-1. Die Ausgangstiminganpassungseinrichtung 405 gibt eine untere Adresse von dem unteren Adressauswähler 4042 zu der Schreibeinrichtung 412 aus.
  • Die Auswahlsignalerzeugungseinrichtung 410 und die Adresserzeugungseinrichtung 400 dienen in dem später beschriebenen Arbeitsprinzip als ein Eingangsseitenauswähler. Weiterhin dienen der Ausgangssignalauswähler 415 und die Adresserzeugungseinrichtung 400 in dem Arbeitsprinzip als ein Ausgangsseitenauswähler.
  • Der Faltungsentschachteler dieser sechsten Ausführungsform implementiert Einrichtungen entsprechend den in den unteren Adresserzeugungseinrichtungen 232 und 255 der vierten Ausführungsform (siehe 10) enthaltenen Zählern unter Verwendung des Addierers 430 und der Registereinheit 403, welche beide in der unteren Adresserzeugungseinrichtung 402 enthalten sind, wodurch die Zähler der dritten Ausführungsform vereinigt werden, resultierend in einer weiteren Verringerung der Schaltungsgröße des Faltungsentschachtelers.
  • Nachfolgend wird die Wirkungsweise der unteren Adresserzeugungseinrichtung 402 bezogen auf den Vorgang für jeden durch die unteren Adressauswähler 4041 und 4042 ausgewählten Kanal beschrieben. Auf den mit dem bereits in der vierten Ausführungsform beschriebenen übereinstimmenden Ablauf wird verzichtet.
  • Zuerst wird, wenn die unteren Adressauswähler 4041 und 4042 chC auswählen, keine untere Adresse erzeugt, weil kein Verzögerungselement für Daten auf diesem Kanal in dem Entschachteler vorhanden ist.
  • Als nächstes wird, wenn der untere Adressauswähler 4041 geradzahlige Kanäle auswählt, wie ch0, ch2, ch4, ..., das Register 403-(C-3)/2+1 ausgewählt und der untere Adressauswähler 4042 gibt Daten zu der Ausgangstiminganpassungseinrichtung 405 und dem Addierer 430 aus.
  • Der Addierer 430 addiert "1" zu den Eingangsdaten. Wenn das Ergebnis der Addition den in dem Register 431 gespeicherten Schwellwert übersteigt, gibt der Addierer 430 "0" zu dem unteren Adressauswähler 4041 aus, und wenn er den Schwellwert nicht übersteigt, gibt des Addierer 430 das Ergebnis der Addition zu dem Auswähler 4041 aus.
  • Der untere Adressauswähler 4041 gibt diesen Wert zu dem Register 403-(C-3)/2+1 aus. Zu diesem Zeitpunkt wird, wenn der untere Adressauswähler 4041 den maximalen Kanal aus den geradzahligen Kanälen auswählt, das Register 403-(C-3)/2+1 auf den Eingangsdatenwert aktualisiert.
  • Wenn der untere Adressauswähler 4041 ch2 auswählt, wird das Register 403-0 ausgewählt und der untere Adressauswähler 4042 gibt Daten zu der Ausgangstiminganpassungseinrichtung 405 und dem Addierer 430 aus.
  • Als den Schwellwert für jeden Kanal gibt das Register 431 einen Schwellwert entsprechend dem Register 403-0 zu dem Addierer 430 aus. Der Addierer addiert "1" zu den Eingangsdaten. Wenn das Ergebnis der Addition den Schwellwert übersteigt, gibt der Addierer 430 "0" zu dem unteren Adressauswähler 4041 aus, und wenn es den Schwellwert nicht übersteigt, gibt der Addierer 430 das Ergebnis der Addition zu dem Auswähler 4041 aus.
  • Der untere Adressauswähler 4041 gibt entweder "0" oder das Ergebnis der Addition zu dem Register 403-0 aus, um das Register 403-0 auf den Eingangsdatenwert zu aktualisieren.
  • Wenn der untere Adressauswähler ch4 auswählt, wird das Register 403-1 ausgewählt und der untere Adressauswähler 4042 gibt Daten zu der Ausgangstiminganpassungseinrichtung 405 und dem Addierer 430 aus.
  • Als den Schwellwert für jeden Kanal gibt das Register 431 einen Schwellwert entsprechend dem Register 403-1 zu dem Addierer 430 aus. Der Addierer 430 addiert "1" zu den Eingangsdaten. Wenn das Ergebnis der Addition den Schwellwert übersteigt, gibt der Addierer 430 "0" zu dem unteren Adressauswähler 4041 aus und wenn er den Schwellwert nicht übersteigt, gibt der Addierer 430 das Ergebnis der Addition zu dem Auswähler 4041 aus.
  • Der untere Adressauswähler 4041 gibt entweder "0" oder das Ergebnis der Addition zu dem Register 403-1 aus, um das Register 403-1 auf den Eingangsdatenwert zu aktualisieren.
  • Ebenso wird, wenn der untere Adressauswähler 4041 chN auswählt, das Register 403-N/2 ausgewählt und der untere Adressauswähler 4042 gibt Daten zu der Ausgangstiminganpassungseinrichtung 405 und dem Addierer 430 aus.
  • Als den Schwellwert für jeden Kanal gibt das Register 431 den Schwellwert des Registers 403-N/2 zu dem Addierer 430 aus.
  • Der Addierer 430 addiert "1" zu den Eingangsdaten. Wenn das Ergebnis der Addition den Schwellwert übersteigt, gibt der Addierer 430 "0" zu dem unteren Adressauswähler 4041 aus, und wenn es den Schwellwert nicht übersteigt, gibt der Addierer 430 das Ergebnis der Addition zu dem Auswähler 4041 aus.
  • Der untere Adressauswähler 4041 gibt entweder "0" oder das Ergebnis der Addition zu dem Register 403-N/2 aus, um das Register 403-N/2 auf den Eingangsdatenwert zu aktualisieren.
  • Durch Wiederholen des oben beschriebenen Vorgangs können die unteren Adresszählungen des RAM durch den Addierer und die Registereinheit verwirklicht werden, wodurch die Schaltungsgröße verglichen mit der Adresszähler verwendenden vierten Ausführungsform verringert werden kann.

Claims (6)

  1. Faltungsentschachteler, welcher eine Faltungsentschachtelung für eine Datengruppe ausführt, in welcher die eingegebene/ausgegebene Datenbreite b Bit beträgt, die Tiefe, d. h., die Anzahl der Daten in Bit-breiten Einheiten, m ist, die Anzahl der Kanäle n ist und die maximale Kanalanzahl C ist, wobei n eine ganze Zahl ist, welche die Bedingung 0 ≤ n≤ C erfüllt, b, m, C sind natürliche Zahlen, mit: einer ersten Speichereinrichtung (83) mit einer Datenbreite von j × b Bit, wobei j eine natürliche Zahl nicht kleiner als 2 ist; einer Eingangsdaten-Steuerungseinrichtung (76) zum Verteilen der Eingangsdaten des Faltungsentschachtelers zu einer Bitanschlusseinrichtung (77), einer zweiten Speichereinrichtung (78) und einer Ausgangsdaten-Steuerungseinrichtung (88); wobei die Bitanschlusseinrichtung (77) ausgebildet ist zum Verbinden der Eingangsdaten von der Eingangsdaten-Steuerungseinrichtung (76) und der Eingangsdaten von der zweiten Speichereinrichtung (78), um Daten zu erzeugen, welche in die erste Speichereinrichtung (83) einzugeben sind, mit einer Datenbreite von j × b Bit; einer Adresserzeugungseinrichtung (70) zum Erzeugen von Adressen der ersten Speichereinrichtung (83); einer Bitseparationseinrichtung (86) zum Umwandeln ausgegebener Daten von der ersten Speichereinrichtung (83) in Daten mit einer Datenbreite von b Bit und die von dem Faltungsentschachteler auszugeben sind; und wobei die Ausgangsdaten-Steuerungseinrichtung (88) zum Ausgeben von Ausgangsdaten von der Bitseparationseinrichtung (86) nach außerhalb des Faltungsentschachtelers ausgebildet ist; dadurch gekennzeichnet, dass die zweite Speichereinrichtung (78) ausgebildet ist zum Verzögern der Eingangsdaten von der Eingangsdaten-Steuerungseinrichtung (76) für jede Gruppe mit wenigstens zwei Kanälen.
  2. Faltungsentschachteler nach Anspruch 1, bei welchem: die Adresserzeugungseinrichtung (70) die Adresserzeugung derart ausführt, dass die erste Speichereinrichtung (83) eine Verzögerung von (C-i)S ausführt, wobei S ein vorbestimmter Betrag der Verzögerung ist, 0 < S, für die i-te Gruppe aus Gruppen, in welchen sämtliche Kanäle gruppiert sind, so dass jede Gruppe höchstens k Kanäle umfasst, wobei die i-te Gruppe Kanäle von dem ik-ten Kanal bis zu dem ((i+1)k-1)ten Kanal umfasst, wobei k eine natürliche Zahl nicht größer als C ist, i ist eine ganze Zahl, welche die Beziehung 0 ≤ i ≤(ganzzahliger Teil von (C/k)) erfüllt, (i+1)k-1 ≤C; die zweite Speichereinrichtung (78) eine ausreichende Kapazität aufweist, um eine Verzögerung äquivalent zu einem Mangel in der Verzögerung der ersten Speichereinrichtung (83) für die Verzögerung von (C-n)T auszuführen, wobei T ein vorbestimmter Verzögerungsbetrag ist, S ≤ T, die auf die Daten in dem n-ten Kanal ausgeübt wird; und mit einer Schalteinrichtung (85) zum aufeinanderfolgenden Umschalten der Kanäle jedesmal, wenn Daten aus b Bit und der Tiefe m eingegeben werden, so dass der Kanal der Dateneingabe für die erste Speichereinrichtung (83) und für die zweite Speichereinrichtung (78) in der Kanalnummer identisch mit der Kanalnummer des Kanals der Datenausgabe von der ersten Speichereinrichtung (83) ist.
  3. Faltungsentschachteler nach Anspruch 2, bei welchem C eine ungerade Zahl ist, wobei k 2 ist, wobei S und T die Beziehung S = T erfüllen und die zweite Speichereinrichtung (78) eine Verzögerung von T für den (2h+1)-ten Kanal ausführt, wobei h eine ganze Zahl ist, welche die Beziehung 0 ≤ 2h+1 ≤ C erfüllt und nicht eine Verzögerung für den 2h-ten Kanal ausführt.
  4. Faltungsentschachteler nach Anspruch 1, bei welchem die zweite Speichereinrichtung (78) und die erste Speichereinrichtung (83) aus der gleichen Art Speichereinrichtung aufgebaut sind.
  5. Faltungsentschachteler nach Anspruch 1, bei welchem die erste Speichereinrichtung (83) durch ein RAM aufgebaut ist.
  6. Faltungsverschachteler nach Anspruch 5, bei welchem der RAM (83) j Eingabe-/Ausgabe-Anschlüsse aufweist, wobei j eine natürliche Zahl nicht kleiner als 2 ist.
DE69922732T 1998-04-27 1999-04-27 Verfahren und Vorrichtung zur Faltungsverschachtelung sowie Verfahren und Vorrichtung zur Faltungsentschachtelung Expired - Lifetime DE69922732T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11734298 1998-04-27
JP11734298 1998-04-27

Publications (2)

Publication Number Publication Date
DE69922732D1 DE69922732D1 (de) 2005-01-27
DE69922732T2 true DE69922732T2 (de) 2005-12-08

Family

ID=14709342

Family Applications (4)

Application Number Title Priority Date Filing Date
DE69935356T Expired - Lifetime DE69935356T2 (de) 1998-04-27 1999-04-27 Verfahren zur Faltungsentschachtelung
DE69935358T Expired - Lifetime DE69935358T2 (de) 1998-04-27 1999-04-27 Verfahren zur Faltungsverschachtelung
DE69922732T Expired - Lifetime DE69922732T2 (de) 1998-04-27 1999-04-27 Verfahren und Vorrichtung zur Faltungsverschachtelung sowie Verfahren und Vorrichtung zur Faltungsentschachtelung
DE69935357T Expired - Lifetime DE69935357T2 (de) 1998-04-27 1999-04-27 Vorrichtung zur Faltungsverschachtelung

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE69935356T Expired - Lifetime DE69935356T2 (de) 1998-04-27 1999-04-27 Verfahren zur Faltungsentschachtelung
DE69935358T Expired - Lifetime DE69935358T2 (de) 1998-04-27 1999-04-27 Verfahren zur Faltungsverschachtelung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69935357T Expired - Lifetime DE69935357T2 (de) 1998-04-27 1999-04-27 Vorrichtung zur Faltungsverschachtelung

Country Status (6)

Country Link
US (1) US6411654B1 (de)
EP (4) EP1317069B1 (de)
KR (1) KR100330608B1 (de)
CN (2) CN100375393C (de)
DE (4) DE69935356T2 (de)
MY (1) MY125161A (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE237888T1 (de) * 1998-10-30 2003-05-15 Broadcom Corp Verallgemeinerter faltungsver- und - entschachteler
JP2000224051A (ja) * 1999-01-22 2000-08-11 Texas Instr Inc <Ti> たたみこみインタ―リ―ビング用の効率的メモリアドレス指定方式
KR100601624B1 (ko) * 1999-10-30 2006-07-14 삼성전자주식회사 인터리버빙과 디인터리빙 장치 및 방법
JP2002076915A (ja) * 2000-08-31 2002-03-15 Sony Corp インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法
KR100541586B1 (ko) * 2000-09-13 2006-01-11 인터디지탈 테크날러지 코포레이션 제3 세대 fdd 모뎀 인터리버
US7770010B2 (en) * 2000-09-18 2010-08-03 Wideband Semiconductors Inc. Dynamically configurable interleaver scheme using at least one dynamically changeable interleaving parameter
US6915479B2 (en) 2001-05-17 2005-07-05 Matsushita Electric Industrial Co., Ltd. Apparatus and method for error correction
KR100414067B1 (ko) * 2001-06-05 2004-01-07 엘지전자 주식회사 인터리브 메모리 제어 장치 및 방법
EP1388947A1 (de) * 2002-08-05 2004-02-11 Alcatel System mit Verschachteler und Entschachteler
KR100518295B1 (ko) * 2003-03-14 2005-10-04 삼성전자주식회사 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법
CN100397787C (zh) * 2004-01-02 2008-06-25 明基电通股份有限公司 区块交错与解交错的编码方法
TWI264653B (en) * 2004-05-19 2006-10-21 Mediatek Inc Method and apparatus for convolutional interleaving/de-interleaving technique
EP1633052A1 (de) 2004-09-07 2006-03-08 STMicroelectronics N.V. Blocksunverschachtelungssystem
US7529984B2 (en) * 2004-11-16 2009-05-05 Infineon Technologies Ag Seamless change of depth of a general convolutional interleaver during transmission without loss of data
US7716563B2 (en) * 2004-11-30 2010-05-11 Ciena Corporation Method and apparatus for the efficient implementation of a totally general convolutional interleaver in DMT-based xDSL systems
TWI269535B (en) * 2005-09-13 2006-12-21 Sunplus Technology Co Ltd Convolutional interleaving and de-interleaving circuit and method
CN100455001C (zh) * 2005-09-23 2009-01-21 凌阳科技股份有限公司 回旋交错及去交错的电路与方法
US8799750B1 (en) * 2011-05-09 2014-08-05 Xilinx, Inc. Convolutional interleaver for bursty memory access
CN108073549B (zh) * 2016-11-14 2021-04-27 耐能股份有限公司 卷积运算装置及方法
US10784986B2 (en) 2017-02-28 2020-09-22 Intel Corporation Forward error correction mechanism for peripheral component interconnect-express (PCI-e)
CN109460813B (zh) * 2018-09-10 2022-02-15 中国科学院深圳先进技术研究院 卷积神经网络计算的加速方法、装置、设备及存储介质
US10771189B2 (en) 2018-12-18 2020-09-08 Intel Corporation Forward error correction mechanism for data transmission across multi-lane links
US11637657B2 (en) 2019-02-15 2023-04-25 Intel Corporation Low-latency forward error correction for high-speed serial links
US11249837B2 (en) 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
US10997111B2 (en) 2019-03-01 2021-05-04 Intel Corporation Flit-based packetization
US11296994B2 (en) 2019-05-13 2022-04-05 Intel Corporation Ordered sets for high-speed interconnects
US11740958B2 (en) 2019-11-27 2023-08-29 Intel Corporation Multi-protocol support on common physical layer
CN115515009B (zh) * 2021-06-23 2024-03-15 瑞昱半导体股份有限公司 回旋时间解交错电路及回旋时间解交错电路的操作方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US700399A (en) * 1901-04-11 1902-05-20 Paul Bary Process of electrically pulverizing metals.
US3652998A (en) * 1970-03-01 1972-03-28 Codex Corp Interleavers
GB2059723A (en) * 1979-09-19 1981-04-23 Marconi Co Ltd Interleavers for digital data signals
US5042033A (en) 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5210450A (en) 1990-04-16 1993-05-11 Tektronix, Inc. Active selectable digital delay circuit
KR0123088B1 (ko) * 1993-12-28 1997-12-05 배순훈 메모리를 이용한 길쌈 디인터리버
US5572532A (en) 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
US5537420A (en) * 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
JPH09102748A (ja) 1995-10-04 1997-04-15 Matsushita Electric Ind Co Ltd インターリーブ回路
US5764649A (en) 1996-03-29 1998-06-09 Amati Communications Corporation Efficient address generation for convolutional interleaving using a minimal amount of memory
JPH1013253A (ja) * 1996-06-24 1998-01-16 Nec Eng Ltd コンボリューショナル・インターリーバ
KR100192797B1 (ko) 1996-07-01 1999-06-15 전주범 정적 램을 이용한 길쌈인터리버의 구조
US6055277A (en) * 1997-05-29 2000-04-25 Trw Docket No. Communication system for broadcasting to mobile users

Also Published As

Publication number Publication date
EP1304810A2 (de) 2003-04-23
EP1315300A3 (de) 2004-10-13
DE69935357D1 (de) 2007-04-12
EP0954109A2 (de) 1999-11-03
MY125161A (en) 2006-07-31
DE69935358D1 (de) 2007-04-12
EP1317069A2 (de) 2003-06-04
KR19990083538A (ko) 1999-11-25
DE69922732D1 (de) 2005-01-27
EP0954109A3 (de) 2000-06-14
CN100375393C (zh) 2008-03-12
US6411654B1 (en) 2002-06-25
DE69935356D1 (de) 2007-04-12
EP1304810A3 (de) 2004-11-03
CN1240315A (zh) 2000-01-05
EP1317069B1 (de) 2007-02-28
DE69935357T2 (de) 2007-11-29
CN100358243C (zh) 2007-12-26
EP1315300A2 (de) 2003-05-28
EP1317069A3 (de) 2004-10-13
EP1304810B1 (de) 2007-02-28
KR100330608B1 (ko) 2002-03-29
EP1315300B1 (de) 2007-02-28
DE69935356T2 (de) 2007-11-08
DE69935358T2 (de) 2007-11-29
CN1503483A (zh) 2004-06-09
EP0954109B1 (de) 2004-12-22

Similar Documents

Publication Publication Date Title
DE69922732T2 (de) Verfahren und Vorrichtung zur Faltungsverschachtelung sowie Verfahren und Vorrichtung zur Faltungsentschachtelung
EP0850481B1 (de) Einrichtung zum sprungweisen adressieren bestimmter leitungen eines seriell arbeitenden digitalen speichers
DE69837299T2 (de) System und Verfahren zur schnellen Fourier-Transformation
DE2803989C2 (de) Digitaldatenspeicher mit wahlfreiem Zugriff
DE3638632C2 (de)
DE69732896T2 (de) Verfahren und Geräte zur Schachtelung/Entschachtelung von digitalen Daten und Kommunikationssystem
DE3525575C2 (de)
DE69907011T2 (de) Verallgemeinerter faltungsver- und -entschachteler
DE69819287T2 (de) Viterbi-Decodierer und Viterbi-Decodierverfahren
CA1223334A (en) Method for converting the number of bits of input bit stream
DE3209679C2 (de)
DE60108892T2 (de) Modul, vorrichtung und verfahren zum hochbitratigen dekodieren eines verketteten codes
DE3618136C2 (de)
EP0176981B1 (de) D/A-Wandler
DE3238157A1 (de) Verfahren und schaltungsanordnung zum ermitteln der synchronisierung
DE2415600C2 (de)
DE2900586A1 (de) Anordnung zum decodieren von codewoertern variabler laenge
EP0769853B1 (de) Logischer Block für einen Viterbi-Decoder
DE102004033387B4 (de) Digitale RAM-Speicherschaltung mit erweiterter Befehlsstruktur
DE69737304T2 (de) Dekoder für Kodes variabler Länge
EP0006466B1 (de) Ladungsverschiebungseinrichtung und Verfahren zum Betrieb dieser Einrichtung
DE19838782A1 (de) Sender, Empfänger und Verfahren in einem Telekommunikationssystem zum Erzeugen von PN-Sequenzen für eine Vielzahl von Benutzerkanälen
DE3104762C2 (de)
DE2525287A1 (de) Assoziativspeicher
DE19844140C1 (de) Kodier-/Dekodiervorrichtung zum Durchführen eines Block-Interleaving/Deinterleaving

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP