-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
Erfindung betrifft allgemein Kommunikationsgeräte für Speizspektrumsysteme sowie
zugehörige Verfahren,
und insbesondere solche, die Givens-Rotationen verwenden.
-
Givens-Rotationen
werden in der numerischen linearen Algebra allgemein verwendet und
finden viele Anwendungen in Datenkommunikationssystemen. Beispielsweise
wird in Spreizspektrumsystemen wie etwa schnurlosen Kommunikationssystemen
die unitäre
Givens-Rotation üblicherweise
in Algorithmen zum adaptiven Filtern, Entzerren (Equalization) und
der schnellen Faktorisierung verwendet.
-
Seien
die Vektoren
x p,
x q ∊ C
n mit
x p(1) ≠ 0,
gegeben, so ist eine Givens-Rotation
eine unitäre
2x2-Matrix
Q ∊ C2x2 so
dass
[x p x q]Q = [x' p x' q]wobei
x' q (1) =
0, d.h. das erste Element der zweite Spalte soll zu Null gemacht
werden. Numerisch stabile Lösungen
sind gegeben durch
-
Dieses
sind zwei Typen von Givens-Rotationen, und wie daraus ersichtlich
ist, erfordert die Berechnung einer Givens-Rotation in jedem Fall
die Berechnung von Quadratwurzelfunktionen, wenn der Wert von α bestimmt
wird. In dem obigen Beispiel ist die Berechnung von
für ξ = |γ|
2 ≤ 1 erforderlich,
um den Wert von α zu
berechnen. Diese Berechnung ist aufwendig bezüglich der Hardware-Implementierung,
da sie sowohl eine Quadratwurzelberechnung als auch eine Inversion
beinhaltet. Im Folgenden bezeichnet der Ausdruck Quadratwurzelfunktion
jede Funktion wie etwa die oben gezeigte Funktion f, die wenigstens
eine Quadratwurzel enthält,
unabhängig
davon, ob sie andere funktionale Terme enthält wie etwa den einer Inversion.
-
Eine
Art der Durchführung
der Quadratwurzelfunktionsberechnung wäre die Bereitstellung einer
Nachschlagetabelle (Lookup-Tabelle), bei der für jeden möglichen Wert von ξ = |γ|2 ≤ 1
der entsprechende Wert der Quadratwurzelfunktion gespeichert ist.
Jedoch müsste
die Lookup-Tabelle, um eine hinreichend hohe Auflösung ohne
Abtastrauschen zu erzielen, von einer unangemessen großen Größe sein.
Darüber
hinaus würde die Bereitstellung
einer solchen Lookup-Tabelle die Herstellungskosten solcher Schaltkreise
in inadäquater Weise
erhöhen.
-
Eine
Alternative wäre
die Anwendung einer Polynomialapproximation auf der Grundlage der
entsprechenden Binomialreihe:
wobei
von ξ =
|γ|
2 ≤ 1
ist.
-
Wiederum
würde der
Berechnungsaufwand unangemessen groß werden, um die Quadratwurzelfunktion
mit hinreichender Genauigkeit zu berechnen. Um für jeden Eingabewert einen hinreichend
genauen Funktionswert zu haben, wäre die Berechnung eines Polynoms
hoher Ordnung (hohen Grades) für
jeden Eingabewert unter Verwendung der folgenden Polynomialkoeffizienten
erforderlich:
-
Somit
ist diese Herangehensweise numerisch aufwendig, da sie eine hohe
Anzahl von Gleitkommaoperationen beinhaltet.
-
Um
die Notwendigkeit von Quadratwurzelberechnungen zu vermeiden, kann
die sogenannte schnelle Givens-Rotation (Fast-Givens-Rotation) angewendet
werden, die zusätzlich
die erforderliche Anzahl von Multiplikationen reduziert. Jedoch
führt eine
numerisch stabile Version der schnellen Givens-Rotation zu einem
erhöhten
Umfang an Steueraufwand und einer erhöhten Anzahl von Divisionen
bezogen auf die Standard-Givens-Rotation, was ihre Anwendung weniger
attraktiv für
Festkommaimplementierungen macht.
-
WO
01/26314 A2 offenbart ein Verfahren zur Kanalentzerrung, in dem
Filtereinstellkoeffizienten eines Vorfilters und Entzerrereinstellkoeffizienten
eines Entzerrers mittels einer Givens-Rotation berechnet werden. Bei
der Diskussion der Givens-Rotation zeigt die Entgegenhaltung eine
Formel, die eine Quadratwurzelfunktion enthält. Die beschriebene Technik
soll den Rechenaufwand verringern. Um die Rechengeschwindigkeit
zu erhöhen
wird vorgeschlagen, eine sogenannte wurzelfreie Givens-Rotation
zu verwenden.
-
I.N.
Bronstein, K.A. Semendjajew, G. Musiol, H. Mühlig: „Taschenbuch der Mathematik", 5. Aufl., Thun, Verlag
Harri Deutsch, 2001, Seiten 955 – 957, ISBN: 3-8171-2005-2
beschreibt die Verwendung kubischer Splines für Interpolationen und Ausgleichsberechnungen.
Es wird beschrieben, dass das Approximationsintervall durch sogenannte
Knoten in Teilintervalle zerlegt wird und dass die Approximation
eine stückweise
Approximation ist. Interpolationssplines erfüllen die Interpolationsbedingung,
sind zweimal stetig differenzierbar und erfüllen spezielle Randbedingungen,
um eine minimale Gesamtkrümmung
zu erzielen. Ausgleichssplines werden häufig bei Messwerten, also fehlerbehafteten
Werten, verwendet.
-
Die
US 5,305,248 beschreibt
die Skalierung von Mantissen von IEEE-Gleitkommazahlen auf der Grundlage
der Aufteilung in 2" Intervalle,
wodurch die Approximation jedes Intervalls durch Chebyshev-Polynome
geringer Termzahl ermöglicht
wird. Schnelle Doppelpräzisionsergebnisse
für Kehrwert-,
Wurzel- und Wurzelkehrwertfunktionen werden erzeugt.
-
ÜBERSICHT ÜBER DIE
ERFINDUNG
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Kommunikationsgerät zur Verwendung
in einem Spreizspektrumsystem und ein zugehöriges Verfahren anzugeben,
die einen verbesserten Betrieb eines Decision-Feedback-Equalizers
in einem solchen Kommunikationsgerät ermöglichen.
-
Die
Erfindung wird durch die Gegenstände
der unabhängigen
Patentansprüche
angegeben.
-
Bevorzugte
Ausgestaltungen sind in den Unteransprüchen definiert.
-
Eine
verbesserte Givens-Rotationsberechnungstechnik wird bereitgestellt,
die zuverlässig
und effizient ist und die die Durchführung der Givens-Rotation in
einer numerisch einfacheren und weniger aufwendigen Weise durchführen kann,
verglichen mit gewöhnlichen
Givens-Rotationsarten sowie quadratwurzelfreien Givens-Rotationsmethoden
wie etwa der schnellen Givens-Rotationstechnik.
-
In
einer Ausgestaltung wird eine Vorrichtung zum Transformieren von
Eingabedaten in Ausgabedaten bereitgestellt. Die Vorrichtung umfasst
eine Datenverarbeitungseinheit zum Durchführen einer Givens-Rotation,
wobei die Datenverarbeitungseinheit eingerichtet ist zur Bestimmung
eines Wertes einer Eingabevariablen eines Ausdrucks, der eine Quadratwurzelfunktion
enthält.
Die Datenverarbeitungseinheit ist weiterhin eingerichtet zur Bestimmung
eines Subintervalls (Unterintervalls) innerhalb eines vorgegebenen
Bereichs möglicher Werte
der Eingabevariablen, wobei das Subintervall den bestimmten Wert
enthält.
Die Datenverarbeitungseinheit ist weiterhin eingerichtet zum Berechnen
einer Polynomialapproximation des Ausdrucks unter Verwendung von
Polynomialkoeffizienten, die auf das bestimmte Subintervall speziell
angepasst sind.
-
In
einer anderen Ausgestaltung wird ein Datentransformationsverfahren
zum Transformieren von Eingabedaten in Ausgabedaten bereitgestellt.
Die Transformation enthält
eine Givens-Rotation, die unter Verwendung einer Polynomialapproximation
eines Ausdrucks durchgeführt
wird, der eine Quadratwurzelfunktion enthält. Die Funktion hat wenigstens
eine Eingabevariable eines vorgegebenen Bereichs möglicher
Werte. Das Verfahren umfasst das Bestimmen eines Subintervalls des
Bereichs möglicher
Werte der wenigstens einen Eingabevariablen, Bestimmen von Polynomialkoeffizienten
der Polynomialapproximation, wobei die Polynomialkoeffizienten an
das bestimmte Subintervall speziell angepasst sind, und Berechnen
der Polynomialapproximation unter Verwendung der bestimmten Polynomialkoeffizienten,
wenn die Eingabevariable einen Wert innerhalb des Subintervalls
aufweist.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
beigefügten
Zeichnungen sind in die Beschreibung eingefügt und bilden einen Teil derselben
zum Zwecke der Erläuterung
der Prinzipien der Erfindung. Die Zeichnungen sind nicht zu verstehen
als Einschränkung
der Erfindung auf nur die verdeutlichten und beschriebenen Beispiele,
wie die Erfindung gemacht und verwendet werden kann. Weitere Merkmale
und Vorteile werden aus der folgenden und genaueren Beschreibung
der Erfindung ersichtlich werden, wie in den beigefügten Zeichnungen
verdeutlicht, in denen:
-
1 ein
Flussdiagramm ist, das eine Ausgestaltung eines Datentransformationsverfahrens
verdeutlicht;
-
2 einen
Decision-Feedback-Equalizer (Entscheidungsrückkopplungsentzerrer) gemäß einer
Ausgestaltung verdeutlicht;
-
3 die
Filtersteuerung des Decision-Feedback-Equalizers von 2 verdeutlicht;
-
4 die
in 3 gezeigte Rotationssteuerung verdeutlicht; und
-
5 eine
in 3 gezeigte Rotationseinheit verdeutlicht.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Die
verdeutlichenden Ausgestaltungen der vorliegenden Erfindung werden
unter Bezugnahme auf die Figuren beschrieben werden.
-
Wird
nun auf die Zeichnungen und insbesondere auf 1 Bezug
genommen, die ein Flussdiagramm eines Datentransformationsverfahrens
gemäß einer
Ausgestaltung verdeutlicht, so wird die Givens-Rotation, die für Zwecke
der Datentransformation zu berechnen ist, durch Anwendung verschiedener
Polynomialapproximationen für
verschiedene Subintervalle bewerkstelligt.
-
Wie
oben ausgeführt,
erfordert die Berechnung von Givens-Rotationen die Berechnung einer
Quadratwurzelfunktion. In dem obigen Beispiel war die Quadratwurzelfunktion
für die
Bestimmung von Werten des Parameters α zu berechnen, jedoch sind andere
Implementierungen von Givens-Rotationen möglich, die die Berechnung einer
Quadratwurzelfunktion ebenfalls erfordern. Wird auf das obige Beispiel
der Berechnung des Parameters α zurückgegriffen,
so verwendet die vorliegende Ausgestaltung in jedem Subintervall
ein Polynom zweiter Ordnung
wobei ξ ∊ S
i ⊂[0,1] ist.
Die Koeffizienten c
k(i) können bezüglich jedes
Subintervalls S
i optimiert werden. Dies kann
durch Standardverfahren der Polynomialanpassung (-fitting) erzielt
werden. Darüber
hinaus basieren viele Anwendungen bei der Signalverarbeitung auf
einer Festkommaberechnung. Der Restfehler ε(ξ) kann irrelevant werden, wenn
er kleiner als die kleinste Festkommaauflösung ist.
-
In
der vorliegenden Ausgestaltung wird der Bereich [0,1] möglicher
Werte in zwei Subintervalle S
i wie in der
Tabelle gezeigt aufgeteilt:
-
Die
Polynomialapproximation wird dann separat für jedes Subintervall S
i durchgeführt, was zu den folgenden Polynomialkoeffizienten
führt,
die somit an das jeweilige Subintervall spezifisch angepasst sind:
-
Das
bedeutet, dass der Gesamtbereich möglicher Werte in Schritt 100 von 1 in
Subintervalle aufgeteilt wird. Dann wird ein Subintervall in Schritt 110 ausgewählt und
es werden die Polynomialkoeffizienten, die zu diesem Subintervall
gehören,
in Schritt 120 bestimmt. Unter Verwendung der bestimmten
Koeffizienten wird die Polynomialapproximation in Schritt 130 berechnet.
Es wird dann in Schritt 140 entschieden, ob Polynomialkoeffizienten
für ein
anderes Subintervall bestimmt werden müssen, und wenn dies der Fall
ist, führt
der Prozess eine erneute Iteration durch.
-
Es
ist anzumerken, dass die Abfolge der Schritte in dem Flussdiagramm
von 1 aus Gründen
der Erläuterung
gewählt
worden ist und dass andere Arten in alternativen Ausgestaltungen
möglich
sind. Beispielsweise könnte
der Schritt 130 der Berechnung der Polynomialapproximationen
gemeinsam für
alle Werte am Ende des Prozesses von 1 durchgeführt werden,
anstelle innerhalb einer jeden Iteration. Weiterhin könnte es
eine Ausgestaltung geben, bei der die Subintervalle so vordefiniert
sind, dass der Schritt 100 der Aufteilung des Gesamtbereiches
in Subintervalle entfallen kann. Darüber hinaus gibt es keine Notwendigkeit
der Durchführung
einer erneuten Iteration, wenn es beispielsweise nur einen Eingabewert ξ gibt.
-
Wie
oben gezeigt, wird der Gesamtbereich möglicher Eingabewerte in der
vorliegenden Ausgestaltung in zwei Subintervalle aufgeteilt. In
anderen Ausgestaltungen kann die Anzahl verwendeter Subintervalle
drei oder vier betragen oder sogar darüberliegen. Es ist jedoch festzustellen,
dass die Anzahl von zwei Subintervallen in vielen Fällen ausreichend
ist.
-
Darüber hinaus
können
die Breiten der Subintervalle verschieden sein, wie aus der obigen
Tabelle, die die Subintervalle zeigt, ersichtlich ist. In der vorliegenden
Ausgestaltung hat das erste Subintervall S1 eine
Breite von 0,4, wohingegen die Breite des zweiten Intervalls S2 gleich 0,6 ist. Das bedeutet, dass die
Breite eines der zwei Subintervalle etwa das 1,5-fache der Breite
des anderen Subintervalls der zwei Subintervalle ist. Darüber hinaus
ist anzumerken, dass die Breite des Subintervalls, das die kleineren
Eingabewerte enthält,
kleiner als die Breite des Subintervalls ist, das die größeren Eingabewerte
enthält.
-
Wie
oben beschrieben, wendet die vorliegende Ausgestaltung ein Polynom
zweiter Ordnung zur Approximierung der Funktion in jedem Subintervall
an. Obwohl festgestellt wurde, dass die Verwendung eines Polynoms
zweiter Ordnung für
viele Anwendungen hinreichend ist, sind andere Ausgestaltungen möglich, bei denen
Polynome einer hiervon verschiedenen Ordnung verwendet werden. Beispielsweise
können
lineare Approximationen, d.h. Polynome erster Ordnung, insbesondere
dann verwendet werden, wenn der Eingangsbereich in mehr als zwei
Subintervalle aufgeteilt wird. In anderen Ausgestaltungen können Polynome
höherer Ordnung
verwendet werden.
-
In
den Ausgestaltungen werden die Polynomialkoeffizienten für jedes
Subintervall bestimmt. Dies kann durch Minimierung der oben gezeigten
Fehlerfunktion εi(ξ)
erfolgen, die die Differenz angibt zwischen den Ergebniswerten,
die durch die Polynomialapproximation erhalten werden, und den entsprechenden
Werten, die unter Verwendung der Quadratwurzelfunktion selbst hätten erlangt
werden können.
Diese Minimierung kann durch Approximationen erfolgen, wie etwa
dadurch, dass eine gewichtete Summe der Quadrate der Fehler am geringsten
ist.
-
Es
ist anzumerken, dass die sich ergebenden Polynomialkoeffizienten
von denen der oben erwähnten Binomialreihe
verschieden sind, da die Polynomialkoeffizienten, die in der Ausgestaltung
verwendet werden, auf das jeweilige Subintervall optimiert worden
sind. Während
beispielsweise c1 der Binomialreihe gleich –0,5 ist,
beträgt
der entsprechende Wert für
das erste Subintervall etwa –0,485
und für
das zweite Subintervall etwa –0,374.
Sogar c0 ist bei dem zweiten Subintervall
von Eins verschieden. Somit ist die Approximation durch die Verwendung
von Polynomialkoeffizienten, die auf das entsprechende Subintervall
optimiert worden sind, besser als die Approximation, die eine Binomialreihe
derselben Ordnung verwendet. Dies gestattet die Verringerung der
Polynomialordnung und reduziert somit den Berechnungsaufwand und
vereinfacht den numerischen Algorithmus.
-
Die
Givens-Rotationsberechnungstechnik unter Verwendung von Polynomialapproximationen
in Subintervallen kann in jeder Anwendung verwendet werden, wo eine
Givens-Rotation zu berechnen ist. Beispielsweise kann die Technik
in Algorithmen zur adaptiven Filterung, Entzerrung und schnellen
Faktorisierung verwendet werden. Andere Anwendungen in Datenkommunikationssystemen
können
möglich
sein. Im Folgenden wird eine Ausgestaltung genauer beschrieben werden,
bei der die Givens-Rotation in einem Decision-Feedback-Equalizer
eines Empfängers
in einem (Direktsequenz-) Spreizspektrumsystem wie etwa einem WLAN-System (Wireless
Local Area Network, schnurloses lokales Netz) angewendet wird.
-
Spreizspektrumsysteme
werden gewöhnlich
entworfen, um mit Multipfadausbreitung fertig zu werden und erfordern
somit nicht einen zusätzlichen
Entzerrer (Equalizer), verglichen mit Einzelträgersystemen. Jedoch beträgt der Spreizgain
für CCK
(Complementary Code Keying, komplementäre Codeverschlüsselung) bei
11 Mbps nur zwei. Folglich verhält
sich CCK-11 in einer Multipfadumgebung beträchtlich schlechter als alle anderen
WLAN-Modi. Tatsächlich
kann dieses Modulationsschema als blockcodierte Einzelträger-QPSK-Modulation
(Quadrature Phase Shift Keying) mit einer Coderate von 1/2 betrachtet
werden. Die Verschlechterung wird bereits durch Interchipinterferenz
verursacht. Ein leistungsstarkes und einfaches Entzerrungskonzept
zur Bekämpfung
von Interferenz ist die Verwendung eines Decision-Feedback-Equalizers.
Der Zweck des Decision-Feedback-Equalizers
kann die Reduktion von Interchipinterferenz in dem CCK-11-Signal
sein.
-
Wird
nun auf 2 Bezug genommen, so ist ein
Blockdiagramm gezeigt, das einen Decision-Feedback-Equalizer gemäß einer
Ausgestaltung verdeutlicht. Der Decision-Feedback-Equalizer besteht
aus zwei Filtern, einem Feedforwardfilter (Vorwärtskoppelfilter) 200 und
einem Feedbackfilter (Rückkoppelfilter) 210. Die
Eingabe in den Feedforwardfilter 200 ist die empfangene
Signalsequenz. Der Feedbackfilter 210 koppelt die Ausgabedaten
zurück,
so dass die Ausgabedaten mit der Ausgabesequenz des Feedforwardfilters 200 kombiniert
werden können.
Es kann eine zusätzliche
(nicht gezeigte) Entscheidungseinheit vorhanden sein, die die Ausgabedaten
empfängt
und mit dem Feedbackfilter 210 verbunden ist, so dass der
Feedbackfilter 210 seine Eingabe tatsächlich von der Entscheidungseinheit
empfängt.
-
In
der Ausgestaltung von 2 werden der Feedforwardfilter 200 und
der Feedbackfilter 210 von einer Filtersteuerung 220 gesteuert.
Es ist anzumerken, dass andere Ausgestaltungen möglich sind, bei denen nur der
Feedforwardfilter 200 oder nur der Feedbackfilter 210 durch
die Filtersteuerung 220 gesteuert werden.
-
Die
Steuerung des Feedforwardfilters 200 und Feedbackfilters 210 wird
durch das Senden von Steuersignalen von der Filtersteuerung 220 zu
den jeweiligen Filtern bewerkstelligt. Diese Steuersignale geben
Filterkoeffizientendaten an, die Filterkoeffizienten definieren,
die von den Filtern zu verwenden sind. Die Erzeugung der Filterkoeffizientendaten
enthält
die Berechnung von Givens-Rotationen, wie unten genauer diskutiert werden
wird. Genauer gesagt kann die Berechnung optimaler Filterkoeffizienten
auf einem schnellen Cholesky-Faktorisierungsalgorithmus beruhen,
der wiederum in eine Reihe von Givens-Rotationen aufgeteilt werden kann.
-
3 verdeutlicht
die Filtersteuerung 220 von 2 in weiteren
Einzelheiten. Die Filtersteuerung 220 umfasst eine Rotationssteuerung 310 und
drei Rotationseinheiten 320, 330, 340.
Die Givens-Rotation wird durch die Rotationseinheiten durchgeführt. Zu
diesem Zweck empfangen die Rotationseinheiten 320, 330, 340 die
Parameter α und β von der
Rotationssteuerung 310 (der komplexkonjugierte Wert von
Parameter β,
d.h. der Wert von β*,
kann aus β gewonnen
werden und braucht somit nicht separat bereitgestellt zu werden).
Das bedeutet, dass die Rotationssteuerung 310 den Parameter α erzeugt
(und die Real- und Imaginärteile
des Parameters β)
und somit die Polynomialapproximation der Quadratwurzelfunktion
zur Bestimmung des Wertes von α durchführt.
-
Somit
wird die Polynomialapproximation durch die Rotationssteuerung 310 durchgeführt, während die Givens-Rotationen
dann eigentlich durch die Rotationseinheiten 320, 330, 340 durchgeführt werden.
Da die Filterkoeffizientendaten das Resultat der Datentransformation,
die die Givens-Rotationen enthält,
sind, werden diese Daten von den Rotationseinheiten 320, 330, 340 ausgegeben.
Zum Bestimmen der Elemente der Givens-Rotationsmatrix empfängt die
Rotationssteuerung 310 eine Eingabe von der Rotationseinheit 320 und von
der Zustandsübergangssteuerung 300.
Die Zustandsübergangssteuerung 300 erzeugt
Steuersignale für die
Rotationssteuerung 310 und die Rotationseinheiten 320, 330, 340 zur
Steuerung der Filtersteuerung 220, um durch die jeweiligen
Steuerzustände
schrittweise hindurchzugehen. Die Zustandsübergangssteuerung 300 kann
eine Eingabe von der Rotationssteuerung 310 empfangen,
um die korrekten Zustände
zu bestimmen.
-
Die
Berechnung der Givens-Rotationsmatrixelemente wird nun unter Bezugnahme
auf 4 genauer beschrieben. Die Figur verdeutlicht
die Einheiten der Rotationssteuerung 310. Wie aus der Figur
ersichtlich ist, umfasst die Rotationssteuerung 310 zwei
Datenpfadumsetzer (Mapper) 400, 420, die über Ausgaberegister 410 sowie
eine Ausdrucksberechnungseinrichtung 430 miteinander verbunden
sind. Die Ausgaberegister 410 umfassen eine Anzahl von
Registern zur Speicherung der Parameter α und β sowie anderer Parameter. Die Werte,
die in den Registern gespeichert sind, werden an die Rotationseinheiten 320, 330, 340 ausgegeben, wenigstens
im Falle der Parameter α und β, und werden
an die Zustandsübergangssteuerung 300 ausgegeben.
Weiterhin können
Werte in den Registern gespeichert werden, die weder an die Rotationseinheiten 320, 330, 340 noch
an die Zustandsübergangssteuerung 300 ausgegeben
werden. Diese Werte dienen ausschließlich dazu, an den ersten Datenpfadumsetzer 400 zusammen
mit den anderen gespeicherten Werten geliefert zu werden.
-
Der
erste Datenpfadumsetzer 400 ist mit einer Rotationseinheit 320 der
Rotationseinheiten und mit der Zustandsübergangssteuerung 300 verbunden.
Weiterhin empfängt
der erste Datenpfadumsetzer 400 eine Eingabe von Registern 440,
die Konstanten speichern. Auf der Grundlage der Eingabe der Zustandsübergangssteuerung 300 wählt der
erste Datenpfadumsetzer 400 Daten aus, die von Rotationseinheit 320,
den Ausgaberegistern 410 und den Konstantenregistern 440 empfangen
worden sind, und setzt die ausgewählten Daten auf seinen Ausgabeport
um, damit sie an die Ausdrucksberechnungseinrichtung 430 übermittelt
werden.
-
Die
Ausdrucksberechnungseinrichtung 430 enthält ein Netzwerk
aus Additions-, Multiplikations- und Divisionsschaltkreisen zum
Erzeugen einer Anzahl von Ausgangssignalen, die Werte von Ausdrücken angeben,
die durch Addition, Multiplikation und/oder Division einiger der
Eingabedaten durch andere Eingabedaten erlangt werden. Der Betrieb
der Ausdrucksberechnungseinrichtung 430 kann von bestimmten
Eingaben von der Zustandsübergangssteuerung 300 abhängig gemacht
werden, um die eigentliche Choleskyfaktorisierung durchzuführen.
-
Die
Ausgabewerte, die von der Ausdrucksberechnungseinrichtung 430 erzeugt
werden, werden an den zweiten Datenpfadumsetzer 420 weitergeleitet.
Der zweite Datenpfadumsetzer 420 arbeitet ähnlich wie der
erste Datenpfadumsetzer 400, d.h. er empfängt eine
Eingabe von der Zustandsübergangssteuerung 300 zum
Auswählen
einiger der Eingabewerte, die von der Ausdrucksberechnungseinrichtung 430 und
von Initialisierungs registern 450 empfangen werden, um
sie an die Ausgaberegister weiterzuleiten. Die Initialisierungsregister 450 speichern
Initialisierungswerte.
-
Wie
aus 4 ersichtlich ist, enthält die Rotationssteuerung 310 der
Filtersteuerung 220 in dem Decision-Feedback-Equalizer
eine Hardwareschaltung zum Berechnen der Werte für die Durchführung der
Givens-Rotation
auf dem Chip, dadurch dass eine Vielzahl konstanter Werte in Registern 440, 450 gespeichert und
diese konstanten Werte verwendet werden, um die Givens-Rotationsmatrixelemente
zu berechnen. Diese Elemente werden an die Rotationseinheiten 320, 330, 340 ausgegeben
und bilden die Grundlage für
die Berechnung der Givens-Rotationen.
-
Eine
Ausgestaltung der Rotationseinheiten 320, 330, 340 ist
in 5 verdeutlicht. Die Givens-Rotationsmatrixelemente α und β, die von
der Rotationssteuerung 310 erzeugt worden sind, werden
einer Berechnungseinheit 520 eingegeben. Die Rotationseinheiten 320, 330, 340 umfassen
ferner eine Schieberegistereinheit 500, die mehrere Schieberegisterbänke enthält. Angetrieben
von der Zustandsübergangssteuerung 300 empfängt die
Schieberegistereinheit 500 eine Eingabe von der Berechnungseinheit 520 und
erzeugt eine Ausgabe an die Rotationssteuerung 310 und
die Berechnungseinheit 520. Weiterhin gibt die Schieberegistereinheit 500 die
Filterkoeffizientendaten an den Feedforwardfilter 200 und/oder
den Feedbackfilter 210 des Decision-Feedback-Equalizers
aus.
-
Weiterhin
können
Multiplexereinheiten 510, 530 bereitgestellt werden,
um Signale, die von der Schieberegistereinheit 500 ausgegeben
werden, zum Zwecke der Eingabe in die Berechnungseinheit 520 auszuwählen, und
zum Steuern der Verzögerung
der berechneten Daten, bevor sie zu der Schieberegistereinheit 500 geleitet
werden.
-
Wie
aus der vorhergehenden Beschreibung ersichtlich ist, wird eine Technik
zur Berechnung der Givens-Rotation bereitgestellt, die zuverlässig und
effizient ist, und die numerisch einfacher und weniger aufwendig
sein kann als gewöhnliche
Givens-Rotationstechniken sowie andere Methoden, wie etwa der quadratwurzelfreien
schnellen Givens-Rotation. Durch Anwendung von Polynomialapproximationen,
die an Subintervalle des gesamten Bereichs möglicher Eingabewerte speziell
angepasst sind, kann die Ordnung der Polynome verringert werden,
wodurch die Effizienz verbessert und die Anzahl benötigter Komponententeile
verringert wird. Insbesondere in WLAN-Empfängern
kann die Technik in Decision-Feedback-Equalizern verwendet werden, und
die Polynomialapproximation kann in einer Hardwareschaltung berechnet
werden, die von der Schaltung verschieden ist, in der die Givens-Rotation tatsächlich durchgeführt wird.