+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Registriert seit
    Sep 2009
    Ort
    Bocholt
    Beiträge
    1,126

    Standard Ein digitaler Tiefpass!

    Hallo alle zusammen,

    aus gegebenen Anlass möchte ich Euch einen digitalen Tiefpass 1. Ordnung vorstellen.

    Das ist die Funktion:
    PHP-Code:
    function Filter($In$OutLPS$FZK)
                {
                
    /*=============================================================
                Filter - Martin Heinzel - 27.12.2011
                Version: 1.0

                Beschreibung:
                Diese Funktion ist ein digitaler Tiefpass und dient zum ausfiltern von
                hochfrequenten Signalanteilen bis zu einer einstellbaren Grenzfrequenz.


                Ausgang = Ausgang_alt - ( Ausgang_alt - Eingang ) x 1/Filterzeitkonstante

                ================================================================*/
                    
    if($FZK 0)
                    {
                    return 
    $OutLPS - ($OutLPS $In) * 1.0/$FZK;
                    }
                    else
                    {
                    return 
    $In;
                    }

                } 
    So wird die Funktion eingebunden:
    PHP-Code:
    $id_Eingang    =     34418 /*[.Scripte\Beispiele\skrFilter\Eingang]*/ ;
    $id_Ausgang    =     57685 /*[.Scripte\Beispiele\skrFilter\Ausgang]*/ ;

    $Eingang       =     GetValueFloat($id_Eingang);
    $Ausgang       =     GetValueFloat($id_Ausgang);

    $Ausgang       =     Filter($Eingang$Ausgang10.0);

    SetValueFloat($id_Ausgang$Ausgang); 
    Die Funktion erfordert eine gleichbleibende, (fixer Wert z.B. alle 1 Sekunde) konstante Abarbeitung (constant scan).
    Mit steigender Filterzeitkonstante verringert sich die Grenzfrequenz.
    Geändert von Schablone (30.12.11 um 16:43 Uhr)
    Bis dann

    Martin

  2. #2
    Registriert seit
    Sep 2009
    Ort
    Bocholt
    Beiträge
    1,126

    Standard Die Theorie:

    Jede Signalform lässt sich vollständig als Summe von Sinuskomponenten mit unterschiedlicher Frequenz, Amplitude und Phasengang darstellen. Durch Filtern können entsprechende Frequenzanteile des Signals abgeschwächt werden. Die vorliegende Funktion ist ein digitaler Tiefpass. Der Tiefpass lässt Frequenzanteile unterhalb der Grenzfrequenz nahezu unverändert passieren, während Frequenzanteile oberhalb der Grenzfrequenz abgeschwächt werden

    Schaltungsbeispiel aus der Analogtechnik:



    Die typische Srungantwort:



    Um die gewünschte Dämpfung eines RC-Gliedes nachzubilden wird folgende Formel verwendet:

    Out_f = Out_f_lps – ( Out_f_lps – In ) x 1/FZK

    Out_f = gefilterter Wert
    Out_f_lps = gefilterter Wert letzter Programmdurchlauf (last program scan)
    In = ungefilterter Eingangswert
    FZK = Filterzeitkonstante (0 = Initialisierung mit dem ungefilterten Wert/1=keine Filterung)
    Bis dann

    Martin

  3. #3
    Registriert seit
    Sep 2009
    Ort
    Bocholt
    Beiträge
    1,126

    Standard Anwendungsbeispiel:

    Ein Thies Niederschlagssensor wird über ein 1Wire DS2450 eingelesen. Das eingelesene Signal hat ein hochfrequentes Gundrauschen was für die Auswertung störend ist.



    Über den digitalen Tiefpass kann dieses Grundrauschen ausgefiltert werden.





    Im gezeigten Beispiel wurde das Signal zu Versuchszwecken über vier separate Filter mit unterschiedlichen Filterzeitkonstanten geführt. An dem Bild ist sehr schön zu sehen wie die einzelnen Filterzeitkonstanten wirken.





    In dem Screenshot sieht man die Inbetriebnahme der Filter mit den Sprungantworten auf den Grundwert des Niederschlagssensors. Es ist eine deutliche Ähnlichkeit zur oben gezeigten Sprungantwort aus der Analogtechnik zu sehen.


    So das wars.

    Wenn ihr noch Fragen habt meldet Euch bitte.

    Ich möchte mich nochmals ausdrücklich für die angenehme Zusammenarbeit mit Andreas alias Raketenschnecke bedanken. Er war auch so freundlich die hier im "Anwendungsbeispiel" gezeigten Screenshots zur verfügung zu stellen.

    Andreas Du bis ne Bütz!
    Bis dann

    Martin

  4. #4
    Registriert seit
    Oct 2010
    Ort
    HH
    Beiträge
    4,613

    Hi Martin,

    ich hab zu danken für die Projektunterstützung! Klasse Zusammenarbeit, so Projektgruppen in der Community sind unglaublich effizient, lehrreich und machen Spaß. Für mich eine erstaunliche Erfahrung!

    Allerdings muß ich hier Helmut noch erwähnen, der mir innerhalb kürzester Zeit einen A/D-Wandler auf 1Wire-Basis gebaut habt (das war sozusagen für mich die erste Projektphase). Ich denke, Helmut stellt das Teil auch noch vor - da ich mittlerweile denke das man solchen einen Wandler eigentlich an jeder Ecke braucht. Und durch die native IPS-Unterstützung ist die Einbindung auch super einfach.

    Das Ganze hat soviel Freude gemacht das ich jetzt nach ner neuen Projektidee grabe - Good Job, Jungs!

    Ach ja: wer sich das Ganze am lebenden Beispiel ansehen will kann das hier tun: Tiefpass-Filter, UV-Messung
    Ein paar Wochen wir die Seite noch online sein:-)
    Geändert von Raketenschnecke (09.02.12 um 06:39 Uhr)
    mit gebücktem Gruss
    Raketenschnecke
    IPS-Projekte und -Tools auf
    www.raketenschnecke.net

Ähnliche Themen

  1. Digitaler Bilderrahmen mit IPS? - Ambra Light
    Von Tonic1024 im Forum Projekt Showcase
    Antworten: 25
    Letzter Beitrag: 22.11.09, 22:28
  2. Umbau digitaler Bilderrahmen als Touchscreen
    Von dfhome im Forum Bastel-Ecke
    Antworten: 1
    Letzter Beitrag: 16.11.09, 23:16
  3. Digitaler Bilderrahmen mit WLAN?
    Von sysrun im Forum Alles rund um den PC
    Antworten: 10
    Letzter Beitrag: 07.11.09, 11:54
  4. Digitaler Wireless Bilderrahmen
    Von jheinz im Forum Alles rund um den PC
    Antworten: 12
    Letzter Beitrag: 11.01.09, 11:22
  5. Digitaler Stromzaehler von Yello Strom
    Von StephanBonn im Forum Haustechnik
    Antworten: 10
    Letzter Beitrag: 15.09.08, 21:19