LabVIEWForum.de
Mittelwertbildung bei FFT-Spektren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Mittelwertbildung bei FFT-Spektren (/Thread-Mittelwertbildung-bei-FFT-Spektren)

Seiten: 1 2 3


Mittelwertbildung bei FFT-Spektren - dimitri84 - 11.11.2009 11:56

Hallo zusammen,

... werde aus der Hilfe nicht schlau ...

Es geht um diese beiden VIs
[attachment=22401]

Welche Aussage stimmt, wenn die Anzahl der Mittelwerte auf z.B. 5 steht?

1) Das VI teilt den ankommenden Signalblock in 5 Intervalle und mittelt diese Sprektren.
2) Das VI wartet bis 5 Blöcke angekommen sind und mittelt dann diese Spektren. Wenn dem so sei, was wird dann angezeigt wenn noch keine 5 Blöcke angekommen sind?

(Ich gehe stark davon aus, dass 1) stimmt. Bin mir aber unsicher)

Und gehe ich recht in der Annahme, dass wenn ich gezielt 5 Blöcke à 512 Samples gemittelt haben möchte (unabhängig von der Größe des eingehenden Signalblocks), ich das Stückeln des Signals sowie die Mittelwertbildung selbst bauen muss und es nicht mit den verfügbaren Einstellungen zu realisieren ist?


Gruß dimitri


Mittelwertbildung bei FFT-Spektren - dimitri84 - 11.11.2009 15:16

Ich habe das "manuelle" Stückeln und Mitteln jetzt umgesetzt.

[attachment=22426]

Klappt super. Nichtsdestotrotz interessiert mich wie die oben erwähnten VIs mitteln.


Gruß dimitri


Mittelwertbildung bei FFT-Spektren - dimitri84 - 13.11.2009 14:04

Ich führe hier einfach mal meinen Monolog weiter. Vielleicht hat jemand die gleiche Frage.

Aussage 1) ist falsch, denn so eine Vorgehensweise der Mittelung hätte eine Reduktion der Datenmenge und damit eine Reduktion der Auflösung des Spektrums zur Folge. Dem ist aber nicht so. Schickt man 64 Samples rein kommt ein Spektrum mit 32 Werten heraus. Wie erwartet. Hätte man (ich) auch früher drauf kommen können. Diese VIs mitteln also nur dann, wenn sie auch kontinuierlich mit Signalblöcken gefüttert werden.

So 100% bin ich aber dem Mitteln immer noch nicht auf die Spur gekommen:

folgende Konstelation: Blöcke à 64 Samples (Samplingrate 1kHz), Anzahl der Mittelwerte 5. Demnach wird das Spektrum von einem Zeitfenster von 5x64 Samples dargestellt. 320 ms sind nicht viel, demnach müsste das Spektrum auf Änderungen auch schnell reagieren können. Tut es aber nicht. Bis eine signifikante Änderung (Offset rein/raus) im Signal, ihre vollständige Wirkung im Spektrum gezeigt hat, vergehen 4-5 Sekunden.

Lv85_img
[attachment=22500]
[attachment=22501]

Ist also auch Aussage 2) falsch und die Anzahl der Mittelwerte bezieht sich garnicht auf die Anzahl der verwendeten Blöcke? Aber worauf bezieht sich diese Anzhal dann?

In der Hilfe steht: Anzahl der Mittelwerte gibt an, wie viele Mittelwerte zur RMS- und Vektor-Mittelung verwendet werden sollen. Beim Gewichtungsmodus "Exponentiell" ist die Mittelwertbildung fortlaufend. Beim Gewichtungsmodus "Linear" wird die Mittelwertbildung nach Erreichen der angegebenen Anzahl der Mittelwerte beendet.

Ich will niemand mit dem Thema nerven nur muss ich eben ganz genau wissen was ich da für ein Spektrum erhalte; bzw. welchen Teil des Signals dieses dargestellte Spektrum representiert.


Mittelwertbildung bei FFT-Spektren - Y-P - 13.11.2009 19:46

Cool. Hoffentlich gibt's irgendwann am Ende Deines Monologs 'ne Lösung, weil Bahn. Big Grin

Gruß Markus


Mittelwertbildung bei FFT-Spektren - Lucki - 13.11.2009 23:32

Kleine Vorabinformation:
Mit der Mittelwertbildung bist Du auf dem Holzweg.
1.) Bei der Mittelwertbildung handelt sich hier um den Mittelwert des Frequenzspekrums bei mehrfachem Aufruf des VIs.
Hintergrund ist die Tatsache, daß die hohen Frequnzanteile eines Frequenzspektrums häufig so schwach sind, daß sie duch das Rauschen des Originalsignals f(t) stark verfälscht werden. Mehrfache Messung des gleichen Signal und Mittelwertbildung verbessert das Signal-Rauschverhältnis.
Die Mittelwertbildung könnte entweder im Zeitverlauf erfolgen, indem der Signalverlauf f(t) mehrfach übereinandergelegt wird, oder aber es werden, wie hier geschehen, mehrere Frequenzspektren gemittelt.
2) Es handelt sich hier um eine gleitende Mittelwertbildung, D.h. es findet keine Datenredunktion statt derart, daß z.B. bei Mittelwertbildung 10 immer 10 Verläufe zu einem einzigen zusammengenfast werden. Das Ausgangssgignal der 10. Messung entspricht dem Mittelwert der Messsungen 1-10, das Ausgangssignla der 11. Messung entspricht dem Mittelwert der Messungen 2-11 usw.
Bei Gewichtung "exponentiell" handelt es sich um Glättung wie bei einem RC-Glied. Das geht einfacher und schneller, allerdings ist das ein IIR-Filter, d.h die Werte aus der Vergangenheit werden nie ganz vergessen, obwohl sie exponentiell abnehmend gewichtet sind.


Mittelwertbildung bei FFT-Spektren - dimitri84 - 14.11.2009 07:55

Zitat:Cool. Hoffentlich gibt's irgendwann am Ende Deines Monologs 'ne Lösung, weil Bahn
Genau das habe ich befürchtet und wollte es vermeiden :blush:Beim Pokern würde man sagen: "Ich hab mich hier selbst geleveled."

Also Lucki hat mir die Frage im Prinzip beantwortet. Die entscheidende Info bzw. Bestätigung für mich war: "...bei mehrfachem Aufruf des VIs."

Ich hatte einfach den Vermutung, dass wenn die Pakete, die pro VI-Aufruf reinkommen, sehr klein sind, dass dann das Spektrum auch ziemlich schnell auf Signalveränderungen reagieren müsste. Mein Eindruck, dass das Spektrum zu langsam reagiert war wohl falsch und ich hatte da zuviel reininterpretiert.

Seid bedankt für die Aufmerksamkeit.


Mittelwertbildung bei FFT-Spektren - dimitri84 - 17.11.2009 08:35

Bei mir hat sich während der Rumprobiererei in diesem Zusammenhang eine Verständnislücke offenbart. Bestimmt nur eine von vielen.

Und zwar wenn ich beim DAQmx Read VI einstelle, dass 512 Samples per Channel auf einmal gelesen werden sollen, dann dauert eine Schleifeniteration auch wie erwartet (ca.) 512ms. Wenn ich allerdings 64 Samples einstelle, dann dauert die Iteration entweder 2ms oder 100ms. Es flackert also ganz diffus entweder 'ne 2 oder ne 100 auf. Ich bin mir sicher, dass es wissenwert wäre das zu verstehen.

Edit: Samplingrate ist 1kHz offensichtlich

Beste Grüße dimitri


Mittelwertbildung bei FFT-Spektren - jg - 17.11.2009 20:51

Wie misst du denn die Zeitdauer für den Schleifendurchlauf?

64ms gewünschte Looptime bedeutet ca. 15,5 Hz beim Update des Graphen und insgesamt des FP, das ist schon sehr viel. Da hat LV einiges mit zu tun. Da kann die Looptime dann schon etwas rumschwanken.

Gruß, Jens


Mittelwertbildung bei FFT-Spektren - dimitri84 - 17.11.2009 21:05

' schrieb:Wie misst du denn die Zeitdauer für den Schleifendurchlauf?

Timer-Wert ins Schiftregister und in der nächsten Iteration dann die Differenz gebildet.

Dass die Dauer nicht ganz konstant ist habe ich erwartet. Aber wieso dauern manche Iterationen nur 2-3ms?


Mittelwertbildung bei FFT-Spektren - jg - 17.11.2009 21:28

Hatte jetzt wenigstens eine Screenshot erwartet, wo genau im Code du das mit Timer-Wert machst...

Sind wir immer noch beim Status, den du hier in Beitrag #3 hochgeladen hast? Was für FFT-Parameter verwendest du?

Bei Simulationen ohne Hardware (und ohne File-Speicherung) kann ich deine Beschreibung nicht nachvollziehen. Sobald DAQmx-Erfassung läuft, habe ich relativ stabil 65 ms Loop-Time.

Gruß, Jens