mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP FFT bis wohin brauchbar?


Autor: Egon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Egon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Egon (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Detlef _a (detlef_a)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Grrrr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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")

Autor: Egon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist gut! Vielen Dank euch beiden für die Erklärungen!

Autor: Michael Lenz (hochbett)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.