LabVIEWForum.de
Fourier Analyse - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: Sonstiges (/Forum-Sonstiges)
+--- Forum: Messtechnik (/Forum-Messtechnik)
+--- Thema: Fourier Analyse (/Thread-Fourier-Analyse)



Fourier Analyse - aline - 24.04.2009 08:24

Hallo Zusammen,
Ich sitzte gerade an meiner Diplomarbeit vor folgendem Problem:

mir liegen die Werte einer Messung in Excel vor. Betrachtet man die Grafik, so erkennnt man, dass die Kurve zyklisch schwankt.

Ich würden jetzt gerne eine Fourieranalyse der Messwerte durchführen, sodass ich die Harmonischen der Messwerte als Frequenzspektrum in Excel darstellen könnte.

Hat jemand mal schon eine DFT in Excel programmiert, und kann mir da weiterhelfen? Hab sowas noch nie gemacht. Vielleicht hat jemand dazu einen Tip/Beispielcode.
Bin für jede Hilfe dankbar.


Fourier Analyse - Y-P - 24.04.2009 08:36

Vielleicht hilft Dir das.... (ist glaub' auch hier aus dem Forum)

[attachment=17984]
Lv82_img

Gruß Markus


Fourier Analyse - jg - 24.04.2009 08:45

@aline: Du weisst schon, dass du hier im LabVIEW-Forum bist? Also, wenn du fragst, wie eine FFT/DFT mit LabVIEW geht, siehe Bsp. von Markus. Aber wie und wieso man dies in Excel machen soll/will, kA.

@Y-P: Ob das wirklich weiterhilft? Es wird doch explizit nach DFT in Excel gefragt.

Gruß, Jens


Fourier Analyse - ImExPorty - 24.04.2009 08:58

Hallo aline
machen kann man alles:
Google
ob das Spaß macht wenn man LV hat ....


Fourier Analyse - RoLe - 24.04.2009 10:18

... was auch noch geht: (und dann bist du im richtigen Forum Wink)

- erstellen einer LabVIEW-DLL (die die DFT macht) und rufst diese von VB/VBA auf.
Habe ich noch nie gemacht, sollte aber gehen.

Hier ein etwas älterer Link, ev gibts das noch für akzuelle Versionen:
Calling a DLL from Microsoft Visual Basic That Was Generated By LabVIEW 6i


Fourier Analyse - chrissyPu - 24.04.2009 10:18

Hi,

Excel hat unter den Analysis-Addons eine FFT. Das ist keine DFT, aber immerhin etwas...Wink

Hab da mal was programmiert, da die Funktion tatsächlich nur den Transformation-Kern enthält, nichts von dem Zeug drumrum, dass man auch irgendwie braucht... Allerdings kann Excel (zumindest in der 2003-Version, wo ich das gemacht habe) nur 4096 Samples. Könnte zu wenig sein, LabVIEW ist da schon netter...

ch
[attachment=17989]


Fourier Analyse - aline - 27.04.2009 12:07

Hallo ChrissyPu,

Eigentlich habe ich von LabVIEW angefangen. Die Messdaten kriege ich von LB, die in Excel weiter übertragen werden …

Könntest du mir vielleicht kurz dein Programm erklären?

Ausgang FFT – ist das meine Amplituden von der Grung- bzw. Oberwellen?
Phase (°) – Frequenzen von der Grung- bzw. Oberwellen?
Und das ist eine VBA-Routine, die die Interpolation des Datensatzes auf die nächste 2-er Potenz besorgt um dann die in Excel vorhandene Analysefunktion FFT zu benutzen?

Select Case Samples
Case Is = 512
Set FFTInput = Range("E2:E513")
Case Is = 1024
Set FFTInput = Range("E2:E1025")
Case Is = 2048
Set FFTInput = Range("E2:E2049")
Case Is = 4096
Set FFTInput = Range("E2:E4097")
Case Is = 8192
Set FFTInput = Range("E2:E8193")
End Select


Ich verstehe ehrlich gesagt nichts so viel, ich habe in VBA noch nicht programmiert.
Danke im Voraus.


Fourier Analyse - jg - 27.04.2009 19:27

' schrieb:Eigentlich habe ich von LabVIEW angefangen. Die Messdaten kriege ich von LB, die in Excel weiter übertragen werden …
Und wieso dann FFT in Excel und nicht in LabVIEW??Hmm


Fourier Analyse - chrissyPu - 28.04.2009 08:48

Hallo Aline,

Zitat:Eigentlich habe ich von LabVIEW angefangen. Die Messdaten kriege ich von LB, die in Excel weiter übertragen werden …
Nein. Du hast explizit nach einer DFT in Excel gefragt. Wenn Du nicht in Excel rechnen willst, würde ich dir wirklich die LabVIEW-Sachen empfehlen - das ist einfacher, vor allem, wenn man vielleicht nicht so der Signalverarbeitungs-Crack ist...

Zur Erklärung jetzt vielleicht doch der eMail-Stil:
> Ausgang FFT – ist das meine Amplituden von der Grung- bzw. Oberwellen?
> Phase (°) – Frequenzen von der Grung- bzw. Oberwellen?
Eine FFT hat als Ausgang drei Größen, einmal die Mittenfrequenz des Bandes, auf die sich die nächsten beiden Größen beziehen (und die man aus der Samplelänge und der Abtastrate auch ohne irgendeinen Fourier-Algorithmus berechnen kann) und für jede dieser Mittenfrequenzen dann einen Amplitudenbetrag sowie eine Phasenverschiebung. Wenn du mit den beiden Begriffen nichts anfangen kannst, würde ich Dir wirklich ans Herz legen, dir mal einen Schnellkurs in Signalverarbeitung oder zumindest in Komplexen Zahlen reinzuziehen - in ein paar Sätzen kann ich das nicht erklären...

>Und das ist eine VBA-Routine, die die Interpolation des Datensatzes auf die nächste 2-er Potenz besorgt um dann die in Excel vorhandene >Analysefunktion FFT zu benutzen?
FFT funktioniert nur mit Samplezahlen, die 2^N entsprechen, da das erste F der FFT (Fast Fourier Transformation) darauf basiert, dass Symmetrieeigentschaften der Transformationa usgenutzt werden. Das hab ich da irgendwie implementiert. Der folgende von Dir zitierte Code macht das streng genommen nicht, sondern selektiert nur anhand der Anzahl der Samplewerte die jeweiligen Eingangsgrößen.

Code:
Select Case Samples
Case Is = 512
Set FFTInput = Range("E2:E513")
Case Is = 1024
Set FFTInput = Range("E2:E1025")
Case Is = 2048
Set FFTInput = Range("E2:E2049")
Case Is = 4096
Set FFTInput = Range("E2:E4097")
Case Is = 8192
Set FFTInput = Range("E2:E8193")
End Select

Grüße,

ch