DE4335925C2 - Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren - Google Patents

Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren

Info

Publication number
DE4335925C2
DE4335925C2 DE19934335925 DE4335925A DE4335925C2 DE 4335925 C2 DE4335925 C2 DE 4335925C2 DE 19934335925 DE19934335925 DE 19934335925 DE 4335925 A DE4335925 A DE 4335925A DE 4335925 C2 DE4335925 C2 DE 4335925C2
Authority
DE
Germany
Prior art keywords
circuit arrangement
iteration
vector
signal processing
angle
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 - Fee Related
Application number
DE19934335925
Other languages
English (en)
Other versions
DE4335925A1 (de
Inventor
Heinz Dr Goeckler
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE19934335925 priority Critical patent/DE4335925C2/de
Publication of DE4335925A1 publication Critical patent/DE4335925A1/de
Application granted granted Critical
Publication of DE4335925C2 publication Critical patent/DE4335925C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/5446Methods 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 using crossaddition algorithms, e.g. CORDIC

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

Die vorliegende Erfindung betrifft eine Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren gemäß den Merkmalen des Oberbegriffs des Anspruchs 1.
Das bekannte CORDIC-Verfahren (Coordinate Rotation Digital Computer) ist z. B. in dem Lehrbuch "Meßtechnik in der seriellen digitalen Signalverarbeitung", M. Büttner, B. Eckhardt, G. Oetken, Erlangen 1976, S. 68-79 beschrieben. Das CORDIC-Verfahren ermöglicht es, mit sehr geringem Schaltungsaufwand Polarkoordinaten eines Signalvektors in kartesische Koordinaten und umgekehrt umzuwandeln. Ebenso können damit aus der Amplitude und der Phase eines Signals Realteil und Imaginärteil bestimmt werden. Das CORDIC-Verfahren arbeitet iterativ und erfordert an arithmetischen Operationen nur einfaches binäres Schieben und Addieren. Die Genauigkeit hängt von der Anzahl der Iterationsschritte und der verwendeten Signalwortlänge ab.
Bei dem aus der obengenannten Literaturstelle hervorgehenden CORDIC-Verfahren werden ein dem Iterationsprozeß Drehwinkelschritte Δ Θi verwendet, die sich aus der Rechenvorschrift
Δ Θi = ai arctan 21-i
ergeben, wobei i die Nummer des jeweiligen Iterationsschritts und ai die Drehrichtung angibt. Der Iterationsprozeß konvergiert mit diesem Drehwinkelkrement nicht sehr schnell bzw. liefert nur bei einer relativ großen Zahl von Iterationsschritten ein sehr genaues Ergebnis.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Schaltungsanordnung der eingangs genannten Art anzugeben, die einen Iterationsprozeß mit möglichst schneller Konvergenz durchführt bzw. mit möglichst wenig Iterationsschritten ein sehr genaues Ergebnis liefert.
Erfindungsgemäß wird diese Aufgabe durch die Merkmale des Anspruches 1 gelöst. Zweckmäßige Anführungen der Erfindung gehen aus den Unteransprüchen hervor.
Anhand eines in der Zeichnung dargestellten Zeigerdiagramms wird nun die Erfindung näher erläutern.
Ein Signalvektor mit den kartesischen Koordinaten x₀, y₀ soll um den Winkel ϕ gedreht werden. Dazu dreht die den CORDIC-Prozeß ausführende Schaltungsanordnung den Signalvektor (x₀, y₀) zunächst um + oder - 90°. Der gedrehte Vektor hat dann die Koordinaten x₁ = ∓ y₀ und y₁ = ± x₀. In n nachfolgenden Iterationsschritten erfolgt dann eine Drehung des Vektors (x₁, y₁) soweit bis er in möglichst guter Annäherung die gewünschten Koordinaten xn, yn hat, welche der Drehung des Ursprungsvektors (x₀, y₀) um den Winkel ϕ entsprechen. Welche relativ einfachen Rechenoperationen der CORDIC Prozessor in jedem Iterationsschritt durchzuführen hat, geht aus der folgenden Herleitung der Iterationsgleichungen hervor. In einem (i-1)-ten Iterationsschritt wird ein Vektor mit den Koordinaten xi, yi und der Länge ϕi um einen Winkel Δ Θi gedreht.
Aus dieser Drehung entsteht ein neuer Vektor mit den Koordinaten xi+1, yi+1 und der Länge ϕi+1. Die Länge ϕi+1 dieses Vektor berechnet sich aus der Länge ϕi des vorherigen Vektors und einer vorgegebenen Tangente der Länge ϕi · bi:
Es gilt weiter
Aus (2) und (3) folgen:
xi+1 = xi - aiyibi (4)
yi+1 = yi + aixibi (5)
wobei gilt:
ai = - 1 für yi 0
ai = + 1 für yi < 0
Außerdem gilt für die Drehwinkel:
Θi+1 = Θi - ai Δ Θi (6)
Das Winkelinkrement wird festgelegt auf:
Δ Θi = 90° · 2-i, (7)
woraus sich für bi ergibt:
bi = tan (90 · 2-i) (8)
In (1) ist mit
ein Korrekturwert gegeben, der die Vergrößerung des Betrages eines Vektors nach einem Rotationsschritt gegenüber dem vorherigen Vektor beschreibt.
Die Betragsvergrößerung des resultierenden Vektors nach n Iterationsschritten ist dann:
Um den unverfälschten Betrag des resultierenden Vektors zu erhalten, bildet ein Multiplizierer das Produkt aus der Länge
des Vektors und dem Kehrwert 1/K des Korrekturwerts.
Die aus (8) hervorgehenden Werte bi und die Winkelinkremente Δ Θi gemäß (7) wie sie aus der untenstehenden Tabelle hervorgehen, können in einem Speicher abgelegt werden, so daß der Prozessor in jedem Iterationsschritt i auf die zugehörigen Werte bi und Δ Θi zugreifen kann.
Gegenüber dem im Stand der Technik (s. einleitend genannte Literatur) verwendeten Winkelinkrement führt das gemäß (7) verwendete Winkelinkrement zu einer erheblich schnelleren Konvergenz des Iterationsprozesses bzw. bei gleicher Zahl der Iterationsschritte zu einer höheren Genauigkeit.
Ein weiterer Effekt des hier verwendeten Winkelinkrements ist, daß die Veränderung K der Vektorlänge während des Iterationsprozesses geringer ist als beim Stand der Technik.

Claims (3)

1. Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren, welche Schaltungsmittel enthält, die einen Signalvektor mit den Koordinaten x₀ und y₀ in n Iterationsschritten um einen Winkel drehen, wobei nach einer ersten Drehung des Signalvektors um ± 90° die Schaltungsmittel in jedem i-ten Iterationsschritt die Koordinaten xi+1, yi+1 und den Drehwinkel Θi+1 nach den Vorschriften: xi+1 = xi - aiyibi
yi+1 = yi + aixibi
Θi+1 = Θi - ai arctan biberechnen, wobei gilt:ai = -1 für yi 0
ai = +1 für yi < 0dadurch gekennzeichnet, daß die Werte bi der Vorschriftbi = tan (90°2-i)genügen.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Werte bi in einem Speicher abgelegt sind.
3. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß ein Prozessor während der Iteration einen Korrekturwert berechnet und daß ein Multiplizierer das Produkt aus dem Betrag des um den gewünschten Winkel gedrehten Signalvektors und dem Kehrwert 1/K des Korrekturwertes bildet.
DE19934335925 1993-10-21 1993-10-21 Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren Expired - Fee Related DE4335925C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19934335925 DE4335925C2 (de) 1993-10-21 1993-10-21 Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19934335925 DE4335925C2 (de) 1993-10-21 1993-10-21 Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren

Publications (2)

Publication Number Publication Date
DE4335925A1 DE4335925A1 (de) 1995-04-27
DE4335925C2 true DE4335925C2 (de) 1997-04-03

Family

ID=6500678

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934335925 Expired - Fee Related DE4335925C2 (de) 1993-10-21 1993-10-21 Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren

Country Status (1)

Country Link
DE (1) DE4335925C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10164462A1 (de) * 2001-12-20 2003-07-10 Ihp Gmbh CORDIC-Einheit

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19950577C2 (de) * 1999-10-20 2002-08-22 Siemens Ag Komplexwertiges CORDIC-Verfahren für Signalverarbeitungsaufgaben sowie Funkkommunikationssystem zur Durchführung des Verfahrens
JP3598938B2 (ja) * 2000-04-19 2004-12-08 日本電気株式会社 携帯無線システム及びそれに用いる携帯無線装置並びにそれらに用いる周波数誤差推定方法
JP2007520009A (ja) 2004-01-28 2007-07-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 複素位相回転に対するcordicアルゴリズムの実施
CN109032564B (zh) * 2018-08-16 2022-12-02 电子科技大学 一种高稳定性的cordic算法实现电路

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504102B2 (ja) * 1988-02-17 1996-06-05 日本電気株式会社 逆三角関数演算装置
EP0365226A3 (de) * 1988-10-17 1991-02-20 Raytheon Company "CORDIC"-Vorrichtung und Verfahren zur Annäherung der Grösse und der Phase einer komplexen Zahl

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10164462A1 (de) * 2001-12-20 2003-07-10 Ihp Gmbh CORDIC-Einheit
DE10164462B4 (de) * 2001-12-20 2007-04-26 IHP GmbH - Innovations for High Performance Microelectronics/ Institut für innovative Mikroelektronik GmbH CORDIC-Einheit

Also Published As

Publication number Publication date
DE4335925A1 (de) 1995-04-27

Similar Documents

Publication Publication Date Title
DE68913499T2 (de) Diskrete Autofokus-Einstellung für die Abbildungserzeugung in einem Radar mit synthetischer Apertur und sehr hoher Auflösung.
DE3432122C2 (de) Vorrichtung zur Erzeugung der Größenwerte der Vektorsumme zweier Vektorkomponenten
DE2628471C3 (de) Koordinaten-Transformationsschaltung
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE69130510T2 (de) Arithmetisches Gerät zur Berechnung von transzendenten Elementarfunktionen
DE10164462B4 (de) CORDIC-Einheit
DE3917059A1 (de) Cordic-anordnung zum multiplizieren von komplexen zahlen
DE3034252A1 (de) Vorrichtung zum feldorientierten betrieb einer umrichtergespeisten asynchronmaschine
DE2853560B2 (de) Elektronische Schaltung zur Berechnung mehrerer Interpolationsgrößen bei der in der medizinischen Tomographie durchgeführten Bilderzeugung
DE69022926T2 (de) Virtuelle Mikrophonanlage und dafür bestimmtes Verfahren.
DE2729912C2 (de) Anordnung zum Erzeugen digitaler Ausgangssignalwerte
DE4335925C2 (de) Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren
DE3418624C2 (de)
DE3038499A1 (de) Farbisolationsverfahren
DE3852576T2 (de) Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen.
DE19826252A1 (de) Verfahren zur digitalen Signalverarbeitung und Anordnung zur Durchführung des Verfahrens
DE3915037C2 (de) Mustergenerator
DE3538326A1 (de) Anordnung zur berechnung des phasenwinkels eines summenvektors
DE3144188A1 (de) Flussbestimmungseinrichtung fuer die feldorientierte steuerung einer drehfeldmaschine
DE69023979T2 (de) Digitale Signalverarbeitung.
DE1574601A1 (de) Sinus-Cosinus-Generator
DE2153347A1 (de) Digital-Anzeige-Generator
DE2631073C3 (de) Vorrichtung zur Struktur- und Textur-Analyse zumindestens eines Mediums
DE69131613T2 (de) Vektorrechnergerät, welches schnell eine Berechnung auf zwei Eingangsvektoren ausführen kann
Yang Transformation-density estimation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: ROBERT BOSCH GMBH, 70469 STUTTGART, DE

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee