DE10208409A1 - Givens-Rotationsberechnung - Google Patents
Givens-RotationsberechnungInfo
- Publication number
- DE10208409A1 DE10208409A1 DE10208409A DE10208409A DE10208409A1 DE 10208409 A1 DE10208409 A1 DE 10208409A1 DE 10208409 A DE10208409 A DE 10208409A DE 10208409 A DE10208409 A DE 10208409A DE 10208409 A1 DE10208409 A1 DE 10208409A1
- Authority
- DE
- Germany
- Prior art keywords
- subintervals
- polynomial
- range
- subinterval
- expression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Discrete Mathematics (AREA)
- Computing Systems (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Abstract
Eine Givens-Rotationsberechnungstechnik wird bereitgestellt, die Polynomialapproximationen eines Ausdrucks verwendet, der eine Quadratwurzelfunktion enthält. Die Polynomialapproximation verwendet Polynomialkoeffizienten, die an ein jeweiliges Subintervall aus einer Anzahl von Subintervallen innerhalb eines Bereichs möglicher Werte der Eingabevariablen des Ausdrucks speziell angepasst sind. Die Technik kann in Datenkommunikationsgeräten wie etwa solchen in schnurlosen lokalen Netzen verwendet werden. Ein Beispiel ist die Anwendung der Givens-Rotationstechnik in einem Decision-Feedback-Equalizer.
Description
- Die Erfindung betrifft allgemein Datentransformationsvorrichtungen und -verfahren und insbesondere die Berechnung von Givens-Rotationen.
- 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
gegeben, so ist eine Givens- Rotation eine unitäre 2 × 2-Matrix
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.
- 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.
- 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:
- Fig. 1 ein Flussdiagramm ist, das eine Ausgestaltung eines Datentransformationsverfahrens verdeutlicht;
- Fig. 2 einen Decision-Feedback-Equalizer (Entscheidungsrückkopplungsentzerrer) gemäß einer Ausgestaltung verdeutlicht;
- Fig. 3 die Filtersteuerung des Decision-Feedback-Equalizers von Fig. 2 verdeutlicht;
- Fig. 4 die in Fig. 3 gezeigte Rotationssteuerung verdeutlicht; und
- Fig. 5 eine in Fig. 3 gezeigte Rotationseinheit verdeutlicht.
- Die verdeutlichenden Ausgestaltungen der vorliegenden Erfindung werden unter Bezugnahme auf die Figuren beschrieben werden.
- Wird nun auf die Zeichnungen und insbesondere auf Fig. 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 ξ ∈ Si ⊃ [0, 1] ist. Die Koeffizienten ck(i) können bezüglich jedes Subintervalls Si 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 Si wie in der Tabelle gezeigt aufgeteilt:
- Die Polynomialapproximation wird dann separat für jedes Subintervall Si 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 Fig. 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 Fig. 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 Fig. 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,5fache 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 Fig. 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 Fig. 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.
- Fig. 3 verdeutlicht die Filtersteuerung 220 von Fig. 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 Fig. 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 Initialisierungsregistern 450 empfangen werden, um sie an die Ausgaberegister weiterzuleiten. Die Initialisierungsregister 450 speichern Initialisierungswerte.
- Wie aus Fig. 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 Fig. 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.
- Während die Erfindung in Bezug auf physikalische Ausgestaltungen, die in Übereinstimmung mit ihr konstruiert worden sind, beschrieben worden ist, wird Fachleuten ersichtlich sein, dass verschiedene Modifikationen, Variationen und Verbesserungen der vorliegenden Erfindung im Lichte der obigen Lehren und innerhalb des Umfangs der beigefügten Ansprüche gemacht werden können, ohne von der Idee und dem beabsichtigten Umfang der Erfindung abzuweichen. Zusätzlich sind solche Bereiche, in denen davon ausgegangen wird, dass sich Fachleute auskennen, hier nicht weiter beschrieben, um die hier beschriebene Erfindung nicht unnötig zu verschleiern. Es ist demgemäß zu verstehen, dass die Erfindung nicht durch die spezifisch erläuternden Ausgestaltungen, sondern nur durch den Umfang der beigefügten Ansprüche beschränkt ist.
Claims (39)
1. Vorrichtung zum Transformieren von Eingabedaten in Ausgabedaten,
umfassend:
eine Datenverarbeitungseinheit (220, 320, 330, 340) zum Durchführen einer Givens-Rotation, wobei die Datenverarbeitungseinheit eingerichtet ist zum Bestimmen eines Wertes einer Eingabevariablen (ξ) eines Ausdrucks, der eine Quadratwurzelfunktion enthält, Bestimmen eines Subintervalls (Si) innerhalb eines gegebenen Bereichs möglicher Werte der Eingabevariablen, wobei das Subintervall den bestimmten Wert enthält, und Berechnen einer Polynomialapproximation des Ausdrucks unter Verwendung von Polynomialkoeffizienten, die an das bestimmte Subintervall speziell angepasst sind.
eine Datenverarbeitungseinheit (220, 320, 330, 340) zum Durchführen einer Givens-Rotation, wobei die Datenverarbeitungseinheit eingerichtet ist zum Bestimmen eines Wertes einer Eingabevariablen (ξ) eines Ausdrucks, der eine Quadratwurzelfunktion enthält, Bestimmen eines Subintervalls (Si) innerhalb eines gegebenen Bereichs möglicher Werte der Eingabevariablen, wobei das Subintervall den bestimmten Wert enthält, und Berechnen einer Polynomialapproximation des Ausdrucks unter Verwendung von Polynomialkoeffizienten, die an das bestimmte Subintervall speziell angepasst sind.
2. Vorrichtung nach Anspruch 1, wobei:
der Bereich möglicher Werte der Eingabevariablen in eine Anzahl von Subintervallen aufgeteilt ist, so dass jeder der möglichen Werte der Eingabevariablen in eines der Subintervalle fällt; und
die Polynomialkoeffizienten, die an eines der Subintervalle angepasst sind, verschieden von den Polynomialkoeffizienten sind, die an die anderen Subintervalle angepasst sind.
der Bereich möglicher Werte der Eingabevariablen in eine Anzahl von Subintervallen aufgeteilt ist, so dass jeder der möglichen Werte der Eingabevariablen in eines der Subintervalle fällt; und
die Polynomialkoeffizienten, die an eines der Subintervalle angepasst sind, verschieden von den Polynomialkoeffizienten sind, die an die anderen Subintervalle angepasst sind.
3. Vorrichtung nach Anspruch 2, wobei die Anzahl der Subintervalle zwei
beträgt.
4. Vorrichtung nach Anspruch 3, wobei die zwei Subintervalle von
verschiedener Breite sind.
5. Vorrichtung nach Anspruch 4, wobei die Breite eines der zwei
Subintervalle etwa das 1,5fache der Breite des anderen der zwei
Subintervalle ist.
6. Vorrichtung nach Anspruch 2, wobei der Bereich möglicher Werte der
wenigstens einen Eingabevariablen der Bereich von Null bis Eins ist.
7. Vorrichtung nach Anspruch 1, wobei die Polynomialapproximation des
Ausdrucks, der eine Quadratwurzelfunktion enthält, eine Approximation
unter Verwendung eines Polynoms zweiter Ordnung ist.
8. Vorrichtung nach Anspruch 1, wobei der Ausdruck den Kehrwert einer
Quadratwurzelfunktion enthält.
9. Vorrichtung nach Anspruch 8, wobei der Ausdruck der Kehrwert der
Quadratwurzelfunktion der Summe von Eins und der Eingabevariablen
ist.
10. Vorrichtung nach Anspruch 9, wobei der Bereich möglicher Werte der
wenigstens einen Eingabevariablen der Bereich von Null bis Eins ist.
11. Vorrichtung nach Anspruch 1, wobei die Polynomialkoeffizienten an das
bestimmte Subintervall angepasst sind, um einen Fehlerwert (εi) zu
minimieren, der die Differenz zwischen den Ergebniswerten, die durch
die Polynomialapproximation erlangt werden, und den entsprechenden
Werten angibt, die unter Verwendung des Ausdrucks, der die
Quadratwurzelfunktion enthält, erlangt werden können.
12. Vorrichtung nach Anspruch 1, nämlich ein Datenkommunikationsgerät
mit einem Adaptivfilterschaltkreis, der die Datenverarbeitungseinheit
umfasst.
13. Vorrichtung nach Anspruch 1, nämlich ein Datenkommunikationsgerät
mit einem Equalizerschaltkreis, der die Datenverarbeitungseinheit
enthält.
14. Vorrichtung nach Anspruch 1, nämlich ein Datenkommunikationsgerät
mit einem schnellen Faktorisierungsschaltkreis, der die
Datenverarbeitungseinheit enthält.
15. Vorrichtung nach Anspruch 1, weiterhin eine Speichereinheit
umfassend zum Speichern einer Anzahl verschiedener Sätze von
Polynomialkoeffizienten, wobei jeder Satz von Polynomialkoeffizienten
einem Subintervall einer Anzahl von Subintervallen des gegebenen
Bereichs möglicher Werte der Eingangsvariablen zugeordnet ist.
16. Vorrichtung nach Anspruch 1, weiterhin eine Speichereinheit (440, 450)
umfassend zum Speichern einer Vielzahl von konstanten Werten, wobei
die Datenverarbeitungseinheit eingerichtet ist zum Berechnen der
Polynomialkoeffizienten unter Verwendung der konstanten Werte.
17. Vorrichtung nach Anspruch 1, nämlich ein Kommunikationsgerät zur
Verwendung in einem Spreizspektrumsystem, wobei das
Kommunikationsgerät einen Decision-Feedback-Equalizer (200-220)
aufweist, der die Datenverarbeitungseinheit umfasst.
18. Vorrichtung nach Anspruch 17, wobei die Datenverarbeitungseinheit
(220) mit einem Feedforwardfilter (200) des Decision-Feedback-
Equalizers verbunden ist, um den Betrieb des Feedforwardfilters zu
steuern.
19. Vorrichtung nach Anspruch 17, wobei die Datenverarbeitungseinheit mit
einem Feedbackfilter (210) des Decision-Feedback-Equalizers
verbunden ist, um den Betrieb des Feedbackfilters zu steuern.
20. Vorrichtung nach Anspruch 17, nämlich ein WLAN-Empfänger
(Wireless Local Area Network, schnurloses lokales Netz).
21. Vorrichtung nach Anspruch 1, nämlich ein integrierter Schaltkreischip,
wobei die Datenverarbeitungseinheit eine Hardwareschaltung (500,
520) enthält, um die Givens-Rotation auf dem Chip durchzuführen.
22. Vorrichtung nach Anspruch 21, wobei die Datenverarbeitungseinheit
eine Hardwareschaltung (400, 420, 430) enthält zum Bestimmen der
Polynomialkoeffizienten, wobei die Hardwareschaltung zum
Durchführen der Givens-Rotation von der Hardwareschaltung zum
Bestimmen der Polynomialkoeffizienten getrennt ist.
23. Datentransformationsverfahren zum Transformieren von Eingabedaten
in Ausgabedaten, wobei die Transformation eine Givens-Rotation
enthält, wobei die Givens-Rotation unter Verwendung einer
Polynomialapproximation eines Ausdrucks, der eine
Quadratwurzelfunktion enthält, durchgeführt wird, wobei die Funktion
wenigstens eine Eingabevariable (ξ) eines gegebenen Bereichs
möglicher Werte hat, wobei das Verfahren umfasst:
Bestimmen (110) eines Subintervalls (Si) des Bereichs möglicher Werte der wenigstens einen Eingabevariablen;
Bestimmen (120) von Polynomialkoeffizienten der Polynomialapproximation, wobei die Polynomialkoeffizienten an das bestimmte Subintervall speziell angepasst sind; und
Berechnen (130) der Polynomialapproximation unter Verwendung der bestimmten Polynomialkoeffizienten, wenn die Eingabevariable einen Wert innerhalb des Subintervalls aufweist.
Bestimmen (110) eines Subintervalls (Si) des Bereichs möglicher Werte der wenigstens einen Eingabevariablen;
Bestimmen (120) von Polynomialkoeffizienten der Polynomialapproximation, wobei die Polynomialkoeffizienten an das bestimmte Subintervall speziell angepasst sind; und
Berechnen (130) der Polynomialapproximation unter Verwendung der bestimmten Polynomialkoeffizienten, wenn die Eingabevariable einen Wert innerhalb des Subintervalls aufweist.
24. Verfahren nach Anspruch 23, weiterhin umfassend:
Aufteilen (100) des Bereichs möglicher Werte der wenigstens einen Eingabevariablen in einer Anzahl von Subintervallen so, dass jeder der möglichen Werte der wenigstens einen Eingabevariablen in eines der Subintervalle fällt;
Bestimmen (110, 120, 140) von angepassten Polynomialkoeffizienten für jedes der Anzahl von Subintervallen; und
Berechnen (130) der Polynomialapproximation für jeden Wert der Eingabevariablen unter Verwendung der an das jeweilige Subintervall angepassten Polynomialkoeffizienten.
Aufteilen (100) des Bereichs möglicher Werte der wenigstens einen Eingabevariablen in einer Anzahl von Subintervallen so, dass jeder der möglichen Werte der wenigstens einen Eingabevariablen in eines der Subintervalle fällt;
Bestimmen (110, 120, 140) von angepassten Polynomialkoeffizienten für jedes der Anzahl von Subintervallen; und
Berechnen (130) der Polynomialapproximation für jeden Wert der Eingabevariablen unter Verwendung der an das jeweilige Subintervall angepassten Polynomialkoeffizienten.
25. Verfahren nach Anspruch 24, wobei die Anzahl der Subintervalle zwei
beträgt.
26. Verfahren nach Anspruch 25, wobei die zwei Subintervalle von
verschiedener Breite sind.
27. Verfahren nach Anspruch 26, wobei die Breite eines der zwei
Subintervalle etwa das 1,5fache der Breite des anderen der zwei
Subintervalle beträgt.
28. Verfahren nach Anspruch 24, wobei der Bereich möglicher Werte der
wenigstens einen Eingabevariablen der Bereich von Null bis Eins ist.
29. Verfahren nach Anspruch 23, wobei die Polynomialapproximation des
Ausdrucks, der eine Quadratwurzelfunktion enthält, eine Approximation
unter Verwendung eines Polynoms zweiter Ordnung ist.
30. Verfahren nach Anspruch 23, wobei der Ausdruck den Kehrwert einer
Quadratwurzelfunktion enthält.
31. Verfahren nach Anspruch 30, wobei der Ausdruck der Kehrwert der
Quadratwurzel der Summe von Eins und der Eingabevariablen ist.
32. Verfahren nach Anspruch 31, wobei der Bereich möglicher Werte der
wenigstens einen Eingabevariablen der Bereich von Null bis Eins ist.
33. Verfahren nach Anspruch 23, wobei die Polynomialkoeffizienten an das
bestimmte Subintervall angepasst werden durch Minimierung eines
Fehlerwertes (εi), der die Differenz zwischen den Ergebniswerten, die
durch die Polynomialapproximation erlangt werden, und den
entsprechenden Werten angibt, die unter Verwendung des Ausdrucks,
der die Quadratwurzelfunktion enthält, erlangt werden können.
34. Verfahren nach Anspruch 23, wobei die Transformation, die die Givens-
Rotation verwendet, eine Adaptivfilterung von Datensignalen in einem
Datenkommunikationsgerät ist.
35. Verfahren nach Anspruch 23, wobei die Transformation, die die
Givens-Rotation verwendet, eine Entzerrung von Datensignalen in
einem Datenkommunikationsgerät ist.
36. Verfahren nach Anspruch 23, wobei die Transformation, die die
Givens-Rotation verwendet, in einem schnellen
Faktorisierungsalgorithmus in einem Datenkommunikationsgerät
durchgeführt wird.
37. Verfahren nach Anspruch 23, wobei die Transformation, die die
Givens-Rotation verwendet, in einem Decision-Feedback-Equalizer
(200-220) in einem Kommunikationsgerät durchgeführt wird, das in
einem Spreizspektrumsystem verwendet werden kann.
38. Verfahren nach Anspruch 37, wobei die Givens-Rotation in einem
Feedforwardfilter (200) des Decision-Feedback-Equalizers durchgeführt
wird.
39. Verfahren nach Anspruch 37, wobei die Givens-Rotation in einem
Feedbackfilter (210) des Decision-Feedback-Equalizers durchgeführt
wird.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10208409A DE10208409B4 (de) | 2002-02-27 | 2002-02-27 | Givens-Rotationsberechnung |
US10/259,712 US7099911B2 (en) | 2002-02-27 | 2002-09-27 | Givens rotations computation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10208409A DE10208409B4 (de) | 2002-02-27 | 2002-02-27 | Givens-Rotationsberechnung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10208409A1 true DE10208409A1 (de) | 2003-09-18 |
DE10208409B4 DE10208409B4 (de) | 2006-04-13 |
Family
ID=27740450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10208409A Expired - Lifetime DE10208409B4 (de) | 2002-02-27 | 2002-02-27 | Givens-Rotationsberechnung |
Country Status (2)
Country | Link |
---|---|
US (1) | US7099911B2 (de) |
DE (1) | DE10208409B4 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720303B2 (en) * | 2004-04-28 | 2010-05-18 | Hewlett-Packard Development Company, L.P. | Polynomial approximation based image filter methods, systems, and machine-readable media |
US9014249B2 (en) | 2012-11-02 | 2015-04-21 | Harris Corporation | Communications receiver with channel identification using A-priori generated gain vectors and associated methods |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001026314A2 (de) * | 1999-10-06 | 2001-04-12 | Infineon Technologies Ag | Verfahren zur kanalentzerrung mittels givens rotation einer datenmatrix |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5305248A (en) * | 1993-04-23 | 1994-04-19 | International Business Machines Corporation | Fast IEEE double precision reciprocals and square roots |
US6363405B1 (en) * | 1997-12-24 | 2002-03-26 | Elbrus International Limited | Computer system and method for parallel computations using table approximation methods |
JP2000260137A (ja) * | 1999-03-11 | 2000-09-22 | Fujitsu Ltd | 記憶装置 |
-
2002
- 2002-02-27 DE DE10208409A patent/DE10208409B4/de not_active Expired - Lifetime
- 2002-09-27 US US10/259,712 patent/US7099911B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001026314A2 (de) * | 1999-10-06 | 2001-04-12 | Infineon Technologies Ag | Verfahren zur kanalentzerrung mittels givens rotation einer datenmatrix |
Non-Patent Citations (1)
Title |
---|
BRONSTEIN, I.N. ET AL: Taschenbuch der Mathematik, 5. Aufl., Thun, Verlag Harri Deutsch, 2001, S. 955-957. ISBN: 3-8171-2005-2 * |
Also Published As
Publication number | Publication date |
---|---|
US20030163498A1 (en) | 2003-08-28 |
DE10208409B4 (de) | 2006-04-13 |
US7099911B2 (en) | 2006-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69531020T2 (de) | Verfahren und Einrichtung zur sequentiellen Unterdrückung von Vielfachzugriffstörungen in einem CDMA-Empfänger | |
DE60218874T2 (de) | Schnelle rechnung der koeffizienten eines entshceidungsrückgekoppelten entzerrers | |
DE60214005T2 (de) | System und verfahren zum beseitigen von interferenzen in einem kommunikationssystem | |
DE60311348T2 (de) | Errechnung der Koeffizienten für einen entscheidungsrückgekoppelten Entzerrer änderbarer Verzögerung | |
DE602004007136T2 (de) | Sender und Übertragungsverfahren | |
DE69909497T2 (de) | Taktrückgewinnung für ein hochratiges digitales kommunikationssystem beruhehnd auf adaptiven entzerrerimpulsantworteigenschaften | |
DE60038405T2 (de) | Vorrichtung und Verfahren zur adaptiven Verringerung von Energieverbrauch in integrierten Schaltungen | |
DE4402098A1 (de) | Verzögerungs-Interpolator für einen digitalen Phased-Array-Ultraschallstrahlformator | |
DE19744669B4 (de) | Verfahren und Vorrichtung zur Stabilisierung der Wirkung eines Phasenarrayantennensystems | |
DE2755308A1 (de) | Automatischer frequenzbereich-entzerrer mit kleinstem mittleren fehlerquadrat als korrekturkriterium | |
DE60036981T2 (de) | Empfänger und Verfahren zur Regelung der Verstärkung desselben | |
DE60124809T2 (de) | Digitaler Empfänger | |
DE60037375T2 (de) | Filter zum Begrenzen des Übertragungsbandes für CDMA Übertragung | |
DE69925326T2 (de) | CDMA-Empfänger mit paraleller Interferenzunterdrückung und -gewichtung | |
DE69634466T2 (de) | Mehrbenutzerempfang für CDMA | |
DE102011082036B4 (de) | Übertragen eines Signals von einem Leistungsverstärker | |
DE2749099A1 (de) | Selbstadaptives entzerrungssystem fuer einen signaluebertragungskanal | |
DE69531156T2 (de) | Empfangsverfahren und empfänger | |
DE60118346T2 (de) | Verfahren, empfänger und entzerrer, mit erhöhter recheneffizienz | |
DE102014115814A1 (de) | Ein ratenadaptiver Entzerrer, der sich selbst basierend auf detektierten Kanalbedingungen automatisch initialisiert, und ein entsprechendes Verfahren | |
DE102008034397A1 (de) | Entzerrungssystem und entsprechendes Verfahren | |
DE60311862T2 (de) | Entzerrer zur abtastwertweisen Entscheidungsrückmeldung im Transformationsbereich | |
DE10208409A1 (de) | Givens-Rotationsberechnung | |
DE10210234B4 (de) | LMS-basierte Kanalschätzung | |
DE60308913T2 (de) | Gemeinsame optimierung von vor- und nach- filterkoeffizienten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |