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