-
1. FELD DER
ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf ein mobiles
Kommunikationssystem, und im Speziellen auf eine Vorrichtung und
ein Verfahren zum Erzeugen eines (n, 3)-Codes und eines (n, 4)-Codes unter
Benutzung von Simplexcodes.
-
2. BESCHREIBUNG DES TECHNISCHEN
FELDES
-
Im
Allgemeinen überträgt das CDMA
(Code Division Multiple Access)-basierte zukünftige mobile Telekommunikationssystem,
bekannt als "IMT
2000" Daten für Sprachdienste
und Bilddienste, und kontrolliert Daten, welche notwendig sind,
um diese Dienste anzubieten. Die Fähigkeit, Fehler, welche während der
Datenübertragung
entstehen, zu minimieren, ist entscheidend für die Verbesserung der Dienstqualität. Zu diesem Zweck
werden fehlerkorrigierende Codes benutzt, um Datenbitfehler zu korrigieren.
Der Zweck der Benutzung der Fehlerkorrektur ist, Datenbitraten bei
der Datenübertragung
zu minimieren, und deshalb ist es wichtig, optimale fehlerkorrigierende
Codes zu benutzen.
-
Typischerweise
werden Lineare Codes als fehlerkorrigierende Codes benutzt, da die
Leistungsfähigkeitsanalyse
ein verhältnismäßig einfacher
Prozess ist. Die Leistungsfähigkeit
der linearen Codes wird mittels einer Hamming-Distanzverteilung
in den Fehlerkorrekturcodewörtern
gemessen. Die Hamming-Distanz ist definiert als die Anzahl der Symbole
in jedem Codewort, die nicht gleich 0 sind. Für ein Codewort "0111" ist diese Hamming-Distanz
gleich 3. Die kleinste Hamming-Distanz wird als Minimaldistanz bezeichnet.
Wenn die Minimaldistanz eines Codewortes vergrößert wird, wird ebenso die
Fehlerkorrekturleistungsfähigkeit
dieses Codewortes vergrößert. Demnach
ist ein optimaler Code ein Codewort mit einer Minimaldistanz und
demnach optimaler Fehlerkorrekturleistungsfähigkeit. Für Einzelheiten einer Minimaldistanz
zwischen Codes gemäß der Eingabe
und Ausgabe von binären
Linearcodes, um die binären
Linearcodes für
die Länge
von Codesymbolen, welche von einem Eingabeinformationsbitstrom codiert
werden, zu optimieren, siehe: "An
Updated Table of Minimum-Distance Bounds for Binary Linear Codes", A. E. Brouwer and
Tom Verhoeff, IEEE Transactions on Information Theory, Band 39,
Nr. 2, März
1993.
-
In
einem (n, k)-Blockcode ist n die Zahl der Codesymbole und k die
Zahl von Eingabeinformationsbits. Die Codierrate des (n, k)-Blockcodes
ist k/n.
-
Wenn
k gleich 3 oder 4 ist, wird jeweils ein unterschiedlicher Codierer
benutzt, um den (n, 3)- oder (n, 4)-Code bei einer unterschiedlichen
Codierrate zu erzeugen. Daher führt
die Benutzung von mehreren Codierern zum Erzeugen des (n, 3)-Codes
oder (n, 4)-Code
zu einer Steigerung der strukturellen Komplexität und Größe der Codierer und Decodierer.
-
Samsung
Electronics: "TFCI
Coding Schema for 8 PSK in low chip rate TDD option" 3GPP TSG RAN WG
1 MEETING #15, 22. August 2000, bezieht sich auf ein TFCI-Codierschema für 8 PSK
in einer low chip rate TDD option. Zwei unterschiedliche Codierschemata
werden vorgestellt. Das erste Schema benutzt die Wiederholung von
ungeraden Symbolen. Das zweite Schema benutzt Punktierung. Beide
Schemata können die
inverse schnelle Hadamard-Transformation benutzen. Es wird betont,
dass diese Technik nur Punktierungen benutzt.
-
Nokia: "Clarifying text proposal
for TFCI repetition encoding",
3GPP TSG RAN WG 1 MEETING #7, 30. August 1999, ist ein Vorschlag
für TSCI
Wiederholungs-Codieren. Ein bi-orthogonal (32, 6)-Code wird benutzt.
Dieser Code wird punktiert auf einen (30, 6)-Code. Wenn der TFCI aus weniger als
sechs Bits besteht, wird dieser mit Nullen aufgefüllt, wobei
das höchstwertigste
Bit gleich Null ist.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine Codiervorrichtung
und Verfahren zum Erzeugen von (n, 3)-Codes oder (n, 4)-Codes, ungeachtet
der Codierrate zur Verfügung
zu stellen, und eine Vorrichtung und Verfahren zum Decodieren eines
Signals, welches durch einen (n, 3)-Codierer oder einen (n, 4)-Codierer codiert
wurde, zur Verfügung
zu stellen.
-
Diese
Aufgabe ist gelöst
durch die unabhängigen
Ansprüche.
-
Bevorzugte
Ausführungsformen
werden in den abhängigen
Ansprüchen
beschrieben.
-
Es
ist ein Aspekt der vorliegenden Erfindung, eine Vorrichtung und
Verfahren zum Erzeugen von (n, 3)-Codes mit einer optimalen Minimaldistanz,
ungeachtet der Codierraten, zur Verfügung zu stellen.
-
Es
ist ebenso ein Aspekt der vorliegenden Erfindung, eine Vorrichtung
und Verfahren zum Erzeugen von (n, 4)-Codes mit einer optimalen
Minimaldistanz, ungeachtet der Codierraten, zur Verfügung zu
stellen.
-
Es
ist ein anderer Aspekt der vorliegenden Erfindung, eine Codiervorrichtung
und Verfahren zum Erzeugen von (n, 3)-Codes oder (n, 4)-Codes, ungeachtet
der Codierraten, zur Verfügung
zu stellen.
-
Es
ist ein weiterer Aspekt der vorliegenden Erfindung, eine Vorrichtung
und Verfahren zum Erzeugen von (n, 3)-Codes mit einer optimalen
Minimaldistanz, ungeachtet der Codierraten, gemäß einem vorherbestimmten Interleaving-Muster
(Verschränkungsmuster/Interleaving-Pattern)
zur Verfügung
zu stellen.
-
Es
ist doch ein weiterer Aspekt der vorliegenden Erfindung, eine Vorrichtung
und Verfahren zum Erzeugen von (n, 4)-Codes mit einer optimalen
Minimaldistanz, ungeachtet der Codierraten, gemäß einem vorherbestimmten Interleaving-Muster
zur Verfügung
zu stellen.
-
Es
ist noch ein weiterer Aspekt der vorliegenden Erfindung, eine Vorrichtung
und Verfahren zum Decodieren eines Signals, welches durch einen
(n, 3)-Codierer codiert wurde, zur Verfügung zu stellen.
-
Es
ist ein auch noch ein weiterer Aspekt der vorliegenden Erfindung,
eine Vorrichtung und Verfahren zum Decodieren eines Signals, welches
durch einen (n, 4)-Codierer codiert wurde, zur Verfügung zu
stellen.
-
Gemäß einem
Aspekt der vorliegenden Erfindung, um einen 3-Bit-Informationsbitstrom
in ein (n, 3)-Codewort mit n-Codesymbolen in der Codiervorrichtung
zu codieren, generiert ein Simplexcodierer ein Erster-Ordnung-Reed-Muller-Codewort
mit (P + 1)-Codesymbolen aus dem Eingabeinformationsbitstrom für n > P und punktiert das
erste Codesymbol der (P + 1) Erster-Ordnung-Reed-Muller-Codesymbole
um ein (P, 3)-Simplexcodewort zu er zeugen. Ein Interleaver (Verschränker) permutiert
die P-Codesymbole des (P, 3)-Simplexcodewortes
spaltenweise gemäß eines
vorbestimmten Musters. Ein Repeater (Wiederholeinrichtung) wiederholt
die spaltenpermutierten (P, 3)-Codeworte unter einer bestimmten
Kontrolle (statt Kontrolle ist es dem Fachmann geläufig den
Begriff Steuerung zu verwenden) und gibt ein (n, 3)-Codewort mit
n-wiederholten Codesymbolen aus.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung, um ein 3-Bit-Informationsbitstrom
in ein (n, 3)-Codewort mit n-Codesymbolen in dem Codierverfahren
zu codieren, wird ein Erster-Ordnung-Reed-Muller-Codewort mit (P
+ 1)-Codesymbolen aus dem Eingabeinformationsbitstrom, für n > P, erzeugt und das
erste Codesymbol der (P + 1)-Erster-Ordnung-Reed-Muller-Codesymbole
wird punktiert, um ein (P, 3)-Simplexcodewort zu erzeugen. Die P-Codesymbole
des (P, 3)-Simplexcodewortes werden spaltenweise permutiert, gemäß einem
vorbestimmten Muster. Das spaltenpermutierte (P, 3)-Codewort wird
wiederholt unter einer vorbestimmten Steuerung/Kontrolle und, als
ein Ergebnis, wird ein (n, 3)-Codewort mit n-wiederholten Codesymbolen
erzeugt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
obigen und anderen Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden deutlich aus der folgenden detaillierten Beschreibung
im Zusammenhang mit den begleitenden Zeichnungen, in welchen:
-
1 ein
Blockdiagramm einer Codiervorrichtung zum Erzeugen eines (n, 3)-Codes
und eines (n, 4)-Codes gemäß der vorliegenden
Erfindung ist;
-
2 ein
Blockdiagramm einer Decodiervorrichtung für das Decodieren von (n, 3)-Codes und (n, 4)-Codes
gemäß der vorliegenden
Erfindung ist;
-
3 ein
Blockdiagramm eines Simplexcodierers zum Erzeugen eines (15, 4)-Codes
und eines (7, 3)-Codes gemäß einer
Ausführungsform
der vorliegenden Erfindung ist;
-
4 ein
Blockdiagramm eines Simplexcodierers zum Erzeugen eines (7, 3)-Codes
gemäß einer
anderen Ausführungsform
der vorliegenden Erfindung ist; und
-
5 ein
Blockdiagramm eines einfachen Codierers zum Erzeugen eines (15,
4)-Codes gemäß einer zweiten
Ausführungsform
der vorliegenden Erfindung ist.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Bevorzugte
Ausführungsformen
der vorliegenden Erfindung werden hierin beschrieben in Bezug auf die
begleitenden Zeichnungen. In der folgenden Beschreibung werden wohlbekannte
Funktionen oder Konstruktionen nicht im Detail beschrieben, da dieses
die Erfindung durch unnötige
Details verschleiern würde.
-
1 ist
ein Blockdiagramm einer Codiervorrichtung zum Erzeugen von (n, 3)-Codes
und (n, 4)-Codes gemäß der vorliegenden
Erfindung. Die Beschreibung für
das Erzeugen von (n, 3)-Codes und (n, 4)-Codes wird in Bezug auf 1 gemacht.
-
Betreffend
die Erzeugung eines (n, 3)-Codes, erzeugt ein Simplexcodierer 101 ein
Simplexcodewort. Das Simplexcodewort wird durch Punktieren der ersten
Spalte eines (m × m)-Erster-Ordnung-Reed-Muller-Codes
erzeugt. Ausgehend von (2k, k)-Erster-Ordnung-Reed-Muller-Codes,
nehmen die Simplexcodeworte die Form von (2k – 1, k)
an. Um die (n, 3)-Codes zu erzeugen, werden (7, 3)-Simplexcodeworte
benötigt.
In Tabelle 1 werden (8, 3)-Erster-Ordnung-Reed-Muller-Codes und
(7, 3)-Simplexcodeworte aufgelistet, welche durch Punktierung der
ersten Spalte erzeugt wurden, d.h. der fettgedruckten Codesymbole
der Erster-Ordnung-Reed-Muller-Codes.
-
-
Der
Simplexcodierer 101, der Simplexcodeworte aus Erster-Ordnung-Reed-Muller-Codes erzeugt, wie
in Tabelle 1 gesehen, wird in Bezug auf 4 beschrieben.
-
4 ist
ein Blockdiagramm des Simplexcodierers für das Erzeugen von (7, 3)-Simplexcodes gemäß einer
Ausführungsform
der vorliegenden Erfindung. Während
ein Simplexcodierer für
das Erzeugen von (7, 3)-Simplexcodes aus illustrativen Zwecken in
der Ausführungsform
der vorliegenden Erfindung separat gezeigt wird, kann der Simplexcodierer
durch einen Speicher ersetzt werden, der den (7, 3)-Simplexcode,
der in Tabelle 1 gezeigt wird, speichert.
-
Ein
Erster-Ordnung-Reed-Muller-Codegenerator 401 erzeugt Erster-Ordnung-Reed-Muller-Basiscodes
W1, W2 und W4 zur Benutzung für
das Erzeugen der Erster-Ordnung-Reed-Muller-Codes
W0 bis W7. Die Codebit-"0"en ganz links der
Codes W1, W2 und W4 werden punktiert. Der Grund für das Benutzen
der punktierten Erster-Ordnung-Reed-Muller-Codes
ist das Erzeugen der Simplexcodeworte. Multiplizierer 411, 412 und 413 multiplizieren
Eingabeinformationsbits (a0, a1,
a2) mit den Codes W1, W2 und W4 mit dem
punktierten Codebit ganz links um einige der punktierten Erster-Ordnung-Reed-Muller-Basiscodes
auszuwählen, die
für das
Erzeugen eines punktierten Codes Wj (j =
0, 1, ..., 7) notwendig sind.
-
Zum
Beispiel, wenn die Informationsbits (a2;
a1, a0) binäre Bits "101" sind, wählen die
Multiplizierer 411, 412 und 413 W4 und
W1 unter den punktierten Erster-Ordnung-Reed-Muller-Basiscodes aus, um W5 zu erzeugen,
entsprechend einer Dezimalzahl "5", wie durch die Eingabeinformationsbits
angezeigt wird. Ein Summierer 405 summiert die Erster-Ordnung-Reed-Muller-Basiscodes,
welche durch die Informationsbits (a2, a1, a0) ausgewählt wurden
und erzeugt dann ein Simplexcodewort. Das heißt, ein Erster-Ordnung-Reed-Muller-Code,
welcher ausgewählt
wurde, um mit jedem Informationsbit, welches in dem Informationsbitstrom
ausgebildet ist, zusammenzutreffen, wird addiert, um dabei das Simplexcodewort
zu erzeugen.
-
Der
Simplexcodierer 101 gibt das (7, 3)-Simplexcodewort an
einen Interleaver 102 aus. Der Interleaver 102 permutiert
das (7, 3)-Simplexcodewort spaltenweise gemäß einem vorherbestimmten Interleaving-Muster. Durch
die Spaltenpermutation nimmt das (7, 3)-Simplexcodewort eine spezielle Form
an, welche den resultierenden Code optimal für die Länge n macht trotz der Wiederholung
der n Codesymbole. Das heißt,
das (7, 3)- Simplexcodewort
wird in ein optimales Codewort durch die Spaltenpermutation umgewandelt.
-
Um
einen (n, 3)-Code zu erzeugen, wird die Spaltenpermutation wie im
Folgenden ausgeführt.
[S1, S2, S3,
S4, S5, S6, S7] → [S1, S2, S4,
S7, S3, S5, S6]
wobei
Sj (j = 1, 2, ..., 7) das j-te Symbol des
(7, 3) Simplexcodes darstellt. Der permutierte, d.h. umgeordnete, Simplexcode
zeigt optimale Leistungsfähigkeit
für die
Länge n,
selbst wenn dieser in die Länge
n aufgeteilt ist. Hierbei ist die in dem Interleaver 102 durchgeführte Permutation
der Prozess des Umordnens eines Eingabesimplexcodes (7, 3), um eine
optimale Gewichtsverteilung zu erhalten für alle Längen n, die wiederholt erzeugbar
sind, d.h. um zu realisieren, dass der (n, 3)-Code ein optimaler
Code ungeachtet der Länge
n sein soll.
-
Der
spaltenpermutierte Simplexcode wird auf die Eingabe einer Wiederholeinrichtung
(Repeater) 103 angewandt/zugeführt. Der Repeater 103 wiederholt
den spaltenpermutierten (7, 3)-Simplexcode unter der Kontrolle (Steuerung)
der Kontrolleinrichtung (Steuereinrichtung) 104. Die Kontrolleinrichtung 104 steuert
den Repeater 103, so dass permutierte (7, 3)-Simplexcodesymbole
ausgegeben werden, welche sequenziell wiederholt werden, gemäß n.
-
Für ein besseres
Verstehen der Operationen des Repeater 103 und der Kontrolleinrichtung 104 wird die
Erzeugung eines (10, 3)-Codes als ein Beispiel beschrieben.
-
Der
Repeater 103 wiederholt den spaltenpermutierten (7, 3)-Simplexcode
sequenziell, d.h. in der Reihenfolge von S1,
S2, S4, S7, S3, S5,
S6, S1, S2, S4, S7,
S3, S5, S6 .... Und, da n bei dem (n, 3)-Code gleich
10 ist, d.h. (n, 3) ist (10, 3), kontrolliert die Kontrolleinrichtung 104 den
Repeater 103 so, dass dieser eine Länge 10 hat. Das heißt, die
Kontrolleinrichtung 104 kontrolliert die Ausgabe des Repeater 103,
so dass diese lediglich S1, S2,
S4, S7, S3, S5, S6,
S1, S2, S4 ist. Daher werden die Ausgabecodes des
Repeater 103 in einer weise erzeugt, dass der permutierte
(7, 3)-Simplexcode für
k = 3 sequenziell wiederholt wird, bis die Zahl der wiederholten
Codes (d.h. Zahl der Codesymbole) gleich n ist. Das heißt, die
Kontrolleinrichtung 104 kontrolliert die Ausgabesignale
der Wiederholeinrichtung (Repeater) 103, so dass diese
einer Länge
n eines (n, 3)-Codes entspre chen und deshalb ist die Ausgabe der
Wiederholeinrichtung (Repeater) 103 für k = 3 immer ein optimaler Code,
ungeachtet der Länge
n.
-
2 ist
ein Blockdiagramm einer Decodiervorrichtung für das Decodieren eines (n,
3)-Codes und eines
(n, 4)-Codes gemäß der vorliegenden
Erfindung. In Bezug auf 2 wird das Decodieren des (n,
3)-Codes und das Decodieren des (n, 4)-Codes unten jeweilig beschrieben.
-
Betreffend
das Decodieren eines (n, 3)-Codes wird ein (n, 3)-Code, welcher
von dem Repeater 103, wie in 1 gezeigt,
ausgegeben wurde, auf die Eingabe eines Akkumulators 201 angewendet.
Der Akkumulator 201 operiert unter der Kontrolle einer
Kontrolleinrichtung 202. Wenn ein Code, welcher von dem
Codierer empfangen wurde, ein (n, 3)-Code ist, kontrolliert die
Kontrolleinrichtung 202 den Akkumulator 201, so
dass dieser die (n, 3)-Codesymbole auf einer Sieben-Symbolbasis
aufspaltet und die wiederholten Symbole akkumuliert. Der Akkumulator 201 wandelt
den akkumulierten (n, 3)-Code
in einen (7, 3)-Simplexcode um. Ein Deinterleaver (Entschränker) 203 stellt
den permutierten (7, 3)-Simplexcode in der ursprünglichen Codesymbolreihenfolge
durch umgekehrtes Permutieren her und gibt den wiederhergestellten
(7, 3)-Simplexcode an einen Null-Einfüger 204 weiter. Der
Deinterleaver 203 kann die umgekehrte Spaltenpermutation
durchführen,
weil die Spaltenpermutationsregel zwischen dem Interleaver 102 und
dem Deinterleaver 203 voreingestellt ist.
-
Der
(7, 3)-Code wird umgekehrt spaltenpermutiert, gemäß dem Deinterleaving-Muster
von
[S1, S2,
S4, S7, S3, S5, S6] → [S1, S2, S3,
S4, S5, S6, S7]
-
Der
Null-Einfüger 204 wandelt
den umgekehrt-spaltenpermutierten (7, 3)-Simplexcode in einen Erster-Ordnung-Reed-Muller-Code
um durch das Einfügen
von 0 vor dem linksten Codesymbol des umgekehrt-spaltenpermutierten
(7, 3)-Simplexcode, welcher von dem Deinterleaver 203 empfangen
wurde. Ein inverser schneller Hadamard-Transformierer 205 decodiert
den (8, 3)-Erster-Ordnung-Reed-Muller-Code in die Eingabeinformationsbits
(a0, a1, a2) durch eine inverse schnelle Hadamard-Transformation
des (8, 3)-Erster-Ordnung-Reed-Muller-Codes.
Die inverse schnelle Hadamard-Transformation hat die Vorteile eines schnellen
Decodierens von einem Erster-Ordnung-Reed-Muller-Code und reduzierte
Komplexität
einer Decodier-Hardwarestruktur für den Erster-Ordnung-Reed-Muller-Code.
-
Jetzt
wird die Erzeugung eines (n, 4)-Codes bezüglich 1 beschrieben.
-
Der
Simplexcodierer 101 erzeugt ein Simplexcodewort. Das Simplexcodewort
wird aus einem (m × m)-Erster-Ordnung-Reed-Muller-Code
durch Punktieren der ersten Spalte erzeugt. Ein (22 – 1, k)-Simplexcode wird
aus einem (2k, k)-Erster-Ordnung-Reed-Muller-Code erzeugt.
-
-
Der
Simplexcodierer 101, der Simplexcodeworte aus Erster-Ordnung-Reed-Muller-Codes erzeugt, wie
in Tabelle 2 zu sehen, wird in Bezug auf 5 beschrieben.
-
5 ist
ein Blockdiagramm des Simplexcodierers zum Erzeugen von (15, 4)-Simplexcodes gemäß der Ausführungsform
der vorliegenden Erfindung. Während
ein Simplexcodierer zum Erzeugen von (15, 4)-Simplexcodes aus illustrativen
Gründen
in der Ausführungsform
der vorliegenden Erfindung separat ausgeführt ist, kann der Sim plexcodierer
ersetzt werden durch einen Speicher, welcher die (15, 4)-Simplexcodes
aus Tabelle 2 speichert.
-
Ein
Erster-Ordnung-Reed-Muller-Basiscodegenerator 501 erzeugt
Erster-Ordnung-Reed-Muller-Basiscodes
W1, W2, W4 und W8 zur Benutzung bei dem Erzeugen der Erster-Ordnung-Reed-Muller-Codes
W0 bis W15. Das linkste Codebit "0" der Codes W1, W2,
W4 und W8 wird punktiert. Der Grund für das Benutzen der punktierten
Erster-Ordnung-Reed-Muller-Codes
ist der, Codeworte zu vereinfachen. W8 wird zusätzlich benutzt, um (n, 4)-Codes
in den (n, 3)-Codegenerator zu erzeugen. Multiplizierer 511 bis 514 multiplizieren
die Eingabeinformationsbits (a0, a1, a, a3) mit den
Codes W1, W2, W4 und W8 mit punktierten linksten Codebits, welche
punktiert wurden, um einige der punktierten Erster-Ordnung-Reed-Muller-Basiscodes
auszuwählen, welche
für das
Erzeugen eines punktierten Codes Wj (j =
0, 1, ..., 15) notwendig sind.
-
Zum
Beispiel, wenn die Informationsbits (a3,
a2, a0) binäre Bits "1001" sind, wählen die
Multiplizierer 511 bis 514 W1 und W8 aus den punktierten
Erster-Ordnung-Reed-Muller-Basiscodes
aus, um W9 zu erzeugen, entsprechend einer Dezimalzahl "9", welche durch die Eingabeinformationsbits
angezeigt werden. Ein Summierer 505 summiert die Erster-Ordnung-Reed-Muller-Basiscodes,
welche durch die Informationsbits (a3, a2, a1, a0)
ausgewählt
wurden und erzeugt dann ein Simplexcodewort.
-
Der
Simplexcodierer 101 gibt das (15, 4)-Simplexcodewort an
den Interleaver 102 aus. Der Interleaver 102 permutiert
das (15, 4)-Simplexcodewort spaltenweise. Durch die spaltenweise
Permutation nimmt das (15, 4)-Simplexcodewort eine spezielle Form
an, welche den resultierenden Code für die Länge n optimal macht trotz der
Wiederholung von n-Codesymbolen.
-
Der
Interleaver 102 führt
eine Spaltenpermutation mit dem (15, 4)-Simplexcodewort aus, gemäß einem
Interleaving-Muster von
[S1, S2, S3, S4,
S5, S6, S7, S8, S9,
S10, S11, S12, S13, S14, S15]
→ [S1, S2, S4,
S8, S14, S13, S11, S7, S5, S3,
S12, S10, S15, S9, S6]
-
Außer für den Fall,
in dem n mod 15 = 5 ist (d.h. n = 5, 20, 35, 50, ...), können (n,
4)-Codes mit optimaler Leistungsfähigkeit
für n durch
eine Spaltenpermutation erzeugt werden. In dem Fall für n mod
15 = 5, werden (n, 4)-Codes erzeugt, welche eine Minimaldis tanz
haben, welche sich von der eines optimalen Codes der Länge n um
1 unterscheidet. Hierbei ist die Spaltenpermutation, welche in dem
Interleaver 102 ausgeführt
wird, der Prozess des Umordnens der Eingabe von (15, 4)-Simplexcodes,
um eine optimale Gewichtsverteilung für alle der wiederholbar erzeugten
Länge n
zu haben, d.h. um einen optimalen (n, 4)-Code ungeachtet der Länge n zu
haben.
-
Spaltenpermutierter
Simplexcode wird der Eingabe des Repeaters 103 zugeführt. Der
Repeater 103 wiederholt den spaltenpermutierten (15, 4)-Simplexcode
unter der Kontrolle der Kontrolleinheit 104. Die Kontrolleinheit 104 kontrolliert
den Repeater 103, so dass dieser permutierten (15, 4)-Simplexcodesymbole
ausgibt, welche gemäß n wiederholt
wurden.
-
Für ein besseres
Verständnis
der Operationen in der Wiederholeinrichtung (Repeater) 103 und
der Kontrolleinrichtung 104 betreffend den (n, 4)-Code,
wird die Erzeugung eines (20, 4)-Codes als ein Beispiel beschrieben.
Der Repeater 103 wiederholt den spaltenpermutierten (15,
4)-Simplexcode sequenziell, d.h. in der Reihenfolge S1,
S2, S4, S8, S14, S13, S11, S7, S5, S3,
S12, S10, S15, S9, S6, S1, S2,
S4, S8, S14, S13, S11, S7, S5, S3, S12,
S10, S15, S9, S6 .... Und, da
das n der (n, 4)-Codes gleich 20 ist, d.h. (n, 4) ist (20, 4), kontrolliert
die Kontrolleinrichtung 104 den Repeater 103 um
die Länge
20 zu haben. Das heißt,
die Kontrolleinrichtung 104 kontrolliert die Ausgabe des
Repeater 103, so dass diese lediglich S1,
S2, S4, S8, S14, S13, S11, S7, S5, S3,
S12, S10, S15, S9, S6, S1, S2,
S4, S8, S14 ist. Demnach werden Ausgabecodes des Repeater 103 in
einer Weise erzeugt, dass der permutierte (15, 4)-Simplexcode für k = 4
sequenziell wiederholt wird, bis die Zahl der wiederholten Codes
gleich n ist. Das heißt,
die Kontrolleinrichtung kontrolliert die Ausgabesignale des Repeater 103,
so dass diese einer Länge
n eines (n, 4)-Codes entsprechen und deshalb ist die Ausgabe des
Repeater 103 für k
= 4 immer ein optimaler Code, ungeachtet der Länge n.
-
In
Bezug auf 2 wird das Decodieren des (n,
4)-Codes unten beschrieben.
-
Im
Betrieb wird ein (n, 4)-Code, welcher von dem Repeater 103,
wie in 1 gezeigt, ausgegeben wurde, angewendet auf die
Eingabe des Akkumulators 201. Der Akkumulator 201 operiert
unter der Kontrolle einer Kontrolleinrichtung 202. Die
Kontrolleinrichtung 202 kontrolliert den Akkumulator 201,
so dass dieser die (n, 4)-Codesymbole auf einer 15-Symbolbasis aufspaltet
und die wiederholten Symbole akkumuliert. Der Akkumulator 201 wandelt
den akkumulierten (n, 4)-Code in einen (15, 4)-Simplexcode um. Der
Deinterleaver 203 stellt den permutierten (15, 4)-Simplexcode
in der ursprünglichen
Codesymbolreihenfolge her durch umgekehrtes Permutieren, und gibt
den wiederhergestellten (15, 4)-Simplexcode an den Null-Einfüger 204 aus.
Der Interleaver 203 kann die umgekehrte Spaltenpermutation
durchführen,
da die Spaltenpermutationsregel zwischen dem Interleaver 102 und
dem Deinterleaver 203 voreingestellt ist.
-
Der
(15, 4)-Code wird umgekehrt spaltenpermutiert, gemäß dem Deinterleavingmuster
von
[S1, S2,
S4, S8, S14, S13, S11, S7, S5, S3, S12,
S10, S15, S9, S6]
→ [S1, S2, S3,
S4, S5, S6, S7, S8,
S9, S10, S11, S12, S13, S14, S15]
-
Der
Null-Einfüger 204 wandelt
den umgekehrt-spaltenpermutierten (15, 4)-Simplexcode in einen Erster-Ordnung-Reed-Muller-Code
um, durch das Einfügen
von 0 vor dem linksten Codesymbol des umgekehrt spaltenpermutierten
(15, 4)-Simplexcode, welcher von dem Deinterleaver 203 empfangen
wurde. Der inverse schnelle Hadamard-Transformer 205 decodiert
den (16, 4)-Erster-Ordnung-Reed-Muller-Code in die Eingabeinformationsbits
(a0, a1, a2, a3) durch inverse
schnelle Hadamard-Transformation des (15, 4)-Erster-Ordnung-Reed-Muller-Codes. Die
inverse schnelle Hadamard-Transformation hat die Vorteile des schnellen
Decodierens eines Erster-Ordnung-Reed-Muller-Codes und die reduzierte
Komplexität
einer Decodier-Hardwarestruktur für den Erster-Ordnung-Reed-Muller-Code.
-
Jetzt
wird ein Simplexcodierer zum Erzeugen eines (15, 4)-Simplexcodes
und eines (7, 3)-Simplexcodes gemäß einer anderen Ausführungsform
der vorliegenden Erfindung in Bezug auf 3 beschrieben.
Es ist offensichtlich, dass der Simplexcodierer in 3 aus
illustrativen Gründen
durch einen Speicher, der die Informationen aus Tabelle 1 und Tabelle
2 speichert, ersetzt werden kann.
-
3 ist
ein Blockdiagramm eines Simplexcodierers für das Erzeugen eines (15, 4)-Codes und eines (7,
3)-Codes, gemäß einer
Ausführungsform
der vorliegenden Erfindung. Hierbei wird bemerkt, dass die Konfiguration
für das
Erzeugen des (15, 4)-Simplexcodes
die gleiche ist, wie in 5 von zuvor. Zusätzlich ist
die Konfiguration für
das Erzeugen des (7, 3)-Simplexcodes das gleiche wie in 4 zuvor
beschrieben. Demgemäß können der
(7, 3)- und (15, 4)-Simplexcode wahlweise mittels des Schalters 303 erzeugt
werden. Das heißt,
in dem Fall des Erzeugens eines (15, 4)-Simplexcodes kontrolliert
die Kontrolleinheit 104 die Ausgabe eines Erster-Ordnung-Reed-Muller-Basiscodegenerators 301 durch
Einschalten, so dass diese W1, W2, W4 und W8 ist. In dem anderen
Fall, werden nur W1, W2 und W4 durch Ausschalten ausgewählt für den Erster-Ordnung-Reed-Muller-Basiscodegenerator 301.
Die detaillierte Beschreibung für 3 als
solche ist nicht hierin erwähnt,
da die verbleibende Konfiguration und Operation bis auf die Beschreibung
des Schalters 303 die gleichen sind.
-
Gemäß der vorliegenden
Erfindung, wie zuvor beschrieben, können (n, k)-Blockcodes mit
einer optimalen Minimaldistanz mit vereinfachter Hardware erzeugt
werden. Des Weiteren reduziert die Benutzung der gleichen Hardwarestrukturen
beim Erzeugen von Codes bei unterschiedlichen Codierraten, d.h.
für die
Eingabe von unterschiedlichen Informationsbits, die Zahl der benötigten Codierer,
vereinfacht die Codier- und Decodierstrukturen und, als eine Konsequenz,
reduziert deren Größe.
-
Während die
Erfindung gezeigt und beschrieben wurde in Bezug auf bestimmte bevorzugte
Ausführungsformen,
ist dem Fachmann klar, dass zahlreiche Änderungen in Form und Detail
gemacht werden können,
ohne von dem Schutzbereich der Erfindung, wie durch die angehängten Ansprüche definiert,
abzuweichen.