|
|
Gleitender Median eines Signal in Echtzeit in Simulink |
|
liupan539649 |
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 05.05.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.05.2015, 08:33
Titel: Gleitender Median eines Signal in Echtzeit in Simulink
|
|
Hallo Zusammen,
ich muss einen Median eines Sensorsignals letzter Sekunde in Echtzeit in Simulink berechnen. Da das Algo im ECU geflasht wird, soll es am besten durch atomisch Simulink Block realisiert werden. Hat jemand eine Idee? Falls nicht, mit welchem Toolbox kann ich schaffen? Danke.
Gruß
Andi
Zuletzt bearbeitet von liupan539649 am 05.05.2015, 08:55, insgesamt einmal bearbeitet
|
|
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 05.05.2015, 08:49
Titel:
|
|
Das ist eine komplexe Anwendung. Ist das eine Anwendung im Rahmen einer Bachelorarbeit in der Industrie? Da würde ich mich nicht auf eine Community-Antwort verlassen, sondern die Applikation mit MathWorks bersprechen.
Generell gibt es die DSP System Toolbox (Achtung, verschiedene Namen in der Vergangenheit) http://www.mathworks.com/products/dsp-system/, die das Ganze Buffering bedienen kann, denn das benötigt man ja für so was.
Andreas
|
|
|
liupan539649 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 05.05.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.05.2015, 08:57
Titel:
|
|
Hallo Andreas,
ja, das ist eine Abschlussarbeit in der Industrie. Okay ich versuche mal mit dem zu kontaktieren.
Gruß
Andi
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 05.05.2015, 09:17
Titel:
|
|
da es hier ein doppelpost giebt in dem im anderen thread zusammenhangslose antworten sind lösche ich den anderen thread mal
liupan539649 hat Folgendes geschrieben: |
Hallo Andreas,
danke dir. Das heißt, das ist nur mit atomischen Blocke realisierbar oder? Ich versuche die alte Antwort zu finden.
Gruß,
Andi |
liupan539649 hat Folgendes geschrieben: |
Hallo Andreas,
meinst du die folgenden:
ich brauche den Median nicht den Durchschnitt. Wahrscheinlich habe ich falsch ausgedrückt.
Gruß
Andi |
_________________
richtig Fragen
|
|
|
rien |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.05.2015, 18:11
Titel:
|
|
|
|
|
Habe ich dich richtig verstanden du willst den Median eines Signals bestimmen, und zwar im Zeitraum von t-1s bis t?
Das Ganze dynamisch in Simulink?
Du könntest selbst eine Level 2 Matlab Funktion schreiben, mit fixer step-size könntest du mit Dworks arbeiten, 1/Ts=Länge deiner Dwork-Vektoren.
Bei nicht fixen step-sizes könntest du mit einem globalen Array arbeiten und von diesen nur die Einträge im entsprechenden Zeitfenster auswerten. Alternativ könntest du deine D-Works etwas zu lang machen und mit zwei Dworks arbeiten (einmal Zeit und einmal Signal). Du müsstest aufgrund der nicht fixen Zeitabständen dynamisch die Dwork-Zeitmatrix absuchen, Einträge löschen und neu füllen.
Vorteil der D-Work-Lösungen, es braucht keine Blockidentifikation, bei Lösungen welche mit externen Speichern arbeiten muss für den Fall das der Block mehrmals verwendet werrden soll eine eindeutige Zuordnung geschaffen werden (funktioniert gut, das Konzept muss aber gut durchdacht werden). Bsp indem man bei der Blockinitialisierung eine Blocknummer bestimmt und an den Block übergibt.
|
|
|
liupan539649 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 05.05.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.05.2015, 16:18
Titel:
|
|
Hallo Rien,
Danke dir.
Da dieser Algo zum Rapid Prototyping eingesetzt wird, habe ich schon auf Matlab Function verzichtet. Das heißt, ich will nur mit Basic Simulink Block oder C codes das realisieren.
gruß,
Andi
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 13.05.2015, 07:00
Titel:
|
|
Wie ist es denn mit der "DSP System Toolbox"? Steht die zur Verfügung? Was sagt der MathWorks Applikations-, oder Support-Ingenieur?
Andreas
|
|
|
liupan539649 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 05.05.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.05.2015, 15:11
Titel:
|
|
Hallo Andreas,
danke dir. Kein DSP steht mir zur Verfügung. Auch wenn es vorhanden ist, kann ich nicht einsetzen, weil ich endlich im Targetlink zur Code-Generierung umsetzen muss. Ich habe mit Mathworks noch nicht kontaktiert.
gruß,
andi
|
|
|
Andreas Goser |
Forum-Meister
|
|
Beiträge: 3.654
|
|
|
|
Anmeldedatum: 04.12.08
|
|
|
|
Wohnort: Ismaning
|
|
|
|
Version: 1.0
|
|
|
|
|
|
Verfasst am: 13.05.2015, 16:16
Titel:
|
|
Nun, wenn ich mal akzeptiere, dass Codegenerierung nicht mit MathWorks Produkten erfolgt, sehe trotzdem folgende Informationen bei dSPACE:
https://www.dspace.com/files/pdf1/d.....x_Compatibility_RLS73.pdf
Auch wenn ich nicht weiss, ob die speziellen Version passen, so ist für mich erstmal klar, dass es grundsätzlich funktionieren müsste - nur in Spezialfällen nicht.
Wie auch immer, wenn ich die Gegebenheit aktzeptiere ist es wohl am besten die Umsetzung als C MEX S-Function
Andreas
|
|
|
rien |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.05.2015, 19:58
Titel:
|
|
liupan539649 hat Folgendes geschrieben: |
Hallo Rien,
Danke dir.
Da dieser Algo zum Rapid Prototyping eingesetzt wird, habe ich schon auf Matlab Function verzichtet. Das heißt, ich will nur mit Basic Simulink Block oder C codes das realisieren.
gruß,
Andi |
Du kannst auch Level 2 S-Funktionen in C schreiben
Gruss
rien
|
|
|
liupan539649 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 05.05.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.05.2015, 21:32
Titel:
|
|
Hallo Andreas und Rien,
danke euch für die Antworten. Ihr beide habt betont, dass die beste Umsetzungen durch C Codes in der S-Funktion realisiert werden soll. Es ist mir so klar, könnt ihr detaillierter erklären?
Gruß
Andi
|
|
|
rien |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.05.2015, 18:51
Titel:
|
|
Ich habe noch nie Level 2 Matlab funktionen in C geschrieben, da ich alles Matlab-intern handle und die Performance bisher kein Kriterium war.
Aber, die verschiedenen von mir vorgestellten Aproches lassen sich sowohl mit in Matlab geschriebenen als auch mit in C geschriebenen Level 2 S-Funktionen umsetzten.
In der Simulink Library findest man unter user defined functions diverse vorgefertigte Beispiele, das sollte als groben Anhaltspunkt genügen.
Da lediglich Daten aufsummiert und über eine bestimmte Zeit ausgewertet werden sollte die Umsetzung mit dem Block-feature Dwork am einfachsten sein.
Bin mir allerdings gerade am überlegen ob mit einer Clock und ein paar anderen Dingen ein Subsystem gebastelst werden kann welches deine Wünsche erfüllt.
|
|
|
liupan539649 |
Themenstarter
Forum-Newbie
|
|
Beiträge: 9
|
|
|
|
Anmeldedatum: 05.05.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.05.2015, 09:57
Titel:
|
|
Hallo Rien,
danke dir für die Hilfe. Ich will probieren, ob es möglich ist, mit Simulink Block es zu realisieren. Falls es echt nicht funktionieren kann, werde ich S-Funktion probieren.
viele Grüße,
Andi
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|