Verzögerungsglied - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Verzögerungsglied (/Thread-Verzoegerungsglied) |
Verzögerungsglied - sneube - 11.04.2006 13:50 Hallo, für eine Temperaturmessung benötige ich ein Verzögerungslied, damit evtl kurzfristige Temperaturschwankungen nicht so sehr ins Gewicht fallen. Ich stelle mir das so vor: Der aktuelle Temperaturwert wird mit 5% gewichtet und immer zum vorherigen Wert, der mit 95% gewichtet ist, dazuaddiert. Zum Testen habe ich einen Zufallsgenerator verwendet. Schon mal danke im Voraus Stefan Verzögerungsglied - Bigborre - 11.04.2006 14:19 Wie oft werden denn die temperaturen abgefragt, die aufteilung in 5 und 95 % ist ja praktisch kein Problem. wie lange soll dieVerzögerung dauern? Verzögerungsglied - sneube - 11.04.2006 14:37 Hallo, Die Temperaturwerte sollen nach jedem Schleifendurchlauf abgefragt und aktualisiert werden. Grüße Stefan Verzögerungsglied - Bigborre - 11.04.2006 15:00 Und wo willst du das Verzögerungsglied einbauen? wie lange? mit den 5 % und 95 in jeder Schlefe kann man realisieren, wieviel Verzögerungszeit hast du in deinen Schleifen ? denn jede ms abzufragen wäre bei der Temperatur sinnlos... Verzögerungsglied - Lucki - 11.04.2006 16:40 Ich finde, daß hier das Problem klar formuliert ist, man braucht keine weiteren Rückfragen für die Lösung. In der Analog-Technik würde man sagen, es läuft auf den Einbau eine RC-Tiefpassgliedes mit der Zeitkonstante des 20fachen Sample-Intervalls hinaus. (die 20 Samples ergeben sich aus Deiner Vorgabe 5% Neugewichtung, 1 / 5% = 20 In der Digitaltechnk sagt man zu so einem Glied "FIR-Tiefpassfiiölter 1. Ordnung". Die Vergangenheit wird hier natürlich nie vergessen, genausowenig wie bei einem RC-Glied, aber näherungsweisw kann man sagen, daß die Mittelwert-Zeit gleich der Zeitkonstante ist, also hier 20 sample-Intervalls. (1/5% = 20) Du willst die Filterung sicherlich online machen, deshalb brauchst Du einen P2P-Filter (Point to Point) Also- ich habe Dir einen gemacht, hofftentlich ist es als 7.1 abgespeichert. Dazu ein Demoprogramm, daß sich an dein Programm anlehnt Verzögerungsglied - sneube - 12.04.2006 07:44 Hallo Lucki, danke für deinen Tiefpass. Es funktioniert so, wie ich es mir vorgestellt habe. In der nächsten Zeit werde ich ein bisschen mit der Zeitkonstanten rumspielen, damit ich den idealen Wert für eine Temperaturmessung finde. Ich gehe ja nicht davon aus, dass die Raumtemperatur bei der Messung stark schwankt. Du hast geschrieben, dass die Mittelwert Zeit gleich der Zeitkonstanten ist. Ich würde in diesem Fall nicht von einem Mittelwert sprechen, da die Lösung ja ein Ausgang eines Verzögerungsliedes ist. Grüße Stefan Verzögerungsglied - Lucki - 12.04.2006 10:28 Freut mich, daß ich helfen konnte. Bei einer echten Mittelwertbildung, z,B von 1 Sekunde, werden alle Samples innerhalb der letzten Sekunde gleich gewichtet, weiter zurückliegende werden überhaupt nicht mehr berücksichtigt. Hier bei so einem Tiefpass wir hier nimmt die Gewichtung vergangener Werte stetig nach eine Exponantialfunktion ab. Werte, die so weit zurückliegen wie die "Zeitkonstante", werden z.B. nur noch mit dem 1/e fachen des ersten Wertes gewichtet. Aber trotzdem, und so hatte ich es ja schon formuliert: als groben Anhaltpunkt für eine Vergleich der beiden Filter kann man schon sagen, daß die Zeitkonstante das RC-Filters der Mittelwertzeit eines echten Mitelwertfilters entspricht. Als "Zeitkonstante" des Filters kannst Du übrigens zwei Maßeinheiten verwenden: 1) Anzahl der Samples, wie hier im Beispiel (= Filter-Eingabewert) 2) Anzahl_der_Samples * Sample_Intervall ergibt die echte Zeitkonstante in der Maßeinheit sec. Wenn Du dafür sorgst, daß diese bei Veränderung der Rate immer konstant gehalten wird, dann ist die Zeitkonstaante unabhängig von Deiner Samplingrate. |