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

Start und Ende einer Rampe erfassen

 

alex85
Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 06.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2011, 13:47     Titel: Start und Ende einer Rampe erfassen
  Antworten mit Zitat      
Servus!

Ich habe ein Signal (Getriebedrehzahl einer Fahrzeugsynchronisation), welches eine Rampe beinhaltet (siehe Anhang). Nun möchte ich mir u.a. die Rampendauer ermitteln.

Hierzu benötige ich den Beginn und das Ende der Rampe, welche ich irgendwie ermitteln muss. Für Rampe_Start habe ich mir schon etwas überlegt:

Code:
   
    analyse_area = [];
    [k,l] = size(data(1,1));
    threshold = 50;
    threshold_channel = 'Kanal nAb';
    span = 50;

    for j=1:span:(k-span)
        if channel{j+span,threshold_channel}{2} > threshold && channel{j,threshold_channel}{2} < threshold
            analyse_area = [analyse_area, j - 'korrekturfaktor'];
        elseif ???
        else ???
        end
    end


Mir fällt momentan aber nichts ein, wie ich das Ende der Rampe erfassen könnte. Jemand eine Idee?

Das Auswerteskript soll komplett modular gehalten werden, da die Synchronisationsdrehzahl als auch die Rampendauer variabel sein werden.

Herzlichen Dank schon mal!

Viele Grüße
Alex

sync.jpg
 Beschreibung:

Download
 Dateiname:  sync.jpg
 Dateigröße:  50.77 KB
 Heruntergeladen:  488 mal
Private Nachricht senden Benutzer-Profile anzeigen


Ajax
Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2011, 14:52     Titel:
  Antworten mit Zitat      
Ich würde einfach mit find() arbeiten:
Wenn du nach dem kleinsten Wert suchst, dann erhältst du mit find eine Reihe von Ausgabewerten (alle Werte bis dorthin, wo die Rampe steigt). Der letzte Wert ist der Startwert der Rampe.
Ähnliches gilt für die Suche nach dem maximalen Wert. Hier ist jedoch der erste Wert, den find() findet der Endwert der Rampe.
Ist die Kurve mit einem Rauschen belastet, dann such nicht nach dem Minimum, sondern nach einem bestimmten Wert über dem Rauschen für den Startwert bzw. einem Wert unter dem Rauschen für den Endwert.
Das ganze ist sicher auch schneller als eine Schleife.
Hilft dir das weiter oder habe ich etwas falsch verstanden?
mfg
Private Nachricht senden Benutzer-Profile anzeigen
 
alex85
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 40
Anmeldedatum: 06.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2011, 15:49     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort!

Interessanter Ansatz!
Wenn das Rauschen relativ konstant ist, könnte das hinhauen.

Vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen
 
Ajax
Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 09.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2011, 16:48     Titel:
  Antworten mit Zitat      
Solange du in etwas abschätzen kannst, wie groß das Rauschen ist, müsste es so funktionieren. Alternativ könntest du auch zwei (bzw. bei stärker verrauschten Signalen besser einige mehr) Werte ermitteln, die sicher auf der Rampe liegen und durch diese eine Gerade legen. So kannst du ebenfalls leicht berechnen, an welchem Punkt die Gerade durch 0 geht bzw. den Maximalwert der Rampe erreichst.
Noch als zusätzliche Anmerkung zur Bestimmung des Rauschens: hierfür könnte sich ein Histogramm der im Graphen enthaltenen Werte eignen. Die Werte, die am Häufigsten auftreten, gehören mit sehr Hoher Wahrscheinlichkeit zum Rauschen.
mfg
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 - 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.