DE10208409B4 - Givens-Rotationsberechnung - Google Patents

Givens-Rotationsberechnung Download PDF

Info

Publication number
DE10208409B4
DE10208409B4 DE10208409A DE10208409A DE10208409B4 DE 10208409 B4 DE10208409 B4 DE 10208409B4 DE 10208409 A DE10208409 A DE 10208409A DE 10208409 A DE10208409 A DE 10208409A DE 10208409 B4 DE10208409 B4 DE 10208409B4
Authority
DE
Germany
Prior art keywords
communication device
subintervals
polynomial
square root
range
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.)
Expired - Lifetime
Application number
DE10208409A
Other languages
English (en)
Other versions
DE10208409A1 (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)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

Kommunikationsgerät zur Verwendung in einem Spreizspektrumsystem, umfassend:
einen Decision-Feedback-Equalizer (200–220) mit einer 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 einer Vielzahl verschieden breiter Subintervalle (Si) innerhalb eines gegebenen Bereichs möglicher Werte der Eingabevariablen, wobei das bestimmte Subintervall den bestimmten Wert enthält, und Berechnen einer Polynomialapproximation des Ausdrucks, der eine Quadratwurzelfunktion enthält, unter Verwendung von Polynomialkoeffizienten, die an das bestimmte Subintervall speziell angepasst sind.

Description

  • 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 ∊ Cn 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
    Figure 00020001
  • 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
    Figure 00020002
    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:
    Figure 00030001
    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:
    Figure 00030002
  • 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
    Figure 00070001
    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:
    Figure 00080001
  • 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:
    Figure 00080002
  • 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.

Claims (29)

  1. Kommunikationsgerät zur Verwendung in einem Spreizspektrumsystem, umfassend: einen Decision-Feedback-Equalizer (200220) mit einer 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 einer Vielzahl verschieden breiter Subintervalle (Si) innerhalb eines gegebenen Bereichs möglicher Werte der Eingabevariablen, wobei das bestimmte Subintervall den bestimmten Wert enthält, und Berechnen einer Polynomialapproximation des Ausdrucks, der eine Quadratwurzelfunktion enthält, unter Verwendung von Polynomialkoeffizienten, die an das bestimmte Subintervall speziell angepasst sind.
  2. Kommunikationsgerät 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. Kommunikationsgerät nach Anspruch 2, wobei die Anzahl der Subintervalle zwei beträgt.
  4. Kommunikationsgerät nach Anspruch 3, wobei die Breite eines der zwei Subintervalle etwa das 1,5-Fache der Breite des anderen der zwei Subintervalle ist.
  5. Kommunikationsgerät nach Anspruch 2, wobei der Bereich möglicher Werte der wenigstens einen Eingabevariablen der Bereich von Null bis Eins ist.
  6. Kommunikationsgerät nach Anspruch 1, wobei die Polynomialapproximation des Ausdrucks, der eine Quadratwurzelfunktion enthält, eine Approximation unter Verwendung eines Polynoms zweiter Ordnung ist.
  7. Kommunikationsgerät nach Anspruch 1, wobei der Ausdruck den Kehrwert einer Quadratwurzelfunktion enthält.
  8. Kommunikationsgerät nach Anspruch 7, wobei der Ausdruck der Kehrwert der Quadratwurzelfunktion der Summe von Eins und der Eingabevariablen ist.
  9. Kommunikationsgerät nach Anspruch 8, wobei der Bereich möglicher Werte der wenigstens einen Eingabevariablen der Bereich von Null bis Eins ist.
  10. Kommunikationsgerät 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.
  11. Kommunikationsgerät 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.
  12. Kommunikationsgerät 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.
  13. Kommunikationsgerät nach Anspruch 1, wobei die Datenverarbeitungseinheit (220) mit einem Feedforwardfilter (200) des Decision-Feedback-Equalizers verbunden ist, um den Betrieb des Feedforwardfilters zu steuern.
  14. Kommunikationsgerät nach Anspruch 1, wobei die Datenverarbeitungseinheit mit einem Feedbackfilter (210) des Decision-Feedback-Equalizers verbunden ist, um den Betrieb des Feedbackfilters zu steuern.
  15. Kommunikationsgerät nach Anspruch 1, nämlich ein WLAN-Empfänger (Wireless Local Area Network, schnurloses lokales Netz).
  16. Kommunikationsgerät 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.
  17. Kommunikationsgerät nach Anspruch 16, 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.
  18. Verfahren zum Betreiben eines Kommunikationsgeräts in einem Spreizspektrumsystem, umfassend: Betreiben eines Decision-Feedback-Equalizers (200220) zur Durchführung einer Givens-Rotation unter Verwendung einer Polynomialapproximation eines Ausdrucks, der eine Quadratwurzelfunktion enthält, wobei die Funktion wenigstens eine Eingabevariable (ξ) eines gegebenen Bereichs möglicher Werte hat, wobei das Verfahren umfasst: Bestimmen (110) eines einer Vielzahl verschieden breiter Subintervalle (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.
  19. Verfahren nach Anspruch 18, 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.
  20. Verfahren nach Anspruch 19, wobei die Anzahl der Subintervalle zwei beträgt.
  21. Verfahren nach Anspruch 20, wobei die Breite eines der zwei Subintervalle etwa das 1,5-Fache der Breite des anderen der zwei Subintervalle beträgt.
  22. Verfahren nach Anspruch 19, wobei der Bereich möglicher Werte der wenigstens einen Eingabevariablen der Bereich von Null bis Eins ist.
  23. Verfahren nach Anspruch 18, wobei die Polynomialapproximation des Ausdrucks, der eine Quadratwurzelfunktion enthält, eine Approximation unter Verwendung eines Polynoms zweiter Ordnung ist.
  24. Verfahren nach Anspruch 18, wobei der Ausdruck den Kehrwert einer Quadratwurzelfunktion enthält.
  25. Verfahren nach Anspruch 24, wobei der Ausdruck der Kehrwert der Quadratwurzel der Summe von Eins und der Eingabevariablen ist.
  26. Verfahren nach Anspruch 25, wobei der Bereich möglicher Werte der wenigstens einen Eingabevariablen der Bereich von Null bis Eins ist.
  27. Verfahren nach Anspruch 18, wobei die Polynomialkoeffizienten an das bestimmte Subintervall angepasst werden durch Minimierung eines Fehlerwertes (ε1), 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.
  28. Verfahren nach Anspruch 18, wobei die Givens-Rotation in einem Feedforwardfilter (200) des Decision-Feedback-Equalizers durchgeführt wird.
  29. Verfahren nach Anspruch 18, 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 DE10208409A1 (de) 2003-09-18
DE10208409B4 true 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 (2)

* 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
WO2001026314A2 (de) * 1999-10-06 2001-04-12 Infineon Technologies Ag Verfahren zur kanalentzerrung mittels givens rotation einer datenmatrix

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (2)

* 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
WO2001026314A2 (de) * 1999-10-06 2001-04-12 Infineon Technologies Ag Verfahren zur kanalentzerrung mittels givens rotation einer datenmatrix

Non-Patent Citations (3)

* 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 *
BRONSTEIN, I.N.; SEMENDJAJEW, K.A.; MUSIOL, G.
MÜHLIG, H.: 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
US7099911B2 (en) 2006-08-29
DE10208409A1 (de) 2003-09-18

Similar Documents

Publication Publication Date Title
DE60218874T2 (de) Schnelle rechnung der koeffizienten eines entshceidungsrückgekoppelten entzerrers
DE69820472T2 (de) Linearisierungsverfahren und verstärkeranordnung
DE69834320T2 (de) Verfahren und Vorrichtung zur Folgeschätzung
DE3016371C2 (de)
DE69634466T2 (de) Mehrbenutzerempfang für CDMA
DE60124809T2 (de) Digitaler Empfänger
DE2749099A1 (de) Selbstadaptives entzerrungssystem fuer einen signaluebertragungskanal
DE60118346T2 (de) Verfahren, empfänger und entzerrer, mit erhöhter recheneffizienz
DE102011082036B4 (de) Übertragen eines Signals von einem Leistungsverstärker
DE10208409B4 (de) Givens-Rotationsberechnung
DE102014115814A1 (de) Ein ratenadaptiver Entzerrer, der sich selbst basierend auf detektierten Kanalbedingungen automatisch initialisiert, und ein entsprechendes Verfahren
DE60311862T2 (de) Entzerrer zur abtastwertweisen Entscheidungsrückmeldung im Transformationsbereich
DE102008034397A1 (de) Entzerrungssystem und entsprechendes Verfahren
DE3016352C2 (de)
DE10210234B4 (de) LMS-basierte Kanalschätzung
DE10316803A1 (de) Verfahren und Vorrichtung zur Kanalschätzung in Funksystemen durch MMSE-basierte rekursive Filterung
EP1672480B1 (de) Verfahren und Vorrichtung zur Durchführung einer Multiplikations- oder Divisionsoperation in einer elektronischen Schaltung
DE10250890B4 (de) Entscheidungsrückkoppelentzerrer mit reduzierter Gatezahl
DE4446637B4 (de) Anordnung zur Trägernachführung bei einem IQ-Demodulator
DE10157247B4 (de) Verfahren zur gemeinsamen Schätzung von Parametern
DE10224161A1 (de) Restphasenfehlerkorrektur
DE10343229B4 (de) Reduzierter Speicheraufbau für einen EDGE-Modulator
DE10329606B4 (de) Anordnung zur Frequenzbereichstransformation von Signalen
DE19638404C1 (de) Verfahren und Empfänger zum Ermitteln von mit dem CDMA-Verfahren codierten Symbolwertfolgen mit Hilfe individueller Viterbi-Algorithmen
DE102006009533A1 (de) Verfahren und Schaltungsanordnung zum Berechnen eines Betrags eines komplexen Signals

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