[go: up one dir, main page]

DE60117831T2 - Modul zur erzeugung von decoderschaltungen für faltungscodes, zugehöriges verfahren und schaltung - Google Patents

Modul zur erzeugung von decoderschaltungen für faltungscodes, zugehöriges verfahren und schaltung Download PDF

Info

Publication number
DE60117831T2
DE60117831T2 DE60117831T DE60117831T DE60117831T2 DE 60117831 T2 DE60117831 T2 DE 60117831T2 DE 60117831 T DE60117831 T DE 60117831T DE 60117831 T DE60117831 T DE 60117831T DE 60117831 T2 DE60117831 T2 DE 60117831T2
Authority
DE
Germany
Prior art keywords
module
circuit
circuit elements
decoding
parameter
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
DE60117831T
Other languages
English (en)
Other versions
DE60117831D1 (de
Inventor
c/o Telecom Italia S.p.A. Gianmario BOLLANO
c/o Telecom Italia S.p.A. Donato ETTORRE
c/o Telecom Italia S.p.A. Maura TUROLLA
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.)
TIM SpA
Original Assignee
Telecom Italia SpA
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 Telecom Italia SpA filed Critical Telecom Italia SpA
Application granted granted Critical
Publication of DE60117831D1 publication Critical patent/DE60117831D1/de
Publication of DE60117831T2 publication Critical patent/DE60117831T2/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • 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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Selective Calling Equipment (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Modul zum Erzeugen von Telekommunikationsschaltungen, welche eingerichtet sind, Faltungscodes zu decodieren, ein Verfahren zum Erzeugen dieses Schaltungstyps sowie eine zugehörige Schaltung.
  • Insbesondere betrifft die vorliegende Erfindung ein Modul zum Erzeugen integrierter Decoderschaltkreise, die zur Verwendung in Vorrichtungen zum Decodieren verketteter Faltungscodes (Turbo-Codes) eingerichtet sind, das Verfahren zum Definieren der Eigenschaften dieses Schaltungstyps und die Decodierschaltkreise, welche mit diesem Modul erzielt werden können.
  • Stand der Technik
  • Integrierte Schaltungen können mittels höherer Beschreibungssprachen wie VHDL (Very High Speed Integrated Circuit Hardware Description Language) entwickelt bzw. designed werden.
  • Mittels dieser Designtechnik ist es unter Verwendung von geeigneten Schaltungscompilern (silicon compilers) möglich, eine integrierte Komponente mit Eigenschaften zu erzielen, die unter Verwendung der höheren Sprache, beispielsweise die VDHL-Beschreibung, spezifiziert werden.
  • Es ist bekannt, daß die VHDL-Beschreibungen aus vorbestimmten Funktionen, wie diejenigen, welche sich auf eine Decoderschaltung beziehen, Modulbibliotheken bilden, die als IP- oder Intellectual Property-Bibliotheken bezeichnet werden, wodurch hochkomplexe elektronische Vorrichtungen wie SOC(System On Chip)-Systeme erstellt werden können.
  • Ein herausragendes Merkmal der Module, die einer IP-Bibliothek angehören (IP-Module oder Module), ist, daß diese für das Design verschiedener elektronischer Vorrichtungen verwendet werden können, da ihre Schnittstellenparameter mit anderen Modulen oder elektronischen Schaltungen vor der Schaltungskompilierung (silicon compilation) "spezialisiert" werden können, wodurch eine Zuweisung spezifischer Werte zu Variablen oder Parametern stattfinden kann, die während des Designschritts bestimmt wurden.
  • Gemäß der Aufgabe der vorliegenden Erfindung wird auf IP-Module für Telekommunikation und entsprechende Decoderschaltungen Bezug genommen, die in Vorrichtungen zum Decodieren verketteter Faltungscodes (Turbo-Decoding) verwendet werden können.
  • Hinsichtlich der Übertragung von digitalen Informationen (Daten) ist bekannt, daß die Fehler, welche beim Übertragen von Daten auf einen Kanal eingeführt werden, es notwendig machen, die Daten durch Hinzufügen von Redundanzbits vor der Übertragung zu codieren, und diese nach deren Empfang zu decodieren, indem die Redundanzbits entfernt werden. Im wesentlichen ist es durch Codieren und Decodieren aufgrund des Vorliegens der Redundanzbits möglich, die ursprünglichen Daten mit einem gewissen Grad an Bestimmtheit oder Wahrscheinlichkeit zu rekonstruieren, wodurch Fehler toleriert werden können, die durch den zugehörigen Übertragungskanal eingeführt werden.
  • Es können eine Vielzahl bekannter Techniken verwenden werden, um Daten zu codieren oder zu decodieren.
  • Zum Zwecke der vorliegenden Erfindung wird die Faltungscodierung und -decodierungstechnik betrachtet und insbesondere der verkettete Typ, d.h. Turbo-Codierung und -Decodierung.
  • Es sind Faltungscodierungsvorrichtungen bekannt, die eingerichtet sind, vorbestimmte Algorithmen zu verwenden, um die Information, welche der Codierung vorangeht, d. h. a priori-Information, bei der Codierung von Daten zu berücksichtigen. Es ist ferner bekannt, daß der Umfang, in dem die Codierung verläßlich ist oder, mit anderen Worten, der Umfang, innerhalb dessen die korrekt Wiederherstellung von Daten gewährleistet ist, direkt proportional zu der Menge an a priori-Information ist, die der Codieralgorithmus berücksichtigt. Die Komplexität des Algorithmus, der bei der Codierung und Decodierung verwendet wird, steigt zusammen mit der Menge an a priori-Information, die von diesem berücksichtigt wird.
  • Um die Ergebnisse, welche bei der Codierung erhalten werden können, zu verbessern, und um die Komplexität der Coder- und Decoderschaltungen und -vorrichtungen zu verringern, die für jeden gegebenen Grad an Leistungsfähigkeit (performance) erforderlich sind, wurden die sogenannten Turbo-Coding- und -Decoding-Vorrichtungen eingeführt.
  • Unabhängig davon, ob Turbo-Vorrichtungen zur Codierung oder Decodierung verwendet werden, umfassen diese eine Vielzahl von Faltungsschaltungen, die in verketteter Weise mittels einer oder mehrerer Schaltungen (die als Interleaver-Schaltungen bekannt sind) miteinander verbunden sind, welche geeignet sind, die Reihenfolge der Bits zu ändern oder diese zu verzögern.
  • Im allgemeinen bringt die Struktur bzw. Architektur von Turbocoding-Vorrichtungen (Turbo-Codierer) die Verwendung einer Vielzahl von Faltungscodierungsschaltungen mit sich, welche mittels eines seriellen oder parallelen Layouts derart miteinander verbunden sind, daß die Codierung parallel oder seriell ausgeführt wird.
  • Beispielsweise umfaßt eine Faltungscodierungsschaltung (Coderschaltung) 10 (1) für Turbocoder einen Dateneingang (u) und zwei Ausgänge, wovon einer für Eingangsdaten (u) vorgesehen ist, wenn die Schaltung als systematisch bezeichnet wird, und einer für Codierinformation (Code) (c) vorgesehen ist.
  • Ferner umfaßt die Schaltung ein Schieberegister 12 mit einer in einer Bitanzahl gemessenen Länge (v-1), wobei diese in dem Beispiel drei Bits beträgt, d.h. Bit 21, Bit 22 bzw. Bit 23. Dieses Schieberegister kann Daten (u) am Eingang empfangen und den Code (c) gemäß des Typs der internen Verbindung ausgeben, die in der Codierschaltung 10 verwendet wird.
  • Die Hauptparameter, die die Codierschaltung 10 kennzeichnen, sind:
    • k, der die Anzahl an Bits bezeichnet, die sequentiell pro Zeiteinheit eingeführt werden. In dem Beispiel und im allgemeinen wird mit k = 1 codiert.
    • k*(v-1), der die Größe des Schieberegisters 12 bezeichnet, das zur Codierung verwendet wird, und
    • n, der die Anzahl an Bits bezeichnet, die von dem Codierer ausgegeben werden.
  • Im allgemeinen empfängt ein Coder k Bits gleichzeitig, die in das Schiebregister 12 mit k*(v-1) Positionen eingegeben werden, wobei an dem Coderausgang n Ausgangsbits für jede k Eingangsbits vorgesehen werden (n ≥ k). Jedes Ausgangsbit wird über eine Binär- oder Modulo-2-Summe einer bestimmten Anzahl an Bits in dem Schieberegister 12 berechnet; natürlicherweise hängt diese Summe von der internen Verbindungslogik des Coders ab und sieht die sogenannten Generatorpolynome vor, die im weiteren beschrieben detailliert sind. In dem Beispiel wird der Wert u des Eingangsbits zu dem Wert eines Bits addiert, der über eine Rückkopplungsverbindung (Weg) vorgesehen wird. Der so erhaltene Wert wird daraufhin zu dem Wert des ersten Bits 21 des Schieberegisters 12 addiert, und das Ergebnis wird zu dem Wert des dritten Bits 23 des Schieberegisters 12 addiert; ferner werden in dem Rückkopplungsweg das dritte Bit 23 und das zweite Bit 22 des Schieberegisters 12 zu dem Eingangsbit addiert.
  • Es ist bekannt, daß Codierschaltungen 10 als rekursiv bezeichnet werden, wenn Rückkopplungsverbindungen vorliegen.
  • Auf diese Weise hängt jedes codierte Bit (c) nicht nur von den zu jedem Zeitpunkt empfangenen k Bits ab, sondern auch von den k*(v-1) Bits, die vorher empfangen wurden.
  • Gemäß dem Stand der Technik wird der Begriff "Codewort" verwendet, um den Satz von n Bits zu bezeichnen, die an dem Coderausgang bereitgestellt werden. In dem Beispiel gibt es zwei Codewörter, d.h. die Daten, die an dem Eingang (u) vorgesehen werden, und der dazugehörige Code (c). Der Wert k/n wird als "Coderate" bezeichnet.
  • Im allgemeinen sind die Leistungsmerkmale bzw. Leistungskennlinien der Coderschaltungen basierend auf den oben angegebenen Parametern definiert. Insbesondere umfassen diese Merkmale:
    • – v: Die Längeneinschränkung (constraint length) der Decoderschaltung oder des Codes, die natürlicherweise von der Länge des Schieberegisters abhängt,
    • – Nst: Anzahl der Zustände, die durch den Wert 2 k(v-1) gegeben ist, und der der Anzahl möglicher Binärkombinationen in dem Schieberegister entspricht,
    • – gc: Generatorpolynom für c, welches die Verbindungen zum Erzeugen des Codes c angibt, und
    • – gf: Generatorpolynom für fm, welches die Verbindungen zum Erzeugen der Rückkopplungsinformation f definiert.
  • Es ist bekannt, daß das Generatorpolynom eindeutig durch ein binäres Worts gekennzeichnet ist, welches aus v Bits besteht. Jedes Bit des Binärworts entspricht einer Position der Eingangsdaten oder des Schieberegisters und die Eingangsdaten oder die in dem Schieberegister gespeicherten Daten nehmen in der jeweiligen Position bei der Berechnung der Rückkopplung des Ausgangscodes teil, wenn, abhängig von der Konvention, das Bit in dem Generatorpolynom den Wert 1 aufweist. Wenn das Bit den Wert 0 hat, nimmt es nicht teil.
  • In dem in 1 dargestellten Beispiel ist v gleich 4 Bit, das Polynom gc ist, wie es für den Fachmann bereits ersichtlich ist, 1101 (13 DEZ), während gf gleich 1011 (11 DEZ) ist.
  • Die Codierung wird im allgemeinen mit einem sogenannten Trellis-Diagramm dargestellt.
  • Für die Coderschaltung in 1 zeigt beispielsweise die 2 das entsprechende Trellis-Diagramm 20, in dem alle möglichen Änderungen in der Coderschaltung bezogen auf die Zeit für zahlreiche Eingangswerte u dargestellt sind, und die Schaltungszustände sind graphisch mittels Verbindungslinien dargestellt, die Kanten genannt werden. Das Trellis-Diagramm 20 zeigt an den Kanten ferner Ausgangsdaten, d.h. u bzw. c.
  • Die obenstehenden Betrachtungen hinsichtlich der Leistungsmerkmale von Coderschaltungen für Turbovorrichtungen treffen ebenfalls auch für die Leistungsmerkmale von Decoderschaltungen für Turbovorrichtungen (Turbodecoder) zu, wenn gegeben ist, daß Decoderschaltungen Merkmale aufweisen, die äquivalent zu denen der Coderschaltungen sind, um zu erreichen, daß diese codierte Information korrekt decodieren können, wobei dies für den Fachmann leicht ersichtlich ist.
  • Die Eingangsinformation für Decoderschaltungen besteht aus Bits zur systematischen Informationsschätzung (u) und aus Bits zur Redundanzinformations-Schätzung (c), die gemäß dem Stand der Technik an dem Ausgang des Übertragungskanals nach einem Demodulationsschritt vorgesehen werden.
  • Der von Turbovorrichtungen verwendete Codiertyp, beispielsweise parallel oder seriell, ist ein weiterer Parameter, der bei der Implementierung von sowohl Turbodecodern als auch von den diesen enthaltenden Decoderschaltungen zu berücksichtigen ist.
  • Ein technischer Nachteil dieser Systeme nach dem Stand der Technik zum Design von Turbodecodern ist, daß diese keine zur Verfügung stehenden IP-Module von Decoderschaltungen sind, die unabhängig von verschiedenen Merkmalen verwendet werden können.
  • Insbesondere sind bekannte IP-Module zum Erzeugen von Faltungscode-Decoderschaltungen auf die Leistungsmerkmale beschränkt, und es gibt daher eine Eins-zu-Eins-Entsprechung zwischen den IP-Modulen und den Decoderschaltungen, welche einen vorgegebenen Satz an Leistungsmerkmalen aufweisen.
  • Ein weiterer Nachteil von Systemen nach dem Stand der Technik ist, daß keine bereitstehenden IP-Module für Decoderschaltungen vorgesehen sind, die unabhängig von Änderungen des Codiermodus verwendet werden können.
  • Dies bedeutet, daß die IP-Module von Decoderschaltungen, die in Turbodecodern verwendet werden können, abhängig von dem anzuwendenden Turbo-Codiermodus verschieden sind.
  • Ferner sind bekannte IP-Module für Decoderschaltungen auf die Verwendung von spezifischen Methoden und Technologien beschränkt.
  • Im wesentlichen sind bekannte IP-Module von Decoderschaltungen hinsichtlich der Leistungsmerkmale der Struktur bzw. Architektur nicht parametrisierbar, und die Decoder machen es aufgrund dieser Beschränkung erforderlich, Designentscheidungen sehr früh in dem Prozeß zu treffen. Wenn statt dessen diese Module parametrisierbar und flexibel wären, könnten diese Entscheidungen zu späteren Entwicklungsstufen getroffen werden. Dies würde deutliche Vorteile bringen, insbesondere in Fällen, in denen es notwendig ist, die Merkmale der zu verwendenden Algorithmen oder der Architektur zu ändern.
  • Ein weiterer technischer Nachteil, der insbesondere in Silizium oder mittels programmierbarer Logik implementierte Decoderschaltungen betrifft, liegt darin, daß diese Schaltungen nur ein Generatorpolynom verwenden können, sobald sie implementiert sind, oder mit anderen Wor ten, daß diese nur einen Decoderfunktionstyp zum Wiederherstellen ursprünglicher Daten verwenden können.
  • Ein solcher Schaltungstyp ist beispielsweise in: "First prototyping based on generic and synthesizable VHDL models ..." von Deltoso C. et al., RAPID SYSTEM PROTOTYPING, Proceedings 1996, beschrieben, wobei in dieser Druckschrift ein Verfahren zum Erzeugen von Viterbi-Decodern unter Verwendung von parametrisch konfigurierbaren VHDL-Beschreibungen offenbart ist.
  • Gemäß Deltoso C. et al., kann jede Decoderschaltung eine einzelne Viterbi-Decodierfunktion handhaben, auch wenn diese mittels einer Vielzahl von Polynomen implementiert ist.
  • "Scalable architectures for high speed channel decoding" von Dawid H. et al., VLSI SIGNAL PROCESSING, VII, 1994, WORKSHOP ON LA JOLLA, CA, USA, offenbart einen SOVA(Soft Output Viterbi Algorithm)-Schaltkreis, der mittelt einer VHDL-Beschreibung hinsichtlich der Parameter konfigurierbar ist. Die Lehre von Dawid H. et al. weist im wesentlichen die gleichen Beschränkungen wie die Druckschrift von Deltoso C. et al. auf.
  • "Efficient scalable architectures for Viterbi decoders" von Bitterlich S. et al., APPLICATION-SPECIFIC ARRAY PROCESSORS, Proceedings, 1993, offenbart eine Viterbi-Decoderschaltung, die mittels einer VHDL-Beschreibung parameterbezogen konfigurierbar ist, welche die gleichen Beschränkungen wie die Druckschriften von Deltoso C. et al. und Dawid H. et al. aufweist.
  • "VLSI Architecture for Turbo Codes" von Masera G. et al., IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, Band 7, Nr. 3, vom SEPTEMBER 1999 offenbart eine Studie zur Implementierung von zahlreichen Alternativen der Struktur von Turbodecodern und einem speziellen Decoder, der ein serielles Verkettungsschema implementiert und einen Codiergewinn von mehr als 7 dB aufweist.
  • Dies stellt eine sehr wesentliche Beschränkung von Systemen des Stands der Technik dar, insbesondere im Fall von Turbovorrichtungen, die serielle Decodierung verwenden.
  • Bei der Decodierung im seriellen Modus ist, wie bereits bekannt, eine zweite Decoderschaltung oder -stufe durch Decodieren zu anderen Zeiten belegt als die erste Schaltung oder Stufe, wenn von der ersten Stufe stammende Information zur Decodierung verwendet werden muß. Es ist daher grundsätzlich möglich, in Turbodecodern eine Einzel-Decoderschaltung zu verwenden, die Ansätze des seriellen Decodierens verwendet.
  • Mit Systemen nach dem Stand der Technik ist jedoch die Verwendung einer einzelnen Decoderschaltung nur möglich, wenn die Decoderstufen des Turbodecoders ein einzelnes Paar Generatorpolynome verwendet.
  • Wenn zwei oder mehr Decodierstufen verschiedene Generatorpolynome verwenden, bedeutet diese Einschränkung, daß serielle Turbodecoder eine entsprechende Anzahl an Decoderschaltungen umfassen müssen, wodurch die Komplexität der Vorrichtung und die zugehörigen Entwicklungskosten deutlich steigen, wenn jede einzelne Decoderschaltung im allgemeinen eine große Anzahl an äquivalenten Gattern, beispielsweise ungefähr 150000, enthält.
  • Diese Beschränkung könnte überwunden werden, wenn es Decoderschaltungen für Turbovorrichtungen geben würde, die eine Vielzahl von Generatorpolynomen handhaben könnten.
  • Offenbarung der Erfindung
  • Es ist die Aufgabe der vorliegenden Erfindung, ein IP-Modul zum Erzeugen von Decoderschaltungen mit verschiedenen Leistungsmerkmalen bzw. Leistungskennlinien vorzusehen, die derart eingerichtet sind, daß sie in Decodervorrichtungen verwendet werden können, die verschiedene Decodermodi und verschiedene Technologien anwenden.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zum Erzeugen von Decodermodulen mit den oben genannten Leistungsmerkmalen vorzusehen.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Decoderschaltung für Turbovorrichtungen vorzusehen, die eingerichtet ist, eine Vielzahl von Generatorpolynomen selektiv zu handhaben.
  • Gemäß dieser Aufgaben sieht die vorliegende Erfindung ein Modul zur Erzeugung von Decoderschaltungen nach Anspruch 1, ein Verfahren zum Erzeugen solcher Schaltungen nach Anspruch 7 und eine Schaltung zur Decodierung von Faltungscodes nach Anspruch 9 vor.
  • Kurzbeschreibung der Zeichnungen
  • Die oben genannten und weiteren Merkmale der vorliegenden Erfindung sind besser aus der folgenden Beschreibung einer bevorzugten Ausführung der Erfindung verständlich, die lediglich beispielhaft ist und nicht beschränkend sein soll.
  • 1 zeigt ein Schaltungsdiagramm einer systematischen und rekursiven Faltungscodierschaltung;
  • 2 zeigt ein Trellis-Diagramm für die in 1 dargestellt Schaltung;
  • 3 zeigt ein Flußdiagramm zum erfindungsgemäßen Erzeugen des Moduls und der Schaltung;
  • 4 zeigt ein allgemeines Eingangs-/Ausgangs-Diagramm für das erfindungsgemäße Modul;
  • 5 zeigt die allgemeine Struktur des Moduls und der Schaltung, die mittels des in 3 dargestellten Flußdiagramms erzielt werden kann;
  • 6 zeigt die Struktur des Speicherelements für das in 5 dargestellt Modul und die dort dargestellte Schaltung; und
  • 7 zeigt die Struktur des Leistungsmerkmal-Berechnungselements für das Modul und die Schaltung, die in 5 dargestellt sind.
  • Beste Art und Weise zur Ausführung der Erfindung
  • Im weiteren ist eine bevorzugte Ausführung der Erfindung bezugnehmend auf 3 beschrieben, die das Flußdiagramm zum Entwerfen bzw. Designen eines Moduls zum Erzeugen von Faltungscodier- und -decodierschaltungen gemäß der vorliegenden Erfindung zeigt.
  • In einer ersten Stufe, die mit 100 bezeichnet ist, werden die allgemeinen Spezifikationen für die Decoderschaltung definiert. Insbesondere werden zahlreiche Codierverfahren zusammen mit möglichen Strukturen bzw. Architekturen für die entsprechenden Decoderschaltungen untersucht.
  • Unter Bezugnahme auf die Faltungscodierung von Turbocodern liegt eine der ersten Beschränkungen für Turbodecoder und Schaltungen, die diese enthalten, darin, daß die Decodieroperationen für Faltungscodes mehrfach iteriert werden, wobei die Anzahl der Wiederholungen ein Vielfaches der Anzahl der Faltungscodierschaltungen ist, die in den Turbocodern enthalten sind.
  • Dies bedeutet, daß die Ausgabe einer Decoderschaltung die Eingabe einer anderen derartigen Schaltung ist. Dies bedeutet wiederum, daß es notwendig ist, Soft-Input Soft-Output (SISO)-Decoderschaltungen zu verwenden, die es, wie bekannt ist, ermöglichen, die Decoderzyklen fortlaufend zu iterieren, bis der Grad an Verläßlichkeit erreicht ist, der von den Spezifikationen erfordert wird.
  • Daher ist, basierend auf den Codierleistungsmerkmalen, die erste Spezifikationsanforderung für Decoderschaltungs-Generatormodule gemäß der vorliegenden Erfindung, daß diese Module SISO-Schaltungen erzeugen müssen, in denen die Eingangs- und Ausgangsinformationen aus wahrscheinlichkeitstheoretischen Schätzungen übertragener Information besteht.
  • Naturgemäß führt die Tatsache, daß die Module zum Erzeugen von SISO-Schaltungen implementiert werden müssen, zu einer zweiten Beschränkung und damit dazu, daß die Decodierung einen Algorithmus des SISO-Typs verwenden muß, beispielsweise den, der in dem Dokument "Soft-Input Soft-Output modules for the construction and distributed iterative decoding of code networks" von Benedetto, Divsalar, Montorsi and Pollara Department of Electronics, Politecnico di Torino, November 1996 beschrieben ist.
  • Figure 00110001
  • Die bekannten Algorithmen 1] und 2] betreffen die Trellis-Diagrammkanten und nicht die Zustandspaare, und sind dadurch vollständig allgemein gehalten. Daher kann der Algorithmus mit Codes arbeiten, die nicht notwendigerweise binär sind, und mit Trellis, die mehrere Übergänge aufweisen. Jedoch hat der Algorithmus 1] und 2] einen Hauptnachteil, der darin besteht, daß er einer strengen Implementierungsbeschränkung unterworfen ist, welche erfordert, daß der Algorithmus bis zum Ende der Datenübertragung warten muß, bevor die Decodierung beginnen kann.
  • Gemäß den Aufgaben der Erfindung wurde daher die Verwendung des sogenannten additiven SISO-Algorithmus (additiver Algorithmus mit gleitendem Fenster) bevorzugt, der gleichfalls bekannt ist.
  • Dieser Algorithmus, der sich von dem ursprünglichen SISO-Algorithmus 1] und 2] ableitet, ermöglicht es, mit einer konstanten Menge an gespeicherten Daten zu arbeiten (der daher von der Übertragungslänge unabhängig ist), und Wahrscheinlichkeitsverteilungen an seinem Ausgang zurückzugeben, die mit einer festen Verzögerung D, die Latenzzeit genannt wird, beaufschlagt sind.
  • Die additive Version des Algorithmus wurde gewählt, da dieser mehr Additions- als Multiplikationsoperationen während der Berechnung ausführt, und daher von den bekannten Schwierigkeiten nicht betroffen ist, die sich durch die Implementierung von Multiplikationsoperationen auf Hardwareebene ergeben. Die endgültige Version des Algorithmus ergibt sich wie folgt:
    Es soll gelten:
    Figure 00120001
    wobei α und β, die als Zweigmetrik (branch metric) bezeichnet werden, die Gewichtungen der vorangehenden und nachfolgenden Bits wiedergeben, indem sie die Wahrscheinlichkeit eines gegebenen Bits zu einem Zeitpunkt t definieren.
  • Der Algorithmus zur Berechnung der Ausgangswahrscheinlichkeit ergibt sich zu:
    Figure 00120002
    wobei gilt:
    Figure 00120003
    wobei:
    • – die kursiven Großbuchstaben (beispielsweise U, C, S, E) Wahrscheinlichkeitsvariablen bezeichnen;
    • – kursive Kleinbuchstaben (beispielsweise u, c, s, e) einzelne Auftrittsereignisse der Wahrscheinlichkeitsvariablen angeben, die oben genannt sind;
    • – der Großbuchstabe P(A) die Wahrscheinlichkeit eines Ereignisses A angibt;
    • – der Index k einen diskreten Zeitpunkt beschreibt, der aus der Menge der Zeitpunkte K ist;
    • – ein kursiver Kleinbuchstabe mit tiefgestellten und hochgestellten Zeichen (beispielsweise uk1k2) eine Zeitfolge von Variablen beginnend mit dem Zeitpunkt k1 bis zu dem Zeitpunkt k2 bezeichnet;
    • – die fettgedruckten Kleinbuchstaben (u, c, s, e) die vollständige Sequenz der zugehörigen Zufallsvariablen bezeichnen;
    • – runde Klammern "()" eine Zeitsequenz bezeichnen; und
    • – geschweifte Klammern "{}" eine endliche Elementenmenge bezeichnen.
  • Hinsichtlich des Trellis-Diagramms wird hingegen die folgende Notation verwendet:
    • – eine generische Kante wird mit der Variablen e bezeichnet;
    • – der Startzustand ist SS(e);
    • – der Endzustand ist SE(e);
    • – das Eingangssymbol ist u(e);
    • – das Ausgangssymbol ist c(e).
  • Hinsichtlich der α-Wahrscheinlichkeit oder Metrik-Initialisierung ändert sich nichts, jedoch werden β-Metriken als gleich und konstant für alle Zustände initialisiert, da die Iteration mit einem bekannten Zustand starten muß.
  • Figure 00130001
  • Das Problem der Verarbeitungskomplexität wurde daher von der Notwendigkeit, Multiplikationsoperationen durchzuführen, dahin verschoben, daß der Logarithmus einer exponentiellen Summe berechnet werden muß, der mit der folgenden Beziehung angenähert werden kann:
  • Figure 00130002
  • Es ist bekannt, daß diese Vereinfachung zu einer Verschlechterung der Leistungsfähigkeit bzw. Performance führt, wenn ein hohes Signal/Rausch-Verhältnis vorliegt. Wenn daher eine hohe Leistungsfähigkeit erreicht werden soll, kann der folgende rekursive Algorithmus adaptiert werden, der die exakte Lösung in der Gleichung 5] angibt, die im folgenden dargestellt ist:
    Figure 00140001
    wobei zwei Operationen ausgeführt werden, um (a) mit dem Algorithmus 5] auszuwerten: Ermitteln des Maximums zweier Zahlen, wobei dies relativ einfach zu implementieren ist, und Berechnen von log[1 + exp(–|Δ|)].
  • Die Implementierung dieser zweiten Operation in Gleichung 5] kann mittels einer Look-up-Tabelle ausgeführt werden.
  • Diese Version des Algorithmus ohne dieses Merkmal und mit dem genäherten Maximalwert wird MAX_log_MAP genannt, wobei die Version, welche den Korrekturfaktor anpaßt, log_MAP genannt wird. In jedem Fall sind sowohl der Algorithmus als auch die Implementierungsnäherungen gut bekannt.
  • Daher liegt eine zweite Spezifikationsanforderung für Decoderschaltung-Generatormodule gemäß der vorliegenden Erfindung darin, daß ein Decoderalgorithmus zur Implementierung in den zugehörigen Schaltkreis identifiziert werden muß.
  • Ein weiteres Spezifikationserfordernis, welches im Rahmen der Erzeugung des erfindungsgemäßen Moduls definiert werden muß, liegt in der Kennzeichnung einer der möglichen Strukturen bzw. Architekturen für das Modul.
  • Eine im Spezifikationsschritt 100 ausgeführt Analyse gibt an, daß die möglichen Strukturen, welche den SISO-Algorithmus implementieren, in zwei Gruppen unterteilt werden können: Strukturen mit Speicher und Pipelinestrukturen des Parallelregistertyps.
  • Die erstgenannten sind, wie bekannt ist, die beste Wahl, wenn keine Geschwindigkeitsbeschränkungen bestehen, da diese wesentlich weniger Ressourcen belegen.
  • Wem die striktesten Einschränkungen die Geschwindigkeit betreffen, ist die einzige Möglichkeit zum Erreichen hoher Decodiergeschwindigkeiten die Verwendung von Strukturen des parallelen Registertyps, welche die Pipelinetechnik anwenden.
  • Offensichtlich hängt die Wahl der zu implementierenden Struktur in wesentlichem Maße von der Anwendung ab, für die Module vorgesehen sind.
  • Es erwies sich bei der Berücksichtigung der striktesten Beschränkungen als vorteilhaft, die Lösung mit einer Pipelinestruktur mit parallelem Register als ein drittes Spezifikationserfordernis aufzunehmen.
  • In jedem Fall können, wie es leicht aus der Beschreibung der vorliegenden Ausführungen der Erfindung ersichtlich ist, Teile des Moduls zur Erzeugung von Faltungscode-Decoderschaltungen gemäß der vorliegenden Erfindung ferner verwendet werden, um ein Modell zu implementieren, welches Decoderschaltungen erzeugt, die eine Struktur mit Speichern aufweisen.
  • Wenn der Schritt 100 abgeschlossen ist, werden gemäß der vorliegenden Erfindung die Spezifikationen identifiziert, die benötigt werden, um die zu erzeugenden Schaltungstypen (beispielsweise SISO), den zu implementierenden Algorithmus (beispielsweise den additiven Gleitfensteralgorithmus) und die allgemeine Struktur (beispielsweise die parallele Pipelinestruktur) zu definieren.
  • In der zweiten Stufe, die mit 200 bezeichnet ist, werden der Grad an Programmierfähigkeit und die interne Struktur des Decodermoduls oder des IP-Moduls 50 und die entsprechenden Schaltungen definiert.
  • Die 4 zeigt die Schnittstellensignale des IP-Moduls 50 und deren Bedeutung, wodurch die Schaltungs-Leistungsmerkmale betont werden, die sich aus der Benutzung der Signale ergeben. Diese Leistungsmerkmale sind eng mit den Parametern des Moduls verbunden, wel che ein effektives Werkzeug zum Implementieren von Schaltungen sind, die einen breiten Bereich von Anwendungen abdecken sollen.
  • Gemäß des Beispiels einer bevorzugten Ausführung sind die SISO-Eingangsdaten (INPUT0–3) die in vier Worten dargestellte Wahrscheinlichkeiten, welche den möglichen Kombinationen von zwei Bits entsprechen, d.h., Abzweigungsmetriken, die das von dem Kanal empfangene Signal darstellen.
  • Daher wird angenommen, daß ein Modul sowie ein entsprechender Schaltkreis extern zu dem IP-Modul 50 vorgesehen ist, der ausgehend von Wahrscheinlichkeitsverhältnissen, die von dem Demodulatorausgang empfangen werden, Wort-Wahrscheinlichkeiten ermitteln kann.
  • Auf der anderen Seite besteht die Ausgabe aus berechneten Wahrscheinlichkeiten, zusammen mit den Wahrscheinlichkeiten des Informationsbits (u) und des Redundanzbits (c).
  • Die Eingangs-/Ausgangsdaten werden in dem IP-Modul 50 in parametrisierter Form dahingehend implementiert, daß diese vor der Schaltungs-Kompilierung (silicon compilation) spezialisiert werden können, und als B_METRIC bzw. OUT_METRIC für den Eingang bzw. Ausgang vorgesehen sind.
  • Mittels dieser Parameter ist es möglich, die Anzahl an Bits zu ermitteln, die verwendet werden, um Eingangs- und Ausgangsdatengrößen, d. h. INPUT 0–3 und Output_u bzw. Output_c, darzustellen.
  • Zur Validierung der Eingangsdaten sieht das Protokoll ein aktives Signal mit hohem Pegel DVALID_I vor.
  • Das IP-Modul 50 ist ferner mit START_FRAME_I- und END_FRAME_I-Signalen vorgesehen, welche das Modul synchronisieren können, indem das erste und das letzte Bit des Datenpakets identifiziert wird. Diese Technik gewährleistet den Betrieb des Moduls ohne die Länge des übertragenen Datenpakets zu diesen Parametern hinzufügen zu müssen. Informationen hinsichtlich des Beginns und des Endes jedes Pakets ist in jedem Fall interessant, da der Gleitfensteralgorithmus an den Beginn-, Betriebs- und End-Bearbeitungsstufen verschiedene Initialisierungen für die Metriken mit sich bringt.
  • Am Ausgang sind ein Datenvalidierungssignal (DVALID_0) und Identifizierungssignale für das erste und das letzte Bit in dem Paket (START_FRAME_0 und END_FRAME_0) vorgesehen, die von dem SISO-Modul 50 in der darauffolgenden Iteration benötigt werden.
  • Das mit EXP bezeichnete Signal ermöglicht es, Metriken in einer exponentiellen Darstellung wiederzugeben, wobei jedoch der Exponent in allen Metriken in dem Paket fest ist. Diese Technik wird tatsächlich oft bei dem Design von Turbodecodern verwendet. Tatsächlich liegt ein kritischer Aspekt dieser Problematiken darin, wie diejenigen Metriken behandelt werden, die zum Anstieg neigen und zum Überlauf der berechneten Amplituden bzw. Größen führen. Um dies zu vermeiden, liegt ein oft verwendeter Ansatz darin, alle Metriken zu teilen, wodurch deren Mantisse verringert wird, und wodurch Information für die Operation zurückbleibt, die unter Verwendung eines allgemeinen Exponenten ausgeführt wurde. Diese Information wird benötigt, wenn der Algorithmus mit einer logarithmischen Korrektur implementiert ist, da der Korrekturfaktor von dem Wert des Exponenten beeinflußt wird. Daher ist es möglich, das Problem des Metrik-Überlaufs zu vermeiden, ohne die Berechnungen zu überlasten, die ausgeführt werden müßten, wenn jede einzelne Metrik mit einem Exponenten dargestellt wäre.
  • Das Modul 50 wird ferner mit einem Steuersignal GEN_CTRL versorgt, mit dem es möglich ist, unter vier verschiedenen für die Codegeneratorpolynome vorgesehenen Konfigurationen (die hinsichtlich der Parameter eingestellt werden können) auszuwählen, und so Schaltungen zu erzeugen, die bis zu vier verschiedene Polynompaare handhaben können.
  • Insbesondere ist es mittels des GEN_CTRL-Steuersignals möglich, Schaltungen zu erzeugen, die bis zu vier verschiedene Polynompaare handhaben können.
  • Da die Decoderschaltung hochgradig komplex ist, liegt ein wichtiges wertsteigerndes Merkmal darin, daß diese als eine gemeinsame (shared) Ressource verwendet werden kann.
  • Im Unterschied zum Stand der Technik, in dem die Möglichkeit der Implementierung von Decodern für verknüpfte Faltungscodes unter Verwendung einer einzelnen SISO-Schaltung auf den Fall der symmetrischen Übertragungen beschränkt ist, wobei die Generatorpolynome der verknüpften Codes nicht veränderlich sind, ermöglicht es das erfindungsgemäße Modul 50, SISO-Schaltungen zu erzeugen, die die Ressourcenverwendung optimieren, und die zwei Decoderbearbeitungsstufen unter Verwendung einer einzelnen Schaltung zu implementieren, die im weiteren detailliert beschrieben ist.
  • Die Fähigkeit, mit verschiedenen Generatorpolynomen zu kommunizieren, ermöglicht es tatsächlich, die Beschränkungen der Systeme nach dem Stand der Technik zu lösen und zu gewährleisten, daß auch asymmetrische Übertragungen mit einer einzelnen SISO-Schaltung gehandhabt werden können.
  • Die Parametrierbarkeit des Moduls 50 ergibt sich aus den Fortschritten, die beim Erzielen von Schaltungen, welche in einer Vielzahl von Anwendungen arbeiten, erreicht wurden.
  • Dies wird erreicht, indem nicht nur Parameter für Eingangs-/Ausgangsdaten definiert werden, sondern auch durch die Verwendung von Konfigurationsparametern innerhalb des Moduls 50, die, ähnlich wie Eingangs-/Ausgangsparameter, auch zum Zeitpunkt der Schaltungskompilierung und der -synthese spezialisiert werden können.
  • Wie im weiteren detailliert beschrieben ist, werden die Konfigurationsparameter des internen Moduls vor der Synthese evaluiert und gewährleisten, daß, ausgehend von einer einzelnen Beschreibung, verschiedene Schaltungen erzeugt werden können.
  • Die folgende Beschreibung nimmt Bezug auf Tabelle 1, die alle Parameter von Modul 50 darstellt, welche spezialisiert werden können. Diese umfassen:
    • 1 – Codierparameter
    • 2 – Decodierparameter
    • 3 – Schnittstellenparameter und
    • 4 – Struktur- bzw. Architekturparameter.
  • Die Codierparameter charakterisieren den Übertragungscode. Die Anzahl von Codierzuständen wird mit dem Parameter N_STATES eingestellt, der dem Wert von 2 k(v-1) entspricht.
  • Dieser Parameter hat starke Auswirkungen auf die interne Struktur, da er eine führende Rolle bei der Ermittlung der aktuellen Ressourcen spielt, die in dem Modul verwendet werden.
  • Sobald die Anzahl an Zuständen ermittelt wurde und k = 1 angenommen wurde, sind die einzigen Parameter, durch die das Trellis-Diagramm 20 (2), welches wiederum die durchzuführende Codierung darstellt, eindeutig definiert werden, die Generatorpolynome gc und gf. Diese Parameter unterscheiden sich von allen anderen Parametern dahingehend, daß diese eine Bearbeitungsstufe umfassen, welche der Codekompilierung vorangeht. Diese Parameter werden tatsächlich von einer Prozedur verarbeitet, welche vor der Kompilierung stattfindet und zu einem Verbund bzw. Paket führt, in dem die Vektoren zur Trellis-Charakterisierung gespeichert werden. Da es möglich ist, bis zu vier Paare verschiedener Polynome zu handhaben, werden acht verschiedene Parameter verwendet.
  • Die Decodierparameter charakterisieren die Decodierung und betreffen als solche nur den Decoder, unabhängig von dem ausgeführten Codiertyp.
  • Die als DEPTH und MAC_log_MAP bezeichneten Parameter charakterisieren den ausgewählten Algorithmus, wobei OUTPUTS von dem gewählten Strukturtyp, der für den Decodierer als ganzen ausgewählt wurde, beeinflußt wird und im weiteren beschrieben ist.
    • – Entscheidungstiefe (Decision DEPTH) bestimmt die Fensterbreite, in der die Iterationen stattfinden. Der Einfluß dieses Parameters auf die Struktur der SISO-Schaltung ist leicht aus der Metrik-Speichereinheit ersichtlich; wobei, wie zu erwarten ist, die zu speichernde Anzahl an Dateneinträgen mit der Breite dieses Fensters steigt.
    • – MAX_log_MAP wählt die implementierte Einheit, wodurch es möglich ist, zu bestimmen, ob der Korrekturfaktor vernachlässigt wird, oder nicht; und
    • – OUTPUTS ist ein Parameter, der die Schaltungsflächenbelegung gemäß den Spezifikationen für das SISO-Modul optimiert, wenn vorausgesetzt werden kann, daß bestimmte Turbodecoderkonfigurationen nicht beide von der SISO-Schaltung erzeugten Ausgaben benötigen. In solchen Fällen ist es möglich, den entsprechenden Ausgang zu wählen, und daher die Verwendung von Logikressourcen zu vermeiden, die die nicht betrachtete Größe erzeugen.
  • Die Schnittstellenparameter, die bereits in Verbindung mit Eingangs-/Ausgangssignalen beschrieben wurden, betreffen die Wiedergabe der Eingangs- und Ausgangsparameter des SISO-Moduls.
  • Ihr Vorliegen ist aus zwei Gründen notwendig: Der erste Grund ist mit der Decodierqualität verknüpft, da diese Größen die interne Arithmetik und somit die Qualität der Ergebnisse definieren. Der zweite Grund ist mit der Notwendigkeit verknüpft, zu gewährleisten, daß sowohl das Modul als auch seine Schnittstellen notwendig sind, und gewährleistet somit, daß das Modul in komplexe Systeme ohne Schwierigkeiten eingefügt werden kann.
  • Insbesondere gibt der Parameter B_METRIC (4) die Menge an Bits an, welche zum Darstellen der Eingangswahrscheinlichkeiten verwendet werden, während OUT_METRIC die am Ausgang vorgenommene Abtrennung (cutoff) darstellt.
  • Strukturparameter haben für jeden Decodertyp Einfluß auf die interne Struktur, da diese die Charakteristika der internen Struktur hinsichtlich Geschwindigkeit und Flächenbelegung ändern.
  • Die Auswirkung der Strukturparameter ist mit der betreffenden spezifischen Anwendung verknüpft.
  • Einige Systeme geben möglicherweise keine bestimmten Anforderungen für die Verarbeitungsgeschwindigkeit des Datenflusses vor. In einem solchen System ist es wichtig, die Komplexität reduzieren zu können, indem Techniken zur gemeinsamen Nutzung von Ressourcen (resource sharing) angepaßt werden.
  • Der als SPEED bezeichnete Parameter ist ein Parameter, der den größten Einfluß bei der Definition der synthetisierten Struktur hat.
  • Tabelle 1
    Figure 00210001
  • Für den Fachmann ist es ersichtlich, daß das Modul 50 mit den so definierten Parametern ermöglicht, Faltungsdecoderschaltungen für Turbovorrichtungen mit extremer Flexibilität zu erzeugen. Insbesondere verbessert das Modul 50 aufgrund der oben beschriebenen Parameter die bislang zur Erzeugung von Decoderschaltungen verwendeten Module.
  • Die Identifikation dieser Parameter und deren Implementierung ist nicht trivial und ist eines der bestimmenden Merkmale der vorliegenden Erfindung.
  • Ferner sind die Schnittstellenparameter ein innovatives Merkmal für den Decoderschaltkreis, der mittels des IP-Moduls 50 erzeugt werden kann.
  • Die Struktur des SISO-Moduls 50 umfaßt ein Untermodul bzw. Sub-Modul, welches eine Speichereinheit (Speichermodul) 51 (5) wiedergibt, welches die von der Berechnung der Wahrscheinlichkeit betroffenen Metriken speichern kann, ein Untermodul bzw. Sub-Modul für Iterationen (STEP-Modul) 52, welches vorwärts- und rückwärtsgerichtete Iterationen ausführen kann, und ein Untermodul bzw. Sub-Modul zum Berechnen von Ausgaben (OCU-Modul) 55, welches ausgehend von den Werten der Pfad- und Abzweigmetriken berechnen kann.
  • Im weiteren folgt eine detaillierte Beschreibung jedes Untermoduls.
  • Die beschriebene Struktur ist schematisch in 5 dargestellt, welche wiedergibt, daß der Teil, welcher Iterationen ausführt, aus einer Vielzahl von elementaren STEP-Modulen 520 besteht, die jeweils einen Schritt der Rekursion ausführen, wie im weiteren detailliert dargestellt ist.
  • Gemäß eines Beispiels der vorliegenden Erfindung mit einer parallelen Pipelinestruktur wird das Speichermodul 51 mittels eines Schieberegisters implementiert. Die Registergröße hängt stark von der Pipelinetiefe der Module ab, die die einzelnen Iterationsschritte berechnen, und ist aufgrund der DEPTH-Parameter parametrisierbar.
  • Hinsichtlich der Register für den i-ten Rekursionsschritt ist die für die Vorwärtsiteration (alpha Metriken) benötigte Tiefe gleich der Pipelinetiefe minus eins, da der nächste Schritt die Abzweigungsmetriken für den kommenden Schritt braucht. Für die Rückwärtsiteration ist andererseits die erforderliche Tiefe diejenige der Pipeline plus eins, da in diesem Fall die Metriken für den vorangehenden Schritt an die STEP-Module weitergeleitet werden müssen. Um die Ressourcenbelegung zu optimieren, werden die Register, welche für die Metriken zur Vorwärtsiteration notwendig sind, und diejenigen, die für die Rückwärtsiteration notwendig sind, in einem einzelnen Schieberegister zusammengeführt, dessen Amplitude dem Vierfachen des Werts von B_METRIC entspricht.
  • Dieser Aspekt ist besser unter Bezugnahme auf die 6 verständlich, die ein vereinfachtes Beispiel betrachtet, in der die Pipelinetiefe gleich zwei ist und das Iterationsfenster gleich vier ist.
  • In diesem Fall ist die Tiefe des Schieberegisters 510 gleich zwölf, wenn 2 + 1 Schieberegister in jedem Schritt verwendet werden und vier Schritte notwendig sind.
  • Am Ausgang werden Signale erzeugt, die an das Modul weitergeleitet werden, welches die Pfadmetriken berechnet, und werden für die Vorwärtsiteration als ALPHA BRANCH bezeichnet, und für die Rückwärtsiteration als BETA BRANCH bezeichnet.
  • Zu dem Schieberegister 510, welches Abzweigungsmetriken enthält, wird ein 1-Bit-Schieberegister 511 addiert, welches Information über das erste und letzte Bit in dem Rahmen (der in dem Protokoll beginnend mit den "Start"- und "Ende"-Signalen gespeichert ist) enthält, um zu ermöglichen, daß die Pfadmetriken am Beginn und am Ende des Rahmens korrekt initialisiert werden.
  • Jedes elementare STEP-Modul (Elementarmodul) 520 bezieht sich auf die Berechnung von einem Vorwärts- und Rückwärtsrekursionsschritt. Der Teil des ausgeführten Algorithmus wird in den unten stehenden Formeln 6] und 7] zusammengefaßt, der sich einfach aus den Formeln 3] und 4] ableiten läßt, indem die in Formel 5] dargestellte Entwicklung angewendet wird.
  • Im wesentlichen wird die Pfadmetrik für jeden Zustand berechnet, beginnend mit dem letzten Zustand für die Vorwärtsrekursion und dem darauffolgenden Zustand" für die Rückwärtsrekursion.
  • Da die Metriken für den betrachteten Pfad mittels des Speichermoduls (das Schieberegister) 51 ausgewählt werden, beziehen sich die Eingaben des Elementarmoduls 520 für Beta-Pfadmetriken auf den darauffolgenden Schritt und für Alpha-Pfadmetriken auf den vorangehenden Schritt.
  • Es ist zu beachten, daß das STEP-Modul 52 und seine Elemente 520 erfindungsgemäß auch vollständig in einer Struktur mit Speichern wiederverwendet werden könnten, wenn die Aufgaben dieser Module in einem Schritt der Vorwärts- und Rückwärtsrekursionen des Algorithmus einfach ausgeführt werden können, wodurch dieser von der Ausführung von Rekursionszyklen entlastet wird.
  • Formeln 6] und 7]
    Figure 00240001
  • Jedoch wäre es notwendig, die Anzahl an zu instanziierenden Pipelineregistern in die Parameter der speichergestützten Lösung einzufügen, wenn die Pipelinetechnik bei den speichergestützten Lösungen vollkommen nutzlos ist.
  • Dies könnte natürlich verwirklicht werden, wenn ein Optimierungsbefehl verwendet wird, der für das Syntheseprogramm kennzeichnend ist, welches eine parametrierbare Anzahl an Registern verteilt, die in der Nachfolge des Schritts (step tail) instanziiert werden, so daß der kombinatorische Pfad vollständig geteilt ist.
  • Daher hängen das beschriebene STEP-Modul 52 und seine elementaren Komponenten 520 nicht von der Struktur ab, unabhängig davon, ob es eine Struktur mit parallelen Pipelines oder eine Struktur mit Speichern vorsieht.
  • Die Struktur des elementaren STEP-Moduls 520 wird im Detail bezugnehmend auf einen generischen Abschnitt des Trellis-Diagramms 20 (2, 5 und 7) zur Codierung in einer UMTS-Anwendung beschrieben; es ist zu bemerken, daß das Diagramm in gleiche schmetterlingsartige (butterfly-type) Unterteilungen 201 unterteilt werden kann, so daß In formationen hinsichtlich nur zwei Metriken notwendig sind, um die zwei Zustände zu berechnen.
  • Auf Basis dieser Analyse wurde das Elementarmodul 520 weiter in schmetterlingsartige Elementarmodule 521 und Elementarmodule 522 mit geteilten Metriken unterteilt.
  • Die zu berechnenden Metriken, welche die Schmetterlingsstruktur 201 betreffen, und die Pfadmetriken, welche die Eingangszustände betreffen, müssen an die Schmetterlingsstruktur-Module 521 geleitet werden.
  • Für die i-te Schmetterlingsstruktur 521 ist es notwendig, die Metriken für die Zustände 2*i und 2*i + 1 weiterzuleiten, wenn der Block die Alpha-Metriken (Vorwärtsrekursion) berechnet, wohingegen die Metriken für die Zustände i und i + N_STATES/2 weitergeleitet werden müssen, wenn die Beta-Metriken berechnet werden.
  • Die Aufgabe der Auswahl der richtigen Abzweigungsmetriken an den zahlreichen Schmetterlingsstruktur-Modulen 521 wurde an die Module 522 mit geteilten Metriken 522 delegiert, die, ausgehend von dem Verbund, der automatisch von den Trellis erzeugt wird und der die Trellis-Vektoren enthält, die Schmetterlingsstruktur-Einheiten identifiziert, mit denen diese verknüpft sind, und die Metriken für die richtigen Worte verteilt.
  • An dem Ausgang jedes Elementarmoduls 520 wird eine Registeranordnung instanziiert. Diese Register speichern die Ausgaben der Schmetterlingsstruktur-Module 521 in den korrekten Positionen, wo diese von dem nächsten elementaren STEP-Modul übernommen werden können.
  • Die gemäß diesem Beispiel erhaltene Struktur einer bevorzugten Ausführung ist in der 7 dargestellt, welche das Trellis-Diagramm 20 (7) zum Codieren in einer UMTS-Anwendung betrifft.
  • Es ist zu bemerken, daß eine solche Unterteilung (break down) des STEP-Moduls 52 (2, 5 und 7) es ermöglicht, die Parametrisierbarkeit aller in dem Trellis 20 dargestellten Merkmale zu erreichen.
  • In Anwendungen, in denen Geschwindigkeit kein limitierender Faktor ist, kann sinnvollerweise angenommen werden, daß Schmetterlingsstruktur-Module gemeinsam genutzt werden können, um die Funktionen der elementaren STEP-Module 520 in einigen Taktzyklen auszuführen.
  • Insbesondere werden vier Konfiguration für dieses charakteristische Element der vorliegenden Erfindung in Betracht gezogen; diese Konfigurationen implementieren 8, 4, 2 bzw. 1 Schmetterlingsstruktur-Module 521. Offensichtlich werden weitere Module 522 mit geteilten Metriken zum Umschalten von Metriken für diese Konfigurationen hinzugefügt, zusammen mit den Steuermodulen für die zahlreichen Stufen.
  • Ferner muß das Speichermodul 51 gewährleisten, daß Information für eine Zeit zurückgehalten wird, die eine Taktperiode übersteigt. Dadurch ist es notwendig, ein weiteres Steuermodul in der nächst höher gelegenen Hierarchieebene zu verwenden, um die STEP-Module 520 und das Speichermodul 51 zu synchronisieren.
  • Es ist zu bemerken, daß ein derartiger Ansatz durch die speziellen Maßnahmen ermöglicht wird, die in der VHDL-Beschreibung verwendet werden. Durch die Verwendung von "Erzeugungs"-Zyklen ist es tatsächlich möglich, verschiedene Strukturkonfigurationen mit einem hohen Grad an Parametrisierbarkeit zu handhaben, und gleichzeitig eine Beschreibung zu produzieren, die synthetisiert und optimiert werden kann.
  • Der Vollständigkeit halber ist zu erwähnen, daß die Funktion der Schmetterlingsstruktur-Module 521 darin liegt, die Pfadmetriken aus den Metriken des vorherigen Schritts und den Abzweigungsmetriken zu berechnen. In der schematischen Darstellung der Schmetterlingsstruktur-Module 521 werden Takt-, Reset- und Protokollsignale vernachlässigt.
  • Die auszuführenden Operationen sind durch die folgenden Ausdrücke 8] und 9] gekennzeichnet:
    OUT_UP = max[IN_UP + PRB_A,IN_DN + PRB_B] + corr
    OUT_DN = max[IN_UP + PRB_B,IN_UP + PRB_A] + corr
    wobei OUT_UP und OUT_DN die Ausgangs-Pfadmetriken wiedergeben, welche aus IN_UP-IN_DN (Eingangspfadmetriken) und PRB_A-PRB_B (Eingangsabzweigungsmetriken) berechnet werden, und welche einen Korrekturfaktor wiedergeben.
  • Dieser Korrekturfaktor wird von einem getrennten Modul berechnet, welches einfach eine Look-up-Tabelle implementiert. Diese Lösung wurde angepaßt, um die Algorithmusauswahl an den Benutzer mittels des Max_log_MAP-Parameters zu delegieren. Dieses Modul instanziiert sich in weitere Untermodule, welche die elementaren Funktionen zum Durchführen zweier Additionsoperationen, deren Vergleich und Auswahl der größten Summe ausführt.
  • Diese ACS(Add Compare Select; Addieren-Vergleichen-Auswählen)-Module, die in der Figur nicht dargestellt sind, sind die grundlegenden Berechnungsblöcke für das Decodermodul 50, und sind die Berechnungseinheiten, die in dem gesamten SISO verteilt sind.
  • Die Split_metrics-Module (Module mit geteilten Metriken) 522 wurden insbesondere dafür entwickelt, um die parametrische Beschreibung des STEP-Moduls 52 zu erlauben.
  • Tatsächlich liegt die größte Schwierigkeit beim Handhaben verschiedener Generatorpolynome mit parametrierbaren Eigenschaften bei der Auswahl der korrekten Abzweigungsmetriken.
  • Das Split_metrics-Modul 522 beginnt mit einem Parameter, der in der Beschreibung weitergeleitet wird, und erzeugt während der Synthese programmierbare Multiplexer auf der Grundlage der Vektorwerte, welche aus den Trellis-Parametern erzeugt werden. Diese Vektoren werden zum Zeitpunkt der Erzeugung als Verbund bzw. Paket (package) vorgesehen.
  • Die Entwicklung dieses Moduls hat es ermöglicht, eine wichtige wertvolle Funktion vorzusehen, da die mehreren Parameterpaare als Parameter weitergeleitet werden können. Das gen_ctrl-Signal, welches die zu verwendenden Generatorpolynome handhabt, hat direkte Auswirkungen auf die split_metric-Module, wodurch eine Schaltungslogik erzeugt wird, die hauptsächlich aus Multiplexern besteht, wobei die Zwischenverbindungen je nach Notwendigkeit geschaltet werden. Es wurde erkannt, daß das Syntheseprogramm bei der Verarbeitung der Bereitstellung der Zwischenverbindungen keine zusätzliche Logik jeglicher Art instanziiert, wenn alle Vektorenpaare gleich sind.
  • Das OCU-Modul 55 in diesem Beispiel einer bevorzugten Ausführung ist das Modul, welches Ausgaben auf der Basis von Iterationsergebnissen berechnet, welche von den elementaren STEP-Modulen 520 und den Eingangsdaten geliefert werden.
  • Dieses Modul führt die Funktionen gemäß den folgenden Formeln 10] und 11] durch:
  • Figure 00280001
  • Wie ersichtlich ist, unterscheiden sich diese Formeln nur leicht von den Formeln 6] und 7]. Daher ist das OCU-Modul 55 durch die Tatsache gekennzeichnet, daß seine Struktur hinsichtlich aller Aspekte derjenigen des elementaren STEP-Moduls 520 gleicht.
  • Sobald die Stufe 200 abgeschlossen wurde und der Grad an Programmierbarkeit sowie die interne Struktur des IP-Moduls 50 definiert wurden, wird eine dritte Stufe 300 ausgeführt. In dieser dritten Stufe, welche ein weiteres kennzeichnendes Merkmal der vorliegenden Erfindung ist, werden die einzelnen Untermodule, welche das IP-Modul 50 bilden, entwickelt und beschrieben, beispielsweise unter Verwendung der VHDL-Sprache.
  • Zum Zwecke der Vollständigkeit ist der Quellcode der wesentlichen Merkmale, der zum Implementieren der vorliegenden Erfindung verwendet wird, im folgenden angegeben.
  • Insbesondere werden die sogenannten "Entities" und "strukturellen Beschreibungen" (Begriffe, deren Bedeutung denjenigen bekannt ist, welche mit den Formalismen zur Beschreibung von Modulen in VHDL-Sprache vertraut sind) für die wesentlichen Merkmale vorgesehen.
  • VHDL-CODE FÜR SISO-MODUL 50 VHDL-Code (Entities und strukturelle Beschreibung)
    Figure 00290001
  • Figure 00300001
  • Figure 00310001
  • Figure 00320001
  • Figure 00330001
  • Figure 00340001
  • Figure 00350001
  • Figure 00360001
  • Figure 00370001
  • Figure 00380001
  • Figure 00390001
  • Figure 00400001
  • Figure 00410001
  • Figure 00420001
  • Figure 00430001
  • Figure 00440001
  • Figure 00450001
  • Figure 00460001
  • Figure 00470001
  • Figure 00480001
  • Wenn die VHDL-Quellsprache-Erzeugungsstufe 300 abgeschlossen ist, wird eine vierte Bearbeitungsstufe 400 ausgeführt, in der die Module, welche die IP-Coding Module 50 bilden, mit einzelnen Parametergruppen (Parameterszenarios) spezialisiert werden, beispielsweise um eine Decoderschaltung für eine UMTS-Anwendung zu implementieren.
  • In der fünften Stufe 500 wird eine verzögerungsfreie Logiksimulation für jedes vorher definierte Szenario ausgeführt.
  • Eine Logiksimulation kann beispielsweise unter Verwendung von kommerziell erhältlichen Programmen wie SYNOPSYS VSS ausgeführt werden.
  • Während der Stufe 500 können wiederholte Zyklen ausgeführt werden, um Module und/oder Parameter oder Konstanten zu korrigieren, wenn Fehler gefunden werden.
  • Wenn diese Stufe erfolgreich abgeschlossen ist, wird das IP-Modul 50 insgesamt verzögerungsfrei für alle möglichen Parameterszenarien simuliert.
  • In der sechsten Stufe 600 wird eine erste Kompilierung ausgeführt, beispielsweise mit dem SYNOPSYS Design Analyzer-Programm, unter Verwendung eines bestimmten Parameterszenarios, beispielsweise eines, welches zu einer bestimmten Faltungscodierungsschaltung führt.
  • Ferner können in der Stufe 600 wiederholte Zyklen ausgeführt werden. Wie dem Fachmann bekannt ist, können solche wiederholte Zyklen die Korrektur von Modulen und/oder bestimmten Parametern oder Konstanten umfassen.
  • In der siebten Stufe 700 wird eine logische Optimierung ausgeführt, beispielsweise unter Verwendung des SYNOPSYS Design Analyzer-Programms, und eine Bibliothek physikalischer Komponenten wird an die kompilierten Module "angefügt", um dadurch eine aktuelle Synthesekompilierung zu erhalten, welche zur Erzeugung des physikalischen Layouts einer Codierschaltung zur Verwendung in einem Turbodecoder notwendig ist.
  • Für den Fachmann ist leicht ersichtlich, daß die Ausgabe dieser Stufe 700 entweder die Information ist, die zur physikalischen Implementierung einer vollständig kundenspezifischen integrierten Schaltung erforderlich ist, die von dem Bereitsteller der physikalischen Bibliotheken leicht erhältlich ist, die mit dem kompilierten Modul (Stufe 800) "verknüpft" sind, oder, alternativ, die Ausgabe die Information ist, welche zur physikalischen Programmierung der programmierbaren Komponenten (Stufe 900), beispielsweise FPGAs (feldprogrammierbare Gate Arrays), notwendig ist.
  • Daher ist es mit dem beschriebenen Flußdiagramm unter Verwendung eines Codiermoduls 50 gemäß der hier beschriebenen Struktur und durch Spezialisierung der Module mit einem bestimmten Parameterszenario erfindungsgemäß möglich, eine Vielzahl von Codierschaltungen zu erhalten, die jeweils beispielsweise Faltungscodes mittels einer Vielzahl von Generatorpolynomen decodieren, die selektiv aktiviert werden können.
  • Die Abmessungen, Formen, Materialien, Komponenten, Schaltungselemente und Kontakte, wie sie in der voranstehenden Beschreibung genannt werden, sowie auch die dargestellten Details der Schaltung und der Umsetzung sowie des Verfahrens zum Betreiben können in zahlreichen naheliegenden Hinsichten verändert werden, ohne den Umfang der Erfindung zu verlassen, wie er durch die angefügten Ansprüche definiert ist.

Claims (9)

  1. Modul zur Erzeugung von SISO, Soft-Input/Soft-Output-Decoderschaltungen (50) für Faltungscodes für die Telekommunikation, mit: – einer parametrisch konfigurierbaren Speichereinrichtung (51), die Speicherschaltungselemente aufweist, die zu digitalen Informationen gehörige wahrscheinlichkeitstheoretische Informationen speichern können, – einer parametrisch konfigurierbaren Berechnungseinrichtung, die Berechungsschaltungselemente (520) aufweist, die die wahrscheinlichkeitstheoretischen Informationen auf der Grundlage von zumindest einem Paar von Generatorpolynomen zur Wiederherstellung der digitalen Informationen decodieren kann, – einer Vielzahl von Paaren verschiedener, parametrisch konfigurierbarer und durch ein Steuersignal (GEN_CTRL) auswählbarer Generatorpolynome und – einer Szenarieneinrichtung zur Konfiguration der Speichereinrichtung, der Berechnungseinrichtung und der Vielzahl von Paaren von verschiedenen Polynomen mit Parameterszenarien und zum Erzeugen einer einzelnen SISO-Schaltung, die asymmetrische Übertragungen durch ausgewählte Aktivierung verschiedener Generatorpolynome mittels des Steuersignals (GEN_CTRL) während der Decodierung handhaben kann.
  2. Modul nach Anspruch 1, dadurch gekennzeichnet, daß die Szenarieneinrichtung zumindest einen Längeneinschränkungsparameter aufweist, der mit den wahrscheinlichkeitstheoretischen Informationen in Zusammenhang steht und konfigurierbar ist, um die Größe der Speicherschaltungselemente einzurichten.
  3. Modul nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Szenarieneinrichtung zumindest eine Anzahl von Zustandparametern aufweist, die mit den wahrscheinlichkeitstheoretischen Informationen in Zusammenhang stehen und konfigurierbar sind, um die Größe der Speicherschaltungselemente und der Berechnungsschaltungselemente einzurichten.
  4. Modul nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß die Szenarieneinrichtung zumindest einen Parameter zur gemeinsamen Ressourcennutzung aufweist, der konfigurierbar ist, um eine Maximalanzahl von Berechnungsschaltungselementen einzurichten, die gemeinsam zur Decodierung von Faltungscodes verwendet werden können.
  5. Modul nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Szenarieneinrichtung zumindest einen Architekturparameter aufweist, der konfigurierbar ist, um zu bestimmen, daß die Decodierschaltung zu einem bestimmten Architekturtyp zugehörig ist.
  6. Modul nach einem der vorhergehenden Ansprüche, gekennzeichnet durch zumindest einen weiteren, ein Steuersignal (GEN_CTRL) für die Decodierschaltung darstellenden Parameter zur ausgewählten Aktivierung eines aus einer Vielzahl von Paaren von Generatorpolynomen, die die wahrscheinlichkeitstheoretischen Informationen decodieren können.
  7. Verfahren zum Realisieren einer SISO (Soft Input Soft Output)-Schaltung zur Decodierung von Faltungscodes für die Telekommunikation, mit den folgenden Schritten: A) Entwickeln und Beschreiben eines parametrischen Anweisungsmoduls (50), das Speicherschaltungselemente aufweist, die zu digitalen Informationen gehörige wahrscheinlichkeitstheoretische Informationen speichern können, mit einer durch einen elektronischen Computer interpretierbaren Programmiersprache, B) Entwickeln und Beschreiben eines parametrischen Anweisungsmoduls, das Berechungsschaltungselemente aufweist, mit der Sprache, wobei die Berechungsschaltungselemente eine Vielzahl von Paaren von verschiedenen, parametrisch konfigurierbaren und mittels einer Steuereinsignaleinrichtung (GEN_CTRL) auswählbaren Generatorpolynomen aufweist und die Berechnungsschaltungselemente die wahrscheinlichkeitstheoretischen Informationen auf der Grundlage zumindest eines Paars von Generatorpolynomen zur Wiederherstellung der digitalen Informationen decodieren können, C) Spezialisieren der so entwickelten und beschriebenen Module durch Zuweisen eines bestimmten Parameterszenarios zu den Modulen. D) Erstellen der spezialisierten Module auf Silizium oder auf programmierbaren logischen Einheiten mittels des elektronischen Computers, um mittels des Parameterszenarios eine einzige SISO-Schaltung zu erhalten, mit Leistungskennlinien, die sich entsprechend Veränderungen in den Parameterszenarien unterscheiden werden, wobei die Vielzahl von Paaren verschiedener Generatorpolynome und Steuersignaleinrichtungen (GEN_CTRL) für eine ausgewählte Aktivierung von verschiedenen Paaren von Generatorpolynomen während der Decodierung konfiguriert ist, um asymmetrische Übertragungen zu handhaben.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß Schritt B) den weiteren Schritt Ausbilden eines Parameters, der ein Steuersignal (GEN_CTRL) zur ausgewählten Aktivierung jedes der Vielzahl von Paaren von Generatorpolynomen, das wahrscheinlichkeitstheoretische Informationen decodieren kann, in der SISO-Schaltung bezeichnet umfaßt.
  9. Einzelne SISO (Soft-Input/Soft-Output)-Schaltung (50) zur Decodierung von Faltungscodes, mit: – Speicherschaltungselementen (51) zur Speicherung von zu digitalen Informationen gehörigen wahrscheinlichkeitstheoretischen Informationen und, – Berechnungsschaltungselementen (520) zur Dekodierung der wahrscheinlichkeitstheoretischen Informationen, dadurch gekennzeichnet, daß die Berechnungsschaltungselemente eine Vielzahl von Paaren von Generatorpolynomen aufweisen, die eine Vielzahl von Decodierfunktionen darstellen, und durch eine Steuersignaleinrichtung (GEN_CTRL) zur ausgewählten Aktivierung von verschiedenen Paaren von Generatorpolynomen in den Berechnungsschaltungselementen während der Decodierung, um asymmetrische Übertragungen handzuhaben.
DE60117831T 2000-10-19 2001-10-11 Modul zur erzeugung von decoderschaltungen für faltungscodes, zugehöriges verfahren und schaltung Expired - Lifetime DE60117831T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
ITTO20000984 2000-10-19
IT2000TO000984A IT1320715B1 (it) 2000-10-19 2000-10-19 Modulo generatore di circuiti per la decodifica di codiciconvoluzionali, metodo per la generazione di tale tipo di circuito e
PCT/IT2001/000514 WO2002033834A1 (en) 2000-10-19 2001-10-11 Module for generating circuits for decoding convolutional codes, related method and circuit

Publications (2)

Publication Number Publication Date
DE60117831D1 DE60117831D1 (de) 2006-05-04
DE60117831T2 true DE60117831T2 (de) 2006-12-14

Family

ID=11458138

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60117831T Expired - Lifetime DE60117831T2 (de) 2000-10-19 2001-10-11 Modul zur erzeugung von decoderschaltungen für faltungscodes, zugehöriges verfahren und schaltung

Country Status (10)

Country Link
US (1) US7401284B2 (de)
EP (1) EP1336250B1 (de)
JP (1) JP3984162B2 (de)
KR (1) KR100855018B1 (de)
AT (1) ATE320112T1 (de)
AU (1) AU2001295903A1 (de)
DE (1) DE60117831T2 (de)
IT (1) IT1320715B1 (de)
RU (1) RU2298283C2 (de)
WO (1) WO2002033834A1 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376939B1 (en) * 2002-02-07 2008-05-20 Xilinx, Inc. System for architecture and resource specification and methods to compile the specification onto hardware
JP2004080508A (ja) 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
NL1027012C2 (nl) * 2004-09-10 2006-01-23 Tatung Co Herbruikbaar IP protocolwerkwijze voor een samenstel-op-chip inrichting.
FR2876472B1 (fr) * 2004-10-08 2008-09-19 Tatung Co Ltd Procede de protocole pour composant materiel ip reutilisable pour un dispositif de systeme sur puce
EP2808345A3 (de) 2007-12-05 2015-03-11 Massachusetts Institute of Technology Aglycosylierte Immunoglobulinmutanten
US20110087949A1 (en) * 2008-06-09 2011-04-14 Nxp B.V. Reconfigurable turbo interleavers for multiple standards
US8406342B2 (en) 2008-06-19 2013-03-26 Qualcomm Incorporated Methods and systems for improving frame decoding performance using known information
EP3219731A1 (de) 2010-10-01 2017-09-20 Oxford BioTherapeutics Ltd Anti-ror1-antikörper
JOP20210044A1 (ar) 2010-12-30 2017-06-16 Takeda Pharmaceuticals Co الأجسام المضادة لـ cd38
WO2013155346A1 (en) 2012-04-11 2013-10-17 The Regents Of The University Of California Diagnostic tools for response to 6-thiopurine therapy
US9260527B2 (en) 2013-03-15 2016-02-16 Sdix, Llc Anti-human CXCR4 antibodies and methods of making same
TWI527040B (zh) * 2013-05-13 2016-03-21 群聯電子股份有限公司 資料寫入方法、記憶體儲存裝置與記憶體控制器
CN104182293B (zh) * 2013-05-22 2017-06-30 群联电子股份有限公司 数据写入方法、存储器存储装置与存储器控制器
RS61620B1 (sr) 2013-10-11 2021-04-29 Oxford Bio Therapeutics Ltd Konjugovana antitela prema ly75 za lečenje kancera
CN117330747A (zh) 2016-07-15 2024-01-02 武田药品工业株式会社 用于评估对于成浆细胞和浆细胞耗竭性疗法的应答的方法和材料
RU2634201C1 (ru) * 2016-07-26 2017-10-24 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Устройство имитостойкого кодирования и декодирования информации избыточными систематическими кодами
GB201703876D0 (en) 2017-03-10 2017-04-26 Berlin-Chemie Ag Pharmaceutical combinations
MX2020007429A (es) 2018-01-12 2020-10-15 Takeda Pharmaceuticals Co Dosificacion subcutanea de anticuerpos anti grupo de diferenciacion 38 (cd38).
JP7526099B2 (ja) 2018-03-28 2024-07-31 武田薬品工業株式会社 抗cd38抗体の皮下投薬
GB201809746D0 (en) 2018-06-14 2018-08-01 Berlin Chemie Ag Pharmaceutical combinations
AR120054A1 (es) 2019-06-10 2022-02-02 Takeda Pharmaceuticals Co Politerapias con anticuerpos de cd-38
CN116670285A (zh) 2020-06-23 2023-08-29 江苏康缘药业股份有限公司 抗cd38抗体及其用途
CN116406292A (zh) 2020-10-09 2023-07-07 学校法人庆应义塾 免疫·炎症性疾病的治疗药
CN121127494A (zh) 2023-01-06 2025-12-12 武田药品工业株式会社 用于治疗自身免疫性疾病的抗cd38抗体
WO2025088065A1 (en) 2023-10-25 2025-05-01 Deutsches Krebsforschungszentrum Stiftung des öffentlichen Rechts Diagnosis and therapy of aml
WO2025193746A1 (en) 2024-03-12 2025-09-18 Takeda Pharmaceutical Company Limited Dosing regimens of anti-cd38 antibodies for treatment of subjects with immune thrombocytopenia
WO2025235919A1 (en) 2024-05-09 2025-11-13 Takeda Pharmaceutical Company Limited Dosing regimens of anti-cd38 antibodies for treatment of subjects with immunoglobulin a nephropathy

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2156889C (en) * 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
US5721746A (en) * 1996-04-19 1998-02-24 General Electric Company Optimal soft-output decoder for tail-biting trellis codes
US5996104A (en) * 1996-09-13 1999-11-30 Herzberg; Hanan System for coding system
US6112326A (en) * 1998-02-02 2000-08-29 Ericsson Inc. Precoding technique to lower the bit error rate (BER) of punctured convolutional codes
US6484283B2 (en) * 1998-12-30 2002-11-19 International Business Machines Corporation Method and apparatus for encoding and decoding a turbo code in an integrated modem system

Also Published As

Publication number Publication date
EP1336250B1 (de) 2006-03-08
EP1336250A1 (de) 2003-08-20
IT1320715B1 (it) 2003-12-10
US7401284B2 (en) 2008-07-15
KR100855018B1 (ko) 2008-08-28
US20040013210A1 (en) 2004-01-22
DE60117831D1 (de) 2006-05-04
ITTO20000984A0 (it) 2000-10-19
RU2298283C2 (ru) 2007-04-27
JP2004512726A (ja) 2004-04-22
JP3984162B2 (ja) 2007-10-03
ITTO20000984A1 (it) 2002-04-19
WO2002033834A9 (en) 2002-11-28
ATE320112T1 (de) 2006-03-15
AU2001295903A1 (en) 2002-04-29
KR20030063366A (ko) 2003-07-28
WO2002033834A1 (en) 2002-04-25

Similar Documents

Publication Publication Date Title
DE60117831T2 (de) Modul zur erzeugung von decoderschaltungen für faltungscodes, zugehöriges verfahren und schaltung
DE602004001548T2 (de) Verfahren und Vorrichtung zur Decodierung eines Low Density Partity Check (LDPC) Codes in einem Kommunikationssystem
DE3910739C3 (de) Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
DE60120723T2 (de) Iterationsabbruch für Turbodecodierer
DE69722571T2 (de) System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation
DE69936908T2 (de) Iterative dekodierung von produktkoden
DE69212695T2 (de) Decodierungseinrichtung
EP0755122A2 (de) Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Information
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE69130640T2 (de) Arithmetische Operationseinheit mit Bit-Invertierungsfunktion
DE102007035210A1 (de) Verfahren und Vorrichtung zur LDPC-Dekodierung mit gemeinsamer Hardwarenutzung und serieller Summe-Produkt-Architektur
DE60009531T2 (de) Parallele Turbocoder-Implementierung
DE60007956T2 (de) Vorrichtung und Verfahren zur SISO Dekodierung
DE102005010006A1 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
EP1269633A2 (de) Optimierter turbo-decodierer
WO2000044100A1 (de) Verfahren und vorrichtung zur decodierung von faltungscodes
DE60306709T2 (de) Vorrichtung und Verfahren zur Erzeugung von zyklischen Codes für die Fehlerkorrektur in digitaler Kommunikation
DE602004013186T2 (de) Linear-approximation der max*-operation für log-map-decodierung
DE60118716T2 (de) Log-MAP Dekodierung
EP0843444B1 (de) Digitales Übertragungssystem mit trellisbasiertem, zustandsreduziertem Schätzverfahren
DE69901566T2 (de) Schnelle metrikberechnung für einen viterbi- dekoder
EP1269632B1 (de) Turbo-decodierer und turbo-decodierverfahren
EP1430614B1 (de) Verfahren und vorrichtung zur bestimmung von initialisierungszuständen bei pseudo-noise-folgen
DE69815541T2 (de) Verfahren und vorrichtung zur viterbi-dekodierung von punktierten codes
EP1297668B1 (de) Viterbi-entzerrer der verschiedene hardware-datenpfade für acs-operationen und für übertragungsmetriken verwendet

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: TELECOM ITALIA S.P.A., MAILAND/MILANO, IT

8364 No opposition during term of opposition