Forum: Digitale Signalverarbeitung / DSP / Machine Learning FFT bis wohin brauchbar?


von Egon (Gast)


Lesenswert?

Guten Sonntag!

Wenn ich, sagen wir mal, eine FFT aus 2^14 Punkten berechnen lasse, 
kriege ich 2^13 Frequenzen raus. Wenn mich die Phase dieser Frequenzen 
interessiert kann ich sie über arctan(Im(f(n)))/Re(f(n))) berechnen.
Je höher ich aber auf der Frequenzachse gehe, desto weniger Abtastwerte 
pro Periode sind im meinem Signal und desto ungenauer ist die 
Phaseninformation. Frage: Wie kann ich die Frequenz berechnen, bei der 
der Fehler in meiner errechneten Phasen maximal 2.8*10^(-5) (das ist 1° 
Abweichung) ist?

Egon

von Detlef _. (detlef_a)


Lesenswert?

>>Je höher ich aber auf der Frequenzachse gehe, desto weniger Abtastwerte
pro Periode sind im meinem Signal und desto ungenauer ist die
Phaseninformation.<<

Nein, eine FFT verteilt den weißen noisefloor eines Zeitsignals 
gleichmäßig auf alle Frequenzen, das ist das Wesen eines weißen 
Rauschens. "der Fehler in [Deinen] errechneten Phasen" ist für alle 
Frequenzen gleich und nur abhängig vom Eingangsrauschen.

gute Nacht
Detlef

von Egon (Gast)


Lesenswert?

Hallo Detlef,

danke für die Antwort, aber das meinte ich nicht.
Angenommen ich mache eine Messperiode mit 16384 Samples von einem 
Signal, dass eine Frequenz von 4096 (relativ zur Samplefrequenz) hat.
(Ich gehe erstmal von rauschfreien Signalen aus, weil ich die digital 
erzeugen kann)
Dann besteht eine Periode aus 4 Abtastwerten. Das ist recht wenig, 
entsprechend wird bei einer Verschiebung des Signals die errechnete 
Phase einen relativ großen Fehler haben.
Worauf ich hinaus will: Wieviele Abtastwerte pro Periode muss ich haben, 
damit ich die Phase auf 1° genau bestimmen kann?
Das Rauschen lassen wir mal weg, ich möchte es für ideale (errechnete) 
Signale bestimmen können, um später unterscheiden können, wieviel Fehler 
aus der FFT kommt und wieviel die Messschaltung beiträgt.

Egon

von Grrrr (Gast)


Lesenswert?

Egon schrieb:
> Je höher ich aber auf der Frequenzachse gehe, desto weniger Abtastwerte
> pro Periode sind im meinem Signal und desto ungenauer ist die
> Phaseninformation.

Dieser Satz ist zu allgemein formuliert. Die Frequenz- und 
Phaseninformation ist, dem Nyquist-Shannon-Theorem entsprechend, für 
Abtastfrequenzen
 und Signalfrequenzen
 unter der Bedingung
 vollständig.

Darüber hinaus hängt die Genauigkeit des rekonstruierten Signals zwar 
von der Genauigkeit der Abtastwerte ab, aber nicht von der 
Abtastfrequenz, selbst sofern das Nyquist-Kriterium eingehalten ist.

In Deiner Fragestellung beziehst Du Dich nur auf das Verhältnis von 
Signal- und Abtastfrequenz. Ist das ein Missverständnis? Falls nicht, 
ist das obige die Antwort.

von Egon (Gast)


Lesenswert?

So dass heißen, dass ich auch dann die Phase einer Sin-Schwingung genau 
erfassen kann, wenn die Frequenz knapp unter der halben Abtastfrequenz 
ist?
Obwohl möglicherweise die Spitze und der Nulldurchgang nie getroffen 
wird?

von Detlef _. (detlef_a)


Lesenswert?

>>So dass heißen, dass ich auch dann die Phase einer Sin-Schwingung genau
erfassen kann, wenn die Frequenz knapp unter der halben Abtastfrequenz
ist?<<

So ist es, ich hatte Dich schon verstanden, denke ich. Die Genauigkeit 
hängt nur von dem SNR Deines Zeitsignals ab, die FFT macht Dir daran 
nichts mehr schlecher (abgesehen von dem Rauschen, das Du Dir mit der 
Numerik einhandelst, das könnte man aber auch als Zusatzrauschen des 
Eingangssignals verstehen).

Du muß allerdings Nyquist einhalten, falls Du das nicht tust spiegeln 
die hohen Frequenzen zurück und versauen Dir Deine Phase/Amplitude. Das 
analoge Filter, das die Frequenzen größer Nyquist wegfiltert, braucht 
ein roll-off band, deswegen ist es nicht so gut, sich Nyquist zu nähern.

Das ganze kannst Du aber auch sehr gut mit Matlab/Scilab/Octave 
evaluieren: einfach mal Sinusse verrauschen/transformieren..

Cheers
Detlef

von Grrrr (Gast)


Lesenswert?

Egon schrieb:
> So dass heißen, dass ich auch dann die Phase einer Sin-Schwingung genau
> erfassen kann, wenn die Frequenz knapp unter der halben Abtastfrequenz
> ist?
> Obwohl möglicherweise die Spitze und der Nulldurchgang nie getroffen
> wird?

Ja richtig.
Es gibt bei gegebener Frequenz (durch den Index in der FFT gegeben) und 
Amplitude (durch den Betrag der FFT gegeben) nur eine einzige Phasenlage 
welche einen gewissen Satz von Abtastwerten ergibt. Die Anzahl der 
Abtastwerte spielt dabei keine Rolle solange das Nyquist-Kriterium 
erfüllt ist.

Im Gegenteil ist es so, dass es, falls Du genau die Nulldurchgänge und 
nur diese triffst, mehrere Frequenzen gibt, welche diese Abtastwerte 
haben, bzw. noch eine weitere Phasenlage (nämlich +- 180°). (Siehe 
Stichwort "Unterabtastung")

von Egon (Gast)


Lesenswert?

Das ist gut! Vielen Dank euch beiden für die Erklärungen!

von Michael L. (Gast)


Lesenswert?

Hallo Egon,

> So dass heißen, dass ich auch dann die Phase einer Sin-Schwingung genau
> erfassen kann, wenn die Frequenz knapp unter der halben Abtastfrequenz
> ist?
> Obwohl möglicherweise die Spitze und der Nulldurchgang nie getroffen
> wird?
die Antwort lautet: ja, aber.

Die Bedingung dafür, daß Du ein analoges Signal durch Abtastung komplett 
rekonstruieren kannst, hat eine schwerwiegende Bedingung: Denn in die 
Rekonstruktionsformel (Suchbegriff: Samplingreihe) gehen Abtastwerte von 
der gesamten Zeitachse (von t=-oo ... +oo) ein. Du mußt also nicht nur 
die Signalvergangenheit, sondern auch dessen gesamte Zukunft kennen:

Das steckt letztlich hinter der Forderung, daß ein "bandbegrenztes" 
Signal vorliegt: nämlich ein unendlich langes Signal! An dem 1/x-Term in 
si=sin(x)/x erkennst Du, daß ein Abtastwert umso weniger relevant ist, 
je weiter er in der Signalvergangenheit bzw. -zukunft liegt.

Die Samplingreihe straft jene Leute Lügen, die annehmen, man könne die 
Abtastwerte bei einer Messung immer durch eine möglichst glatte Kurve 
verbinden.

Gruß,
  Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.