-
Die
vorliegende Erfindung betrifft eine Decodiervorrichtung und ein
Decodierverfahren, die zum Decodieren von turbo-codierten Daten
geeignet sind, sowie eine Datenempfangsvorrichtung und ein Datenempfangsverfahren,
die zur Verwendung der Turbo-Decodierung geeignet sind.
-
Vor
einiger Zeit wurde ein Codierverfahren vorgeschlagen, bei dem Turbo-Codes
als Fehlerkorrekturcodes verwendet werden, die in etwa das Shannon-Limit
realisieren können.
Die Turbo-Codes wurden studiert und als Codes mit hoher Leistung und
hoher Verlässlichkeit
zur Verwendung auf verschiedenen Gebieten einschließlich mobiler
Kommunikation und digitalem Rundfunk verbessert. Die Turbo-Codes
werden als parallel-verkettete Faltungscodes (PCCC) bezeichnet.
-
Ein
Turbo-Codierer ist so aufgebaut, dass mehrere Codierer parallel
miteinander verkettet sind. Insbesondere sind beispielsweise zwei
Faltungscodierer und eine Verschachtelungsanordnung parallel miteinander
verkettet. Beim Decodieren von turbo-codierten Daten werden mehrere
Decoder verwendet, und die Decodierverarbeitung wird wiederholt
unter Verwendung der Verlässlichkeit
von resultierenden decodierten Daten durchgeführt. Durch Austausch von Information
zwischen Decodern können
diese somit endgültige
decodierte Daten beim Durchführen
der Decodierverarbeitung die Nachgiebigkeitsentscheidungsdecodierung
erlangen, beispielsweise den MAP-Algorithmus (Maximum a-posteriori
Probability-Algorithmus).
-
Anschließend wird
ein Turbo-Codierer zum Durchführen
von Turbo-Codierung und ein Turbo-Decoder zum Durchführen von
Turbo-Decodierung mit Hilfe der Zeichnungen erläutert.
-
1 zeigt
ein Blockdiagramm des Turbo-Codierers, um die oben beschriebene
Turbo-Codierung durchzuführen.
Wie gezeigt werden Eingangsdaten von einem Eingangsanschluss 101 zu einem
Parallel-Seriell-Umsetzer 102 und zu einem Faltungscodierer 103 geliefert.
Die gelieferten Daten werden außerdem
zu einem Faltungscodierer 105 über eine Verschachtelungseinrichtung 104 geliefert.
-
Der
Faltungscodierer 103 führt
eine Faltungsberechnung für
die Eingangsdaten durch und sendet die resultierenden Daten zum
Parallel-Seriell-Umsetzer 102 als Paritäts-Bit Da. Der Faltungscodierer 103 besteht
beispielsweise aus einem Addierer 111, zwei Verzögerungselementen,
beispielsweise D-Flipflops (DFFs) 112, 113 und
einem Addierer 114. Die Verschachtelungseinrichtung 104 ändert die Reihenfolge
von Bits, die die Eingangsdaten bilden, um somit die Bits umzuordnen,
und sendet die resultierenden verschachtelten Daten zum Faltungscodierer 105.
Der Faltungscodierer 105, der den gleichen Aufbau wie der
Faltungscodierer 103 hat, führt Faltungsberechnung für die verschachtelten
Eingangsdaten durch und sendet die resultierenden Daten zum Parallel-Seriell-Umsetzer 102 als
Paritäts-Bit Db.
Die Codierverarbeitung wird für
jeden Block durchgeführt,
der aus Bits mit einer vorher festgelegten Anzahl besteht, der zur
Einheit der Codierverarbeitung wird, und dieser Block wird außerdem als
Codeblock bezeichnet.
-
Der
Parallel-Seriell-Umsetzer 102 setzt das System-Bit Ds,
welches das ursprüngliche
Eingangsdatenelement vom Eingangsanschluss 101 ist, das Paritäts-Bit Da
vom Faltungscodierer 103, das Paritäts-Bit Db vom Faltungscodierer 105 in
serielle Daten um und gibt die resultierenden Daten an einen Ausgangsanschluss 106 aus.
Die Ausgangsdaten unterliegen vorher festgelegter Modulationsverarbeitung,
die zur Kommunikation übertragen
werden.
-
2 zeigt
ein Blockdiagramm des Turbo-Decoders, der dem oben beschriebenen
Turbo-Codierer entspricht. Ein Eingangsanschluss 121 empfängt ein
Signal, welches durch den oben beschriebenen Turbo-Codierer codiert
wurde, und wird zur Übertragung
moduliert und dann durch den Turbo-Decoder empfangen und demoduliert.
Das Empfangssignal wird zu einer Normierungsschaltung 122 geliefert,
die ausgebildet ist, den Signalpegel eines Signals, welches zugeführt wird,
geeignet einzustellen, und dann zu einem Seriell-Parallel-Umsetzer 123 geliefert.
-
Der
Seriell-Parallel-Umsetzer 123, der dem in 1 gezeigten
Parallel-Seriell-Umsetzer 102 entspricht,
unterteilt das Empfangssignal in das System-Bit Ds, das Paritäts-Bit Da
und das Paritäts-Bit Db.
Das getrennte System-Bit Ds wird zu einer software-gestützten Ausgangs-Decodiereinheit 124 und zu
einer Verschachtelungsanordnung 125 geliefert. Das getrennte
Paritätsbit
Da wird zur software-gestützten
Ausgangs-Decodiereinheit 124 geliefert. Das getrennte Paritätsbit Db
wird zur software-gestützten
Ausgangs-Decodiereinheit 126 geliefert. Ein Ausgangssignal
von der software-gestützten
Ausgangs-Decodiereinheit 124 wird zur software-gestützten Decodiereinheit 126 über eine
Verschachtelungsanordnung 127 geliefert, und ein Ausgangssignal
von der software-gestützten
Ausgangs-Decodiereinheit 126 wird zurück zur software-gestützten Ausgangs-Decodiereinheit 124 über eine
Entschachtelungsanordnung 128 geführt. Diese Decodierverarbeitung
muss wiederholt durch die Codeblockeinheit durchgeführt werden,
d.h., wiederholte Decodierverarbeitung (Turbo-Decodierung) muss
durchgeführt werden.
Endgültig
decodierte Daten von der software-gestützten Ausgangs-Decodiereinheit 126 werden in
Binärdaten
durch eine hardware-gestützte
Entscheidungsschaltung 129 umgesetzt und werden durch eine
Entschachtelungsanordnung 130 entschachtelt, und die resultierenden
Daten werden zu einem Ausgangsanschluss 131 geliefert,
von dem sie ausgesendet werden.
-
Die
software-gestützte
Ausgangs-Decodiereinheit 124 besteht aus einer MAP-Algorithmusschaltung 134 und
einem Addierer 135. Die MAP-Algorithmusschaltung 131 empfängt das
Systembit Ds und das Paritäts-Bit
Da vom Seriell-Parallel-Umsetzer 123 sowie ein Ausgangssignal
von der Entschachtelungsanordnung 128. Ein Ausgangssignal
von der MAP-Algorithmusschaltung 134 wird
zum Addierer 135 geliefert. Der Addierer 135 subtrahiert
das Systembit Ds und das Ausgangssignal der Entschachtelungsanordnung 128 vom
Ausgangssignal der MAP-Algorithmusschaltung 134. Ein Ausgangssignal vom
Addierer 135 wird zur Verschachtelungsanordnung 127 geliefert.
-
Die
software-gestützte
Ausgangs-Decodiereinheit 126 besteht aus einer MAP-Algorithmusschaltung 136 und
einem Addierer 137. Die MAP-Algorithmusschaltung 136 empfängt ein
Ausgangssignal von der Verschachtelungsanordnung 125, das
Paritäts-Bit
Db vom Seriell-Parallel-Umsetzer 123 und ein Ausgangssignal
von der Verschachtelungsanordnung 127. Ein Ausgangssignal
von der MAP-Algorithmusschaltung 136 wird zur hardware-gestützten Entscheidungsschaltung 129 und
zum Addierer 137 geliefert. Der Addierer 137 subtrahiert
das Ausgangssignal der Verschachtelungsanordnung 125 und
das Ausgangssignal der Verschachtelungsanordnung 127 vom
Ausgangssignal der MAP-Algorithmusschaltung 136. Ein Ausgangssignal
vom Addierer 137 wird zur Entschachtelungsanordnung 128 geliefert.
-
Eine
Zeitgabesteuerungsschaltung 133 steuert die Betriebszeitgabe
des Seriell-Parallel-Umsetzers 123, der MAP-Algorithmusschaltungen 134 und 136,
der Verschachtelungsanordnungen 125 und 127 bzw.
der Entschachtelungsanordnungen 128 und 130 des
Turbo-Decoders.
-
In
dem in 2 gezeigten Turbo-Decoder muss die Decodierverarbeitung
mehrere Male oder mit mehrmaligen Bewertungen wiederholt werden. Vor
dem Durchführen
der wiederholten Decodierverarbeitung speichert die Verschachtelungsanordnung 125 das
Systembit Ds des Eingangssignals vorher. Außerdem wird bewirkt, dass die
Entschachtelungsanordnung 128 mit einem Anfangswert (0)
vorher initialisiert wird.
-
Anschließend wird
eine der wiederholten Decodierverarbeitung der Turbo-Decodierung
kurz erläutert.
Zunächst
wird in der ersten Hälfte
der Verarbeitung der MAP-Algorithmus der MAP-Algorithmusschaltung 134 wirksam.
Beim Durchführen
der Verarbeitung des MAP-Algorithmus werden das Systembit Ds, das
Paritäts-Bit
Da und das Ausgangssignal von der Entschachtelungsanordnung 128 verwendet.
Ein Ausgangssignal, welches durch Durchführung der Verarbeitung des
MAP-Algorithmus erzeugt wird, wird über den Addierer 135 zur
Verschachtelungsanordnung 127 geliefert und in der Verschachtelungsanordnung 127 gespeichert.
Im ersten Zeitpunkt der wiederholten Decodierverarbeitung wird,
da in der Verschachtelungsanordnung 127 keine Information gespeichert
ist, der Anfangswert (null) verwendet. In der letzten Hälfte der
Verarbeitung wird der MAP-Algorithmus der MAP-Algorithmusschaltung 136 wirksam.
Beim Durchführen
der Verarbeitung des MAP-Algorithmus werden das verschachtelte Systembit
Ds von der Verschachtelungsanordnung 125, das Paritätsbit Db
vom Seriell-Parallel-Umsetzer 123 und das Ausgangssignal
von der Verschachtelungsanordnung 127 verwendet. Ein Ausgangssignal,
welches durch Durchführen
der Verarbeitung des MAP-Algorithmus erzeugt wird, wird über den
Addierer 137 zur Entschachtelungsanordnung 128 geliefert und
in der Entschachtelungsanordnung 128 gespeichert. Das Ausgangssignal,
welches durch Durchführen
der Verarbeitung des MAP-Algorithmus erzeugt wird, wird hardware-gestützt entschieden
durch die hardware-gestütze
Entscheidungsschaltung 129, und das resultierende Ausgangssignal
(Vorzeichen-Bits) wird zur Entschachtelungsanordnung 130, in
der es gespeichert wird, geliefert.
-
Dies
ist die kurze Erläuterung
einer der wiederholten Decodierverarbeitung der Turbo-Decodierung.
Nach dem Durchführen
dieser Verarbeitung mehrere Male, was vorher bestimmt wird, werden
die schließlich
decodierten Daten, welche in der Entschachtelungsanordnung 130 gespeichert
werden, die durch Durchführen
der Verarbeitung des MAP-Algorithmus der MAP-Algorithmusschaltung 136 erlangt
werden, zum Ausgangsanschluss 131 geliefert, von dem sie
als endgültige
decodierte Daten ausgegeben werden.
-
Anschließend wird
ein Beispiel einer Datenübertragungs-/Empfangsvorrichtung,
bei der das oben beschriebene Turbo-Codierverfahren und das Turbo-Decodierverfahren
verwendet wird, mit Hilfe von 3 erläutert.
-
3 zeigt
ein Blockdiagramm einer Datenübertragungs-/Empfangsvorrichtung.
Ein Signal, welches durch eine Antenne 1 empfangen wird,
wird zu einem rauscharmen Verstärker 3 über eine
anteilig genutzte Einrichtung 2 geliefert, um die Antenne 1 im Zeitpunkt
der Übertragung
bzw. des Empfangs eines Signals anteilig zu nutzen. Das Empfangssignal
wird durch den rauscharmen Verstärker 3 verstärkt und
in ein Basisbandsignal durch eine RF- Empfangseinheit 4 umgesetzt
und danach durch eine Demodulationseinheit 5 durch Unterziehung
einer Basisbandsignalverarbeitung demoduliert. Das demodulierte
Signal wird durch einen Turbo-Decoder 6 turbo-decodiert, der
dem Turbo-Decoder in 2 entspricht und zu einer Anschlussschnittstelleneinheit
(UF) 7 geliefert. Die I/F-Anschlusseinheit 7 sendet
die empfangenen Paketdaten zu einem Datenanschluss 8. Die
resultierenden decodierten Daten vom Turbo-Decoder werden zu einer
CRC-Umrechnungsschaltung 9 geliefert, wo sie einer CRC-Umrechnung
unterzogen werden. Danach wird beurteilt, ob Prüfbits in den decodierten Daten
gemäß dem Berechnungsergebnis enthalten
sind oder nicht, d.h., ob ein Fehler erzeugt wurde oder nicht, und
das Prüfergebnis
wird zur I/F-Anschlusseinheit 7 und zur Paketfluss-Rückübertragungssteuerungseinheit 10 geliefert.
-
Daten,
welche vom Datenanschluss 8 zu übertragen sind, werden zu einer
Turbo-Codierung- und
Rahmenbildungseinheit 11 über die I/F-Anschlusseinheit 7 und
die Paketfluss-Rückübertragungssteuerungseinheit 10 geliefert,
wo sie der Turbo-Codierungsverarbeitung, die mit Hilfe von 1 beschrieben
wurde, sowie der Rahmenbildungsverarbeitung unterworfen werden.
Die codierten Daten von der Turbo-Codierung- und Rahmenbildungseinheit 11 werden
durch eine Modulationseinheit 12 moduliert und in ein RF-Signal
durch eine RF-Übertragungseinheit 13 umgesetzt
und durch einen Leistungsverstärker 14 verstärkt und
dann über
die anteilig genutzte Einrichtung 2 zur Antenne 1 geliefert.
-
Wenn
bestimmt wird, dass das Fehlerermittlungsergebnis von der CRC-Umrechnungseinheit 9 zeigt,
dass kein Bitfehler existiert, rangiert die I/F-Anschlusseinheit 7 die
empfangenen Paketdaten aus, und die Paketfluss-Rückübertragungssteuerungseinheit 10 sendet
ein Signal, welches die Rückübertragung
von Paketdaten anfordert, an die Turbo-Codier- und Rahmenbildungseinheit 11 der Übertragungseinheit.
-
Die
oben beschriebene herkömmliche
Datenübertragungs-/Empfangsvorrichtung
führt die Fehlerermittlung
unter Verwendung von Fehlerermittlungscodes durch. Dagegen verbleibt
eine Möglichkeit,
dass die Fehlerermittlung unter Verwendung der Fehlerermittlungscodes
nicht unter einer bestimmten Wahrscheinlichkeit durchgeführt werden
kann. In diesem Fall tritt ein Problem auf, dass nicht korrekte
Paketdaten unerwünscht
zum Datenanschluss 8 geliefert werden. Auch in dem Fall,
wo inkorrekte Bits existieren, sogar, wenn lediglich ein Bit inkorrekt
ist, wird das gesamte Paket zurück übertragen,
was die Datenübertragungswirksamkeit
vermindert.
-
Die
WO 00/21236 offenbart ein Hybridautomatik-Nachrichtenweitergabe-Anforderungsverfahren
(ARQ), bei dem eine CRC dazu verwendet wird, Nachrichtenweitergaben zu
triggern. Eine variable Menge an inkrementaler Redundanz wird durch
den Empfänger
gemäß der Qualität des Empfangs
angefordert, beispielsweise gemäß der Bitfehlerrate (BER).
-
Buckley
et al, "A Neutral
Network for Predicting Decoder Error in Turbo Decoders" IEEE Communications
Letters, Band 3, Nr. 5, Mai 1999, Seite 145 bis 147 (XP 830480)
offenbart ein neurales Netzwerk, welches trainiert werden kann,
um das Vorhandensein von Fehlern in turbo-decodierten Daten vorherzusagen.
Diese Eingaben an das Netzwerk sind Proben von Kreuz-Entropie der
Komponentendecoder-Ausgangssignale bei zwei oder mehr Zeitaugenblicken.
Solch ein neurales Netzwerk kann als Trigger für Nachrichtenweitergabe-Anfragen verwendet werden.
-
Shao,
Lin, Fossorier, "Two
Simple Stopping Criteria for Turbo Decoding", IEEE Transcations on communications,
Band 47, Nr. 8, August 1988, Seite 1117 bis 1120 (XP 848102) führt zwei
einfache Kriterien an, auf der Basis eines Kreuz-Entropie-Konzepts,
um den Iterationsprozess bei Turbo-Decodierung zu stoppen.
-
Coulton
et al., "Simple
Hybrid Type II ARQ Technique using Soft Output Information", Electronics Letters,
Band 36, Nr. 20, 28. September 2000, offenbart ein Hybrid-ARQ-System, bei dem
Nachrichtenweitergabe-Anfragen auf der Basis des Soft-Ausgangssignals
eines Turbo-Decoders bestimmt werden, und möglicherweise eine CRC. Das
ARQ-System kann unter Verwendung verschiedener Nachrichtenweitergabe-Optionen
beispielsweise alle oder Teile der durchlöcherten Parität, der ganzen
Parität oder
des ganzen Codierblocks gemacht werden.
-
Es
ist daher eine Aufgabe von zumindest einer Ausführungsform der vorliegenden
Erfindung, die oben erläuterten
Nachteile zu überwinden,
wobei eine Decodiervorrichtung und ein Decodierverfahren bereitgestellt
werden, sowie eine Datenempfangsvorrichtung und ein Datenempfangsverfahren,
wie gegenteilige Effekte beseitigt werden können, wenn die Fehlerermittlung
unter Verwendung der Fehlerermittlungscodes nicht korrekt durchgeführt werden kann,
und eine Datenmenge, die gemäß dem Fehlergrad
weitergegeben werden soll, variieren kann, in dem Fall, wo es erforderlich
ist, Paketdaten weiterzugeben, wodurch die Datenübertragungswirksamkeit verbessert
wird.
-
Gemäß der vorliegenden
Erfindung wird ein Decodierverfahren zum Decodieren von parallel-verketteten
codierten Daten bereitgestellt, wobei das Durchführen der Decodierverarbeitung
wiederholt unter Verwendung einer software-gestützten Ausgangs-Decodiereinrichtung
durchgeführt
wird, die mehrere Stufen aufweist, wobei das Decodierverfahren folgende
Schritte aufweist:
Vergleichen von Daten, welche in einem laufenden Zeitpunkt
decodiert sind, mit Daten, die einem vorherigen Zeitpunkt decodiert
sind, wobei beide bei der Wiederholungsdecodierungsverarbeitung
decodiert wurden;
Ermitteln eines Fehlers in resultierenden
decodierten Daten unter Verwendung eines Fehlerermittlungscodes;
und
schließliches
Beurteilen, ob ein Fehler gemäß Fehlermittlungs-Ausgangsdaten,
welche im Fehlerermittlungsschritt erhalten werden, erzeugt wird,
und Vergleichen von Ausgangsdaten, welche im Vergleichsschritt erhalten
werden;
wobei:
der Vergleichsschritt die Anzahl von sich
widersprechenden Vorzeichenbits durch Vergleichen von Vorzeichenbits
des aktuellen Zeitpunkts mit Vorzeichenbits des vorherigen Zeitpunkts
erzielt wird, wobei die Vorzeichenbits in Ausgangsdaten von der
letzten Stufe von den mehreren Stufen der software-gestützten Ausgangs-Decodiereinrichtung
enthalten sind; und
wenn die Anzahl von sich widersprechenden
Vorzeichenbits größer als
ein vorher festgelegter Wert ist, der Beurteilungsschritt bestimmt,
dass es einen erzeugten Fehler gibt, sogar, obwohl das Fehlerermittlungsergebnis
keinen erzeugten Fehler zeigt.
-
Gemäß der vorliegenden
Erfindung wird außerdem
ein Datenempfangsverfahren bereitgestellt, welches die Funktion
hat, parallel-verkettete codierte Daten zu empfangen und die Daten
wiederholt unter Verwendung einer software-gestützten Ausgangs-Decodiereinrichtung,
die mehrere Stufen aufweist, zu decodieren, wobei das Verfahren
folgende Schritte aufweist:
Vergleichen von Daten, die im aktuellen
Zeitpunkt decodiert werden, mit Daten, welche in einem vorherigen
Zeitpunkt decodiert wurden, wobei beide in der Wiederholungsdecodierungsverarbeitung
decodiert werden;
Ermitteln eines Fehlers in resultierenden
decodierten Daten unter Verwendung eines Fehlerermittlungscodes;
und
Steuern von Rückübertragung
durch Senden eines Signals, welches Rückübertragung anfordert, von Daten
gemäß Vergleichen
von Ausgangsdaten, die im Vergleichsschritt erhalten werden, und
Fehlerermittlungs-Ausgangsdaten, welche im Fehlerermittlungsschritt
erhalten werden;
wobei der Rückübertragungssteuerungsschritt
das Signal, welches Rückübertragung
von Daten anfordert, sendet, wenn der Fehlerermittlungsschritt bestimmt,
dass es einen erzeugten Fehler gibt, und die Rückübertragungsweise gemäß den Vergleichsausgangsdaten,
welche im Vergleichsschritt erhalten werden, ändert.
-
Der
Vergleichsschritt vergleicht vorzugsweise Vorzeichenbits des aktuellen
Zeitpunkts mit Vorzeichenbits eines vorherigen Zeitpunkts, wo die
Vorzeichenbits in Ausgangsdaten von der letzten Stufe der Soft-Ausgangs-Decodiereinrichtung
der mehreren Stufen enthalten sind. Vorzugsweise sendet der Weitergabesteuerschritt
die Signalanforderungsweitergabe von Daten in dem Fall, wo der Fehlerermittlungsschritt
bestimmt, dass es erzeugten Fehler gibt, und ändert die Weitergabeweise gemäß der Anzahl von
sich widersprechenden Vorzeichenbits, die im Vergleichsschritt erhalten
werden. In diesem Fall, wenn die Anzahl von sich widersprechenden
Vorzeichenbits größer ist
als ein vorher festgelegter Wert, wird bestimmt, dass es erzeugte
Fehler gibt, unabhängig
vom Fehlerermittlungsergebnis, und der Weitergabesteuerschritt sendet
Signalanfrageweitergabe von Daten.
-
Wenn
die empfangenen codierten Daten durchlöcherte Codes aufweisen, die
einen Teil von Daten haben, der an einer Codierseite gelöscht ist, sendet
der Weitergabesteuerschritt die Signalanfrageweitergabe von Daten,
wobei er ein Datenwort der Weitergabe der gelöschten Daten auswählt, der
Weitergabe der ursprünglichen
durchlöcherten
Codes und der Weitergabe von allen Daten, bevor diese gelöscht werden,
gemäß der Anzahl
von sich widersprechenden Vorzeichenbits, welche im Vergleichsschritt
erhalten werden. In diesem Fall, wenn die Anzahl sich widersprechenden
Vorzeichenbits klein ist, ist die Weitergabe der gelöschten Daten
effektiv. Andererseits, wenn die Anzahl von sich widersprechenden
Vorzeichenbits groß ist,
ist die Weitergabe von vorher übertragenen
Daten, d.h., ursprünglicher durchlöcherter
Codes, die die Weitergabe aller Daten, bevor sie gelöscht werden,
effektiv. Wenn lediglich Daten, von denen erforderlich, gelöscht zu
werden, weitergegeben werden sollen, werden die Daten, welche in
der Durchlöcherungsverarbeitung
gelöscht
werden und die vorher übertragenen
Paketdaten (durchlöcherte
Codes) kombiniert, und die kombinierten Daten wie Daten, die nicht
durchlöchert
sind, werden decodiert, wodurch die Fehlerkorrekturfähigkeit
verbessert wird. Somit kann die Erzeugung von Fehlern unterdrückt werden.
Allgemein beträgt
die Anzahl von Bits, welche durch den Durchlöcherungsverarbeitung gelöscht werden,
von mehreren Prozent bis 20% aller Fehlerkorrektur-Codierpaketdaten,
was kleiner ist als die der Bits aller Paketdaten. Damit kann die
Wirksamkeit von Datenübertragung
verbessert werden. Andere Merkmale der Erfindung stellen eine Vorrichtung
bereit, um das obige Datendecodieren zu implementieren, sowie Datenempfangsverfahren.
-
Die
Erfindung wird nun beispielhaft mit Hilfe der beiliegenden Zeichnungen
beschrieben, wobei durchwegs gleiche Teile mit gleichen Bezugszeichen versehen
sind, und in denen:
-
1 ein
Blockdiagramm eines Turbo-Codierers zeigt;
-
2 ein
Blockdiagramm eines Turbo-Decodierers zeigt;
-
3 ein
Blockdiagramm einer Datenübertragungs-/Empfangsvorrichtung
zeigt, bei der eine Turbo-Codiereinheit und eine Turbo-Decodiereinheit verwendet
wird;
-
4 ein
Blockdiagramm einer Datenübertragungs-/Empfangsvorrichtung
gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
5 ein
Blockdiagramm eines Turbo-Decoders zeigt, welches bei der Datenübertragungs-/Empfangsvorrichtung
verwendet werden kann;
-
6 ein
weiteres Beispiel eines Blockdiagramms einer Datenübertragungs-/Empfangsvorrichtung
gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung zeigt; und
-
7 ein
weiteres Beispiel eines Blockdiagramms eines Turbo-Decoders zeigt,
der bei der Datenübertragungs-/Empfangsvorrichtung
verwendet werden kann.
-
Bevorzugte
Ausführungsformen
der vorliegenden Erfindung werden weiter unten mit Hilfe der beiliegenden
Zeichnungen beschrieben.
-
4 zeigt
ein Blockdiagramm einer Datenübertragungs-/Empfangsvorrichtung,
bei der die Datenempfangsvorrichtung und das Datenempfangsverfahren
gemäß einer
Ausführungsform
der vorliegenden Erfindung verwendet werden. Ein Signal, welches über eine
Antenne 1 empfangen wird, wird zu einem rauscharmen Verstärker 3 über eine
anteilig genutzte Einrichtung 2 geliefert, um die Antenne 1 im Zeitpunkt
des Übertragens/Empfangs
eines Signals anteilig zu nutzen. Das empfangene Signal wird durch
den rauscharmen Verstärker 3 verstärkt und
in ein Basisbandsignal durch eine HF-Empfangseinheit 4 umgesetzt
und dann durch eine Demodulationseinheit 5 demoduliert,
indem es einer Basisbandsignalverarbeitung unterworfen wird. Das
demodulierte Signal wird zu einer Entschachtelungs- und Entdurchlöcherungseinheit 16 geliefert,
wo die Reihenfolge von Bits, welche die Daten bilden, die auf einer
Verschachtelungsseite verschachtelt wurden, in die Ursprungsreihenfolge
zurückgebracht
werden, und die durchlöcherten
Bits durch Null-Daten interpoliert werden.
-
Das
Durchlöchern
ist ein Verfahren, um einen Teil von Fehlerkorrektur-Codierdaten
zu löschen und
die gelöschten
Daten nicht zu senden. Ein Code, der durch Unterwerfen der Durchlöcherung
erhalten wird, wird als Durchlöcherungscode
bezeichnet. Dieser Durchlöcherungscode
wird dazu verwendet, die Anzahl von Bit einzustellen, bei denen
bewirkt wird, dass sie aufgrund der Fehlerkorrektur vergrößert werden,
wobei die Fehlerkorrekturcodes verwendet werden, so dass die Anzahl
von Bits zur gewünschten
Anzahl wird.
-
Das
Signal, welches durch die Entschachtelungs- und Ent-Durchlöcherungseinheit 16 entschachtelt
und ent-durchlöchert
wurde, wird durch einen Turbo-Decoder 6, der einem Turbo-Decoder
entspricht, der in 5 gezeigt ist, turbo-decodiert
und zur Anschlussschnittstelleneinheit (I/F) 7 und zu einer
CRC-Umrechnungseinheit 9 geliefert. Die I/F-Anschlusseinheit 7 sendet
die empfangenen Paketdaten zu einem Datenanschluss 8. Die
CRC-Umrechnungseinheit 9 führt eine Fehlerermittlung unter
Verwendung der CRC-Codes durch, die Fehlerermittlungscodes sind,
die in den Paketdaten enthalten sind, und beurteilt, ob ein Fehler
in den Bits erzeugt wurde oder nicht. Das Ergebnis der Fehlerkorrektur unter
Verwendung des CRC wird zur UF-Anschlusseinheit 7 und außerdem zur
Paketfluss-Weitergabesteuereinheit 10 geliefert.
-
Daten,
welche vom Datenanschluss 8 übertragen werden, werden zu
einer Turbo-Codier-
und Rahmenbildungseinheit 11 über die I/F-Anschlusseinheit 7 und
die Paketfluss-Weitergabesteuereinheit 10 geliefert,
wo sie der Turbo-Codierverarbeitung, die mit Hilfe von 1 beschrieben
wurde, und der Rahmenbildungsverarbeitung unterworfen werden. Die codierten
Daten von der Turbo-Codier- und Rahmenbildungseinheit 11 werden
zu einer Verschachtelungs- und Durchlöcherungseinheit 17 geliefert,
wo sie der Verschachtelungsverarbeitung unterworfen werden, um die
Reihenfolge der Datenbits zu ändern und
einen Teil der Daten zu löschen,
und sie werden dann zur Modulationseinheit 12 geliefert.
Das durch die Modulationseinheit 12 modulierte Signal wird
in ein RF-Signal durch eine RF-Übertragungseinheit 13 umgesetzt
und durch einen Leistungsverstärker 14 verstärkt und
danach über
die anteilig genutzte Einrichtung 2 zur Antenne 1 geliefert.
-
Bei
der Ausführungsform
sendet der Turbo-Decoder 6 sich widersprechende Zahlinformation gemeinsam
mit den decodierten Daten. Die sich widersprechende Zahlinformation,
was später
beschrieben wird, zeigt ein Vergleichsergebnis, welches durch Vergleichen
von Daten erhalten wird, die in diesem Zeitpunkt decodiert werden,
mit Daten, welches vorhergehenden Zeitpunkt decodiert wurden, wobei
beide in der jeweiligen Decodierverarbeitung durch den Turbo-Decoder 6 decodiert
werden und zur I/F-Anschlusseinheit 7 und außerdem zur
Paketfluss-Weiterleitungssteuereinheit 10 geliefert werden.
Es kann durch die sich widersprechende Zahlinformation bestimmt
werden, dass ein Fehler existiert, sogar, obwohl das Ergebnis der
Fehlerermittlung, welches durch die CRC-Umrechnungseinheit 9 durchgeführt wurde,
zeigt, dass kein Fehler existiert. Das heißt, die I/F-Anschlusseinheit 7 und
die Paketfluss-Weitergabesteuereinheit 10 modifiziert das
Ergebnis der Fehlerermittlung der CRC-Umrechnungseinheit 9 und
beurteilt das Vorhandensein von Fehlern gemäß der sich widersprechenden
Zahlinformation vom Turbo-Decoder 6.
-
5 zeigt
ein Blockdiagramm des Turbo-Decoders 6 der Datenübertragungs-/Empfangsvorrichtung,
die in 4 gezeigt ist. Da die Turbo-Codierverarbeitung
eine Blockcodierverarbeitung ist, wird die Codier- und Decodierverarbeitung
für jeden Block
durchgeführt,
der aus Bits einer vorher festgelegten Anzahl besteht, der die Einheit
der Codier- und Decodierverarbeitung wird, und dieser Block wird ebenfalls
als Codeblock bezeichnet. Jede Größe der verschachtelten Daten
und der entschachtelten Daten ist allgemein gleich der Anzahl von
Bits eines Blocks. Die Paketgröße von Paketdaten
zur Datenkommunikation kann unabhängig von der Größe des Codeblocks
eingerichtet sein. Dagegen ist, um die Erläuterung zu vereinfachen, bei
der Ausführungsform
die Paketgröße von Paketdaten
gleich der Größe des Codeblocks,
und das Fehlerermittlungscodebit, welches durch die CRC erzeugt
wird, wird für
jedes Paket hinzugefügt.
-
In 5 zeigten
Turbo-Decoder wird ähnlich wie
bei dem Turbo-Decoder, der in 2 gezeigt
ist, die Decodierverarbeitung mehrere Male durch eine software-gestützte Ausgangs-Decodiereinheit
von mehreren Stufen wiederholt, um die Decodierverarbeitung wiederholt
durchzuführen.
Dagegen werden bei dem in 5 gezeigten
Aufbau die Daten, die dieses Mal decodiert werden, mit Daten verglichen, die
vorheriges Mal decodiert wurden, wobei beide bei der wiederholten
Decodierverarbeitung durch die software-gestützte Ausgangs-Decodiereinheit
decodiert werden, und der Wiederholungsbetrieb der Wiederholungsdecodierverarbeitung
wird gemäß dem Vergleichsergebnis
ausgesetzt. Der in 6 gezeigte Turbo-Decoder 6 weist
eine Entschachtelungseinrichtung 40 auf, die die Funktion
einer Entschachtelungseinrichtung 28 und die der Entschachtelungseinrichtung 130 hat,
die in 2 gezeigt ist. Ein Ausgangssignal von einem Addierer 37 der
software-gestützten
Ausgangs-Decodiereinheit 26 wird
zu der Entschachtelungseinrichtung 40 geliefert, und ein Ausgangssignal
von der Entschachtelungseinrichtung 40 wird zur MAP-Algorithmusschaltung 34 der Soft-Ausgangs-Decodiereinheit 24 in
der Eingangsstufe zurückgebracht
und die Verarbeitung wiederholt. Bei der Endverarbeitung wird das
Ausgangssignal von Entschachtelungseinrichtung 40 zu einem Addierer 44 geliefert,
wo ein Ausgangssignal von einer Verschachtelungseinrichtung 25 und
ein Ausgangssignal von einer Verschachtelungseinrichtung 27 mit
dem Ausgangssignal der Entschachtelungseinrichtung 40 addiert
werden. Somit ist die Arbeitsweise des Addierers der software-gestützten Ausgangs-Decodiereinheit 26 versetzt,
d.h., die Arbeitsweise des Subtrahierers der Ausgangssignale von der
Verschachtelungseinrichtung 25 und der Verschachtelungseinrichtung 27 von
einem Ausgangssignal einer MAP-Algorithmusschaltung 36 sind
versetzt, wodurch eine Wirkung gleich der in 2 erzielt
werden kann.
-
Gemäß 5 empfängt ein
Eingangsanschluss 21 ein Signal, welches durch in 1 gezeigten
Turbo-Codierer codiert ist. Tatsächlich
ist das Signal durch den Turbo-Codierer auf der Übertragungsseite codiert und
wird moduliert, um übertragen zu
werden und dann durch den Turbo-Decoder empfangen und demoduliert.
Das empfangene Signal wird zu einer Normierungsschaltung 22 geliefert,
die ausgebildet ist, den Signalpegel eines Signals, welches zu ihr
gesendet wird, geeignet einzustellen, und wird dann zu einem Seriell-Parallel-Umsetzer 23 geliefert.
-
Der
Seriell-Parallel-Umsetzer 23, der dem Parallel-Seriell-Umsetzer 102 entspricht,
der in 1 gezeigt ist, unterteilt das Empfangssignal in
das System-Bit Ds, das Paritäts-Bit
Da und das Paritäts-Bit Db.
Das getrennte System-Bit Ds wird zu einer softwaregestützten Ausgangs-Decodiereinheit 24 und
zu einer Verschachtelungseinrichtung 25 geliefert. Das getrennte
Paritäts-Bit
Da wird zur software-gestützten
Ausgangs-Decodiereinheit 24 geliefert. Das getrennte Paritäts-Bit Db
wird zur software-gestützten Ausgangs-Decodiereinheit 26 geliefert.
Ein Ausgangssignal von der software-gestützten Ausgangs-Decodiereinheit 24 wird
zur software-gestützten
Ausgangs-Decodiereinheit 26 über eine Verschachtelungseinrichtung 27 geliefert,
und ein Ausgangssignal von der software-gestützten Ausgangs-Decodiereinheit 26 wird
zurück
zur software-gestützten
Ausgangs-Decodiereinheit 24 über eine Entschachtelungseinrichtung 40 geführt. Diese Decodierverarbeitung
muss wiederholt durch die Codeblockeinheit durchgeführt werden,
d.h., wiederholte Decodierverarbeitung (Turbo-Decodierung) muss durchgeführt werden.
-
Eine
Zeitablauf-Steuerungsschaltung 33 steuert den Arbeitsablauf
des Seriell-Parallel-Umsetzers 23, der MAP-Algorithmusschaltungen 34 und 36,
der Verschachtelungseinrichtungen 25 und 27 bzw.
der Entschachtelungseinrichtung 40 des Turbo-Decoders.
-
Vorzeichenbits
eines Codeblocks des Ausgangssignals von der software-gestützten Ausgangs-Decodiereinheit 26 und
Vorzeichenbits eines Codeblocks des Ausgangssignals von der software-gestützten Ausgangs-Decodiereinheit 26,
die in der Entschachtelungseinrichtung 40 gespeichert sind,
die durch die vorherige Verarbeitung der Wiederholungsdecodierverarbeitung
erhalten wird, werden zu einer Vorzeichenbit-Vergleichsschaltung 46 geliefert,
wo sie miteinander verglichen werden. Das Vergleichsergebnis wird
zur Zeitablauf-Steuerungsschaltung 33 und zu einem Ausgangsanschluss 39 geliefert.
Wenn alle Vorzeichenbits der jeweiligen Eincodeblocks einander gleich
sind, beendet die Zeitablaufsteuerungsschaltung 33 den
Wiederholungsbetrieb der wiederholten Decodierverarbeitung, um resultierende
deco dierte Daten zu erlangen. Diese Arbeitsweise wird durch Anwenden
des Merkmals durchgeführt,
dass der Decoder stabil für
den Fall wird, dass die Decodierverarbeitung korrekt durchgeführt wird.
Wenn alle Vorzeichenbits von entsprechenden Eincodeblöcken einander
nicht gleich sind, wird der Wiederholungsbetrieb der Wiederholungsdecodierverarbeitung
mit der vorgeschriebenen vorher festgelegten Häufigkeit durchgeführt, um
resultierende decodierte Daten zu erlangen.
-
Endgültige decodierte
Daten von der software-gestützten
Ausgangs-Decodiereinheit 26 werden zu einer hardware-gestützten Entscheidungsschaltung 45 über die
Entschachtelungseinrichtung 40 und den Addierer 44 geliefert
und in Binärdaten
durch die software-gestützte Ausgangs-Decodiereinheit 26 umgesetzt,
wonach die resultierenden Daten zum Ausgangsanschluss 31 geliefert
werden, von dem sie gesendet werden. Bei der Ausgabe der resultierenden
decodierten Daten wird Information, welche die Anzahl von sich widersprechenden
Vorzeichenbits (sich widersprechende Zahlinformation) zeigt, von der
Vorzeichenbit-Vergleichsschaltung 46 von Ausgangsanschluss 39 ausgegeben.
Wenn alle Vorzeichenbits von entsprechenden Eincodeblocks, von denen
einer der aktuelle Zeitpunkt ist, und der andere der vorhergehende
Zeitpunkt ist, alle einander gleich sind und der Wiederholungsbetrieb
der Wiederholungsdecodierverarbeitung ausgesetzt wird, wird, wie oben
beschrieben, die Anzahl von sich widersprechenden Vorzeichenbits
zu null.
-
Die
software-gestützte
Ausgangs-Decodiereinheit 24 besteht aus der MAP-Algorithmusschaltung 34 und
einem Addierer 35. Die MAP-Algorithmusschaltung 34 empfängt das
System-Bit Ds und das Paritäts-Bit
Da vom Seriell-Parallel-Umsetzer 23 und ein Ausgangssignal
von der Entschachtelungseinrichtung 40. Ein Ausgangssignal
von der MAP-Algorithmusschaltung 34 wird zum Addierer 35 geliefert.
Der Addierer 35 subtrahiert das System-Bit Ds und das Ausgangssignal
von der Entschachtelungseinrichtung 40 vom Ausgangssignal
der MAP-Algorithmusschaltung 34. Ein Ausgangssignal vom
Addierer 35 wird zur Verschachtelungseinrichtung 27 geliefert.
-
Die
software-gestützte
Ausgangs-Decodiereinheit 26 besteht aus der MAP-Algorithmusschaltung 36 und
dem Addierer 37. Die MAP-Algorithmusschaltung 36 empfängt das
Ausgangssignal von der Verschachtelungseinrichtung 25,
das Paritäts-Bit
Db vom Seriell-Parallel-Umsetzer 23 und
das Ausgangssignal von der Verschachtelungseinrichtung 27.
Das Ausgangssignal von der MAP-Algorithmusschaltung 36 wird
zu einer hardware-gestützten
Entscheidungsschaltung 29 und zum Addierer 37 geliefert. Der
Addierer 37 subtrahiert das Ausgangssignal der Verschachtelungseinrichtung 25 und
das Ausgangssignal der Verschach telungseinrichtung 27 vom
Ausgangssignal der MAP-Algorithmusschaltung 36. Das Ausgangssignal
vom Addierer 37 wird zur Entschachtelungseinrichtung 28 geliefert.
-
Im
Turbo-Decoder, der in 5 gezeigt ist, ist der Addierer 44 zum
Versetzen der Arbeitsweise des Addierers 37 der software-gestützten Ausgangs-Decodiereinheit 26 an
einem Bereich angeordnet, wo die resultierenden decodierten Daten
erhalten werden. Damit kann ein Decodiereffekt gleich dem des Turbo-Decoders,
der in 2 gezeigt ist, realisiert werden, ohne die Entschachtelungseinrichtung
(30) zu verwenden, die in 2 gezeigt
ist, um die endgültigen
decodierten Daten zu erlangen. Das heißt, beim Erlangen der endgültigen decodierten Daten
addiert der Addierer 44 die Ausgangssignale von der Verschachtelungseinrichtung 25 und
der Verschachtelungseinrichtung 27 zum Ausgangssignal von
der Entschachtelungseinrichtung 40, um dadurch ein Ausgangssignal
zu erlangen, welches gleich den endgültigen decodierten Daten ist,
von der MAP-Algorithmusschaltung 36 der softwaregestützten Ausgangs-Decodiereinheit 26.
Dann sendet der Addierer 44 die endgültigen decodierten Daten zur hardware-gestützten Entscheidungsschaltung 45.
-
Da
außerdem
beim Turbo-Decoder, der in 5 gezeigt
ist, die Vorzeichenbits dieses Zeitpunkts und die Vorzeichenbits
des vorhergehenden Zeitpunkts, wobei beide in der Wiederholungsdecodierverarbeitung
erhalten werden und in der internen Entschachtelungseinrichtung
gespeichert sind, miteinander verglichen werden, wird der Wiederholungsbetrieb
der Wiederholungsdecodierverarbeitung in dem Fall ausgesetzt, wo
alle Vorzeichenbits einander gleich sind. Wenn somit ein geringer
Fehler erzeugt wird und alle Fehler während des Wiederholungsbetriebs
korrigiert werden, wird der Wiederholungsbetrieb der Wiederholungsdecodierverarbeitung
nicht die mit der vorgeschriebenen vorher festgelegten Häufigkeit
durchgeführt.
Damit kann die Schwierigkeit, Leistung zu verschwenden, vermieden werden.
Sogar, obwohl Fehlerermittlungscodes, beispielsweise die CRC nicht
dem Codeblock hinzugefügt
wird, kann der Zustand, bei dem ein Fehler nicht existiert, ermittelt
werden. Außerdem
ist eine Entschachtelungseinrichtung, die eigens für lediglich
die resultierenden decodierten Daten bestimmt ist (Entschachtelungseinrichtung 130 in 2)
nicht erforderlich, und die interne Entschachtelungseinrichtung (Entschachtelungseinrichtung 40 in 5)
wird auch zur Ausgabe der endgültigen
decodierten Daten verwendet, womit der Hardware-Aufwand des Turbo-Decoders
vermindert werden kann.
-
Anschließend wird
das Turbo-Decodieren, welches durch den in 5 gezeigten
Turbo-Decoder durchzuführen
ist, erläutert.
Bevor der Wiederholungsbetrieb der Wiederholungsdecodierverarbeitung
begonnen wird, speichert die Verschachtelungsanordnung 25 vor her
das System-Bit Ds des Eingangssignals. Die Entschachtelungsanordnung 40 wird
ebenfalls mit einem Anfangswert (null) initialisiert.
-
Anschließend wird
eine der Wiederholungsdecodierverarbeitungen der Turbo-Decodierung
kurz erläutert.
Zunächst
wird in der ersten Hälfte
der Verarbeitung der MAP-Algorithmus der MAP-Algorithmusschaltung 34 wirksam.
Beim Durchführen
der Verarbeitung des MAP-Algorithmus werden das System-Bit Ds, das
Paritäts-Bit
Da und das Ausgangssignal von der Entschachtelungsanordnung 40 verwendet.
Ein Ausgangssignal welches durch Durchführen der Verarbeitung des MAP-Algorithmus
erzeugt wird, wird über
den Addierer 35 zur Verschachtelungsanordnung 27 geliefert
und in der Verschachtelungsanordnung 27 gespeichert. Im
ersten Zeitpunkt der Wiederholungsdecodierverarbeitung wird, da
in der Verschachtelungsanordnung 27 keine Information gespeichert
wurde, der Anfangswert (null) verwendet. In der letzteren Hälfte der
Verarbeitung wird der MAP-Algorithmus der MAP-Algorithmusschaltung 36 wirksam.
Beim Durchführen
der Verarbeitung des MAP-Algorithmus werden das verschachtelte System-Bit
Ds von der Verschachtelungsanordnung 25, das Paritäts-Bit Db
vom Seriell-Parallel-Umsetzer 23 und das Ausgangssignal von
der Verschachtelungsanordnung 27 verwendet. Ein Ausgangssignal,
welches durch Durchführen
der Verarbeitung des MAP-Algorithmus erzeugt wird, wird über den
Addierer 37 zur Entschachtelungsanordnung 40 geliefert
und in der Entschachtelungsanordnung 40 gespeichert.
-
Beim
Speichern von Information, welche die resultierenden decodierten
Daten von der software-gestützten
Ausgangs-Decodiereinheit 26 zeigt, in der Entschachtelungsanordnung 40,
welche bei der Wiederholungsdecodierverarbeitung verwendet wird, vergleicht
außerdem
die Vorzeichenbit-Vergleichsschaltung 46 die Vorzeichenbits
der Information, welche die resultierenden decodierten Daten zeigt,
mit Vorzeichenbits der Information, die durch die vorherige Wiederholungsdecodierverarbeitung
erhalten wird und die in der Entschachtelungsanordnung 40 gespeichert
wurde. Wenn alle Vorzeichenbits der entsprechenden Eincodeblocks
einander gleich sind, sendet die Vorzeichenbit-Vergleichsschaltung 46 ein Signal,
welches das Ergebnis zeigt, zur Zeitablaufsteuerungsschaltung 33,
und die Zeitablaufsteuerungsschaltung 33 hört mit dem
Wiederholungsbetrieb der Widerholungsdecodierverarbeitung auf. Danach
wird das Ausgangssignal von der Entschachtelungsanordnung 40 zur
hardware-gestützten
Entscheidungsschaltung 45 über den Addierer 44 geliefert,
und ein Ausgangssignal (Vorzeichenbit), welche durch hardware-gestützte Entscheidungsschaltung 45 hard-entschieden
wurde, wird vom Ausgangsanschluss 31 als resultierende
decodierte Daten ausgegeben.
-
Wie
oben beschrieben wird, wenn alle Vorzeichenbits von entsprechenden
Eincodeblöcken nicht
einander gleich sind, der Wiederholungsbetrieb der Wiederholungsdecodier verarbeitung
mit der vorgeschriebenen vorher festgelegten Häufigkeit durchgeführt, um
resultierende decodierte Daten zu erzielen. Beim Ausgeben der resultierenden
decodierten Daten wird die Information, welche die Zahl der sich widersprechenden
Vorzeichenbits (sich widersprechende Anzahlinformation) zeigt, von
der Vorzeichenbit-Vergleichsschaltung 46 am Ausgangsanschluss 39 ausgegeben.
-
Die
resultierenden decodierten Daten vom Ausgangsanschluss 31 werden
zur I/F-Anschlusseinheit 7 und
zur CRC-Umrechnungseinheit 9, die in 4 gezeigt
ist, geliefert. Die sich widersprechende Zahlinformation vom Ausgangsanschluss 39 wird
zur I/F-Anschlusseinheit 7 und zur Paketfluss-Rückübertragungssteuerungseinheit 10,
die in 4 gezeigt ist, geliefert.
-
In
der I/F-Anschlusseinheit 7 wird, die in 4 gezeigt
ist, wenn bestimmt wird, dass das Fehlerermittlungsergebnis von
der CRC-Umrechnungseinheit 9 zeigt, dass kein Bitfehler
existiert, die Anzahl der sich widersprechenden Vorzeichenbits n
in der sich widersprechenden Anzahlinformation vom Turbo-Decoder 6 mit
einem vorher festgelegten Schwellenwert Th verglichen. Wenn die
Anzahl von sich widersprechenden Vorzeichenbits n gleich oder kleiner
als der Schwellenwert Th (n ≤ Th)
ist, wird bestimmt, dass es keinen Fehler in den Paketdaten gibt. Die
I/F-Anschlusseinheit 7 sendet empfangene Paketdaten zum
Datenanschluss 8, und die Paketfluss-Weitergabesteuerungseinheit 10 sendet
ein Signal, welches zeigt, dass die Paketdaten korrekt empfangen
wurden, zur Turbo-Codier- und Rahmenbildungseinheit 11 auf
der Übertragungsseite.
Dann wird das Signal zur Antenne 1 über die Verschachtelungs- und
Durchlöcherungseinheit 17,
die Modulationseinheit 12, die RF-Übertragungseinheit 13,
den Leistungsverstärker 14 und
die anteilig genutzte Einrichtung 2 geliefert. Die Antenne 1 überträgt das Signal
zur einer nicht gezeigten Übertragungseinrichtung.
Danach beginnt die Übertragungseinrichtung mit
der Übertragung
der nächsten
Paketdaten.
-
Wenn
dagegen bestimmt, dass das Fehlerermittlungsergebnis von der CRC-Weitergabeeinheit 9 zeigt,
dass ein Bitfehler existiert, rangiert die I/F-Anschlusseinheit
die empfangenen Paketdaten aus, und die Paketfluss-Weitergabesteuerungseinheit 10 sendet
ein Signal, welches die Weitergabe von Paketdaten anfordert, zur
Turbo-Codier- und Rahmenbildungseinheit 11 auf der Übertragungsseite.
Danach wird die Signalanforderungsweitergabe zur Antenne 1 über die
Verschachtelungs- und Durchlöcherungseinheit 17,
die Modulationseinheit 12, die RF-Übertragungseinheit 13,
den Leistungsverstärker 14 und
die anteilig genutzte Einrichtung 2 geliefert. Die Antenne 1 überträgt das Signal
zu einer Übertragungseinrichtung,
die nicht gezeigt ist. Danach überträgt die Übertragungseinrichtung
die Paketdaten zurück.
-
Obwohl
bei der Ausführungsform
bestimmt wird, dass das Fehlerermittlungsergebnis von der CRC-Umrechnungseinheit 9 zeigt,
dass kein Bitfehler existiert, wird, wenn die Zahl von sich widersprechenden
Vorzeichenbits n in der widersprechenden Anzahlinformation von dem
Turbo-Decoder 6 größer ist
als der Schwellenwert Th (n > Th)
bestimmt, dass ein Fehler in Paketdaten erzeugt ist. In diesem Fall rangiert
ebenfalls die I/F-Anschlusseinheit 7 die empfangenen Paketdaten
aus, und die Paketfluss-Weitergabesteuerungseinheit 10 sendet
ein Signal, welches die Weitergabe von Paketdaten anfordert, an die
Turbo-Codier- und Rahmenbildungseinheit 11.
-
Obwohl
bestimmt wurde, dass das Fehlerermittlungsergebnis von der CRC-Umrechnungseinheit 9 zeigt,
dass kein Bitfehler existiert, werden, da der erzeugte Fehler unter
einer bestimmten Wahrscheinlichkeit erzeugt wird, wenn die CRC-Fehlerermittlung durchgeführt wird,
wenn die Beurteilung durch Verwendung lediglich des Ergebnisses
der CRC-Fehlerermittlung durchgeführt wird, werden nicht korrekte Paketdaten
unerwünscht
zum Datenanschluss 8 geliefert. Dagegen wird bei der oben
beschriebenen Ausführungsform
die Anzahl von sich widersprechenden Vorzeichenbits n, welche die
Anzahl von unterschiedlichen Vorzeichenbits zwischen den Vorzeichenbits
dieses Zeitpunkts und den Vorzeichenbits des vorherigen Zeitpunkts
sind, wobei beide in der Wiederholungscodierverarbeitung erhalten
werden, mit dem vorher bestimmten Schwellenwert Th verglichen. Damit
kann eine Fehlbeurteilung der Fehlerermittlung durch den CRC vermieden
werden, und das Senden nicht korrekter Paketdaten zum Datenanschluss 8 kann
vermieden werden.
-
Wenn
beurteilt wird, dass kein Fehler in den decodierten Daten existiert,
einschließlich
der sich ausrangierten Zahlinformation, und bestimmt wird, dass
ein Fehler existiert, wird gewünscht,
dass das Datenweitergabeverfahren für die Datenweitergabeanforderung
gemäß der Zahl
von sich widersprechenden Vorzeichenbits in der sich widersprechenden
Zahlinformation geändert
wird. Anschließend wird
eine Ausführungsform,
bei der das Datenweitergabeverfahren gemäß der sich widersprechenden Zahlinformation
geändert
wird, mit Hilfe von 6 erläutert.
-
6 zeigt
ein Blockdiagramm eines anderen Beispiels der Datenübertragungs-/Empfangsvorrichtung
nach der vorliegenden Erfindung, bei dem das Datenweitergabeverfahren
gemäß der sich
widersprechenden Zahlinformation geändert wird. In 6 sind
Teile oder Komponenten, die denjenigen der Datenübertragungs-/Empfangsvorrichtung,
die in 4 gezeigt ist, ähnlich sind, mit den gleichen
Bezugszeichen versehen, so dass auf eine ausführliche Erläuterung dafür verzichtet wird. Die grundsätzliche Arbeitsweise
des in 6 gezeigten Datenübertragungs-/Empfangsvorrichtung
ist ähnlich
der in 4 gezeigten Daten übertragungs-/Empfangsvorrichtung,
wobei jedoch die Arbeitsweise der I/F-Anschlusseinheit 7,
der Paketfluss-Weitergabesteuerungseinheit 10 und der Entschachtelungs-
und Entlöcherungseinheit 16 verschieden
sind.
-
Das
heißt,
obwohl bestimmt wird, dass das Fehlerermittlungsergebnis von der
CRC-Umrechnungseinheit 9 zeigt, dass kein Bitfehler existiert, wenn
die Anzahl sich widersprechender Vorzeichenbits n in der sich widersprechenden
Zahlinformation vom Turbo-Decoder größer ist als der Schwellenwert Th
(n > Th), sendet die
Paketfluss-Weitergabesteuerungseinheit 10 ein Signal, welches
die Weitergabe von Paketdaten anfordert, zur Turbo-Codierungs- und
Rahmenbildungseinheit 11. In diesem Zeitpunkt wird die
Anzahl von sich widersprechenden Vorzeichenbits n mit einem anderen
vorher festgelegten Schwellenwert Tha verglichen, und der Inhalt
der Weitergabeanforderung wird gemäß dem Vergleichsergebnis geändert. In
dem Fall beispielsweise, wo die Anzahl von sich widersprechenden
Vorzeichenbits n gleich oder kleiner als der Schwellenwert Tha (n ≤ Tha) ist,
sendet die Paketfluss-Weitergabesteuerungseinheit 10 ein
Signal, welches Weitergabe von lediglich Daten anfordert, die in
der Durchlöcherungsverarbeitung
gelöscht
wurden, zur Turbo-Codier- und Rahmenbildungseinheit 11.
In dem dagegen, wenn die Anzahl von sich widersprechenden Vorzeichenbits
n größer als
der Schwellenwert Tha (n > Tha)
ist, sendet die Paketfluss-Weitergabesteuerungseinheit 10 ein
Signal, welches die Weitergabe aller Paketdaten (ursprüngliche
durchlöcherte
Codes) anfordert, die vorher geliefert wurden, oder aller Daten,
bevor diese bei der Durchlöcherungsverarbeitung
gelöscht
wurden, zur Turbo-Codier- und Rahmenbildungseinheit 11.
-
In
dem Fall, wo lediglich Daten, welche bei der Durchlöcherungsverarbeitung
gelöscht
werden sollen, weitergegeben werden sollen, kombiniert die Entschachtelungs-
und Entlöcherungseinheit 16 die Daten,
die in der Durchlöcherungsverarbeitung
gelöscht
wurden und die vorher übertragenen
Paketdaten (Durchlöcherungscodes),
und decodiert die kombinierten Daten als Daten, die nicht durchlöchert sind, um
dadurch die Fehlerkorrekturfähigkeit
zu verbessern. Damit kann die Erzeugung eines Fehlers unterdrückt werden.
Allgemein beträgt
die Anzahl von Bits, welche durch die Durchlöcherungsverarbeitungen gelöscht werden,
mehrere % bis 20% aller fehler-korrigierten Codierpaketdaten, was
kleiner ist als die der Bits aller Paketdaten. Damit kann die Datenübertragungswirksamkeit
verbessert werden.
-
Wenn
dagegen die Zahl von sich widersprechenden Vorzeichenbits n größer als
der Schwellenwert Tha ist, kann die Anzahl von sich widersprechenden
Vorzeichenbits n mit einem anderen Schwellenwert Thb verglichen
werden, der größer ist als
der Schwellenwert Tha ist (Thb > Tha).
Wenn die Anzahl von sich widersprechenden Vorzeichenbits n kleiner oder
kleiner als der Schwellenwert Thb (Tha < n ≤ Thb)
ist, kann die Paketfluss-Weitergabesteuerungseinheit 10 ein
Signal liefern, welches die Weitergabe von Daten anfordert, welche
die gleichen Daten sind wie die vorher übertragenen Paketdaten (Durchlöcherungscodes).
Wenn die Anzahl der sich widersprechenden Vorzeichenbits n größer als
der Schwellenwert Thb (n > Thb)
ist, kann die Paketfluss-Weitergabesteuerungseinheit 10 ein
Signal senden, welches die Weitergabe aller Daten, die nicht durchlöchert sind,
anfordert.
-
Danach
führt die
Paketfluss-Weitergabesteuerungseinheit 10 die Schaltsteuerung
so durch, um die Verarbeitung der Entschachtelungs- und Entdurchlöcherungseinheit 16 gemäß dem Inhalt
der Weitergabeanforderung zu ändern
(sie führt
die Entschachtelungs- und Entdurchlöcherungsverarbeitung gemäß den weiterzugebenden
Daten durch).
-
Außerdem gibt
es eine weitere Ausführungsform,
bei der beim Ermitteln, ob Fehler existieren oder nicht, lediglich
das Ermittlungsergebnis der CRC-Umrechnungseinheit 9 verwendet
wird. In dem Fall lediglich, wo ein Fehler durch die CRC ermittelt wird,
wird ein Signal, welches Weitergabe anfordert geliefert, und der
Inhalt der Weitergabeanforderung wird gemäß der Anzahl von sich widersprechenden Vorzeichenbits
n geändert.
In diesem Fall kann die Fehlerermittlung durch den CRC damit nicht
fertig werden. Dagegen kann die Datenmenge, die weitergegeben werden
soll, gemäß dem Grad
des Codefehlers eingestellt werden. Damit kann die Wirksamkeit einer
Datenübertragung
verbessert werden.
-
7 zeigt
ein Blockdiagramm eines weiteren Beispiels des Turbo-Decoders 6,
der bei der Datenübertragungs-/Empfangsvorrichtung
verwendet werden kann, welche in 4 und 6 gezeigt
ist.
-
Bei
der Ausführungsform
ist eine Entschachtelungsanordnung 28 zur Weitergabe des
Ausgangssignals von der letzten Stufe der software-gestützten Ausgangs-Decodiereinheiten 24 und 26 von
mehreren Stufen zur Eingangsstufe und eine Entschachtelungsanordnung 30 zum
Erzielen der resultierenden decodierten Daten, um die Daten auszugeben,
separat angeordnet. Das Ausgangssignal von der MAP-Algorithmusschaltung 36 der
softwaregestützten
Ausgangs-Decodiereinheit 26 wird zum Ausgangsanschluss 31 über die
hardware-gestützte Entscheidungsschaltung 29 und
die Entschachtelungsvorrichtung 30 geliefert und davon
ausgegeben. Die decodierten Daten (Vorzeichenbits) von hardware-gestützten Entscheidungsschaltung 29 werden außerdem zur
Vorzeichenbit-Vergleichsschaltung 38 geliefert. Die Vorzeichenbit-Vergleichsschaltung 38 vergleicht
die Vorzeichenbits des vorherigen Zeitpunkts, die in der Entschachtelungsanordnung 30 gespeichert
sind, mit den Vorzeichenbits des vorherigen Zeitpunkts, welche von
der hardware-gestützten Entscheidungsschaltung 29 sind,
wobei beide in der Widerholungsdecodierungsverarbeitung erhalten werden.
Wenn alle Vorzeichenbits der jeweiligen Eincodeblöcke einander
gleich sind, sendet die Vorzeichenbit-Vergleichsschaltung 46 ein
Signal, welches das Ergebnis der Zeitablaufsteuerungsschaltung 33 zeigt,
und die Zeitablaufsteuerungsschaltung 33 beendet den Wiederholungsbetrieb
der Wiederholungsdecodierungsverarbeitung. Wenn alle Vorzeichenbits von
entsprechenden Eincodeblöcken
nicht einander gleich sind, wird der Wiederholungsbetrieb der Wiederholungsdecodierverarbeitung
mit der vorher festgelegten vorbestimmten Häufigkeit durchgeführt, und die
endgültigen
decodierten Daten werden zum Ausgangsanschluss 31 über die
Entschachtelungsvorrichtung 30 geliefert und davon ausgegeben,
während
die Anzahl von sich widersprechenden Vorzeichenbits vom Ausgangsanschluss 39 als
sich widersprechende Anzahlinformation ausgegeben werden. In 7 sind
die Teile oder Komponenten, die ähnlich
denen des Turbo-Decoders sind, der in 5 gezeigt
ist, mit den gleichen Bezugszeichen versehen, so dass auf eine ausführliche
Erläuterung
dafür verzichtet
wird. Die sich widersprechende Zahlinformation vom Ausgangsanschluss 39 wird
dazu verwendet, um die Existenz eines endgültigen Fehlers der Fehlerermittlung
zu beurteilen, oder um das Datenweitergabeverfahren zu ändern.
-
Die
vorliegende Erfindung ist nicht auf die oben beschriebenen Ausführungsformen
beschränkt.
Die beschriebene Vorrichtung nutzt einen Zustand aus, wo alle Vorzeichenbits
von entsprechenden Eincodeblöcken
einander gleich sind, um den Wiederholungsbetrieb der Wiederholungsdecodierungsverarbeitung
auszusetzen. Dagegen kann der Wiederholungsbetrieb der Widerholungsdecodierungsverarbeitung
ausgesetzt werden, wenn die Anzahl von sich widersprechenden Bits
sehr klein wird, beispielsweise gleich oder kleiner als 5 Bits.
Außerdem
ist der Aufbau des Turbo-Decoders nicht auf den begrenzt, der in 5 oder 7 gezeigt
ist. Es können
verschiedene Modifikationen durchgeführt werden, ohne den Rahmen
der vorliegenden Erfindung zu erlassen.
-
Gemäß dem vorliegenden
Verfahren wird ein Decodierverfahren zum Decodieren von parallel-verketteten
codierten Daten bereitgestellt, wobei die Decodierverarbeitung wiederholt
unter Verwendung einer software-gestützten Ausgangs-Decodiereinrichtung
mehrerer Stufen durchgeführt
wird, wobei das Decodierverfahren die Schritte aufweist, Daten zu vergleichen,
welche in diesem Zeitpunkt decodiert werden, mit Daten, welche im
vorherigen Zeitpunkt decodiert werden, wobei beide in der Wiederholungsdecodierungsverarbeitung
decodiert werden, Fehler von der resultierenden decodierten Daten
unter Verwendung von Fehlerermittlungscodes ermittelt werden und
schließlich
beurteilt wird, ob ein Fehler gemäß den Fehlerermittlungsausgangsdaten
erzeugt wird, die im Fehlerermittlungsschritt erhalten werden, und
die Ausgangsdaten, die im Vergleichsschritt erhalten werden, verglichen
werden. Damit kann ein Fehler, der unter einer bestimmten Wahrscheinlichkeit
bei der Durchführung
der CRC-Fehlerermittlung erzeugt wird, reduziert werden.
-
Gemäß dem vorliegenden
Verfahren wird außerdem
ein Datenempfangsverfahren bereitgestellt, welches eine Funktion
hat, parallel-verkettete codierte Daten zu empfangen und die Daten
wiederholt unter Verwendung einer software-gestützten Ausgangs-Decodierungseinrichtung
mit mehreren Stufen zu decodieren, welches die Schritte aufweist, die
Daten, welche in diesem Zeitpunkt decodiert werden, mit Daten, welche
im vorherigen Zeitpunkt decodiert werden, zu vergleichen, wobei
beide bei der Wiederholungsdecodierungsverarbeitung decodiert werden,
Fehler von resultierenden decodierten Daten unter Verwendung von
Fehlerermittlungscodes zu ermitteln, und einen Weitergabesteuerungsschritt, um
ein Signal, welches Weiterleitung von Daten anfordert, gemäß den Vergleichsausgangsdaten,
die im Vergleichsschritt erhalten werden, zu liefern, und Fehlerermittlungsausgangsdaten,
die im Fehlerermittlungsschritt erhalten werden. Damit kann die
Datenmenge, die weitergeleitet werden soll, gemäß dem Grad des Codefehlers
eingestellt werden. Somit kann die Wirksamkeit einer Datenübertragung
verbessert werden.
-
Der
Vergleichsschritt erlangt die Anzahl von sich widersprechenden Vorzeichenbits,
wobei die Vorzeichenbits dieses Zeitpunkts mit Vorzeichenbits des
vorherigen Zeitpunkts verglichen werden, wobei die Vorzeichenbits
in den Ausgangsdaten von der letzten Stufe der Soft-Ausgangs-Decodiereinrichtung von
mehreren Stufen enthalten sind. Wenn die Anzahl von sich widersprechenden
Vorzeichenbits größer ist
als ein vorher festgelegter Wert, bestimmt der Beurteilungsschritt,
dass ein Fehler erzeugt wird, sogar dann, obwohl das Fehlerermittlungsergebnis zeigt,
dass kein Fehler erzeugt wird, und ein Signal, welches Weitergabe
von Daten anfordert, wird geliefert. Damit kann das nicht korrekte
Liefern von Paketdaten vermieden werden.
-
Wenn
die empfangenen codierten Daten durchlöcherte Codes sind, die einen
Bereich von Daten haben, der auf der Codierseite gelöscht wurde, sendet
der Weitergabesteuerungsschritt das Signal, welches Weitergabe von
Daten anfordert, durch Auswählen
eines von der Weitergabe von gelöschten
Daten, Weitergabe von ursprünglichen
durchlöcherten Codes
und Weitergabe von allen Daten, bevor sie gelöscht werden, gemäß der Anzahl
von sich widersprechenden Vorzeichenbits, die im Vergleichsschritt erhalten
werden. Damit kann die weiterzugebende Datenmenge unterdrückt werden.
Damit kann die Wirksamkeit einer Datenübertragung verbessert werden.