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

Triggern mit schwellenwert

 

kicker

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.12.2012, 20:40     Titel: Triggern mit schwellenwert
  Antworten mit Zitat      
Hallo,
ich habe ein problem wo ich nicht weiterkomme und ich dachte ich teile dieses problem mal mit euch =)

Also:
Ich habe ein Signalverlauf ( Jeder Kurvenanstieg stellt eine Schrittbewegung da den ich mittels eines sensors aufgezeichnet habe. SIEHE ANHANG ).

Nun soll da eine Schwelle eingebaut werden was ja kein ding ist.

Nun ist aber das problem das immer, wenn der Kurvenverlauf den Schwellenwert ins positive schneidet "eine schrittbewegung" festgestellt werden soll. Auf dem bild ist A = Fuss hebt für schritt ab(Schrittanfang) : und B = fuß setzt auf (schrittende).

Nun will ich die Zeit haben Zwischen A und B, natürlich über der schwelle, damit ich die Länge des schrittes bestimmen kann. Habe schon gelesen das "Triggern" helfen könnte aber ich weiss nicht wie man das in matlab programmieren könnte.
Ich danke im voraus für eure hilfe

Gruß
Micha

Trigger.png
 Beschreibung:
A = Start Trigger
B = Ende Trigger

Download
 Dateiname:  Trigger.png
 Dateigröße:  73.74 KB
 Heruntergeladen:  492 mal


Sigggi
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2012, 00:06     Titel:
  Antworten mit Zitat      
Hallo,

Du könntest zunächst den nächsten Schnittpunkt mit
Code:

[value, index1] = min(abs(x-schwellwert));
 

bestimmen. Jetzt hast Du in der Variable "index" den nächsten Schnittpunkt vom Anfang des Vektors an. Den nächsten Schnittpunkt könntest Du dann bestimmen mit
Code:

[value, index2] = min(abs(x(index1+1:end)-schwellwert);
index2 = index1 + index2;
 

Das Ganze könntest Du (leicht modifiziert) in eine Schleife packen ...

Hilft Dir das weiter?

Gruß, Siggi.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
kicker

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2012, 10:16     Titel:
  Antworten mit Zitat      
Hallo siggi,
danke für deine hilfe, ja es hilft mir auf jeden fall einen schritt weiter.
Wie du schon gesehen hast am bild habe ich nicht nur einen Schnittpunkt, sondern viele. Das muss man wohl in eine schleife packen um alle schnittpunkte zu berechnen.

Aber eine frage noch: Zwischen den beiden schnittpunkten sind ja die erst richtig interessante werte für mein projekt. Werden die mit deiner methode auch gespeichert ?

habe gerade kein matlab da zum testen aber wenns da ist kann ich es mal testen.

Danke für deine hilfe

Gruß
 
Sigggi
Forum-Anfänger

Forum-Anfänger


Beiträge: 46
Anmeldedatum: 27.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2012, 13:00     Titel:
  Antworten mit Zitat      
Hallo,

die Werte zwischen den Schnittpunkten mit dem Schwellwert sind dann entsprechend
Code:

x(index1:index2);
 

Wenn es sich um Messdaten handelt sind die Schnittpunkte sicher verschieden weit auseinander - interessant, wenn Du sie einer anderen Variable übergeben willst.

Dann wirst Du sicher noch feststellen müssen, ob die Signalflanke am jeweiligen Schnittpunkt steigt oder fällt, d.h. ob
Code:

if x(index1) < x(index1+1) ...
 

Gruß, Siggi.
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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 - 2025 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.