Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: Tiefpass Filter programmieren

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    würde gerne einen Tiefapass filter programmieren, um störeinwirkungen auf ein messignal ausgleichen zu können.
    Leider weis ich nicht genau, wie ich da ran soll. Wie filtert man so etwas, denn wenn ich eine Spitze in meinen messignalen drin habe, will ich diese ja ausblenden, wenn jedoch das messsignal auf einmal hochschießt und auch dort bleibt, will ich natürlichauch relativ schnell diesen wert annehmen. hat da jemand eine idee von euch?
    Zitieren Zitieren Tiefpass Filter programmieren  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.797
    Danke
    398
    Erhielt 2.418 Danke für 2.014 Beiträge

    Standard

    Hallo,
    so ein Filter nennt sich auch "Glättung" oder "Mittelwert-Bildung".
    Gib das doch einfach mal in die Suche ein. Dann bekommst du ettliche Beispiele dazu ...

    Gruß
    Larry

  3. #3
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Eine Mittelwertbildung will ich ja nicht, denn wenn ich da nen ausreißer drin habe, und 10 werte mittel, dann bekomme ich ja bei
    bspw. 9*10V und einem Messfehler ausreißer 1*200V schon folgedes raus:

    9*10+1*200 = 290V
    290V / 10 = 29V --> Falsch

    und diesen wert habe ich ja dann so lange drin stehen, bis der messfehler ja aus meinem 10er schiebregister wieder drausen ist.
    Zitieren Zitieren Ok  

  4. #4
    Registriert seit
    24.02.2009
    Beiträge
    1.244
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Naja, aber ein Tiefpassfilter macht genau das Selbe. Schnelle/Abrupte Änderungen im Signal werden vom Filter weggebügelt/gedämpft.

    Musst dich dann entscheiden was du willst.

    Ein TP 1. Ordnung kannst du so realisieren:

    Code:
    Wert_neu = (1-Faktor)*Wert_alt + Faktor * Eingangswert
    Wert_alt = Wert_neu
    Über Faktor kannst du die Trägheit des Filters bestimmen.

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.797
    Danke
    398
    Erhielt 2.418 Danke für 2.014 Beiträge

    Standard

    Das würde dir aber jeder Filter dann auch machen, da der ja erstmal nichts anderes ist ...
    Du kannst natürlich auch noch einen Plausibilitäts-Check dranhängen (also der neue Wert darf niemals größer sein als z.B. der doppelte bisherige Mittelwert).
    Oder du überprüfst den Gradienten - also den Anstieg (kommt aber wahrscheinlich auf das Gleiche heraus ...)

    Gruß
    Larry

  6. #6
    Registriert seit
    26.12.2009
    Beiträge
    98
    Danke
    22
    Erhielt 9 Danke für 7 Beiträge

    Standard

    What about a ramp function? That allows only minor change per scan.

    Kaputt

  7. #7
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja Filter sind eine komplizierte Angelegenheit.
    Als erstes würde ich wie vorgeschlagen eine Plausbilitätsprüfung vorschalten. (Beispiele dafür sind: Temperaturen von Räumen ändern sich nur sehr langsam, die Position von Achsen ändert sich selten schlagartig. Hier musst du entscheiden, wie die Messprozess in der Natür überhaupt funktionieren kann)
    Weiter wäre denkbar, neben der reinen Differenz auch die zweite Ableitung auf einen max. Wert zu überwachen. (Dass heisst, das Signal darf sich nicht zu stark verändern, als Beispiel ein Stein der runterfällt, beschleunigt ja auch mit 10m/s^2 -> Viele Prozesse in der Natur laufen mit Exponentialfunktionen ab, gerade im Bereich Temperatur)
    Danach kommt ein Filter. Ich nehme oftmals ein Schieberegister oder ein gleitender Mittelwert (Vorteil vom gleitenden Mittwelwert ist, dass Änderungen sofort sichtbar werden, wenn auch sehr fein... -> Du erhälst weiterhin eine "stetige" Funktion, je nach Weiterverwendung wichtig!)

    Die Anzahl Werte für die Mittelwertbildung bestimmst du natürlich von deinem Prozess abhängig. (Bei einer Gärtankanlage (500L) für eine Brauerei nehme ich 500 Werte -> 2s @2ms, bei einer sehr präzisen Messapplikation nehme ich 10 Werte -> 5ms @500us, das mit einem gleitenden Mittelwert, da wir das Messignal auf kleine Sprünge (Kraftabrisse) überwachen müssen)
    Geändert von gloeru (14.10.2012 um 17:50 Uhr) Grund: Buchstaben sortiert...

Ähnliche Themen

  1. Sensoren Filter
    Von Blackdriver im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 04.11.2011, 16:05
  2. Filter
    Von Gerd1994 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 09.07.2009, 16:47
  3. Tiefpass mit ST
    Von Eddie123 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 07.11.2008, 13:47
  4. Filter/Prelzeit programmieren
    Von michdan im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 12.03.2007, 13:55
  5. Suche: Tiefpass für PWM>Analogsignal
    Von jo_bur im Forum Schaltschrankbau
    Antworten: 11
    Letzter Beitrag: 19.07.2006, 12:37

Lesezeichen

Berechtigungen

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