-
Die
vorliegende Erfindung betrifft im Allgemeinen Paritätsprüf-Codes
niedriger Dichte (low density parity check codes, LDPC, und insbesondere
betrifft die vorliegende Erfindung ein Verfahren zum Punktieren
eines Paritätsprüf-Kanalcodes
niedriger Dichte, um einen zu punktierenden Paritäts-Teil
in vorgegebene Gruppen zu unterteilen, und den einzelnen Gruppen
unterschiedliche Punktier-Prioritäten zuzuweisen, um die strukturelle
Komplexität
zu reduzieren und eine Abweichung der Codierrate zu bewältigen,
während
eine optimale Leistung beibehalten wird.
-
Im
Allgemeinen leidet ein digitales Kommunikationssystem an Fehlern
aufgrund von Rauschen, Verzerrung und Interferenz während der
Datenübertragung
und verwendet allgemeinhin verschiedene Algorithmen, um diese Fehler
zu korrigieren. Ein Drahtlos-Kommunikationssystem
der 3. Generation (3G) verwendet Faltungscodes für die Übertragung von Sprach- und
Steuersignalen, sowie Turbo-Codes für die effiziente Übertragung
von Hochgeschwindigkeitsdaten. Turbo-Codes für die Übertragung von Hochgeschwindigkeitsdaten
sind dahingehend vorteilhaft, dass sie eine sehr niedrige Fehlerbitrate (BER,
bit error rate) bei einem niedrigen Signal-/Rauschverhältnis (SNR,
signal-to-noise
ratio) erzielen können.
Da der Turbo-Code jedoch eine hohe Decodierfehlerrate und eine hohe
Decodierkomplexität
aufweist und er keine Parallelstruktur verwenden kann, weist er
eine Beschränkung
hinsichtlich der Geschwindigkeitsverbesserung auf. Dementsprechend
zieht nun ein Paritätsprüf-Code niedriger
Dichte (LDPC low density parity check code), der eine ausgezeichnete
Leistung, eine niedrigere, Decodierkomplexität und eine höhere Decodierrate
aufgrund seiner Parallelverarbeitung, verglichen mit dem Turbo-Code,
aufweist, die Aufmerksamkeit der Öffentlichkeit als ein Code
für ein
Mobilkommunikationssystem der 4. Generation (4G) auf sich.
-
Obgleich
der Paritätsprüf-Code niedriger Dichte
(LDPC-Code), der als eine Paritätsprüf-Matrix definiert
ist, für
die die meisten Elemente ,0' sind, zum
ersten Mal durch Gallager im Jahre 1962 vorgeschlagen worden ist,
wurde er aufgrund seiner geringen Praktikabilität in Anbetracht der damaligen
Technologie nicht verwendet. Im Jahre 1995 wurde der Paritätsprüf-Code niedriger
Dichte (LDPC-Code) jedoch durch MacKay und Neal wiederentdeckt,
und es hat sich herausgestellt, dass der Paritätsprüf-Code niedriger Dichte (LDPC-Code)
unter Verwendung von Gallagers einfachem wahrscheinlichkeitsbasierendem
Decodierverfahren eine ausgezeichnete Leistung aufweist.
-
Der
Paritätsprüf-Code niedriger
Dichte (LDPC-Code) wird als eine Paritätsprüf-Matrix H definiert, in der
die Anzahl von ,1'-en
in jeder Zeile und in jeder Spalte gering ist, wenn sie mit der
Anzahl von ,0'-en
verglichen wird. Der Paritätsprüf-Code niedriger
Dichte (LDPC-Code) wird verwendet, um zu bestimmen, ob ein empfangenes
Signal normalem Decodieren unterzogen worden ist. Das bedeutet,
wenn das Produkt aus einem codierten empfangenen Signal und der
Paritätsprüf-Matrix
zum Wert ,0' wird,
bedeutet dies, dass kein Empfangsfehler vorliegt. Dementsprechend
wird für
den Paritätsprüf-Code niedriger
Dichte (LDPC-Code) zuerst eine vorgegebene Paritätsprüf-Matrix so eingerichtet, dass
ein Produkt aus der Paritätsprüf-Matrix
und sämtlichen
codierten empfangenen Signalen zu ,0' wird, und anschließend wird eine Codiermatrix
zum Codieren eines Übertragungssignals
invers gemäß der bestimmten
Paritätsprüf-Matrix
berechnet.
-
Für das Decodieren
der Paritätsprüf-Matrix
H des Paritätsprüf-Codes
niedriger Dichte (LDPC-Code) wird ein wahrscheinlichkeitsbasierendes
iteratives Decodierverfahren verwendet, das einfache Paritätsprüf-Gleichungen
verwendet, und das wahrscheinlichkeitsbasierende iterative Decodierverfahren
findet ein Codewort, das aller Wahrscheinlichkeit nach das Codewort
approximiert, in dem ein Produkt aus einem empfangenen Signalvektor
und der Paritätsprüf-Matrix
,0' erfüllt.
-
Ein
Summen-Produkt-Algorithmus, bei dem es sich um das typische bekannte
Decodierverfahren für
den Paritätsprüf-Code niedriger
Dichte (LDPC-Code) handelt, findet ein solches Codewort durch Durchführen eines
iterativen Decodierens mit weicher Entscheidung unter Verwendung
eines Wahrscheinlichkeitswertes. Das bedeutet, der Summen-Produkt-Algorithmus
bestimmt ein Codewort, das so eingerichtet ist, dass ein Produkt
aus einem empfangenen Signalvektor und der Paritätsprüf-Matrix ,0' erfüllt,
indem ein Wahrscheinlichkeitswert eines jeden Bits unter Verwendung
der Eigenschaften eines empfangenen Vektors und eines Kanals bei
jedem iterativen Decodieren aktualisiert wird.
-
Ein
weiteres Decodierverfahren für
den Paritätsprüf-Code niedriger
Dichte (LDPC-Code) ist ein Algorithmus zum Berechnen einer gesendeten
Mitteilung unter Verwendung eines Log-Wahrscheinlichkeitsverhältnisses
(LLR, log likelihood ratio). Dieser Algorithmus ist im Wesentlichen
derselbe wie der Summen-Produkt-Algorithmus, mit Ausnahme der Tatsache,
dass ein LLR-Wert anstelle des tatsächlichen Wahrscheinlichkeitswertes
zum Berechnen der gesendeten Mitteilung verwendet wird.
-
1 ist
ein Diagramm, das eine exemplarische Paritätsprüf-Matrix eines einfachen Paritätsprüf-Codes
niedriger Dichte (LDPC-Code) illustriert, und 2 ist
ein Diagramm, das einen exemplarischen Faktorgraph für die in 1 dargestellte
Paritätsprüf-Matrix illustriert.
Wie dies in 2 illustriert ist, kann die
Paritätsprüf-Matrix
auch durch einen Faktorgraph ausgedrückt werden, der Prüfcodes,
variable Knoten (auch bekannt als „Bit-Knoten") und Kanten zum
Verbinden der Prüfknoten
mit den Bit-Knoten enthält.
Die Verwendung der Darstellung des Paritätsprüf-Codes niedriger Dichte (LDPC-Code) über den
Faktorgraph kann eine komplizierte Funktion in einfache Teilfunktionen
unterteilen, wodurch die Implementierung eines iterativen Decodierprozesses
vereinfacht wird. Das bedeutet, der Summen-Produkt-Algorithmus wird über einen
Prozess erzielt, in dem ein Mitteilungs-Wert, der über eine Kante
zwischen Knoten geliefert wird, die miteinander verbunden sind,
iterativ mit einem neuen Wert in jedem de Knoten aktualisiert wird,
und eine Iteration erzielt wird, wenn ein Wert in jedem der Knoten
vollständig
aktualisiert wird.
-
Aufgrund
der Tatsache, dass ein allgemeiner drahtloser Kommunikationskanal
in einem Kanalzustand mit dem Verlauf der Zeit Änderungen unterliegt, sollte
ein Kanalcodierungssystem zum Korrigieren von Fehlern in der Lage
sein, auf flexible Weise eine Codierrate auf Basis von Kanalzustandsinformationen
(CSI, channel state information) zu variieren.
-
Um
die Abweichung der Codierrate zu realisieren, wurde ein Verfahren
zum Generieren von Codewörtern
vorgeschlagen, die eine höhere
Codierrate aufweisen, indem Paare von Codiereinrichtungen und Decodiereinrichtungen
verwendet werden, die optimal für
eine gewünschte
Codierrate ausgelegt sind, oder indem ein Teil der Parität in einem
Muttercode mit einer niedrigen Codierrate punktiert wird. Genauer
gesagt, gibt es zwei mögliche
Algorithmen, die in der Lage sind, Paritätsprüf-Codes niedriger Dichte (LDPC-Code) mit verschiedenen
Codierraten zu generieren. Ein erster Algorithmus bestimmt eine Paritätsprüf-Matrix,
die für
jede der Codierraten geeignet ist, unter Verwendung von Paritätsprüf-Matrizen,
die verschiedene Codierraten aufweisen, in Übereinstimmung mit einer vorgegebenen
Regel. Ein Paritätsprüf-Code niedriger
Dichte (LDPC-Code), der mit diesem Algorithmus generiert worden
ist, weist eine ausgezeichnete Leistung auf, und seine Leistung
kann für
jede Codierrate bestimmt werden. Dieser Algorithmus bringt jedoch
eine Schwierigkeit beim Erfassen von verschiedenen Codierraten mit sich
und kann in einem H-ARQ (hybrid automatic repeat request) System
nicht auf volle inkrementelle Redundanz (Full IR) oder partielle
inkrementelle Redundanz (Partial IR) angewendet werden, in dem Kombinierverfahren
zwischen codierten Bits infolge einer falschen Ausrichtung eines
codierten Bitstroms bei jeder Codierrate erforderlich sind.
-
Ein
zweiter Algorithmus nach einem Codierungsprozess führt Punktieren
entsprechend einer Codierrate durch. Bei diesem Algorithmus führt ein Sender
Punktieren entsprechend einem vorgegebenen Muster, beispielsweise
einer Zufalls-Punktierregel vor dem Senden durch, und anschließend ermöglicht eine
Decodiereinrichtung in einem Empfänger das Decodieren eines punktierten
Bit-Knotens unter Verwendung einer Fehlerkorrekturfunktion des Paritätsprüf-Codes
niedriger Dichte (LDPC-Code). Dementsprechend kann der bekannte
Summen-Produkt-Algorithmus verwendet werden. Dieser Punktierungs-Algorithmus
kann auf einfache Weise eine gewünschte
Codierrate erzeugen, er unterliegt hinsichtlich der Codierungskomplexität keiner
Veränderung, und
er unterstützt
die Raten-Kompatibilität,
das heißt, es
wird dasselbe Punktierungsmuster bei allen Codierraten verwendet,
so dass er auf die H-ARQ-Technologie angewendet werden kann. Dennoch
ist ein Paritätsprüf-Code niedriger
Dichte (LDPC-Code), der unter Verwendung dieses Algorithmus generiert
worden ist, oftmals dem Paritätsprüf-Code niedriger Dichte
(LDPC-Code) unterlegen, der eine optimale Paritätsprüf-Matrix bei jeder Codierrate
aufweist. Zusätzlich
dazu leidet der Paritätsprüf-Code niedriger Dichte
(LDPC-Code), der durch diesen Algorithmus generiert worden ist,
an einer schwerwiegenden Veränderung
der Leistung gemäß dem Zufalls-Seedwert.
-
Obgleich
verschiedene Punktierungsalgorithmen entwickelt werden, um eine
Leistungsverschlechterung aufgrund des Punktierens des Paritätsprüf-Codes
niedriger Dichte (LDPC-Code) zu verhindern, besteht immer noch Potential
für eine
Leistungsverbesserung und eine mögliche
Implementierung, wenn die Kanalkapazitätsgrenze oder die tatsächliche
Anwendung berücksichtigt
werden.
-
Das
Dokument „On
construction of rate-compatible low-density parity-check codes" von YAZDANI M. R.
ET AL., in IEEE COMMUNICATIONS LETTERS, Bnd. 8, Nr. 3, März 2004,
Seiten 159 bis 161, betrifft die Konstruktion von Rate-kompatiblen
Paritätsprüf-Codes niedriger Dichte
(LDPC-Codes). Dieses Dokument legt dar, dass diese Codes lineare zeit-codierbare
Codes sind und anhand eines Muttercodes unter Verwendung von Punktieren
und Erweitern konstruiert werden. Darüber hinaus legt das Dokument
dar, dass die Anwendung der vorgeschlagenen Konstruktion auf ein
hybrides ARQ-(automatic repeat request)Schema des Typs II mit einer
Informationsblocklänge
von k = 1024 und einer Codierrate 8/19 bis 8/10 unter Verwendung
eines optimierten irregulären
Muttercodes mit der Rate 8/13 in einem Datendurchsatz resultiert,
der lediglich ungefähr
0,7 dB von der Shannon-Grenze entfernt liegt. Darüber hinaus
schlägt
das Dokument vor, einen durch progressives Kantenwachstum konstruierten
irregulären Code
zu punktieren, wobei zuerst Bit-Knoten mit dem Grad 2 punktiert
werden. Dadurch wird die Anzahl von Löschungs-Mitteilungen, die anfänglich durch den
Tanner-Graph des Codes für
iteratives Decodieren vermehrt werden, minimiert, und die Leistung
der punktierten Codes wird verbessert. Darüber hinaus wird die Konstruktion
durch progressives Kantenwachstum verwendet, um die Matrix von rechts
nach links und durch Starten mit den Spalten der niedrigsten Wichtung
auszufüllen.
Alle Knoten mit dem Grad 2 werden auf diese Weise mit Paritäts-Bits
verbunden.
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren
zum Punktieren von Paritätsprüf-Codes
niedriger Dichte (LDPC-Codes) bereitzustellen, das eine Erhöhung der
Leistung bei der Fehlerkontrolle gewährleistet.
-
Diese
Aufgabe wird durch den Gegenstand des unabhängigen Anspruches 1 erfüllt. Bevorzugte Ausführungsformen
werden durch den Gegenstand der abhängigen Ansprüche definiert.
-
Es
ist ein Aspekt der vorliegenden Erfindung, ein Verfahren zum Unterteilen
eines Punktieren unterliegenden Paritäts-Teils in vorgegebene Gruppen und
zum Bestimmen einer Punktier-Reihenfolge davon bereitzustellen.
-
Es
ist ein weiterer Aspekt der vorliegenden Erfindung, ein Verfahren
zum Bestimmen einer Punktier-Reihenfolge von Paritätsgruppen
so bereitzustellen, dass die Leistung einer Paritätsprüf-Matrix
eines Paritätsprüf-Codes
niedriger Dichte (LDPC-Codes) optimiert werden kann.
-
Es
ist ein weiterer Aspekt der vorliegenden Erfindung, ein Verfahren
zum Punktieren von Paritätsgruppen
in einer Punktier-Reihenfolge bereitzustellen, die so bestimmt worden
ist, dass die Leistung eines Paritätsprüf-Codes niedriger Dichte (LDPC-Codes)
optimiert werden kann.
-
Es
ist noch ein weiterer Aspekt der vorliegenden Erfindung, ein Verfahren
zum Punktieren zum Verbessern der Leistung einer Paritätsprüf-Matrix
eines Paritätsprüf-Codes
niedriger Dichte (LDPC-Codes) für
verschiedene Codierraten bereitzustellen, indem ein zu punktierender
Paritäts-Teil
in einem Codewort in Paritätsgruppen
mit einem vorgegebenen Muster unterteilt wird, die Punktier-Reihenfolge
für die
Paritätsgruppen
bestimmt wird und die Paritätsgruppen
in der Punktier-Reihenfolge punktiert werden.
-
Die
voranstehend beschriebene Aufgabe sowie weitere Aspekte werden durch
Bereitstellen eines Verfahrens zum Punktieren eines Paritätsprüf-Codes
niedriger Dichte (LDPC-Codes), der über eine Paritätsprüf-Matrix
decodiert wird, die durch einen Faktorgraphen, der Prüf-Knoten
und Bit-Knoten enthält,
die mit den Prüf-Knoten über Kanten
verbunden sind, dargestellt wird, erzielt. Dieses Verfahren umfasst:
das Klassifizieren der Bit-Knoten, die einem Paritäts-Teil
eines Codewortes zugeordnet sind, in hierarchische Gruppen entsprechend
der Möglichkeiten
ihres Decodierens, wenn die Bit-Knoten
punktiert werden; Bestimmen einer Punktier-Reihenfolge der Gruppen;
und sequenzielles Durchführen
von Punktieren an den Bit-Knoten von einem Bit-Knoten, der zu einer
entsprechenden Gruppe gehört,
entsprechend der Punktier-Reihenfolge der Gruppen, um ein Codewort
mit einer gewünschten
Codierrate zu erzeugen.
-
Zusätzlich dazu
wird ein Verfahren zum Punktieren eines Paritätsprüf-Codes niedriger Dichte (LDPC-Codes)
bereitgestellt, der über
eine Paritätsprüf-Matrix
decodiert wird, die durch einen Faktorgraph dargestellt wird, der
Prüf-Knoten
und Bit-Knoten, die mit den Prüf-Knoten über Kanten
verbunden sind, enthält.
Das Verfahren umfasst die Schritte: des Identifizierens der Bit-Knoten,
die einem Paritäts-Teil eines
Codewortes zugeordnet sind, das punktiert werden kann, um eine vorgegebene
Klassifizierungsbedingung in einem aktuellen Codierungsschritt zu erfüllen; des
Klassifizierens der entsprechenden Bit- Knoten in Bit-Knoten-Gruppen, die mit
der Anzahl von Iterationen in dem aktuellen Decodierschritt wiedergewonnen
werden können;
des Klassifizierens der Mitteilungs- und Paritäts-Teile des Codewortes, das
nicht in einer Gruppe punktiert werden sollte, in eine Gruppe, bei
der die ,0' die
Anzahl von Iterationen anzeigt; des Bestimmens einer Reihenfolge
der Bit-Knoten-Gruppen entsprechend der Anzahl ihrer Iterationen;
und des Erzeugens einer Paritäts-Prüfmatrix,
bei der die Punktier-Reihenfolge durch Anordnen von Spalten einer
Paritätsprüf-Matrix
entsprechend der bestimmten Reihenfolge berücksichtigt wird.
-
Die
vorliegende Erfindung wird anhand der folgenden ausführlichen
Beschreibung offensichtlicher, wenn diese zusammen mit den begleitenden Zeichnungen
betrachtet wird, in denen:
-
1 ein
Diagramm ist, das eine Paritätsprüf-Matrix
eines Paritätsprüf-Codes
niedriger Dichte (LDPC-Codes) illustriert;
-
2 ist
ein Diagramm, das einen exemplarischen Faktorgraph für die in 1 dargestellte
eine Paritätsprüf-Matrix
illustriert;
-
3 ist
ein Diagramm, das einen exemplarischen Faktorgraph für eine Beschreibung
der Begriffe illustriert, die in einem in der vorliegenden Erfindung
vorgeschlagenen Verfahre zum Punktieren definiert werden;
-
4 ist
ein Diagramm, das einen exemplarischen Faktorgraph für eine Beschreibung
der Verallgemeinerung der Begriffe, die in einem durch die vorliegende
Erfindung vorgeschlagenen Verfahren zum Punktieren definiert werden,
illustriert;
-
5 ist
ein Diagramm, das eine Paritätsprüf-Matrix
eines Paritätsprüf-Codes
niedriger Dichte (LDPC-Codes), die einem Gruppieren entsprechend einer
Ausführungsform
der vorliegenden Erfindung unterzogen wird, illustriert;
-
6 ist
ein Diagramm, das ein Punktierungsmuster entsprechend einer Ausführungsform der
vorliegenden Erfindung illustriert.
-
Im
Folgenden werden bevorzugte Ausführungsformen
ausführlich
und in Bezug auf die angehängten
Zeichnungen beschrieben. In den Zeichnungen werden gleiche oder ähnliche
Elemente mit den gleichen Referenznummern versehen, selbst wenn sie
in unterschiedlichen Zeichnungen dargestellt sind. Zusätzlich dazu
wurde in der folgenden Beschreibung eine ausführliche Beschreibung von bekannten
Funktionen und Konfigurationen, die hierin enthalten sind, im Sinne
einer verständlichen
und präzisen
Beschreibung weggelassen.
-
3 ist
ein Diagramm, das einen exemplarischen Faktorgraphen für eine Beschreibung
der Begriffe illustriert, die in einem in der vorliegenden Beschreibung
vorgeschlagenen Verfahren zum Punktieren verwendet werden. Der Faktorgraph
basiert auf der Paritätsprüf-Matrix
und dem Faktorgraph des Paritätsprüf-Codes
niedriger Dichte (LDPC-Codes), der in den 1 und 2 dargestellt
ist.
-
In
Bezug auf 3 sind einige Bit-Knoten, die
mit den Prüf-Knoten 20-1 bis 20-3 verbunden sind,
nicht punktierte Bit-Knoten 12-1 bis 12-7, und die
anderen Bit-Knoten sind punktierte Bit-Knoten 11-1 bis 11-4.
Hierin werden die nicht punktierten Bit-Knoten 12-1 bis 12-7 als „0-Schritt-Wiedergewinnungs-
(0-SR) Knoten" bezeichnet,
und für
den Prüf-Knoten 20-2,
der lediglich mit den 0-SR-Knoten 12-1 bis 12-7 verbunden
ist, mit Ausnahme von wenigstens einem punktierten Bit-Knoten 11-2 von
den Prüf-Knoten 20-1 bis 20-3,
die über
die Kanten verbunden sind, wird der punktierte Bit-Knoten 11-2 als ein „1-Schritt-Wiedergewinungs-(1-SR)Knoten" bezeichnet. Der
1-SR-Knoten kann über
einen iterativen Decodierungsprozess während des iterativen Decodierens
wiedergewonnen werden, und kann durch einen Entwickler konzipiert
werden, indem zufällig
ein anfängliches
Punktierungsmuster bestimmt wird, oder indem ein Bereich einer Codierraten-Abweichung
oder eine Eigenschaft eines Mutter-Codes berücksichtigt wird.
-
Dementsprechend
wird, wenn der in dem Schritt wiedergewinnbare Knoten für eine Definition davon
verallgemeinert wird, ein k-SR-Knoten über k iterative Decodierungsprozesse
ein wiedergewinnbarer Knoten. Dies wird im Folgenden mathematisch auf
ausführliche
Weise beschrieben.
-
Wenn
der k-SR-Knoten an einen oder mehrere Prüf-Knoten angrenzend ist (oder
mit ihnen verbunden ist), die mit wenigstens einem (k-1)-SR-Knoten
und m-SR-Knoten (für
0 ≤ mk ≤ k-1) verbunden sind,
kann der punktierte Bit-Knoten als ein k-Schritt-Wiedergewinnungs-(k-SR)Knoten bezeichnet
werden. Da in diesem Fall die punktierbaren Knoten, die dem anfänglichen
Punktierungsmuster folgen, durch die voranstehende Bedingung eingeschränkt werden,
ermöglicht
eine Erhöhung
des Wertes k eine automatische Entscheidung zu punktierbaren Knoten.
-
4 ist
ein Diagramm, das einen exemplarischen Faktorgraph für eine Beschreibung
des k-SR-Knotens illustriert. Wenn ein punktierter Bit-Knoten 31-3 so
beschrieben wird, dass er in einem k-ten iterativen
Decodierungsprozess während des
iterativen Decodierens wiedergewonnen werden soll, enthält wenigstens
ein Prüf-Knoten 35-2 von
den benachbarten Prüf-Knoten 35-1 bis 35-3 einen (k-1)-SR-Knoten 31-2 (der
in einem vorhergehenden (k-i)-ten iterativen
Decodierungsprozess wiedergewonnen wurde), mit Ausnahme seines k-SR-Knotens 31-3,
und aufgrund der Tatsache, dass die anderen verbundenen Bit-Knoten 32-3 und 32-4 die
Bit-Knoten sein werden (0-SR-Knoten in dieser Ausführungsform),
die in den 0-ten bis (k-1)-ten iterativen
Decodierungsprozessen wiedergewonnen wurden, wird der punktierte
Bit-Knoten 31-3, der an den Prüf-Knoten 35-2 angrenzt
(mit ihm verbunden ist) als ein k-SR-Knoten klassifiziert.
-
Dem
k-Schritt-Wiedergewinnungs-(k-SR)-Knoten sollte dahingehend Beachtung geschenkt
werden, dass er ein wiedergewinnbares System mit einer hierarchischen
Struktur von einem 1-SR-Knoten hat. So muss beispielsweise ein 2-SR-Knoten
einen 1-SR-Knoten
von den Bit-Knoten enthalten, die mit einem Prüf-Knoten verbunden sind, der
gegeben ist, um einen entsprechenden Knoten als einen 2-SR-Knoten
von den benachbarten Prüf-Knoten
zu bestimmen, und dies bedeutet, dass der 1-SR-Knoten in dem vorhergehenden
Decodierungsschritt wiedergewonnen werden muss, um den 2-SR-Knoten wiederzugewinnen.
Verallgemeinert kann dies so interpretiert werden, dass einer der Prüf-Knoten,
die an den k-SR-Knoten angrenzen, einen (k-1)-SR-Knoten enthalten
muss, der in dem vorhergehenden Decodierungsschritt wie voranstehend beschrieben
wiedergewonnen wird, und die anderen Bit-Knoten müssen ebenfalls
vollständig
in einem beliebigen Schritt der vorhergehenden Decodierungsschritte
decodiert werden, oder sie müssen
ein 0-SR-Knoten sein. Eine Zusammenfassung davon ist die voranstehend
beschriebene Definition des k-SR-Knotens.
-
Das
bedeutet, wenn Bit-Knoten als in dem Schritt wiedergewinnbare Knoten
klassifiziert werden, wobei einer nach dem anderen sequenziell den Decodierungsprozess
durchläuft,
und sie anschließend
entsprechend der Knoten, die in demselben Schritt wiedergewonnen
werden können,
gruppiert werden, wird es für
die Verbesserung der Leistung bevorzugt, das Punktieren sequenziell
von einer 1-SR-Knoten-Gruppe an, die die höchste Möglichkeit der Wiedergewinnung
aufgrund der geringeren Anzahl von Schritten, die zum Decodieren
benötigt
werden, aufweist, durchzuführen. Über das
Gruppieren bis zu diesem Schritt ist es möglich, die Leistung des Punktierens,
die in der vorliegenden Erfindung erwünscht wird, vollständig zu
verbessern. Um eine Hardwareimplementierung zu erleichtern, ist
es jedoch möglich,
eine Paritätsprüf-Matrix
zu modifizieren, die durch Bestimmen der Punktier-Reihenfolge oder
durch Gruppieren neu geordnet worden ist, so dass die Paritätsprüf-Matrix
eine Regularität
aufweisen sollte.
-
5 ist
ein Diagramm, das eine Paritätsprüf-Matrix
eines Paritätsprüf-Codes
niedriger Dichte (LDPC-Codes) illustriert, in der die gruppierten
Knoten als Spalten dargestellt sind, die ihren verbundenen Knoten
in der Gruppen-Reihenfolge zugeordnet sind, und anschließend so
angeordnet werden, dass sie Regularität für die Erleichterung der Hardwareimplementierung
aufweisen. Hierin werden die 1-SR-Knoten als G1 klassifiziert,
und die k-SR-Knoten werden als Gk klassifiziert.
Des Weiteren sind die Spalten der Paritätsprüf-Matrix in G0 und
Gk klassifiziert, und anschließend werden
sie Spaltenpermutation unterzogen, so dass die Paritätsprüf-Matrix
Regularität
aufweist. Dies ist deshalb möglich,
weil eine Eigenschaft der Paritätsprüf-Matrix
konstant ist, obgleich die Paritätsprüf-Matrix
Spaltenpermutation oder Zeilenpermutation durchläuft, und es wird bevorzugt,
dass die Paritätsprüf-Matrix
so ausgelegt ist, dass sie im Paritäts-Teil einfach ist, um Komplexität zu reduzieren.
-
Zusammenfassend
gesagt, entsprechen Spalten, die G0 zugeordnet
sind und die der Mitteilung und der Parität zugeordnet sind, die nicht
punktiert werden sollen, den Bit-Knoten,
die nicht punktiert werden sollen, und Spalten, die G1 zugeordnet
sind, entsprechen den Bit-Knoten, die zuerst punktiert werden sollen,
und die Parität,
die dazu gehört,
kann mit einer Iteration bei dem iterativen Decodieren wiedergewonnen
werden, wenn der Kanal fehlerfrei ist. Zusätzlich dazu entspricht G2 den Paritäten, die punktiert werden sollen,
nach dem alle der Paritäten,
die G1 zugeordnet sind, punktiert werden,
G3 entspricht den Paritäten, die punktiert werden sollen,
nachdem alle der Paritäten,
die G1 und G2 zugeordnet
sind, punktiert werden, und auf diese Weise entspricht Gk den Paritäten, die punktiert werden sollen,
nachdem alle der Paritäten,
die zu G1, G2, ...,
Gk-1 gehören, punktiert
werden.
-
6 ist
ein Diagramm, das ein Codewort illustriert, das über eine Generatormatrix G,
die unter Verwendung der in 5 dargestellten
Paritätsprüf-Matrix
H generiert wird, codiert wird, oder direkt über die Paritätsprüf-Matrix
H codiert wird. In Bezug auf 6 entspricht
ein Codewort mit einer Länge
N, das eine Codierrate des Muttercodes hat, der durch die voranstehend
beschriebene Paritätsprüf-Matrix
H codiert wurde, einer systematischen Anordnung der Gruppen, die
in Übereinstimmung
mit der vorliegenden Erfindung klassifiziert werden. Das heißt, eine Nachricht
mit einer Länge
K und ein Teil einer Parität mit
einer Länge
M werden G0 zugeordnet, die anderen Paritäts-Teile
werden sequenziell G1, G2,
... Gk entsprechend ihren Punktier-Prioritäten zugeordnet, und
eine gewünschte
Codierrate wird erzielt, indem die Parität des Muttercodes punktiert
wird. In diesem Fall wird eine Punktier-Länge, die für eine gewünschte Codierrate benötigt wird,
unter Verwendung der Gleichung (1) berechnet.
-
-
In
Gleichung (1) bezeichnet N eine Codewortlänge des Muttercodes, K bezeichnet
eine Mitteilungslänge
des Muttercodes, Rp bezeichnet eine gewünschte Codierrate,
und Np bezeichnet eine erforderliche Punktierlänge.
-
Dementsprechend
wird die Punktierlänge
Np, die bei der gewünschten Codierrate benötigt wird,
berechnet, und anschließend
werden die Paritäten,
die in G1, G2, ...,
Gk enthalten sind, sequenziell der entsprechenden
Länge nach
punktiert. Dementsprechend kann die gewünschte Codierrate auf einfache Weise
mit einer beliebigen Codierrate, die höher als die Codierrate des
Muttercodes ist, oder dieser entspricht, in Übereinstimmung gebracht werden,
und es wird dasselbe Punktiermuster in der festgelegten Reihenfolge
G1, G2, ..., Gk bei allen Codierraten verwendet, wodurch
die Raten-Kompatibilität
unterstützt wird,
so dass es auf die H-ARQ-Technologie angewendet werden kann.
-
Obgleich
in der vorliegenden Erfindung beschrieben worden ist, dass die SR-Knoten über iteratives
1-Schritt-Decodieren wiedergewonnen werden kann, trifft dies für den Fall
zu, in dem kein Fehler in einem Kanal vorliegt. Es sollte jedoch
beachtet werden, dass es selbst in einem Kanal mit additivem weißen Gausschen
Rauschen (AWGN, additive white Gaussian noise) oder in einer tatsächlichen
Kanalumgebung schwer fällt,
die 1-SR-Knoten über das iterative
1-Schritt-Decodieren wiederzugewinnen.
-
Wie
dies anhand der voranstehenden Beschreibug entnommen werden kann,
klassifiziert das neuartige Verfahren zum Punktieren der LDPC-Kanalcodes
Paritäten,
die in dem Muttercode enthalten sind, in Paritätsgruppen entsprechend ihren
Punktier-Prioritäten, ordnet
die Gruppen in der Punktier-Reihenfolge an und führt Punktieren der Gruppen in
dieser Reihenfolge durch, wodurch eine gewünschte Codierrate erreicht
wird. Dementsprechend minimiert das Verfahren zum Punktieren einen Verlust
infolge des Punktierens, wodurch eine bessere Leistung als die des
zufallsbasierten Punktier-Algorithmus
gezeigt wird.
-
Zusätzlich dazu
kann mit der Verwendung eines einzelnen Paares aus Codiereinrichtung-Decodiereinrichtung
der vorgeschlagene Code eine Leistung aufweisen, die nahe der des
dedizierten Codes ist, der eine Vielzahl von Paaren aus Codiereinrichtung-Decodiereinrichtung
erfordert, wodurch ein Beitrag zur Reduzierung der Komplexität der Implementierung
geleistet wird.
-
Zusätzlich dazu
kann das Verfahren zum Punktieren ein Gruppieren an zu punktierenden
Paritäten über eine
einfache Definition und einen darauf basierenden Algorithmus durchführen, und
es kann eine Abweichung der Codierrate durch eine Anpassung der
Punktierlänge
für eine
gewünschte
Codierrate bewältigen,
wodurch hohe Annehmlichkeiten bezüglich des Designs und der Anwendung
verglichen mit dem dedizierten Code erreicht werden, der eine hohe
Designkomplexität
und eine Beschränkung
hinsichtlich möglicher
Codierraten aufweist.
-
Da
des Weiteren der vorgeschlagene Code dieselbe Punktier-Reihenfolge
für sämtliche
Codierraten verwendet, kann er auf die H-ARQ-Technologie, die aus
erneuter Übertragung
und Fehlerkorrekturfunktionen kombiniert wird, angewendet werden, wodurch
ein Beitrag zur Erhöhung
der Leistung bei der Fehlerkontrolle verglichen mit dem dedizier ten Code
geleistet werden kann, der kaum auf die H-ARQ-Technologie angewendet
werden kann.
-
Obgleich
die vorliegende Erfindung in Bezug auf bestimmte bevorzugte Ausführungsformen
davon gezeigt und beschrieben worden ist, wird es den Personen mit
der gewöhnlichen
Erfahrung auf dem Gebiet der Technik offensichtlich sein, dass verschiedene Änderungen
an der Form und in Einzelheiten daran vorgenommen werden können, ohne
dabei von dem Umfang der vorliegenden Erfindung abzuweichen, wie
dieser durch die angehängten
Ansprüche definiert
wird.