-
HINTERGRUND
DER ERFINDUNG
-
Gebiet der
Erfindung
-
Die vorliegende Erfindung bezieht
sich auf eine Datenübermittlungsvorrichtung,
die für
eine Datenübermittlung
in einer Kommunikationsumgebung geeignet ist, in der leicht Kodefehler
auftreten.
-
Stand der
Technik
-
In einer Datenübermittlung, die eine Kommunikationsleitung
verwendet, in der leicht Kodefehler auftreten, tritt in einer Empfängervorrichtung
oft ein Datenmangel oder ein Fehlempfangen in Folge von Kodefehlern
auf, und dieses verschlechtert eine Empfangsqualität. Um dieses
Problem zu überwinden,
werden technische Mittel, wie ein Wiederübermittlungssteuerungsverfahren
oder eine Fehlerkorrekturdekodierung verwendet. Diese technischen Mittel
werden im Detail zum Beispiel in einer Druckschrift offenbart, verfasst
von Shu Lin und Daniel J. Costello unter der Überschrift „Error Control Coding Fundamentals
and Applications" Prentice
Hall 1983.
-
Ein Wiederübermittlungssteuerungsverfahren
ist ein Verfahren, in dem eine Übermittlungsvorrichtung
Duplikatdaten in Antwort auf einen Empfangsfehlerbericht von einer
Empfängervorrichtung übermittelt.
Das Wiederübermittlungssteuerungsverfahren
ist signifikant effektiv für
eine Datenkommunikation, in der viele Kodefehler bei einem Burst
auftreten. Das Wiederübermittlungssteuerungsverfahren erfordert
jedoch einen Rücklaufkanal,
durch den die Empfängervorrichtung
den Empfangsfehlerbericht zu der Übermittlungsvorrichtung sendet,
und daher kann das Verfahren nicht bei Datenübermittlungsvorrichtungen verwendet
werden, die keinen Rücklaufkanal
aufweisen.
-
Eine Fehlerkorrekturkodierung ist
ein Verfahren, in dem eine Empfängervorrichtung
Kodefehler von empfangenen Daten korrigiert und daher erfordert
das Verfahren keinerlei Rücklaufkanal.
Es gibt jedoch einen Fall, in dem viele Kodefehler bei einem Burst
in einer Kommunikationsleitung auftreten und die Kodefehler die
Kodefehlerkorrekturmöglichkeit überschreiten.
In einem derartigen Fall werden ein Teil der Kodefehler in der Kodefehlerkorrekturdekodierung
nicht korrigiert und einige Kodefehler verbleiben in den dekodierten
Daten. Um den verbleibenden Fehler zu reduzieren, wird ein Verwenden
von einem Interleave (Verschachteln) benötigt. Wenn jedoch ein Interleave
bei einer Datenübermittlung
verwendet wird, korrespondiert eine Fehlerkorrekturmöglichkeit mit
der Anzahl von Kodefehlern, von denen erwartet wird, dass sie in
einem Abschnitt eingeschlossen sind, auf dem der Interleave ausgeführt wird.
Daher ist eine sehr hohe Redundanz für die Fehlerkorrekturkodierung
notwendig. Weiterhin ist es unmöglich,
alle der empfangenen Daten korrekt zu dekodieren, wenn ein schwerer
Burstfehler auftritt, der die Fehlerkorrekturmöglichkeit in einem Teil eines
Abschnitts, überschreitet,
auf dem der Interleave ausgeführt wird,
auch wenn der andere Teil des Abschnitts keine Kodefehler einschließt.
-
Um die übermittelten Daten vor Kodefehlern zu
schützen,
ohne einen Rücklaufkanal
zu verwenden, wird ein Verfahren als ein effektives Verfahren benötigt, bei
dem Daten und ein zu den Daten hinzugefügter Fehlerdetektierungskode
wiederholt zu einer diskreten Mehrzahl von Zeiten übermittelt
werden. Bei diesem Verfahren empfängt die Empfängervorrichtung
gleiche Daten zu einer Mehrzahl diskreter Zeiten, und die Empfängervorrichtung
führt eine Fehlerdetektierung
auf allen empfangenen Daten durch, die die gleichen Daten sind,
wenn sie keinen Kodefehler aufweisen, und dekodiert eine der empfangenen
Datenanordnungen, bei der kein Kodefehler detektiert wird.
-
Die konventionellen Datenübermittlungsverfahren
sind wie oben beschrieben. In der konventionellen Technik ist es
recht schwierig, eine effektive Datenübermittlung bereitzustellen,
in der übermittelte Daten
ohne Verwenden eines Rücklaufkanals
vor Burstkodefehlern und zufälligen
Kodefehlern geschützt
werden können.
Der Grund wird genauer wie folgt beschrieben:
-
Um übermittelte Daten vor Burstkodefehlern zu
schützen,
kann es effektiv sein, das oben beschriebene Verfahren zum Übertragen
gleicher Daten zu einer Mehrzahl diskreter Zeiten zu verwenden.
-
Wenn gleiche Daten zu einer Mehrzahl
von Zeiten gemäß des Verfahrens übermittelt
werden, kann ein Teil der Daten zu der Empfängervorrichtung ohne Kodefehler übermittelt
werden. Daher ist es möglich,
zu vermeiden, dass die Übermittlungsqualität durch
einen Datenmangel in Folge von Kodefehlern verschlechtert wird,
wenn derartige Daten, die keinen Kodefehler aufweisen, übermittelt
werden können
und die somit übermittelten
Daten dekodiert sind.
-
In einigen Fällen treten jedoch zufällige Kodefehler
in all den Daten auf, die diskret zu einer Mehrzahl von Zeiten gemäß des obigen
Verfahrens übermittelt
werden. In derartigen Fällen
kann die Empfängervorrichtung
die Kodefehler von all den empfangenen Daten detektieren, weil alle
Daten die Fehlerdetektierungskodes aufweisen. Die Empfängervorrichtung
kann jedoch die Kodefehler nicht korrigieren. Daher werden in diesem
Fall Daten, die keinen Kodefehler aufweisen, insgesamt nicht in
der Empfängervorrichtung
erhalten, auch wenn alle empfangenen Daten kleine zufällige Kodefehler
einschließen.
-
Um dieses Problem zu überwinden,
wird ein Verfahren benötigt,
in dem Fehlerkorrekturkodierung auf allen Daten ausgeführt wird,
die diskret zu einer Mehrzahl von Zeiten übermittelt werden, und die
Fehler der Daten werden in der Empfängervorrichtung korrigiert.
Wenn dieses Verfahren verwendet wird, ist jedoch eine sehr hohe
Redundanz erforderlich, um genug Fehlerkorrekturmöglichkeit
zu erhalten. Das Verwenden des Verfahrens zum duplizierten Übermitteln
gleicher Daten verschlechtert die Übermittlungseffizienz erheblich.
Das Verwenden einer Fehlerkorrekturkodierung verschlechtert jedoch
die Übermittlungseffizient
in viel erheblicherem Ausmaß und
daher verschlechtert sich die Übermittlungseffizient
signifikant.
-
Weiterhin weist dieses Verfahren
ein Problem auf, dass die Steuerung der Redundanz eine Steuerung
einer Frequenz erfordert, bei der gleiche Daten übermittelt werden, und es gibt
kein Verfahren, ausgenommen das Verfahren zum Steuern einer Frequenz,
und daher mangelt es dem Verfahren an Flexibilität einer Redundanzanpassung,
in dem die Redundanz nur an Integrale der der Originaldaten angepasst
werden kann.
-
In der europäischen Patentanmeldung 0 680 034
A1 wird ein mobiles Funkkommunikationssystem beschrieben, das einen
Klang- oder Sprachaktivitätsdetektor
und eine Faltungskodierung verwendet. In dem Übermittlungsabschnitt dieses
Systems wird die Übermittlung
der Klangdaten gestoppt und anstelle dessen werden Endbits übermittelt,
wenn ein Klangabwesenheitsabschnitt in zu übermittelnden Klangdaten detektiert
wird. Vor einer Übermittlung
wird bei den Klangdaten und bei den Endbits eine Faltungskodierung
durchgeführt.
Die Dekodierung wird für eine
Dekodierung des Faltungskodes verwendet.
-
Zusammenfassung
der Erfindung
-
Unter Betrachtung des obigen ist
es eine erste Aufgabe der vorliegenden Erfindung, eine Datenübermittlungsvorrichtung
bereitzustellen, die eine Datenübermittlung
ausführen
kann, die die übermittelten
Daten vor bei einem Burst auftretenden Kodefehlern und vor zufällig auftretenden
Kodefehlern schützt,
ohne eine Redundanz einer Kodierung zu erhöhen. Es ist eine zweite Aufgabe
der vorliegenden Erfindung, eine Datenübermittlungsvorrichtung bereitzustellen,
die die erste Aufgabe lösen
kann und Daten mit einer gewünschten
Redundanz übertragen kann,
die eine durch nicht-integer Zahlen definierte Redundanz sein kann.
-
Gemäß einem ersten Aspekt der vorliegenden
Erfindung wird eine Datenübermittlungsvorrichtung
bereitgestellt, wie in Anspruch 1 zitiert. Zweite und dritte Aspekte
der Erfindung beziehen sich auf entsprechende Datenübermittlungsvorrichtungen
gemäß der unabhängigen Ansprüche 10 und
18.
-
Verschiedene Realisierungen dieser
Vorrichtungen sind in den Unteransprüchen abgedeckt.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlungsvorrichtung einer
Datenübermittlungsvorrichtung
gemäß einem
ersten bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung zeigt.
-
2 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung
der Datenübermittlungsvorrichtung
gemäß des ersten
bevorzugten Ausführungsbeispiels
zeigt.
-
3 zeigt
ein Beispiel von von der Übermittlervorrichtung übertragenen
Daten.
-
4 zeigt
eine Datenverarbeitung, die in einigen Abschnitten der Übermittlervorrichtung
und der Empfängervorrichtung
ausgeführt
wird.
-
5 ist
ein Blockdiagramm, das eine Konfiguration einer Übermittlervorrichtung einer
Datenübermittlungsvorrichtung
gemäß einem
zweiten bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung zeigt.
-
6 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung
der Datenübermittlungsvorrichtung
gemäß des zweiten
bevorzugten Ausführungsbeispiels
zeigt.
-
7 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung einer
Datenübermittlungsvorrichtung
gemäß eines
dritten bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung zeigt.
-
8 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung
der Datenübermittlungsvorrichtung
gemäß des dritten
bevorzugten Ausführungsbeispiels
zeigt.
-
9 zeigt
eine Datenverarbeitung, die in einigen Abschnitten der Übertragervorrichtung
und der Empfängervorrichtung
ausgeführt
wird.
-
10 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung einer
Datenübermittlungsvorrichtung
gemäß einem
vierten bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung zeigt.
-
11 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung
der Datenübermittlungsvorrichtung
gemäß des vierten
bevorzugten Ausführungsbeispiels
zeigt.
-
12 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung einer
Datenübermittlungsvorrichtung
gemäß einem
fünften
bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung zeigt.
-
13 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung
und der Datenübermittlungsvorrichtung
gemäß dem fünften bevorzugten
Ausführungsbeispiel
zeigt.
-
14 zeigt
eine Datenverarbeitung, die in einigen Abschnitten der Übermittlervorrichtung
und der Empfängervorrichtung
ausgeführt
wird.
-
15 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung der Datenübermittlungsvorrichtung
gemäß einem
sechsten bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung zeigt.
-
16 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung
der Datenübermittlungsvorrichtung
gemäß dem sechsten
bevorzugten Ausführungsbeispiel
zeigt.
-
17 ist
ein Blockdiagramm, das die Konfiguration der Übermittlervorrichtung einer
Datenübermittlungsvorrichtung
gemäß einem
siebten bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung zeigt.
-
18 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung
der Datenübermittlungsvorrichtung
gemäß dem siebten
bevorzugten Ausführungsbeispiel
zeigt.
-
19 ist
ein Blockdiagramm, das die Konfiguration eines Datendekodierers
der Empfängervorrichtung
zeigt.
-
20 zeigt
eine Datenverarbeitung, die in einigen Abschnitten der Übermittlervorrichtung
und der Empfängervorrichtung
ausgeführt
wird.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsbeispiele
-
A. Erstes bevorzugtes
Ausführungsbeispiel
-
1 zeigt
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung 101 einer
Datenübermittlungsvorrichtung
gemäß eines
ersten bevorzugten Ausführungsbeispieles
der vorliegenden Erfindung zeigt. 2 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung 102 der Datenübermittlungsvorrichtung
zeigt. 3 zeigt ein Beispiel
von von der Übermittlervorrichtung 101 übertragenen
Daten. 4 zeigt eine
Datenverarbeitung, die in einigen Abschnitten der Übermittlervorrichtung 101 und
der Empfängervorrichtung 102 ausgeführt wird.
-
Allem voran wird die Beschreibung
im Hinblick auf die Übermittlervorrichtung 101 gegeben. Durch
eine Eingangsklemme 111 eingegebene Daten werden über einen
Puffer 112 Kodiereinheit für Kodiereinheit zu einem Datenseparator 113 gesendet.
Der Datenseparator 113 teilt die Daten von dem Puffer 112 in
Daten, die Schutz gegen Kodefehler erfordern, und Daten, die keinen
Schutz erfordern. Der Datenseparator 113 liefert dann die
Daten, die Schutz erfordern, zu einem CRC Kodierer 114 als Originaldaten
und liefert die Daten, die keinen Schutz erfordern, zu einem Multiplexer 118.
Die Darstellung (a) von 4 zeigt
die zu dem CRC Kodierer 114 gelieferten Originaldaten.
-
Mehrere Verfahren können verwendet
werden zum Teilen übertragener
Daten in Daten, die Schutz erfordern, und Daten, die keinen Schutz
erfordern, die zu Bestimmen sind. Zum Beispiel wird bei Übertragen
von Daten und Audiosignalen im Zeitmultiplexsystem ein Verfahren
benötigt,
mit dem die Daten als die Schutz erfordernde Daten behandelt werden,
und die Audiosignale als die keinen Schutz erfordernde Daten behandelt
werden. In dem Fall, bei dem Daten und ein Audiosignal in einem
vorbestimmten Muster übertragen
werden, kann der Datenseparator 113 ausgelegt sein, um
die von dem Puffer 112 gelieferten Daten und das Audiosignal
gemäß dem Muster
zu teilen. Bei Übertragen
von hierarchischen Daten, wie bildkodierte Daten, kann ein Verfahren verwendet
werden zum Behandeln von Headerinformation der Daten als Schutz
erfordernde Daten und zum Behandeln der anderen Information als
keinen Schutz erfordernde Daten. In diesem Fall ist es möglich, den
Headerteil der Daten von dem anderen Teil gemäß der Kodierungsyntax der Daten
zu unterscheiden. Daher nimmt dieser Fall an, das die Übertragervorrichtung
einen Datenseparator aufweist, der eine Eigenschaft zum Interpretieren
der Kodiersytax aufweist.
-
Der CRC Kodierer 114 fügt einen
CRC (zyklische Redundanzprüfung,
engl.: Cyclic Redundancy Check) Kode zu den von dem Datenseparator 113 gelieferten
Originaldaten hinzu, wie in der Darstellung (b) von 4 gezeigt ist. Ein Endbithinzufüger 115 fügt Endbits
zu den ausgegebenen Daten des CRC Kodierers 114 hinzu,
um eine Faltungskodierung zu beenden und gibt Daten aus, einschließlich der
Originaldaten des CRC Kodes und der Endbits, wie in der Darstellung
(c) von 4 gezeigt ist.
Die Endbits haben Bitlängen,
die mit einer begrenzenden Länge
von einer Faltungsdekodierung korrespondieren, die durch einen Faltungskodierer 116 ausgeführt wird,
der an der Ausgangsseite des Endbithinzufügers 115 bereitgestellt
wird.
-
Der Faltungskodierer 116 ist
ein Mittel zum Ausführen
von Fehlerkorrekturkodierung bei einem Kodierverhältnis von
1/2 auf die von dem Endbithinzufüger 115 gelieferten
Daten. Genauer gesagt, dient der Faltungskodierer 116 in
dem bevorzugten Ausführungsbeispiel
zum Ausführen
einer Faltung der von dem Endbithinzufüger 115 gelieferten
Daten und gibt Faltungskodierte Daten aus, die eine Redundanz von
1/2 aufweisen, wie in der Darstellung (d) von 4 gezeigt ist.
-
Ein Kodeteiler 117 teilt
die Faltungskodedaten durch zwei. Einige Verfahren werden in Bezug
auf die Teilungsoperation benötigt.
In einem Verfahren des bevorzugten Ausführungsbeispiels teilt der Kodeteiler 117 die
von dem Faltungskodierer 116 gelieferten faltungskodierten
Daten in zwei Teile, die jeweils mit zwei Generator-Polynominalausdrücken korrespondieren.
Sozusagen teilt der Kodeteiler 117 die von dem Faltungskodierer
gelieferten faltungskodierten Daten in einen Teil, der mit dem Ausdruck
A korrespondiert, und einen Teil, der mit dem Ausdruck B korrespondiert,
wenn der Faltungskodierer 116 eine Faltung unter Verwenden
der Generator-Polynominalausdrücke
A und B ausführt,
wie in der Darstellung (e) von 4 gezeigt
ist.
-
Der Multiplexer 118 multiplext
die kodierten Daten, die mit den Generator-Polynominalausdrücken A und
B korrespondieren und von dem Kodeteiler 117 ausgegeben
werden, und die keinen Schutz erfordernden Daten, die von dem Datenseparator 113 ausgegeben
werden. Der Multiplexer 118 gibt dann Daten aus, die somit über eine
Ausgangsklemme 119 auf eine Kommunikationsleitung gemultiplext werden.
Das Multiplexen wird so ausgeführt,
dass die Daten, die keinen Schutz erfordern, zwischen die kodierten
Daten eingefügt
werden, die mit den Generator-Polynominalausdrücken A und B korrespondieren,
wie in 3 gezeigt ist,
und die kodierten Daten werden auf einer Zeitachse von einander
separiert, um nicht den gleichen Burstfehler zu treffen.
-
Als nächstes wird eine Beschreibung
im Hinblick auf die Empfängervorrichtung 102 gegeben.
Die von der Übertragervorrichtung 101 übertragenen
Daten werden, wie oben beschrieben, an eine Eingangsklemme 121 der Empfängervorrichtung 102 übertragen.
Die somit übertragenen
Daten werden über
einen Puffer 122 Dekodierungseinheit für Dekodierungseinheit an einen
Demultiplexer 123 geliefert und die Daten werden durch
den Demultiplexer 123 in die zwei kodierten Datenanordnungen
und die keinen Schutz erfordernden Daten geteilt. Die Daten, die
keinen Schutz erfordern, werden zu einem Datenmischer 128 gesendet.
Bei den zwei kodierten Datenanordnungen korrespondiert eine mit
dem Generator-Polynominalausdruck
A und die andere korrespondiert mit dem Generator-Polynominalausdruck
B. Die mit dem Generator-Polynominalausdruck
korrespondierenden kodierten Daten werden zu einem Faltungkodedekodierer 125A gesendet.
Die mit dem Generator-Polynominalausdruck B korrespondierenden kodierten
Daten werden zu einem Faltungskodedekodierer 125B gesendet.
Weiterhin werden die zwei kodierten Datenanordnungen, die mit den
Generator-Polynominalausdrücken
A und B korrespondieren, zu einem Kodemischer 124 gesendet.
-
Der Faltungskodedekodierer 125A führt ein Dekodieren
der von dem Demultiplexer 123 gesendeten kodierten Daten,
korrespondierend mit dem Generator-Polynominalausdruck A aus und
erzeugt dann dekodierte Daten, korrespondierend mit den Originaldaten,
die keine Faltung aufgewiesen haben, durch Verwenden des Generator-Polynominalausdrucks
A, wie in der Darstellung (f) von 4(f) gezeigt
ist. Ein CRC Dekodierer 126A führt eine Kodefehlerdetektierung
der dekodierten Daten basierend auf dem CRC Kode aus, der in den
dekodierten Daten eingeschlossen ist.
-
Ähnlich
führt der
Faltungskodedekodierer 125B eine Dekodierung der von dem
Demultiplexer 123 gesendeten kodierten Daten korrespondierend mit
dem Generator-Polynominalausdruck
B aus, um dekodierte Daten zu erzeugen, wie in der Darstellung (g)
von 4 gezeigt ist. Ein
CRC Dekodierer 126B führt
eine Kodefehlerdetektierung der dekodierten Daten basierend auf
dem CRC Kode aus, der in den dekodierten Daten eingeschlossen ist.
-
Andererseits mischt der Kodemischer 124 die
kodierten Daten korrespondierend zu den Generator-Polynominalausdrücken A und
B, um kodierte Daten korrespondierend zu den faltungskodierten Daten
zu erzeugen, die keine Teilung durch den Kodeteiler 117 der Übertragervorrichtung 101 aufgewiesen
haben, wie in den Darstellungen (f)–(h) von 4 gezeigt ist. Ein Faltungskodedekodierer 125C führt eine
Dekodierung der durch den Kodemischer 124 erzeugten kodierten
Daten aus, um dekodierte Daten korrespondierend zu den Originaldaten,
die keine Faltung aufgewiesen haben, zu erzeugen, wie in der Darstellung
(h) von 4 gezeigt ist.
Ein CRC Dekodierer 126C führt eine Kodefehlerdetektierung der
dekodierten Daten aus, basierend auf dem in den dekodierten Daten
eingeschlossenen CRC Kode.
-
Die Ergebnisse einer Kodefehlerdetektierung
der CRC Dekodierer 126A–126C werden zu einem
Auswähler 127 gesendet.
Der Auswähler 127 wählt eine
der dekodierten Datenanordnungen aus, bei der erwartet wird, dass
sie keinen Kodefehler aufweist, oder einen geringsten verbliebenen
Kodefehler basierend auf den Ergebnissen der Kodefehlerdetektierung
aufweist. Genauer gesagt wird die Auswahl gemäß des folgenden Verfahrens
ausgeführt:
- a. Der Auswähler 127 wählt derart
dekodierte Daten aus, die keinen Kodefehler aufweisen, und sendet
sie zu dem Datenmischer 128, wenn die von dem Faltungskodedekodierer 125A–125C ausgegebenen
kodierten Daten kodierte Daten einschließen, bei denen kein Kodefehler
detektiert wird.
- b. Der Auswähler 127 wählt die
von dem Faltungskodedekodierer 125C ausgegebenen dekodierten
Daten aus und sendet sie zu dem Datenmischer 128, wenn
Kodefehler von allen von den Faltungskodedekodierern 125A–125C ausgegebenen
dekodierten Daten detektiert werden. Deswegen, weil die von dem
Faltungskodedekodierer 125C ausgegebenen Daten von den
kodierten Daten erhalten werden, die eine Redundanz von 1/2 durch
Fehlerkorrekturdekodierung aufweisen, und es wird erwartet, dass
der verbliebene Fehler geringer als die verbliebenen Fehler der
anderen dekodierten Daten ist.
-
Der Datenmischer 128 multiplext
die durch den Auswähler 127 ausgewählten dekodierten
Daten und die von dem Demultiplexer 123 gesendeten Daten,
die keinen Schutz erfordern. Der Datenmischer 128 gibt
die demultiplexten Daten über
eine Ausgangsklemme 129 als dekodierte Daten aus. Die dekodierten
Daten und die Daten, die keinen Schutz erfordern, können zu
den äußeren Vorrichtung über verschiedene
Ausgangsklemmen geliefert werden, wenn die dekodierten Daten und
die Daten, die keinen Schutz erfordern, durch verschiedene äußere Vorrichtungen
verwendet werden müssen.
-
Wie oben beschrieben, werden die
zwei kodierten Datenanordnungen zu diskreten Zeiten von der Übertragervorrichtung
zu der Empfängervorrichtung
gesendet, und die dekodierten Daten werden in dem bevorzugten Ausführungsbeispiel
aus diesen kodierten Daten erhalten. Daher ist es möglich die Wahrscheinlichkeit
zu reduzieren, dass in Folge eines Kodefehlers, der eine relativ
lange verbliebene Zeit aufweist, wie ein Burstfehler, keine dekodierten Daten
erhalten werden.
-
Weiterhin werden die fehlerkorrekturfähigen kodierten
Daten von den zwei kodierten Datenanordnungen erzeugt und das Dekodieren
wird unter Verwenden der somit in dem bevorzugten Ausführungsbeispiel
erzeugten dekodierten Daten ausgeführt. Daher können zufällige Fehler
korrigiert werden, auch wenn zufällige
Fehler in den zwei kodierten Fehlern eingeschlossen sind.
-
Weiterhin werden die zwei kodierten
Datenanordnungen übermittelt,
wobei die Daten, die keinen Schutz erfordern, dazwischen gesetzt
werden. Daher ist es möglich,
die Wahrscheinlichkeit zu reduzieren, dass die zwei kodierten Datenanordnungen
auf einen gleichen Burstfehler treffen und eine gute Nutzung der
Kommunikationsleitung auszuführen.
-
Das erste bevorzugte Ausführungsbeispiel ist
wie oben beschrieben, aber der Bereich der vorliegenden Erfindung
ist nicht auf den Bereich des bevorzugten Ausführungsbeispiels beschränkt. Es
gibt einige Modifikationen des oben beschriebenen ersten Ausführungsbeispiels,
zum Beispiel wie folgt:
- (1) Der Auswähler 127 kann
so ausgelegt werden, dass er nicht nur die dekodierten Daten auswählt, bei
denen kein Kodefehler detektiert wird, sondern unter Verwenden des
Vergleichsergebnisses die dekodierten Daten vergleicht, um die Fehldetektierung
des CRC Dekodierers zu reduzieren. Genauer gesagt, prüft der Auswähler 127 dieser Modifikation
alle Ergebnisse der Fehlerdetektierung und vergleicht die dekodierten
Daten. Der Auswähler 127 bewertet
bei der Prüfung
und dem Vergleich, wenn eine Mehrzahl von dekodierten Daten erkannt
wurden, bei denen kein Kodefehler detektiert wurde, und die dekodierten
Daten unterschiedlich voneinander sind, oder wenn dekodierte Daten,
bei denen ein Kodefehler detektiert wurde, mit anderen dekodierten
Daten korrespondieren, bei denen kein Kodefehler detektiert wird, dass
diese keine Fehlerdetektierung in Folge von Fehlerdetektierung des
CRC Dekodierers sein kann.
- (2) Das oben beschriebene bevorzugte Ausführungsbeispiel offenbart das
Beispiel, in dem die Übertragervorrichtung
eine Fehlerkorrekturkodierung bei einer Redundanz von 1/N = 1/2
ausführt und
die zwei kodierten Datenanordnungen überträgt, die durch Teilen der kodierten
Daten in zwei Teile erhalten werden. Sozusagen offenbart das oben
beschriebene bevorzugte Ausführungsbeispiel
das Beispiel der vorliegenden Erfindung korrespondierend mit N =
2. Es wird jedoch offensichtlich verstanden, dass das bevorzugte
Ausführungsbeispiel
derart modifiziert werden kann, dass es mit den anderen N korrespondiert.
- (3) Das oben beschriebene bevorzugte Ausführungsbeispiel offenbart das
Beispiel, in dem die kodierten Daten in die zwei kodierte Datenanordnungen
geteilt werden und die zwei kodierten Datenanordnungen übertragen
werden. Daher erzeugt in diesem offenbarten Beispiel der Kodemischer 124 fehlerkorrekturfähige kodierte
Daten unter Verwenden der zwei kodierten Daten, d. h., alle von
der Übertragungsvorrichtung 101 übertragenen
kodierten Daten. In dem modifizierten Beispiel jedoch, das mit den
anderen N korrespondiert, die größer als
drei sind, kann der Kodemischer 124 eine Mehrzahl von kodierten
Daten unter allen von der Übermittlervorrichtung 101 übermittelten
kodierten Daten auswählen
und fehlerkorrekturfähige
kodierte Daten unter Verwenden der ausgewählten kodierten Daten erzeugen.
In einem anderen modifizierten Beispiel kann der Kodemischer 124 eine
Mehrzahl fehlerkorrekturfähige
kodierte Daten unter Verwenden der von der Übermittlervorrichtung 101 übermittelten
kodierten Daten erzeugen.
- (4) Das oben beschriebene bevorzugte Ausführungsbeispiel offenbart das
Beispiel, in dem die kodierten Daten in die zwei kodierten Datenanordnungen
geteilt werden, die eine gleiche Kodelänge aufweisen. Dieses Beispiel
kann modifiziert werden, so dass durch Fehlerkorrekturkodierung erzeugte
kodierte Daten bei einer Redundanz von 1/N in M (N > M) kodierte Daten
geteilt werden, die unterschiedliche Kodelängen aufweisen, und die M kodierten
Daten werden übermittelt.
Zum Beispiel werden, wenn eine Fehlerkorrekturkodierung bei eine
Redundanz von 1/3 ausgeführt
wird, die durch die Kodierung erzeugten kodierten Daten in längere kodierte
Daten, die eine zweifache Kodelänge
der Originaldaten aufweisen, und kürzere kodierte Daten, die eine
Kodelänge
gleich der der Originaldaten aufweisen, geteilt, und die zwei kodierten
Datenanordnungen werden von der Übermittlervorrichtung übermittelt.
In diesem Fall kann der Kodefehler durch Verwenden nur der kodierten
Daten korrigiert werden, wenn die längeren Daten einen Kodefehler
einschließen. Daher
wird in der Empfängervorrichtung
eine Fehlerkorrekturdekodierung der längeren kodierten Daten ausgeführt. Die
kürzeren
kodierten Daten können
dekodiert werden, wenn der Kodefehler der längeren kodierten Daten ein
Burstfehler ist und nicht korrigiert werden kann. In dieser Modifikation
können
Prioritäten
zu den geteilten kodierten Daten bei der Übermittlung und der Dekodierung
zugewiesen werden.
- (5) In dem oben beschriebenen bevorzugten Ausführungsbeispiel
ist der CRC Kodierer 114 vor dem Faltungskodierer 116 platziert.
Dieses Ausführungsbeispiel
kann modifiziert werden, so dass der CRC Kodierer an der Ausgangsseite
des Kodeteilers platziert ist, und CRC Kodes werden zu den zwei
kodierten Datenanordnungen hinzugefügt, die von dem Kodeteiler
erhalten werden. In dieser Modifikation wird die Fehlerdetektierung der
zwei kodierten Datenanordnungen basierend auf den CRC Kodes ausgeführt, die
in den kodierten Daten in der Empfängervorrichtung eingeschlossen
sind. Eine Dekodierung auf solchen kodierten Daten wird ausgeführt, wenn
kein Fehler von irgendwelchen kodierten Daten detektiert wird. Fehlerkorrekturkodierung
wird auf kodierten Daten ausgeführt,
die durch Mischen der Mehrzahl kodierter Daten erhalten wird, wenn
Fehler von allen kodierten Daten detektiert werden. In dieser Modifikation
ist der Umfang von Operationen reduziert im Vergleich zu dem Fall,
bei dem eine Fehlerkorrekturkodierung von gemischten kodierten Daten
immer ausgeführt
wird.
- (6) In dem oben beschriebenen bevorzugten Ausführungsbeispiel
wird Faltungskodierung als Fehlerkorrekturkodierung verwendet. Die
in der vorliegenden Erfindung verwendete Fehlerkorrekturkodierung
ist jedoch nicht auf die Faltungskodierung beschränkt. Zum
Beispiel kann eine invertierbare Kodierung als Fehlerkorrekturkodierung
der vorliegenden Erfindung verwendet werden, wie sie in einer Druckschrift
offenbart ist, verfasst durch Shu Lin und Daniel J. Costello, Jr.
unter der Überschrift "Error Control Coding
Fundamentals and Applications" Prentice
Hall 1983.
Im Allgemeinen dient Faltungsdekodierung, die eine
Erzeugung eines Generator-Polynominalausdrucks verwendet, der in
der Übertragervorrichtung
des oben beschriebenen bevorzugten Ausführungsbeispiels verwendet wird,
zum Konvertieren von Originaldaten in kodierte Daten, deren Inhalt
sich von dem der Originaldaten unterscheidet.
Im Gegensatz
dazu dient invertierbare Kodierung zum Konvertieren von Originaldaten
in kodierte Daten, die die Originaldaten einschließen. Daher werden
die Originaldaten als welche der geteilten kodierten Daten übertragen,
wenn die invertierbare Kodierung in der Übermittlervorrichtung der Modifikation
verwendet wird.
- (7) Der Endbithinzufüger 115 kann
in dem oben beschriebenen bevorzugten Ausführungsbeispiel ausgelassen
werden, wenn eine relativ niedrige Fehlerkorrekturmöglichkeit
erforderlich ist im Hinblick auf die Bits, die in der Nähe des Beendigungsteils
der Schutz erfordernden Daten platziert sind. In diesem Fall kann
die Redundanz korrespondierend zu den Endbits zurückgewiesen werden.
-
B. Zweites bevorzugtes
Ausführungsbeispiel
-
5 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung 201 einer
Datenübermittlungsvorrichtung
gemäß eines
zweiten bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung zeigt. 6 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung 202 einer Datenübermittlungsvorrichtung
zeigt.
-
Wie in 5 gezeigt,
besteht die Übermittlervorrichtung 201 aus
einer Eingangsklemme 211, einem Puffer 212, einem
Datenseparator 213, einem Endbithinzufüger 215, einem Faltungskodierer 216, einem
Kodeteiler 217, einem Multiplexer 218 und einer
Ausgangsklemme 219. In dem oben beschriebenen ersten bevorzugten
Ausführungsbeispiel
ist die Übermittlervorrichtung 101 ausgelegt,
so dass den von dem Datenseparator 113 ausgegebenen Originaldaten
durch den CRC Kodierer 114 ein CRC Kode hinzugefügt wird,
und die Originaldaten, die den CRC Kode aufweisen, werden zu dem
Endbithinzufüger 115 geliefert.
In der Übermittlervorrichtung 201 des zweiten
bevorzugten Ausführungsbeispieles
werden die von dem Datenseparator 213 ausgegebenen Originaldaten
direkt zu dem Endbithinzufüger 215 geliefert.
Die andere Konfiguration ist genau wie die Konfiguration der Übermittlervorrichtung 101 des
ersten bevorzugten Ausführungsbeispieles.
In der Übermittlervorrichtung 201 werden
die kodierten Daten erzeugt, die mit den Generator-Polynominalausdrücken A und
B korrespondieren, und die zwei kodierten Datenanordnungen und keinen
Schutz erfordernde Daten werden gemultiplext, so dass die zwei kodierten
Datenanordnungen auf einer Zeitachse separiert werden und die Daten,
die keinen Schutz erfordern, dazwischen gesetzt sind. Die so gemultiplexten Daten
werden zu einer Kommunikationsleitung übermittelt.
-
Als nächstes wird eine Beschreibung
im Hinblick auf die Empfängervorrichtung 202 gegeben.
Die von der Übermittlervorrichtung 201 übermittelten
Daten werden zu einer Eingangsklemme 221 der Empfängervorrichtung 202 über die
Kommunikationsleitung übermittelt.
Diese Daten werden über
einen Puffer 222 Dekodierungseinheit für Dekodierungseinheit zu einem
Demultiplexer 223 geliefert und die somit gelieferten Daten
werden in die zwei kodierten Datenanordnungen und die keinen Schutz
erfordernde Daten geteilt. Die Daten, die keinen Schutz erfordern, werden
von dem Demultiplexer 223 zu einem Datenmischer 228 geliefert.
Andererseits werden die zwei kodierten Daten, die gegen Kodefehler
geschützt sind,
jeweils zu Faltungskodedekodierern 225A und 225B geliefert.
Weiterhin werden die zwei kodierten Datenanordnungen zu einem Kodemischer 224 geliefert.
-
Der Faltungskodedekodierer 225A führt eine mit
dem Generator-Polynominalausdruck
A korrespondierende Dekodierung der kodierten Daten aus, die von
dem Demultiplexer 223 geliefert werden, um dekodierte Daten
zu erzeugen, die mit den Originaldaten korrespondieren, die keine
Faltung durch Verwenden des Generator-Polynominalausdrucks A aufgewiesen
haben. Die so erzeugten dekodierten Daten werden zu einem Endbituntersucher 226A geliefert.
Der Endbituntersucher 226A vergleicht Endbits, die in der
Faltungskodeerzeugung hinzugefügt
werden, mit Endbits, die in den dekodierten Daten eingeschlossen
sind, um zu beurteilen, ob die dekodierten Daten einen Kodefehler
aufweisen oder nicht. Ähnlich
führt der
Faltungskodedekodierer 225B korrespondierend zu dem Generator-Polynominalausdruck B
ein Dekodieren der kodierten Daten aus, die von dem Demultiplexer 223 geliefert
werden, und ein Endbitüberwacher 226B führt durch
Vergleichen von Endbits eine Kodefehlerdetektierung auf dekodierten Daten
aus, die von dem Faltungskodedekodierer 225B ausgegeben
werden.
-
Andererseits mischt der Kodemischer 224 die
kodierten Daten korrespondierend zu den Generator-Polynominalausdrücken A und
B, um kodierte Daten korrespondierend zu den orignalkodierten Daten
zu erzeugen, die keine Teilung aufgewiesen haben. Ein Faltungskodedekodierer 225C führt eine
Viterbi-Dekodierung der kodierten Daten aus, die durch den Kodemischer 224 erzeugt
werden, um dekodierte Daten korrespondierend zu den Originaldaten
zu erzeugen, die keine Faltungskodierung aufgewiesen haben. Ein
Metriküberwacher 226C vergleicht
eine Metrik eines verbleibenden Pfades, der in der Dekodierung durch
den Faltungskodedekodierer 225C berechnet wurde, mit einem
vorbestimmten Referenzwert, um Fehlerdetektierung der durch den
Faltungskodedekodierer 225C erzeugten dekodierten Daten auszuführen.
-
Ein Auswähler 227 wählt eine
aus den dekodierten Datenanordnungen aus, von der erwartet wird,
dass sie keinen Kodefehler oder einen geringsten verbleibenden Kodefehler
aufweist, basierend auf dem Ergebnis der Kodefehlerdetektierung
der Endbitüberwacher 226A und 226B und
des Metriküberwachers 226C.
Genauer gesagt wird das Auswählen
gemäß des folgenden
Verfahrens ausgeführt:
- a. Wenn die von den Faltungskodedekodierern 225A–225C ausgegebenen
dekodierten Daten dekodierte Daten einschließen, bei denen keine Kodefehler
detektiert werden, wählt
der Auswähler 227 derartige
dekodierte Daten aus, die keinen Kodefehler aufweisen und sendet
sie zu dem Datenmischer 228.
- b. Wenn Kodefehler bei allen von den Faltungskodedekodierern 225A–225C ausgegebenen
dekodierten Daten detektiert werden, wählt der Auswähler 227 die
von dem Faltungskodedekodierer 225C ausgegebenen dekodierten
Daten aus und sendet diese zu dem Datenmischer 228. Deswegen
wird erwartet, dass der verbleibende Fehler dieser dekodierten Daten
der geringste ist.
-
Der Datenmischer 228 multiplext
die durch den Auswähler 227 ausgewählten dekodierten
Daten und die von dem Demultiplexer 223 gesendeten Daten,
die keinen Schutz erfordern, und gibt die so gemultiplexten Daten
als dekodierte Daten über
eine Ausgangsklemme 229 aus.
-
Wie oben beschrieben, wird die Fehlerdetektierung
der dekodierten Daten durch Verwenden der in der Fehlerkkorrekturkodierung
hinzugefügten
Enden und die in der Fehlerkorrekturdekodierung berechnete Metrik
ausgeführt.
Daher ist es nicht notwendig Redundanzbits zu den kodierten Daten
für eine
Fehlerdetektierung hinzuzufügen.
Somit kann die Redundanz der Übermittlung
reduziert werden.
-
In dem oben beschriebenen bevorzugten Ausführungsbeispiel
wird die Fehlerdetektierung der dekodierten Daten durch die Endbitüberwacher
und den Metriküberwacher
ausgeführt,
ohne Verwenden der anderen zusätzlichen
Information, ausgenommen der Endbits. Dieses Ausführungsbeispiel
kann jedoch modifiziert werden, so dass der andere Fehlerdetektierungskode,
wie ein CRC Kode, ebenso verwendet wird. Diese Modifikation kann
die Genauigkeit von einer Fehlerdetektierung verbessern. Weiterhin
kann das oben beschriebene bevorzugte Ausführungsbeispiel durch Anwenden
der Modifikationen korrespondierend zu den Modifikationen (1) – (4) des ersten
bevorzugten Ausführungsbeispiels
modifiziert werden.
-
C. Drittes bevorzugtes
Ausführungsbeispiel.
-
7 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung 301 einer
Datenübermittlungsvorrichtung
gemäß eines
dritten bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung zeigt. 8 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung 302 der Datenübermittlungsvorrichtung
zeigt. 9 zeigt eine
Datenverarbeitung, die in einigen Abschnitten der Übermittlervorrichtung 301 und
der Empfängervorrichtung 302 ausgeführt wird.
-
Als erstes wird eine Beschreibung
im Hinblick auf die Übermittlervorrichtung 301 gegeben. Wie
in dem ersten bevorzugten Ausführungsbeispiel werden
durch eine Eingangsklemme 311 eingegebene Daten über einen
Puffer 312 Kodiereinheit für Kodiereinheit zu einem Datenseparator 313 geliefert. Die
so gelieferten Daten werden in Daten geteilt, die Schutz gegen Kodefehler
erfordern, und Daten, die keinen Schutz erfordern, basierend auf
der Wichtigkeit jedes Teils der Daten. Die Daten, die Schutz erfordern,
werden zu einem CRC Kodierer 314 als Originaldaten geliefert,
wie in der Darstellung (a) von 9 gezeigt
ist. Die Daten, die keinen Schutz erfordern, werden zu einem Multiplexer 318 geliefert.
-
Den Originaldaten wird durch den
CRC Kodierer 314 ein CRC Kode für eine Fehlerdetektierung hinzugefügt, wie
in der Darstellung (b) von 9 gezeigt
ist, und weiterhin durch einen Endbithinzufüger 315 Endbits für eine Beendigung
einer Faltungskodierung hinzugefügt,
wie in der Darstellung (c) von 9 gezeigt
ist. Wie in dem ersten bevorzugten Ausführungsbeispiel weisen diese
Endbits eine Länge
auf, die mit einer begrenzenden Länge einer Faltungskodierung
korrespondieren, die durch einen Faltungskodierer 316 ausgeführt wird,
der an der Ausgangseite des Endbithinzufügers 315 platziert
ist.
-
Der Faltungskodierer 316 führt bei
einer Redundanz von 1/3 eine Fehlerkorrekturkodierung der Daten
aus, die von dem Endbithinzufüger 315 geliefert
werden. Genauer gesagt führt
der Faltungskodierer 316 in dem bevorzugten Ausführungssbeispiel eine
Faltung der Daten aus, die von dem Endbithinzufüger 315 zum Erzeugen
eines Faltungskodes geliefert werden, der eine Redundanz von 1/3
aufweist, unter Verwenden eines Generator-Polynominalausdrucks,
wie in der Darstellung (d) von 9 gezeigt ist.
-
Ein Kodeteiler 317 teilt
den so durch den Faltungskodierer 316 erzeugten Faltungskode
durch zwei, um zwei punktierte Kodes X und Y zu erzeugen, die eine
Redundanz von 2/3 aufweisen, wie in der Darstellung (e) von 9 gezeigt ist. Ein punktierter
Kode ist ein Fehlerkorrekturkode, der durch einen zurückweisenden
Teil eines Faltungskodes erzeugt wird. Beim Übertragen eines solchen punktierten
Kodes können
Redundanz und Fehlerkorrekturmöglichkeit
der Übermittlung durch
Verändern
des zurückgewiesenen
Teils des Faltungskodes gesteuert werden. In diesem bevorzugten
Ausführungsbeispiel
wird ein Teil eines Originalfaltungskodes aus dem Originalkode als
ein punktierter Faltungskode X ausgewählt, und ein von dem punktierten
Faltungskode X unterschiedlicher Kode wird aus dem Originalkode
als ein punktierter Faltungskode Y ausgewählt. Jeder der punktierten
Kodes X und Y hat eine Fehlerkorrekturmöglichkeit. Daher ist es möglich, die Originaldaten,
die keine Faltungskodierung aufgewiesen haben, von jedem der punktierten
Kodes X und Y unabhängig
zu dekodieren. Mit anderen Worten sollte die Kodeauswahl zum Erzeugen
des punktierten Kodes aus dem Originalfaltungskode so ausgeführt werden,
dass die punktierten Kodes erhalten werden, die eine solche Fehlerkorrektur
aufweisen.
-
Der Multiplexer 318 multiplext
die zwei kodierten Datenanordnungen (punktierte Kodes X und Y) und
die keinen Schutz erfordernden Daten, die von dem Datenseparator 313 ausgegeben
werden, und gibt die somit gemultiplexten Daten über eine Ausgangsklemme 319 zu
einer Kommunikationsleitung aus. Wie in dem ersten bevorzugten Ausführungsbeispiel
wird das Multiplexen so ausgeführt,
so dass die Daten, die keinen Schutz erfordern, zwischen die kodierten
Daten eingefügt
werden, und die kodierten Daten sind voneinander auf einer Zeitachse
separiert, um nicht den gleichen Burstfehler zu treffen (Bezug 3).
-
Als nächstes wird eine Beschreibung
hinsichtlich der Empfängervorrichtung 302 gegeben.
Die von der Übermittlervorrichtung 301 ausgegebenen Daten
werden zu einer Eingangsklemme der Empfängervorrichtung 302 übermittelt.
Die somit übermittelten
Daten werden über
einen Puffer 322 Dekodiereinheit für Dekodiereinheit zu einem
Demultiplexer 323 übermittelt,
und die Daten werden in die zwei kodierten Datenanordnungen (d.
h. die punktierten Kodes X und Y) und die keinen Schutz erfordernden Daten,
durch den Demultiplexer 232 geteilt. Die Daten, die keinen
Schutz erfordern, werden zu einem Datenmischer 328 gesendet.
Der punktierte Kode X wird zu einem Faltungskodedekodierer 325A geliefert
und der punktierte Kode Y wird zu einem Faltungskodedekodierer 325B geliefert.
Weiterhin werden die punktierten Kodes X und Y zu einem Kodemischer 324 geliefert.
-
Der Faltungskodedekodierer 325A führt eine Fehlerkorrekturdekodierung
des von dem Demultiplexer 323 gesendeten punktierten Kodes
X aus, um dekodierte Daten zu erzeugen, die mit den Originaldaten
korrespondieren, die keine Faltungkodierung aufgewiesen haben, wie
in der Darstellung (f) von 9 gezeigt
ist. Ein CRC Dekodierer 326A führt eine Kodefehlerdetektierung
der dekodierten Daten aus, basierend auf dem CRC Kode, der in den
dekodierten Daten eingeschlossen ist.
-
Ähnlich
führt der
Faltungskodedekodierer 325B eine Fehlerkorrekturdekodierung
des von dem Demultiplexer 323 gesendeten punktierten Kode
Y aus, wie in der Darstellung (g) von 9 gezeigt
ist, und ein CRC Dekodierer 326B führt eine Kodefehlerdetektierung
der dekodierten Daten aus, basierend auf dem CRC Kode, der in den
dekodierten Daten eingeschlossen ist.
-
Andererseits mischt der Kodemixer 324 die punktierten
Kodes X und Y, um einen Faltungskode korrespondierend zu dem Originalfaltungskode
zu erzeugen, der keine Teilung aufgewiesen hat, wie in den Darstellungen
(f)–(h)
von 9 gezeigt ist. Ein Faltungskodedekodierer 325C führt eine
Dekodierungsoperation, die mit dem oben beschriebenen, durch den
Faltungskodierer 316 verwendeten Generator-Polynominalausdruck
korrespondiert, des Faltungskodes aus, der durch den Kodemischer 324 erzeugt
wird, um dekodierte Daten korrespondierend zu den Originaldaten
zu erzeugen, die keine Faltungskodierung aufgewiesen haben, durch
Verwenden des Generator-Polynominalausdrucks, wie in der Darstellung
(h) von 9 gezeigt ist.
Ein CRC Dekodierer 326C führt eine Kodefehlerdetektierung
der dekodierten Daten aus, basierend auf dem CRC Kode, der in den
dekodieren Daten eingeschlossen ist.
-
Die Ergebnisse der Kodefehlerdetektierung der
CRC Dekodierer 326A–326C werden
zu einem Auswähler 327 gesendet.
Der Auswähler 327 wählt eine
aus den dekodierten Datenanordnungen aus, bei der erwartet wird,
dass sie keinen Kodefehler oder einen geringsten verbliebenen Kodefehler
aufweist, basierend auf den Ergebnissen einer Kodefehlerdetektierung.
Genauer gesagt wird die Auswahl gemäß des folgenden Verfahrens
ausgeführt:
- a. Wenn die von dem Faltungskodedekodierer 325A–325C ausgegebenen
dekodierten Daten kodierte Daten einschließen, bei denen keine Kodefehler
detektiert werden, wählt
der Auswähler 327 derartige
dekodierten Daten aus, die keinen Kodefehler aufweisen und sendet
sie zu dem Datenmischer 328.
- b. Wenn Kodefehler von allen von den Faltungskodedekodierern 325A–325C ausgegebenen
dekodierten Daten detektiert werden, wählt der Auswähler 327 die
von dem Faltungskodedekodierer 325C ausgegebenen dekodierten
Daten aus und sendet sie zu dem Datenmischer 328. Deswegen werden
die von dem Faltungskodedekodierer 325C ausgegebenen dekodierten
Daten aus den kodierten Daten erhalten, die eine Redundanz von 1/3
durch Fehlerkorrekturdekodierung aufweisen, und es wird erwartet,
das der verbleibende Fehler geringer als die verbleibenden Fehler der
anderen dekodierten Daten ist.
-
Der Datenmischer 328 multiplext
die durch den Auswähler 327 ausgewählten dekodierten
Daten und die von dem Demultiplexer 323 gesendeten Daten,
die keinen Schutz erfordern. Der Datenmischer 328 gibt
dann die gemultiplexten Daten über
eine Ausgangsklemme 329 als dekodierte Daten aus. Wenn
die dekodierten Daten und die keinen Schutz erfordernden Daten durch
verschiedene externe Vorrichtungen verwendet werden, können die
dekodierten Daten und die Daten, die keinen Schutz erfordern, zu
den externen Vorrichtungen über
verschiedene Ausgangsklemmen geliefert werden.
-
Das dritte bevorzugte Ausführungsbeispiel ist
wie oben beschrieben und die Effekte des oben beschriebenen ersten
bevorzugten Ausführungsbeispiels
werden ebenso von dem dritten bevorzugten Ausführungsbeispiel erhalten. Es
gibt folgende Modifikationen im Hinblick auf das dritte bevorzugte
Ausführungsbeispiel:
- (1) Wie in dem ersten bevorzugten Ausführungsbeispiel
kann der Auswähler 327 ausgelegt
werden, so dass er nicht nur die dekodierten Daten auswählt bei
denen kein Kodefehler detektiert wurde, sondern auch die dekodierten
Daten vergleicht, um die Fehldetektierung der CRC Dekodierer zu
reduzieren, die das Vergleichsergebnis verwenden.
- (2) Das oben beschriebene bevorzugte Ausführungsbeispiel offenbart das
Beispiel, bei dem die Übermittlervorrichtung
eine Fehlerkorrekturkodierung bei einer Redundanz von 1/N = 1/3
ausführt und
die zwei kodierten Datenanordnungen übermittelt, die durch Teilen
der kodierten Daten in zwei Teile erhalten werden. Sozusagen offenbart das
oben beschriebene bevorzugte Ausführungsbeispiel das Beispiel
in dem Fall von N = 3 und M = 2. Es wird jedoch offensichtlich verstanden, dass
das bevorzugte Ausführungsbeispiel
offensichtlich in den Bedingungen der anderen N und M verkörpert sein
kann.
- (3) Das oben beschriebene bevorzugte Ausführungsbeispiel offenbart das
Beispiel, in dem die kodierten Daten in die zwei kodierten Datenanordnungen
geteilt werden, und die zwei kodierten Datenanordnungen werden übermittelt.
Daher erzeugt in diesem offenbarten Beispiel der Kodemischer 324 fehlerkorrekturfähige kodierte
Daten unter Verwenden der zwei punktierten Kodes, d. h., alle kodierten
Daten, die von der Übermittlervorrichtung 301 übermittelt
worden sind. In einem modifizierten Beispiel kann der Kodemischer 324 jedoch
eine Mehrzahl kodierter Daten unter allen von der Übermittlervorrichtung 301 übermittelten kodierten
Daten auswählen
und einen punktierten Kode erzeugen, der eine Fehlerkorrekturmöglichkeit
aufweist, die höher
als die der übermittelten kodierten
Daten ist. In einem anderen modifizierten Beispiel kann der Kodemischer 124 eine Mehrzahl
punktierter Kodes erzeugen, die eine Fehlerkorrekturmöglichkeit
aufweisen.
- (4) Das oben beschriebene bevorzugte Ausführungsbeispiel offenbart das
Beispiel, in dem die kodierten Daten in die zwei kodierten Datenanordnungen
geteilt werden, die eine gleiche Kodelänge aufweisen. Dieses Beispiel
kann modifiziert werden, so dass durch Fehlerkorrekturkodierung erzeugte
kodierte Daten bei einer Redundanz von 1/N in M (N > M) kodierte Daten
geteilt werden, die unterschiedliche Kodelängen aufweisen, und die M kodierten
Daten werden übermittelt.
Zum Beispiel werden die durch die Kodierung erzeugten kodierten
Daten in längere
kodierte Daten, die eine zweifache Kodelänge der Originaldaten aufweisen,
und kürzere
kodierte Daten, die eine Kodelänge
gleich der der Originaldaten aufweisen, geteilt, wenn eine Fehlerkorrekturkodierung
bei einer Redundanz von 1/3 ausgeführt wird, und die zwei kodierten
Datenanordnungen werden von der Übermittlervorrichtung übermittelt.
In diesem Fall kann der Kodefehler nur durch Verwenden der kodierten
Daten korrigiert werden, wenn die längeren Daten einen Kodefehler
einschließen. Daher
wird in der Empfängervorrichtung
eine Fehlerkorrekturdekodierung der längeren kodierten Daten ausgeführt, und
die kürzeren
kodierten Daten werden dekodiert, wenn der Kodefehler der längeren kodierten
Daten ein Burstfehler ist und nicht korrigiert werden kann. Auf
diese Weise können
den geteilten kodierten Daten in der Übermittlung und Dekodierung
Prioritäten
zugewiesen werden.
- (5) In der Übermittlervorrichtung 301 in
dem oben beschriebenen bevorzugten Ausführungsbeispiel ist der CRC
Kodierer 314 vor dem Faltungskodierer 316 platziert.
Dieses Ausführungsbeispiel kann
modifiziert werden, so dass der CRC Kodierer an der Ausgangsseite
des Kodeteilers platziert ist und CRC Kodes zu den zwei kodierten
Datenanordnungen hinzugefügt
werden, die von dem Kodeteiler erhalten werden. In dieser Modifikation werden
die Fehlerdetektierungen der zwei kodierten Datenanordnungen basierend
auf den CRC Kodes ausgeführt,
die in den kodierten Daten in der Empfängervorrichtung eingeschlossen
sind. Wenn kein Fehler bei irgendwelchen kodierten Daten detektiert
wird, wird eine Dekodierung bei derartigen kodierten Daten ausgeführt. Wenn Fehler
bei allen kodierten Daten detektiert werden, wird eine Fehlerkorrekturkodierung
bei kodierten Daten ausgeführt,
die durch Mischen der Mehrzahl kodierter Daten erhalten werden.
In dieser Modifikation wird der Umfang einer Operation im Vergleich
zu dem Fall reduziert, in dem eine Fehlerkorrekturkodierung bei
gemischten kodierten Daten immer ausgeführt wird.
- (6) In dem oben beschriebenen bevorzugten Ausführungsbeispiel
wird eine Faltungskodierung als Fehlerkorrekturkodierung verwendet.
Die andere Fehlerkorrekturkodierung, wie eine invertierbare Kodierung,
kann jedoch an Stelle der Faltungskodierung verwendet werden. Der
Vorteil bei Verwenden einer invertierbaren Kodierung wurde bereits
in dem ersten bevorzugten Ausführungsbeispiel
beschrieben.
- (7) Der Endbithinzufüger 315 kann
in dem oben beschriebenen bevorzugten Ausführungsbeispiel ausgelassen
werden, wenn eine relativ niedrige Fehlerkorrekturmöglichkeit
im Hinblick auf die Bits erforderlich ist, die in der Nähe der Beendigungsteile
der Daten platziert sind, die Schutz erfordern. In diesem Fall,
kann die zu dem Endbit korrespondierende Redundanz zurückgewiesen
werden.
-
D. Viertes bevorzugtes
Ausführungsbeispiel
-
10 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung 401 von
einer Datenübermittlungsvorrichtung
gemäß einem
vierten bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung zeigt. 11 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung 402 der
Datenübermittlungsvorrichtung
zeigt.
-
Wie in 10 gezeigt
ist, besteht die Übermittlervorrichtung 401 aus
einer Eingangsklemme 411, einem Puffer 412, einem
Datenseparator 413, einem Endbithinzufüger 415, einem Faltungskodierer 416,
einem Kodeteiler 417, einem Multiplexer 418 und
einer Ausgangsklemme 419. In dem oben beschriebenen dritten
bevorzugten Ausführungsbeispiel
ist die Übermittlervorrichtung 301 ausgelegt, dass
den von dem Datenseparator 313 ausgegebenen Originaldaten
ein CRC Kode durch den CRC Kodierer 314 hinzugefügt wird,
und die Originaldaten, die den CRC Kode aufweisen, werden zu dem
Endbithinzufüger 315 geliefert.
In der Übermittlervorrichtung 401 des
vierten bevorzugten Ausführungsbeispiels
werden die von dem Datenseparator ausgegebenen Originaldaten direkt
zu dem Endbithinzufüger 415 geliefert.
Die andere Konfiguration ist die gleiche wie die Konfiguration der Übermittlervorrichtung 301 des
dritten bevorzugten Ausführungsbeispiels.
-
Als nächstes wird die Beschreibung
im Hinblick auf die Empfängervorrichtung 402 gegeben.
Die von der Übermittlervorrichtung 401 übertragenen
Daten werden über
die Kommunikationsleitung zu einer Eingangsklemme 421 der
Empfängervorrichtung 402 übertragen.
Diese Daten werden über
einen Puffer 422 Dekodiereinheit für Dekodiereinheit zu einem Demultiplexer 423 geliefert,
und die so gelieferten Daten werden in zwei kodierte Datenanordnungen und
keinen Schutz erfordernde Daten geteilt. Die Daten, die keinen Schutz
erfordern, werden von dem Demultiplexer 423 zu einem Datenmultiplexer 428 geliefert.
Andererseits werden die zwei kodierten Daten, die vor Kodefehlern
geschützte
punktierte Kodes X und Y sind, jeweils zu Faltungskodedekodierern 425A und 425B geliefert.
Weiterhin werden die punktierten Kodes X und Y zu einem Kodemischer 424 geliefert.
-
Der Faltungskodedekodierer 425A führt eine Fehlerkorrekturdekodierung
bei dem punktierten Kode X aus, um dekodierte Daten korrespondierend zu
den Originaldaten zu erzeugen, die keine Faltung aufgewiesen haben.
Die so erzeugten dekodierten Daten werden zu einem Endbitüberwacher 426A geliefert.
Der Endbitüberwacher 426A vergleicht
Endbits, die bei der Erzeugung des punktierten Kodes hinzugefügt wurden,
mit den dekodierten Endbits, um zu beurteilen, ob die dekodierten
Daten einen Kodefehler aufweisen oder nicht. Ähnlich führt der Faltungskodedekodierer 425B eine
Fehlerkorrekturdekodierung auf dem Faltungskode Y aus und der Endbitüberwacher 426B führt, durch
Vergleichen der Endbits, eine Kodefehlerdetektierung bei von dem Faltungskodedekodierer 425B ausgegebenen
dekodierten Daten aus.
-
Andererseits mischt der Kodemischer 424 die
punktierten Kodes X und Y, um einen Faltungskode korrespondierend
zu dem Originalfaltungskode zu erzeugen, der keine Teilung aufgewiesen
hat. Ein Faltungskodedekodierer 425C führt eine Viterbi-Dekodierung
bei dem so durch den Kodemischer 424 erzeugten Faltungskode
aus, um kodierte Daten korrespondierend mit den Originaldaten zu
erzeugen, die keine Faltungskodierung aufgewiesen haben. Ein metrischer Überwacher 426C vergleicht
eine Metrik eines verbleibenden Pfades, die bei der Dekodierung durch
den Faltungskodedekodierer 425C berechnet wird, mit einem
vorbestimmten Referenzwert, um eine Fehlerdetektierung der dekodierten
Daten auszuführen,
die durch den Faltungskodedekodierer 425C erzeugt wurden.
-
Ein Auswähler 427 wählt eine
aus den dekodierten Datenanordnungen aus, bei der erwartet wird,
dass sie keinen Kodefehler oder einen geringsten verbliebenen Kodefehler
aufweist, basierend auf den Ergebnissen einer Kodefehlerdetektierung
der Endbitüberwacher 426A und 426B und
des Metriküberwachers 426C gemäß des in
dem zweiten bevorzugten Ausführungsbeispiel
beschriebenen Verfahrens.
-
Ein Datenmischer 428 multiplext
die durch den Auswähler 427 ausgewählten dekodierten
Daten und die von dem Demultiplexer 423 gesendeten Daten,
die keinen Schutz erfordern, und gibt die so gemultiplexten Daten
als dekodierte Daten über
eine Ausgangsklemme 429 aus.
-
Wie oben beschrieben, wird eine Fehlerdetektierung
der dekodierten Daten durch Verwenden der Endbits ausgeführt, die
in der Fehlerkorrekturkodierung hinzugefügt wurden, und der Metrik,
die in der Fehlerkorrekturdekodierung berechnet wurde. Daher ist
es nicht notwendig Redundanzbits zu den kodierten Daten für eine Fehlerdetektierung
hinzuzufügen.
Somit kann die Redundanz einer Übermittlung wie
in dem zweiten bevorzugten Ausführungsbeispiel reduziert
werden.
-
In dem oben beschriebenen bevorzugten Ausführungsbeispiel
wird eine Fehlerdetektierung der dekodierten Daten durch die Endbitüberwacher und
den Metriküberwacher
ohne Verwenden der anderen zusätzlichen
Information, ausgenommen des Endbits, ausgeführt. Dieses Ausführungsbeispiel kann
jedoch modifiziert werden, so dass die andere Fehlerdetektierung
eines derartigen Kodes, wie ein CRC Kode, ebenso verwendet wird.
Diese Modifikation kann die Genauigkeit von Fehlerdetektierung verbessern.
Weiterhin kann das oben beschriebene bevorzugte Ausführungsbeispiel
durch Anwenden der Modifikationen korrespondierend zu den Modifikationen
(1) – (4)
des dritten bevorzugten Ausführungsbeispiels
modifiziert werden.
-
E. fünftes bevorzugtes Ausführungsbeispiel
-
12 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung 501 einer
Datenübermittlungsvorrichtung
gemäß eines
fünften
bevorzugten Ausführungsbeispiels
der vorliegenden Erfindung zeigt. 13 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung 502 der Datenübermittlungsvorrichtung
zeigt. 14 zeigt eine
Datenverarbeitung, die in gleichen Abschnitten der Übermittlervorrichtung 501 und
der Empfängervorrichtung 502 ausgeführt wird.
-
Als erstes wird eine Beschreibung
im Hinblick auf die Übermittlervorrichtung 501 gegeben. Durch
eine Eingangsklemme 511 eingegebene Daten werden über einen
Puffer 512 Kodierungseinheit für Kodierungseinheit zu einem
Datenseparator 513 geliefert. Die somit gelieferten Daten
werden in Daten, die einen Schutz erfordern, und Daten, die keinen
Schutz erfordern, geteilt, basierend auf der Wichtigkeit von jedem
Teil der Daten. Die Daten, die Schutz erfordern, werden zu einem
CRC Kodierer 514 als Originaldaten geliefert, wie in der
Darstellung (a) von 14 gezeigt
ist. Die Daten, die keinen Schutz erfordern, werden zu einem Multiplexer 518 geliefert.
-
Den Originaldaten wird ein CRC Kode
für eine
Fehlerdetektierung durch den CRC Kodierer 514 hinzugefügt, wie
in der Darstellung (b) von 14 gezeigt
ist, und weiterhin werden Endbits für eine Beendigung der Faltungskodierung
durch einen Endbithinzufüger 515 hinzugefügt, wie
in der Darstellung (c) von 14 gezeigt
ist. Diese Endbits weisen eine Bitlänge korrespondierend zu einer
begrenzenden Länge
einer Faltungskodierung auf, die durch einen Faltungskodierer 516 ausgeführt wird.
-
Der Faltungskodierer 516 führt bei
einer Redundanz von 2/3 eine Fehlerkorrekturkodierung der von dem
Endbithinzufüger 515 gelieferten
Daten aus. Genauer gesagt führt
der Faltungkodierer 516 in dem bevorzugten Ausführungsbeispiel
eine Faltung der von dem Endbithinzufüger 515 gelieferten
Daten aus, um einen Faltungskode zu erzeugen, der eine Redundanz
von 1/3 aufweist, und erzeugt einen punktierten Faltungskode, der
eine Redundanz von 2/3 aufweist, basierend auf dem Faltungskode,
wie in der Darstellung (d) von 14 gezeigt
ist.
-
Ein Kodeteiler 517 teilt
den somit durch den Faltungskodierer 516 erzeugten Faltungskode
durch drei, um drei punktierte Kodes X, Y und Z zu erzeugen, wie
in der Darstellung (e) von 14 gezeigt
ist. Jeder der punktierten Kodes X, Y und Z hat eine kürzere Kodelänge, als
die Originaldaten, die keine Faltung aufgewiesen haben. Wenn jedoch
ein Erzeugen kodierter Daten eine Kodelänge aufweist, die gleich oder
größer als
die Kodelänge
der Originaldaten ist, durch Kombinationen von zwei oder mehr Faltungskodes,
die von den Faltungskodes X, Y und Z ausgewählt wurden, d. h., Kombinationen
von X und Y, und von Y und Z, und von Z und X und von X, Y und Z, können die
Originaldaten aus jedem der erzeugten Kodedaten dekodiert werden.
In diesem bevorzugten Ausführungsbeispiel
sollte die Kodeauswahl zum Erzeugen der punktierten Kodes X, Y und
Z aus den Originalfaltungskodes derart ausgeführt werden, so dass punktierte
Kodes erhalten werden, die eine derartige Möglichkeit aufweisen.
-
Der Multiplexer 518 multiplext
die drei kodierten Daten (die punktierten Kodes X, Y und Z) und
die von dem Datenseparator 513 ausgegebenen Daten, die
keinen Schutz erfordern, und gibt die so gemultiplexten Daten zu
einer Kommunikationsleitung über eine
Ausgangsklemme 519 aus. Wie in dem ersten bevorzugten Ausführungsbeispiel
beschrieben, wird das Multiplexen derart ausgeführt, so dass die keinen Schutz erfordernden
Daten zwischen den kodierten Daten eingefügt werden und die kodierten
Daten voneinander auf einer Zeitachse separiert sind, so dass sie
nicht auf den gleichen Burstfehler treffen (Bezug 3).
-
Als nächstes wird die Beschreibung
in Hinblick auf die Empfängervorrichtung 502 gegeben.
Die von der Übermittlervorrichtung 501 ausgegebenen Daten
werden zu einer Eingangsklemme 521 der Empfängervorrichtung 502 übermittelt.
Die somit übermittelten
Daten werden über
einen Puffer 522 Dekodiereinheit für Dekodiereinheit zu einem
Demultiplexer 523 geliefert. Die Daten werden dann durch den
Demultiplexer 523 in die drei kodierten Daten (d. h., punktierte
Kodes X, Y und Z) und die keinen Schutz erfordernden Daten geteilt.
Die Daten, die keinen Schutz erfordern, werden zu einem Datenmischer 528 gesendet.
Die drei vor Kodefehlern geschützte
kodierte Daten, d. h., die punktierten Faltungskodes X, Y und Z,
werden zu den Kodemischern 524A– 524D geliefert.
-
Der Kodemischer 524A mischt
die punktierten Kodes X und Y, um einen punktierten Kode XY zu erzeugen,
und der Kodemischer 524B mischt die punktierten Kodes Y
und Z, um einen punktierten Kode YZ zu erzeugen, wobei der Kodemischer 524C die
punktierten Kodes Y und Z mischt, um einen punktierten Kode YZ zu
erzeugen und der Kodemischer 524D mischt die punktierten
Kodes X, Y und Z, um einen punktierten Faltungskode XYZ zu erzeugen,
der der originalpunktierte Faltungskode vor der Teilung ist.
-
Ein Faltungskodedekodierer 525A führt eine Fehlerkorrekturdekodierung
bei dem durch den Kodemischer 524A erzeugten punktierten
Faltungskode XY aus, um dekodierte Daten korrespondierend zu den
Originaldaten vor der Faltungskodierung zu erzeugen, wie in der
Darstellung (f) von 14 gezeigt ist. Ähnlich führt ein
Faltungskodedekodierer 525B eine Fehlerkorrekturdekodierung
bei dem durch den Kodemischer 524B erzeugten punktierten
Kode YZ aus, um dekodierte Daten korrespondierend zu den Originaldaten
vor der Faltungskodierung zu erzeugen, wie in der Darstellung (g)
von 14 gezeigt ist. Ein
Faltungskodedekodierer 525C führt eine Fehlerkorrekturdekodierung
bei dem durch den Kodemischer 524C erzeugten punktierten
Kode ZX aus, um dekodierte Daten korrespondierend zu den Originaldaten
vor der Faltungskodierung zu erzeugen, wie in der Darstellung (h)
von 14 gezeigt ist.
Weiterhin führt
ein Faltungskodedekodierer 525D eine Fehlerkorrekturdekodierung
bei dem durch den Kodemischer 524D erzeugten punktierten
Faltungskode XYZ aus, um dekodierte Daten korrespondierend zu den Originaldaten
vor der Faltungskodierung zu erzeugen, wie in der Darstellung (i)
von 14 gezeigt ist.
-
CRC Dekodierer 526A–526D führen entsprechend
eine Kodefehlerdetektierung der von den Faltungskodedekodierern 525A–525D erhaltenen dekodierten
Daten aus, basierend auf den CRC Kodes, die in den dekodierten Daten
eingeschlossen sind.
-
Die Ergebnisse einer Kodefehlerdetektierung
der CRC Dekodierer 526A–526C werden zu einem
Auswähler 527 gesendet.
Der Auswähler 527 wählt eine
aus den dekodierten Datenanordnungen aus, von der erwartet wird,
dass sie keinen Kodefehler oder einen geringsten verbliebenen Kodefehler aufweist,
basierend auf den Ergebnissen einer Kodefehlerdetektierung. Genauer
gesagt wird die Auswahl gemäß des folgenden
Verfahrens ausgeführt:
- a. Wenn die von den Faltungskodedekodierern 525A–525D ausgegebenen
kodierten Daten kodierte Daten einschließen, bei denen kein Kodefehler
detektiert wird, wählt
der Auswähler 527 derartige
dekodierte Daten aus, die keinen Kodefehler aufweisen und sendet
diese zu einem Datenmischer 528.
- b. Wenn Kodefehler bei allen von den Faltungsdekodierungskodedekodierern 525A–525D ausgegebenen
kodierten Daten detektiert werden, wählt der Auswähler 527 die
von dem Faltungskodedekodierer 525D ausgegebenen dekodierten
Daten aus und sendet sie zu dem Datenmischer 528. Deshalb
werden die von dem Faltungskodedekodierer 525D ausgegebenen
dekodierten Daten von den kodierten Daten erhalten, die eine Redundanz
von 2/3 aufweisen, und es wird erwartet, dass der verbleibende Fehler
weniger als der der anderen dekodierten Daten ist.
-
Der Datenmischer 528 multiplext
die durch den Auswähler 527 ausgewählten dekodierten
Daten und die von dem Demultiplexer 523 gesendeten Daten,
die keinen Schutz erfordern, und gibt die gemultiplexten Daten über eine
Ausgangsklemme 529 als dekodierte Daten aus. Wenn die dekodierten
Daten und die keinen Schutz erfordernden Daten durch verschiedene
externe Vorrichtungen verwendet werden, können die dekodierten Daten
und die Daten, die keinen Schutz erfordern, zu den externen Vorrichtungen über verschiedene
Ausgangsklemmen geliefert werden.
-
Das fünfte bevorzugte Ausführungsbeispiel ist
wie oben beschrieben und die Effekte des oben beschriebenen ersten
bevorzugten Ausführungsbeispiels
werden ebenso aus dem fünften
bevorzugten Ausführungsbeispiel
erhalten. Es gibt folgende Modifikationen im Hinblick auf das fünfte bevorzugte
Ausführungsbeispiel:
- (1) Wie in dem ersten bevorzugten Ausführungsbeispiel
kann der Auswähler 527 derart
ausgelegt sein, dass er nicht nur die dekodierten Daten auswählt, bei
denen kein Kodefehler detektiert wird, sondern auch die dekodierten
Daten durch Verwenden des Vergleichsergebnisses vergleicht, um die
Fehldetektierung des CRC Dekodierens zu reduzieren.
- (2) In dem oben beschriebenen bevorzugten Ausführungsbeispiel
ist die Redundanz der Fehlerkorrekturdekodierung der Übermittlervorrichtung
2/3, und der durch Fehlerkorrekturkodierung erhaltene Faltungskode
wird durch drei geteilt, und die drei so geteilten kodierten Daten
werden übermittelt. In
einer Modifikation kann jedoch die andere Redundanz und Teilungsanzahl
ausgewählt
werden.
- (3) Das oben beschriebene bevorzugte Ausführungsbeispiel offenbart das
Beispiel, in dem die kodierten Daten in die drei kodierten Daten
geteilt werden, die eine gleiche Kodelänge aufweisen. Dieses Beispiel
kann derart modifiziert werden, dass die kodierten Daten in kodierte
Daten geteilt werden, die unterschiedliche Kodelängen aufweisen. In dem allgemeinen Übermitteln
von Daten einschließlich
synchroner Information ist eine Wahrscheinlichkeit einer Kodefehlererzeugung relativ
niedrig im Hinblick auf den Teil von Daten, der direkt hinter der
synchronen Information ist. Daher wird eine Modifikation, in der
ein führender Teil
von Originaldaten, der direkt hinter der synchronen Information
ist, als eine lange Kodelänge aufweisende
kodierte Daten übermittelt,
und der andere Teil wird als Kodedaten übermittelt, die eine kürzere Kodelänge als
die des führenden Teils
aufweisen. In einer anderen Modifikation kann der originale Faltungskode
in eine Mehrzahl von kodierten Daten geteilt werden, die verschiedene
Kodelängen
aufweisen, einschließlich
nicht nur Kodelängen
kürzer
als die der Originaldaten, sondern auch Kodelängen gleich oder größer der der
Originaldaten. In der Empfängervorrichtung dieser
Modifikation werden die kodierten Daten dekodiert und die dekodierten
Daten ausgegeben, wenn empfangene kodierte Daten, die unabhängig dekodiert
werden können,
keinen Kodefehler aufweisen. Wenn ein Kodefehler bei derartigen Kodedaten
detektiert wird, werden kodierte Daten und andere Kodedaten gemischt,
um kodierte Daten zu erzeugen, die eine Fehlerkorrekturmöglichkeit
aufweisen, und eine Fehlerkorrekturkodierung wird unter Verwenden
der so erzeugten kodierten Daten ausgeführt. Auf diese Weise können den
geteilten kodierten Daten bei der Übermittlung und Dekodierung
Prioritäten
zugewiesen werden. Daher ergibt die Modifikation einen Vorteil,
dass effektive Dekodierung in der Empfängervorrichtung ausgeführt werden
kann.
- (5) In der Übermittlervorrichtung 501 des
oben beschriebenen bevorzugten Ausführungsbeispiels ist der CRC
Kodierer 514 vor dem Faltungskodierer 516 platziert.
Dieses Ausführungsbeispiel kann
modifiziert werden, dass der CRC Kodierer an der Ausgangsseite des
Kodeteilers platziert ist, und die zwei kodierten Datenanordnungen
werden den CRC Kodes hinzugefügt,
die von dem Kodeteiler erhalten werden. In dieser Modifikation werden
die Fehlerdetektierungen der zwei kodierten Datenanordnungen basierend
auf den CRC Kodes ausgeführt,
die in den kodierten Daten der Empfängervorrichtung eingeschlossen
sind. Wenn kein Fehler detektiert wird bei kodierten Daten, die
unabhängig
kodiert werden können,
oder kodierten Daten, die durch Mischen kodierter Daten erhalten
werden, wird eine Dekodierung auf derartig kodierten Daten ausgeführt. Wenn
Fehler bei allen kodierten Daten detektiert werden, wird eine Fehlerkorrekturkodierung
von kodierten Daten ausgeführt,
die durch Mischen kodierter Daten erhalten werden. In dieser Modifikation
wird der Umfang einer Operation im Vergleich zu dem Fall reduziert,
in dem eine Fehlerkorrekturkodierung von gemischten Daten immer
ausgeführt
wird.
- (6) Im oben beschriebenen bevorzugten Ausführungsbeispiel wird eine Faltungskodierung
als Fehlerkorrekturkodierung verwendet. Die andere Korrekturkodierung,
wie eine umkehrbare Kodierung, kann an Stelle der Faltungskodierung
verwendet werden.
- (7) Der Endbithinzufüger 515 kann
in dem oben beschriebenen bevorzugten Ausführungsbeispiel ausgelassen
werden, wenn eine relativ niedrige Fehlerkorrekturmöglichkeit
erforderlich ist im Hinblick auf die Bits, die in der Nähe des Beendigungsteils
der einen Schutz erfordernden Daten platziert sind. In diesem Fall
kann die Redundanz korrespondierend zu dem Endbit zurückgewiesen werden.
-
F. Sechstes bevorzugtes
Ausführungsbeispiel.
-
15 ist
ein Blockdiagramm, das die Konfiguration einer Übermittlervorrichtung 601 einer
Datenübermittlungsvorrichtung
gemäß einem
sechsten bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung zeigt. 16 ist
ein Blockdiagramm, das die Konfiguration einer Empfängervorrichtung 602 der
Datenübermittlungsvorrichtung
zeigt.
-
Wie in 15 gezeigt
ist, besteht die Übermittlervorrichtung 601 aus
einer Eingangsklemme 611, einem Puffer 612, einem
Datenseparator 613, einem Endbithinzufüger 615, einem Faltungskodierer 616,
einem Kodeteiler 617, einem Multiplexer 618 und
einer Ausgangsklemme 619. In dem oben beschriebenen fünften bevorzugten
Ausführungsbeispiel
ist die Übermittlervorrichtung 501 ausgelegt,
so dass den von dem Datenseparator 513 ausgegebenen Originaldaten
ein CRC Kode durch den CRC Kodierer 514 hinzugefügt wird,
und die Originaldaten, die den CRC Kode aufweisen, werden zu dem
Endbithinzufüger 515 geliefert.
In der Übermittlervorrichtung
des sechsten bevorzugten Ausführungsbeispiels
werden die von dem Datenseparator 613 ausgegebenen Originaldaten
direkt zu dem Endbithinzufüger 615 geliefert.
Die andere Konfiguration ist die gleiche wie die Konfiguration der Übermittlervorrichtung 501 des
fünften
bevorzugten Ausführungsbeispiels.
-
Als nächstes wird eine Beschreibung
in Hinblick auf die Empfängervorrichtung 602 gegeben.
Die von der Übermittlervorrichtung 601 übermittelten
Daten werden über die
Kommunikationsleitung zu einer Eingangsklemme 621 der Empfängervorrichtung 602 übermittelt.
Diese Daten werden Dekodierungseinheit für Dekodierungseinheit über einen
Puffer 622 zu einem Demultiplexer 623 geliefert,
und die so gelieferten Daten werden in drei kodierte Daten und keinen
Schutz erfordernde Daten, geteilt. Die Daten, die keinen Schutz
erfordern, werden von dem Demultiplexer 623 zu einem Datenmultiplexer 628 geliefert. Andererseits
werden die drei kodierten Daten, die vor Kodefehler geschützte punktierte
Kodes X, Y und Z sind, zu den Kodemischern 624A–624D geliefert. Wie
in dem oben beschriebenen fünften
Ausführungsbeispiel
erzeugt der Kodemischer 624A einen punktierten Kode XY
unter Verwenden der punktierten Kodes X und Y, und der Kodemischer 624B erzeugt
einen punktierten Kode YZ unter Verwenden der punktierten Kodes
Y und Z, und der Kodemischer 624C erzeugt einen punktierten
Kode ZX unter Verwenden der punktierten Kodes Z und X, und der Kodemischer 624D erzeugt
einen punktierten Faltungskode XYZ, der mit dem originalen Faltungskode
vor einer Teilung korrespondiert, unter Verwenden der punktierten
Kodes X, Y und Z.
-
Die Faltungskodedekodierer 625A–625D führen jeweils
eine Viterbi-Dekodierung der durch die Kodemischer 624A–624D erzeugten
punktierten Kodes aus, um jeweils dekodierte Daten zu erzeugen.
Weiterhin berechnen die Faltungsdekodierer 625A –625D die
Metriken der verbleibenden Pfade in deren Viterbi-Dekodierung und senden
jeweils die berechneten Metriken zu Metriküberwachern 626A–626D.
Die Metriküberwacher 626A 626D führen jeweils
eine Kodefehlerdetektierung von von den Faltungsdekodierern 625A–625D ausgegebenen
dekodierten Daten aus durch entsprechendes Vergleichen der berechneten
Metriken mit einem vorbestimmten Referenzwert.
-
Ein Auswähler 627 wählt aus
den dekodierten Daten basierend auf den Ergebnissen einer Kodefehlerdetektierung
wie folgt aus:
- a. Wenn die durch die Faltungskodedekodierer 625A–625D erzeugten
dekodierten Daten dekodierte Daten einschließen, die keinen Fehler aufweisen,
wählt der
Auswähler
derartige dekodierten Daten aus und gibt sie zu einem Datenmischer 628 aus.
- b. Wenn Kodefehler von allen durch die Faltungskodedekodierer 625A–625D erzeugten
kodierten Daten detektiert werden, wählt der Auswähler die durch
den Faltungskodedekodierer 625D erzeugten dekodierten Daten
aus und gibt sie zu dem Datenmischer 628 aus.
-
Der Datenmischer 628 multiplext
die durch den Auswähler 627 ausgewählten dekodierten
Daten und die von dem Demultiplexer 623 gesendeten Daten,
die keinen Schutz erfordern, und gibt die somit gemultiplexten Daten
als dekodierte Daten über
eine Ausgangsklemme 629 aus.
-
Wie oben beschrieben, wird eine Fehlerdetektierung
der dekodierten Daten durch Verwenden von Metriken ausgeführt, die
in der Fehlerkorrekturdekodierung berechnet werden. Daher ist es
nicht notwendig Redundanzbits zu den kodierten Daten für eine Fehlerdetektierung
hinzuzufügen.
Somit kann die Redundanz einer Übermittlung,
wie in dem zweiten bevorzugten Ausführungsbeispiel, reduziert werden.
-
Dieses Ausführungsbeispiel kann modifiziert werden,
so dass der andere Fehlerdetektierungskode, wie ein CRC Kode, ebenso
verwendet wird. Diese Modifikation kann die Genauigkeit von Fehlerdetektierung
verbessern. Weiterhin kann das oben beschriebene bevorzugte Ausführungsbeispiel
durch Anwenden der Modifikationen korrespondierend zu den Modifikationen
(1) bis (3) des fünften bevorzugten Ausführungsbeispiels
modifiziert werden.
-
G. Siebtes bevorzugtes
Ausführungsbeispiel
-
In dem ersten und zweiten Ausführungsbeispiel
werden kodierte Daten, die eine Redundanz von 1/N aufweisen, durch
N geteilt, und die geteilten kodierten Daten werden als führende und
nachfolgende Teile eines Rahmens übermittelt. Somit kann in dem Fall,
in dem ein Burstfehler gelegentlich auftritt, der eine lange Burstlänge (verbleibende
Zeit eines Burstfehlers) aufweist, einer der durch die Empfängervorrichtung
empfangenen geteilten kodierten Daten einen Kodefehler einschließen, aber
die anderen geteilten kodierten Daten können keinen Kodefehler einschließen. In
einem derartigen Fall wird daher erwartet, dass genaue Dekodierung
in der Empfängervorrichtung
durch Verwenden der kodierten Daten, die keinen Kodefehler aufweisen,
ausgeführt
werden kann.
-
Wenn jedoch die bevorzugten Ausführungsbeispiele
bei einer Bedingung verwendet werden, in der eine kurze Burstlänge aufweisende
Burstfehler in kurzen Intervallen erscheinen, erhöht eine
derartige Verwendung des bevorzugten Ausführungsbeispiels eine Wahrscheinlichkeit,
dass jeder der durch die Empfängervorrichtung
empfangenen geteilten kodierten Daten einen Kodefehler einschließt. In diesem
Fall haben nicht alle der geteilten kodierten Daten eine Fehlerkorrekturmöglichkeit.
Daher kann die Empfängervorrichtung,
unter unabhängigem
Verwenden aller der geteilten kodierten Daten keine Fehlerkorrekturdekodierung
ausführen.
Weiterhin erhöht
die Verwendung der gemischten kodierten Daten eine Wahrscheinlichkeit,
dass die Originaldaten nicht genau dekodiert werden, weil die gemischten kodierten
Daten Kodefehler einschließen,
die in den geteilten kodierten Daten eingeschlossen waren, auch
wenn die geteilten kodierten Daten gemischt sind.
-
In dem dritten und vierten bevorzugten
Ausführungsbeispiel
werden kodierte Daten, die eine Redundanz von 1/N aufweisen, durch
M (M < N) geteilt, und
daher ist die Kodelänge
von allen der geteilten kodierten Daten länger als die Kodelänge der
Originaldaten vor der Kodierung. Somit erhöht die Verwendung des bevorzugten
Ausführungsbeispiels eine
Wahrscheinlichkeit, dass die übermittelten
kodierten Daten Burstfehler aufweisen, bei einer Bedingung, bei
der ein eine lange Burstlänge
aufweisender Burstfehler gelegentlich erscheint, und daher werden die Übermittlungscharakteristiken
nicht verbessert.
-
Die übermittelten kodierten Daten
in den bevorzugten Ausführungsbeispielen
weisen jedoch jeweils eine Fehlerkorrekturmöglichkeit auf. In dem Fall,
in dem die bevorzugten Ausführungsbeispiele bei
einer Bedingung verwendet werden, bei der eine kurze Burstlänge aufweisende
Burstfehler in kurzen Intervallen erscheinen, kann die Empfängervorrichtung
jeweils die empfangenen kodierten Daten durch Fehlerkorrekturdekodierung
dekodieren unter Verwenden der Fehlerkorrekturmöglichkeiten der dekodierten
Daten. Auch wenn die durch die Empfängervorrichtung empfangenen
kodierten Daten Kodefehler aufweisen, können die keinen Kodefehler
aufweisenden kodierten Daten so lange erhalten werden, wie die Kodefehler
leichte Fehler sind, die durch die Fehlerkorrekturmöglichkeiten
korrigiert werden können.
Daher sind die bevorzugten Ausführungsbeispiele
effektiv als Mittel zum Verbessern der Fehlerkorrekturmöglichkeit
der Kommunikation bei einer Bedingung, bei der eine kurze Burstlänge aufweisende
Burstfehler in kurzen Intervallen erscheinen.
-
Die Verwendung des fünften und
sechsten bevorzugten Ausführungsbeispiels
liefert gute Übermittlungscharakteristiken
bei einer Bedingung, bei der ein Burstfehler gelegentlich auftritt,
der einen langen Burstfehler aufweist, wie in dem ersten und zweiten
bevorzugten Ausführungsbeispiel.
Wenn die bevorzugten Ausführungsbeispiele
jedoch bei einer Bedingung verwendet werden, in der eine kurze Burstlänge aufweisende
Burstfehler in kurzen Intervallen erscheinen, werden die Übermittlungscharakteristiken
nicht verbessert.
-
Unter Berücksichtigung des Vorteils und Nachteils
der oben beschriebenen bevorzugten Ausführungsbeispiele ist es effektiv
das Verfahren zum Teilen der kodierten Daten in Antwort auf die
Bedingung einer Kodefehlererscheinung zu ändern, um eine hochqualitative
Kodierungsübermittlung
bei jeder Bedingung auszuführen.
-
Das siebte bevorzugte Ausführungsbeispiel basiert
auf der oben beschriebenen Betrachtung. In dem bevorzugten Ausführungsbeispiel
werden die kodierten Daten bei einer Bedingung, bei der ein Burstfehler
erscheint, der eine lange Burstlänge
aufweist, in kodierte Daten geteilt, die eine Kodelänge kürzer als
die der Originaldaten vor der Kodierung aufweisen, um die Wahrscheinlichkeit
zu reduzieren, dass die übermittelten
kodierten Daten einen Kodefehler einschließen. Im Gegensatz dazu werden
die kodierten Daten bei einer Bedingung, bei der Burstfehler erscheinen,
die eine kürzere
Burstlänge
aufweisen, in kodierte Daten geteilt, die eine Kodelänge aufweisen,
die länger
ist als die der Originaldaten vor der Kodierung, so dass die Empfängervorrichtung
die kodierten Daten durch Fehlerkorrekturkodierung dekodieren kann
unter Verwenden der Fehlerkorrekturmöglichkeiten der kodierten Daten.
-
Das bevorzugte Ausführungsbeispiel
erfordert Mittel zum Ändern
des Verfahrens zum Teilen der kodierten Daten in Antwort auf eine
Burstlänge
eines in der Kommunikationsleitung erzeugten Burstfehlers. Um die Änderung
auszuführen,
ist es notwendig eine Burstlänge
eines in der Kommunikationsleitung erzeugten Burstfehlers anzunehmen.
Bei einer Mobilkommunikation kann ein Verfahren, dass eine Messung
einer Dopplerfrequenz verwendet, als Mittel zum Annehmen einer Burstlänge verwendet werden.
Genauer gesagt, ist bei Mobilkommunikation bekannt, dass die Burstlänge von
Burstfehlern umgekehrt proportional zu einer Dopplerfrequenz einer
in Folge der Bewegung von einem Endgerät erzeugten Phasung sind. Daher
kann die Burstlänge
von der Messung einer Dopplerfrequenz durch Verwendung dieser Charakteristiken
der Mobilkommunikation angenommen werden.
-
17–20 zeigen das siebte bevorzugte Ausführungsbeispiel
basierend auf einem oben beschriebenen technischen Gedanken. Das
bevorzugte Ausführungsbeispiel
besteht aus einer Mischung des ersten und dritten bevorzugten Ausführungsbeispiels. 17 ist ein Blockdiagramm,
das die Konfiguration einer Übermittlervorrichtung 701 von
einer Datenübermittlungsvorrichtung
gemäß des siebten bevorzugten
Ausführungsbeispiels
zeigt. 18 ist ein Blockdiagramm,
das die Konfiguration einer Empfängervorrichtung 702 der
Datenübermittlungsvorrichtung
zeigt. 19 ist ein Blockdiagramm,
das die Konfiguration eines in der Empfängervorrichtung 702 bereitgestellten
Datendekodierens zeigt. 20 zeigt
eine Datenverarbeitung, die in einigen Abschnitten der Übermittlervorrichtung 701 und
der Empfängervorrichtung 702 ausgeführt wird.
-
Als erstes wird eine Beschreibung
im Hinblick auf die Übermittlervorrichtung 701 mit
Bezugnahme auf 17 gegeben.
Durch eine Eingangsklemme 711 eingegebene Daten werden über einen Puffer 712 Kodiereinheit
für Kodiereinheit
zu einem Datenseparator 713 geliefert. Die somit gelieferten Daten
werden in Daten, die Schutz erfordern, und Daten, die keinen Schutz
erfordern, geteilt, basierend auf der Wichtigkeit jedes Teils der
Daten. Die Daten, die Schutz erfordern, werden zu einem CRC Kodierer 714 als
Originaldaten geliefert, wie in der Darstellung (a) von 20 gezeigt ist. Die Daten,
die keinen Schutz erfordern, werden zu Multiplexer 718A und 718B geliefert.
-
Den Originaldaten wird durch den
CRC Kodierer 714 ein CRC Kode für eine Fehlerdetektierung hinzugefügt und weiterhin
Endbits für
eine Beendigung einer Faltungskodierung durch einen Endbithinzufüger 715 hinzugefügt, wie
in der Darstellung (b) von 20 gezeigt
ist. Die Endbits weisen eine Bitlänge korrespondierend zu einer
Begrenzungslänge von
einer durch einen Faltungskodierer 716 ausgeführten Faltungskodierung
auf.
-
Der Faltungskodierer 716 führt bei
einer Redundanz von 1/3 eine Fehlerkorrekturkodierung der von dem
Endbithinzufüger 715 gelieferten
Daten aus. Als ein Ergebnis wird durch den Faltungskodierer 716 ein
Faltungskode erzeugt, der eine Redundanz von 1/3 aufweist, wie in
der Darstellung (c) von 20 gezeigt
ist.
-
Andererseits vermutet eine Burstlängenvermutungsvorrichtung 703 eine
Burstlänge
bei einem Verfahren durch zum Beispiel Messen einer Dopplerfrequenz.
Wenn die vermutete Burstlänge
kürzer
als ein vorbestimmter Schwellwert ist, liefert die Burstlängenvermutungsvorrichtung 703 den
durch den Faltungskodierer 716 erzeugten Faltungskode zu
einem Kodeteiler 717A. Wenn die vermutete Burstlänge länger als
der Schwellwert ist, liefert die Burstlängenvermutungsvorrichtung 703 den
Faltungskode zu einem Kodeteiler 717B.
-
Der Kodeteiler 717A teilt
den eingegebenen Faltungskode durch zwei. Daher wird der durch den Faltungskodierer 716 erzeugte
Faltungskode, der eine Redundanz von 1/3 aufweist, durch den Kodeteiler 717A durch
zwei geteilt, wenn die Burstlänge kurz
ist. Als ein Ergebnis werden zwei kodierte Datenanordnungen erhalten,
die eine Redundanz von 2/3 aufweisen, wie in dem dritten bevorzugten
Ausführungsbeispiel
(Bezug auf die Darstellungen (d) und (e) von 9).
-
Im Gegensatz dazu teilt der Kodeteiler 717B den
eingegebenen Faltungskode durch drei. Daher wird der durch den Faltungskodierer 716 erzeugte Faltungskode,
der eine Redundanz von 1/3 aufweist, durch den Kodeteiler 717B durch
drei geteilt, wenn die Burstlänge
lang ist, wie in den Darstellungen (c) und (d) von 20 gezeigt ist. Auf diese Weise wird der
Faltungskode in eine Redundanz von 1 aufweisende kodierte Daten
geteilt, wie in dem ersten bevorzugten Ausführungsbeispiel.
-
Wenn kodierte Daten durch den Kodeteiler 717A erzeugt
werden, multiplext der Multiplexer 718A die somit erzeugten
kodierten Daten mit von dem Datenseparator 713 gelieferten
Daten, die keinen Schutz erfordern. Ähnlich multiplext der Multiplexer 718B die
somit erzeugten kodierten Daten mit den von dem Datenseparator 713 gelieferten
Daten, die keinen Schutz erfordern, wenn kodierte Daten durch den
Kodeteiler 717B erzeugt werden.
-
Wenn die Burstlänge kurz ist und die Burstlängenvermutungsvorrichtung 703 den
Faltungskode zu dem Kodeteiler 717A liefert, berichtet
die Burstlängenvermutungsvorrichtung 703 das
zu einem Identifikationsbithinzufüger 704 und wählt das
Ausgangssignal des Multiplexers 718A aus, um das Ausgangssignal
zu dem Identifikationsbithinzufüger
zu liefern. Als ein Ergebnis wird einem Identifikationsbit, das
anzeigt, dass der Faltungskode durch zwei geteilt ist, das Ausgangssignal
des Multiplexers 718A durch den Identifikationsbithinzufüger 704 hinzugefügt, und das
Ausgangssignal mit dem angehängten
Identifikationsbit wird zu der Kommunikationsleitung über eine Ausgangsklemme 719 ausgegeben.
-
Andererseits berichtet die Burstlängenvermutungsvorrichtung 703,
wenn die Burstlänge
lang ist und die Burstlängenvermutungsvorrichtung 703 den
Faltungskode zu dem Kodeteiler 717B liefert, dies zu dem
Identifikationsbithinzufüger 704 und wählt das
Ausgangssignal des Multiplexers 718B aus, um das Ausgangssignal
zu dem Identifikationsbithinzufüger
zu liefern. Als ein Ergebnis wird einem Identifikationsbit, das
anzeigt, dass der Faltungskode durch drei geteilt ist, das Ausgangssignal
des Multiplexers 718B durch den Identifikationsbithinzufüger 704 hinzugefügt, und
das Ausgangssginal mit dem anhängenden Identifikationsbit
wird zu der Kommunikationsleitung über die Ausgangsklemme 719 ausgegeben.
-
Als nächstes wird eine Beschreibung
im Hinblick auf die Empfängervorrichtung 702 mit
Bezugnahme auf 18 gegeben.
Die Empfängervorrichtung 702 weist
eine Identifikationsbitbeurteilungsvorrichtung 705, einen
Puffer 706 und einen Datendekodierer 707A und 707B auf.
-
Die von der Übermittlervorrichtung 701 ausgegebenen
Daten werden in dem Puffer 706 über eine Eingangsklemme 721 akkumuliert.
Die akkumulierten Daten werden von dem Puffer 706 Dekodierungseinheit
für Dekodierungseinheit
ausgegeben. Die Identifikationsbitbeurteilungsvorrichtung 705 beurteilt
Identifikationsbits der somit Dekodiereinheit für Dekodiereinheit ausgegebenen
Daten und liefert die ausgegebenen Daten zu dem Datendekodierer 707A oder 707B gemäß dem Ergebnis
der Beurteilung betreffend des Identifikationsbits. Sozusagen liefert
die Identifikationsbitbeurteilungsvorrichtung 705 die Daten
zu dem Datendekodierer 707A, wenn die ausgegebenen Daten
des Puffers 706 Daten sind, die durch Teilen des Faltungskodes
durch zwei erhalten werden (d. h., die Daten, die die Operation
durch den Kodeteiler 717A aufgewiesen haben). Im Gegensatz dazu
liefert die Identifikationsbitbeurteilungsvorrichtung 705 die
Daten zu dem Datendekodierer 707B, wenn die ausgegebenen
Daten des Puffers 706 Daten sind, die durch Teilen des
Faltungskodes durch drei erhalten werden (d. h., die Daten, die
die Operation durch den Kodeteiler 717B aufgewiesen haben).
-
Der Datendekodierer 707A hat
die gleiche Konfiguration wie der Demultiplexer 323 und
die dem Demultiplexer der Empfängervorrichtung 302 des dritten
bevorzugten Ausführungsbeispiels
folgenden Elemente.
-
Wenn die ausgegebenen Daten des Puffers 706 zu
dem Datendekodierer 707A geliefert werden, werden die Daten
in die Daten geteilt, die Schutz erfordern, und die Daten, die keinen
Schutz erfordern. Die Daten, die Schutz erfordern, schließen zwei
kodierte Datenanordnungen ein, die eine Redundanz von 2/3 aufweisen.
In dem Datendekodierer 707A wird eine Fehlerkorrekturdekodierung
unter Verwenden jeder von den zwei kodierten Daten und eine Fehlerkorrekturdekodierung
unter Verwenden von gemischten kodierten Daten, die aus den zwei
kodierten Datenanordnungen bestehen, ausgeführt, und die dekodierten Daten,
die den geringsten verbliebenen Fehler aufweisen, werden ausgewählt und ausgegeben,
wie in den Darstellungen (f)–(h)
von 9 gezeigt ist.
-
Andererseits weist der Datendekodierer 707B eine
Konfiguration auf wie in 19 gezeigt
ist. Die ausgegebenen Daten des Puffers 706 werden zu einem
Demultiplexer 823 über
eine Eingangsklemme 821 geliefert und werden in die Daten
geteilt, die Schutz erfordern, und die Daten, die keinen Schutz erfordern.
Die Daten, die Schutz erfordern, schließen drei kodierte Daten ein
korrespondierend zu Generator-Polynominalausdrücken A, B und C.
-
Faltungskodedekodierer 825A–825C dekodieren
jeweils die drei kodierten Daten, wie in den Darstellungen (e)–(g) von 20 gezeigt ist. Kodemischer 824A–824C erzeugen
jeweils gemischte kodierte Daten durch Kombinieren von zwei von
drei kodierten Daten. Die Faltungskodedekodierer 825A–825C führen jeweils
eine Fehlerkorrekturdekodierung der durch die Kodemischer 824A–r erzeugten
gemischten kodierten Daten aus, wie in den Darstellungen (h)–(j) von 20 gezeigt ist. Ein Kodemischer 824D mischt
die drei kodierten Daten, um gemischte kodierte Daten zu erzeugen.
Ein Faltungskodedekodierer 825G führt eine Fehlerkorrekturdekodierung
der gemischten kodierten Daten aus, wie in der Darstellung (k) von 20 gezeigt ist.
-
CRC Dekodierer 826A bis 826G führen eine Kodefehlerdetektierung
der durch die Faltungskodedekodierer 825A–825G erzeugten
dekodierten Daten aus.
-
Ein Auswähler 827 wählt einen
der dekodierten Daten basierend auf dem Ergebnis der Kodefehlerdetektierung
aus, gemäß des gleichen
Verfahrens wie in dem ersten bevorzugten Ausführungsbeispiel, und liefert
die ausgewählten
dekodierten Daten zu einem Datenmischer 828.
-
Der Datenmischer 828 multiplext
die dekodierten Daten mit den Daten, die keinen Schutz erfordern,
und gibt die somit gemultiplexten Daten über eine Ausgangsklemme 829 aus.
-
Wie oben beschrieben wird die gleiche
Operation wie in dem ersten bevorzugte Ausführungsbeispiel ausgeführt, ausgenommen
für die
Verwendung der drei kodierten Daten.
-
Die Identifikationsbitbeurteilungsvorrichtung 705,
gezeigt in 18, wählt eine
der Ausgangsklemmen des Datendekodierers 707A und 707B basierend
auf dem Ergebnis der Beurteilung hinsichtlich des Identifikationsbits
aus. Als ein Ergebnis werden die ausgegebenen Daten des ausgewählten Datendekodierers über eine
Ausgangsklemme 729 ausgegebenen.
-
Das siebte bevorzugte Ausführungsbeispiel verwendet,
wie oben beschrieben, das Beispiel der Kombination des ersten und
dritten bevorzugen Ausführungsbeispiels.
Der Bereich der vorliegenden Erfindung ist jedoch nicht auf die
Beispiele beschränkt, und
es gibt Modifikationen des bevorzugten Ausführungsbeispiels. Zum Beispiel
kann eine Datenübermittlungsvorrichtung,
die die gleichen Vorteile wie das oben beschriebene siebte bevorzugte
Ausführungsbeispiel
bereitstellt, durch Verwenden von Mitteln zum Teilen der kodierten
Daten in kodierte Daten, die eine kürzere Kodelänge aufweisen als die kodierten
Daten der Originaldaten, die keine Kodierung aufgewiesen haben,
und Mittel zum Teilen der kodierten Daten in kodierte Daten, die
eine längere
Kodelänge
aufweisen, als die Kodelängen
der Originaldaten, bereitgestellt werden.
-
Weiterhin wird in dem oben beschriebenen bevorzugten
Ausführungsbeispiel
der Bereich einer Burstlänge
in zwei Bereiche geteilt, d. h., einen kürzeren Burstlängenbereich
und einen längeren
Burstlängenbereich,
und das Verfahren zum Teilen der kodierten Daten wird ausgewählt basierend
auf dem Bereich, der die vermutete Burstlänge einschließt. Jedoch
kann der Bereich einer Burstlänge
in drei oder mehr Burstlängenbereiche
geteilt werden, und die verschiedenen Verfahren zum Teilen der kodierten
Daten können
für die
verschiedenen Burstlängenbereiche
definiert sein. In diesem Fall kann eines der Verfahren korrespondierend
zu dem Bereich, der die vermutete Burstlänge einschließt, zum
Teilen der kodierten Daten ausgewählt werden.