|
|
Signalmaximum halten, aber wie ? |
|
Merlin89 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.08.2014, 09:01
Titel: Signalmaximum halten, aber wie ?
|
|
Hallo Leute,
ich benötige eure Hilfe. Ich habe ein Signal welches meist 0 ist und in regelmäßigen Abständen eine Signalspitze (Wert meist zwischen 2-5) erzeugt.
Nun möchte ich gerne das sobald ein Signal kommt der Maximale Wert z.B. 5 gehalten wird bist zum nächsten Signal z.B. 2. Sodass es nicht immer auf 0 springt.
Ich hoffe ihr könnt mir da helfen.
Vielen Dank
|
|
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.08.2014, 10:26
Titel:
|
|
|
|
Merlin89 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.08.2014, 11:15
Titel:
|
|
Danke dir erstmal, falls du später dafür etwas Zeit hast. Ich habe das ganze mal mit dem aus dem Link getestet.
Leider funktioniert das ganze nicht wie gewünscht. Im Anhang findest du ein Screenshot des ganzen.
Danke
Beschreibung: |
|
Download |
Dateiname: |
Signal.JPG |
Dateigröße: |
151.47 KB |
Heruntergeladen: |
477 mal |
Beschreibung: |
|
Download |
Dateiname: |
Aufbau.JPG |
Dateigröße: |
13.97 KB |
Heruntergeladen: |
466 mal |
|
|
|
felix |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 16.01.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2014a
|
|
|
|
|
|
Verfasst am: 15.08.2014, 12:03
Titel:
|
|
Hallo Merlin,
die Frage klingt für mich vor allem nach einer Logikfrage, dein Aufbau misst die ganze Zeit und sollte im Scope Fenster den jemals höchsten gemessenen Wert der Simulation anzeigen. Wenn danach Signale mit kleineren Werten auftauchen, werden diese ignoriert. Du musst gleichzeitig überwachen, ob ein neues Signal anfängt, und dann den Wert des alten Signals verwerfen und nur noch ein Maximum aus dem neuen Signal bilden. Das sollte mit einer Kombination aus den Blöcken "Detect Rise Positive", "Switch", "Memory" und "minmax" gut funktionieren.
|
|
|
Merlin89 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2014, 16:41
Titel:
|
|
Hallo,
die Idee die felix hatte klappt leider nur solange wie ich weiß wie groß die Signalspitze ist. Im Anhang findet ihr den Aufbau und ein Bild so wie ich das Signal immer gerne hätte.
Der Switch wird halt immer kurz vorm Signalmaximum durchgeschalten und somit bekomme ich dann auch immer das Signalmaximum allerdings kann es auch passieren, das dass Signal mal kleiner oder auch größer ist.
Langsam bin ich echt am verzweifeln ....
Es kann doch nicht so schwer sein ein Signalmaximum zu halten.
Könnt ihr mir da evtl. weiterhelfen?
PS: Simulation läuft bei 8000Hz
Beschreibung: |
|
Download |
Dateiname: |
Soll_Signal.JPG |
Dateigröße: |
20.24 KB |
Heruntergeladen: |
457 mal |
Beschreibung: |
|
Download |
Dateiname: |
Soll_Realisierung.JPG |
Dateigröße: |
14.51 KB |
Heruntergeladen: |
456 mal |
|
|
|
Merlin89 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.08.2014, 14:42
Titel:
|
|
Keiner einen kleinen Tipp für mich ?
|
|
|
felix |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 16.01.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2014a
|
|
|
|
|
|
Verfasst am: 31.08.2014, 14:32
Titel:
|
|
kannst du bitte mal aufmalen, wie das gewünschte Ergebnis aussehen soll?
einmal die Eingangssiglnale und einmal das gewünschte Ausgangssignal.
Ich bin mir nicht sicher, ob ich dich da richtig verstehe.
Schöne Grüße,
Felix
|
|
|
Merlin89 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.09.2014, 10:11
Titel:
|
|
Hallo Felix,
im Anhang findest du ein Bild. Oben ist das aktuelle Signal und darunter siehst du wie ich es gerne hätte. Als waagerechte Linie mit der Höhe des Signalmaximums. Sobald sich allerdings das Signalmaximum ändert soll sich die Linie ebenfalls ändern. Sprich kommt ein Signalmaximum von 3 soll die Linie ebenfalls auf 3 fallen. (wie ein Rechtecksignal)
Hoffe das ganze ist verständlich ^^
|
|
|
Merlin89 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.09.2014, 10:12
Titel:
|
|
Sorry Anhang vergessen !
Beschreibung: |
|
Download |
Dateiname: |
Signal.JPG |
Dateigröße: |
305.99 KB |
Heruntergeladen: |
470 mal |
|
|
|
felix |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 16.01.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2014a
|
|
|
|
|
|
Verfasst am: 01.09.2014, 10:44
Titel:
|
|
Ok, das ganze war etwas verwirrend, weil deine Signale alle gleichgroß sind. Damit kann leider nicht sehen, wann sich etwas ändern soll. Ich denke ich habe es verstanden.
Die Lösung wird wahrscheinlich größer als nur 3 Blöcke. Zumindest mit meinem Kenntnisstand.
Du solltest dir das ganze vielelicht als logischen Ablauf einmal aufzeichen.
Was mir direkt einfällt:
Wenn Signal(t) < Signal(t-1) und Signal(t-1) >= Signal(t-2) --> peak gefunden bei t-1.
Das Proplem hier ist, dass der peak erst einen schritt zu spät identifiziert wird und bei zu großer schrittweite, das ausgabesignal verzögert ausgegeben wird.
ich habe eine feste Schrittweite mit einer schrittweite von 1/100s gewählt.
Schöne Grüße,
Felix
Beschreibung: |
|
Download |
Dateiname: |
eine_loesung.PNG |
Dateigröße: |
72.47 KB |
Heruntergeladen: |
463 mal |
|
|
|
Turbolentz |
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 28.08.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.09.2014, 11:23
Titel:
|
|
Respekt für deine Lösung, Felix!
Ich hab noch eine Alternative, die allerdings nur für diskrete Signale und unter der Bedingung dass der Abstand der Peaks konstant und bekannt ist.
Für den Buffer müsste man eine Buffersize einstellen, die dem Peakabstand entspricht.
Beschreibung: |
|
Download |
Dateiname: |
ZeitlichesMaximum.png |
Dateigröße: |
3.65 KB |
Heruntergeladen: |
443 mal |
|
|
|
Merlin89 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.09.2014, 16:18
Titel:
|
|
Wow ... vielen Dank Felix für die Antwort !!!
Dies funktioniert soweit sehr gut, im Anhang kannst du das Ergebnis sehen. Warum allerdings die Signaleinbrüche da sind weiß ich noch nicht genau, wird sich aber finden lassen.
Nochmals vielen Dank !
Danke auch an Turbolentz, leider sind die Abstände der Peaks nicht immer konstant.
TOP Danke !
Beschreibung: |
|
Download |
Dateiname: |
Signal_neu.JPG |
Dateigröße: |
159.43 KB |
Heruntergeladen: |
454 mal |
|
|
|
felix |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 16.01.14
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 2014a
|
|
|
|
|
|
Verfasst am: 02.09.2014, 11:50
Titel:
|
|
freut mich, dass ich helfen konnte. Viel Erfolg!
|
|
|
|
|
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.
|
|