Fixed-Point Designer

Hauptmerkmale

  • Spezifikation von Festkomma-Datentypen in MATLAB, Simulink und Stateflow
  • Bitgenaue, beschleunigte Simulation von Festkomma-Algorithmen
  • Empfehlungen für Wortlänge und Skalierungsdatentyp
  • Vergleich von Gleitkomma- und Festkomma-Ergebnissen
  • Priorisierung von Festkomma-Datentypen für doppelte oder einfache Genauigkeit
  • Unterstützung von C-, HDL- und PLC-Codegenerierung
Using Fixed-Point Designer to specify and view data types and scaling for MATLAB, Simulink, and Stateflow.
Verwendung von Fixed-Point Designer, um Datentypen und Skalierungen für MATLAB, Simulink und Stateflow anzugeben und anzuzeigen.

Festkomma-Spezifikation

Mit Fixed-Point Designer können Sie alle Festkomma-Eigenschaften Ihres MATLAB-Codes, Ihrer Simulink-Modelle und Ihrer Stateflow-Diagramme festlegen. Vollständige Kontrolle der Vorzeichenart, Wortlänge und Skalierung; Unterstützung anwendungsspezifischer Wortlängen von 1 Bit bis mindestens 128 Bit. Binärkomma-Skalierung und beliebige Slope-and-Bias-Skalierung, die für Sensoren und Aktuatoren erforderlich ist, wird ebenfalls unterstützt. Sie können die mathematischen Aspekte steuern, z. B. die Handhabung von Rundung und Überlauf.

Simulink model demonstrating the effect of limited range and precision on a signal.
Im Scope-Block dieses Simulink-Modells erkennt man, wie sich Wertebereichs- und Genauigkeitsbeschränkungen auf ein Signal auswirken (oben rechts). Im Parameter-Dialogfeld (oben links) lassen sich sämtliche Blockparameter und Festkomma-Attribute festlegen.

Fixed-Point Designer bietet eine Vielzahl an Funktionen, wie z. B. mathematische und bitweise Operationen, Array- und Matrix-Operatoren, CORDIC-Implementierung und trigonometrische Funktionen zur Unterstützung von Festkomma-Berechnung.

Mit dem Designer können Sie die Festkomma-Arithmetik kontrollieren. Die Festkomma-Variablen können sich entweder einen Satz von arithmetischen Attributen teilen oder verfügen jeweils über ihre eigenen zugehörigen arithmetischen Attribute.

A data-type-independent MATLAB algorithm that provides both a floating-point response and a fixed-point response.
Ein vom Datentyp unabhängiger MATLAB-Algorithmus, der sowohl eine Gleitkomma- als auch eine Festkomma-Reaktion liefert. Das Diagramm zeigt die Ausgabe des Algorithmus mit Datentypen, die als 16-Bit-Festkomma und Gleitkomma mit doppelter Genauigkeit angegeben sind.

Bitgenauer Entwicklungsworkflow

Fixed-Point Designer stellt eine bitgenaue Übereinstimmung in einem Workflow sicher, der Model-Based-Design nutzt. Die Antwort eines Festkomma-Algorithmus ist für alle Arten der Simulation und Codegenerierung bitgenau, auch bei Verwendung der Modi zu Beschleunigung der Simulation und bei „Software-in-the-Loop“ Simulationen. Analyse und Verifizierung eines Festkomma-Algorithmus basieren auf bitgenauen Darstellungen. Durch diese bitgenaue Übereinstimmung werden die Vorteile von Model-Based Design maximiert, wie z. B. die Möglichkeit, Probleme früh im Entwicklungsprozess zu entdecken, wenn sie einfacher und kostengünstiger zu beheben sind.

Comparison of output with original baseline output using Fixed-Point Designer.
Ausgabevergleich mit Datentypen mit einer 16-Bit-Wortlänge und vorgeschlagene Bruchzahllänge mit ursprünglichen Ergebnissen im Gleitkommabereich. Beide Signale werden überlappend dargestellt (links).Die Unterschiede liegen in der Größenordnung 10-6 (rechts).

Nachdem Sie bei Simulink-Modellen die Festkomma-Datentypen eines Modells konfiguriert haben, können Sie dessen Verhalten simulieren. In Simulationen lässt sich derfür die Implementierung des Modells auf einem Festkomma-Embedded System am besten geeignete Kompromiss zwischen Wertebereich und Genauigkeit ermitteln.

Mit den Tools im Fixed-Point Designer können Sie auf diese Werte zugreifen und damit die Datentypen von Signalen verändern. Dadurch lässt sich die Genauigkeit des Systementwurfs unter gleichzeitiger Einhaltung der erforderlichen Wertebereiche verbessern. Sie können Datentypbereiche mithilfe der Angabe von Mindest- und Höchstwerten spezifizieren, aus Simulationsergebnissen ermitteln oder abgeleitete Mindest- und Höchstwerte angeben. Sie können Ausgabedatentypen sperren, damit sie nicht geändert werden.

Fixed-point simulation of a fuel rate control system designed using Simulink and Stateflow.
Festkomma-Simulation eines Regelungssystems für den Kraftstoffverbrauch, entworfen mit Simulink und Stateflow. Das Fixed-Point Tool ermöglicht es Ihnen, einen Kompromiss für Bereich und Genauigkeit der Daten in Simulink-Modellen zu ermitteln (unten).

Umwandlung von Gleitkomma in Festkomma

Fixed-Point Designer liefert Analysetools zur effizienten Umwandlung eines Entwurfs von der Gleitkomma- in die Festkomma-Darstellung. Mithilfe des Tools können Sie Mindest- und Höchstdatenwerte aufzeichnen und genau analysieren, wann innerhalb von Festkomma-Prozessen ein Überlauf stattfindet. Mit der Funktion zur Datentypüberschreibung können Sie einen Festkomma-Algorithmus analysieren, indem Sie die bei den Datentypen zwischen „fixedpoint“ und „floatingpoint“ wechseln. Anhand dieser Analyse können Sie den dynamischen Bereich der in Ihrem Entwurf enthaltenen Variablen überwachen und sicherstellen, dass sich der Algorithmus innerhalb von Gleitkomma- und Festkomma-Darstellungen einheitlich verhält.

In MATLAB können Sie Ihren Code zur Protokollierung instrumentieren, damit Mindest- und Höchstwerte aus der Simulation erfasst und die vorgeschlagenen Datentypen abgerufen werden. Instrumentierungsfunktionen können log2 Histogramme erzeugen. Für jede benannte und Zwischenvariable und für jeden Ausdruck in Ihrem Code wird ein Histogramm erzeugt. Dieses Histogramm können Sie verwenden, um die Wort- und Bruchzahllängen für Ihre Festkomma-Werte zu bestimmen.

Fixed-Point Converter app showing range of proposed data type and percentage of simulation values.
Bericht zur MATLAB-Codegenerierung eines Filters mit endlicher Impulsantwort (FIR), umgewandelt in Festkomma. Sie können Ihren Code zur Protokollierung instrumentieren, Mindest- und Höchstwerte erfassen, ein Histogramm aus der Simulation drucken und die vorgeschlagenen Datentypen abrufen.

Bei Simulink-Modellen können Sie automatisch einen Gleitkomma-Entwurf, der in Simulink, Stateflow und anderen System-Toolboxen entwickelt wurde, einschließlich Communications System Toolbox™ und DSP System Toolbox™, mithilfe des Fixed-Point Tools in einen Festkomma-Entwurf umwandeln.

Gleitkomma-zu-Festkomma-Konvertierung mit dem Fixed-Point Advisor
Untersuchen Sie Festkomma-Modelle und verwenden Sie automatische Protokollierungs- und Skalierungs-Tools, um die Festkomma-Datentypen zu verfeinern und die Ergebnisse zu optimieren.

Fixed-Point Designer enthält Debugging-Fähigkeiten, mit denen Sie auf einfache Weise zur Gleitkomma-Darstellung Ihres Modells wechseln und dessen Güte effizient ermitteln, Modellierungsfehler aufspüren und optimale Mindest- und Höchstwerte bestimmen können.

Festkomma-Optimierung mit dem Fixed-Point Tool
Konvertieren Sie ein Gleitkomma-Modell in ein Festkomma-Modell und erhalten Sie eine anfängliche Skalierung für die Festkomma-Datentypen.

Beschleunigte Simulation

Mit Fixed-Point Designer können Sie Festkomma-Algorithmen durch die Erzeugung von MEX-Dateien beschleunigen. Dies geschieht durch Bereitstellung der Funktion fiaccel, um Ihren MATLAB-Code in eine MEX-Funktion umzuwandeln, die die Ausführungsgeschwindigkeit Ihrer Festkomma-Algorithmen beschleunigt.

Code showing how to accelerate a numerical filter fixed-point algorithm.
Beispielcode zur Beschleunigung eines Festkomma-Algorithmus mit numerischem Filter mithilfe der fiaccel-Funktion

Codegenerierung

Durch Verwendung von Fixed-Point Designer mit MATLAB Coder™ oder Embedded Coder® können Sie reinen Ganzzahl-C-Code aus Ihrem Festkomma-MATLAB-Code generieren.

Fixed-point MATLAB code for a FIR filter and efficient C code generated using MATLAB Coder with Fixed-Point Designer.
Festkomma-MATLAB-Code für einen FIR-Filter (oben) und effiziente C-Codegenerierung durch MATLAB Coder mit Fixed-Point Designer (unten).

Durch Verwendung von Fixed-Point Designer mit Simulink Coder™ oder Embedded Coder können Sie reinen Ganzzahl-C-Code aus Ihren Festkomma-Simulink-Modellen und Stateflow-Diagrammen generieren.

Model incorporating wide integer and fixed-point operations and generated multiword C code.
Modell mit breiten Ganzzahl- und Festkomma-Operationen (oben) und generiertem Multiword-C-Code (unten). Multiword-Code wird normalerweise durch Verwendung von Parametern oder Signalen mit Datentypen ausgelöst, deren Breite die Länge von C übersteigt.

Der generierte Code stimmt mit Ihrem Modell bitgenau überein, wodurch garantiert wird, dass sich Ihr Entwurf genau wie die Simulation verhält. Der generierte Code enthält außerdem sämtliche für eine Festkomma-Implementierung erforderlichen Fähigkeiten wie die Behandlung von Skalierungen, Rundungen und Details der Festkomma-Mathematik. Sie können Programmiercode für Signale und Parameter mit Wortlängen zwischen 1 und 128 Bit generieren. Der mit Simulink Fixed Point erzeugte Code eignet sich für eine Vielzahl von Anwendungen wie etwa die Simulationsbeschleunigung, das Rapid Prototyping und die Vorbereitung der Serienfertigung.

Wenn Sie Fixed-Point Designer zusammen mit HDL Coder™ verwenden, können Sie bitgenauen, synthetisierbaren Verilog®- und VHDL®-Code aus Ihrem Festkomma-MATLAB-Code, Simulink-Modellen und Stateflow-Diagrammen generieren.

Auf den Punkt gebracht: Fixed-Point Konvertierung und Optimierung in MATLAB und Simulink

Webinar anzeigen