INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Amplituden im Amplitudenspektrum



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.03.2010, 20:34
Beitrag #1

Adamais Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Mar 2006

LV 8.2
2006
kA


Deutschland
Amplituden im Amplitudenspektrum
Hallo!

Ich führe Rauschmessungen durch und möchte dazu mit LabVIEW ein möglichst genaues Amplitudenspektrum aus einer aufgenommenen Zeitreihe berechnen.
Um das Programm zu überprüfen, habe ich eine Zeitreihe (mit N samples und dt als schrittweite für die Zeit)

y = A * Sin(w * t)

erzeugt und lasse die durch die LV-FFT-Routine laufen und erhalte F(y). Dann multipliziere ich das Array F(y) mit seinem konjugiert komplexen, multipliziere mit dt / n^2 und ziehe aus dem so erhaltenen Array die Wurzel. Jetzt hat leider die Amplitude, die ich bei der korrekten Frequenz w bekomme nicht wirklich etwas mit A zu tun. Das vorgefertigte VI "Amplitude and Phase Spectrum VI" macht es (nach einer Multiplikation mit Sqrt(2)) zwar
etwas besser, aber immer noch mit einem Fehler von ca. 5 % in der Amplitude. Da hätte ich irgendwie etwas besseres erwartet...

Ein Test des Parseval-Theorems hat gezeit, dass die Energie im Signal vor und nach der FFT das gleiche ist. Daher wird die FFT bei LV nicht komisch normiert oder so...

Ich stehe vor einem Rätsel. Weiß jemand den Fehler? Hat irgendjemand von Euch (ähnliche) Erfahrungen mit der FFT bei LV?

Danke schonmal für Eure Hilfe!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.03.2010, 21:15
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Amplituden im Amplitudenspektrum
Kannst du dein VI hochladen? Damit man nicht alles (mglw. sogar falsch) nachprogrammieren muss, um dein Problem genauer zu analysieren.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2010, 08:57 (Dieser Beitrag wurde zuletzt bearbeitet: 09.03.2010 11:07 von Lucki.)
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Amplituden im Amplitudenspektrum
Wahrscheinlich hast Du das normale Fourier-VI benutzt. Das ist für praktische Zwecke so gut wie unbrauchbar. Man hat dort, was rein mathematisch richtig, aber physikalisch unsinnig ist, auch Amplitudenkomponenten bei negativen Frequenzen. Da es aber in LV keine Arrays mit negativen Indizees gibt, werden diese Frequenzen im Array hilfsweise in einem Bereich oberhalb der Nyquist-Frequenz abgebildet. Das ist alles recht unübersichtlich. Der Sinn diese Vis ist in erster Hinsicht, intern als Basis-SubVI in den nachfolgend von mir empfohlenen VIs verwendet zu werden.

Die Fourierfunktionen unter Signalverarbeitung/Signalverlaufsmessungen sind unendlich viel komfortabler, ich benutze grundsätzlich nur diese. Die kleine Mühe, einen 1D-Zeitverlauf gegebenenfalls in eine Waveform konvertieren zu müssen, lohnt sich auf jeden Fall. Man erhält mit diesen VIs genau die Ergebnisse wie man sie erwartet.
Beispiel:
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2010, 19:04 (Dieser Beitrag wurde zuletzt bearbeitet: 09.03.2010 19:06 von Adamais.)
Beitrag #4

Adamais Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Mar 2006

LV 8.2
2006
kA


Deutschland
Amplituden im Amplitudenspektrum
Hallo nochmal!

Ich habe ein bischen an der Normierung gearbeitet, so dass jetzt das ganze etwas besser aussieht, aber ich habe immer noch einen "Fehler" von 5-10%. Ich weiß, dass da nie die
reingesteckte Amplitude rauskommen wird, da sich die spektrale Leistung auf mehrere Frequenzbins verteilt. Aber mit einer Zahl von
10^6 Stützstellen hätte ich einfach ein näheres Ergebnis erwartet.

Das VI aus der Signalverarbeitung habe ich auch mal getestet, das liefert ähnliche Werte und
im Hintergrund werden die gleichen VI's benutzt und die Daten auch auf ähnliche Weise bearbeitet, wie ich das gemacht habe.
Vielleicht muss ich mich einfach mit dem bisherigen Ergebnis zufrieden geben. Ich werde mal morgen einen Vergleich mit TurboLab (das ist bisher bei unserem Institut
das Programm der Wahl) machen... mal sehen welches Programm das besser macht.

Das angehängte VI ist leider kein Minimalbeispiel und enthält noch verschiedene (überflüssige) Experimente und Tests wie das Parseval-Theorem. Ich hoffe
es ist trotzdem verständlich...

Meine LV-Version ist LV 2009 (bzw. 9), aber es werden nur ganz normale VI's benutzt.


Angehängte Datei(en)
Sonstige .vi  verify_amp_spectrum_2.vi (Größe: 49,83 KB / Downloads: 277)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  2D FFT ergibt gleiches Ergebnis wie 1D Amplituden und Phasen.Vi ?! mazell 0 2.784 22.11.2012 09:53
Letzter Beitrag: mazell
  DAQmx lesen -> Amplitudenspektrum einerohneahnung 0 3.002 26.09.2011 11:59
Letzter Beitrag: einerohneahnung
  Amplitudenspektrum mit untersch. Samples HermannPrechtl 8 6.088 14.09.2011 08:59
Letzter Beitrag: HermannPrechtl
  IFFT aus Amplituden und Phasen Lito 3 4.951 08.09.2011 07:05
Letzter Beitrag: Y-P
  Amplituden bestimmen Stefan.Unterkircher 1 4.881 29.09.2005 13:49
Letzter Beitrag: Skob

Gehe zu: