Ein Angebot von

Implementierung

Hardwarenahe Softwareentwicklung

| Autor / Redakteur: Christian Siemers* / Christine Kremser

Hardwarenahe Softwarentwicklung ist aufgrund beschränkter Systemressourcen oft unabdingbar.
Hardwarenahe Softwarentwicklung ist aufgrund beschränkter Systemressourcen oft unabdingbar. (Bild: gemeinfrei / CC0)

Ein Thema wie hardwarenahe Programmierung (in einer Hochsprache) sollte es eigentlich gar nicht geben, denn Hochsprache impliziert Hardwareunabhängigkeit – und nicht ein spezifisches Eingehen auf die Eigenheiten selbiger.

Dennoch ist das Thema der Hardwarenähe in der Praxis aus folgenden Gründen nicht wegzudenken:

  • Ressourcenbeschränkungen (gerade in eingebetteten Systemen)
  • Umständliche Konfiguration von Peripherieelementen (diese ist eher auf Bit- und Byte-Ebene zu sehen)
  • Extreme Anpassung der Software auf Hardwaregegebenheiten, z.B. bei spezialisierter Hardware oder fehlenden Hardwarekomponenten
  • Echtzeitprogrammierung bei sehr knappen Rechenzeiten

Ressourcenbeschränkungen am Beispiel der Diskreten Fouriertransformation

Fouriertransformation (FT): Die Fouriertransformation ist die Analyse eines (meist zeit-) kontinuierlichen Signals auf die beinhalteten Frequenzen. Hierbei geht man zunächst von periodischen Signalen aus, die sich also nach einer bestimmten Zeit wiederholen. Diese Wiederholungsfrequenz ergibt dann die so genannte Grundfrequenz, das Frequenzspektrum ist diskret.

Der Übergang von periodischen auf aperiodische Signalformen ergibt dann den Übergang vom diskreten auf das kontinuierliche Spektrum. Umgekehrt kann man die ursprüngliche Signalform g(x) durch phasen- und amplitudenkorrektes Überlagern der im Spektrum vorhandenen Frequenzen wieder erzeugen (Fourier-Synthese). In Bild 1 sind die Formeln zur Berechnung in der reellen Schreibweise zu finden, wobei angenommen wird, dass g(x) eine reellwertige Funktion ist.

Diskrete Fouriertransformation (DFT): In Rechnern ist die „Zeitachse“ niemals kontinuierlich, sondern immer diskret. Dies liegt u.a. daran, dass selbst die AD-Wandler niemals zeitkontinuierlich, sondern immer nur zeitdiskret von der analogen in die digitale Welt übertragen können. AD-Wandler diskretisieren sowohl Daten- als auch Zeitwerte.

Damit werden die Berechnungsintegrale der allgemeinen Fouriertransformation zu Berechnungssummen, die vergleichsweise einfach in Form von Algorithmen implementiert werden können [1]. T bezeichnet in den Gleichungen (Bild 1b) die Periode des Signals, ∆t den zeitlichen Abstand zweier aufeinanderfolgender Messpunkte.

Die DFT wird genutzt, wenn die Zahl der Messpunkte pro Periode nicht vorherbestimmt oder ungleich einer Zweierpotenz ist. Bei Zweierpotenzen wie 512 oder 1024 jedoch bietet sich die Implementierung als Fast Fourier Transformation (FFT) an. Die Komplexität der DFT liegt bei O(N²), die der FFT bei O(N*log(N)).

DFT-Algorithmus mit Fließkommazahlen

Die Formeln in Bild 1 b) können vergleichsweise leicht in einem Algorithmus aufgenommen werden, z.B. in C (siehe Listing 1 in der Bildergalerie).

Dieses Programm beinhaltet mit NUM_OF_COEFFICIENTS eine Konstante, die anzeigt, wie viele Koeffizienten a und b aus Bild 1 berechnet werden sollen; diese Konstante kann natürlich auch leicht als Variable formuliert werden. Was man aber sehr leicht beurteilen kann: Hier sind eine Menge an Additionen und Multiplikationen enthalten, von der Berechnung der Sinus- und Cosinuswerte ganz abgesehen. Dieser Algorithmus auf einem Mikroprozessor oder DSP implementiert, der keine Floating-Point-Unit aufweist, kann schon überraschend große Laufzeiten aufweisen, da das Floating-Point-Format recht umständlich emuliert werden muss.

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Ausklappen
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Ausklappen
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44094515 / Implementierung)