Forum: Digitale Signalverarbeitung / DSP / Machine Learning FFT und minimale Anzahl Perioden


von controllerblanc (Gast)


Lesenswert?

Hallo!

Welche ist die minimale Anzahl von Perioden, mit der die DFT/FFT etwas 
anfangen kann, also zweifelsfrei ein Spektrum mit akzeptabler 
Genauigkeit erstellen kann?

Bei einer Sinusschwingung von 15Hz bringt mir meine selbst entworfene 
MATLAB-Implementierung eines DFT-Algorithmus nach 20 Perioden eine 
Amplitude bei 1 (korrekt) und bei 14,39Hz (akzeptabel).

Die Genauigkeit der DFT ist nach meinen Beobachtungen für einen 
konstanten Zeitabschnitt, also

T = N * 1/Abtastrate = const.

unabhängig von der Abtastfrequenz, soll heißen: das Herumschrauben hat 
bei mir keine Veränderung bezüglich Genauigkeit gebracht. Was könnte mir 
helfen? Ist für eine zeitkritische Anwendung gedacht.

Gibt es eine Möglichkeit, an hinreichend genaue Informationen schon nach 
10, 5 oder gar einer Periode zu erhalten?

MfG CB

von dadada (Gast)


Lesenswert?

controllerblanc schrieb:
> ein Spektrum mit akzeptabler  Genauigkeit erstellen kann?
Definiere akzeptable Genauigkeit.

von Johannes E. (cpt_nemo)


Lesenswert?

controllerblanc schrieb:
> Gibt es eine Möglichkeit, an hinreichend genaue Informationen schon nach
> 10, 5 oder gar einer Periode zu erhalten?

Wenn du die Periodenlänge genau kennst und das Signal nicht verrauscht 
ist, dann reicht eine einzige Periode; es muss aber ganz genau eine 
Periode sein.

Wenn das Ziel allerdings ist, mit Hilfe der FFT die Frequenz zu messen, 
wenn also die Frequenz nicht bekannt ist, dann gibt es dafür andere 
Methoden, z.B. Beitrag "Genaue Frequenzbestimmung nach FFT".

von Arno (Gast)


Lesenswert?

controllerblanc schrieb:
> Die Genauigkeit der DFT ist nach meinen Beobachtungen für einen
> konstanten Zeitabschnitt, also
>
> T = N * 1/Abtastrate = const.

Statt "Genauigkeit" würde ich "Auflösung im Frequenzbereich" sagen, 
ansonsten stimme ich dir zu.

> unabhängig von der Abtastfrequenz, soll heißen: das Herumschrauben hat
> bei mir keine Veränderung bezüglich Genauigkeit gebracht.

Richtig, eine höhere Abtastfrequenz bringt dir "nur" einen größeren 
Frequenzbereich.

> Gibt es eine Möglichkeit, an hinreichend genaue Informationen schon nach
> 10, 5 oder gar einer Periode zu erhalten?

Das hängt davon ab, wie genau "hinreichend genau" ist.

Eventuell kannst du mit Zero Padding noch etwas erreichen, aber da kann 
es sein, dass das Spektrum nur anders verschmiert. Je nachdem, was du 
misst und was du erreichen willst...

MfG, Arno

von controllerblanc (Gast)


Lesenswert?

dadada schrieb:
> controllerblanc schrieb:
>> ein Spektrum mit akzeptabler  Genauigkeit erstellen kann?
> Definiere akzeptable Genauigkeit.

+/- 1Hz zum Beispiel

Johannes E. schrieb:
>
> Wenn du die Periodenlänge genau kennst und das Signal nicht verrauscht
> ist, dann reicht eine einzige Periode; es muss aber ganz genau eine
> Periode sein.
>
> Wenn das Ziel allerdings ist, mit Hilfe der FFT die Frequenz zu messen,
> wenn also die Frequenz nicht bekannt ist, dann gibt es dafür andere
> Methoden, z.B. Beitrag "Genaue Frequenzbestimmung nach FFT".

das Signal ist durchaus verrauscht. Neben der Frequenz möchte ich die 
Amplitude messen, oder was meinst du damit genau?

Arno schrieb:
>
> Eventuell kannst du mit Zero Padding noch etwas erreichen, aber da kann
> es sein, dass das Spektrum nur anders verschmiert. Je nachdem, was du
> misst und was du erreichen willst...
>

ich habe ein periodisches Signal vorliegen, welches eine relativ 
niedrige Bandbreite <50Hz hat. Innerhalb dieses (auch etwas 
verrauschten) Bandes liegt irgendwo eine deutliche Peak bei einer 
gewissen Frequenz. Diese Frequenz gilt es für mich, aus möglichst 
wenigen Perioden aus dem Signal zu extrahieren.

von Johannes E. (cpt_nemo)


Lesenswert?

controllerblanc schrieb:
> das Signal ist durchaus verrauscht. Neben der Frequenz möchte ich die
> Amplitude messen, oder was meinst du damit genau?

Wenn die Frequenz genau bekannt ist, kann man aus dem Signal genau eine 
Periode ausschneiden und davon die FFT berechnen. Das resultierende 
Spektrum besteht dann nur noch aus der Grundwelle und den Oberwellen und 
man hat theoretisch genaue Werte für die Amplitude. Allerdings nur, wenn 
kein Rauschen vorhanden ist bzw. wenn das Rauschen im interessanten 
Frequenzbereich sehr gering ist.

Wenn das Signal verrauscht ist, ergibt sich durch Messungen mehrerer 
Signal-Perioden eine Mittelung, je mehr Perioden es sind, um so genauer 
wird das Ergebnis, das Rauschen wird besser unterdrückt (Allerdings nur, 
wenn es ein statistisches Rauschen ist).

Was ist denn das Ziel bzw. warum ist es wichtig, möglichst wenige 
Signal-Perioden auszuwerten?

von controllerblanc (Gast)


Lesenswert?

Es handelt sich um eine regelungstechnische Anwendung. Aus einem Prozess 
soll das Ausgangssignal (Frequenz nicht genau bekannt) auf bestimmte 
Eigenschaften des Amplitudenspektrums getestet werden. Diese 
Charakterisika füttern den Regler, der diesen Prozess (und dessen 
Ausgangssignal) wiederum korrigiert. Der Prozess hat zwar keine hohe 
Dynamik, aber dennoch sollten so wenig wie möglich Amplituden für eine 
akzeptable Darstellung eines Spektrums <50Hz verwendet werden.

von Johannes E. (cpt_nemo)


Lesenswert?

Ich würde vorschlagen, dass du zuerst versuchst, die Frequenz möglichst 
genau zu bestimmen. Dann schneidest zu aus dem Signal einen Bereich aus, 
der eine ganzzahlige Anzahl von Signalperioden enthält und berechnest 
daraus das Spektrum.

Wie viele Perioden dafür notwendig bzw. sinnvoll sind, musst du durch 
Versuche selber herausfinden; das kann dir niemand sagen, ohne das 
Signal und die Anforderungen an Genauigkeit/Auflösung zu kennen.

von controllerblanc (Gast)


Lesenswert?

danke für eure hilfe! :)

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.