DE102014200465A1 - Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße - Google Patents

Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße Download PDF

Info

Publication number
DE102014200465A1
DE102014200465A1 DE102014200465.9A DE102014200465A DE102014200465A1 DE 102014200465 A1 DE102014200465 A1 DE 102014200465A1 DE 102014200465 A DE102014200465 A DE 102014200465A DE 102014200465 A1 DE102014200465 A1 DE 102014200465A1
Authority
DE
Germany
Prior art keywords
variable
correction
logarithm
input
value
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.)
Withdrawn
Application number
DE102014200465.9A
Other languages
English (en)
Inventor
Alexander Uhl
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 DE102014200465.9A priority Critical patent/DE102014200465A1/de
Priority to US14/596,251 priority patent/US9594728B2/en
Publication of DE102014200465A1 publication Critical patent/DE102014200465A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • 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/556Logarithmic or exponential functions

Abstract

Die Erfindung betrifft eine Vorrichtung (100) zur Bestimmung eines Schätzwertes (s) des Logarithmus einer Eingangsgröße, wobei die Vorrichtung (100) eine Approximationseinheit (120) aufweist, die ausgebildet ist, um aus der Eingangsgröße (x) unter Verwendung einer Approximation eine erste Größe (k) zu bestimmen, dem ganzzahligen Anteil des Logarithmuswertes der Eingangsgröße (x) entspricht, wobei die Approximationseinheit (120) ferner ausgebildet ist, um eine zweite Größe (f) zu bestimmen, die einem Schätzwert eines nicht-ganzzahligen Anteils des Logarithmuswertes der Eingangsgröße (x) entspricht. Ferner umfasst die Vorrichtung (100) eine Bestimmungseinheit (125) zur Bestimmung einer Korrekturgröße (c1) unter Verwendung der zweiten Größe (f) und eine Ermittlungseinheit (170) zur Ermittlung des Schätzwertes (s) des Logarithmus der Eingangsgröße (x) durch Verknüpfung der ersten Größe (k) mit der zweiten Größe (f) und der Korrekturgröße (c1).

Description

  • Stand der Technik
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße, auf ein entsprechendes Verfahren sowie auf ein entsprechendes Computerprogrammprodukt.
  • Die Berechnung der Logarithmusfunktion ist seit etwa 1990 in vielen Fließkommaprozessoren als eingebaute Hardwarefunktion verfügbar, und wird in der Regel durch einen integrierten Gleitkomma-Coprozessor erledigt. Alternativ erfolgt die Logarithmenberechnung durch Software (sogenannte Gleitkomma-Emulation), was naturgemäß deutlich langsamer geschieht. In der Regel werden hier iterative Verfahren benutzt, welche mehrere Takte zur Berechnung des Logarithmus benötigen.
  • In Festkommaarithmetik existieren ebenfalls Verfahren, welche den Logarithmus in mehreren Takten berechnen oder aber den Logarithmus in einem Takt berechnen. Verfahren, welche den Logarithmus in einem Takt berechnen haben meist eine festgelegte Genauigkeit der Berechnung und lassen sich nicht auf beliebige Genauigkeit anpassen.
  • Die wissenschaftliche Veröffentlichung Mitchell, J. N., „Computer Multiplication and Division Using Binary Logarithms", IRE Transactions an Electronic Computers, 1962, EC-11, 517 beschreibt in diesem Zusammenhang einen Algorithmus zur elektronischen Berechnung von Logarithmen in elektronischen Schaltwerken.
  • Offenbarung der Erfindung
  • Vor diesem Hintergrund wird mit dem hier vorgestellten Ansatz eine Vorrichtung zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße, weiterhin ein entsprechendes Verfahren sowie schließlich ein entsprechendes Computerprogrammprodukt gemäß den Hauptansprüchen vorgestellt. Vorteilhafte Ausgestaltungen ergeben sich aus den jeweiligen Unteransprüchen und der nachfolgenden Beschreibung.
  • Der hier vorgestellte Ansatz schafft eine Vorrichtung zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße, wobei die Vorrichtung die folgenden Merkmale aufweist:
    • – eine Approximationseinheit, die ausgebildet ist, um aus der Eingangsgröße eine erste Größe zu bestimmen, die dem ganzzahligen Anteil des Logarithmuswertes der Eingangsgröße entspricht, wobei die Approximationseinheit ferner ausgebildet ist, um eine zweite Größe zu bestimmen, die einem Schätzwert eines nicht-ganzzahligen Anteils des Logarithmuswertes der Eingangsgröße entspricht;
    • – eine Bestimmungseinheit zur Bestimmung einer Korrekturgröße unter Verwendung der zweiten Größe; und
    • – eine Ermittlungseinheit zur Ermittlung des Schätzwertes des Logarithmus der Eingangsgröße durch Verknüpfung der ersten Größe mit der zweiten Größe und der Korrekturgröße.
  • Unter einer Vorrichtung kann vorliegend ein elektrisches Gerät verstanden werden, das Sensor- oder Datensignale verarbeitet und in Abhängigkeit davon Steuer- und/oder Datensignale ausgibt. Die Vorrichtung kann eine Schnittstelle aufweisen, die hard- und/oder softwaremäßig ausgebildet sein kann. Bei einer hardwaremäßigen Ausbildung können die Schnittstellen beispielsweise Teil eines sogenannten System-ASICs sein, der verschiedenste Funktionen der Vorrichtung beinhaltet. Es ist jedoch auch möglich, dass die Schnittstellen eigene, integrierte Schaltkreise sind oder zumindest teilweise aus diskreten Bauelementen bestehen. Bei einer softwaremäßigen Ausbildung können die Schnittstellen Softwaremodule sein, die beispielsweise auf einem Mikrocontroller neben anderen Softwaremodulen vorhanden sind.
  • Unter einer Approximationseinheit kann eine Einheit oder Schaltung verstanden werden, die in der Lage ist, eine erste und eine zweite Größe zu bestimmen, deren Verknüpfung den Logarithmus der Eingangsgröße approximiert. Insofern bietet die Approximationseinheit eine Möglichkeit, aus der ersten und zweiten Größe einen Näherungswert für den Logarithmus der Eingangsgröße zu bilden. Die erste Größe kann dabei derart festgelegt werden, dass sie bei Verwendung als ganzzahliger Exponent einer Basiszahl die nächstgelegene Potenz darstellt, die kleiner als die Eingangsgröße ist. Die zweite Größe kann dabei derart festgelegt werden, dass das Produkt aus dieser nächstgelegenen Potenz, die kleiner als die Eingangsgröße ist, und der Summe der Zahl 1 mit der zweiten Größe die Eingangsgröße ergibt. Unter einer Korrekturgröße kann ein Wert einer Variable verstanden werden, der zur Ermittlung eines genaueren Schätzwerts des Logarithmus der Eingangsgröße verwendet werden kann, als der Schätzwert des Logarithmus der Eingangsgröße, der sich durch die Verknüpfung der von der Approximationseinheit bereitgestellten ersten und zweiten Größe bestimmen lässt. Unter einer Verknüpfung der ersten Größe mit der zweiten Größe und der Korrekturgröße kann eine algebraische Verknüpfung, insbesondere eine Addition, der genannten Größen verstanden werden.
  • Der hier vorgeschlagene Ansatz basiert auf der Erkenntnis, dass zur Verbesserung bzw. Erhöhung der Genauigkeit des Schätzwerts des Logarithmus der Eingangsgröße eine Verknüpfung der ersten und zweiten Größe mit einer Korrekturgröße möglich ist, die auf der zweiten Größe basiert. Da insbesondere die zweite Größe bereits einen Schätzwert eines Anteils des Logarithmuswertes der Eingangsgröße repräsentiert bzw. abbildet, lässt sich durch die Weiterverwendung der zweiten Größe zur Bestimmung der Korrekturgröße ein Schätzfehler des Logarithmus der Eingangsgröße in der Approximationseinheit reduzieren.
  • Der hier vorgeschlagene Ansatz bietet den Vorteil, dass bereits ein zur Verfügung stehender Ansatz zur Bestimmung des Schätzwertes des Logarithmus der Eingangsgröße weiterverwendet werden kann, das Ergebnis des Schätzwertes des Logarithmus der Eingangsgröße jedoch durch technisch einfach umzusetzende Maßnahmen deutlich verbessert werden kann. Die zur Implementierung des hier vorgeschlagenen Ansatzes erforderliche Struktur der Vorrichtung zur Bestimmung des Schätzwertes des Logarithmus einer Eingangsgröße lässt sich somit schaltungstechnisch oder numerisch realisieren, um mit einer sehr kurzen Verarbeitungszeit einen sehr genauen Schätzwert des Logarithmus der Eingangsgröße zu erhalten.
  • Besonders vorteilhaft ist eine Ausführungsform der vorliegenden Erfindung, bei der die Approximationseinheit ausgebildet ist, um die erste Größe unter Verwendung einer Mitchell-Approximation zu bestimmen und/oder um die erste Größe unter Verwendung des Wertes zwei als Basiszahl zu bestimmen und/oder wobei die Approximationseinheit ausgebildet ist, um als zweite Größe einen Wert im Intervall von null bis eins zu bestimmen. Eine solche Ausführungsform der vorliegenden Erfindung bietet den Vorteil einer technisch ausgereiften Lösung zur Bestimmung eines Grobschätzwerts für den Logarithmus der Eingangsgröße aus den von der Approximationseinheit gelieferten Größen und/oder einer technisch sehr einfachen Umsetzung zur Bestimmung der ersten und zweiten Größe, insbesondere wenn eine Hardwarestruktur zur Bestimmung der ersten und/oder zweiten Größe verwendet wird.
  • Günstig ist ferner eine Ausführungsform der vorliegenden Erfindung, bei der die Bestimmungseinheit ausgebildet ist, um die Korrekturgröße unter Verwendung einer Multiplikation einer Konstanten mit einem von der zweiten Größe abhängigen Faktor zu bestimmen, insbesondere die Bestimmungseinheit ausgebildet ist, um den Faktor unter Verwendung eines Multiplexer und/oder eines Inverters zu bestimmen. Eine solche Ausführungsform der vorliegenden Erfindung bietet den Vorteil einer technisch sehr einfachen Möglichkeit zur Implementierung des hier vorgeschlagenen Ansatzes, wobei dennoch eine signifikante Verbesserung des Schätzwerts des Logarithmus der Eingangsgröße gegenüber herkömmlichen Ansätzen möglich wird.
  • Insbesondere wenn eine Umsetzung des hier vorgeschlagenen Ansatzes in einer Hardwarestruktur angestrebt wird, ist eine Ausführungsform der vorliegenden Erfindung sehr vorteilhaft, bei der die Bestimmungseinheit ausgebildet ist, um die Korrekturgröße unter Verwendung von Shift-and-Add-Operationen zu ermitteln.
  • Auch kann gemäß einer weiteren Ausführungsform der vorliegenden Erfindung die Bestimmungseinheit ausgebildet sein, um die Korrekturgröße unter Verwendung einer Stelle und/oder eines Bits der zweiten Größe zu bestimmen, insbesondere wobei die Stelle oder das Bit der zweiten Größe die höchstwertige Stelle oder das höchstwertige Bit der zweiten Größe darstellt. Auch eine solche Ausführungsform der vorliegenden Erfindung bietet den Vorteil einer technisch sehr einfachen Umsetzung des hier vorgeschlagenen Ansatzes. Zugleich bietet diese Ausführungsform der vorliegenden Erfindung den weiteren Vorteil, dass die Korrekturgröße in einer sehr kurzen Verarbeitungszeit und somit sehr schnell bereitgestellt werden kann, wodurch sich die Ausführungszeit zur Bestimmung des Schätzwertes des Logarithmus der Eingangsgröße sehr kurz halten lässt.
  • Besonders schnell lässt sich der Schätzwert des Logarithmus der Eingangsgröße auch dann bestimmen, wenn gemäß einer anderen Ausführungsform der vorliegenden Erfindung die Bestimmungseinheit ausgebildet ist, um einen von der zweiten Größe abhängigen ersten Term als Korrekturwert zu bestimmen, wenn die zweite Größe kleiner als ein Schwellwert ist und um einen von der zweiten Größe abhängigen zweiten Term als Korrekturwert zu bestimmen, wenn die zweite Größe größer als ein Schwellwert ist. Insbesondere fällt hier die Verwendung der Schwellwertentscheidung mit einer sehr kurzen Verarbeitungszeit besonders vorteilhaft auf.
  • Weiterhin kann gemäß einer Ausführungsform der vorliegenden Erfindung die Bestimmungseinheit ferner ausgebildet sein, um zumindest eine zweite Korrekturgröße bereitzustellen, die von der zweiten Größe abhängig ist, wobei die Ermittlungseinheit ausgebildet ist, um den Schätzwert des Logarithmus der Eingangsgröße durch Verknüpfung der ersten Größe mit der zweiten Größe und der Korrekturgröße und/oder der zweite Korrekturgröße zu ermitteln. Eine solche Ausführungsform der vorliegenden Erfindung bietet den zusätzlichen Vorteil, auch Schätzfehler weiter reduzieren zu können, die bei der Berücksichtigung der (ersten) Korrekturgröße noch bestehen bleiben.
  • Ferner ist eine Ausführungsform der vorliegenden Erfindung denkbar, bei der die Bestimmungseinheit ausgebildet ist, um die zweite Korrekturgröße als Verknüpfung eines von der zweiten Größe abhängigen Faktors und zumindest einer zweiten Konstante zu bestimmen, insbesondere um die zweite Korrekturgröße ferner in Abhängigkeit von einer dritten Konstante zu bestimmen. Insbesondere durch die Verwendung zumindest der zweiten Konstanten mit einem von der zweiten Größe abhängigen Faktor lässt sich eine technisch sehr einfache und zugleich schnell auszuführende Möglichkeit zur Bestimmung der zweiten Korrekturgröße realisieren.
  • Auch kann gemäß einer Ausführungsform der vorliegenden Erfindung die Bestimmungseinheit ausgebildet sein, um die zweite Korrekturgröße zumindest in Abhängigkeit von einer Stelle zweithöchster Wertigkeit und/oder einem Bit zweithöchster Wertigkeit der zweiten Größe zu bestimmen. Eine solche Ausführungsform der vorliegenden Erfindung bietet den Vorteil einer technisch sehr einfach umzusetzende und zugleich sehr schnell auszuführenden Möglichkeit zur Bestimmung der zweiten Korrekturgröße.
  • Wie zuvor bereits ausgeführt, kann die Verwendung einer Schwellwertentscheidung eine einfach zu implementierende und zugleich schnell auszuführende Struktur zur Ermittlung der Korrekturgröße sein, wobei sich diese bzw. eine analoge Struktur ebenfalls für eine vorteilhafte Ermittlung der zweiten Korrekturgröße nutzen lässt. Insofern ist eine Ausführungsform der vorliegenden Erfindung besonders vorteilhaft, bei der die Bestimmungseinheit ausgebildet ist, um die zweite Korrekturgröße in Abhängigkeit der zweiten Größe und zumindest einer zweiten Schwellwertentscheidung zu bestimmen.
  • Besonders vorteilhaft ist der Einsatz einer Ausführungsform der Erfindung zur Plausibilisierung der Ergebnisse von digitalen Multiplizierern. Hierzu wird mittels der Erfindung ein Schätzwert jeweils für die beiden Operanden der Multiplikation und das Ergebnis der Multiplikation berechnet. Die Summe der Schätzwerte der Logarithmen der beiden Operanden muss in etwa dem Schätzwert des Logarithmus des Ergebnisses der Multiplikation entsprechen. Die Differenz zwischen der Addition der Schätzwerte der Logarithmen der beiden Operanden und dem Schätzwert des Logarithmus des Ergebnisses der Multiplikation stellt somit ein Fehlersignal dar, welches einen Wert von ca. null aufweist, für den Fall, dass der Multiplizierer korrekt arbeitet. Durch Vergleich des Fehlersignals mit einer oberen und einer unteren Grenze kann man z. B. garantieren, dass das Multiplikationsergebnis auf +/–5% korrekt ist. Abhängig von diesem Fehlersignal kann eine Signalverarbeitungseinrichtung, welche einen Multiplizierer einsetzt bei Vorliegen eines Fehlers in einen sicheren Zustand versetzt werden oder z. B. ein Reset ausgeführt werden oder die Multiplikation wiederholt werden.
  • Nachgeschalteten Verarbeitungseinheiten kann das Fehlersignal korrektes Verhalten des Multiplizierers signalisieren. Analog kann eine Ausführungsform der Erfindung zur Absicherung von Dividieren benutzt werden.
  • Auch wird mit dem hier vorgestellten Ansatz eine Signalverarbeitungsvorrichtung mit folgenden Merkmalen vorgestellt:
    • – eine Einleseschnittstelle zum Einlesen eines Signals, das eine physikalische Größe repräsentiert;
    • – einer Vorrichtung gemäß einer hier vorgestellten Variante, welche ausgebildet ist, um die physikalische Größe oder einen von der physikalischen Größe abgeleiteten Wert als Eingangsgröße zu verarbeiten; und
    • – eine Steuer- und/oder Signalisierungseinheit, die ausgebildet ist, um ein Steuersignal und/oder ein Datensignal unter Verwendung des Schätzwertes bereitzustellen.
  • Die Einleseschnittstelle kann hierbei das die physikalische Größe repräsentierende Signal von einem Sensor einlesen. Unter einer physikalischen Größe kann vorliegend eine gemessene Spannung, ein gemessener Strom, ein gemessener Druck, eine gemessene Beschleunigung oder eine andere Größe verstanden werden, die mittels eines Sensors erfassbar ist und in einem entsprechenden Signal abgebildet ist. Auch kann in einer Ausführungsform der hier vorgestellten Vorrichtung der Sensor selbst Teil der Signalverarbeitungsvorrichtung sein. Denkbar ist beispielsweise ein Einsatz von einer Ausführungsform der vorliegenden Erfindung in Mikroprozessoren, die im logarithmischen Bereich rechnen (z. B. European Logarithmic Microprocessor). Auch kann eine Ausführungsform der vorliegenden Erfindung einen Einsatz zur Filterberechnung, im speziellen z. B. zur Betragsberechnung von Vektoren finden. Solche beispielhaften Ausführungsformen der vorliegenden Erfindung bieten ebenfalls den Vorteil, dass eine Signal- und/oder Datenverarbeitung auf der Basis der physikalischen Größe schnell, schaltungstechnisch und/oder numerisch einfach und zugleich kostengünstig ausgeführt werden kann.
  • Auch schafft der hier vorgestellte Ansatz ein Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße, wobei das Verfahren die folgenden Schritte aufweist:
    • – Approximieren einer ersten Größe aus der Eingangsgröße, wobei die erste Größe dem ganzzahligen Anteil des Logarithmuswertes der Eingangsgröße entspricht, wobei ausgebildet eine zweite Größe approximiert wird, die einem Schätzwert eines nicht-ganzzahligen Anteils des Logarithmuswertes der Eingangsgröße entspricht;
    • – Bestimmen einer Korrekturgröße unter Verwendung der zweiten Größe; und
    • – Ermitteln des Schätzwertes des Logarithmus der Eingangsgröße durch Verknüpfung der ersten Größe mit der zweiten Größe und der Korrekturgröße.
  • Auch durch ein solches Verfahren lässt sich der hier vorgestellte Ansatz technisch einfach und schnell ausführbar implementieren.
  • Die zuvor vorgestellten Varianten der Vorrichtung zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße können somit als Varianten einer Vorrichtung verstanden werden, die ausgebildet ist, um die Schritte einer Variante eines hier vorgestellten Verfahrens in entsprechenden Einrichtungen durchzuführen bzw. umzusetzen. Auch durch diese Ausführungsvariante der Erfindung in Form einer Vorrichtung kann die der Erfindung zugrunde liegende Aufgabe schnell und effizient gelöst werden.
  • Von Vorteil ist auch ein Computerprogrammprodukt mit Programmcode, der auf einem maschinenlesbaren Träger wie einem Halbleiterspeicher, einem Festplattenspeicher oder einem optischen Speicher gespeichert sein kann und zur Durchführung des Verfahrens nach einer der vorstehend beschriebenen Ausführungsformen verwendet wird, wenn das Programmprodukt auf einem Computer oder einer Vorrichtung ausgeführt wird.
  • Der hier vorgestellte Ansatz wird nachstehend anhand der beigefügten Zeichnungen beispielhaft näher erläutert. Es zeigen:
  • 1 ein Diagramm eines Vergleichs zwischen der Mitchell-Approximation der Eingangsgröße und dem exakten Berechnungswert des ld(x);
  • 2 ein Diagramm einer idealen Korrekturfunktion, die einen Fehler zwischen der Mitchell-Approximation der Eingangsgröße und dem exakten Berechnungswert des ld(x) korrigiert, wobei diese Korrekturfunktion durch Geraden angenähert werden kann;
  • 3 ein Diagramm, das einen Vergleich zwischen der exakten Berechnung des ld(x) und der Approximation erster Ordnung wiedergibt;
  • 4 ein Schaltbild eines Ausführungsbeispiels einer Vorrichtung zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße;
  • 5 ein Diagramm, welches einen Verlauf einer idealen Korrekturfunktion zur Approximation zweiter Ordnung wiedergibt; wobei diese Korrekturfunktion durch Geraden angenähert werden kann;
  • 6 ein Schaltbild eines weiteren Ausführungsbeispiels einer Vorrichtung zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße; und
  • 7 ein Ablaufdiagramm eines Ausführungsbeispiels der vorliegenden Erfindung als Verfahren.
  • In der nachfolgenden Beschreibung günstiger Ausführungsbeispiele der vorliegenden Erfindung werden für die in den verschiedenen Figuren dargestellten und ähnlich wirkenden Elemente gleiche oder ähnliche Bezugszeichen verwendet, wobei auf eine wiederholte Beschreibung dieser Elemente verzichtet wird.
  • Ein einfaches Verfahren zum Berechnen von Logarithmen zur Basis 2 (Logarithmus Dualis) ist die vorstehend genannte sogenannte Mitchell-Approximation, sie ist im Folgenden beschrieben, da sie einen Ausgangspunkt eines Ausführungsbeispiels der Erfindung bildet.
  • Im Folgenden wird davon ausgegangen, dass der Eingangswert x (auch als Eingangsgröße x bezeichnet) eine reelle Zahl ist und die Bedingung x > 0 erfüllt, d. h. für die Definitionsmenge D gilt:
    Figure DE102014200465A1_0002
  • Die Idee der Mitchell-Approximation besteht nun darin, die Zahl x als Produkt zweier Faktoren darzustellen. Der erste Faktor ist die nächstgelegene 2er-Potenz, welche kleiner oder gleich x ist, der zweite Faktor ist folglich eine Zahl im rechts offenen Intervall [1, 2). Es gilt somit:
    Figure DE102014200465A1_0003
  • Der Logarithmus Dualis (ld) dieser Darstellung mit zwei Faktoren lässt sich folgendermaßen berechnen: ld(x) = ld(2k·(1 + f)) = ld(2k) + ld(1 + f) = k + ld(1 + f) (3)
  • Die Mitchell-Approximation sieht nun vor, den ld für den Term (1 + f) folgendermaßen zu berechnen: ld(xnorm) = ld(1 + f) ≈ f (4)
  • Damit ist es möglich den ld(x) approximativ zu berechnen: ld(x) ≈ k + f (5)
  • In Formel (5) bildet k den ganzzahligen Integer-Anteil des ld(x) und f bildet den nicht ganzzahligen Fractional-Anteil des ld(x).
  • Zur Umsetzung der oben dargestellten Berechnung in digitale Hardware lässt sich eine Schaltung einsetzen, welche den Eingangswert x so normiert, dass das Ergebnis xnorm im rechts offenen Intervall [1, 2) liegt. Hierzu wird der Eingangswert x solange durch 2 geteilt, bis das Ergebnis ein Wert im Intervall [1, 2) ist. Die Anzahl der hierzu nötigen Divisionen entspricht dem gesuchten Wert k aus Gleichung (5).
  • Divisionen durch 2 lassen sich leicht durch Rechts-Schiebe-Operationen des Datenworts realisieren. Eine digitale Schaltung, welche die Mitchell-Approximation zur ld(x)-Berechnung einsetzt muss folglich folgende Schritte durchführen:
    • 1.) Normierung durchführen (k nach Gleichung (2) bestimmen)
    • 2.) ld des normierten Wortes xnorm, nach Gleichung (4) bestimmen
    • 3.) beide Werte addieren (siehe Gleichung (5))
  • Es gibt effiziente digitale, kombinatorische Schaltungen, welche die Mitchell-Approximation zur ld-Berechnung einsetzen.
  • 1 zeigt ein Diagramm eines Vergleichs zwischen der Mitchell-Approximation der Eingangsgröße x (in der weiteren Darstellung mit m(x) bezeichnet) und dem exakten Berechnungswert des ld(x). Dabei ist in dem Diagramm aus 1 auf der Abszisse die Eingangsgröße x im Intervall von 1 bis 2 dargestellt und auf der Ordinate der exakt berechnete ld(x) sowie der Wert der Mitchell-Approximation m(x). In der 1 ist hierbei der exakte Berechnungswert des ld(x) in gestrichelter Linie wiedergegeben und der Wert der Mitchell-Approximation der Eingangsgröße x in durchgezogener Linie wiedergegeben.
  • Von dieser Basis ausgehend wird mit dem weiterhin in unterschiedlichen Ausführungsbeispielen vorgestellten Ansatz eine Möglichkeit zur Bereitstellung eines Verfahrens und einer Schaltung zur schnellen und einfachen Berechnung von Funktionswerten der Logarithmusfunktion zur Basis 2 (Logarithmus Dualis) in wenigen Takten bzw. einem Takt vorgestellt.
  • Logarithmen zu anderen Basen b (z. B. zur Basis b = e oder zur Basis b = 10) lassen sich damit ebenfalls realisieren, da sie sich laut der Gleichung (6) vom ld(x) nur durch einen konstanten Faktor unterscheiden. logb(x) = 1 / ld(b)·ld(x) (6)
  • Insofern soll mit dem hier vorgestellten Ansatz ein Verfahren und eine Schaltung zur optimierten Berechnung eines (beliebigen) Logarithmus (einer Eingangsgröße) vorgeschlagen werden.
  • Der Vorteil des hier vorgeschlagenen Ansatzes besteht in der einfachen Umsetzbarkeit beispielsweise in digitale Hardware und/oder der Möglichkeit die Genauigkeit der Berechnung den Anforderungen der Anwendung anzupassen und dabei gleichzeitig das Ergebnis in wenigen Takten bzw. einem Takt zu berechnen. Andere Methoden bieten zwar die Möglichkeit, die Genauigkeit den Anforderungen anzupassen, berechnen den Logarithmus Dualis aber nicht einer geringen Taktanzahl bzw. in einem Takt. Ein Beispiel hierfür ist der BKM-Algorithmus.
  • Methoden, welche dagegen den Logarithmus Dualis in wenigen Takten bzw. in einem Takt berechnen, bieten meist keine Möglichkeit die Genauigkeit beliebig zu erhöhen.
  • Da die Mitchell-Approximation ein sehr ungenaues Näherungsverfahren zur Berechnung des ld(x) ist, werden beim Einsatz dieses Näherungsverfahren dementsprechend große Fehler gemacht.
  • Eine Idee des hier vorgestellten Ansatzes kann darin gesehen werden, den Fehler der Mitchell-Approximation durch Addition zumindest eines weiteren Korrekturterms in spezieller Art und Weise zu kompensieren.
  • Die ideale Korrekturfunktion c1ideal(x) ist in einem Diagramm in 2 dargestellt. Dabei ist (entsprechend dem Diagramm aus 1) auf der Abszisse wiederum die Eingangsgröße x im Intervall von 1 bis 2 dargestellt. In der 2 ist dabei die ideale Korrekturfunktion c1ideal(x) (als durchgezogene Linie) und die zwei Geraden c1a(x) (als gestrich-punktete Linie) und c1b(x) (als gestrichelte Linie) dargestellt.
  • Werden die Funktionswerte dieser Funktion c1ideal(x) zu denen der Mitchell-Approximation m(x) addiert, so stellt das Ergebnis die exakte Berechnung des ld(x) dar, wie in Formel (7) dargestellt. ld(x) = m(x) + c1ideal(x) (7)
  • Um nun diese ideale Korrekturfunktion c1ideal(x) möglichst einfach zu approximieren, wird diese beispielsweise durch zwei Geraden angenähert (im Folgenden wird dieses Vorgehen als Approximation 1. Ordnung bezeichnet). Die zwei Geraden gehen durch je eine der beiden Nullstellen der idealen Korrekturfunktion c1ideal(x) und schneiden sich in einem Punkt auf c1ideal(x). Die x-Koordinate des Schnittpunkts wird in der Mitte der beiden Nullstellen gewählt (also bei x = 1.5). Die y-Koordinate des Schnittpunkts ist der Funktionswert von c1ideal(x) an dieser Stelle (also c1ideal(1.5)). Für x im Intervall [1,0, 1,5) wird die Gerade c1a(x) somit durch den Punkt (1, 0) und den Punkt (1,50, c1ideal(1.5)) bestimmt. Für x im Intervall [1.5, 2.0) wird die Gerade c1b(x) somit durch den Punkt (1.50, c1ideal(1.5)) und den Punkt (2, 0) bestimmt. Der Absolutbetrag der Steigungen der beiden Geraden ist damit identisch. Es ergeben sich für die zwei Bereiche die folgenden zwei Korrekturterme: c1a(x) = 2·c1ideal(1.5)·(x – 1) = k1·(x – 1) für x ∊ [1.0, 1.5) c1b(x) = 2·c1ideal(1.5)·(2 – x) = k1·(2 – x) für x ∊ [1.5, 2.0) (8)
  • Die Approximation 1. Ordnung für den ld(x) lautet somit: ld(x) ≈ m(x) + c1a(x) für x ∊ [1.0, 1.5) ld(x) ≈ m(x) + c1b(x) für x ∊ [1.5, 2.0) (9)
  • 3 zeigt ein Diagramm, welches (mit einer Achsenbezeichnung entsprechend den 1 oder 2) einen Vergleich zwischen der exakten Berechnung des ld(x) (durchgezogene Linie) und der Approximation erster Ordnung (gestrich-punktete Linie) wiedergibt.
  • Die Approximation erster Ordnung ist somit wesentlich genauer als die Mitchell-Approximation. Sie ist allerdings nicht exakt.
  • 4 zeigt ein Schaltbild eines Ausführungsbeispiels einer Vorrichtung 100 zur Bestimmung eines Schätzwertes s des Logarithmus einer Eingangsgröße x, wobei diese Vorrichtung 100 als Anordnung zur Berechnung der Approximation erster Ordnung zu verstehen ist. Hierdurch lässt sich die Formel (9) beispielsweise in Hardware implementieren.
  • Die Vorrichtung 100 umfasst ein Register 110, das den Wert x (d. h. die Eingangsgröße) von welchem der Logarithmus (ld) bestimmt werden soll enthält. Für diesen Wert wird mittels der Approximationseinheit 120 beispielsweise die Mitchell-Approximation bestimmt. Dabei liefert die Approximationseinheit 120 als erste Größe den Wert k, der dem ganzzahligen Anteil des Logarithmuswertes der Eingangsgröße entspricht. Ferner liefert die Approximationseinheit 120 als zweite Größe den Wert f, der (entsprechend der vorstehenden Beschreibung) einem Schätzwert eines nicht-ganzzahligen Anteils des Logarithmuswertes der Eingangsgröße entspricht. Die erste Größe als Datenwort k umfasst die Bits, welche den Integer-Teil des ld repräsentieren. Die zweite Größe als Datenwort f umfasst die Bits, welche den Fractional-Teil des ld(x) bilden. k = [km–1 ... k1k0] = km–1·2m–1 + ... + k1·21 + k0·20 f = [k–1 ... f–(n–1)f–n] = f–1·2–1 + ... + f–(n–1)·2–(n–1) + f–n·2–n (10)
  • Schaltungen zur Realisierung der Approximationseinheit 120, welche die Mitchell-Approximation berechnen, sind bekannt und können hier beispielsweise mit kombinatorischer Logik realisiert werden.
  • Weiterhin umfasst die Vorrichtung 100 eine Bestimmungseinheit 125 zur Bestimmung der Korrekturgröße c1. Diese Bestimmungseinheit 125 empfängt als zu verarbeitendes Signal die zweite Größe f und bestimmt unter Verwendung dieser zweiten Größe bzw. einzelnen Komponenten oder Symbolen aus der zweiten Größe die Korrekturgröße. Die Bestimmungseinheit 125 weist einen Inverter 130 und einen Multiplexer 140 auf, welche der Realisierung der Terme (x – 1) bzw. (2 – x) aus Gleichung (8) und der Auswahl des richtigen Terms je nach Wert von x dienen. Der Multiplexer 140 wird von Bit f_1 (Wertigkeit 2–1) des Datenworts f gesteuert. An einen ersten Eingang des Multiplexers 140 werden die Komponenten [f_2 ... f–n] der zweiten Größe angelegt, wogegen an den Eingang des Inverters 130 ebenfalls die Komponenten [f_2 ... f–n] der zweiten Größe angelegt werden. Der Ausgang des Inverters 130 wird mit dem zweiten Eingang des Multiplexers 140 verbunden. Da zwischen dem normierten Wort xnorm und dem Datenwort f der Zusammenhang xnorm = 1 + f besteht, genügt es für die Entscheidung, ob Gerade c1a(x) oder c1b(x) zur Kompensation genutzt werden sollte, das Bit f_1 zu betrachten (siehe Formel (8)). f–1 = 0 ⇒ c1a(x) benutzen f–1 = 1 ⇒ c1b(x) benutzen (11)
  • Beide Funktionen c1a(x) und c1b(x) bestehen beispielsweise aus einer Multiplikation eines konstanten Werts k1 = 0.170 mit einem variablen Term (x – 1) bzw. (2 – x). Da der Faktor k1 konstant ist, lässt sich diese Multiplikation beispielsweise effizient mit einer Shift-and-Add-Struktur implementieren. Der Term (x – 1) in c1a(x) lässt sich durch f ausdrücken: (x – 1) = f (12)
  • Für den Term (2 – x) in c1b(x) gilt: (2 – x) = (2 – (1 + f)) = (1 – f) (13)
  • Für die Realisierung des Terms (1 – f) in Hardware lässt sich eine einfache, aber sehr genaue Näherung angeben. Dazu ist das Datenwort f in Formel (14) in Fixed-Point-Darstellung in 2er- Komplement dargestellt, der Integerteil ist mit Nullen erweitert. Der Punkt in Formel (14) markiert den Radix-Punkt (entsprechend einem Dezimal-Komma). f = [0 ... 00. f–1 ... f–(n–1)f–n] = 0·(–2)m–1 + 0·2m–2 + ... + 0·20 + f–1·2–1 + ... + f–(n–1)·2–(n–1) + f–n·2–n (14)
  • Eine Näherung für den Term (1-f) lässt sich durch Berechnung des Terms im 2er-Komplement angeben:
    Figure DE102014200465A1_0004
  • Näherungsweise lässt sich folglich der Term (1 – f) durch das Komplement des Datenworts f realisieren. Der Inverter 130 bildet deshalb das Komplement des Datenworts f. Abhängig vom Wert des Datenbits f–1 wird also entweder das Datenwort f oder das Komplement f der Konstanten k1 durch einen Multiplizierer 150 multipliziert. Der Inverter 130, der Multiplexer 140, der Multiplizierer 150) und die Konstante k1 (die beispielsweise aus einem entsprechenden Register 160 entnommen wird) realisieren somit die Auswahl von c1a(x) bzw. c1b(x) und die Berechnung der Korrekturgröße c1 (siehe Formel (16)). Für die Multiplikation mit der Konstanten k1 kann der Multiplizierer 150 vorteilhafterweise als Shift-and-Add-Struktur ausgebildet sein. f–1 = 0 ⇒ Berechnung von c1a(x) = k1·f f–1 = 0 ⇒ Berechnung von c1b(x) = k1·f (16)
  • Eine Ermittlungseinheit 170, die beispielsweise als Addierer ausgebildet sein kann, ermittelt oder bildet die Summe aus dem Datenwort k, dem Datenwort f und dem Ergebnis der Multiplikation c1 und ermittelt somit die Approximation erster Ordnung für den Logarithmus Dualis der Eingangsgröße x. Das Ergebnis ld(x), welches einen Schätz- oder Näherungswert s für den Logarithmuswert der Eingangsgröße darstellt, wird in einem Register 180 gespeichert und bei Bedarf an eine weitere Verarbeitungseinheit ausgegeben, die in der 4 nicht dargestellt ist.
  • Sollte für die Anwendung eine größere Genauigkeit benötigt werden, so lässt sich das Verfahren analog durch eine weitere Korrekturfunktion fortsetzen.
  • 5 zeigt ein Diagramm, welches (mit einer Achsenbezeichnung entsprechend den 1 oder 2) einen Verlauf der idealen Korrekturfunktion c2ideal(x) wiedergibt, welche sich aus dem Fehler der Approximation erster Ordnung und dem exakten Logarithmuswert der Eingangsgröße ergibt. In der 5 ist dabei eine ideale Korrekturfunktion c2ideal(x) und vier nachfolgend noch näher beschriebene Geraden c2a(x), c2b(x), c2c(x) und c2d(x), dargestellt.
  • c2ideal(x) weist im Vergleich zur Darstellung aus 2 nicht einen Bereich mit nach unten geöffnetem, parabelähnlichem Kurvenverlauf auf, sondern c2ideal(x) weist zwei Bereiche mit nach unten geöffnetem, parabelähnlichem Kurvenverlauf auf. Analog zum vorstehend beschriebenen Vorgehen, ist eine Annäherung dieser idealen Korrekturfunktion mit vier Geraden möglich (Approximation zweiter Ordnung). Der Verlauf der idealen Korrekturfunktion c2ideal(x) wird im Bereich zwischen zwei Nullstellen durch je zwei Geraden angenähert. Die zwei Geraden gehen durch je eine der Nullstellen und schneiden sich in einem Punkt auf der idealen Korrekturfunktion c2ideal(x). Die x-Koordinate des Schnittpunkts wird in der Mitte der beiden Nullstellen gewählt. Es ergeben sich die Geraden c2a(x), c2b(x), c2c(x) und c2d(x), siehe Gleichung (17). c2a(x) = 4·c2ideal(1.25)·(x – 1.00) = k2·(x – 1.00) für x ∊ [1.00, 1.25) c2b(x) = 4·c2ideal(1.25)·(1.50 – x) = k2·(1.50 – x) für x ∊ [1.25, 1.50) c2c(x) = 4·c2ideal(1.75)·(x – 1.50) = k3·(x – 1.50) für x ∊ [1.50, 1.75) c2d(x) = 4·c2ideal(1.75)·(2.00 – x) = k3·(2.00 – x) für x ∊ [1.75, 2.00) (17)
  • Damit lautet die Approximation zweiter Ordnung: ld(x) ≈ m(x) + c1a(x) + c2a(x) für x ∊ [1.00, 1.25) ld(x) ≈ m(x) + c1a(x) + c2b(x) für x ∊ [1.25, 1.50) ld(x) ≈ m(x) + c1b(x) + c2c(x) für x ∊ [1.50, 1.75) ld(x) ≈ m(x) + c1b(x) + c2d(x) für x ∊ [1.75, 2.00) (18)
  • Für Approximationen höherer Ordnung lässt sich dieses Verfahren analog fortsetzen. Die Korrekturfunktionen für die Approximationen erster (zweiter, dritter, vierter, ...) Ordnung bestehen aus einer (zwei, 4. 8. ...) nach unten geöffneten, parabelähnlichen Kurven (entsprechend den 2 und 5). Diese können jeweils mit der doppelten Anzahl an Geraden angenähert werden, d. h. die Approximation geschieht durch zwei (4, 8, 16, ...) Geraden.
  • 6 stellt ein Schaltbild einer Vorrichtung 100 zur Bestimmung Schätzwertes des Logarithmus einer Eingangsgröße mit einem Ausführungsbeispiel einer Anordnung zur Berechnung der Approximation zweiter Ordnung dar.
  • Ergänzend zu den Einheiten oder Blöcken 110 bis 180 aus der 4, welche die Approximation erster Ordnung bereitstellen, sind in der 6 zusätzliche Elemente vorhanden. Zu dieser Approximation erster Ordnung wird der Korrekturterm für die Approximation zweiter Ordnung (der auch als zweite Korrekturgröße bezeichnet wird) hinzuaddiert. Dieser wird durch die Blöcke 190 bis 240 realisiert, die eine Erweiterungseinheit der Bestimmungseinheit 125 bilden. Die Einheit 250 bildet eine Erweiterung der Ermittlungseinheit 170 und kann dieser logisch zugerechnet werden.
  • Der Inverter 190 und der Multiplexer 200 implementieren die Terme (x – 1.00), (1.50 – x), (x – 1.50) und (2.00 – x) aus Formel (17) analog zum Vorgehen bei der Approximation erster Ordnung. Die Auswahl der richtigen Konstanten für die Multiplikation (k2 oder k3) wird vom Multiplexer 240 anhand des Datenbits f–1 vorgenommen.
  • Der Multiplizierer 210 multipliziert die Konstante mit dem variablen Term und bildet als Ergebnis den Korrekturterm c2, welcher zur Approximation erster Ordnung durch den Addierer 250 hinzuaddiert wird, um den Schätz- bzw. Näherungswert s des Logarithmus der Eingangsgröße x zu erhalten. Die Verknüpfung der ersten Größe k, der zweiten Größe f sowie der ersten Korrekturgröße c1 und der zweiten Korrekturgröße c2 können auch in einem einzigen Schritt bzw. einer einzigen Einheit erfolgen, wie dies der Fachmann aus der Schaltung bzw. der Beschreibung unter Kenntnis der mathematischen bzw. algebraischen Gesetze unschwer erkennen wird. Das Ergebnis wird als Schätz- oder Näherungswert s des Logarithmus der Eingangsgröße in Register 180 gespeichert.
  • 7 zeigt ein Ablaufdiagramm eines Ausführungsbeispiels der vorliegenden Erfindung als Verfahren 700 zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße. Das Verfahren 700 umfasst einen Schritt 710 des Approximierens einer ersten Größe aus der Eingangsgröße, wobei die erste Größe dem ganzzahligen Anteil des Logarithmuswertes der Eingangsgröße entspricht, wobei ausgebildet eine zweite Größe approximiert wird, die einem Schätzwert eines nicht-ganzzahligen Anteils des Logarithmuswertes der Eingangsgröße entspricht. Ferner umfasst das Verfahren 700 einen Schritt 720 des Bestimmens einer Korrekturgröße unter Verwendung der zweiten Größe und einen Schritt 730 des Ermittelns des Schätzwertes s des Logarithmus der Eingangsgröße durch Verknüpfung der ersten Größe mit der zweiten Größe und der Korrekturgröße.
  • Der hier vorgestellte Ansatz kann z. B. dazu dienen, in ASICs die Berechnung von Potenzfunktionen (z. B. Wurzeln, Potenzen x2, x3, ...) über Logarithmen in Festkommaarithmetik kostengünstig umzusetzen. Solche Potenzfunktionen treten z. B. bei der Temperaturkompensation von Sensoren und ASICs auf. Weiterhin können mittels Logarithmen Multiplizierer, Dividierer und Wurzelberechner im Betrieb auf korrekte Funktion überprüft werden, was in sicherheitskritischen Anwendungen (IS026262) die Sicherheit erhöht.
  • Die beschriebenen und in den Figuren gezeigten Ausführungsbeispiele sind nur beispielhaft gewählt. Unterschiedliche Ausführungsbeispiele können vollständig oder in Bezug auf einzelne Merkmale miteinander kombiniert werden. Auch kann ein Ausführungsbeispiel durch Merkmale eines weiteren Ausführungsbeispiels ergänzt werden.
  • Ferner können die hier vorgestellten Verfahrensschritte wiederholt sowie in einer anderen als in der beschriebenen Reihenfolge ausgeführt werden.
  • Umfasst ein Ausführungsbeispiel eine „und/oder”-Verknüpfung zwischen einem ersten Merkmal und einem zweiten Merkmal, so ist dies so zu lesen, dass das Ausführungsbeispiel gemäß einer Ausführungsform sowohl das erste Merkmal als auch das zweite Merkmal und gemäß einer weiteren Ausführungsform entweder nur das erste Merkmal oder nur das zweite Merkmal aufweist.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Mitchell, J. N., „Computer Multiplication and Division Using Binary Logarithms”, IRE Transactions an Electronic Computers, 1962, EC-11, 517 [0004]
    • IS026262 [0081]

Claims (13)

  1. Vorrichtung (100) zur Bestimmung eines Schätzwertes (s) des Logarithmus einer Eingangsgröße, wobei die Vorrichtung (100) die folgenden Merkmale aufweist: – eine Approximationseinheit (120), die ausgebildet ist, um aus der Eingangsgröße (x) unter Verwendung einer Approximation eine erste Größe (k) zu bestimmen, die dem ganzzahligen Anteil des Logarithmuswertes der Eingangsgröße (x) entspricht, wobei die Approximationseinheit (120) ferner ausgebildet ist, um eine zweite Größe (f) zu bestimmen, die einem Schätzwert eines nicht-ganzzahligen Anteils des Logarithmuswertes der Eingangsgröße (x) entspricht; – eine Bestimmungseinheit (125) zur Bestimmung einer Korrekturgröße (c1) unter Verwendung der zweiten Größe (f); und – eine Ermittlungseinheit (170) zur Ermittlung des Schätzwertes (s) des Logarithmus der Eingangsgröße (x) durch Verknüpfung der ersten Größe (k) mit der zweiten Größe (f) und der Korrekturgröße (c1).
  2. Vorrichtung (100) gemäß Anspruch 1, dadurch gekennzeichnet, dass die Approximationseinheit (120) ausgebildet ist, um die erste Größe (k) unter Verwendung einer Mitchell-Approximation zu bestimmen und/oder um die erste Größe (k) unter Verwendung des Wertes zwei als Basiszahl zu bestimmen und/oder wobei die Approximationseinheit (120) ausgebildet ist, um als zweite Größe (f) einen Wert im Intervall von null bis eins zu bestimmen.
  3. Vorrichtung (100) gemäß einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Bestimmungseinheit (125) ausgebildet ist, um die Korrekturgröße (c1) unter Verwendung einer Multiplikation einer Konstanten (k1) mit einem von der zweiten Größe (f) abhängigen Faktor zu bestimmen, insbesondere die Bestimmungseinheit (125) ausgebildet ist, um den Faktor unter Verwendung eines Multiplexers (140) und/oder eines Inverters (130) zu bestimmen.
  4. Vorrichtung (100) gemäß einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Bestimmungseinheit (125) ausgebildet ist, um die Korrekturgröße (c1) unter Verwendung von Shift-and-Add-Operationen zu ermitteln.
  5. Vorrichtung (100) gemäß einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Bestimmungseinheit (125) ausgebildet ist, um die Korrekturgröße (c1) unter Verwendung einer vorbestimmten Stelle und/oder eines vorbestimmten Bits der zweiten Größe (f) zu bestimmen, insbesondere wobei die vorbestimmte Stelle oder das vorbestimmte Bit der zweiten Größe (f) die höchstwertige Stelle oder das höchstwertige Bit der zweiten Größe (f) darstellt.
  6. Vorrichtung (100) gemäß einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Bestimmungseinheit (125) ausgebildet ist, um einen von der zweiten Größe (f) abhängigen ersten Term als Korrekturgröße (c1) zu bestimmen, wenn die zweite Größe (f) kleiner als ein Schwellwert ist und um einen von der zweiten Größe (f) abhängigen zweiten Term als Korrekturgröße (c1) zu bestimmen, wenn die zweite Größe (f) größer als ein Schwellwert ist.
  7. Vorrichtung (100) gemäß einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass die Bestimmungseinheit (125) ferner ausgebildet ist, um zumindest eine zweite Korrekturgröße (c2) bereitzustellen, die von der zweiten Größe (f) abhängig ist, wobei die Ermittlungseinheit (170) ausgebildet ist, um den Schätzwert (s) des Logarithmus der Eingangsgröße (x) durch Verknüpfung der ersten Größe (k) mit der zweiten Größe (f) und der Korrekturgröße (c1) und/oder der zweiten Korrekturgröße (c2) zu ermitteln.
  8. Vorrichtung (100) gemäß Anspruch 7, dadurch gekennzeichnet, dass die Bestimmungseinheit (125) ausgebildet ist, um die zweite Korrekturgröße (c2) als Verknüpfung eines von der zweiten Größe (f) abhängigen Faktors und zumindest einer zweiten Konstante (k2) zu bestimmen, insbesondere um die zweite Korrekturgröße (c2) ferner in Abhängigkeit von einer dritten Konstante (k3) zu bestimmen.
  9. Vorrichtung (100) gemäß einem der Ansprüche 7 oder 8, dadurch gekennzeichnet, dass die Bestimmungseinheit (125) ausgebildet ist, um die zweite Korrekturgröße (c2) unter Verwendung einer vorbestimmten Stelle und/oder eines vorbestimmten Bits der zweiten Größe (f) zu bestimmen, insbesondere um die vorbestimmte Stelle oder das vorbestimmte Bit von einer Stelle zweithöchster Wertigkeit und/oder einem Bit mit zweithöchster Wertigkeit der zweiten Größe (f) zu bestimmen.
  10. Vorrichtung (100) gemäß einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, dass die Bestimmungseinheit (125) ausgebildet ist, um die zweite Korrekturgröße (c2) in Abhängigkeit einer Schwellwertentscheidung unter Benutzung der zweite Größe (f) zu bestimmen.
  11. Signalverarbeitungsvorrichtung mit folgenden Merkmalen: – einer Einleseschnittstelle zum Einlesen einer physikalischen Größe; – einer Vorrichtung gemäß einem der vorangegangenen Ansprüche 1 bis 10, welche ausgebildet ist, um die physikalische Größe oder einen von der physikalischen Größe abgeleiteten Wert als Eingangsgröße zu verarbeiten; und – eine Steuer- und/oder Signalisierungseinheit, die ausgebildet ist, um ein Steuersignal und/oder ein Datensignal unter Verwendung des Schätzwertes bereitzustellen.
  12. Verfahren (700) zur Bestimmung eines Schätzwertes (s) des Logarithmus einer Eingangsgröße (x), wobei das Verfahren (700) die folgenden Schritte aufweist: – Approximieren (710) einer ersten Größe aus der Eingangsgröße (x), wobei die erste Größe (k) dem ganzzahligen Anteil des Logarithmuswertes der Eingangsgröße (x) entspricht, wobei ausgebildet eine zweite Größe (f) approximiert wird, die einem Schätzwert eines nicht-ganzzahligen Anteils des Logarithmuswertes der Eingangsgröße (x) entspricht; – Bestimmen (720) einer Korrekturgröße (c1) unter Verwendung der zweiten Größe (f); und – Ermitteln (730) des Schätzwertes (s) des Logarithmus der Eingangsgröße (x) durch Verknüpfung der ersten Größe (k) mit der zweiten Größe (f) und der Korrekturgröße (c1).
  13. Computer-Programmprodukt mit Programmcode zur Durchführung und/oder Ansteuerung der Schritte des Verfahrens (700) nach Anspruch 12, wenn das Programmprodukt auf einer Vorrichtung (100) ausgeführt wird.
DE102014200465.9A 2014-01-14 2014-01-14 Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße Withdrawn DE102014200465A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102014200465.9A DE102014200465A1 (de) 2014-01-14 2014-01-14 Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße
US14/596,251 US9594728B2 (en) 2014-01-14 2015-01-14 Device and method for determining an estimate of the logarithm of an input variable

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014200465.9A DE102014200465A1 (de) 2014-01-14 2014-01-14 Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße

Publications (1)

Publication Number Publication Date
DE102014200465A1 true DE102014200465A1 (de) 2015-07-16

Family

ID=53484914

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014200465.9A Withdrawn DE102014200465A1 (de) 2014-01-14 2014-01-14 Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße

Country Status (2)

Country Link
US (1) US9594728B2 (de)
DE (1) DE102014200465A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107479856B (zh) * 2017-08-09 2023-04-07 珠海市杰理科技股份有限公司 反正切函数数据结构及建立方法、函数值获取方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642305A (en) * 1995-01-31 1997-06-24 Motorola, Inc. Logarithm/inverse-logarithm converter and method of using same
US5604691A (en) * 1995-01-31 1997-02-18 Motorola, Inc. Logarithm/inverse-logarithm converter utilizing a truncated Taylor series and method of use thereof
KR0174498B1 (ko) * 1995-10-13 1999-04-01 김광호 로그의 근사값 계산방법 및 회로
JP2001296992A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp 対数演算装置および対数演算方法
US6950841B2 (en) * 2001-07-16 2005-09-27 Qualcomm Incorporated Logarithmic lookup tables
US7509363B2 (en) * 2001-07-30 2009-03-24 Ati Technologies Ulc Method and system for approximating sine and cosine functions
US7539717B2 (en) * 2005-09-09 2009-05-26 Via Technologies, Inc. Logarithm processing systems and methods

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IS026262
Mitchell, J. N., "Computer Multiplication and Division Using Binary Logarithms", IRE Transactions an Electronic Computers, 1962, EC-11, 517

Also Published As

Publication number Publication date
US9594728B2 (en) 2017-03-14
US20150199303A1 (en) 2015-07-16

Similar Documents

Publication Publication Date Title
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE102014100108A1 (de) Festkomma-divisionschaltung unter verwendung einer gleitkomma-architektur
AT413895B (de) Digitale signalverarbeitungseinrichtung
DE102013213420A1 (de) Modellberechnungseinheit, Steuergerät und Verfahrenzum Berechnen eines datenbasierten Funktionsmodells
EP1499954B1 (de) Berechnung eines ergebnisses einer modularen multiplikation
DE102013212840B4 (de) Modellberechnungseinheit und Steuergerät zur Berechnung eines datenbasierten Funktionsmodells mit Daten in verschiedenen Zahlenformaten
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE102014200465A1 (de) Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße
WO1993017383A1 (de) Schaltungsanordnung zum digitalen multiplizieren von integer-zahlen
DE2855003A1 (de) Prozessor fuer ein datum darstellende daten
DE102014200493A1 (de) Verfahren und Vorrichtung zur Berechnung eines Ergebniswertes einer Division aus einem Dividenden und einem Divisor
DE102013209657A1 (de) FMA-Einheit, insbesondere zur Verwendung in einer Modellberechnungseinheit zur rein hardwarebasierten Berechnung von Funktionsmodellen
DE102009039430B4 (de) Vorrichtung und Verfahren mit ersten und zweiten Zeittakten
DE10219161A1 (de) Vorrichtung und Verfahren zum Umrechnen eines Terms
DE102013202140A1 (de) Verfahren und Vorrichtung zur Überprüfung eines digitalen Multiplizierers
DE3132611A1 (de) Digitale integriereinrichtung
EP3641137A1 (de) Verfahren und vorrichtung zum verarbeiten von daten
DE102014208379A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Funktionswerts eines bezüglich einer Eingangsgröße invertierten datenbasierten Funktionsmodells
DE4001232C2 (de) Gleitkommaeinheit
EP0433315A1 (de) Schaltungsanordnung zur addition oder subtraktion von im bcd-code oder dual-code codierten operanden
DE102019207230B3 (de) Digitaler Oszillator
DE102009034100B3 (de) Integrierter Schaltkreis mit einer Signalverarbeitungsanordnung und Verfahren zur Signalverarbeitung
DE2432979C3 (de) Mit gemischter Zahlendarstellung arbeitende Einrichtung zum Multiplizieren zweier komplexer Zahlen und Addieren einer dritten komplexen Zahl zum Produkt
DE102012204971A1 (de) Verfahren und Schaltung zur Approximation von Logarithmuswerten
DE102022201745A1 (de) Schnelle vorberechnung für montgomery- multiplikator

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee