Mittelwert bilden - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Mittelwert bilden (/Thread-Mittelwert-bilden) |
Mittelwert bilden - marc85 - 02.02.2010 10:53 Hallo, ich würde gerne ein Programm zur Schwingungsanalyse schreiben. Ich habe ein Programm, welches die Schwingung misst und den FFT bildet. Würde jetzt nur gerne 10 Messungen machen, daraus den Mittelwert bilden und dann daraus den FFt bilden. Weiß jedoch nicht, wie ich das realieseren kann. Über schnelle Hilfe würde ich mich sehr freuen. Mit freunlichen Grüßen Marc Mittelwert bilden - BsaiboT - 02.02.2010 11:01 Dann lade doch mal dein Programm, dass du bisher hast hier hoch. Dann kann dir schneller und besser geholfen werden. Generell zur Mittelwertbildung: Du könntest deine Messung einfach 10 Mal in einer For-Shleife wiederholen, den Messwert in ein Schieberegister zwischenspeichern und den jeweils aktuellen Messwert aufaddieren. Nachdem du die For-Schleife wieder verlässt dividierst du den Wert aus dem Shift-register mit 10 und hast deinen Mittelwert, über dem du dann eine FFT machen kannst. Da dein Messwert vermutlich ein Array von Werten ist, musst du natürlich zellweise addieren und später durch 10 teilen. Wenn du etwas detailiertere Hife möchtest, dann solltest du dein Programm oder einen Screenshot hochladen. Mittelwert bilden - marc85 - 02.02.2010 11:07 Erstmal Danke für die schnelle Hilfe. Ich glaube du hast mir schon sehr geholfen. Habe jetzt wenigstens ein Idee, wie ich es überhaupt realisieren kann. Bin nur gerade leider nich an dem richtigem Pc und somit kann ich das Programm nicht so leicht hochladen. Habe an dem Mess-Pc kein Internet. Werde es aber gleich mla ausprobieren und versuche mich durch zu beißen. Melde mioch dann mit sicherhiet nochmal, wenn ich das nächste Problem habe. Danke Mittelwert bilden - dimitri84 - 02.02.2010 11:38 Je nach dem wie deine Messwerte vorliegen und was für ein FFT.VI du benutzt ist es komfotabler und wahrscheinlich auch besser die eingebaute Mittelwertbildungsfunktion von dem FFT.VI zu nutzen. Die kann auch z.B. verschiedene Fensterfunktionen (Hanning etc.) verwenden, die man sonst "aufwendig" selbst programmieren müsste. Man kann dann auch die Mittelwertbildungsparameter auf die Schnelle ändern und eine für sich passende Mittelung erzeugen. Außerdem (glaube ich) ist es eher Usus 10x FFT vom Signal zu rechnen und dann die FFTs zu mitteln und nicht erst das Signal mitteln und dann die FFT vom gemittelten Signal zu berechnen. Begründung habe ich jetzt grad nicht parat. ... in der Palette benutze ich gerne das FFT-Spektrum (Betrag).VI. [attachment=24105] Dabei wird pro VI-Aufruf gemittelt. Nachteil: Wenn man's nicht selber macht, lernt man weniger. Gruß dimitri Mittelwert bilden - Lucki - 02.02.2010 11:46 Wenn es um Mittelwertbildung in Zusammenhang mit FFT geht, dann hättest Du großes Glück: die Mittelwertbidung ist in den entsprechenden VIs schon mit eingebaut. Allerdings mußt Du die FFT-VIs unter Signalverlauf Analoger Signalverlauf Signalverlaufsmessungen verwenden, die auch in anderer Hinsicht am komfortabelsten sind. Edit: Dmitri war mit der gleichen Antwort schneller... Mittelwert bilden - dimitri84 - 02.02.2010 11:52 ' schrieb:Außerdem (glaube ich) ist es eher Usus 10x FFT vom Signal zu rechnen und dann die FFTs zu mitteln und nicht erst das Signal mitteln und dann die FFT vom gemittelten Signal zu berechnen. Begründung habe ich jetzt grad nicht parat. Aber Lucki, wenn du grad "hier" bist ^_^ Ist das egal ob zuerst FFT und dann mitteln oder zuerst mittel dann FFT? Mittelwert bilden - Lucki - 02.02.2010 12:26 ' schrieb:Ist das egal ob zuerst FFT und dann mitteln oder zuerst mittel dann FFT?Prinzipiell nicht, aber zuerst, d.h schon im Zeitverlauf mitteln, hat schon einen Vorteil: Dann gibt es nicht nur eine schöne FFT-Gaphik, sondern auch noch einen schönen Zeitverlauf zu besichtigen. Deshalb habe ich das immer bevorzugt. Mittelwert bilden - dimitri84 - 02.02.2010 13:50 Also ich hab' mir nochmal ein bisschen Gedanken zu dem Thema gemacht. Ein ganz simpler Punkt der noch zu nennen wäre ist, dass Variante A (erst im Zeitbereich mitteln -> dann eine FFT) einen ganz klaren Performancevorteil hat ... denn 1x Mitteln + 1 FFT ist weniger aufwendig als 10x FFT und 1x Mitteln. Aber das Ergebnis dürfte sich auch unterschieden! Klar, in der Theorie heißt es: 'Frequenzbereich und Zeitbereich sind identisch in ihrem Informationsgehalt. Praktisch hat man aber bei der FFT die "Wahl" ob man frequenzgenau (mit Wichtungsfenster) oder amplitudengenau (ohne Wichtungsfenster) sein möchte. Beides geht nicht. D.h. bei der Transformation gibt es auch immer einen gewissen Fehler oder besser gesagt Ungenauigkeit. Und da macht es sehr wohl einen Unterschied, ob 10x gefenstert wurde oder nur einmal über das gemittelte Signal. Bestimmt gibt es auch Zeitsignale bei denen zufällig das Gleiche rauskommt. Eine pauschale Aussage darüber wie sich die Spektren unterscheiden lässt sich bestimmt nicht aufstellen. Intuitiv behaupte ich, dass, wenn man im Zeitbereich mittelt, mehr Frequenzinformationen verloren gehen, als wenn man erst im Frequnezbereich mittelt. (Ohne sofort eine Begründung dafür zu haben ) Ich denke die "richtige" Rheihenfolge hängt maßgeblich vom Signal und der gesuchten/gewünschten Information ab. Mittelwert bilden - Lucki - 02.02.2010 16:20 @dimitri Perfomancevorteil: Da hast Du nur Recht, wenn Du die Mittelwertbildung mit Datenreduktion verbindest. Wenn also ein Vorgang 10 mal pro Sekunde erfasst wird und die FFT soll nur 1mal pro Sekunde dargestellt werden. dann hast Du Recht. Wenn ich aber ein gleitende Mittelwertbildung haben möchte, d.h die Darstellung soll sich auch 10 mal pro sec updaten, wobei jeder neue Wert ein Mittelwert der letzten 10 Werte ist, dann ist es egal. (beides wäre übrigens bei langen Arrays extrem aufwändig, viel einfacher ist eine IIR-Tiefpassfilterung 1. Ordnung ähnlich einem RC-Glied. Nur das wird glaube ich in den FFT-VIs gemacht) Und die FFT-VIs mit Mittelwertbildung sind auf dies gleitende Mittelwertbildung ausgerichtet. Am Ausgang kommen genau so häufig Daten heraus wie Daten hineingehen. Unterschied Mittelwerte: Da FFT eine lineare Transformation ist, sagt mir mein mathematischer Instinkt, daß die beiden Mitelwertmethoden exakt dasselbe ergeben müßten. Aber das wäre natürlich im Ernstfall noch zu beweisen. Fenstern: es stimmt nicht, das man nicht beides zugelich haben kann. Fenstern muß man überhaupt nur dann, wenn man bei einem andauernden Zeitverlauf ein Stück der Dauer T herausschneidet. Die FFT behandelt dann dieses Stück so, als sei das eine Periode eines unendlich andauernden Vorgangs. Ist es aber nicht, Anfang und Ende passen nicht zusammen, man hat dort einen Sprung, und es entstehen bei der FFT unerwünschte Spektralanteile. Um die abzumildern, wird das herausgeschnittene Stück an den Rändern weniger gewichtet als in der Mitte = Fenstern. Das Ganze entfällt natürlich, wenn es sich tatsächlich einen Periodischen Vorgang handelt. Beispiel: Anregung eines System mit einem Rechteckimpuls, der so lang ist, das das Sytem nach jeder Flanke völlig ausschwingen kann. Dann sollte und brauche ich nicht mehr zu fenstern. Mittelwert bilden - dimitri84 - 02.02.2010 16:45 ' schrieb:@dimitriIch werd's im Hinterkopf behalten. Vielleicht findet sich eine Anschauung oder ich mach' selbst eine. Würde mich sehr interessieren. Mein Kopf bestätigt deine These aber mein Bauch sagt: Nie und nimmer! (Und wenn, dann nur unter sehr theoretischen Bedingungen.) Zitat:Fenstern:Das ist mir alles bekannt und bewusst. Nur sind mir in meiner (im Vergleich zu Deiner verschwindend kurzen) Laufbahn nur Szenarien untergekommen wo ich eben aus einem kontinuierlicher Zeitsignal etwas herausgeschnitten habe. An den Fall, dass das zu untersuchende Signal tatsächlich mal periodisch sein kann habe ich garnicht gedacht. Ja, dann könnte man beides haben. Aber ich meiner Welt kleinen Medizintechnik-Welt habe ich zu 99,9% nicht periodische Signale. Gruß dimitri |