WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Signalmaximum halten, aber wie ?

 

Merlin89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.08.2014, 10:01     Titel: Signalmaximum halten, aber wie ?
  Antworten mit Zitat      
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

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.08.2014, 11:26     Titel:
  Antworten mit Zitat      
http://www.gomatlab.de/minimum-und-.....ung-bestimmen-t34426.html

So! :)

PS: nein, war quatsch - so geht es nicht. Aber vielleicht hilft Dir der Ansatz ein bisschen. Hab leider gerade keine Zeit, mehr dazu aufzuschreiben...
Private Nachricht senden Benutzer-Profile anzeigen
 
Merlin89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.08.2014, 12:15     Titel:
  Antworten mit Zitat      
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

Signal.JPG
 Beschreibung:

Download
 Dateiname:  Signal.JPG
 Dateigröße:  151.47 KB
 Heruntergeladen:  454 mal
Aufbau.JPG
 Beschreibung:

Download
 Dateiname:  Aufbau.JPG
 Dateigröße:  13.97 KB
 Heruntergeladen:  445 mal
 
felix
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 16.01.14
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 15.08.2014, 13:03     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Merlin89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2014, 17:41     Titel:
  Antworten mit Zitat      
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

Soll_Signal.JPG
 Beschreibung:

Download
 Dateiname:  Soll_Signal.JPG
 Dateigröße:  20.24 KB
 Heruntergeladen:  434 mal
Soll_Realisierung.JPG
 Beschreibung:

Download
 Dateiname:  Soll_Realisierung.JPG
 Dateigröße:  14.51 KB
 Heruntergeladen:  435 mal
 
Merlin89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.08.2014, 15:42     Titel:
  Antworten mit Zitat      
Keiner einen kleinen Tipp für mich ?
 
felix
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 16.01.14
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 31.08.2014, 15:32     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Merlin89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.09.2014, 11:11     Titel:
  Antworten mit Zitat      
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: ---
     Beitrag Verfasst am: 01.09.2014, 11:12     Titel:
  Antworten mit Zitat      
Sorry Anhang vergessen !

Signal.JPG
 Beschreibung:

Download
 Dateiname:  Signal.JPG
 Dateigröße:  305.99 KB
 Heruntergeladen:  448 mal
 
felix
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 16.01.14
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 01.09.2014, 11:44     Titel:
  Antworten mit Zitat      
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

eine_loesung.PNG
 Beschreibung:

Download
 Dateiname:  eine_loesung.PNG
 Dateigröße:  72.47 KB
 Heruntergeladen:  441 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Turbolentz
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 28.08.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.09.2014, 12:23     Titel:
  Antworten mit Zitat      
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.

ZeitlichesMaximum.png
 Beschreibung:

Download
 Dateiname:  ZeitlichesMaximum.png
 Dateigröße:  3.65 KB
 Heruntergeladen:  422 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Merlin89

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.09.2014, 17:18     Titel:
  Antworten mit Zitat      
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 !

Signal_neu.JPG
 Beschreibung:

Download
 Dateiname:  Signal_neu.JPG
 Dateigröße:  159.43 KB
 Heruntergeladen:  432 mal
 
felix
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 16.01.14
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 02.09.2014, 12:50     Titel:
  Antworten mit Zitat      
freut mich, dass ich helfen konnte. Viel Erfolg!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.