-         

Ergebnis 1 bis 8 von 8

Thema: Maxima einer Schwingung per Software

  1. #1
    Robotik84
    Gast

    Maxima einer Schwingung per Software

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo leutz,

    ich stehe hier vor einem problem und komme einfach net weiter.

    also mein problem:
    Ich habe eine Sinusschwingung. Diese ist nicht richtig sauber, d. h. sie besitzt 2 oder mal 3 kleine ausreißer. zudem ist noch das der sinus aus experimentellen werte ermittelt wurde und somit hat der sinus auch kleine ecken drin.
    Nun ist es meine aufgabe bei jedem Maxima (pos. oder neg.) soll eine variable hochgezählt werden. Und zwar nur bei den Maxima. D. h. auch dass i die ausreißer nicht beachten soll.

    kann mir jemand einen algorithmus sagen, der das erfüllt?

    ich soll dies in C programmieren.

    gruß robotik ...

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    13.07.2006
    Beiträge
    81
    Du kannst immer in kleinen Zeitabständen die differenz der Spannung messen. Wenn die Änderung am kleinsten ist, dann ist ein Peak-Wert erreicht. Diese Lösung ist aber warscheinlich nicht sonderlich genau. Ich persönlich würde das Signal Hardwaremässig filtern und bearbeiten...

  3. #3
    Robotik84
    Gast
    hardwaremäßig kann i nix mehr filtern ... i bekomme die daten von einer wegmessung über encoderscheiben und dort will i sobald hoher bzw niedriger wert erreicht ist einen wechsel zählen ...
    hab mir schon überlegt über 10 werte zu mitteln und den von den nexten 10 werten gemittelten wert zu vergleichen und ist die differenz sehr klein dann zähle i einen wechsel ...
    weiss aber net, ob das die beste lösung ist ...
    werds mal testen ...

    über weitere anregungen würd i mich freuen ...

    gruß robotik

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Wenn die Werte nach der Reihe daherkommen, kannst du den aktuellen Werte immer mit dem vorhergehenden vergleichen.
    Das ergibt die "steigung" an der Stelle.
    Wenn du nun die Steigung mir der vorherigen vergleichst, kriegst du Wendepunkte. d.h. zwischen dem aktuellen und vorherigen Sample muß eine Nullstelle gewesen sein. Und die kannst du brauchen.
    Mit Lust und Liebe und Interpolieren kannst du die Nullstelle auch noch genauer kriegen.

    Vorteil: eine "Treppenstufe" in der Kurve kannst du damit erkennen und ausschließen. (Also bergauf, flach und wieder bergauf)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Robotik84
    Gast
    also der sinus hat einen offset und dann kann i dann keine nullstelle bestimmen ...
    so du meinst i soll den aktuellen durch den vorherigen wert teilen und dann mit der voherigen steigung vergleichen und dann hab i ein wechsel oder wie???
    nur was i au net versteh wie soll i dann die treppenstufen erkennen???
    also ein maximum erkenn i ja wenn die steigung ca. null ist ... nur was mache i wenn i dann im nexten maximum bin bzw wie soll i da die maxima rausholen???

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Geh ein Stück zur Seite, du stehst grad auf der Leitung
    Bei der Differenzierung fällt jedes Offset in den Kübel.
    Nicht Teilen, Abziehen.
    Ist die Differenz +, gehts bergauf, - bergab, logo. --> +/- merken.
    Wars vorher - und jetzt +, dann war ein Minimum
    Wars vorher + und jetzt -, dann war ein Maximum
    Differenz=NULL vergißt du einfach, das hilft dir alleine nix
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.07.2006
    Ort
    Berlin
    Beiträge
    439
    Wenn du eine Sinus differenzierst, bekommst du eine Cosinus und der hat da, wo der Sinus seine Maxima hat, einen Nulldurchgang.
    Aus der Erkennung der Maxima wird eine Erkennung der Nulldurchgänge und das dürfte einfacher sein.

    Gruß
    Detlef

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Was Picknick beschreibt heißt bei Ladegeräten -deltaU-Abschaltung und funktioniert ganz gut. Im Vergleich dazu gibts auch noch die Delta0-Abschaltung (oder so ähnlich), die den Punkt f'=0 erkennt. Das ist aber schwieriger. Was DIr in jedem Fall gegen Deine Ausreißer hilft und Dein Ergebnis zuverlässiger machen würde, ist ein Tiefpass mit geeigneter Grenzfrequenz. Sehr zu empfehlen! Das geht hard- wie softwaremäßig.
    Gruß

    PS: Gib Dir mal bitte ein bisschen mehr Mühe beim Schreiben. Den kryptischen Mist verstehen zu wollen zehrt an der Geduld. Du schreibst ihn nur einmal, gelesen wird er aber zig-mal.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •