www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Matlab/Sinulink


Autor: enzo kleedorfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matlab und Sinulink wird nachgesagt langsam zu sein.

Gilt dies auch für die aus Matlab & Simulink erzeugten DLL's, .exe
oder C++ Code die dann in einem DSP laufen, oder nur für Simulationen
bzw. Berechnungen die direkt in Matlab laufen ?

lg

Enzo

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich erreicht Matlab als Scriptsprache nicht die Geschwindigkeit
wie Compilersprachen, aber wenn man es richtig anwendet kann man
einiges  rausholen:

- Schleifen wann immer möglich vermeiden!

- lieber Matrixrechnung verwenden, das geht in Matlab genauso schnell
wie in Compilersprachen.

- >> help pcode

Mit dem Real-Time Workshop habe ich bisher nur gute Erfahrungen
gemacht, welches Target verwendest du denn?

Gruß, Thomas

Autor: enzo kleedorfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke!

also ich verwende das Video und Image Tool. Bei der Videowiedergabe
erfolgt dies nicht mit 25 fps sondern weit aus weniger. Da ich in
Echtzeit die Videos bzw. Bewegungsabläufe analysieren möchte, ist dies
nicht optimal.

Ich dachte mir nur, der .m Code compiliert in C++ Code oder eine .dll
sollte dann schneller laufen, bzw in fast Echtzeit laufen. Oder irre
ich da ?

Liebe Grüße

Enzo

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also die m-Files arbeiten deine Eingaben genauso zeilenweise ab, wie
wenn du dies alles im Kommandofenster eingibst. Da wird nicht
compiliert. Wenn du Berechnungen, die in Matlab sehr langsam ausgeführt
werden (z.B. große for-Schleifen) in C oder C++ abarbeiten möchtest,
musst du mit der mex-Schnittstelle von Matlab arbeiten.

Gruß Steffen

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ab der Matlab-Version 6.5 kommt die JIT-Technologie zum Einsatz, die die
Effizienz von Schleifen deutlich erhöht und zumindest auf
Windows-Systemen fast an vektorisierten Code ran kommt.
Richtig ist natürlich, dass sich mit C/C++ die Effizinez noch einmal
steiger lässt.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Enzo,

von dem "Video and Image Processing Blockset" habe ich keine Ahnung,
aber schau dir doch mal das "Rapid Simulation" Target an, The
Mathworks gibt eine durchschnittliche Geschwindigkeitssteigerung um den
Faktor 5-20 an. Halt uns auf dem Laufendem, das interessiert mich
nämlich auch...

Gruß, Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.