Institut für Mikroelektronische Systeme Studium Studien- & Abschlussarbeiten Abgeschlossene Arbeiten
Analyse und Implementierung von Approximationen elementarer mathematischer Funktionen

Analyse und Implementierung von Approximationen elementarer mathematischer Funktionen

Student/in:  Deng, Di
Jahr:  2010
Datum:  09-08-10
Laufzeit:  09.02.2010-09.08.2010
Ist abgeschlossen:  ja

Am Fachgebiet „Architekturen und Systeme“ des Instituts für Mikroelektronische Systeme werden VLSI-Architekturen für Algorithmen der digitalen Signalverarbeitung entwickelt. Ausgehend von analytischen Beschreibungen bzw. Implementierungen in Hochsprachen wie Matlab oder C++, müssen die Verfahren an die spezifischen Hardwarerestriktionen angepasst werden. Die Verwendung von Festkomma- an Stelle von Fließkommaarithmetik stellt einen fundamentalen Optimierungsschritt für eine effiziente Hardware-Realisierung dar. Jedoch wird der Dynamikbereich durch die Beschränkung auf typische Wortbreiten von 16 bzw. 32 Bit deutlich reduziert. Eine sorgfältige Analyse der entstehenden Ungenauigkeiten ist daher für eine verlässliche Implementierung sehr wichtig.Die Approximation elementarer Funktionen stellt eine zentrale Fragestellung bei der Umsetzung von Signalverarbeitungsalgorithmen dar. Neben dem Approximationsfehler wird die Wahl der Approximationsmethode durch Randbedingungen wie Speicherbedarf, Flächenaufwand und Ausführungszeit beeinflusst. Häufig ist eine Abwägung zwischen den genannten Kriterien notwendig, um eine Entscheidung für eine spezifische Hardware-Realisierung treffen zu können.In dieser Arbeit sollen die elementaren trigonometrischen Funktionen Sinus und Cosinus, die Wurzelfunktion und Exponentialfunktion sowie die Logarithmusfunktion hinsichtlich geeigneter Approximationsverfahren untersucht werden. Zu diesem Zweck sollen verschiedene, allgemein bekannte Ansätze aus der Numerik unter Verwendung von Festkommaarithmetik hinsichtlich ihrer Approximationsgüte und Ressourcenbedarfs verglichen werden. Die Implementierung und Analyse der gewählten Verfahren wird zunächst unter Verwendung der Matlab Fixed-Point Toolbox mit verschiedenen Wortbreiten für Operanden und Zwischenergebnisse durchgeführt.Im Anschluss an die Analyse in Matlab soll eine Sammlung von C++ Funktionsblöcken erstellt werden, mit der sich die Verarbeitungsgeschwindigkeit insbesondere bei großen Datensätzen signifikant erhöhen lässt. Die arithmetischen Operationen sollen dabei bitgenau mit dem Matlab-Modell übereinstimmen, um für die Verifikation während der Hardwareentwicklung eingesetzt werden zu können.