-
Die
vorliegende Erfindung betrifft eine Qualitäts-Berechnungseinrichtung für viterbi-decodierte Daten unter
Verwendung eines Codierer-Tail-Bits in einem Faltungscodierungssystem
und spezieller eine Qualitäts-Berechnungseinrichtung
für viterbi-decodierte
Daten, die Nullzustands-Metriken (ZSM) aus Zustandsmetriken, die
durch den Betrieb einer Add-Compare-Select-Einheit des Viterbi-Decodierers
erhalten werden, verwendet.
-
In
einem allgemeinen Kommunikationssystem wird die Fehlerkorrekturcodierung
verwendet, um durch das Korrigieren von Fehlern, die, wenn ein Signal
durch einen durch Rauschen verunreinigten Sendekanal geht, und durch
weitere Faktoren, die ein funktionssicheres Übertragen verhindern, verursacht
werden, den Pegelfehler unter einem vorgegebenen Pegel zu halten.
Die Fehlerkorrekturcodierung wird als eine von zwei Typen eingeordnet:
die Blockcodierung zum Hinzufügen
von Redundanz entsprechend einem Block der Daten, die zu senden
sind, und die Faltungscodierung zum Codieren der sequenziell eingegebenen
Daten gemäß einer
Generierungsfunktion des Codierverfahrens. In einem Kommunikationssystem,
das die Faltungscodierung einsetzt, sind die Berechnungseinrichtungen
zum Berechnen der Übertragungsqualität sehr wichtig,
um Fehler beim Bestimmen der Senderate zu verringern.
-
Das
Tagungsdokument „Variable
Data Rate Viterbi Decoder with Modified LOVA Algorithm" vorgelegt auf der
IEEE Region Ten International Conference on Microelectronics and
VLSI, Hongkong, 6. November 1995 beschreibt die Implementierung
eines Viterbi-Decodierers
mit einem modifizierten LOVA (list-of-two List Output Viterbi Algorithm),
der verwendet wird, um variable Datenraten-Frames in CDMA(Code-Multiplex
mit Mehrfachzugriff)-Mobilstationen zu decodieren. Da die Datenrate
dem Empfänger
a priori nicht bekannt ist, führt
der Viterbi-Decodierer sequenzielles Decodieren aller möglichen
Raten durch und bestimmt anschließend durch das Bewerten des äußeren Fehlerkorrekturcodes,
der Symbolfehlerrate der recodierten Bits und der relativen Größe der gehäuften Metriken
des Decodierers die tatsächliche
Rate.
-
Es
ist ein Ziel der Ausführungsbeispiele
der vorliegenden Erfindung, eine Qualitäts-Berechnungseinrichtung für viterbi-decodierte
Daten, die die Fehler beim Bestimmen der Übertragungsrate verringert,
bereitzustellen.
-
Gemäß einem
Aspekt der Erfindung wird eine Qualitäts-Berechnungseinrichtung für viterbi-decodierte Daten,
die Nullzustands-Metriken verwendet, für ein Kommunikationssystem,
das Faltungscodierung einsetzt, bereitgestellt, wobei die Qualitäts-Berechnungseinrichtung
umfasst: einen Viterbi-Decodierer, der den Nullzustands-Metriken eingegebener
demodulierter Daten entsprechend jeder einer Anzahl verschiedener
möglicher Senderaten
ausgibt, ein Register, das die entsprechende Nullzustands-Metrik, die von dem
Viterbi-Decodierer ausgegeben wird, speichert und eine Qualitäts-Bewertungseinheit,
die die in dem Register gespeicherten Nullzustands-Metriken liest,
um die viterbi-decodierten Daten auf Basis der Nullzustands-Metrik
zu bewerten, und die die Ist-Senderate so bestimmt, dass sie eine
unter der möglichen
Anzahl verschiedener Senderaten ist, die die geringste Nullzustands-Metrik
aufweist, wobei der Viterbi-Decodierer
enthält:
eine Zweigmetrik-Berechnungseinrichtung, die Zweige entsprechend
jeder von vier möglichen
Senderaten auf Basis der eingegebenen demodulierten Daten und eines
Zustandsdiagramms aufgrund einer Systemkonfiguration berechnet,
einen Zustandsmetrik-Speicherabschnitt, der die Zustandsmetrik vorangehender
Survival-Wege speichert,
eine Add-Compare-Select-Einheit, die die von der Zweigmetrik-Berechnungseinrichtung
ausgegebene Zweigmetrik und die in dem Zustandsmetrik-Speicherabschnitt
gespeicherten Zustände
empfängt,
die empfangene Zweigmetrik und Zustandsmetrik entsprechend dem Trellis-Diagramm
addiert und die addierten Werte vergleicht, um so ein Pfadauswähl-Signal
auszugeben, dessen Zustandsmetrik die niedrigste unter den verglichenen
Werten und die Zustandsmetrik des ausgewählten Pfads ist, und einen
Pfadspeicher-Abschnitt, der den entsprechenden Pfad speichert, der
durch das Pfadauswähl-Signal,
das von der Add-Compare-Select-Einheit ausgegeben wird, angezeigt
wird.
-
Vorzugsweise
schließen
die Senderaten vier Raten, d. h. eine Nenn-HÖCHST-Senderate und Raten einer Hälfte, eines
Viertels und eines Achtels der HÖCHST-Senderate, ein.
-
Vorzugsweise
ist die Qualitäts-Bewertungseinheit
ein digitaler Signalprozessor.
-
Zum
besseren Verständnis
der Erfindung und um zu zeigen, wie Ausführungsbeispiele derselben in die
Praxis umgesetzt werden, wird im Folgenden beispielhaft Bezug auf
die begleitenden diagrammatischen Zeichnungen genommen, in denen:
-
1 ein
Blockdiagramm einer Qualitäts-Berechnungseinrichtung
für viterbi-decodierte
Daten, die eine Bitfehlerrate verwendet, ist,
-
2 ein
Blockdiagramm einer Qualitäts-Berechnungseinrichtung
für viterbi-decodierte
Daten, die die Nullzustands-Metriken gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung verwendet, ist und
-
3 ein
detailliertes Blockdiagramm des Viterbi-Decodierers in der 2 ist.
-
Digitale
zellulare Mobilkommunikation und persönliche Kommunikationsdienste
verwenden zum Detektieren und zum Korrigieren eines Sendefehlers
einen zyklischen Redundanzcode (PCS) und einen Faltungscode und
setzen einen CDMA-Standard (IS-95 und J-STD-008) ein. Bezug nehmend
auf diese Bereiche, wird ein Verfahren zum Messen einer Bitfehlerrate
(BER) und unter Verwendung von CRC und dem Faltungscodierungsverfahren
beschrieben.
-
Gemäß CDMA-Standard
ist die Senderate eines Sprachsignals nicht feststehend, sondern
wird unter Verwendung eines Sprachsignal-Aktivitätsdetektors zum Detektieren
des aktiven Zustands des erzeugten Sprachsignals zwischen vier Raten
variiert. Die Tabelle 1 zeigt die Senderaten gemäß CDMA-Standard (IS-95 und
J-STD-008), der der Standard für
eine digitale zellulare Mobilkommunikation und für PCS ist.
-
In
den Fällen
des CDMA-Zellularsystems und der RATE SET1 von PCS wird, wenn durch
einen Sprachsignal-Aktivitätsdetektor
ein Zustand, in dem ein Sprachsignal am aktivsten ist, detektiert
wird, das Sprachsignal mit der Maximalrate (oder Nenn-HÖCHST-Rate) von 9 600 bps gesendet.
Ebenso wird, wenn ein Zustand, in dem das Sprachsignal am wenigsten
aktiv ist, detektiert wird, das Sprachsignal mit der Mindestrate von
1 200 bps (1/8 der Nenn-HÖCHST-Rate),
welches der Mindestpegel, der zum kontinuierlichen Erhalten eines
Kanals zwischen einer Basisstation und einem Datenendgerät erforderlich
ist, gesendet. Ebenso wird, wenn sich das Sprachsignal von dem aktivsten
Zustand zu dem am wenigsten aktiven Zustand hin ändert oder sich von dem am
wenigsten aktiven Zustand zu aktivsten Zustand hin ändert, das
Sprachsignal mit einer Zwischenrate von 4 800 bps (eine HÄLFTE der
Nenn-HÖCHST-Rate)
oder mit 2 400 bps (ein VIERTEL der Nenn-HÖCHST-Rate) gesendet.
-
-
Das
Senden der Information bei verschiedenen Senderaten gemäß dem Aktivitätsgrad des
Sprachsignals ermöglicht
durch das Senden der Mindestmenge der zum Erhalt eines Kommunikationskanals
zwischen der Basisstation und dem Datenendgerät erforderlichen Information,
wenn nur eine kleine Informationsmenge übertragen werden muss, die
effektive Nutzung einer erforderlichen Sendeleistung. Durch ein
solches Vorgehen werden sowohl der Leistungsverbrauch des Datenendgeräts als auch
ein Interferenzsignal, das andere Benutzer beeinflusst, verringert,
wodurch gleichzeitige Nutzung durch viele Benutzer ermöglicht wird.
-
Wie
oben beschrieben, wird zu den Informationsdaten ein gemäß der Senderate,
die durch die Aktivität des
Sprachsignals bestimmt wird, erzeugter Frame-Qualitätsindikator,
FQI-Daten-CRC, addiert, um zu prüfen, ob
ein durch den Empfänger
empfangener Frame Fehler aufweist, und um Parameter, die zum Bestimmen
der Senderate des empfangenen Frames erforderlich sind, bereitzustellen.
Genauer gesagt, wird, wenn die Senderate bei 9 600 bps ist, durch
das Berücksichtigen
von 172 Bits der Informationsdaten als einen Block, ein 12-Bit-CRC12
addiert und eine dem CRC12 folgende 8-Bit-Codierer-Tail-Bit-Sequenz wird insgesamt
auf „0" gesetzt, um einen
192 Bits enthaltenden Frame zu bilden. Wenn die Senderate bei 4
800 bps ist, wird durch das Berücksichtigen
von 80 Bits der Informationsdaten als einen Block ein CRC8 addiert
und eine Codierer-Bit-Sequenz, die nur „0" Bits enthält wird verwendet, um einen
96 Bits enthaltenden Frame zu bilden. Ebenso wird, wenn die Senderate
bei 1 200 bps und bei 2 400 bps ist, nur durch die Decodierer-Tail-Bit-Sequenz von „0" Bits, ohne das Addieren
eines CRCs, ein Frame gebildet.
-
Gemäß dem CDMA-Zellularsystem
(IS-95) wird ein Faltungscodierungsverfahren eingesetzt, bei dem die
Beschränkungslänge auf
9 gesetzt wird und die Codierungsrate 1/3 ist. Die Generierungsfunktion
der Faltungscodierung wird durch die Oktalzahlen, beispielsweise
557, 663 und 711, ausgedrückt.
Ebenso werden, wann auch immer ein Bit eingegeben wird, drei codierte
Datenbits ausgegeben.
-
Die
Daten, die durch einen CRC-Generator und durch einen Faltungs-Decodierer
nach CDMA-Standard gegangen sind, werden über einen Symbolwiederholer,
einen Block-Interleaver,
einen 64-stufigen orthogonalen Modulator, einen Frequenzspreizer,
einen Phasenmodulator und einen HF-Frequenzabschnitt zu einem Funkkanal
gesendet.
-
In
der Zwischenzeit führt
der Empfänger
eine Demodulation in der der des Senders entgegengesetzten Sequenz
aus. Die demodulierten Daten werden durch einen Viterbi-Decodierer, der ein
Maximum-Likelihood-Decodierer ist, decodiert. Die demodulierten
Daten werden in die wahrscheinlichsten Originaldaten, die in den
von dem Sender empfangenen Daten gegeben sind, decodiert. Die durch
den Viterbi-Decodierer decodierten Daten werden verwendet, um zu
prüfen,
ob der Frame, der zusammen mit dem durch den Sender addierten CRC
gesendet wurde, einen Fehler enthält oder nicht. In dem CDMA-System
werden die Informationen über
die Senderate, die durch einen Audio-Aktivitäts-Detektor des Senders bestimmt
wird, nicht gesendet, so dass durch das Verwenden des Frame-Fehlers
eine tatsächliche
Senderate unter den vier möglichen
Senderaten bestimmt wird.
-
Die 1 ist
ein Blockdiagramm, das die Struktur einer Qualitäts-Berechnungseinrichtung für viterbi-decodierte
Daten, die eine Bitfehlerrate verwendet, zeigt.
-
Die
Qualitäts-Berechnungseinrichtung
für viterbi-decodierte
Daten, die eine Bitfehlerrate verwendet, eines Kommunikationssystems,
das einen Faltungscode einsetzt, enthält einen Viterbi-Decodierer 100,
einen Faltungs-Redecodierer 102, eine Zeitverzögerung 104,
einen Daten-Komparator 106, eine Bitfehlerrate-Berechnungseinrichtung
(BER- Berechnungseinrichtung) 108,
ein Bitfehlerrate-Register (BER-Register) 110 und eine
Qualitäts-Berechnungseinheit 112.
-
Der
Viterbi-Decodierer 100 decodiert die demodulierten Daten
unter Verwendung eines Maximum-Likelihood-Decodierungsverfahrens.
-
Der
Faltungs-Redecodierer 102 empfängt von dem Viterbi-Decodierer 100 die
decodierten Daten und führt
die Faltungs-Codierung wieder nach demselben Verfahren wie das Faltungs-Codierungsverfahren
des Senders durch.
-
Die
Zeitverzögerung 104 empfängt die
demodulierten Daten, um die Zeitverzögerung, die beim Durchlaufen
des Viterbi-Decodierers 100 und des Faltungs-Redecodierers 102 verursacht
wird, zu kompensieren, und stellt dieselbe Zeitverzögerung wie
die oben erwähnten
zwei Elemente bereit.
-
Der
Daten-Komparator 106 vergleicht die redecodierte Datenausgabe
des Faltungs-Redecodierers 102 mit
der von der Zeitverzögerung 104 ausgegebenen
Zeitverzögerungsdatenausgabe.
-
Die
BER-Berechnungseinrichtung 108 berechnet jede Bitfehlerrate
unter Verwendung der Fehlerdatenausgabe aus dem Daten-Komparator 106.
-
Das
BER-Register 110 speichert die durch die BER-Berechnungseinrichtung 108 gemessene
Bitfehlerrate jeder der vier möglichen
Senderaten.
-
Die
Qualitäts-Berechnungseinrichtung 112,
die durch einen digitalen Signalprozessor verkörpert wird (DSP), liest die
in dem BER-Register 110 gespeicherten Bitfehlerraten, um
zu bestimmen, welche der möglichen
Senderaten den geringsten Fehler ergibt, und wählt diese als die tatsächliche
Senderate aus.
-
Im
Folgenden auf die 1 Bezug nehmend, wird der Betrieb
der Qualitäts-Berechnungseinrichtung, die
die Bitfehlerrate verwendet, des Kommunikationssystems, das ein
Faltungscodierungsverfahren verwendet, beschrieben.
-
Die
durch den Demodulator eines Empfängers
demodulierten Daten bestehen aus den codierten Symbolen aus dem
Faltungs-Codierer des Empfängers.
Diese Daten können
auf Grund von Kanalrauschen, von Fading oder auf Grund von Interferenzsignalen
an jedem Bit einen Fehler enthalten. Während die die Fehler enthaltenden
demodulierten Daten durch den Viterbi-Decodierer 100 gehen,
werden die Fehler davon innerhalb eines korrigierbaren Bereichs
korrigiert und die demodulierten Daten werden zu Daten desselben
Frame-Typs wie die des Senders decodiert. Die von dem Viterbi-Decodierer 100 ausgegebenen
decodierten Daten werden durch den Faltungs-Redecodierer 102 auf
die gleiche Art und Weise wie die Faltungscodierung in dem Sender
in Einheiten von einem Frame redecodiert. Basierend auf der Tatsache,
dass die von dem Viterbi-Decodierer 100 ausgegebenen
decodierten Daten, da der Fehler der demodulierten Daten auf unter
einen vorgegebenen Pegel korrigiert wird, weniger Fehler enthalten,
kann in einer Situation, in der die bei dem Sender durch den Faltungs-Decodierer
decodierten Daten unbekannt sind, vorausgesetzt werden, dass die
redecodierten Daten dieselben wie die original gesendeten Daten
sind. Folglich vergleicht der Daten-Komparator 106, um
Fehlerdaten zu generieren, die redecodierten Daten, die als die
gesendeten Daten vorausgesetzt sind, mit den verzögerten demodulierten
Daten, die durch die Zeitverzögerung 104 gegangen
sind. Die BER-Berechnungseinrichtung 108 ordnet die von
dem Daten-Komparator 106 ausgegebenen Fehlerdatenbits als
eines von beiden ein: ein Bit ohne Fehler und ein fehlerhaftes Bit.
Die BER-Berechnungseinrichtung 108 berechnet das Verhältnis des
fehlerhaften Bits zu den gesamten Eingangsdaten, woraus eine Bitfehlerrate
resultiert. Hierbei berechnet die BER-Berechnungseinrichtung 108 die
Bitfehlerrate in Bezug auf jede der vier möglichen Senderaten aus der
Eingabe eines Daten-Frames.
Die durch die BER-Berechnungseinrichtung 108 berechneten
Bitfehlerraten werden jede in einem zugewiesenen Bereich des Bitfehler-Registers 110 gespeichert.
Die Qualitäts-Berechnungseinrichtung 112 liest
die in dem BER-Register 110 gespeicherten Bitfehlerraten,
um zu bestimmen, welche der möglichen
Senderaten die geringste Bitfehlerrate ergibt, und wählt diese als
die tatsächliche
Senderate aus.
-
Jedoch
berechnet die oben beschriebene Qualitäts-Berechnungseinrichtung die
Bitfehlerraten unter der Voraussetzung, dass die demodulierten Daten
korrigiert sind, um dieselben wie die gesendeten Daten zu sein.
Wenn die Fehler der demodulierten Daten jedoch durch den Viterbi-Decodierer
nicht vollständig
korrigiert sind, wird die Bitfehlerrate, basierend auf Daten, die
Fehler, in denen fehlerhafte Bits fälschlich als korrekt empfan gene
Bits anerkannt werden, enthalten, berechnet. Dementsprechend kann
die tatsächliche
Bitfehlerrate nicht korrekt berechnet werden, so dass die Senderate
der gesendeten Daten falsch bestimmt werden kann.
-
Bezug
nehmend auf die 2, enthält die Qualitäts-Berechnungseinrichtung
für die
viterbi-decodierten Daten gemäß dem bevorzugten
Ausführungsbeispiel
der vorliegenden Erfindung einen Viterbi-Decodierer 20,
ein ZSM-Register 22 und eine Qualitäts-Bewertungseinheit 24.
-
Der
Viterbi-Decodierer 20 gibt die Nullzustands-Metriken der
eingegebenen decodierten Daten in Bezug auf jede einiger möglicher
Senderaten, wie zum Beispiel 9 600 bps, 4 800 bps, 2 400 bps und
1 200 bps, aus.
-
Das
ZMS-Register 22 speichert jede der von dem Viterbi-Decoder 20 ausgegebenen
Nullzustands-Metriken.
-
Die
Qualitäts-Berechnungseinrichtung 24,
die durch einen digitalen Signalprozessor (DSP) verkörpert wird,
liest die in dem Register 22 gespeicherten Nullzustands-Metriken
und bewertet die Qualität
der viterbi-decodierten Daten, um zu bestimmen, welche der möglichen
Senderaten die geringste Nullzustands-Metrik ergibt, und wählt diese
als die tatsächliche
Senderate aus.
-
Bezug
nehmend auf die 3, enthält der Viterbi-Decodierer 20 der 2 eine
Zweigmetrik-Berechnungseinrichtung 202, einen Zustandsmetrik-Speicherabschnitt 208,
eine Add-Compare-Select-Einheit (ACS-Einheit) 204 und einen
Pfadspeicher-Abschnitt 206. Hierbei werden die Daten des
Zustandsmetrik-Speicherabschnitts 208 durch neue, von der
Add-Compare-Select-Einheit 204 ausgegebene Zustandsmetriken
aktualisiert.
-
Die
Zweigmetrik-Berechnungseinrichtung 202 berechnet, basierend
auf den eingegebenen demodulierten Daten und einem Zustandsdiagramm
auf Grund einer Systemkonfiguration, die Zweige entsprechend jeder
der vier möglichen
Senderaten.
-
Der
Zustandsmetrik-Speicherabschnitt 208 speichert die Zustandsmetriken
von vorherigen Survival-Wegen.
-
Die
Add-Compare-Select-Einheit 204 empfängt die von der Zweigmetrik-Berechnungseinrichtung 202 ausgegebene
Zweigmetrik und die Zustandsmetrik, die in dem Zustandsmetrik-Speicherabschnitt 208 gespeichert
ist, addiert die empfangenen Zweigmetrik und Zustandsmetrik entsprechend
dem Trellis-Diagramm und vergleicht die addierten Werte, um dadurch
ein Pfadauswähl-Signal,
dessen Zustandsmetrik die niedrigste unter den verglichenen Werten
ist und die Zustandsmetrik des ausgewählten Pfads ist, auszugeben.
-
Der
Pfadspeicher-Abschnitt 206 speichert den entsprechenden
durch das aus der Add-Compare-Select-Einheit 204 ausgegebene
Pfadauswähl-Signal
gekennzeichneten Pfad.
-
Im
Folgenden wird der Gesamtbetrieb der Qualitäts-Berechnungseinrichtung gemäß der vorliegenden Erfindung
beschrieben.
-
Die
demodulierten Daten werden innerhalb eines korrigierbaren Bereichs
durch den Viterbi-Decodierer 20 fehlerkorrigiert und in
Daten eines Frame-Typs, wie durch den Sender gebildet, decodiert.
Dann berechnet der Viterbi-Decodierer 20 die Nullzustands-Metriken in Bezug
auf jede der vier möglichen
Senderaten. Die von dem Viterbi-Decodierer 20 ausgegebenen
Nullzustands-Metriken werde jede in einem separaten Abschnitt des
Registers 22 gespeichert. Die Qualitäts-Bewertungseinheit 24 liest
die in dem Register 22 gespeicherten Nullzustands-Metriken
und bewertet die Qualität
der viterbi-decodierten Daten, um zu bestimmen, welche der möglichen
Senderaten die geringste Nullzustands-Metrik ergibt und wählt diese
als die tatsächliche
Senderate aus.
-
Die
hierin gemäß dem Ausführungsbeispiel
der vorliegenden Erfindung beschriebene Qualitäts-Berechnungseinrichtung kann
die Senderate der empfangenen Daten zuverlässiger bestimmen, wenn die
tatsächliche
Senderate bekannt ist, wie beispielsweise in dem IS-95-System und
IS-95, basierend auf dem CDMA-PCS(J-STD-008)-System.
-
In
der oben beschriebenen Qualitäts-Berechnungseinrichtung
für die
viterbi-decodierten Daten, die die Nullzustands-Metrik gemäß der vorliegenden
Erfindung verwendet, werden im Vergleich zu der Qualitäts-Berechnungseinrichtung,
die die Bitfehlerrate als den Qualitätsbewertungsparameter verwendet,
die in den Viterbi-Decodierer eingegebenen Nullzustands-Metriken
der demodulierten Daten als ein Qualitätsbewertungsparameter verwendet,
so dass, um Fehler beim Bestimmen der Senderate zu vermeiden, die
Qualitätsbewertung richtig
erfolgen kann.