DE60034203T2 - Vorrichtung zur übereinstimmung der datenrate und verfahren zur datenübertragung - Google Patents

Vorrichtung zur übereinstimmung der datenrate und verfahren zur datenübertragung Download PDF

Info

Publication number
DE60034203T2
DE60034203T2 DE60034203T DE60034203T DE60034203T2 DE 60034203 T2 DE60034203 T2 DE 60034203T2 DE 60034203 T DE60034203 T DE 60034203T DE 60034203 T DE60034203 T DE 60034203T DE 60034203 T2 DE60034203 T2 DE 60034203T2
Authority
DE
Germany
Prior art keywords
bits
rate matching
symbols
stream
rate
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
DE60034203T
Other languages
English (en)
Other versions
DE60034203D1 (de
Inventor
Min-Goo c/o Samsung Pundang-Gu Sungnam-Shi KIM
Beong-Jo c/o Samsung Pundang-Gu Sungnam-Shi KIM
Se-Hyoung Kim
Soon-Jae Choi
Young-Hwan Lee
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE60034203D1 publication Critical patent/DE60034203D1/de
Application granted granted Critical
Publication of DE60034203T2 publication Critical patent/DE60034203T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2993Implementing the return to a predetermined state, i.e. trellis termination
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Communication Control (AREA)
  • Detection And Correction Of Errors (AREA)

Description

  • 1. Erfindungsgebiet
  • Die vorliegende Erfindung betrifft allgemein eine Kanalcodierungsvorrichtung für ein Datenübertragungssystem und insbesondere eine Vorrichtung zur Anpassung der Raten von kanalcodierten Symbolen.
  • 2. Beschreibung des Standes der Technik
  • In digitalen Übertragungssystemen, z.B. Satellitensysteme, ISDN- (Integrated Services Digital Network) Systeme, digitale Mobilfunksysteme, W-CDMA- (Wideband Code Division Multiple Access) Systeme, UMTS (Universal Mobile Telecommunication Systems) und IMT-2000 (International Telecommunication-2000) Systeme, werden im Allgemeinen Quellenbenutzerdaten vor dem Senden mit einem Fehlerkorrekturcode kanalcodiert, um die Zuverlässigkeit des Systems zu erhöhen. Zur Kanalcodierung werden typischerweise ein Konvolutionscode und ein linearer Blockcode verwendet, und für den linearen Blockcode wird ein einzelner Decoder verwendet. Neben solchen Codes wird in letzter Zeit in großem Umfang auch ein Turbocode benutzt, der zum Senden und Empfangen von Daten nützlich ist.
  • In Vielfachzugriffs-Übertragungssystemen, die vielfache Benutzer und Vielkanal-Übertragungssysteme mit vielfachen Kanälen unterstützen, werden kanalcodierte Symbole an eine gegebene Zahl von Sendekanalsymbolen angepasst, um die Effizienz der Datenübertragung zu steigern und die Systemleistung zu verbessern. Ein derartiger Vorgang wird "Ratenanpassung" genannt. Eine Ratenanpassung wird auch vorgenommen, um die Ausgangssymbolrate an die Sendesymbolrate anzupassen. Typische Ratenanpassungsverfahren umfassen das Punktieren oder Wiederholen von Teilen von kanalcodierten Symbolen.
  • Eine herkömmliche Ratenanpassungsvorrichtung wird in 1 gezeigt. Gemäß 1 codiert ein Kanalcodierer 100 Eingangsinformationbits (k) mit einer Codierungsrate R = k/n und gibt codierte Symbole (n) aus. Ein Multiplexer (MUX) 110 multiplext die codierten Symbole. Ein Ratenanpassungsblock 120 passt die Rate der gemultiplexten codierten Symbole durch Punktieren oder Wiederholen an und gibt die in der Rate angepassten Symbole an einen Sender (nicht gezeigt) aus. Der Kanalcodierer 100 arbeitet bei jeder Periode eines Symboltakts mit einer Geschwindigkeit TAKT, und der Multiplexer 110 und der Ratenanpassungsblock 120 arbeiten bei jeder vorbestimmten Periode eines Takts mit einer Geschwindigkeit n × TAKT.
  • Man sollte zur Kenntnis nehmen, dass sie Ratenanpassungsvorrichtung von 1 zur Anwendung auf den Fall vorgeschlagen wird, wo ein nicht systematischer Code, z.B. ein Konvolutionscode oder ein linearer Blockcode, zur Kanalcodierung verwendet wird. Für Symbole, die mit einem nicht systematischen Code, z.B. einem Konvolutionscode oder einem linearen Blockcode codiert werden, können, weil es kein Gewicht zwischen Symbolen gibt, d.h., weil die Fehleranfälligkeit der von dem Kanalcodierer 100 ausgegebenen codierten Symbole für jedes Symbol innerhalb eines Rahmens ähnlich ist, die durch den Kanalcodierer 100 codierten Symbole dem Ratenanpassungsblock 120 ohne Unterschied zugeführt werden und eine Punktierung oder Wiederholung erfahren, wie in 1 gezeigt.
  • Wenn aber systematische Codes, z.B. ein Turbocode, verwendet werden, besteht zwischen Symbolen ein Gewicht, so dass es für die kanalcodierten Symbole, die dem Ratenanpassungsblock 120 zugeführt werden, nicht gut ist, in gleichem Maße Punktierung oder Wiederholung zu erfahren. Weil das Gewicht zwischen Informationssymbolen und Paritätssymbolen nicht gleich ist, wird empfohlen, dass der Ratenanpassungsblock 120 Paritätssymbole aus den turbocodierten Symbolen punktieren darf, aber die Informationssymbole nicht punktieren sollte. Als Alternative kann der Ratenanpassungsblock 120 die Informationssymbole aus den turbocodierten Symbolen wiederholen, um die Energie der Symbole zu erhöhen, sollte aber, wenn möglich, die Paritätssymbole nicht wiederholen. Das heißt, es ist schwierig, die Ratenanpassungsvorrichtung von 1 zu verwenden, wenn ein Turbocode verwendet wird. Dies ist normal angesichts der Tatsache, dass die Struktur von 1 nur für nicht systematische Codes, z.B. konvolutionale Codes oder lineare Blockcodes, zur Verfügung steht, und der Turbocode neue Merkmale aufweist, die sich von denen der Konvolutionscodes und der linearen Blockcodes unterscheiden.
  • Um solch ein Problem zu lösen, ist in letzter Zeit ein Verfahren zur Ratenanpassung der mit dem Turbocode kanalcodierten Symbole vorgeschlagen worden. Ein solches Verfahren kann jedoch nur beim Anpassen der Rate der turbocodierten Symbole benutzt wer den, und kann nicht beim Anpassen der Rate der mit den bestehenden Konvolutionalcodes oder linearen Blockcodes kanalcodierten Symbole benutzt werden.
  • Es besteht daher ein Bedarf an einer einzelnen Vorrichtung und einem Verfahren zur Ratenanpassung von sowohl mit einem bestehenden nicht systematischen Code als auch mit einem systematischen Code kanalcodierten Symbolen. Zum Beispiel benötigt ein Datenübertragungssystem, das bestimmt ist, sowohl nicht systematischen Code als auch systematischen Code zu unterstützen, zwei verschiedene Strukturen, um beide Codes in der Rate anzupassen, was zu einer Erhöhung der Komplexität führt. Wenn es aber möglich ist, die unterschiedlichen Codes mittels einer einzigen Struktur in der Rate anzupassen, wird die Komplexität der Implementierung verringert werden.
  • WO 99/07076 legt ein Verfahren und eine Vorrichtung zum adaptiven Kanalcodieren offen, die eine Ratenanpassungsvorrichtung mit zwei verschiedenen Ratenanpassungsmodulen – eine für Informationsbits und eine weitere für Paritätsbits – für einen Ein/Drei-Ausgangsturbocode verwenden. Die Punktierungsmuster leiten sich abhängig von einer Zielrate ab, die nach dem Sand der Technik eine Kanalcodierungsrate ist. Dieser Stand der Technik benutzt eine erste und eine zweite Punktierungseinrichtung, die erste zum Punktier der Informationsbits und die andere zum Punktieren der codierten Daten, die von einem ersten und einem zweiten Komponentencodierer empfangen werden, welche mit dem Ausgang eines Schwanzbitgenerators verbunden sind. Die erste und die zweite Punktierungseinrichtung dienen dazu, die Datenübertragungsrate einzustellen. Ein Multiplexer multiplext die Ausgänge eines Schwanzbitgenerators.
  • Datenbank www.3gpp.org [online] 3rd Generation Partnership Project; April 1999 (1999-04) RAN-WG1.: 'TS 1.22 V2.0.0' XP002202244 legt einen Ratenanpassungsprozess offen, der durch eine einzige Ratenanpassungsvorrichtung ausgeführt wird. Dieser Stand der Technik verwendet einen 4-Zustands-SCCC-Codierer, der innen mit einem Punktierungselement ausgestattet ist, mit dem eine gewünschte Codierrate durch zwei serielle Codierer und einen Verschachtler erhalten wird.
  • Datenbank www.3gpp.org [online] 3rd Generation Partnership Project; 12 May 1999 (1999-05-12) NORTEL NETWORKS.: 'TSGR1#4(99)467: Proposal for rate matching for Torbo Codes XP002202243 legt eine Ratenanpassungsvorrichtung offen, durch die die codierten Daten mittels einer Vielzahl von Kanalverschachtlern getrennt werden. Die Ra tenanpassungsvorrichtung besitzt Ratenanpassungsblöcke zum individuellen Durchführen von Punktieren und Wiederholen, in denen ein Ratenanpassungsblock zum Wiederholen nach einem Ratenanpassungsblock zum Punktieren vorgesehen ist.
  • Es ist das Ziel der vorliegen Erfindung ein System und ein Verfahren zum Ratenanpassen sowohl kanalcodierter Symbole mit einem nichtsystematischen Code als auch kanalcodierter Symbole mit einem systematischen Code zur Verfügung zu stellen, wobei eine einzige Struktur verwendet wird, um die Wirksamkeit der Datenübertragung zu erhöhen und die Systemleistung in einem Datenübertragungssystem zu verbessern.
  • Dieses Ziel wird durch den Gegenstand der Hauptansprüche erreicht.
  • Bevorzugte Ausführungsformen sind Gegenstand der Unteransprüche.
  • Die Vorrichtungen und Verfahren zur Ratenanpassung können auf ein Datenübertragungssystem angewandt werden, das entweder einen nicht systematischen Code (Konvolutionalcode oder linearer Blockcode) oder einen systematischen Code (Turbocode) oder beide Codes benutzt. Die Ratenanpassungsvorrichtung umfasst eine Mehrzahl von Ratenanpassungsblöcken, deren Anzahl gleich einem Kehrwert der Codierungsrate des Kanalcodierers ist. Die Ratenanpassungsvorrichtungen können die mit einem nicht systematischen Code codierten Symbole oder die mit einem systematischen Code codierten Symbole in der Rate anpassen, indem Ausgangsparameter, die die Anzahl von Eingangssymbolen, die Anzahl von Ausgangssymbolen und die das Punktierungs/Wiederholungs-Schema bestimmenden Parameter einschließen, geändert werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung klarer ersichtlich, wenn sie mit den begleitenden Zeichnungen in Verbindung gebracht wird.
  • 1 ist eine Zeichnung, die eine Struktur einer Ratenanpassungsvorrichtung nach dem Stand der Technik darstellt.
  • 2 und 3 sind Zeichnungen, die Strukturen von Ratenanpassungsvorrichtungen gemäß Ausführungsformen der vorliegenden Erfindung darstellen.
  • 4 ist eine Zeichnung, die eine Struktur einer Ratenanpassungsvorrichtung durch Punktieren gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • 5 ist eine Zeichnung, die eine Struktur einer Ratenanpassungsvorrichtung durch Punktieren gemäß einer anderen Ausführungsform der vorliegenden Erfindung darstellt.
  • 6 ist eine ausführliche Zeichnung, die eine Struktur des in 5 gezeigten Turbocodierers darstellt.
  • 7 ist ein Flussdiagramm, das eine Ratenanpassungsprozedur durch Punktieren gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • 8 ist eine Zeichnung, die eine Struktur einer Ratenanpassungsvorrichtung durch Punktieren gemäß einer weiteren Ausführungsform der vorliegenden Erfindung darstellt.
  • 9 ist eine Zeichnung, die eine Struktur einer Ratenanpassungsvorrichtung durch Wiederholen gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • 10 ist eine Zeichnung, die eine Struktur einer Ratenanpassungsvorrichtung durch Wiederholen gemäß einer anderen Ausführungsform der vorliegenden Erfindung darstellt.
  • 11 ist ein Flussdiagramm, das eine Ratenanpassungsprozedur durch Wiederholen gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden im Folgenden mit Verweis auf die begleitenden Zeichnungen beschrieben. In der folgenden Beschreibung werden wohl bekannte Funktionen oder Konstruktionen nicht im Einzelnen beschrieben, weil sie die Erfindung in unnötiger Einzelheit trüben würden.
  • Beim Entwerfen einer Ratenanpassungsvorrichtung erforderliche Voraussetzungen
  • Bevor die Erfindung beschrieben wird, wird zuerst auf Voraussetzungen verwiesen, die in Betracht gezogen werden sollten, wenn mit einem nicht systematischen Code, z.B. einem Konvolutionalcode oder einem linearen Blockcode kanalcodierte Symbole in der Rate angepasst werden (in der folgenden Beschreibung wird der nicht systematische Code als ein Konvolutionalcode angenommen). Die Voraussetzungen 1A bis 3A unten sind die Voraussetzungen, die berücksichtigt werden sollten, wenn durch Punktieren codierte Symbole in der Rate angepasst werden, und die Voraussetzungen 1C und 2C unten sind die Voraussetzungen, die berücksichtigt werden sollten, wenn durch Wiederholen codierte Symbole in der Rate angepasst werden.
  • Voraussetzung 1A: Eine Eingangssymbolfolge aus codierten Symbolen sollte mittels eines Punktierungsschemas mit einer spezifizierten Periode punktiert werden.
  • Voraussetzung 2A: Die Anzahl punktierter Bits aus den Eingangssymbolen sollte, wenn möglich, minimiert werden.
  • Voraussetzung 3A: Ein gleichmäßiges Punktierungsschema sollte benutzt werden, so dass die Eingangssymbolfolge, die aus von einem Codierer ausgegebenen codierten Symbolen besteht, gleichmäßig punktiert wird.
  • Voraussetzung 1C: Eine Eingangssymbolfolge aus codierten Symbolen sollte mittels eines Wiederholungsschemas mit einer spezifizierten Periode wiederholt werden.
  • Voraussetzung 2C: Ein gleichmäßiges Wiederholungsschema sollte benutzt werden, so dass die Eingangssymbolfolge, die aus von einem Codierer codierten Symbolen besteht, gleichmäßig wiederholt wird.
  • Diese Voraussetzungen beruhen auf der Annahme, dass die Fehleranfälligkeit der von dem Codierer, der einen Konvolutionalcode benutzt, ausgegebenen Symbole für jedes Symbol innerhalb eines Rahmens (oder Codeworts) ungefähr gleich ist. Tatsächlich ist bekannt, dass, wenn die obigen Voraussetzungen als hauptsächliche Begrenzungsfaktoren beim Ausführen der Punktierung zur Ratenanpassung benutzt werden, positive Ergebnisse erhalten werden, wie in den folgenden Verweisungen gezeigt: [1] G. D. Forney, "Convolutional codes I: Algebraic structure", IEEE Trans. Inform. Theory, Vol. IT-16, Seiten 720–738, Nov. 1970, [2] J. B. Cain, G. C. Clark und J. M. Geist, " Punctured convolu tional codes of a rate (n – 1)/n and simplified maximum likelihood decoding", IEEE Trans. Inform. Theory, Vol. IT-25, Seiten 97–100, Jan 1979.
  • Als nächstes wird auf die Voraussetzungen verwiesen, die berücksichtigt werden sollten, wenn mit einem systematischen Code kanalcodierte Symbole in der Rate angepasst werden (in der folgenden Beschreibung wird angenommen, dass der systematische Code ein Turbocode ist). Die Voraussetzungen 1B bis 5B unten sind die Voraussetzungen, die berücksichtigt werden sollten, wenn eine Ratenanpassung der durch Punktierung codierten Symbole erfolgt, und die Voraussetzungen 1D bis 5D sind die Voraussetzungen, die berücksichtigt werden sollten, wenn eine Ratenanpassung der durch Wiederholen codierten Symbole erfolgt.
  • Voraussetzung 1B: Da ein Turbocode ein systematischer Code ist, sollte der Teil, der Informationssymbolen aus den durch den Codierer codierten Symbolen entspricht, nicht punktiert werden. Außerdem sollte aus dem weiteren Grund, dass ein iterativer Decoder als Decoder für den Turbocode verwendet wird, der den Informationssymbolen entsprechende Teil nicht punktiert werden.
  • Voraussetzung 2B: Da ein Turbocodierer aus zwei parallel geschalteten Komponentencodierern besteht, ist vorzuziehen, den minimalen freien Abstand jedes der zwei Komponentencodierer für den minimalen Abstand des ganzen Codes zu maximieren. Um optimale Leistung zu erlangen, sollten deshalb die ausgegebenen Paritätssymbole der zwei Komponentencodierer gleichmäßig punktiert werden.
  • Voraussetzung 3B: Da in den meisten iterativen Decodern die Decodierung von dem ersten internen Decoder durchgeführt wird, sollte das erste Ausgangssymbol des ersten Komponentencodierers nicht punktiert werden. Mit anderen Worten, das erste Symbol eines Codierers sollte nicht punktiert werden, ungeachtet ob es eine Systematik oder Paritätsbits sind, weil das erste Symbol den Anfangspunkt der Codierung angibt.
  • Voraussetzung 4B: Die ausgegebenen Paritätssymbole jedes Komponentencodierers sollten mittels eines gleichmäßigen Punktierungsschemas punktiert werden, so dass die von dem Codierer ausgegebenen codierten Symbole, z.B. der bestehende Konvolutionalcode, gleichmäßig punktiert werden.
  • Voraussetzung 5B: Die für den Turbocodierer benutzten Abschlussschwanzbits sollten wegen der nachteiligen Wirkung auf die Leistung des Decoders nicht punktiert werden. Zum Beispiel hat ein SOVA- (Soft Output Viterbi Algorithm) Decoder eine niedrige Leistung, wenn die Abschlussschwanzbits punktiert werden, verglichen mit dem Fall, wo die Abschlussschwanzbits nicht punktiert werden.
  • Voraussetzung 1D: Da ein Turbocode ein systematischer Code ist, sollte ein Teil, der Informationssymbolen aus den durch den Codierer codierten Symbolen entspricht, wiederholt werden, um die Energie der Symbole zu steigern. Außerdem sollten, da ein iterativer Decoder als Decoder für den Turbocode benutzt wird, der den Informationssymbolen entsprechende Teil oft wiederholt werden.
  • Voraussetzung 2D: Da ein Turbocodierer aus zwei parallel geschalteten Komponentencodierern besteht, ist vorzuziehen, den minimalen freien Abstand jedes der zwei Komponentencodierer für den minimalen freien Abstand des ganzen Codes zu maximieren. Deshalb sollten, wenn die Paritätssymbole wiederholt werden, die ausgegebenen Paritätssymbole der zwei Komponentencodierer gleichmäßig wiederholt werden, um optimale Leistung zu erzielen.
  • Voraussetzung 3D: Da in den meisten iterativen Decodern die Decodierung von dem ersten internen Decoder durchgeführt wird, sollte das erste Ausgangssymbol des ersten Komponentendecoders vorzugsweise wiederholt werden, wenn die Paritätssymbole wiederholt werden.
  • Voraussetzung 4D: Die ausgegebenen Paritätssymbole jedes Komponentencodierers sollten mittels eines gleichmäßigen Wiederholungsschemas wiederholt werden, so dass die von dem Codierer ausgegebenen codierten Symbole, z.B. der bestehende Konvolutionalcode, gleichmäßig wiederholt werden.
  • Voraussetzung 5D: Die für den Turbocodierer benutzten Abschlussschwanzbits sollten wegen der Auswirkung auf die Leistung des Decoders wiederholt werden. Zum Beispiel hängt die Leistung eines SOVA- (Soft Output Viterbi Algoritm) Decoders davon ab, ob die Abschlussschwanzbits wiederholt werden oder nicht.
  • Die vorliegende Erfindung beabsichtigt, eine Ratenanpassungsvorrichtung zu implementieren, die nicht nur die Voraussetzungen 1A–3A und 1C–2C, sondern auch die Voraussetzungen 1B–5B und 1D–5D erfüllt. Das heißt, eine erfindungsgemäße Ratenanpas sungsvorrichtung durch Punktieren dient als eine Ratenanpassungsvorrichtung, die die Voraussetzungen 1A bis 3A für konvolutional codierte Symbole erfüllt, und dient außerdem als eine Ratenanpassungsvorrichtung, die die Voraussetzungen 1B bis 5B für turbocodierte Symbole erfüllt. Die erfindungsgemäße Ratenanpassungsvorrichtung durch Wiederholen dient als eine Ratenanpassungsvorrichtung, die die Voraussetzungen 1C bis 2C für konvolutional codierte Symbole erfüllt, und dient außerdem als eine Ratenanpassungsvorrichtung, die die Voraussetzungen 1D bis 5D für turbocodierte Symbole erfüllt.
  • Grundstruktur der Ratenanpassungsvorrichtung
  • Erfindungsgemäße Ausführungsformen der Ratenanpassungsvorrichtungsstrukturen werden in 2 und 3 gezeigt. Insbesondere zeigt 2 ein Beispiel einer in Hardware implementierten Ratenanpassungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung, und 3 zeigt ein Beispiel einer in Software implementierten Ratenanpassungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Gemäß 2 kanalcodiert ein Kanalcodierer 200 eingegebene Informationsbits mit einer Codierungsrate R = k/n und gibt codierte Symbole aus. Hier bezeichnet n die Zahl codierter Symbole, die ein Codewort ausmachen, und k bezeichnet die Zahl eingegebener Informationsbits, die ein Eingangsinformationswort ausmachen. Es gibt n Ratenanpassungsblöcke 231239, die jeweils codierte Symbole getrennt empfangen, die von dem Kanalcodierer 200 durch eine gemäß der Codierungsrate bestimmten Anzahl von Eingangssymbolen ausgegeben werden, und punktieren bzw. wiederholen die empfangenen Symbole. Die n Ratenanpassungsblöcke 231239 empfangen jeweils getrennt die codierten Symbole, die von dem Kanalcodierer 200 durch die durch Multiplizieren der Anzahl der codierten Symbole in einem Rahmen mit der Codierungsrate bestimmte Anzahl ausgegeben werden. Wenn z.B. die Zahl von codierten Symbolen in einem Rahmen 10 ist und die Codierungsrate R = 1/5 ist, empfangen die 5 Ratenanpassungsblöcke jeweils getrennt 2 Symbole. Jeder der Ratenanpassungsblöcke 231239 punktiert die empfangenen Symbole gemäß einem vorbestimmten Punktierungsschema oder wiederholt die empfangenen Symbole gemäß einem vorbestimmten Wiederholungsschema. Ein Multiplexer 240 multiplext die ratenangepassten Symbole von den Ratenanpassungsblöcken 231239 und gibt die gemultiplexten Symbole an einen Kanalsender (nicht gezeigt) aus. Da der Kanalsender jenseits des Umfangs der vorliegenden Erfindung liegt, wird ein ausführliche Beschreibung desselben hierin umgangen. Die Ratenanpassungsoperation der Ratenanpassungsblöcke 231239 wird aus der folgenden ausführlichen Beschreibung der Ausführungsformen der vorliegenden Erfindung klarer ersichtlich werden.
  • Gemäß 3 kanalcodiert ein Kanalcodierer 200 eingegebene Informationsbits mit einer Codierungsrate R = k/n und gibt die codierten Symbole aus. Ein digitaler Signalprozessor (DSP) 250 mit einem Ratenanpassungsmodul führt die Ratenanpassung (oder punktieren/wiederholen) auf den durch den Kanalcodierer 200 kanalcodierten Symbolen mittels des Ratenanpassungsmoduls durch. Die durch den DSP 250 in der Rate angepassten Symbole werden an den Kanalsender ausgegeben. Der Ratenanpassungs-DSP 250 empfängt getrennt die codierten Symbole eines Rahmens von n getrennten Datenströmen, wobei die Zahl der von jedem Strom empfangenen Symbole gleich der gemäß der Codierungsrate bestimmten Zahl der Eingangssymbole ist, und punktiert/wiederholt die empfangenen Symbole in derselben Weise wie in 2 gezeigt. Mit anderen Worten, obwohl der DSP 250 ein einzelnes Element in Hardware ist, führt es dieselbe Ratenanpassungsoperation wie die n Ratenanpassungsblöcke von 2 durch. Der DSP 250 kann auch mit einer CPU (Central Processing Unit) implementiert werden, und die Ratenanpassungsoperation kann durch eine Unterroutine implementiert werden. Wenn hierin der Begriff "Ratenanpassungsblöcke" gebraucht wird, soll er auch die Ratenanpassungsmodule im DSP 250 betreffen.
  • Wie in 2 und 3 gezeigt, kann eine erfindungsgemäße Ratenanpassungsvorrichtung eine Struktur haben, die so viele Ratenanpassungsblöcke umfasst wie die der Codierungsrate entsprechende Zahl (d.h., ein Kehrwert der Codierungsrate, wenn k = 1, aber wenn k <> 1, dann kann die Zahl der Ratenanpassungsblöcke gleich einem Kehrwert der Codierungsrate multipliziert mit k sein), und jeder Ratenanpassungsblock empfängt so viele Symbole wie die durch Multiplizieren der Zahl der codierten Symbole in einem Rahmen mit der Codierungsrate bestimmte Zahl, und punktiert die empfangenen Symbole gemäß einem vorbestimmten Punktierungsschema oder wiederholt die empfangenen Symbole gemäß einem vorbestimmten Wiederholungsschema. Diese Struktur hat das Merkmal, dass die kanalcodierten Symbole getrennt verarbeitet werden, während die herkömmliche Ratenanpassungsvorrichtung von 1 die kanalcodierten Symbole in einer Rahmeneinheit verarbeitet. Die erfindungsgemäße Ratenanpassungsvorrichtung kann sowohl für Konvolutionscodes als auch für Turbocodes verwendet werden. Das heißt, die erfindungsgemäße Ratenanpassungsvorrichtung hat eine einzelne Struktur, die sowohl auf Konvolutionscodes als auch auf Turbocodes angewandt werden kann, obwohl zwei verschiedene Sätze von Voraussetzungen benötigt werden.
  • Eine erfindungsgemäße Ratenanpassungsvorrichtung kann auch eine Struktur von 8 haben. Diese Ratenanpaasungsvorrichtung hat eine kombinierte Struktur der herkömmlichen Ratenanpassungsvorrichtung von 1 und der neuartigen Ratenanpassungsvorrichtung von 2 und 3. Einschließlich eines einzigen Ratenanpassungsblocks hat die Ratenanpassungsvorrichtung, obwohl durch Hardware implementiert, eine geringe Komplexität.
  • Gemäß 8 kanalcodiert ein Kanalcodierer 200 eingegebene Informationsbits mit einer Codierungsrate R = k/n und gibt codierte Symbole aus. Die codierten Symbole werden durch einen Multiplexer 260 gemultiplext, und die gemultiplexten Symbole werden an einen Ratenanpassungsblock 230 ausgegeben. Die durch den Ratenanpassungsblock 230 durch Punktieren/Wiederholen ratenangepassten Symbole werden an einen Kanalsender gesandt. Ein RAM (Random Access Memory) 270 speichert einen Ausgangswert, der während der durch den Ratenanpassungsblock 230 durchgeführten Ratenanpassung empfangen wird, und übergibt den Ausgangswert an den Ratenanpassungsblock 230. Der Kanalcodierer 200 arbeitet bei jeder Periode des Symboltakts mit einer Geschwindigkeit TAKT, und der Multiplexer 260 und der Ratenanpassungsblock 230 arbeiten bei einer vorbestimmten Periode eines Takts mit einer Geschwindigkeit von n × TAKT. Der an das RAM 270 übergebene Ausgangswert umfasst die Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni, den Fehlerwert 'e' und die das Punktierungs/Wiederholungsschema bestimmenden Parameter 'a' und 'b'. Die Zahl der für jeden Rahmen der codierten Symbole zu punktierenden Symbole wird durch die Eingangssymbolzahl Nc und die Ausgangssymbolzahl Ni bestimmt. Das RAM 270 speichert die Eingangssymbolzahl Nc entsprechend jedem Symboltakt in einer vorbestimmten Periode, die Ausgangssymbolzahl Ni, den Fehlerwert 'e' und die das Punktierungs/Wiederholungsschema bestimmenden Parameter 'a' und 'b'. Fehlerwert ,e' und die das Punktierungsmuster bestimmenden Parameter 'a' und 'b' werden zu jeder Symboltaktperiode in RAM 270 gespeichert, um festzustellen, ob das bestimmte, zu jeder Symboltaktperiode verarbeitete Symbol punktiert werden muss, und führt das Punktieren nach den entsprechenden Punktierungsmustern durch. Wenn die Ratenanpassung durch Punktieren erfolgt, empfängt der Ratenanpassungsblock 230 die entsprechende Eingangssymbol zahl Nc, die Ausgangssymbolzahl Ni, den Fehlerwert 'e' und die das Punktierungsschema bestimmenden Parameter 'a' und 'b', die im RAM 270 gespeichert sind, bei jeder Symboltaktperiode, um zu bestimmen, ob das bei jeder Symboltaktperiode verarbeitete einzelne Symbol punktiert werden muss, und führt das Punktieren gemäß dem entsprechenden Punktierungsschema durch. Wenn die Ratenanpassung durch Wiederholen erfolgt, empfängt der Ratenanpassungsblock 230 die entsprechende Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni, den Fehlerwert 'e' und die das Wiederholungsschema bestimmenden Parameter 'a' und 'b', die im RAM 270 gespeichert sind, bei jeder Symboltaktperiode, um zu bestimmen, ob das bei jeder Symboltaktperiode verarbeitete einzelne Symbol wiederholt werden muss, und führt das Wiederholen gemäß dem entsprechenden Wiederholungsschema durch.
  • Wenn ein konvolutionaler Code oder ein linearer Blockcode in dem Kanalcodierer 200 benutzt wird, wird der Ausgangswert im RAM 270 auf einen spezifischen Punktierungs/ Wiederholungs-Parameter (Nc, Ni, e, b, a) gesetzt. Das heißt, der Ratenanpassungsblock (RMB) 230 arbeitet wie in 1 gezeigt, ohne das RAM 270 zu aktualisieren.
  • Wenn in dem Kanalcodierer 200 ein Turbocode benutzt wird, sollte der Ratenanpassungsblock 230 sequentiell von RMB1 nach RMBn (jeder RMBx [x = 1 bis n] ist mit einem Satz von Werten für Nc, Ni, e, b und a verbunden) bei jeder als Periode 'n' bezeichneten Symboltaktperiode arbeiten (d.h., Periode n = die Periode eines Takts mit einer Geschwindigkeit TAKT). Mit anderen Worten, bei jeder Periode eines Takts mit der Geschwindigkeit von n × TAKT wird der Ratenanpassungsblock 230 mit den Werten für Nc, Ni, e, a und b von einem der RMBx [x = 1 bis n] aktualisiert. Für jede Periode von n wird somit der Ratenanpassungsblock 230 mit den Werten für Nc, Ni, e, b und a von jedem der RMBx aktualisiert. Zum Beispiel kann während einer Periode von 1/(n × TAKT) der Ratenanpassungsblock 230 die Werte für Nc, Ni, e, a und b vom RMB1 empfangen und dann bei der nächsten Periode von 1/(n × TAKT) die Werte für Nc, Ni, e, a und b vom RMB2 empfangen usw., bis die Werte vom RMBn durch den Ratenanpassungsblock 230 empfangen wurden. Derselbe Zyklus wird dann wieder in der nächsten Periode 'n' wiederholt. Die zu einem bestimmten Zeitpunkt verarbeiteten Zustandswerte von RMBx, d.h., die Parameterwerte (Nc, Ni, e, b, a) zum Bestimmen der Symbole und der Schemas zum Punktieren/Wiederholen, werden daher im RAM 270 für den Prozess beim nächsten Zeitpunkt gespeichert. Wenn dieser Wert benutzt wird, wenn der RMBx das nächste Mal wieder verarbeitet wird, ist es daher möglich, die Operation von n RMBs (RMB1 – RMBn) mit einem einzigen RMB auszuführen. Da für eine Verarbeitungsrate n × TAKT wie in 1 und 2 gezeigt benutzt wird, wird die Komplexität nicht erhöht werden.
  • Unterdessen empfangen in 2 die Ratenanpassungsblöcke 231239 jeweils getrennt so viele durch den Kanalcodierer 200 codierte Symbole wie die durch Multiplizieren der Zahl von codierten Symbolen in einem Rahmen mit der Codierungsrate bestimmte Zahl. Man sollte aber zur Kenntnis nehmen, dass jeder der Ratenanpassungsblöcke 231239 auch getrennt eine unterschiedliche Zahl der durch den Kanalcodierer 200 codierten Symbole empfangen kann. Zum Beispiel könnte einer der Ratenanpassungsblöcke 231239 getrennt eine Zahl codierter Symbole empfangen, die kleiner ist als die durch Multiplizieren der Zahl der codierten Symbole in einem Rahmen mit der Codierungsrate bestimmte Zahl, und ein anderer Ratenanpassungsblock könnte getrennt eine Zahl codierter Symbole empfangen, die größer ist als die durch Multiplizieren der Zahl der codierten Symbole in einem Rahmen mit der Codierungsrate bestimmte Zahl. Der Einfachheit halber wird jedoch ein Fall beschrieben, wo jeder der Ratenanpassungsblöcke 231239 getrennt dieselbe Zahl von durch den Kanalcodierer 200 codierten Symbole empfängt.
  • Ausführungsformen der Ratenanpassungsvorrichtung
  • Es folgt nun eine Beschreibung der Ratenanpassungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung. Der Bequemlichkeit halber erfolgt die Beschreibung unter der Annahme, dass die Codierungsrate R = 1/3 ist und 3 Ratenanpassungsblöcke bereitgestellt werden. Man sollte jedoch zur Kenntnis nehmen, dass die erfindungsgemäße Ratenanpassungsvorrichtung für jeden Fall gilt, wo es n Ratenanpassungsblöcke gibt, d.h., die Codierungsrate R = k/n ist. Des Weiteren bezeichnet in der folgenden Beschreibung Ncs die vom Kanalcodierer ausgegebene Gesamtzahl der codierten Symbole in einem Rahmen. Nc gibt die Zahl der in jeden Ratenanpassungsblock eingegebenen Symbole an, und die Zahl der eingegebenen Symbole wird als Nc = R × Ncs bestimmt. In der folgenden Beschreibung ist R × Ncs = 1/3 × Ncs = Ncs/3. Ni bezeichnet die Zahl der von jedem Ratenanpassungsblock ausgegebenen Symbole, und die Zahl der ausgegebenen Symbole wird als Ni = R × Nis bestimmt, was in der Beschreibung Nis/3 ist, wobei Nis die Gesamtzahl der nach dem Ratenanpassungsprozess ausgegebenen Symbole ist. Das heißt, Nis ist die Gesamtzahl der von dem betreffenden Ratenanpassungsblock ausgegebenen Symbole. Die Zahl der durch jeden Ra tenanpassungsblock zu punktierenden/wiederholenden Symbole (Bits) wird daher als y = Nc – Ni bestimmt. Die Werte Nc und Ni können variieren.
  • Weiterhin verwendet die Erfindung die Parameter 'a' und 'b', die Ganzzahlen sind, die gemäß einem Punktierungs/Wiederholungs-Schema in einem Rahmen bestimmt werden, d.h., Ganzzahlen zum Bestimmen des Punktierungs/Wiederholungs-Schemas. Der Parameter 'a' ist ein Offsetwert zum Bestimmen der Position des ersten Symbols in dem Punktierungs/Wiederholungs-Schema. Das heißt, der Parameter 'a' bestimmt, welches der in einem Rahmen enthaltenen codierten Symbole als das erste Symbol des Punktierungs/Wiederholungs-Schemas zu nehmen ist. Wenn ein Wert des Parameters 'a' zunimmt, wird ein an der Vorderseite des Rahmens gelegenes Symbol punktiert bzw. wiederholt. Der Parameter 'b' ist ein Wert zum Steuern der Punktierungs- oder Wiederholungsperiode in dem Rahmen. Durch Ändern dieses Parameterwertes ist es möglich, alle in dem Rahmen enthaltenen codierten Symbole zu punktieren bzw. zu wiederholen.
  • Wie oben beschrieben, kann eine erfindungsgemäße Ratenanpassungsvorrichtung die Ratenanpassung nicht nur durch Punktieren, sondern auch durch Wiederholen durchführen. Die Beschreibung einer erfindungsgemäßen Ratenanpassungsvorrichtung teilt sich in eine Vorrichtung zur Durchführung der Ratenanpassung durch Punktieren und eine Vorrichtung zur Durchführung der Ratenanpassung durch Wiederholen.
  • A. Ausführungsformen der Ratenanpassungsvorrichtung durch Punktieren
  • 1. Ausführungsform der Ratenanpassungsvorrichtung durch Punktieren (für einen Konvolutionalcode)
  • 4 zeigt die Struktur einer Ratenanpassungsvorrichtung durch Punktieren gemäß einer Ausführungsform der vorliegenden Erfindung. Diese Struktur wird benutzt, wenn die Ratenanpassungsvorrichtungen von 2 und 3 konvolutional codierte Symbole durch Punktieren in der Rate anpassen.
  • Gemäß 4 codiert ein Konvolutionalcodierer 210 eingegebene Informationsbits lk mit einer Codierungsrate R = 1/3 und gibt codierte Symbole C1k, C2k und C3k aus. Die codierten Symbole C1k, C2k und C3k werden getrennt an Ratenanpassungsblöcke 231, 232 bzw. 233 übergeben. Der erste Ratenanpassungsblock 231 punktiert das codierte Symbol C1k. Hier erfolgt der Punktierungsprozess auf der Basis der punktierten Symbolzahl y = Nc – Ni, die durch die Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni und die das Punktierungsschema bestimmenden Parameter 'a' und 'b' bestimmt wird. Zum Beispiel kann der erste Ratenanpassungsblock 231 die Symbole '...11x10x01x...' ausgeben (worin x ein punktiertes Symbol angibt). Der zweite Ratenanpassungsblock 232 punktiert das codierte Symbol C2k. Hier erfolgt der Punktierungsprozess auf der Basis der punktierten Symbolzahl y = Nc – Ni, die durch die Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni und die das Punktierungsschema bestimmenden Parameter 'a' und 'b' bestimmt wird. Zum Beispiel kann der zweite Ratenanpassungsblock 232 die Symbole '...11x11x10x...' ausgeben (worin x ein punktiertes Symbol angibt). Der dritte Ratenanpassungsblock 233 punktiert das codierte Symbol C3k. Hier erfolgt der Punktierungsprozess auf der Basis der punktierten Symbolzahl y = Nc – Ni, die durch die Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni und die das Punktierungsschema bestimmenden Parameter 'a' und 'b' bestimmt wird. Zum Beispiel kann der dritte Ratenanpassungsblock 233 die Symbole '...01x11x11x...' ausgeben (worin x ein punktiertes Symbol angibt). Die durch die Ratenanpassungsblöcke 231, 232 und 233 in der Rate angepassten codierten Symbole werden durch einen Multiplexer 240 (in 4 nicht gezeigt) gemultiplext und an einen Kanalsender übergeben.
  • In 4 werden die Eingangssymbolzahl Nc und die Ausgangssymbolzahl Ni in gleicher Weise als Nc = R × Ncs und Ni = R × Nis für jeden Ratenanpassungsblock bestimmt. Jeder Ratenanpassungsblock punktiert jeder Block getrennt dieselbe Zahl von kanalcodierten Symbolen in der Annahme, dass die Fehleranfälligkeit von codierten Symbolen für jedes Symbol in einem Rahmen fast gleich ist. Das heißt, innerhalb eines Rahmens wird ein fast gleichmäßiges Punktierungsschema ungeachtet der verschiedenen gemäß dem Servicetyp bestimmten punktierten Bitzahlen bereitgestellt. Der Grund liegt in der Möglichkeit, alle Symbole in einem Rahmen für den Konvolutionscode gleichmäßig zu punktieren.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung werden deshalb die durch den Konvolutionscodierer 210 codierten Symbole getrennt und in gleicher Zahl an die Ratenanpassungsblöcke 231, 232 und 233 übergeben. Die Ratenanpassungsblöcke 231, 232 und 233 punktieren jeweils dieselbe Zahl der Eingangssymbole. An diesem Punkt können die Punktierungsschemaparameter entweder gleich oder unterschiedlich bestimmt werden. Das heißt, die Punktierungsschemas können für die Ratenanpassungsblöcke 231, 232 und 233 entweder gleich oder unterschiedlich bestimmt werden.
  • 2. Eine andere Ausführungsform der Ratenanpassungsvorrichtung durch Punktieren (für Turbocode)
  • 5 zeigt eine Struktur einer Ratenanpassungsvorrichtung gemäß einer anderen Ausführungsform der vorliegenden Erfindung. Diese Struktur wird benutzt, wenn die Ratenanpassungsvorrichtungen von 2 und 3 die turbocodierten Symbole durch Punktieren in der Rate anpassen.
  • Gemäß 5 codiert ein Turbocodierer 220 eingegebene Informationsbits lk mit einer Codierungsrate R = 1/3 und gibt codierte Symbole C1k, C2k und C3k aus. Unter den codierten Symbolen wird das Informationssymbol C1k getrennt an den ersten Ratenanpassungsblock 231 übergeben, und die Paritätssymbole (oder Redundanzsymbole) C2k und C3k werden getrennt an den zweiten und dritten Ratenanpassungsblock 232 bzw. 233 übergeben. Der Turbocodierer 220 besteht aus einem ersten Komponentencodierer 222, einem zweiten Komponentencodierer 224 und einem Verschachteler 226, wie in 6 gezeigt. Der Aufbau des Turbocodierers 220 ist den Fachleuten wohl bekannt. Auf eine ausführliche Beschreibung wird daher verzichtet. Die Eingabe X(t) in den Turbocodierer 220 entspricht den in 5 gezeigten Eingabeinformationsbits lk. Ausgänge X(t), Y(t) und Y'(t) des Turbocodierers 220 entsprechen den in 5 gezeigten codierten Symbolen C1k, C2k bzw. C3k. Für den ersten Ausgang des Turbocodierers 220 werden die Eingabeinformationsbits lk = X(t) wie sie sind ausgegeben, so dass in 5 die Eingabeinformationsbits lk als C1k ausgegeben werden.
  • Der erste Ratenanpassungsblock 231 punktiert die codierten Symbole C1k auf der Basis der folgenden Kriterien. Da die Codierungsrate R = 1/3 ist, wird die Eingangssymbolzahl Nc als Nc = R × Ncs = Ncs/3 bestimmt, was 1/3 der Gesamtzahl codierter Symbole ist. Die Ausgangssymbolzahl Ni wird auch als Ni = R × Ncs bestimmt, weil gemäß Voraussetzung 1B der Teil, der den Informationsbits entspricht, nicht punktiert wird. Die das Punktierungsschema bestimmenden Parameter 'a' und 'b' können auf eine Ganzzahl gesetzt werden, was aber ohne Bedeutung ist, weil gemäß Voraussetzung 1B keine Punktierung durchgeführt wird. Zum Beispiel kann der erste Ratenanpassungsblock 231 die Symbole '...111101011...' ausgeben.
  • Der zweite Ratenanpassungsblock 232 punktiert die codierten Symbole C2k auf der Basis der folgenden Kriterien. Da die Codierungsrate R = 1/3 ist, wird die Eingangssymbolzahl Nc als Nc = R × Ncs = Ncs/3 bestimmt, was 1/3 der Gesamtzahl codierter Symbole ist. Weil gemäß den Voraussetzungen 2B und 4B die ausgegebenen Paritätssymbole der zwei Komponentendecoder gleichmäßig punktiert werden sollen und die gesamte ausgegebene Symbolzahl nach dem Punktieren für die ganzen Eingangssymbole (Ncs) in einem Rahmen Nis ist, ist die Zahl Ni der von dem zweiten Ratenanpassungsblock 232 nach dem Punktieren ausgegebenen Symbole Ni = [Nis – (R × Ncs)]/2. Wenn Ni = [Nis – (R × Ncs)]/2 eine ungrade Zahl ist, wird die Ausgangssymbolzahl Ni = [Nis – (R × Ncs) + 1]/2 oder Ni = [Nis – (R × Ncs) – 1]/2. Einer der zwei Werte wird gemäß der Beziehung zwischen dem zweiten Ratenanpassungsblock 232 und dem dritten Ratenanpassungsblock 233 ausgewählt. Das heißt, wenn die Ausgangssymbolzahl des zweiten Ratenanpassungsblocks 232 als [Nis – (R × Ncs] + 1)/2 bestimmt wird, wird die Ausgangssymbolzahl des dritten Ratenanpassungsblocks 233 als [Nis – (R × Ncs) – 1]/2 bestimmt. Im Gegensatz dazu wird, wenn die Ausgangssymbolzahl des zweiten Ratenanpassungsblocks 232 als [Nis – (R × Ncs) – 1]/2 bestimmt wird, die Ausgangssymbolzahl des dritten Ratenanpassungsblocks 233 als [Nis – (R × Ncs) + 1]/2 bestimmt.
  • Die das Punktierungsschema bestimmenden Parameter 'a' und 'b' können gemäß einem gewünschten Punktierungsschema als Ganzzahlen gewählt werden. Diese Ganzzahlen werden nur gemäß dem Punktierungsschema bestimmt, und die Parameter können auf b = 1 und a = 2 gesetzt werden. Eine ausführliche Beschreibung eines Verfahrens zum Bestimmen der Ganzzahlen für die das Punktierungsschema bestimmenden Parameter erfolgt mit Verweis die unten stehenden Tabellen. Der zweite Ratenanpassungsblock 232 kann z.B. die Symbole '...11x11x10x...' ausgeben (worin x ein punktiertes Symbol angibt).
  • Der dritte Ratenanpassungsblock 233 punktiert die codierten Symbole auf der Basis der folgenden Kriterien. Da die Codierungsrate R = 1/3 ist, wird die Eingangssymbolzahl als Nc als Nc = R × Ncs = Ncs/3 bestimmt, was 1/3 der Gesamtzahl von Eingangssymbolen (codierte Symbole) ist. Weil gemäß den Voraussetzungen 2B und 4B die ganzen Ausgangsparitätssymbole der zwei Komponentendecoder gleichmäßig punktiert werden sollen und die gesamte Ausgangssymbolzahl nach dem Punktieren für die ganzen Eingangssymbole in einem Rahmen Nis ist, beträgt die Zahl der von dem dritten Ratenan passungsblock 233 ausgegebenen Symbole nach dem Punktieren Ni = [Nis – (R × Ncs)]/2. Wenn dieser Ausdruck eine ungrade Zahl ergibt, wird die Ausgangssymbolzahl Ni = [Nis – (R × Ncs) + 1]/2 oder [Nis – (R × Ncs) – 1]/2. Einer der zwei Werte wird gemäß der Beziehung zwischen dem zweiten Ratenanpassungsblock 232 und dem dritten Ratenanpassungsblock 233 ausgewählt. Das heißt, wenn die Ausgangssymbolzahl des zweiten Ratenanpassungsblocks 232 als [Nis – (R × Ncs) + 1]/2 bestimmt wird, wird die Zahl von Ausgangssymbolen des dritten Ratenanpassungsblocks 233 als [Nis – (R × Ncs) – 1]/2 bestimmt. Wenn andererseits die Ausgangssymbolzahl des zweiten Ratenanpassungsblocks 232 als [Nis – (R × Ncs) – 1]/2 bestimmt wird, wird die Ausgangssymbolzahl des dritten Ratenanpassungsblocks 233 als [Nis – (R × Ncs) + 1]/2 bestimmt.
  • Die das Punktierungsschema bestimmenden Parameter 'a' und 'b' können gemäß einem gewünschten Punktierungsschema als Ganzzahlen gewählt werden. Diese Ganzzahlen werden nur gemäß dem Punktierungsschema bestimmt, und die Parameter können auf b = 1 und a = 2 gesetzt werden. Eine ausführliche Beschreibung eines Verfahrens zum Bestimmen der Ganzzahlen für die das Punktierungsschema bestimmenden Parameter erfolgt mit Verweis auf die unten stehenden Tabellen. Der dritte Ratenanpassungsblock 233 kann z.B. die Symbole '...01x11x11x...' ausgeben (worin x ein punktiertes Symbol angibt).
  • In 5 werden die durch den Turbocodierer 220 codierten Symbole getrennt und dann zu gleichen Zahlen an die Ratenanpassungsblöcke 231, 232 und 233 übergeben. Der erste Ratenanpassungsblock 231 gibt die Eingangssymbole wie sie sind aus. Der zweite und dritte Ratenanpassungsblock 232 und 233 punktieren dieselbe Zahl von Eingangssymbolen. An diesem Punkt können die Punktierungsschemas entweder gleich oder unterschiedlich bestimmt werden. Das heißt, das Punktierungsschema kann für die Ratenanpassungsblöcke 232 und 233 gleich oder unterschiedlich bestimmt werden.
  • 3. Bestimmung von Parametern zur Punktierung
  • In den hier erörterten Ausführungsformen der vorliegenden Erfindung punktieren die Ratenanpassungsblöcke dieselbe Zahl von Symbolen (ausgenommen der Ratenanpassungsblock 231 von 5). Die Ratenanpassungsblöcke können jedoch unterschiedliche Zahlen von Symbolen punktieren. Wenn die Zahl Ni der von den betreffenden Ratenanpassungsblöcken ausgegebenen Symbole unterschiedlich festgelegt wird, wird die Zahl von durch die betreffenden Ratenanpassungsblöcken punktierten Symbolen unterschiedlich bestimmt. Weiterhin kann das Schema der durch die betreffenden Ratenanpassungsblöcke punktierten Symbole durch Ändern der das Punktierungsschema bestimmenden Parameter 'a' und 'b' entweder gleich oder verschieden bestimmt werden. Das heißt, obwohl sie eine Einzelstruktur aufweist, kann eine erfindungsgemäße Ratenanpassungsvorrichtung Parameter, z.B. die Eingangssymbolzahl, die Ausgangssymbolzahl, die Zahl zu punktierender Symbole und die das Punktierungsschema bestimmenden Parameter, unterschiedlich festlegen. Tabelle 1 unten zeigt als Beispiel verschiedene Fälle der Parameter. Die Codierungsrate wird hier als R = 1/3 angenommen. Deshalb werden drei Ratenanpassungsblöcke bereitgestellt, und die betreffenden Ratenanpassungsblöcke empfangen getrennt dieselbe Zahl von Symbolen, d.h., Nc = Ncs/3 Symbole. Die Ratenanpassungsblöcke empfangen hierin getrennt dieselbe Symbolzahl, die durch Multiplizieren der Zahl der codierten Symbole mit der Codierungsrate bestimmt wird. Man sollte aber zur Kenntnis nehmen, dass die vorliegende Erfindung auch auf einen Fall angewandt werden kann, wo die Ratenanpassungsblöcke getrennt eine unterschiedliche Zahl von Symbolen empfangen, d.h., eine Zahl von Symbolen, die kleiner ist als die Zahl, die durch Multiplizieren der Zahl der codierten Symbole in einem Rahmen mit der Codierungsrate bestimmt wird, oder eine Zahl von Symbolen, die größer ist als die Zahl, die durch Multiplizieren der Zahl der codierten Symbole in einem Rahmen mit der Codierungsrate bestimmt wird. In der Beschreibung unten bezeichnen RMB1, RMB2 und RMB3 jeweils den ersten bis dritten Ratenanpassungsblock.
  • [Tabelle 1]
    Figure 00200001
  • In Tabelle 1 bezeichnen RMB1, RMB2, RMB3 Ratenanpassungsblöcke, und p, q, r, s, t, w, x, y und z sind Ganzzahlen. In den Fällen 9 und 10 ist (1/p + 1/q + 1/r) = 1.0. Dies ist, weil Nis(1/p + 1/q + 1/t) = Nis. NA (nicht vorhanden) gibt an, dass die Eingangssymbole wie sie sind ohne Punktierung ausgegeben werden, wobei die Parameter 'a' und 'b' auf irgendeinen Wert gesetzt werden können. Die Parameter 'a' und 'b' sind hier positive Zahlen. Weiter wird der Fall gezeigt, wo die Eingangssymbole zur Durchführung der Ratenanpassung punktiert werden, so dass die Zahl der Eingangssymbole größer ist als die Zahl der Ausgangssymbole (d.h., Ncs > Nis). Es wird auf jeden Fall verwiesen.
  • Fall 1, Fall 2: In Fall 1 und Fall 2 werden die Symbole in einem Rahmen nach einem gleichmäßigen Schema punktiert. Insbesondere haben im Fall 1 die Ratenanpassungsblöcke dasselbe Punktierungsschema, weil die Parameter "a" und "b" gleich sind, und im Fall 2 haben die Ratenanpassungsblöcke verschiedene Punktierungsschemas, weil die Parameter "a" und "b" verschieden sind.
  • Fall 3: Beim systematischen Punktieren werden Informationssymbole nicht punktiert, sondern die Paritätssymbole werden punktiert. Da hier die das Punktierungsschema bestimmenden Parameter 'a' und 'b' gleich sind, führen RMB2 und RMB3 eine gleichmäßige Punktierung halb und halb mittels desselben Punktierungsschemas durch.
  • Fall 4: Beim systematischen Punktieren werden Informationssymbole nicht punktiert, und die Paritätssymbole werden punktiert. Da hier die das Punktierungsschema bestimmenden Parameter 'a' und 'b' verschieden sind, führen RMB2 und RMB3 eine gleichmäßige Punktierung halb und halb mittels verschiedener Punktierungsschemas durch.
  • Fall 5: Dies ist ein allgemeiner Fall für Fall 3. In diesem Fall wird der das Punktierungsschema bestimmende Parameter 'a' auf eine Ganzzahl 'p' gesetzt, so dass es möglich sein kann, die verschiedenen Punktierungsschemas festzulegen. Der Parameter 'a' wird für RMB2 und RMB3 auf denselben Wert gesetzt.
  • Fall 6: Dies ist ein allgemeiner Fall für Fall 4. In diesem Fall wird der das Punktierungsschema bestimmende Parameter 'a' auf Ganzzahlen 'p' und 'q' gesetzt, so dass es möglich sein kann, die verschiedenen Punktierungsschemas festzulegen. Der Parameter 'a' wird für RMB2 auf 'p' und für RMB3 auf 'q' gesetzt.
  • Fall 7: Dies ist ein weiterer allgemeiner Fall für Fall 5. In diesem Fall wird der das Punktierungsschema bestimmende Parameter 'a' auf eine Ganzzahl 'p' gesetzt, und der das Punktierungsschema bestimmende Parameter 'b' wird auf eine Ganzzahl 'q' gesetzt, so dass es möglich sein kann, die verschiedenen Punktierungsschemas festzulegen. Die Parameter 'a' und 'b' werden für RMB2 und RMB3 auf denselben Wert gesetzt.
  • Fall 8: Dies ist ein weiterer allgemeiner Fall für Fall 6. In diesem Fall wird der das Punktierungsschema bestimmende Parameter 'a' für RMB2 und RMB3 auf Ganzzahlen 'p' bzw. 'r' gesetzt, und der das Punktierungsschema bestimmende Parameter 'b' wird für RMB2 und RMB3 auf Ganzzahlen 'q' bzw. 's' gesetzt, so dass es möglich sein kann, die verschiedenen Punktierungsschemas festzulegen. Die Parameter 'a' und 'b' werden für RMB2 auf 'p' und 'q' und für RMB3 auf 'r' und 's' gesetzt.
  • Fall 9, Fall 10: In diesen Fällen werden alle möglichen Parameter geändert. Das heißt, die Ausgangssymbolzahl kann auf jede Ganzzahl gesetzt werden, und die das Punktierungsschema bestimmenden Parameter 'a' und 'b' können auch auf jede gegebene Ganzzahl gesetzt werden.
  • In Tabelle 1 können Fall 1 und Fall 2 angewandt werden, wenn die Ratenanpassung auf den konvolutional codierten Symbolen erfolgt, und die Fälle 3 bis 8 können angewandt werden, wenn die Ratenanpassung auf den turbocodierten Symbolen erfolgt.
  • Das Punktierungsschema kann gemäß einer Änderung des das Punktierungsschema bestimmenden Parameters 'a' geändert werden. Tabelle 2 unten zeigt eine Änderung des Punktierungsschemas gemäß einer Änderung des Parameters 'a'. In Tabelle 2 wird angenommen, dass Nc = 10, Ni = 8, y = Nc – Ni = 10 – 8 = 2 und b = 1. Die gemäß dem Punktierungsschema punktierten Symbole werden durch "x" dargestellt.
  • [Tabelle 2]
    Figure 00220001
  • Aus Tabelle 2 ist zu ersehen, dass es möglich ist, verschiedene Punktierungsschemas zu erhalten, indem 'b' auf '1' festgelegt wird und 'a' auf verschiedene Werte gesetzt wird. Man kann verstehen, dass das erste Symbol des Punktierungsschemas vorne liegt, wenn der Wert 'a' erhöht wird. Es ist natürlich möglich, mehr verschiedenartige Punktierungsschemas zu erhalten, indem auch der Parameter 'b' verändert wird. Außerdem ist es möglich, die Punktierung des ersten Symbols zu verhindern, indem der Parameter 'b' auf '1' gesetzt wird und ein Wert benutzt wird, der Gleichung 1 unten für den Parameter 'a' erfüllt. Um die Voraussetzung 3B zu erfüllen, sollte der Parameter 'a' auf einen Wert innerhalb eines Bereichs von Gleichung 1 gesetzt werden. 1 < = a < |Nc/y| (1)worin |Nc/y| die größte Ganzzahl kleiner oder gleich Nc/y ist.
  • In Gleichung 1 ist für Nc = 10 und y = 2 Nc/y = 10/2 = 5. Daher werden die ersten Symbole nicht punktiert, wenn 'a' einen Wert von 1, 2, 3 und 4 hat.
  • Um Voraussetzung 5B zu erfüllen, sollten die Schwanzbits nicht punktiert werden. Dazu sollte Nc auf einen Wert gesetzt werden, der bestimmt wird, indem die Zahl der Schwanzbits davon subtrahiert wird. Das heißt, wenn die Eingangssymbolzahl Nc auf Nc – NT gesetzt wird, wo NT die Zahl von Schwanzbits bezeichnet, werden die Schwanzbits nicht punktiert, womit Voraussetzung 5B erfüllt ist. Mit anderen Worten, die Schwanzbits gelangen nicht in den Ratenanpassungsblock. Das Ratenanpassungsschema berücksichtigt somit nur eine Rahmengröße von Nc – NT. Nach Punktieren oder Wiederholen durch den Ratenanpassungsblock werden die Schwanzbits nacheinander mit den Ausgangssymbolen des Ratenanpassungsblocks verkettet. Die Schwanzbits werden nicht verarbeitet und nur an das Ende der Ausgangssymbole angehängt.
  • 4. Ratenanpassungsalgorithmus durch Punktieren
  • 7 zeigt eine Ratenanpassungsprozedur durch Punktieren gemäß einer Ausführungsform der vorliegenden Erfindung. Diese Prozedur wird auf der Basis eines in Tabelle 3 unten gezeigten Ratenanpassungsalgorithmus ausgeführt. "So = {d1, d2, ..., dNc}" bezeichnet die für einen Ratenanpassungsblock eingegebenen Symbole, d.h., die in einer Rahmeneinheit für einen Ratenanpassungsblock eingegebenen Symbols, und besteht insgesamt aus Nc Symbolen. Ein Schiebeparameter S(k) ist ein in dem Algorithmus benutzter Anfangswert und wird dauerhaft auf '0' gesetzt, wenn eine erfindungsgemäße Ratenanpassungsvorrichtung in einer Abwärtsstrecke eines digitalen Übertragungssystems verwendet wird (d.h., wenn eine Ratenanpassung auf den von der Basisstation an die Mobilstation zu sendenden codierten Symbolen erfolgt). 'm' gibt die Reihenfolge der zur Ratenanpassung eingegebenen Symbole an und hat die Reihenfolge 1, 2, 3, ..., Nc. Aus Tabelle 3 ist ersichtlich, dass die Parameter, die die Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni und die das Punktierungsschema bestimmenden Parameter 'a' und 'b' enthalten, geändert werden können. Zum Beispiel können die Parameter wie in Tabelle 1 gezeigt geändert werden. Die Eingangssymbolzahl Nc kann gemäß der Codierungsrate R als ein Wert anders als Ncs/3 bestimmt werden. 7 entspricht dem Fall, wo der Algorithmus von Tabelle 3 auf eine Abwärtsstrecke eines digitalen Übertragungssystems angewandt wird, d.h., S(k) = 0.
  • [Tabelle 3]
    Figure 00240001
  • Wenn der Algorithmus von Tabelle 3 benutzt wird, werden die folgenden Vorteile bereitgestellt.
  • Erstens, es ist möglich, die codierten Symbole einer Rahmeneinheit variabel zu punktieren.
  • Zweitens, es ist möglich, verschiedene Punktierungsschemas durch Justieren der Parameter Nc, Ni, a und b zu erzeugen.
  • Drittens, es ist möglich, die Komplexität und Rechenzeit jedes Ratenanpassungsblocks um 1/R zu reduzieren. Das liegt daran, dass, wenn eine Mehrzahl von Ratenanpassungsblöcken benutzt wird, die Zahl der durch jeden Ratenanpassungsblock zu punktie renden Symbole vermindert wird, verglichen mit dem Fall, wo ein Ratenanpassungsblock benutzt wird.
  • Gemäß 7 werden in Schritt 701 alle Arten Parameter einschließlich der Eingangsymbolzahl Nc, der Ausgangssymbolzahl Ni und der das Punktierungsschema bestimmenden Parameter 'a' und 'b' für den Ratenanpassungsprozess initialisiert. Wenn Nc und Ni durch Parameterinitialisierung bestimmt sind, wird die Zahl zu punktierender Symbole in Schritt 702 durch y = Nc – Ni bestimmt. In Schritt 703 wird ein Anfangsfehler 'e' zwischen vorhandenen und gewünschten Punktierungsverhältnissen errechnet. Der Anfangsfehler wird durch e = b·Ncmoda·Nc bestimmt.
  • Als Nächstes wird in Schritt 704 'm', der die Reihenfolge der Eingangssymbole angibt, auf '1' gesetzt (m = 1). Danach werden in den Schritten 705 bis 709 die Symbole von dem Anfangssymbol an dahingehend untersucht, ob sie punktiert werden sollen oder nicht. Wenn in Schritt 707 festgestellt wird, dass der berechnete Fehlerwert 'e' kleiner oder gleich '0' ist, wird das entsprechende Symbol punktiert, und dann wird in Schritt 708 der Fehlerwert durch e = e + a·Nc aktualisiert. Andernfalls wird, wenn in Schritt 707 festgestellt wird, dass der berechnete Fehlerwert 'e' größer als '0' ist, keine Punktierung durchgeführt. Der Vorgang des Empfangens der codierten Symbole in Reihenfolge, des Bestimmens, ob auf den empfangenen Symbolen eine Punktierung durchgeführt wird, und des Durchführens der entsprechenden Punktierung wird wiederholend ausgeführt, bis in Schritt 705 festgestellt wird, dass alle Symbole in einem Rahmen vollständig empfangen wurden.
  • Wie durch den obigen Algorithmus gezeigt, wird die Position des ersten zu punktierenden oder zu wiederholenden Symbols durch die Parameter (a, b) gesteuert (Initial_Offset_m = die Position des ersten zu punktierenden Symbols). In dem obigen Algorithmus ist Initial_Offset_m = 'm', wenn für das erste Mal 'e' < = 0. Die Tabelle unten zeigt ein Beispiel zum Bestimmen von Initial_Offset_m. In dem Beispiel unten wird angenommen, dass bNc kleiner als aNc ist.
  • Figure 00260001
  • "Initial_Offset_m = k = 4"
  • In den Gleichungen unten bezeichnet Ppnc die Periode des Punktierens oder Wiederholens in dem obigen Algorithmus. Initial_Offset_m = |bNc/ay| = |(b/a)·(Nc/y)| = (b/a)·Ppnc|Ppnc = |Nc/y| wenn Nc/y eine Ganzzahl ist
    = |Nc/y| +/– 1 wenn Nc/y keine Ganzzahl ist.
  • Wie in den obigen Gleichungen gezeigt, kann durch Steuern der Parameter (a, b) die Position des ersten zu punktierenden oder zu wiederholenden Symbols gesteuert werden.
  • Zum Beispiel nimmt der Wert von Initial-Offset_m ab, während 'a' zunimmt, wenn 'b' konstant bleibt. Durch Erhöhen von 'a' wird somit die Position des ersten zu punktierenden/wiederholenden Symbols näher an die erste Position geschoben. Wenn 'a' größer als by/Nc gewählt wird, dann ist Initial_Offset_m = 1, was bedeutet, dass das erste Symbol punktiert oder wiederholt werden wird. Demnach kann die Position des ersten zu punktierenden/wiederholenden Symbols manipuliert werden, indem ein Wert für 'a' zwischen 1 und Ppnc gewählt wird. Wenn z.B. 'b' = 1 und 'a' = 2, wird die Position des ersten zu punktierenden/wiederholenden Symbols immer gleich Ppnc/2 sein.
  • Was den Parameter 'b' angeht, steuert er den Initial_Offset_m zusammen mit 'a', und, wie unten gezeigt, kann, sobald der Wert für 'a' bestimmt worden ist, der Wert von 'b' als 1 < = 'b'< = 'a' ausgedrückt werden. Wenn 'a' konstant bleibt, wird Initial_Offset_m zunehmen, wenn 'b' zunimmt, und wird abnehmen, wenn 'b' abnimmt. Die Punktierungs/Wiederholungs-Positionen können somit durch Manipulieren der Werte der Parameter (a, b) gesteuert werden. Obwohl der Wert von 'b' beliebig sein kann, ist es nicht sinnvoll, einen Wert von 'b' größer als 'a' zu wählen, wie unten gezeigt, weil der Anfangswert von 'e' zyklisch wird, sobald der Wert von 'b' größer als 'a' wird (d.h., der Wert von 'e' wiederholt sich selbst).
    Lasse 'a' = 3;
    der Anfangswert von e = (2·S(k)·y + bNc)modaNc;
    e = bNcmodaNc, da S(k) = 0 in der Abwärtsstrecke;
    wenn b = 1 dann e = Nc;
    wenn b = 2 dann e = 2Nc;
    wenn b = 3 dann e = 3Nc;
    wenn b = 4 dann e = Nc;
    wenn b = 5 dann e = 2Nc;
    wenn b = 6 dann e = 3Nc;
  • Wie in dem obigen Beispiel gezeigt, ändert sich der Wert von 'e', wenn sich der Wert von 'b' ändert. Sobald aber der Wert von 'b' größer wird als 'a', wiederholt der Wert von 'e' sich selbst zyklisch. Es ist daher nicht sinnvoll, 'b' einen Wert größer als 'a' zuzuweisen. Zusammengefasst, das Punktierungs/Wiederholungs-Schema kann durch Manipulieren der Parameter (a, b) gesteuert werden.
  • B. Ausführungsformen der Ratenanpassungsvorrichtung durch Wiederholen
  • 1. Ausführungsform der Ratenanpassungsvorrichtung durch Wiederholen (für einen Konvolutional-Code)
  • 9 zeigt eine Struktur einer Ratenanpassungsvorrichtung einer erfindungemäßen Ausführungsform. Diese Struktur wird verwendet, wenn die Ratenanpassungsvorrichtungen von 2 und 3 konvolutional codierte Symbole durch Wiederholen in der Rate anpassen.
  • Gemäß 9 codiert ein Konvolutionalcodierer 210 eingegebene Informationsbits lk mit einer Codierungsrate R = 1/3 und gibt codierte Symbole C1k, C2k und C3k aus. Die codierten Symbole C1k, C2k und C3k werden getrennt an Ratenanpassungsblöcke 231, 232 bzw. 233 übergeben. Der erste Ratenanpassungsblock 231 wiederholt selektiv das codierte Symbol C1k. An diesem Punkt erfolgt der Wiederholungsprozess auf der Basis der Symbolwiederholungszahl y = Ni – Nc, die durch die Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni und die das Wiederholungsschema bestimmenden Parameter 'a' und 'b' bestimmt wird. Der erste Ratenanpassungsblock 231 kann z.B. die Symbole '...11(11)101(00)010...' ausgeben (wobei (11) und (00) wiederholte Symbole bezeichnen).
  • Der zweite Ratenanpassungsblock 232 wiederholt selektiv das codierte Symbol C2k. An diesem Punkt erfolgt der Wiederholungsprozess auf der Basis der Symbolwiederholungszahl y = Ni – Nc, die durch die Eingangssymbolszahl Nc, die Ausgangssymbolzahl Ni und die das Wiederholungsschema bestimmenden Parameter 'a' und 'b' bestimmt wird. Der zweite Ratenanpassungsblock 232 kann z.B. die Symbole '...(11)01(00)1100...' ausgeben (wobei (11) und (00) wiederholte Symbole bezeichnen).
  • Der dritte Ratenanpassungsblock 233 wiederholt das codierte Symbol C3k. An diesem Punkt erfolgt der Wiederholungsprozess auf der Basis der Symbolwiederholungszahl y = Ni – Nc, die durch die Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni und die das Wiederholungsschema bestimmenden Parameter 'a' und 'b' bestimmt wird. Der dritte Ratenanpassungsblock 233 kann z.B. die Symbole '...0(11)1101(11)...' ausgeben (wobei (11) wiederholte Symbole angibt). Die durch die Ratenanpassungsblöcke 231, 232 und 233 in der Rate angepassten codierten Symbole werden durch einen Multiplexer 240 gemultiplext und an einen Kanalsender übergeben.
  • In 9 werden die Eingangssymbolzahl Nc und die Ausgangssymbolzahl Ni für jeden Ratenanpassungsblock in gleicher Weise als Nc = R × Ncs bzw. Ni = R × Nis bestimmt. Es ist festgelegt, dass jeder Ratenanpassungsblock getrennt dieselbe Zahl der kanalcodierten Symbole in der Annahme wiederholt, dass die Fehleranfälligkeit von codierten Signalen für jedes Symbol in einem Rahmen fast gleich ist. Das heißt, innerhalb eines Rahmens wird ein fast gleichmäßiges Wiederholungsschema ungeachtet der gemäß der Serviceart bestimmten verschiedenen Wiederholungsbitzahlen (y = Ni – Nc) bereitgestellt. Das liegt daran, dass es möglich ist, für den Konvolutionalcode die ganzen Symbole in einem Rahmen gleichmäßig zu wiederholen.
  • Gemäß der Ausführungsform der vorliegenden Erfindung werden die durch den Konvolutional-Codierer codierten Symbole in derselben Zahl getrennt und an die Ratenanpassungsblöcke 231, 232 und 233 übergeben. Die Ratenanpassungsblöcke 231, 232 und 233 wiederholen jeweils dieselbe Zahl von Eingangssymbolen. An diesem Punkt können die Wiederholungsschemaparameter entweder gleich oder verschieden bestimmt werden. Das heißt, für die Ratenanpassungsblöcke 231, 232 und 233 können die Wiederholungsmuster entweder gleich oder unterschiedlich bestimmt werden.
  • 2. Eine andere Ausführungsform einer Ratenanpassungsvorrichtung durch Wiederholen (für einen Turbocode)
  • 10 zeigt die Struktur einer Ratenanpassungsvorrichtung durch Wiederholen gemäß einer anderen Ausführungsform der vorliegenden Erfindung. Diese Struktur wird benutzt, wenn die Ratenanpassungsvorrichtungen von 2 und 3 die Raten von turbocodierten Symbolen anpassen.
  • Gemäß 10 codiert ein Turbocodierer 220 eingegebene Informationsbits lk mit einer Codierungsrate von R = 1/3 und gibt codierte Symbole C1k, C2k und C3k aus. Von den codierten Symbolen wird das Informationssymbol C1k getrennt an einen ersten Ratenanpassungsblock 231 übergeben, und die Paritätssymbole (Redundanzsymbole) C2k und C3k werden getrennt an einen zweiten und dritten Ratenanpassungsblock 232 bzw. 233 übergeben. Der Turbocodierer 220 besteht aus einem ersten Komponentencodierer 222, einem zweiten Komponentencodierer 224 und einem Verschachteler 226, wie in 6 gezeigt. Die Komponentencodierer 222 und 224 können rekursive systematische Codes (RSC) verwenden. Der Aufbau des Turbocodierers 220 ist den Fachleuten wohl bekannt. Eine ausführliche Beschreibung wird daher weggelassen. Die Eingabe X(t) in den Turbocodierer 220 entspricht den in 10 gezeigten Eingangsinformationsbits lk. Die Ausgänge X(t), Y(t) und Y'(t) des Turbocodierers 220 entsprechen den in 10 gezeigten codierten Symbolen C1k, C2k bzw. C3k. Der erste Ausgang des Turbocodierers 220 gibt die eingegebenen Informationsbits lk wie sie sind aus, so dass in 10 die eingegebenen Informationsbits lk als C1k ausgegeben werden.
  • Der erste Ratenanpassungsblock 231 wiederholt die codierten Symbole C1k auf der Basis der folgenden Kriterien. Da die Codierungsrate R = 1/3 ist, wird die Eingangssymbolzahl Nc als Nc = R × Ncs = Ncs/3 bestimmt, was 1/3 der Gesamtzahl von Eingangssymbolen (codierte Symbole) ist. Die Ausgangssymbolzahl Ni wird als Ni = Nis – (2R × Ncs) bestimmt, da das Wiederholen gemäß Voraussetzung 1D erfolgen soll. Die Wiederholungsschema-Bestimmungsparameter 'a' und 'b' können gemäß einem gewünschten Wiederholungsschema auf gegebene Ganzzahlen gesetzt werden. Die Ganzzahlen können nur in Abhängigkeit von dem Wiederholungsschema bestimmt werden, und die Parameter können typisch auf b = 1 und a = 2 gesetzt werden. Eine ausführliche Beschreibung eines Verfahrens zum Bestimmen der Ganzzahlen für die Wiederholungsschema-Bestimmungsparameter wird mit Verweis auf die Tabellen unten vorgenommen werden. Der erste Ratenanpassungsblock 231 kann z.B. die Symbole '...1(11)101(00)11...' ausgeben (wo (11) und (00) wiederholte Symbole angeben).
  • Der zweite Ratenanpassungsblock 232 gibt die codierten Symbole Ck2 ohne Wiederholung aus. Der zweite Ratenanpassungsblock 232 kann jedoch die codierten Symbole C2k unter bestimmten Umständen, z.B. strenge Wiederholung, wiederholen. Da die Codierungsrate R = 1/3 beträgt, wird die Eingangssymbolzahl Nc als Nc = R × Ncs = Ncs/3 bestimmt, was 1/3 der Gesamtzahl von Eingangssymbolen ist. Die Ausgangssymbolzahl Ni wird als Ni = R × Ncs bestimmt, was gleich der Eingangssymbolzahl ist, da gemäß den Voraussetzungen 2D und 4D die zwei Arten von Paritätssymbolen nicht wiederholt werden sollen. Der zweite Ratenanpassungsblock 232 kann z.B. die Symbole '...110111101...' ausgeben, worin keine Wiederholung vorhanden ist.
  • Der dritte Ratenanpassungsblock 233 gibt die codierten Symbole C3k ohne Wiederholung aus. Der dritte Ratenanpassungsblock 233 kann aber unter strenger Wiederholung die codierten Symbole C3k auch wiederholen. Da die Codierungsrate R = 1/3 ist, wird die Eingangssymbolzahl Nc als Nc = R × Ncs = Ncs/3 bestimmt, was 1/3 der Gesamtzahl von Eingangssymbolen ist. Die Ausgangssymbolzahl Ni wird als Ni = R × Ncs bestimmt, was gleich der Eingangssymbolzahl ist, da gemäß den Voraussetzungen 2D und 4D die zwei Arten von Paritätssymbolen nicht wiederholt werden sollen. Die Wiederholungsschema-Bestimmungsparameter 'a' und 'b' können auf gegebene Ganzzahlen gemäß einem gewünschten Wiederholungsschema gesetzt werden. Wenn aber die Blöcke 232 und 233 keine Wiederholung verwenden, sind die Parameter (a, b) für die Ratenanpassungsblöcke 232 und 233 ohne Bedeutung. Die Ganzzahlen werden nur abhängig von dem Wiederholungsschema bestimmt, und die Ganzzahlen können typisch auf b = 1 und a = 2 gesetzt werden. Eine ausführliche Beschreibung eines Verfahrens zum Bestimmen der Ganzzahlen für die Wiederholungsschema-Bestimmungsparameter wird mit Verweis auf die Tabellen unten vorgenommen werden. Der dritte Ratenanpassungsblock 233 kann z.B. die Symbole '...01011010...' ausgeben, die keine Wiederholung erfahren haben.
  • In 10 werden die durch den Turbocodierer 220 codierten Symbole in derselben Zahl getrennt und dann an die Ratenanpassungsblöcke 231, 232 und 233 übergeben. Der erste Ratenanpassungsblock 231 empfängt die Informationssymbole aus den codierten Symbolen und wiederholt die empfangenen Symbole gemäß einem vorbestimmten Wiederholungsschema. Der zweite und dritte Ratenanpassungsblock 232 und 233 empfangen die Paritätssymbole aus den codierten Symbolen und geben die empfangenen Symbole wie sie sind ohne Wiederholung aus.
  • 3. Bestimmung von Parametern zum Wiederholen
  • Wie oben beschrieben, können die für die betreffenden Ratenanpassungsblöcke benutzten Wiederholungsschemas entweder gleich oder unterschiedlich sein. Das heißt, das in den betreffenden Ratenanpassungsblöcken benutzte Symbolwiederholungsschema und die Zahl von wiederholten Symbolen kann variabel bestimmt werden. Wenn die Zahl Ni der von den betreffenden Ratenanpassungsblöcken ausgegebenen Symbole unterschiedlich festgelegt wird, wird die Zahl der durch die betreffenden Ratenanpassungsblöcke wiederholten Symbole unterschiedlich bestimmt werden. Weiterhin kann das Schema der durch die betreffenden Ratenanpassungsblöcke wiederholten Symbole durch Ändern der Wiederholungsschema-Bestimmungsparameter 'a' und 'b' entweder gleich oder unterschiedlich bestimmt werden. Das heißt, obwohl sie einen Einzelstruktur aufweist, kann eine erfindungsgemäße Ratenanpassungsvorrichtung Parameter, z.B. die Eingangssymbolzahl, die Ausgangssymbolzahl, die Zahl zu wiederholender Symbole und die Wiederholungsschema-Bestimmungsparameter, unterschiedlich bestimmen.
  • Tabelle 4 unten zeigt als Beispiel verschiedene Fälle von Parametern. Die Codierungsrate wird hierin als R = 1/3 angenommen. Es werden daher drei Ratenanpassungsblöcke bereitgestellt, und die betreffenden Ratenanpassungsblöcke empfangen getrennt dieselbe Zahl von Symbolen, d.h., Nc = Ncs/3 Symbole. Hierin empfangen die Ratenanpassungsblöcke dieselbe Zahl von Symbolen, die durch Multiplizieren der Zahl von codierten Symbolen mit der Codierungsrate bestimmt wird. Man sollte aber zur Kenntnis nehmen, dass die vorliegende Erfindung auch auf einen Fall angewandt werden kann, wo die Ratenanpassungsblöcke getrennt eine unterschiedliche Zahl von Symbolen empfangen, d.h., eine Zahl von Symbolen, die kleiner ist als die Zahl, die durch Multiplizieren der Zahl der codierten Symbole in einem Rahmen mit der Codierungsrate bestimmt wird, oder eine Zahl von Symbolen, die größer ist als die Zahl, die durch Multiplizieren der Zahl der codierten Symbole in einem Rahmen mit der Codierungsrate bestimmt wird. In der Beschreibung unten bezeichnen RMB1, RMB2 und RMB3 jeweils den ersten bis dritten Ratenanpassungsblock.
  • [Tabelle 4]
    Figure 00320001
  • In Tabelle 4 bezeichnen RMB1, RMB2 und RMB3 Ratenanpassungsblöcke, und p, q, r, s, t, w und x sind gegebene Ganzzahlen. NA (nicht vorhanden) gibt an, dass die Eingangssymbole wie sie sind ohne Wiederholung ausgegeben werden, wofür die Parameter 'a' und 'b' auf jeden Wert gesetzt werden können. Hier sind die Parameter 'a' und 'b' positive Zahlen. Weiter wird der Fall gezeigt, wo die Eingangssymbole zur Durchführung der Ratenanpassung wiederholt werden, so dass die Zahl der Eingangssymbole kleiner oder gleich der Zahl der Ausgangssymbole ist (d.h., Ncs < = Nis). Es wird auf jeden Fall Bezug genommen.
  • Fall 1: Bei systematischer Wiederholung werden Informationssymbole wiederholt, aber die Paritätssymbole werden nicht wiederholt. Die Wiederholungsschema-Bestimmungsparameter werden auf a = 2 und b = 1 gesetzt.
  • Fall 2: Bei systematischer Wiederholung werden Informationssymbole wiederholt. aber die Paritätssymbole werden nicht wiederholt. Die Wiederholungsschema-Bestimmungsparameter werden auf a = p und b = q gesetzt.
  • Fall 1 und Fall 2 können nur angewandt werden, wenn die turbocodierten Informationssymbole wie in 10 gezeigt wiederholt werden.
  • Fall 3: Sowohl die Informationssymbole als auch die Paritätssymbole werden wiederholt, und die Wiederholungsschemas werden für RMB1, RMB2 und RMB3 in gleicher Weise bestimmt. Die Zahl von wiederholten Symbolen ist für RMB1, RMB2 und RMB3 gleich.
  • Fall 4: Sowohl die Informationssymbole als auch die Paritätssymbole werden wiederholt, und die Wiederholungsschemas werden für alle oder einige von RMB1, RMB2 und RMB3 unterschiedlich bestimmt. Die Zahl von wiederholten Symbolen ist für RMB2 und RMB3 gleich.
  • Tabelle 5 unten zeigt die Veränderungen in Wiederholungsschemas gemäß einer Änderung im Parameter 'a'. In Tabelle 5 wird angenommen, dass Nc = 8, Ni = 10, y = Ni – Nc = 10 – 8 = 2 und b = 1. Die gemäß dem Wiederholungsschema wiederholten Symbole werden durch '()' dargestellt.
  • [Tabelle 5]
    Figure 00330001
  • Aus Tabelle 5 ist zu ersehen, dass es möglich ist, verschiedene Wiederholungsschemas zu erhalten, indem 'b' auf '1' festgelegt wird und 'a' auf unterschiedliche Werte gesetzt wird. Natürlich ist es möglich, mehr verschiedenartige Wiederholungsschemas zu erhalten, indem auch der Parameter 'b' geändert wird. Außerdem ist es möglich, immer das erste Symbol zu wiederholen, indem der Parameter 'b' auf 1 gesetzt wird und ein Wert benutzt wird, der Gleichung 2 unten für den Parameter 'a' erfüllt. Um die Voraussetzung 3D zu erfüllen, sollte der Parameter 'a' auf einen Wert innerhalb eines Bereichs von Gleichung 2 gesetzt werden. a > |Nc/y| (2)wo |Nc/y| die größte Ganzzahl kleiner oder gleich Nc/y ist.
  • In Gleichung 2 ist für Nc = 8 und y = 2, Nc/y = 8/2 = 4. Wenn 'a' einen Wert größer als 4 hat, werden die ersten Symbole wiederholt.
  • Um die Voraussetzung 5D zu erfüllen, sollten die Schwanzbits wiederholt werden. Dazu sollte Nc auf einen Wert gesetzt werden, der durch Addieren der Zahl der Schwanzbits zu Nc bestimmt wird. Das heißt, wenn die Eingangssymbolzahl Nc auf Nc + NT gesetzt wird, wo NT die Zahl von Schwanzbits bezeichnet, werden die Schwanzbits für die Informationssymbole immer wiederholt, wodurch Voraussetzung 5D erfüllt wird. Mit anderen Worten, zum Wiederholen werden auch die Schwanzbits in den Ratenanpassungsblock eingegeben und zur Wiederholung in Betracht gezogen.
  • 4. Ratenanpassungsalgorithmus durch Wiederholen
  • 11 zeigt eine Ratenanpassungsprozedur durch Wiederholen gemäß einer Ausführungsform der vorliegenden Erfindung. Diese Prozedur wird auf der Basis eines in Tabelle 6 unten gezeigten Ratenanpassungsalgorithmus durchgeführt. In Tabelle 6 bezeichnet "So = {d1, d2, ..., dNc}" die zur Ratenanpassung eingegebenen Symbole, d.h., die in einer Rahmeneinheit zur Ratenanpassung eingegebenen Symbole, und besteht insgesamt aus Nc Symbolen. Ein Schiebeparameter S(k) ist ein in dem Algorithmus benutzter Anfangswert und wird dauerhaft auf "0" gesetzt, wenn die erfindungsgemäße Ratenanpassungsvorrichtung in einer Abwärtsstrecke eines digitalen Übertragungssystems verwendet wird (d.h., wenn die Ratenanpassung auf den von der Basisstation an die Mobilstation zu sendenden codierten Symbolen erfolgt). 'm' gibt die Reihenfolge der zur Ratenan passung eingegebenen Symbole an und hat die Reihenfolge 1, 2, 3, ..., Nc. Aus Tabelle 6 ist zu ersehen, dass die Parameter, die die Eingangssymbolzahl Nc, die Ausgangssymbolzahl Ni und die Wiederholungsschema-Bestimmungsparameter 'a' und 'b' einschließen, geändert werden können. Zum Beispiel können die Parameter wie in Tabelle 4 gezeigt geändert werden. Die Eingangssymbolzahl Nc kann gemäß der Codierungsrate R als ein Wert anders als Ncs/3 bestimmt werden. 11 entspricht dem Fall, wo der Algorithmus von Tabelle 6 auf die Abwärtsstrecke eines digitalen Übertragungssystems angewandt wird, d.h., S(k) = 0.
  • [Tabelle 6]
    Figure 00350001
  • Wenn der Algorithmus von Tabelle 6 benutzt wird, werden die folgenden Vorteile bereitgestellt.
  • Erstens, es ist möglich, die codierten Symbole (oder Codewortsymbole) der Rahmeneinheit variabel zu wiederholen.
  • Zweitens, es ist möglich, verschiedene Wiederholungsschemas durch Justieren der Parameter Nc, Ni, a und b zu erzeugen.
  • Drittens, es ist möglich, die Komplexität und Rechenzeit jedes Ratenanpassungsblocks um 1/R zu reduzieren. Dies liegt daran, dass, wenn eine Mehrzahl von Ratenanpassungsblöcken benutzt werden, die Zahl der durch jeden Ratenanpassungsblock zu wiederholenden Symbole verglichen mit dem Fall reduziert wird, wo ein Ratenanpassungsblock verwendet wird. Zum Beispiel kann die Zahl von Symbolen, die durch jeden Ratenanpassungsblock wiederholt werden kann, verglichen mit dem Fall, wo ein Ratenanpassungsblock verwendet wird, um die Codierungsrate R verringert werden.
  • Gemäß 11 werden in Schritt 1101 alle Arten von Parametern, einschließlich der Eingangssymbolzahl Nc, der Ausgangssymbolzahl Ni und der Wiederholungsschema-Bestimmungsparameter 'a' und 'b', für den Ratenanpassungsprozess initialisiert. Wenn Nc und Ni durch Parameterinitialisierung bestimmt werden, wird in Schritt 1102 die Zahl zu wiederholender Symbole durch y = Ni – Nc bestimmt. In Schritt 1103 wird ein Anfangsfehlerwert 'e' zwischen den momentanen und gewünschten Wiederholungsverhältnissen errechnet. Der Anfangsfehlerwert wird durch e = b·Ncmoda·Nc bestimmt.
  • Als Nächstes wird in Schritt 1104 'm', der die Reihenfolge der Eingangssymbole angibt, auf '1' (m = 1) gesetzt. Danach werden in den Schritten 1105 bis 1109 die Symbole vom Anfangssymbol an dahingehend untersucht, ob sie zu wiederholen sind oder nicht. Wenn in Schritt 1107 festgestellt wird, dass der berechnete Fehlerwert 'e' kleiner oder gleich '0' ist, wird das entsprechende Symbol wiederholt, und in Schritt 1108 wird dann der Fehlerwert durch e = e + a·Nc aktualisiert. Andernfalls wird, wenn in Schritt 1107 festgestellt wird, dass der berechnete Fehlerwert 'e' größer als '0' ist, keine Wiederholung durchgeführt. Der Vorgang des Empfangens der codierten Symbole in Reihenfolge, des Bestimmens, ob die empfangenen Symbole zu wiederholen sind, und des entsprechenden Durchführens der Wiederholung wird wiederholend ausgeführt, bis in Schritt 1105 festgestellt wird, dass alle Symbole in einem Rahmen vollständig empfangen wurden. Während des Wiederholungsprozesses wird in Schritt 1106 der Fehlerwert durch e = e – a·y aktualisiert.
  • Wie oben beschrieben, kann das erfindungsgemäße Datenübertragungssystem die Ratenanpassung sowohl auf mit einem nicht systematischen Code kanalcodierten Symbolen als auch auf mit einem systematischen Code kanalcodierten Symbolen mittels einer einzelnen Struktur durchführen. Das Datenübertragungssystem, das sowohl nicht systematische als auch systematische Codes unterstützt, kann deshalb mit einem nicht systematischen Code kanalcodierte Symbole oder mit einem systematischen Code kanalcodierte Symbole selektiv in der Rate anpassen, wodurch die Effizienz der Datenübertragung gesteigert und die Systemleistung verbessert wird.
  • Die vorliegende Erfindung hat die folgenden Vorteile.
  • Erstens, es ist möglich, durch Einstellen der Parameter der Ratenanpassungsblöcke die Punktierungs/Wiederholungs-Schemas frei festzulegen, und alle Voraussetzungen, die bei der Ratenanpassung der turbocodierten Symbole berücksichtigt werden sollten, können durch einfaches Einstellen der Parameter erfüllt werden.
  • Zweitens, es ist möglich, alle Ratenanpassungsblöcke gemäß der Codierungsrate R unter Verwendung desselben Algorithmus zu implementieren, und die Ratenanpassungsblöcke besitzen eine einfache Struktur.
  • Drittens, ein System, das sowohl Konvolutional-Codes als auch Turbocodes verwendet, kann sowohl Konvolutional-Codes als auch Turbocodes durch einfaches Einstellen verschiedener Anfangsparameter unterstützen, indem eine einzelne Ratenanpassungsvorrichtung anstelle verschiedener Ratenanpassungsvorrichtungen verwendet wird.
  • Viertens, es ist nicht erforderlich, die Ratenanpassungsblöcke gemäß einem Konvolutional-Code oder einem Turbocode unterschiedlich zu implementieren.
  • Fünftens, durch Festlegen der Zahl von Eingangssymbolen auf einen Wert, der durch Addieren der Zahl ihrer Schwanzbits bestimmt wird, so dass die Schwanzbits wiederholt werden, ist die neuartige Ratenanpassungsvorrichtung nützlich, wenn ein SOVA-Decoder benutzt wird oder wenn die Leistung infolge des Nichtwiederholens der Schwanzbits verschlechtert werden würde. Durch Festlegen der Zahl von Eingangssymbolen auf einen Wert, der durch Addieren der Zahl der Schwanzbits zu der Zahl von Nicht-Schwanzbits bestimmt wird, so dass die Schwanzbits wiederholt werden, ist die neuartige Raten anpassungsvorrichtung nützlich, wenn ein SOVA-Decoder benutzt wird oder wenn die Leistung infolge des Nichtwiederholens der Schwanzbits verschlechtert werden würde. Durch Festlegen der Zahl von Eingangssymbolen auf einen Wert, der durch Addieren der Zahl ihrer Schwanzbits bestimmt wird, so dass die Schwanzbits wiederholt werden, ist die neuartige Ratenanpassungsvorrichtung nützlich, wenn ein SOVA-Decoder benutzt wird oder wenn die Leistung infolge des Nichtwiederholens der Schwanzbits verschlechtert werden würde.
  • Sechstens, durch Setzen des Punktierungsschema-Bestimmungsparameters 'b' auf '1' und Setzen des Parameters 'a' auf einen Wert innerhalb eines spezifischen Bereichs, kann verhindert werden, dass das erste Symbol in einem Rahmen punktiert wird. Des Weiteren ist es möglich, das erste Symbol in einem Rahmen zu wiederholen, indem der Wiederholungsschema-Bestimmungsparameter 'b' auf '1' gesetzt wird und der Parameter 'a' auf einen Wert innerhalb eines spezifischen Bereichs gesetzt wird.

Claims (13)

  1. Vorrichtung zum Ratenanpassen von Turbo-Codes für ein Datenkommunikationssystem, wobei die Vorrichtung umfasst: einen Turbo-Codierer (220) zum Codieren von Eingangs-Informationsbits mit einer vorgegebenen Codierrate und zum Ausgeben eines Stroms systematischer Bits, eines Stroms erster Paritäts-Bits und eines Stroms zweiter Paritäts-Bits für die Eingangs-Informationen, um codierte Bits der Eingangs-Informationsbits zu erzeugen; und eine erste Ratenanpassungseinrichtung (232) zum Empfangen des Stroms erster Paritäts-Bits und zum Punktieren einer vorgegebenen Anzahl erster Partitäts-Bits in dem Strom erster Paritäts-Bits mit einem ersten Punktiermuster, das eine erste Punktierperiode umfasst; und eine zweite Ratenanpassungseinrichtung (232) zum Punktieren einer vorgegebenen Anzahl zweiter Paritäts-Bits in dem Strom zweiter Paritäts-Bits mit einem zweiten Punktiermuster, dass eine zweite Punktierperiode umfasst; dadurch gekennzeichnet, dass die Vorrichtung so eingerichtet ist, dass sie die erste Punktierperiode auf Basis erster Parameterwerte und die zweite Punktierperiode auf Basis zweiter Parameterwerte berechnet, wobei sich die erste und die zweite Punktierperiode voneinander wenigsten für einige der ersten und zweiten Parameterwerte unterscheiden.
  2. Vorrichtung nach Anspruch 1, wobei die Vorrichtung des Weiteren einen Multiplexer (240) zum Zusammenfassen des systematischen Bitstroms und des Ratenanpassung unterzogenen ersten und zweiten Paritäts-Bitstroms enthält.
  3. Vorrichtung nach Anspruch 1, wobei die ersten und die zweiten Parameterwerte des Weiteren einen zusätzlichen Parameterwert (a) zum Bestimmen einer Position eines in einem Rahmen zuerst zu punktierenden Bits umfassen.
  4. Vorrichtung nach Anspruch 1, wobei sich das erste und das zweite Punktiermuster der Ratenanpassungseinrichtung voneinander unterscheiden.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4, die des Weiteren eine zusätzliche Ratenanpassungseinrichtung zum Empfangen des Stroms systematischer Bits und zum Ausgeben des Stroms systematischer Bits umfasst.
  6. Ratenanpassungsverfahren für Ratenanpassung von Turbo-Codes für ein Datenkommunikationssystem mit einem Turbo-Codierer (220) zum Codieren von Eingangs-Informationsbits mit einer vorgegebenen Codierrate und zum Ausgeben eines Stroms systematischer Bits, eines Stroms erster Paritäts-Bits und eines Stroms zweiter Paritäts-Bits für die Eingangs-Informationsbits, um codierte Bits der Eingangs-Informationsbits zu erzeugen, und Ratenanpassungseinrichtungen (231, ..., 239, 230, 250) zum Punktieren einer Anzahl von Bits aus den codierten Bits, wobei das Verfahren die folgenden Schritte umfasst: separates Empfangen des jeweiligen Stroms von Paritäts-Bits in jeder der Ratenanpassungseinrichtungen; Bestimmen einer Anzahl codierter zu punktierender Bits verglichen mit einer Anzahl von Eingangs-Bits und einer Anzahl von Ausgangs-Symbolen in den Ratenanpassungseinrichtungen; und in der ersten Ratenanpassungseinrichtung Empfangen des Storms erster Paritäts-Bits und Punktieren der bestimmten Anzahl erster Paritäts-Bits in dem Strom erster Paritäts-Bits mit einem ersten Punktiermuster, das eine erste Punktierperiode umfasst; in der zweiten Ratenanpassungseinrichtung Punktieren einer vorgegebenen Anzahl zweiter Paritäts-Bits in dem Strom zweiter Paritäts-Bits mit einem zweiten Punktiermuster, das eine zweite Punktierperiode umfasst; und gekennzeichnet durch Berechnen der ersten Punktierperiode auf Basis erster Parameterwerte und der zweiten Punktierperiode auf Basis zweiter Parameterwerte, wobei sich die erste und die zweite Punktierperiode voneinander wenigsten für einige der ersten und der zweiten Parameterwerte unterscheiden.
  7. Verfahren nach Anspruch 6, wobei des Weiteren der Strom systematischer Bits und die punktierten Ströme von Paritäts-Bits separat in die jeweilige Ratenanpassungseinrichtung eingegeben werden.
  8. Verfahren nach Anspruch 6 oder 7, wobei des Weiteren der Strom systematischer Bits und die punktierten Ströme von Paritäts-Bits multiplexiert werden und der multiplexierte Bitstrom in einem Kanal-Sendevorgang ausgegeben wird.
  9. Datenkommunikationssystem für Ratenanpassung von Turbo-Codes, das umfasst: einen Turbo-Codierer (220) zum Codieren von Eingangs-Informationsbits mit einer vorgegebenen Codierrate und zum Ausgeben eines Stroms systematischer Bits, eines Stroms erster Paritäts-Bits und eines Stroms zweiter Paritäts-Bits für die Eingangs-Informationsbits, um codierte Bits der Eingangs-Informationsbits zu erzeugen; und eine Ratenanpassungseinrichtung für Ratenanpassung einer Anzahl von Bits aus den codierten Bits, dadurch gekennzeichnet, dass die Ratenanpassungseinrichtung umfasst: eine erste Ratenanpassungseinrichtung (231) zum Empfangen des Stroms systematischer Bits und zum Wiederholen einer vorgegebenen Anzahl systematischer Bits in dem Strom systematischen Bits, eine zweite Ratenanpassungseinrichtung (232) zum Empfangen des Stroms erster Paritäts-Bits und zum Wiederholen einer vorgegebenen Anzahl erster Paritäts-Bits in dem Strom erster Paritäts-Bits, und eine dritte Ratenanpassungseinrichtung (233) zum Wiederholen einer vorgegebenen Anzahl zweiter Paritäts-Bits in dem Strom zweiter Paritäts-Bits; wobei wenigstens eine der Ratenanpassungseinrichtungen (231, 232, 233) so eingerichtet ist, dass sie jeweilige systematische oder Paritäts-Bits gemäß einem entsprechenden Wiederholmuster wiederholt und das Wiederholmuster jeder der Ratenanpassungseinrichtungen gemäß jeweiligen Wiederholmuster-Bestimmungsparametern gesteuert werden kann.
  10. Ratenanpassungsverfahren für Ratenanpassung von Turbo-Codes in einem Datenkommunikationssystem mit einem Turbo-Codierer zum Codieren von Eingangs-Informationsbits mit vorgegebener Codierrate und Ausgeben eines Stroms systematischer Bits, eines Stroms erster Paritäts-Bits und eines Stroms zweiter Paritäts-Bits für die Eingangs-Informationsbits, um codierte Bits der Eingangs-Informationsbits zu erzeugen, und Ratenanpassungseinrichtungen (231, ..., 239, 230, 250) für Ratenanpassung einer Anzahl von Bits von den codierten Bits, wobei das Verfahren die folgenden Schritte umfasst: separates Empfangen des jeweiligen Stroms systematischer Bits oder des Stroms von Paritäts-Bits in jeder der Ratenanpassungseinrichtungen; Bestimmen einer Anzahl der zu wiederholenden codierten Bits verglichen mit der Anzahl von Eingangs-Bits und der Anzahl von Ausgangs-Bits von jeder der Ratenanpassungseinrichtungen; und Wiederholen einer bestimmten Anzahl der empfangenen systematischen oder Paritäts-Bits in wenigstens einer der Ratenanpassungseinrichtungen gemäß einem entsprechenden Wiederholmuster, wobei das Wiederholmuster jeder der Ratenanpassungseinrichtungen gemäß entsprechender Wiederholmuster-Bestimmungsparameter gesteuert werden kann.
  11. Verfahren nach Anspruch 10, das des Weiteren die folgenden Schritte umfasst: (a) Bestimmen einer Anzahl „y" der zu wiederholenden Bits durch Empfangen einer Anzahl Nc von Eingangs-Bits und einer Anzahl Ni von Ausgangs-Bits; (b) Berechnen eines Anfangs-Fehlerwertes „e", der einen Differenzwert zwischen einem aktuellen Wiederholverhältnis und einem gewünschten Wiederholverhältnis anzeigt; (c) Aktualisieren des Fehlerwertes für jedes der Eingangs-Bits; (d) Wiederholen des entsprechenden Eingangssymbols, wenn der Fehlerwert kleiner oder gleich „0" ist; und (e) wiederholtes Durchführen der Schritte (c) und (d), bis die Anzahl gezählter Symbole „m" größer ist als „Nc".
  12. Verfahren nach Anspruch 11, wobei der Anfangs-Fehlerwert „e", der einen Differenzwert zwischen einem aktuellen Wiederholverhältnis und einem gewünschten Wiederholverhältnis anzeigt, mit einer Formel [{(2 × S(k) × y) + (b × Nc)}mod{k × Nc}] berechnet wird und jede der Ratenanpassungseinrichtungen einen Satz der codierten Bits empfängt.
  13. Verfahren nach Anspruch 12, wobei S(k) einen Shift-Parameter bezeichnet, der beim Downlink auf „0" gesetzt wird, „a" ein Parameter bezeichnet, der eine Position eines zuerst zu wiederholenden Bits in einem Rahmen bestimmt, und „b" einen Parameter bezeichnet, der eine Periode der zu wiederholenden Bits in einem Bitstrom bestimmt.
DE60034203T 1999-07-06 2000-07-06 Vorrichtung zur übereinstimmung der datenrate und verfahren zur datenübertragung Expired - Lifetime DE60034203T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR9926978 1999-07-06
KR19990026978 1999-07-06
KR19990027865 1999-07-10
KR9927865 1999-07-10
PCT/KR2000/000732 WO2001003369A1 (en) 1999-07-06 2000-07-06 Rate matching device and method for a data communication system

Publications (2)

Publication Number Publication Date
DE60034203D1 DE60034203D1 (de) 2007-05-16
DE60034203T2 true DE60034203T2 (de) 2007-07-12

Family

ID=37807853

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60034203T Expired - Lifetime DE60034203T2 (de) 1999-07-06 2000-07-06 Vorrichtung zur übereinstimmung der datenrate und verfahren zur datenübertragung

Country Status (18)

Country Link
US (4) US6751772B1 (de)
EP (5) EP1487117B1 (de)
JP (7) JP4115701B2 (de)
CN (2) CN100397815C (de)
AT (1) ATE358926T1 (de)
AU (1) AU761696B2 (de)
BR (1) BRPI0006890B1 (de)
CA (1) CA2341744C (de)
CY (1) CY1107052T1 (de)
DE (1) DE60034203T2 (de)
DK (1) DK1101321T3 (de)
ES (2) ES2606218T3 (de)
ID (1) ID29427A (de)
IL (3) IL141800A0 (de)
PL (1) PL346646A1 (de)
PT (1) PT1101321E (de)
RU (1) RU2216111C2 (de)
WO (1) WO2001003369A1 (de)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
US6865237B1 (en) 2000-02-22 2005-03-08 Nokia Mobile Phones Limited Method and system for digital signal transmission
FI20001944A (fi) * 2000-09-04 2002-03-05 Nokia Corp Menetelmä ja järjestely digitaalisen signaalin siirtämiseksi
US7477703B2 (en) * 2000-02-22 2009-01-13 Nokia Mobile Phones, Limited Method and radio system for digital signal transmission using complex space-time codes
US6898743B2 (en) * 2000-07-03 2005-05-24 Lg Electronics Inc. Data rate matching method in 3GPP2 system
US7251285B2 (en) * 2000-07-11 2007-07-31 Lg Electronics Inc. Method and apparatus for transmitting and receiving using turbo code
DE10034714A1 (de) * 2000-07-17 2002-02-07 Infineon Technologies Ag Verfahren und Einrichtung zur Diversitätsübertragung codierter Information
FI20002845A (fi) * 2000-12-22 2002-06-23 Nokia Corp Digitaalisen signaalin lähettäminen
US7068627B2 (en) * 2000-10-19 2006-06-27 Samsung Electronics Co., Ltd. Device and method for transmitting data with different qualities in mobile communication system
KR100403085B1 (ko) * 2000-12-29 2003-10-30 엘지전자 주식회사 하이브리드 arq 시스템에서 레이트매칭 알고리즘의초기치 설정방법
DE10107703A1 (de) * 2001-02-19 2002-08-29 Siemens Ag Vefahren und Vorrichtung zur Datenübertragung gemäß einem Hybrid-ARQ-Verfahren
US7046719B2 (en) * 2001-03-08 2006-05-16 Motorola, Inc. Soft handoff between cellular systems employing different encoding rates
TW560806U (en) 2001-04-16 2003-11-01 Interdigital Tech Corp A frequency division duplex/code division multiple access (FDD/CDMA) user equipment
US7188300B2 (en) * 2001-05-01 2007-03-06 Telefonaktiebolaget Lm Ericsson (Publ) Flexible layer one for radio interface to PLMN
KR100918765B1 (ko) * 2001-10-20 2009-09-24 삼성전자주식회사 부호분할다중접속 이동통신시스템에서 부호화 및 레이트매칭장치 및 방법
KR100406528B1 (ko) * 2001-12-04 2003-11-20 한국전자통신연구원 무선통신 단말기 시스템에서의 레이트 매칭 파라미터의계산횟수 축소방법
KR100445899B1 (ko) * 2001-12-14 2004-08-25 한국전자통신연구원 터보 코드 인코더 및 그의 부호율 감소 방법
SG107575A1 (en) * 2002-01-17 2004-12-29 Oki Techno Ct Singapore Pte Communication systems with hybrid automatic repeat requests (harq) and rate matching
SG107576A1 (en) * 2002-01-17 2004-12-29 Oki Techno Ct Singapore Pte Communication system employing turbo codes and a hybrid automatic repeat request scheme
JP3629241B2 (ja) * 2002-01-30 2005-03-16 松下電器産業株式会社 レートマッチング装置及びレートマッチング方法
JP4847679B2 (ja) * 2002-04-08 2011-12-28 シーメンス アクチエンゲゼルシヤフト 通信装置においてデータレートをマッチングするための方法及び通信装置
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
WO2004034589A2 (en) 2002-10-05 2004-04-22 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
JP4224370B2 (ja) * 2003-09-25 2009-02-12 パナソニック株式会社 入力制御装置及び入力制御方法
CN101834610B (zh) 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
US7620028B2 (en) 2003-11-06 2009-11-17 Atheros Communications, Inc. Multi-channel binding in data transmission
CN1622649A (zh) * 2003-11-25 2005-06-01 安捷伦科技有限公司 生成最优重复的特播码流的系统和方法
KR101161193B1 (ko) 2004-05-07 2012-07-02 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
JP4415020B2 (ja) * 2004-12-28 2010-02-17 パナソニック株式会社 Ofdm通信装置およびofdm通信方法
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
WO2007043384A1 (ja) * 2005-10-11 2007-04-19 Matsushita Electric Industrial Co., Ltd. 符号化方法及び符号化装置、復号方法及び復号装置
JP5550834B2 (ja) 2006-02-13 2014-07-16 デジタル ファウンテン, インコーポレイテッド 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
WO2007132912A1 (ja) * 2006-05-17 2007-11-22 Nec Corporation ターボ符号器及びそれに用いるharq処理方法
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
DE602007011812D1 (de) 2006-11-14 2011-02-17 Nxp Bv Integrierte schaltung zum codieren von daten
US8171383B2 (en) * 2007-04-13 2012-05-01 Broadcom Corporation Method and system for data-rate control by randomized bit-puncturing in communication systems
WO2008151061A1 (en) * 2007-05-31 2008-12-11 Interdigital Technology Corporation Channel coding and rate matching for lte control channels
US8266508B2 (en) * 2007-06-08 2012-09-11 Telefonaktiebolaget L M Ericsson (Publ) Computational efficient convolutional coding with rate matching
JP2008311869A (ja) * 2007-06-13 2008-12-25 Telefon Ab L M Ericsson レートマッチング装置及びその方法、デレートマッチング装置及びその方法、通信装置、プログラム、記録媒体
US8638728B2 (en) * 2007-09-06 2014-01-28 Qualcomm Incorporated Blind decoding in a mobile environment
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
KR101412174B1 (ko) * 2007-10-17 2014-06-26 삼성전자주식회사 이동통신 시스템의 복호 장치 및 방법
US8327245B2 (en) 2007-11-21 2012-12-04 Micron Technology, Inc. Memory controller supporting rate-compatible punctured codes
US8788918B2 (en) * 2008-03-20 2014-07-22 Marvell World Trade Ltd. Block encoding with a variable rate block code
US9071402B2 (en) * 2008-03-24 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Selection of retransmission settings for HARQ in WCDMA and LTE networks
US8281211B2 (en) * 2008-05-15 2012-10-02 Nokia Corporation System and method for relay coding
KR101533240B1 (ko) 2008-08-25 2015-07-03 주식회사 팬택 이동통신 시스템에서 레이트 매칭을 제어하기 위한 레이트 매칭 장치 및 그 방법
US8316286B2 (en) 2008-09-04 2012-11-20 Futurewei Technologies, Inc. System and method for rate matching to enhance system throughput based on packet size
CN101674150B (zh) * 2008-09-12 2013-06-12 中兴通讯股份有限公司 速率匹配方法和装置
JP5153588B2 (ja) * 2008-11-21 2013-02-27 株式会社日立国際電気 無線通信装置
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US8386902B1 (en) * 2009-12-16 2013-02-26 Raytheon Company Method and apparatus for rational puncturing of forward error correcting codes
US8806310B2 (en) * 2010-05-03 2014-08-12 Intel Corporation Rate matching and de-rate matching on digital signal processors
US8839081B2 (en) * 2010-05-03 2014-09-16 Intel Corporation Rate matching and de-rate matching on digital signal processors
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US8386895B2 (en) 2010-05-19 2013-02-26 Micron Technology, Inc. Enhanced multilevel memory
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US8769365B2 (en) 2010-10-08 2014-07-01 Blackberry Limited Message rearrangement for improved wireless code performance
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
CN102769506B (zh) * 2011-05-05 2016-06-22 中兴通讯股份有限公司 一种解速率匹配的解交织方法和装置
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9043667B2 (en) * 2011-11-04 2015-05-26 Blackberry Limited Method and system for up-link HARQ-ACK and CSI transmission
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
EP2847876B1 (de) 2012-05-11 2016-10-05 BlackBerry Limited Verfahren und system für harq- und csi-multiplexing für eine trägeraggregation
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US9577673B2 (en) 2012-11-08 2017-02-21 Micron Technology, Inc. Error correction methods and apparatuses using first and second decoders
CN103166698A (zh) * 2013-02-27 2013-06-19 武汉电信器件有限公司 一种10*10g信号源码型发生器
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
CN111510245B (zh) * 2014-04-21 2023-05-30 Lg电子株式会社 广播信号发送设备、广播信号接收设备、广播信号发送方法以及广播信号接收方法
CN104202117B (zh) * 2014-08-25 2017-07-28 哈尔滨工业大学 一种基于遍历方式的唯一可译码的构码方法
US10496642B2 (en) 2014-10-03 2019-12-03 The Regents Of The University Of Michigan Querying input data
US10339141B2 (en) * 2014-10-03 2019-07-02 The Regents Of The University Of Michigan Detecting at least one predetermined pattern in stream of symbols
US9877174B2 (en) * 2014-10-15 2018-01-23 Intel IP Corporation Systems, methods, and devices for extending range of wireless networks
KR102422275B1 (ko) 2015-07-30 2022-07-18 삼성전자주식회사 무선 통신 시스템에서 채널 부호화 및 복호화 방법과 장치
TWI589125B (zh) 2016-08-26 2017-06-21 國立交通大學 渦輪編碼的數位資料之去穿刺方法與裝置及渦輪解碼器系統
CN108023663B (zh) * 2016-11-01 2021-04-13 武汉芯泰科技有限公司 一种基于可配置删余表的删余方法及装置
JP6762892B2 (ja) * 2017-03-06 2020-09-30 株式会社ゼンリンデータコム 経路案内装置、経路を案内する方法、コンピュータプログラム
US10536156B1 (en) * 2018-10-16 2020-01-14 Microchip Technology Incorporated Analog-to-digital converter controllers including configurable contexts

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3634661A (en) * 1968-09-26 1972-01-11 Giddings & Lewis Data processing method for minimizing potential errors occurring during linear and circular interpolation
EP0481549B1 (de) * 1990-10-09 1996-09-04 Laboratoires D'electronique Philips S.A.S. Kodier/Dekodier-Einrichtung und Verfahren für durch kodierte Modulation übertragene, digitale Signale
FR2675968B1 (fr) * 1991-04-23 1994-02-04 France Telecom Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant.
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
FR2681205B1 (fr) * 1991-09-09 1994-05-06 Hewlett Packard Co Procede et dispositif de multiplexage.
RU2048707C1 (ru) 1991-11-04 1995-11-20 Юрий Алексеевич Распаев Устройство коммутации кадров
DE4219757A1 (de) 1992-06-17 1993-12-23 Basf Ag Verfahren zur gleichzeitigen Herstellung von Dicarbonsäuren und Diaminen aus Polyamiden
US5432818A (en) * 1993-02-16 1995-07-11 Lou; Yuang Method and apparatus of joint adaptive channel encoding, adaptive system filtering, and maximum likelihood sequence estimation process by means of an unknown data training
DE69326935T2 (de) * 1993-03-02 2000-05-18 International Business Machines Corp., Armonk Verfahren und Vorrichtung zur Übertragung von einem Datenstrom mit hoher Bitfolgefrequenz über unabhängige digitale Kommunikationskanäle
US5383219A (en) * 1993-11-22 1995-01-17 Qualcomm Incorporated Fast forward link power control in a code division multiple access system
US5608446A (en) 1994-03-31 1997-03-04 Lucent Technologies Inc. Apparatus and method for combining high bandwidth and low bandwidth data transfer
US5668820A (en) 1995-01-23 1997-09-16 Ericsson Inc. Digital communication system having a punctured convolutional coding system and method
US6111912A (en) * 1995-11-09 2000-08-29 Lucent Technologies Inc. Method and apparatus for detecting the sub-rate of a punctured data packet for a multi-rate transmission scheme
US5909434A (en) * 1996-05-31 1999-06-01 Qualcomm Incorporated Bright and burst mode signaling data transmission in an adjustable rate wireless communication system
US5983384A (en) * 1997-04-21 1999-11-09 General Electric Company Turbo-coding with staged data transmission and processing
EP0997031B1 (de) * 1997-07-30 2007-09-19 Samsung Electronics Co. Ltd. Verfahren und schaltung zur adaptiven kanalkodierung
KR100387078B1 (ko) 1997-07-30 2003-10-22 삼성전자주식회사 대역확산통신시스템의심볼천공및복구장치및방법
US5907582A (en) * 1997-08-11 1999-05-25 Orbital Sciences Corporation System for turbo-coded satellite digital audio broadcasting
DE19736625C1 (de) 1997-08-22 1998-12-03 Siemens Ag Verfahren zur Datenübertragung auf Übertragungskanälen in einem digitalen Übertragungssystem
US6138260A (en) * 1997-09-04 2000-10-24 Conexant Systems, Inc. Retransmission packet capture system within a wireless multiservice communications environment with turbo decoding
US6131180A (en) 1997-11-03 2000-10-10 Ericsson, Inc. Trellis coded modulation system
CA2315795C (en) * 1997-12-24 2006-01-31 Inmarsat Ltd. Coding method and apparatus
US6088387A (en) * 1997-12-31 2000-07-11 At&T Corp. Multi-channel parallel/serial concatenated convolutional codes and trellis coded modulation encoder/decoder
US6370669B1 (en) * 1998-01-23 2002-04-09 Hughes Electronics Corporation Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
US6700881B1 (en) * 1998-03-02 2004-03-02 Samsung Electronics Co., Ltd. Rate control device and method for CDMA communication system
KR100557177B1 (ko) * 1998-04-04 2006-07-21 삼성전자주식회사 적응 채널 부호/복호화 방법 및 그 부호/복호 장치
KR100429506B1 (ko) * 1998-04-18 2004-11-20 삼성전자주식회사 통신시스템의 채널부호/복호장치 및 방법
KR100407342B1 (ko) * 1998-05-30 2003-11-28 삼성전자주식회사 부호분할다중접속 통신시스템의 통신장치 및 방법
WO1999065148A1 (en) * 1998-06-05 1999-12-16 Samsung Electronics Co., Ltd. Channel coding device and method for rate matching
US5978365A (en) * 1998-07-07 1999-11-02 Orbital Sciences Corporation Communications system handoff operation combining turbo coding and soft handoff techniques
GB9814960D0 (en) * 1998-07-10 1998-09-09 Koninkl Philips Electronics Nv Coding device and communication system using the same
US6347385B1 (en) * 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
JP2000068862A (ja) 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
RU2211539C2 (ru) 1998-10-07 2003-08-27 Сименс Акциенгезелльшафт Устройство и способ для передачи данных с прокалыванием или с повторением
EP0999669A1 (de) * 1998-11-06 2000-05-10 Nortel Matra Cellular Verfahren und Einrichtung zum Diversityempfang von identischen Nachrichten mit unterschiedlichen Vorwärts-Fehlerkorrektur
JP2000196471A (ja) 1998-12-24 2000-07-14 Mitsubishi Electric Corp 通信装置および誤り訂正符号のパンクチャリング方法
JP3515036B2 (ja) 1999-02-19 2004-04-05 株式会社エヌ・ティ・ティ・ドコモ インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
CA2268853C (en) 1999-04-13 2011-08-02 Wen Tong Rate matching and channel interleaving for a communications system
FR2792788B1 (fr) * 1999-04-21 2001-07-13 Mitsubishi Electric France PROCEDE D'EQUILIBRAGE DU RAPPORT Eb/I DANS UN SYSTEME cdma A MULTIPLEXAGE DE SERVICE ET SYSTEME DE TELECOMMUNICATION L'UTILISANT
KR100384098B1 (ko) 1999-04-27 2003-05-14 휴우즈 일렉트로닉스 코오포레이션 통신 네트워크에서 레이트 매칭 알고리즘을 사용하는시스템 및 방법
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
US6697343B1 (en) * 1999-08-26 2004-02-24 Lucent Technologies Inc. Method and apparatus for controlling power for variable-rate vocoded communications

Also Published As

Publication number Publication date
JP4105067B2 (ja) 2008-06-18
DE60034203D1 (de) 2007-05-16
ATE358926T1 (de) 2007-04-15
AU5854400A (en) 2001-01-22
EP2019503B1 (de) 2019-04-10
AU761696B2 (en) 2003-06-05
JP2004096768A (ja) 2004-03-25
JP2004080813A (ja) 2004-03-11
ES2280229T3 (es) 2007-09-16
EP1101321A1 (de) 2001-05-23
IL173018A (en) 2009-09-01
IL141800A0 (en) 2002-03-10
ES2606218T3 (es) 2017-03-23
US7987414B2 (en) 2011-07-26
EP1487117A2 (de) 2004-12-15
WO2001003369A1 (en) 2001-01-11
CN1317187A (zh) 2001-10-10
EP1806864B1 (de) 2016-05-25
JP2011004434A (ja) 2011-01-06
EP1806864A3 (de) 2007-10-31
JP4675981B2 (ja) 2011-04-27
JP3655297B2 (ja) 2005-06-02
CA2341744C (en) 2007-04-10
RU2216111C2 (ru) 2003-11-10
EP2019503A2 (de) 2009-01-28
IL173018A0 (en) 2006-06-11
JP5478454B2 (ja) 2014-04-23
US6751772B1 (en) 2004-06-15
EP2991269A1 (de) 2016-03-02
US20080178064A1 (en) 2008-07-24
CA2341744A1 (en) 2001-01-11
CY1107052T1 (el) 2012-10-24
US7451383B2 (en) 2008-11-11
JP2003503952A (ja) 2003-01-28
DK1101321T3 (da) 2007-05-21
CN100397815C (zh) 2008-06-25
JP4105068B2 (ja) 2008-06-18
ID29427A (id) 2001-08-30
EP1101321A4 (de) 2002-09-18
EP1101321B1 (de) 2007-04-04
PT1101321E (pt) 2007-04-30
US8332734B2 (en) 2012-12-11
EP1487117A3 (de) 2006-01-11
CN1578220A (zh) 2005-02-09
JP2004072794A (ja) 2004-03-04
JP2008160882A (ja) 2008-07-10
US20080320373A1 (en) 2008-12-25
BRPI0006890B1 (pt) 2016-10-11
BR0006890A (pt) 2001-12-04
US20040243904A1 (en) 2004-12-02
EP1806864A2 (de) 2007-07-11
PL346646A1 (en) 2002-02-25
CN1252962C (zh) 2006-04-19
IL141800A (en) 2010-11-30
JP2004096769A (ja) 2004-03-25
JP4115701B2 (ja) 2008-07-09
EP1487117B1 (de) 2016-09-07
EP2019503A3 (de) 2017-05-17

Similar Documents

Publication Publication Date Title
DE60034203T2 (de) Vorrichtung zur übereinstimmung der datenrate und verfahren zur datenübertragung
DE10030407B4 (de) Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
DE60020637T2 (de) Ratenanpassung und Kanalverschachtelung für ein Kommunikationssystem
DE69922707T2 (de) Sender und Empfänger mit Ratenanpassung
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE60221929T2 (de) Vorrichtung und Verfahren für Codegenerierung in einem Kommunikationssystem
DE69433529T2 (de) Verfahren zur kommunikation in einem funktelefonsystem
DE60029181T2 (de) Multiplexverfahren und multiplexvorrichtung sowie verfahren und vorrichtung zur übertragung von datensignalen
DE10248989B4 (de) Vorrichtung und Verfahren zum Durchführen einer Codierung und Ratenabstimmung in einem CDMA-Mobilkommunikationssystem
DE69736881T2 (de) Parallel verketteter tail-biting-faltungskode und dekoder dafür
DE69931751T2 (de) Vorrichtung und verfahren zur einfügung von vorher bekannten bits in die eingangsstufe eines kanalkodierers
DE29924886U1 (de) Kanalcodiervorrichtung
DE20202467U1 (de) Vorrichtung für das Erzeugen und Dekodieren von Kodes in einem Kommunikationssystem
EP1232596A2 (de) Verfahren zur anpassung der datenrate in einer kommunikationsvorrichtung und entsprechende kommunikationsvorrichtung
DE69936626T2 (de) Kanalkodierung und -dekodierung für ein kommunikationssystem
DE69905255T2 (de) Verbesserte verschachteler für turbo-kodes
EP1258085B1 (de) Verfahren zum anpassen der einem turbo-codierer zuzuführenden datenblöcke und entsprechende kommunikationsvorrichtung
DE20023165U1 (de) Vorrichtung zum Steuern eines Demultiplexers und eines Multiplexers für die Ratenabstimmung in einem Mobilkommunikationssystem
DE19815597B4 (de) Datenübertragungssystem, mobile Station und Verfahren zum Verringern der Rahmenfehlerrate bei einer in Form von Datenrahmen erfolgenden Datenübertragung
DE102009044555A1 (de) Verfahren und Vorrichtung zum Durchführen einer CRC-Prüfung
DE69916726T2 (de) Kodierungsvorrichtung und -Verfahren
DE69930911T2 (de) Übertragungssystem mit adaptivem kanalkodierer und -dekoder
EP1219060B1 (de) Verfahren und vorrichtung zum übermitteln von datenrahmen und verfahren und vorrichtung zur datenratenanpassung
EP1169778B1 (de) Datenübertragung mit verschachtelung und anschliessender ratenanpassung durch punktierung oder wiederholung
DE10038229B4 (de) Verfahren und Vorrichtung zur Ratenanpassung in einem Mobilkommunikationssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition