-
Die vorliegende Erfindung betrifft
eine Vorrichtung und ein Verfahren zur Codegruppenidentifikation und
Fenstersynchronisation, welche in Kommunikationssystemen mit Mehrfachzugriff
und Direkt-Sequenz-Codeteilung (DS-CDMA – "Direct-Sequenz Code Division Multiple Access") verwendet werden,
wie beispielsweise Breitband-CDMA-Systeme und Partnerschafts-Projekt-Systeme
der 3ten Generation (3GPP – "3rd Generation Partnership
Project System").
-
Gegenwärtige DS-CDMA-Mobilfunksysteme
sind als Interzellen-Synchronsysteme mit präziser Interzellen-Synchronisation
und Asynchronsysteme ohne dieses klassifiziert. Bei Interzellen-Synchronsystemen wird
jeder Basisstation ein identischer Langcode mit unterschiedlichem
Zeitversatz zugeordnet. Die Interzellensuche erfolgt durch zeitgesteuertes
Erfassen des Langcodes. Die Suche nach einer Randzelle für eine Übergabe
kann schnell ausgeführt
werden, da die Mobilstation die Versatzinformation des Langcodes
für die Randbasisstation
von der momentanen Basisstation erhält. Daher benötigt jede
Basisstation eine Vorrichtung zur präzisen Zeitsynchronisation,
wie beispielsweise das GPS (Global Position System) und Rubidiumhilfsoszillatoren.
Die Anwendung von GPS ist jedoch in Kellern bzw.
-
Untergeschossen von Gebäuden oder
anderen Orten, die HF-Signale nicht leicht erreichen können, schwierig.
-
In Asynchronsystemen, wie beispielsweise
Breitband-CDMA und 3GPP, übernimmt
jede Basisstation zwei Synchronisationskanäle derart, daß ein mobiles
Endgerät
durch Erfassen des auf dem Synchronisationskanal übertragenen
Synchronisationscodes den Link herstellen kann ohne bei der Übergabe
die Verbindung zu verlieren. Der erste Synchronisationskanal (primärer Synchronisationskanal;
nachfolgend als PSCH "Primary
Synchronization CHannel" bezeichnet)
umfaßt
einen unmodulierten Primärsynchronisationscode
(als Cpsc bezeichnet; psc = "primary synchronisation
code") mit eine
Länge von
256 Bit, der einmal pro Zeitfenster übertragen wird. Cpsc ist
für alle
Basisstationen gleich. Dieser Code wird periodisch derart gesendet,
daß dieser mit
der Zeitfenstergrenze des Downlinkkanals zeitlich ausgerichtet ist.
Der Sekundärsynchronisationskanal (nachfolgend
als SSCH "Secondary
Synchronization CHannel" bezeichnet)
umfaßt
eine Sequenz von 15 unmodulierten Sekundärsynchronisationscodes (Cssc bis Cssc
i,14; ssc = "secundary synchronisation code"), welche wiederholt
parallel mit Cpsc im PSCH gesendet werden.
Die 15 Sekundärsynchronisationscodes
werden nacheinander einmal pro Fenster gesendet. Jeder Sekundärsynchronisationscode
wird aus einem Satz von 16 unterschiedlichen Orthogonalcodes mit
256 Bit Länge
gewählt.
Diese Sequenz auf dem SSCH entspricht einer der 64 unterschiedlichen
Codegruppen zu dem der Downlinkscramblingcode der Basisstation gehört. Die
Codezuordnung für
eine Basisstation ist in Tabelle 1 dargestellt. Diese 64 Sequenzen
sind derart aufgebaut, daß ihre
Zyklusverschiebungen einmalig sind. Mit anderen Worten, wenn der
Zähler
für die
Zyklusverschiebungen 0 bis 14 ist, dann sind alle 960 (= 64·15) durch
Zyklusverschiebung der 64 Sequenzen erzeugten, möglichen Sequenzen voneinander
unterschiedlich. Auf der Basis dieser Eigenschaft können Zellensuchalgorithmen
entwickelt werden, um eindeutig sowohl die Codegruppe als auch das
Fenstertiming zu bestimmen.
-
Während
der anfänglichen
Zellensuche für
ein von 3GPP vorgeschlagenes Breitband-CDMA-System sucht eine Mobilstation
diejenige Basisstation, zu der sie die geringste Funkfelddämpfung hat.
Dann bestimmt die den Downlinkscramblingcode und die Fenstersynchronisation
der Basisstation. Diese anfängliche
Zellensuche wird typischerweise in drei Schritten ausgeführt:
-
Schritt 1: Zeitfenstersynchronisation
-
Während
des ersten Schrittes der anfänglichen
Zellensuche sucht die Mobilstation über den auf dem PSCH gesendeten
Primärsynchronisationscode
diejenige Basisstation, zu der sie die geringste Funkfelddämpfung hat.
Dies wird üblicherweise
mit einem an den Primärsynchronisationscode
angepaßten
Filter ausgeführt. Da
der Primärsynchronisationscode
für alle
Basisstationen gleich ist, sollte die Stärke des Ausgangssignals des
angepaßten
Filters für
jeden Strahl jeder Basisstation innerhalb des Empfangsbereiches
eine Spitze bzw. einen Peak haben. Der stärkste bzw. größte Peak
entspricht der stabilsten Basisstation für die Verbindung. Die Bestimmung
der Position des stärksten
Peaks liefert die Zeitsynchronisation und die Zeitfensterlänge, welche die
stärkste
Basisstation moduliert. Das bedeutet, daß das Verfahren der Mobilstation
eine Zeitfenstersynchronisation mit der stärksten Basisstation erlaubt.
-
Schritt 2: Fenstersynchronisation
und Codegruppenidentifikation
-
Während
des zweiten Schrittes der Zellensuche verwendet die Mobilstation
den Sekundärsynchronisationscode
auf dem SSCH, um die Fenstersynchronisation und Codegruppenidentifikation
der in dem ersten Schritt gefundenen Zelle zu finden. Da der Sekundärsynchronisationscode
parallel mit dem Primärsynchronisationscode
gesendet wird, kann das Zeitfenstertiming auch im ersten Schritt
aufgefunden werden. Das in jedem Zeitfenster des Sekundärsynchronisationskanals
empfangene Signal ist konsequent mit 16 möglichen Sekundärsynchronisationscode-Wortsymbolsignalen
zur Codewortsymbolidentifikation für die Codeidentifikation korreliert.
Die innerhalb eines Fensters empfangenen und identifizierten 15
aufeinanderfolgenden Codewortsymbole bilden eine empfangene Sequenz.
Durch Senden der empfangenen Sequenz an einen Reed-Solomon-Dekoder
oder durch Korrelieren der empfangenen Sequenz mit den 960 möglichen
Sequenzen, kann die Codegruppe für
die synchronisierte Basisstation wie auch die Fenstersynchronisation
bestimmt werden.
-
Schritt 3: Identifikation
des Scramblingcodes
-
Während
des letzten Schrittes des Zellensuchverfahrens bestimmt das mobile
Endgerät
den exakten, von der gefundenen Basisstation verwendeten Primärscramblingcode.
Der Primärscramblingcode
wird üblicherweise
durch die Symbol-zu-Symbol-Korrelation über den gemeinsamen Pilotkanal
(nachfolgend als CPICH "Common
Pilot Channel" bezeichnet)
mit allen innerhalb des zweiten Schrittes identifizierten Codegruppen
identifiziert. Nach der Identifikation des Primärscramblingcodes kann der primäre, gemeinsame,
physikalische Steuerkanal (nachfolgend als PCCPCH "Primary Common Control
Physical Channel" bezeichnet) bestimmt
werden. Anschließend
kann die system- und zellenspezifische Information ausgelesen werden.
-
Zusammenfassend ist das Hauptziel
des anfänglichen
Zellensuchverfahrens (1) eine Zelle mit größter Empfangsfeldstärke zu suchen,
(2) die Fenstersynchronisation und die Codegruppe zu bestimmen und
(3) den Downlinkprimärscramblingcode
zu bestimmen.
-
Der Schritt (2) des Zellensuchverfahrens
ist der Gegenstand der vorliegenden Erfindung. Der SSCH wird zum
Bestimmen der Fenstersynchronisation verwendet. Ein Fenster mit
15 SSCH Symbolen bildet eine Codewortsequenz, welche von einem Codebuch
aus 64 verschiedenen Codewortsequenzen genommen ist. Dieselbe Codewortsequenz
wird bei jedem Fenster in einer Zelle wiederholt. Die 64 Codewortsequenzen
sind mit unterschiedlichen Codephasenverschiebungen gewählt und
jede Phasenverschiebung einer Codewortsequenz unterscheidet sich
von allen Phasenverschiebungen aller anderen Codewortsequenzen.
Mit diesen Eigenschaften kann die Fenstergrenze durch Identifizieren
der korrekten Startphase der SSCH-Symbolsequenz bestimmt werden.
Um den oben genannten Eigenschaften zu genügen und den minimalen Abstand
zwischen unterschiedlichen Codewortsequenzen zu maximieren, wird
ein (15,3) kommafreier Reed-Solomon-Code über GF(16) vorgeschlagen.
-
Der standardmäßige Reed-Solomon-Dekoder für (15,3)
kommafreien Reed-Solomon kann in Textbüchern über Fehlerkorrekturcodes gefunden
werden und kann bis zu 6 Symbolfehler korrigieren. Aufgrund von Frequenzfehlern, Kanalfading,
Kanalrauschen oder aus anderen Gründen übersteigt die Anzahl der Symbolfehler
jedoch häufig
6. Daher liefert der standardmäßige Reed-Solomon-Dekoder
kein gültiges
Codewort zurück.
-
Ein anderes Verfahren wird von Yi-Ping
Eric Wang in "IEEE
Journal on Selected Areas in Communications Band 18, Nr. 8, August
2000" vorgeschlagen.
Wang schlug vor, daß nach
erfolgter Zeitfenstersynchronisierung der Empfänger mit der Korrelierung des
empfangenen Signals des SCH mit allen 16 S-SCH-Sequenzen beginnt
und dann SSCH-Korrelationen über
Nt-Zeitfenster gemäß den verwendeten 64 Reed-Solomon-Codeworten,
jedes mit jeweils 15 hypothetischen Fenstergrenzen, akkumuliert.
Die Gesamtzahl der Hypothesen ist daher 960. Am Ende wird die Hypothese
mit der längstens
akkumulierten Metrik als Kandidat für Zeitfenstergrenze-Codegruppenpaar
gewählt,
welches an die nächste
Stufe zur Scramblcodeidentifikation weiter gegeben wird.
-
Das von Wang vorgeschlagene Verfahren
hat eine bessere Leistungsfähigkeit,
benötigt
jedoch viel Speicherplatz und einen hohen Rechenaufwand. Die vorliegende
Erfindung stellt dagegen ein leistungs- und speicherplatzeffektives
Verfahren unter Verwendung von herkömmlichen Reed-Solomon-Dekodern
in Kombination mit einer Zuverlässigkeitsmessung
zur Verfügung.
-
Der Erfindung liegt die Aufgabe zugrunde,
die oben erwähnten
Nachteile bei herkömmlicher
Fenstersynchronisation und Codegruppenidentifikation zu beseitigen
und ein bzw. eine leistungs- sowie speicherplatzeffektives Verfahren
bzw. Vorrichtung zur Fenstersynchronisation und Codegruppenidentifikation
zur Verfügung
zu stellen.
-
Die erfindungsgemäße Vorrichtung umfaßt eine
Korrelatorbank mit mehreren Korrelatoren, eine Einheit zur Festentscheidung
und Zuverlässigkeitsmessung,
einen Codesequenzidentifizierer, einen Fenstergrenzenfinder und
eine Einheit zur Codegruppenidentifikation.
-
Bei jedem Empfang eines Signals wird
dieses zur Korrelatorbank gesendet, um die Korrelation zwischen
dem aktuell empfangenen Signal und 16 Orthogonal codewortsymbolen
zu bestimmen. Die Einheit zur Festentscheidung und Zuverlässigkeitsmessung
wählt dann
das Symbol mit der höchsten
Korrelation für
die Festentscheidung und berechnet die Zuverlässigkeit als Funktion von 16
Korrelationen.
-
Eine weitere Aufgabe der Erfindung
liegt darin, im Codesequenzidentifizierer einen modifizierten Reed-Solomon-Dekoder
für das
dekodieren der Codewortsequenz zur Verfügung zu stellen. In einer bevorzugten
Ausführungsform
verwendet der modifizierte Reed-Solomon-Dekoder einen Schwellwert,
um zu bestimmen, ob ein Codewortsymbol gelöscht oder nicht auf der Zuverlässigkeit
des Festentscheidungs-Symbols basieren soll. Wenn die Anzahl der
gültigen
Symbole gleich oder größer einem
Schwellwert zwischen 3 und 15 ist, dann wird die gesamte Codewortsequenz
zur Dekodierung zum standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet.
-
In einer alternativen Ausführungsform
vergleicht der modifizierte Reed-Solomon-Dekoder die Anzahl von
Löschungen
in einer Codewortsequenz mit einem Schwellwert, der eine ganze Zahl
zwischen 0 und 12 ist. Wenn die Anzahl von Löschungen nicht größer als
der Schwellwert ist, dann wird die Codesequenz zum standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet. Wenn der Dekoder keinen gültigen Code zurück liefert,
dann werden k zusätzliche
Codewortsymbole mit der niedrigsten Zuverlässigkeit gelöscht und die
neue Codesequenz wird erneut zum standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet.
-
Es ist eine weitere Aufgabe der Erfindung,
die Symbolfehlerwahrscheinlichkeit weiter zu reduzieren und die
Leistungsfähigkeit
des Codesequenzidentifizierers durch Verwendung von mehr als einem
Fenster von Codewortsymbolen weiter zu verbessern. Dementsprechend
wird dem Codesequenzidentifizierer eine Einheit zur Symbol- und
Zuverlässigkeitsaktualisierung
hinzugefügt.
Da die Codewortsymbole nach dem Empfang und der Aufzeichnung eines
Fensters von Codeworten zyklisch übertragen werden, ist das nächste Codewortsymbol
Idealerweise identisch mit dem ersten Codewortsymbol in dem aufgezeichneten
Fenster. Das nächste
Codewortsymbol und dessen Zuverlässigkeit
werden zum Aktualisieren des entsprechenden Codewortsymbols in dem
aufgezeichneten Fenster verwendet. Wenn mehr als ein Fenster aus
Symbolen empfangen wird, dient eine Dekodierstrategie zum Aktualisieren
des Symbols der Festentscheidung mit den zusätzlichen Symbolen gemäß deren
Zuverlässigkeit.
Die aktualisierte Codesequenz wird dann mittels des modifizierten
Reed-Solomon-Dekoders dekodiert.
-
Eine andere Dekodierstrategie für mehr als
eine Codewortsequenz erfolgt derart, daß zuerst zwei Codewortsequenzen
empfangen werden und dann eine neue Codewortsequenz durch Vergleich
der beiden Codewortsequenzen erzeugt wird. Ein Codewortsymbol wird
gelöscht,
wenn die entsprechenden Codewortsymbole in den beiden empfangenen
Sequenzen nicht identisch sind. Die neue Codewortsequenz wird dann
zu einem standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet.
-
Eine alternative Dekodierstrategie
umfaßt
die Anwendung des Festentscheidungsvorgangs auf mehrere Fenster
von Codewortsymbolen mit Auswählen.
Mehrere Codewortsequenzen werden empfangen und deren Festentscheidungs-Symbolwerte
werden aufgezeichnet. Eine neue Codewortsequenz wird dadurch erzeugt,
daß aus
den Codewortsymbolen in den mehreren Fenstern die am häufigsten
vorkommenden ausgewählt
werden. Die neue Codewortsequenz wird dann zu einem standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet.
-
Der Erfindung liegt die weitere Aufgabe
zugrunde ein Verfahren zur Fenstersynchronisation zur Verfügung zu
stellen. Bei einer Analyse der 64 Codewortsequenzen in Tabelle 1
hat sich gezeigt, daß das
erste Codewortsymbol in einem Fenster den niedrigsten Symbolwert
haben muß.
Wenn der niedrigste Symbolwert nur einmal vorkommt, dann ist dieses
Symbol der Kopf des Fensters. Wenn der kleinste Symbolwert zweimal
aufgefunden wird, dann muß das
Nachbarsymbol nach dem Kopf des Fensters einen kleineren Wert haben
als das Nachbarsymbol nach dem kleinsten Symbol an der anderen Stelle.
-
Es ist eine weitere Aufgabe der Erfindung,
ein speichereffektives Verfahren zum Identifizieren der Codegruppe
der Codewortsequenz zur Verfügung
zu stellen. Die 64 Codewortgruppen, die gültige Codeworte eines kommafreien
Reed-Solomon-Codes sind, haben auch das Merkmal, daß die Codewortsequenz
in jeder Gruppe eindeutig durch die ersten drei Codewortsymbole
identifiziert werden kann. Durch Speichern der ersten drei Codewortsymbole
einer jeden Codewortgruppe der 64 Codewortgruppen, kann die Codenummer
einer empfangenen Codewortsequenz identifiziert werden.
-
Die Erfindung wird im folgenden anhand
der beigefügten
Zeichnung näher
erläutert.
Diese zeigt in:
-
1 ein
Blockdiagramm einer erfindungsgemäßen Vorrichtung zur Codegruppenidentifikation
und Fenstersynchronisation,
-
2 ein
Flußdiagramm
einer bevorzugten Ausführungsform
eines erfindungsgemäßen, modifizierten
Reed-Solomon-Dekoders in Form eines "Schwellwert-Lösch-Dekoders",
-
3 ein
Flußdiagramm
einer alternativen Ausführungsform
eines erfindungsgemäßen, modifizierten Reed-Solomon-Dekoders
in Form eines "Lösche-k-nach-k-Dekoders",
-
4 ein
Flußdiagramm
eines Verfahrens zur Symbol- und Zuverlässigkeitsaktualisierung,
-
5 ein
Flußdiagramm
eines Dekodierverfahrens nach dem Empfang von mehr als einem Fenster,
-
6 ein
Flußdiagramm
einer Dekodierstrategie für
mehrere Fenster nur mit Festentscheidung,
-
7 ein
Flußdiagramm
einer Dekodierstrategie für
mehrere Fenster mit Auswahl und
-
8 ein
Flußdiagramm
eines Fenstergrenzenfinders.
-
Das wesentliche der Erfindung ist
die Verwendung eines Reed-Solomon-Fehler-und-Löschdekoders kombiniert mit
einer Zuverlässigkeitsmessung
für die
Codegruppenidentifikation und Fenstersynchronisation in UMTS WCDMA-Systemen. 1 zeigt ein Blockdiagramm
einer bevorzugten Ausführungsform
der erfindungsgemäßen Vorrichtung
zur Fenstersynchronisation und Codegruppenidentifikation. Die Vorrichtung
umfaßt
eine Korrelatorbank mit mehreren Korrelatoren 101, einer
Einheit 102 zur Festentscheidung und Zuverlässigkeitsmessung,
einen Codesequenzidentifizierer 103, einen Fenstergrenzenfinder 104 und
eine Einheit 105 zur Codegruppenidentifikation.
-
Es ist bekannt, daß jede der
64 Gruppen des Sekundärsynchronisationscodes
einem gültigen
Codewort des (15,3) Reed-Solomon-Codes entspricht. Nach 16 Walsh-Codekorrelatoren
ist die Fehlerrate der Festentscheidung im allgemeinen zu groß, so daß in den
meisten Fällen
der standardmäßige Reed-Solomon-Dekoder
kein gültiges
Codewort zurück
liefert. Die Verwendung eines Reed-Solomon-Dekoders hat jedoch viele Vorteile,
wie beispielsweise geringer Speicherbedarf und niedriger Rechenaufwand.
-
Erfindungsgemäß wird ein empfangenes Signal
zur Korrelatorbank
101 gesendet, die 16 Korrelatoren umfaßt, um die
Korrelation zwischen dem momentan empfangenen Signal mit den 16
Orthogonalcodewortsymbolen CS
01, CS
02, ... und CS
16 zu
vergleichen. Die ausgegebenen Korrelationswerte der 16 Korrelatoren zur
Zeit m sind
Der
Festentscheidungs-Symbolwert R
m zur Zeit
m wird aus {CS
01, CS
02,
..., CS
16} mit der höchsten Korrelation gewählt. Die
Zuverlässigkeitsmessung
ist als eine Funktion der 16 Korrelationswerte
definiert
und dient zum Messen, wie zuverlässig
der Festentscheidungs-Symbolwert R
m ist.
Beispielsweise ist die Zuverlässigkeitsmessung
L
m folgendermaßen definiert:
oder
-
Wie in 1 dargestellt,
empfängt
die Einheit 102 zur Festentscheidung und Zuverlässigkeitsmessung
die Korrelationswerte von mehreren Korrelatoren 101, um
ein Symbol Rm durch Ausführen einer Festentscheidung
(hard decision) zu wählen.
Es wird dann eine Zuverlässigkeitsmessung
Lm für
das gewählte
Symbole gemäß der oben
gezeigten, vordefinierten Formel berechnet.
-
Da jede der 64 Codegruppen ein gültiges Codewort
von (15,3) Reed-Solomon-Codes ist, beträgt die minimale Anzahl von
Codewortsymbolen, die der Reed-Solomon-Dekoder benötigt, um
einen gültigen
Code zurück
zu liefern, drei. Wenn alle Codewortsymbole empfangen werden, dann
wählt die
Erfindung Codewortsymbole mit höherer
Zuverlässigkeitsmessung
und löscht
andere. Aufgrund der Eigenschaft von (15,3) Reed-Solomon-Codes können höchstens
12 Codewortsymbole gelöscht
werden, wenn alle 15 Codewortsymbole empfangen werden.
-
Erfindungsgemäß umfaßt der Codesequenzidentifizierer 103 einen
modifizierten Reed-Solomon-Dekoder 111. In einer bevorzugten
Ausführungsform
ist der modifizierten Reed-Solomon-Dekoder 111 als ein "Schwellwert-Lösch-Dekoder" ausgebildet, der
einen Schwellwert σr verwendet, um festzustellen, ob ein Codewortsymbol
aufgrund der in der Einheit 102 zur Festentscheidung und
Zuverlässigkeitsmessung
berechneten Zuverlässigkeitsmessung
gelöscht
werden soll.
-
2 zeigt
ein Flußdiagramm
des Verfahrens zum Implementieren des Schwellwert-Lösch-Dekoders für den modifizierten
Reed-Solomon-Dekoder 111. Wenn ein neues Codewortsymbol
empfangen wird, dann werden dessen Festentscheidungs-Symbolwert
und entsprechende Zuverlässigkeit
aufgezeichnet. Wenn die Zuverlässigkeit
unterhalb des Schwellwertes σr liegt, dann wird das empfangene Codewortsymbol
als ungültiges
Symbol identifiziert, gelöscht
und die entsprechende Zuverlässigkeit
auf – ∞ gesetzt.
Wenn die Zuverlässigkeit
größer als σr ist,
dann wird der Festentscheidungs-Symbolwert aufgezeichnet und die
Anzahl der gültigen
Symbole (VSN – "Valid Symbol Number") um 1 erhöht.
-
Wenn die Anzahl gültiger Symbole größer oder
gleich einem Schwellwert σv ist, der einer ganzen Zahl zwischen 3 und
15 entspricht und eine Funktion der empfangenen Symbolzahl (RSN – "Received Symbol Number") ist, dann wird
die gesamte Codesequenz an den Reed-Solomon-Fehler-und-Löschdekoder
gesendet. Wenn der Dekodiervorgang fehl schlägt und RSN kleiner als 15 ist,
dann wird ein anderes, neues Codewortsymbol empfangen. Wenn die
Zuverlässigkeit
des neuen Symbols größer als
der σr ist, dann wird die neue Codesequenz (mit
einem neuen, empfangenen Codewortsymbol) wieder zu einem standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet. Der gesamte Dekodiervorgang endet, wenn der standardmäßigen Reed-Solomon-Dekoder
ein gültiges
Codewort zurück
liefert, oder wird verlassen, wenn alle 15 Codewortsymbole empfangen
wurden.
-
3 zeigt
eine andere, bevorzugte Ausführungsform
für den
modifizierten Reed-Solomon-Dekoder 111, welcher als "Lösche-k-nach-k-Dekoder" bezeichnet ist.
Eine Codesequenz mit 15 Codesymbolen wird in den "Lösche-k-nach-k-Dekoder" gesendet. Die Festentscheidungs-Symbolwerte
(R0, R1, R2, ..., R14) und
deren entsprechende Zuverlässigkeiten
(L0, L1, L2, ..., L14) werden
aufgezeichnet. Es ist zu bemerken, daß einige der Symbole ggf. nicht
empfangen werden oder gelöschte,
ungültige
Symbole sind, welche dementsprechend als Löschungen betrachtet und deren
Zuverlässigkeiten
auf –∞ gesetzt
werden.
-
Die Gesamtzahl von Löschungen
e0 wird bestimmt und mit einem Schwellwert σe verglichen,
der eine ganze Zahl zwischen 0 und 12 ist. Wenn die Anzahl der Löschungen
e0 nicht größer als σe ist,
dann wird die Codesequenz zum standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet. Wenn der Dekodiervorgang fehlschlägt, dann wird zunächst (L0, L1, L2,
..., L14) in aufsteigender Reihenfolge (L(0), L(1), L(2), ..., L(14))
sortiert, wobei L(i) jeweils R(i) entspricht.
In diesem Moment liegen e0 Löschungen
vor, weswegen R(0), R(1), ...,
R(e0–1),
Löschungen
und L(0) = L(1) =
... = L(e0–1) = –∞ sind.
In L(e0), L(e0+1),
..., L14 sind die niedrig sten k Zuverlässigkeiten
L(e0), L(e0+1),
..., L(e0+k–1) (entsprechend
den Symbolen, die keine Löschungen
sind).
-
Die k Codeworte R(e0),
R(e0+1), ..., R(e0+k–1) mit
entsprechenden Zuverlässigkeiten
L(e0), L(e0+1),
..., L(e0+k–1) werden
dann gelöscht,
wobei k eine positive, ganze Zahl und eine Funktion des momentanen
Wertes e0 ist, d.h. k kann sich bei jedem
Vorgang ändern.
Die Anzahl der Löschungen
wird e0+k. Die momentane Anzahl der Löschungen
(e0+k) wird mit dem Schwellwert σe verglichen.
Wenn die Anzahl von Löschungen
(mit k weiteren Löschungen)
nicht größer als σe ist,
dann wird die neue Codesequenz nochmals an den Reed-Solomon-Dekoder
gesendet. Der gesamte Löschen-Vergleichen-Dekodiervorgang
endet, wenn ein gültiges
Codewort vom standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
zurück
geliefert wird oder die Anzahl der Löschungen den Schwellwert σe übersteigt.
-
Zum weiteren Reduzieren der Symbolfehlerwahrscheinlichkeit
und Verbessern der Leistungsfähigkeit des
Codesequenzidentifizierers 103, werden erfindungsgemäß optional
mehr als ein Fenster von Codewortsymbolen verwendet. Dementsprechend
ist in dem Codesequenzidentifizierer 103 optional zusätzlich eine
Einheit 112 zur Symbol- und Zuverlässigkeitsaktualisierung vorgesehen,
wie in 1 dargestellt.
Nachfolgend wird ein Verfahren zum Aktualisieren des Festentscheidungs-Symbolwertes
und der Zuverlässigkeitsmessung beim
Empfang von mehr als 15 Symbolen sowie ein Dekodiervorgang, der
mehr als ein Fenster verwendet, beschrieben.
-
Da die 15 Codewortsymbole zyklisch übertragen
werden, ist es nicht notwendig, eine Codesequenz zu verwerfen, wenn
das dekodieren dieser Codesequenz von 15 Codewortsymbolen fehlschlägt. Mit
anderen Worten können
die neuen Codewortsymbole empfangen und zum Aktualisieren der Festentscheidungs-Symbolwerte
und der entsprechenden Zuverlässigkeitsmessungen
verwendet werden. 4 veranschaulicht
eine Ausführungsform
des erfindungsgemäßen Verfahrens
zum Aktualisieren des Festentscheidungs-Symbolwertes und der Zuverlässigkeitsmessung.
-
Angenommen, die zuvor empfangene
Codewortsequenz von 15 Codesymbolen ist (R
0,
R
1, R
2, ..., R
14) und die entsprechenden Zuverlässigkeiten
sind (L
0, L
1, L
2, ..., L
14). Da
die 15 Codewortsymbole zyklisch übertragen
werden, gilt im Idealfall
-
Nachdem ein Fenster aus Codewortsymbolen
empfangen wurde ist die gesamte RSN (empfangene Symbolzahl) 15.
Wenn das 16te Codewortsymbol empfangen wird, werden der Festentscheidungs-Symbolwert
R' (oder R
15) und die entsprechende Zuverlässigkeit
L' (oder L
15) aufgezeichnet. Idealerweise sollte R' gleich R
0 sein. Durch Rauschen oder andere Gründe kann
es jedoch vorkommen, daß die
Festentscheidungs-Symbolwerte R
0 und R
15 nicht identisch sind. Wenn die Festentscheidungs-Symbolwerte
(R
0 und R
15) identisch
sind, dann wird die Zuverlässigkeit
L
0 durch Erhöhen der Zuverlässigkeit
um einen bestimmten Betrag aktualisiert. Der Betrag der erhöhten Zuverlässigkeit
ist eine Funktion der ursprünglichen
Zuverlässigkeit L
0 und der momentan empfangenen Zuverlässigkeit
L
15. Zum Berechnen der neuen Zuverlässigkeit
werden die beiden Zuverlässigkeiten
beispielsweise addiert,
-
Wenn die beiden Festentscheidungs-Symbolwerte
(R0 und R15) jedoch
nicht identisch sind, dann müssen
das Symbol und die zugehörige
Zuverlässigkeit
auf der Grundlage des Vergleichs ihrer entsprechenden Zuverlässigkeiten
(L0 und L15) aktualisiert
werden. Der Festentscheidungs-Symbolwert nach der Aktualisierung wird
auf denjenigen Symbolwert gesetzt, dessen Zuverlässigkeit größer ist.
-
-
Auch sollte die Zuverlässigkeit
nach der Aktualisierung gelöscht
werden. Der Betrag der reduzierten Zuverlässigkeit ist ebenfalls eine
Funktion von L0 und L15.
-
Beispielsweise:
Wenn das 17te Codewortsymbol
(R
16) empfangen wird (RSN ist jetzt gleich
16), dann ist aufgrund einer analogen Überlegung Idealerweise R
16 gleich R
1. Die
Prozedur zum Aktualisieren des Festentscheidungs-Symbolwertes und
der Zuverlässigkeit
kann wieder auf R
1 und R
16 angewendet
werden, und so weiter und so fort.
-
Mit dem gleichen Verfahren zum Aktualisieren
des Festentscheidungs-Symbolwertes und der Zuverlässigkeit
für Ri und Ri mod 15 kann
dann der Dekodiervorgang eingeführt
werden. 5 zeigt eine
Dekodierstrategie, wenn mehr als ein Fenster (15 Symbole) empfangen
wird. Wenn die Dekodierung der ursprünglichen Codewortsequenz von
15 Codewortsymbolen R = (R0, R1, R2,
..., R14) fehlschlägt, dann werden σn neue
Codewortsymbole empfangen. Wenn beispielsweise σn gleich
4 ist, dann werden 4 neue Codewortsymbole (R15,
R16, R17, R18) empfangen. Durch Anwenden des Verfahrens
zur Aktualisierung des Symbolwertes und der Zuverlässigkeit
wird eine neue Codewortsequenz R' erhalten. Selbst
wenn die Festentscheidungs-Symbolwerte sich nicht ändern, können die
entsprechenden Zuverlässigkeiten
voneinander unterschiedlich sein.
-
Die neue Codewortsequenz R' und
Zuverlässigkeit L' werden zum modifizierten Reed-Solomon-Dekoder
gesendet. Wenn die Dekodierung der neuen Codewortsequenz R' wieder
fehl schlägt,
dann werden weitere σn neue Codewortsymbole empfangen, um eine
andere, neue Codewortsequenz R'' und eine neue Zuverlässigkeit L'' zu
erhalten, wobei σn jede positive ganze Zahl sein und für jeden
Aktualisierungsvorgang geändert werden
kann. R'' und L'' werden
wieder zum modifizierten Reed-Solomon-Dekoder gemäß 2 und 3 oder einer Kombination dieser gesendet.
Der gesamte Dekodiervorgang endet, wenn der Reed-Solomon-Dekoder eine
gültige
Codesequenz zurück
liefert. Um eine Endlosschleife aufgrund eines niedrigen Signal-zu-Rauschen-Verhältnisses
oder aus anderen Gründen
zu vermeiden, wird eine Begrenzung der gesamten RSN ver wendet, um
die Schleife zu beenden. Wenn die gesamte empfangene Symbolzahl
einen vorbestimmten, ganzzahligen Wert MAX_RSN übersteigt, dann wird die momentane
Codesequenz verworfen.
-
6 zeigt
eine andere Dekodierstrategie für
mehr als eine Codewortsequenz nur mit Festentscheidung. Zuerst werden
zwei Codewortsequenzen R
1 und R
2 empfangen. Deren Festentscheidungs-Symbolwerte sind
jeweils R
1 =
(R1
0, R1
1, R1
2,
..., R1
14) und R
2 =
(R2
0, R2
1, R2
2,
..., R2
14). Es werden
R1
j und R2
j für j = 0,
1, 2, ..., 14 verglichen. Wenn die Festentscheidungs-Symbolwerte
(R1
j und R2
j) nicht identisch
sind, dann wird Rj als Löschung erklärt. Wenn nach dem Vergleich
von 15 Symbolen in R
1 und R
2 die Gesamtzahl von Löschungen σe kleiner
ist als der Schwellwert σe, die eine ganze Zahl von 1 bis 13 ist,
dann wird die Codewortsequenz R = (R0, R1, R2,
..., R14) mit e0 Löschungen
zum standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet.
-
Wenn die Dekodierung der Codesequenz R fehl schlägt, dann
werden diese beiden Codewortsequenzen einfach verworfen oder es
werden andere Dekodierstrategien versucht. Andererseits kann weiterführend eine
andere Codewortsequenz R
3 mit 15 Codewortsymbolen empfangen werden.
Durch Vergleichen von R
3 mit der zuvor aufgezeichneten Codewortsequenz R kann unter Verwendung des
zuvor beschriebenen Vorgangs eine neue, resultierende Codewortsequenz R' aufgezeichnet werden. Wenn die Gesamtzahl
der in R' erklärten Löschungen e0 kleiner
als der Schwellwert σe ist, welche verringert werden kann, dann
wird die Codewortsequenz R' mit e0 Löschungen
zum standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet. Der gesamte Vorgang endet, wenn der standardmäßige Reed-Solomon-Fehler-und-Löschdekoder
ein gültiges
Codewort zurück
liefert oder die Anzahl der empfangenen Codewortsequenzen gleich
einer Maximalzahl von erlaubten Codewortsequenzen ist.
-
7 zeigt
eine alternative Dekodierstrategie unter Verwendung einer Festentscheidung
mit Auswählen.
Am Anfang werden σ
s Codewortsequenzen empfangen und deren Festentscheidungs-Symbolwerte
R
1 = (R
1
0, R
1
1, R
1
2,
..., R
1
14),
R
2 =
(R
2
0, R
2
1, R
2
2,
..., R
2
14), ...,
R
σs =
(R
σs
0, R
σs
1,
R
σs
2, R
σs
14)
aufgezeichnet. Für jedes Codewortsymbol
wird der Festentscheidungs-Symbolwert R
j,
j = 1, 2, ..., 14 als ein Wert gesetzt, indem die Mehrheitsauswahl
des Satzes
genommen
wird. Die resultierende Codewortsequenz wird in
R = (R
0, R
1, R
2, ..., R
14) aufgezeichnet und zum standardmäßigen Reed-Solomon-Fehler-und-Löschdekoder
gesendet. Wenn der Dekodiervorgang fehlschlägt, dann kann eine neue Codewortsequenz
empfangen und die Mehrheitsauswahl vorgenommen und dann die resultierende
Codewortsequenz wieder dekodiert werden. Die gesamte Dekodierstrategie
endet, wenn der standardmäßige Reed-Solomon-Fehler-und-Löschdekoder
ein gültiges
Codewort sendet oder die Anzahl der empfangenen Codewortsequenzen
gleich der maximal erlaubten Codewortsequenzzahl ist.
-
Wie in 1 dargestellt,
wird die Fenstergrenze der Codesequenz von dem Fenstergrenzenfinder 104 bestimmt,
nachdem die korrekte Codesequenz von dem Codesequenzidentifizierer 103 identifiziert
wurde. 8 veranschaulicht
das Verfahren zum Auffinden der Fenstergrenze nachdem der Reed-Solomon-Dekoder die
gültige
Codewortsequenz zurück
liefert.
-
Unter Bezugnahme auf Tabelle 1 kann
beobachtet werden, daß die
64 Codewortsequenzen von den 64 Gruppen gültige Codeworte von kommafreien
Reed-Solomon-Codes sind, d.h. alle Codeworte weisen keine interne
Wiederholung auf. Zusätzlich
weist in jeder Codewortsequenz von 15 Codewortsymbolen das erste Codewortsymbol
den kleinsten Symbolwert auf und der kleinste Symbolwert ist in
dieser Codewortsequenz zweimal vorhanden. Wenn der kleinste Symbolwert
nur einmal vorhanden ist, dann ist dieses Symbol der Kopf des Fensters.
Wenn der kleinste Symbolwert zweimal vorhanden ist, dann muß das Nachbarsymbol
nach dem Kopf des Fensters einen kleineren Wert haben, als das Nachbarsymbol
nach dem kleinsten Symbolwert an dem anderen Platz. Wenn beispielsweise
der kleinste Symbolwert am Platz mit der Nummer 0 und am Platz mit
der Nummer j aufgefunden wird, dann muß das Symbol am Platz mit der
Nummer 1 einen kleineren Symbolwert aufweisen als das Symbol am
Platz mit der Nummer j+1.
-
Als Beispiel ist das Codewort in
Gruppe 0 (1, 1, 2, 8, 9, 10, 15, 8, 10, 16, 2, 7, 15, 7, 16), wobei
der kleinste Symbolwert 1 ist. Der kleinste Symbolwert findest sich
zweimal, nämlich
an den Plätzen
mit der Nummer 0 und 1 (Platznummern). Vergleicht man die beiden
Symbolwerte der nächsten
Symbole, d.h. auf den Platznummern 1 und 2, so hat das Symbol nach
dem Kopf des Fensters, Platznummer 1, einen kleineren Wert. Um ein
anderes Beispiel zu nehmen, ist das Codewort in der Gruppe 63 (9,
12, 10, 15, 13, 14, 9, 14, 15, 11, 11, 13, 12, 16, 10), in dem der
kleinste Symbolwert 9 ist. Der kleinste Symbolwert findet sich zweimal
und zwar an den Platznummern 0 und 6. Vergleicht man die beiden
Symbolwerte der nächsten
Symbole, d.h. an den Platznummern 1 und 7, miteinander, so hat das
Symbol nach dem Kopf des Fensters, d.h. auf der Platznummer 1, einen
kleineren Symbolwert.
-
Wie zuvor beschrieben, kann die von
dem Reed-Solomon-Dekoder zurück
gelieferte, gültige
Codewortsequenz bzgl. der ursprünglichen
Codewortsequenz zyklisch verschoben sein. Die Fenstergrenze kann dadurch
aufgefunden werden, daß die
kleinsten zwei Symbolwerte in der Codewortsequenz aufgefunden werden.
Wenn die kleinsten zwei Symbolwerte nicht gleich sind, dann ist
der Kopfindex der Fenstergrenze der Index des kleinsten Symbolwertes.
Wenn die beiden kleinsten Symbolwerte gleich sind, dann kann der
Kopfindex durch Vergleich der beiden Symbolwerte der nächsten Symbole
bestimmt werden. Auf der Basis der oben eingeführten Eigenschaft kann der
Kopfindex der Fenstergrenze einfach aufgefunden werden.
-
Nach dem Auffinden der Fenstergrenze
identifiziert die erfindungsgemäße Vorrichtung
die Gruppe unter Verwendung des Codegruppenidentifizierers 105.
Unter Bezugnahme auf Tabelle 1 kann man beobachten, daß die Codewortsequenz
in jeder Gruppe eindeutig durch die ersten drei Codewortsymbole
identifiziert werden kann. Durch Verwendung dieser Eigenschaft müssen nur
die ersten drei Spalten der Tabelle 1 gespeichert werden. Durch
Vergleich der ersten drei Codewortsymbole kann die Codegruppennummer
identifiziert werden. Dementsprechend ist bei der erfindungsgemäßen Einheit
zur Codegruppenidentifikation der Speicherplatzbedarf wesentlich
reduziert.
-
Es ist zu erwähnen, daß die 2 und 3 jeweils "Schwellwert-Löschdekoder" und einen "Lösche-k-nach-k-Dekoder" für den modifizierten
Reed-Solomon-Dekoder 111 dieser Erfindung veranschaulichen.
Für den
modifizierten Reed-Solomon-Dekoder können auch Variationen dieser
Dekoder vorgesehen sein. Beispielsweise können der "Schwellwert-Löschdekoder" und der "Lösche-k-nach-k-Dekoder" miteinander kombiniert
werden.
-
Zusammenfassend stellt die Erfindung
ein Verfahren und eine Vorrichtung mit einem Reed-Solomon-Dekoder
zur Verfügung,
zur Verwendung für
das Auffinden einer bestimmten Codegruppe, die von einer Basisstation
verwendet wird, und für
das Auffinden der Fenstertiming-Synchronisation mit dieser Basisstation. Der
modifizierte Reed-Solomon-Dekoder verwendet einen standardmäßigen Reed-Solomon-Dekoder
und einige Zuverlässigkeitsmessungen,
welche von den empfangenen Codewortsymbolen berechnet werden. Wenn die
Zuverlässigkeit
eines empfangenen Symbols zu niedrig ist, dann wird dieses Symbol
als Löschung
betrachtet. Durch Auswahl von Codewortsymbolen mit höherer Zuverlässigkeit
und durch Löschen
von Codewortsymbolen mit niedrigerer Zuverlässigkeit wird die Symbolfehlerwahrscheinlichkeit
reduziert und die Leistungsfähigkeit
erhöht.
Mehrerer modifizierte Reed-Solomon-Dekoder und wenige Dekodierstrategien
werden eingeführt, um
die empfangenen Codewortsequenzen mit einem leistungs- und speicherplatzeffektiven
Verfahren zu dekodieren.