Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Tiefpassfilter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Test Adapter Tiefpassfilter

Scheduled Pinned Locked Moved Tester
66 Posts 7 Posters 5.7k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Ben1983B Ben1983

    @klassisch ist das soweit verständlich?
    Also das es die Werte ignoriert und nicht den Wert annimmt, wenn der Wert bsp. Kleiner ist.
    Das würde ich auch ungern machen. Lieber ignorieren.

    K Offline
    K Offline
    klassisch
    Most Active
    wrote on last edited by klassisch
    #45

    @ben1983 Habe darüber nachgedacht und mir hat es zumindest nicht auf anhieb eingeleuchtet.
    Angenommen der Fall x > x_limit tritt ein. Was macht dann der TP? nimmt er den letzten gültigen Wert, den er hatte (das könnte auch ein ganz kleiner, also beliebig weit weg sein) und rechnet mit dem weiter? Könnte beliebig falsch enden.
    Oder rechnet er gar nichts? Dann gibt es Kuddelmuddel mit der timebase, weil die dann wesentlich verlängert wird.
    Meine Vorstellungskraft hat auch nicht ausgereicht um spontan einen konkreten Anwendungsfall dafür zu sehen.
    Clipping hingegen wäre eher etwas, dem ich ab und an begegne.
    Man ist dann schon im Bereich zu nichtlinearen Filtern. Man kümmert sich dann nicht mehr um das was jenseits der Limits passiert. Das wird ja dem Speicherelement vorenthalten.
    Was mir schon ab und an begenet ist, sind nichtlineare Filter mit einem ggf adaptiven Totbereich. Also einem Bereich, in dem ein konstantes Signal ausgegeben wird, solange sich deas Eingangssignal innerhalb dieses Bereiches bewegt. Typischerweise nach dem Summationsglied am Eingang eines Reglers, also um die 0 herum. Das sorgt dann dafür, daß ein Signalrauschen sich nicht bis zum Stellglied durchschlägt.
    Ist aber wieder eine ganz andere Geschichte.

    Die "null" Unterdrückung funktioniert bisher.
    5990f99d-98a5-4239-8c0a-08c41ab39520-grafik.png
    Magenta ungefiltert (5 min), schwarz gefiltert (30min = 6 Eingangswerte).

    Ben1983B 2 Replies Last reply
    0
    • K klassisch

      @ben1983 Habe darüber nachgedacht und mir hat es zumindest nicht auf anhieb eingeleuchtet.
      Angenommen der Fall x > x_limit tritt ein. Was macht dann der TP? nimmt er den letzten gültigen Wert, den er hatte (das könnte auch ein ganz kleiner, also beliebig weit weg sein) und rechnet mit dem weiter? Könnte beliebig falsch enden.
      Oder rechnet er gar nichts? Dann gibt es Kuddelmuddel mit der timebase, weil die dann wesentlich verlängert wird.
      Meine Vorstellungskraft hat auch nicht ausgereicht um spontan einen konkreten Anwendungsfall dafür zu sehen.
      Clipping hingegen wäre eher etwas, dem ich ab und an begegne.
      Man ist dann schon im Bereich zu nichtlinearen Filtern. Man kümmert sich dann nicht mehr um das was jenseits der Limits passiert. Das wird ja dem Speicherelement vorenthalten.
      Was mir schon ab und an begenet ist, sind nichtlineare Filter mit einem ggf adaptiven Totbereich. Also einem Bereich, in dem ein konstantes Signal ausgegeben wird, solange sich deas Eingangssignal innerhalb dieses Bereiches bewegt. Typischerweise nach dem Summationsglied am Eingang eines Reglers, also um die 0 herum. Das sorgt dann dafür, daß ein Signalrauschen sich nicht bis zum Stellglied durchschlägt.
      Ist aber wieder eine ganz andere Geschichte.

      Die "null" Unterdrückung funktioniert bisher.
      5990f99d-98a5-4239-8c0a-08c41ab39520-grafik.png
      Magenta ungefiltert (5 min), schwarz gefiltert (30min = 6 Eingangswerte).

      Ben1983B Offline
      Ben1983B Offline
      Ben1983
      wrote on last edited by
      #46

      @klassisch Also ich weiß ehrlich gesagt mit "clipping" nichts an zu fangen :-D

      Der Filter rechnet aktuell mit dem letzten gültigen Wert weiter.
      Somit könnte man tiefe und hohe werte (Durch bspw. Einstreuungen oder sonstiges komplett ignorieren und man würde mit kurzen Ausreißern keine Beeinflussung auf den Verlauf haben.

      K 1 Reply Last reply
      0
      • K klassisch

        @ben1983 Habe darüber nachgedacht und mir hat es zumindest nicht auf anhieb eingeleuchtet.
        Angenommen der Fall x > x_limit tritt ein. Was macht dann der TP? nimmt er den letzten gültigen Wert, den er hatte (das könnte auch ein ganz kleiner, also beliebig weit weg sein) und rechnet mit dem weiter? Könnte beliebig falsch enden.
        Oder rechnet er gar nichts? Dann gibt es Kuddelmuddel mit der timebase, weil die dann wesentlich verlängert wird.
        Meine Vorstellungskraft hat auch nicht ausgereicht um spontan einen konkreten Anwendungsfall dafür zu sehen.
        Clipping hingegen wäre eher etwas, dem ich ab und an begegne.
        Man ist dann schon im Bereich zu nichtlinearen Filtern. Man kümmert sich dann nicht mehr um das was jenseits der Limits passiert. Das wird ja dem Speicherelement vorenthalten.
        Was mir schon ab und an begenet ist, sind nichtlineare Filter mit einem ggf adaptiven Totbereich. Also einem Bereich, in dem ein konstantes Signal ausgegeben wird, solange sich deas Eingangssignal innerhalb dieses Bereiches bewegt. Typischerweise nach dem Summationsglied am Eingang eines Reglers, also um die 0 herum. Das sorgt dann dafür, daß ein Signalrauschen sich nicht bis zum Stellglied durchschlägt.
        Ist aber wieder eine ganz andere Geschichte.

        Die "null" Unterdrückung funktioniert bisher.
        5990f99d-98a5-4239-8c0a-08c41ab39520-grafik.png
        Magenta ungefiltert (5 min), schwarz gefiltert (30min = 6 Eingangswerte).

        Ben1983B Offline
        Ben1983B Offline
        Ben1983
        wrote on last edited by Ben1983
        #47

        @klassisch Habe die Beschreibung etwas angepasst
        8d148ce9-9487-44f5-86e8-0b6fe533e3c1-image.png

        1 Reply Last reply
        0
        • Ben1983B Ben1983

          @klassisch Also ich weiß ehrlich gesagt mit "clipping" nichts an zu fangen :-D

          Der Filter rechnet aktuell mit dem letzten gültigen Wert weiter.
          Somit könnte man tiefe und hohe werte (Durch bspw. Einstreuungen oder sonstiges komplett ignorieren und man würde mit kurzen Ausreißern keine Beeinflussung auf den Verlauf haben.

          K Offline
          K Offline
          klassisch
          Most Active
          wrote on last edited by klassisch
          #48

          @ben1983 sagte in Test Adapter Tiefpassfilter:

          @klassisch Also ich weiß ehrlich gesagt mit "clipping" nichts an zu fangen :-D

          clipping = Amplitudenbegrenzung bzw. Magnitudenbegrnzung. Dabei würde mit dem maximal gültigen Wert weiter gerechnet, wenn der aktuelle Wert größer als dieser ist.
          Also so eine Art Begrenzung des Signals wie z.B. durch eine Z-Diode.

          Der Filter rechnet aktuell mit dem letzten gültigen Wert weiter.
          Somit könnte man tiefe und hohe werte (Durch bspw. Einstreuungen oder sonstiges komplett ignorieren und man würde mit kurzen Ausreißern keine Beeinflussung auf den Verlauf haben.

          Der letzte gültige Eingangswert kann aber mittlerweile völlig veraltet sein. Wenn der max-Wert einige Male überschritten wird, ist der Meßwert auch kein Ausreißer mehr.

          Es könnte sein, daß das ungefilterte Signal zuerst recht klein ist und dann aber längere Zeit groß - größer als das Limit. Dann würde der Filter ständig das kleine Signal als Eingangswert weiter verwenden. Das wäre völlig falsch.

          Beim Clipping würde stattdessen das obere Limit als Eingang verwendet. Ähnlich wie das eine Klemmdiode, Z-Diode o.ä. in einer Analogschaltung machen würde.
          Bei einem kurzen Peak würde damit dessen Einfluß zumindest begrenzt. Bleibt der reale Eingangswert längere Zeit über dem Limit wäre der Filterausgang aber nicht so falsch wie beim Festhalten am letzten gültigen Wert.

          Aber wie gesagt, durch ein solches Vrhalten bekommt man ein nichtineares Verhalten.

          Was wird verwendet, wenn man keinen max oder min Wert eingibt?

          Ben1983B 1 Reply Last reply
          0
          • K Offline
            K Offline
            klassisch
            Most Active
            wrote on last edited by
            #49

            Hier sieht man die Wirksamkeit des TP1-Filters über einen längeren Zeitraum:
            fc0ce26d-2773-4f03-8a31-fb1000cb5954-grafik.png

            Ben1983B 1 Reply Last reply
            0
            • K klassisch

              Hier sieht man die Wirksamkeit des TP1-Filters über einen längeren Zeitraum:
              fc0ce26d-2773-4f03-8a31-fb1000cb5954-grafik.png

              Ben1983B Offline
              Ben1983B Offline
              Ben1983
              wrote on last edited by
              #50

              @klassisch sieht doch gut aus

              K 1 Reply Last reply
              0
              • K klassisch

                @ben1983 sagte in Test Adapter Tiefpassfilter:

                @klassisch Also ich weiß ehrlich gesagt mit "clipping" nichts an zu fangen :-D

                clipping = Amplitudenbegrenzung bzw. Magnitudenbegrnzung. Dabei würde mit dem maximal gültigen Wert weiter gerechnet, wenn der aktuelle Wert größer als dieser ist.
                Also so eine Art Begrenzung des Signals wie z.B. durch eine Z-Diode.

                Der Filter rechnet aktuell mit dem letzten gültigen Wert weiter.
                Somit könnte man tiefe und hohe werte (Durch bspw. Einstreuungen oder sonstiges komplett ignorieren und man würde mit kurzen Ausreißern keine Beeinflussung auf den Verlauf haben.

                Der letzte gültige Eingangswert kann aber mittlerweile völlig veraltet sein. Wenn der max-Wert einige Male überschritten wird, ist der Meßwert auch kein Ausreißer mehr.

                Es könnte sein, daß das ungefilterte Signal zuerst recht klein ist und dann aber längere Zeit groß - größer als das Limit. Dann würde der Filter ständig das kleine Signal als Eingangswert weiter verwenden. Das wäre völlig falsch.

                Beim Clipping würde stattdessen das obere Limit als Eingang verwendet. Ähnlich wie das eine Klemmdiode, Z-Diode o.ä. in einer Analogschaltung machen würde.
                Bei einem kurzen Peak würde damit dessen Einfluß zumindest begrenzt. Bleibt der reale Eingangswert längere Zeit über dem Limit wäre der Filterausgang aber nicht so falsch wie beim Festhalten am letzten gültigen Wert.

                Aber wie gesagt, durch ein solches Vrhalten bekommt man ein nichtineares Verhalten.

                Was wird verwendet, wenn man keinen max oder min Wert eingibt?

                Ben1983B Offline
                Ben1983B Offline
                Ben1983
                wrote on last edited by
                #51

                @klassisch Also würdest Du ein Begrenzen, anstatt eines Ignorieren bevorzugen?

                K 1 Reply Last reply
                0
                • Ben1983B Ben1983

                  @klassisch sieht doch gut aus

                  K Offline
                  K Offline
                  klassisch
                  Most Active
                  wrote on last edited by
                  #52

                  @ben1983 sagte in Test Adapter Tiefpassfilter:

                  @klassisch sieht doch gut aus

                  Ja, man kann schön sehen, was so ein TP1 macht.

                  1 Reply Last reply
                  0
                  • Ben1983B Ben1983

                    @klassisch Also würdest Du ein Begrenzen, anstatt eines Ignorieren bevorzugen?

                    K Offline
                    K Offline
                    klassisch
                    Most Active
                    wrote on last edited by
                    #53

                    @ben1983 sagte in Test Adapter Tiefpassfilter:

                    @klassisch Also würdest Du ein Begrenzen, anstatt eines Ignorieren bevorzugen?

                    Für mich war das Ausblenden der null Werte das Wichtigste. Vielen Dank dafür!

                    Wenn eine Min/Max Begrenzung zu implementieren ist, dann würde ich eher das Clipping - also die Amplitudenbegrenzung - bevorzugen. Aus den o.g. Gründen.

                    Ben1983B 2 Replies Last reply
                    0
                    • K klassisch

                      @ben1983 sagte in Test Adapter Tiefpassfilter:

                      @klassisch Also würdest Du ein Begrenzen, anstatt eines Ignorieren bevorzugen?

                      Für mich war das Ausblenden der null Werte das Wichtigste. Vielen Dank dafür!

                      Wenn eine Min/Max Begrenzung zu implementieren ist, dann würde ich eher das Clipping - also die Amplitudenbegrenzung - bevorzugen. Aus den o.g. Gründen.

                      Ben1983B Offline
                      Ben1983B Offline
                      Ben1983
                      wrote on last edited by
                      #54

                      @klassisch schaue ich mir an

                      1 Reply Last reply
                      0
                      • K klassisch

                        @ben1983 sagte in Test Adapter Tiefpassfilter:

                        @klassisch Also würdest Du ein Begrenzen, anstatt eines Ignorieren bevorzugen?

                        Für mich war das Ausblenden der null Werte das Wichtigste. Vielen Dank dafür!

                        Wenn eine Min/Max Begrenzung zu implementieren ist, dann würde ich eher das Clipping - also die Amplitudenbegrenzung - bevorzugen. Aus den o.g. Gründen.

                        Ben1983B Offline
                        Ben1983B Offline
                        Ben1983
                        wrote on last edited by
                        #55

                        @klassisch habe es geändert.
                        Kannst Du gerne mal testen ;-)

                        K 1 Reply Last reply
                        0
                        • Ben1983B Ben1983

                          @klassisch habe es geändert.
                          Kannst Du gerne mal testen ;-)

                          K Offline
                          K Offline
                          klassisch
                          Most Active
                          wrote on last edited by
                          #56

                          @ben1983 vielen Dank!
                          Funktioniert:
                          iobroker + iobroker.lowpass-filter@1.6.5

                          4d3aba79-00fa-4987-9e07-6eabffb34423-grafik.png

                          3abfd067-008b-4d43-955b-05f60e23cbfc-grafik.png

                          1 Reply Last reply
                          0
                          • Ben1983B Offline
                            Ben1983B Offline
                            Ben1983
                            wrote on last edited by
                            #57

                            @klassisch Top, danke für den Input.
                            Hatte den usecase gar nicht auf dem Schirm

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              klassisch
                              Most Active
                              wrote on last edited by klassisch
                              #58

                              Hier nochmals in der für eine Skriptverarbeitung oder Ablesung praxisnäheren Sufendarstellung. Die Liniendarstellung interpoliert ja nachträglich, a posteriori, wenn man so will.
                              Die Stufendarstellung zeigt die Werte, die während der Laufzeit auch tatsächlich zur Verfügung stehen.
                              e36eb776-298f-4c56-a446-a352a7088fdf-grafik.png

                              Man sieht auch deutlich, daß der TP-Filter aufgrund seiner Zeitbasis zusätzliche Zwischenwerte erzeugt und damit allerdings auch das Datenaufkommen erhöht.

                              1 Reply Last reply
                              0
                              • K Offline
                                K Offline
                                klassisch
                                Most Active
                                wrote on last edited by
                                #59

                                Hier noch der Vergleich zwischen Smartmeter-Messungen (ca. 1 Sekunde), einem TP1 mit 10 Sekunden (in Bild 2 mit 20 Sekunden) und einem Mittelwertbildner von 15 Sekunden Mittelwert. Kein gleitender Mittelwert, sondern ein Mittelwert über 15 Werte um das Datenaufkommen zu reduzieren

                                Bild 1 T= 10 Sekunden
                                ioBroker-smartmeter-vs-TP1_10sec--vs-avg-20220414.JPG

                                Bild 2 Mit T=20 Sekunden:
                                ioBroker-smartmeter-vs-TP1_20sec--vs-avg-20220414.JPG

                                Eine seltsame Sache ist dabei aufgetreten: Der Ausgang des TP1 läßt sich mit History nicht aufzeichnen. History bestätigt die Aufzeichnung, legt eine Datei mit wenigen Einträgen an und stoppt dann ohne Fehlermeldung
                                Eine Aufzeichnung mit einer MariaDB über SQL Adapter funktioniert. Sehr seltsam.

                                Und noch eine andere Frage: Hast schonmal gestetet 2 TP1 hintereinander zu schalten? Man hätte dann einen entkoppelten TP2.

                                1 Reply Last reply
                                0
                                • Ben1983B Offline
                                  Ben1983B Offline
                                  Ben1983
                                  wrote on last edited by
                                  #60

                                  @klassisch das kannst Du machen.
                                  Du kannst den erzeugten State wieder in der custom config „abonnieren“

                                  1 Reply Last reply
                                  0
                                  • C Offline
                                    C Offline
                                    CKassiopaia
                                    wrote on last edited by
                                    #61

                                    Guten Morgen,

                                    darf ich zu dem Tiefpassfilter einen Wunsch äußern? :-)
                                    Ich nutze den Filter tatsächlich für einige Werte... insbesondere um auch die Nachkommastellen zu eliminieren.

                                    Aber ich hätte gerne größere Filterzeiten. Kannst du Filterzeiten bis z.B. 5 Stunden oder noch flexibler vorsehen?

                                    Vielen Dank!

                                    K 1 Reply Last reply
                                    0
                                    • C CKassiopaia

                                      Guten Morgen,

                                      darf ich zu dem Tiefpassfilter einen Wunsch äußern? :-)
                                      Ich nutze den Filter tatsächlich für einige Werte... insbesondere um auch die Nachkommastellen zu eliminieren.

                                      Aber ich hätte gerne größere Filterzeiten. Kannst du Filterzeiten bis z.B. 5 Stunden oder noch flexibler vorsehen?

                                      Vielen Dank!

                                      K Offline
                                      K Offline
                                      klassisch
                                      Most Active
                                      wrote on last edited by
                                      #62

                                      @ckassiopaia Durch Hintereinanderschaltung (Also die Daten des Output als Inputdaten eines zweiten Filters nutzen) zweier TP-Filter kann man ein Filter 2. Ordnung generieren. Vielleicht hilft das schon ein wenig?

                                      C 1 Reply Last reply
                                      0
                                      • K klassisch

                                        @ckassiopaia Durch Hintereinanderschaltung (Also die Daten des Output als Inputdaten eines zweiten Filters nutzen) zweier TP-Filter kann man ein Filter 2. Ordnung generieren. Vielleicht hilft das schon ein wenig?

                                        C Offline
                                        C Offline
                                        CKassiopaia
                                        wrote on last edited by
                                        #63

                                        Danke @klassisch für den Hinweis... das hilft mir in diesem Fall leider auch nicht, auch wenn der Filter 2. Ordnung für einige Zwecke sehr hilfreich sein kann...

                                        Vielleicht wäre das ja auch was für den Adapter, noch einen Filter 2. Ordnund aufzunehmen?

                                        @ben1983 Ist das hier eigentlich der richtige Platz für "Wünsche"?

                                        Ben1983B 1 Reply Last reply
                                        0
                                        • C CKassiopaia

                                          Danke @klassisch für den Hinweis... das hilft mir in diesem Fall leider auch nicht, auch wenn der Filter 2. Ordnung für einige Zwecke sehr hilfreich sein kann...

                                          Vielleicht wäre das ja auch was für den Adapter, noch einen Filter 2. Ordnund aufzunehmen?

                                          @ben1983 Ist das hier eigentlich der richtige Platz für "Wünsche"?

                                          Ben1983B Offline
                                          Ben1983B Offline
                                          Ben1983
                                          wrote on last edited by Ben1983
                                          #64

                                          @ckassiopaia Hi.
                                          Sorry, war die letzten Tage nicht hier online.
                                          Das hintereinanderschalten von 2 Tiefpassen 1. Ordnung eingibt keinen Tiefpass 2. Ordnung, denn:
                                          PT1 Glied:
                                          dd95dbd7-f54a-4903-9d2a-f9e3411611c4-image.png

                                          PT2 Glied:
                                          1452293a-60c9-4fe8-b4e5-e47d7c624851-image.png

                                          Durch das Hintereinanderschalten der PT1 Glieder erreichst Du genau das von Dir geforderte.
                                          Einfach ein 60min PT1 Glied 3 mal verwenden.
                                          Alternativ kannst Du es mal versuchen zu "Hacken".
                                          Gehe einfach über den Bearbeiten Stift in das zu filternde Objekt und trage hier bei der Filterzeit 10800 ein.
                                          Das sind die ms die gefiltert werden.

                                          599f2b26-5c7b-4193-b03a-7db7495cbf85-image.png

                                          in der Konfig wird es dann jedoch nicht mehr richtig angezeigt, aber sollte gehen.
                                          0de59e67-e7ae-4ad8-b322-9df1bbb23e52-image.png

                                          C 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          587

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe