DE10208409A1 - Givens-Rotationsberechnung - Google Patents

Givens-Rotationsberechnung

Info

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
Application number
DE10208409A
Other languages
English (en)
Other versions
DE10208409B4 (de
Inventor
Michael Schmidt
Ruediger Menken
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to DE10208409A priority Critical patent/DE10208409B4/de
Priority to US10/259,712 priority patent/US7099911B2/en
Publication of DE10208409A1 publication Critical patent/DE10208409A1/de
Application granted granted Critical
Publication of DE10208409B4 publication Critical patent/DE10208409B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete 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

    HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Die Erfindung betrifft allgemein Datentransformationsvorrichtungen und -verfahren und insbesondere die Berechnung von Givens-Rotationen.
  • 2. Beschreibung des Standes der Technik
  • 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.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • 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:
  • 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.
  • 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 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.
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.
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.
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.
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.
DE10208409A 2002-02-27 2002-02-27 Givens-Rotationsberechnung Expired - Lifetime DE10208409B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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