Forum: Digitale Signalverarbeitung / DSP / Machine Learning DFT (Wieviel Punkte DFT für welches Signal)


von Jantscher (technikp)


Lesenswert?

Hallo mich beschäftigt folgendes Verständnisproblem:

Ich habe ein periodisches Signal zb x1[n]= cos(pi*n/2). Um von diesem 
Signal die DFT richtig zu ermitteln, würde ich die 4-Punkte DFT 
brauchen.

Nehmen wir ein neues periodisches Signal x2[n]= cos(pi*n/4). Um wieder 
von diesem Signal die DFT richtig zu ermitteln bräuchte man schon die 
8-Punkte DFT.

Meine Frage: Warum ist das so? Warum kann ich nicht einfach von x2[n] 
die 4-Punkte DFT bilden, und bis zur halben Periodendauer von x2[n] 
(also bis pi) richtig abtasten? Muss ich immer eine volle Periode 
abtasten? Wenn man zb die DTFT von x2[n]= cos(pi*n/4) bildet und dann 
die 4-Punkte DFT von x2[n]=cos(pi*n/4), entspricht die DFT nicht mehr 
der abgetasteten Version der DTFT?

von Witzbold (Gast)


Lesenswert?

Weil die DFT das Signal implizit periodisch fortsetzt. Deswegen immer 
schön ein Vielfaches einer Periode nehmen sonst gibts Artefakte (Leakage 
Effekt).

Die DFT ist nichts weiter als das Samplen des Spektrums aus der DTFT.
Wenn du dich da doof anstellst und die "falschen" Samples wählst kriegst 
du eben ein schlecht geschätztes Spektrum aus deiner DFT (Leakage 
Effekt).

Denke an die Dualitaet.
Das Spektrum eines zeitdiskreten Signals der DTFT ist periodisch in 
2*PI.

Andersrum: Wenn das Spektrum zeitdisrekt ist (DFT), wird das Signal 
periodisch fortgesetzt.

von Jantscher (technikp)


Lesenswert?

Vielen Dank, ich beginne zu verstehen. Wenn man von einem periodischen 
Signal x[n]=cos(pi*n/4) die DFT bilden will, nimmt man entweder die 
8-Punkte DFT, 16-Punkte DFT usw. ein Vielfaches der Periode N=8 halt. 
Wenn man das macht dann setzt die DFT das Signal x[n] richtig periodisch 
fort und dann tastet die DFT die DTFT des Signals x[n] auch richtig ab.

Wählt man N nicht als Vielfaches der Periode, dann wird das Signal x[n] 
falsch periodisch fortgesetzt. Demnach stimmen die Abtastwerte der DFT 
mit der DTFT nicht mehr überein, da ja die DTFT und die DFT in diesem 
Falle nicht das selbe Signal transformieren.

Würdet ihr diese Überlegungen bejahen?

von Gerhard Z. (germel)


Lesenswert?

Im Prinziep ja, nur die Einschränkung von vielfachen einer Zweierpotenz 
ist bei der DFT nicht notwendig. Man kann ein periodisches Signal mit 
ausreichend, aber beliebig viel Stützstellen sampeln und eine DFT davon 
machen. Die Zweierpotenzen werden notwendig bei der FFT. Hat man genug 
Perioden im gesampelten Intervall ist auch das Einhalten der 
Periodendauer für die Einlesedauer nicht so wichtig wenn man 
entsprechende Fensterfunktionen verwendet. Natürlich verbreitern sich 
die Spektrallinien dadurch etwas.

von Witzbold (Gast)


Lesenswert?

Gerhard Z. schrieb:
> Im Prinziep ja, nur die Einschränkung von vielfachen einer
> Zweierpotenz
> ist bei der DFT nicht notwendig. Man kann ein periodisches Signal mit
> ausreichend, aber beliebig viel Stützstellen sampeln und eine DFT davon
> machen. Die Zweierpotenzen werden notwendig bei der FFT. Hat man genug
> Perioden im gesampelten Intervall ist auch das Einhalten der
> Periodendauer für die Einlesedauer nicht so wichtig wenn man
> entsprechende Fensterfunktionen verwendet. Natürlich verbreitern sich
> die Spektrallinien dadurch etwas.

Genau! Das wäre dann der nächste Punkt. Nicht jedes Signal ist 
periodisch oder lässt sich als Vielfaches einer Periode samplen. Hier 
kommen dann sogenannte Fensterfunktionen zum Einsatz. Nichts desto trotz 
muss man dann auch hier mit dem Leakage-Effekt leben. Man kann ihn aber 
klein halten, wenn man es eben richtig macht.

Pat ". schrieb:
> Vielen Dank, ich beginne zu verstehen. Wenn man von einem
> periodischen
> Signal x[n]=cos(pi*n/4) die DFT bilden will, nimmt man entweder die
> 8-Punkte DFT, 16-Punkte DFT usw. ein Vielfaches der Periode N=8 halt.
> Wenn man das macht dann setzt die DFT das Signal x[n] richtig periodisch
> fort und dann tastet die DFT die DTFT des Signals x[n] auch richtig ab.
>
> Wählt man N nicht als Vielfaches der Periode, dann wird das Signal x[n]
> falsch periodisch fortgesetzt. Demnach stimmen die Abtastwerte der DFT
> mit der DTFT nicht mehr überein, da ja die DTFT und die DFT in diesem
> Falle nicht das selbe Signal transformieren.
>
> Würdet ihr diese Überlegungen bejahen?

Nein. Die DFT samplet immer die DTFT (also das Spektrum). Die Frage ist 
nur an welchen Stellen die Samples genommen werden. Wenn du kein 
Vielfaches der Periode nimmst wird eben an "ungünstigen" Stellen 
abgetastet. Das Maximum im Spektrum vom Sinus z.B. taucht bei der DFT 
jetzt nicht mehr auf. Es ist ein Effekt den man eben im Hinterkopf 
behalten sollte, wenn man sich ein Spektrum anschaut/berechnet. Diesen 
Effekt kann man wie schon angemerkt reduzieren indem man 
Fensterfunktionen einsetzt, was standardmäßig auch getan wird. Denn 
offensichtlich gibt es auch Situationen wo kein vielfaches der Periode 
genommen wird. Gerade bei der FFT will man ja immer 2er Potenzen haben 
und dann gibt es ja auch aperiodische Signale.

von Jantscher (technikp)


Lesenswert?

Witzbold schrieb:
> Nein. Die DFT samplet immer die DTFT (also das Spektrum). Die Frage ist
> nur an welchen Stellen die Samples genommen werden. Wenn du kein
> Vielfaches der Periode nimmst wird eben an "ungünstigen" Stellen
> abgetastet.

Was ich mich nun frage ist, gibt es Vorteile wenn man ein Vielfaches der 
Periode N nimmt und nicht die Periode N selbst? Beispiel:

Wenn man vom Signal x[n]=cos(pi*n/2) die 4-Punkt DFT bildet, tastet man 
die DTFT innerhalb einer 2pi-Periode 4mal richtig ab. Wenn ich die 8 
Punkte DFT bilde taste ich die DTFT innerhalb einer 2pi-Periode 8mal 
richtig ab. Also umso höher die Punkte DFT (Vielfaches von Periode) umso 
genauer taste ich die DTFT innerhalb einer Periode ab?
Dies wäre also der Vorteil, oder?

von Gerhard Z. (germel)


Lesenswert?

Deine Beispiele gehen immer davon aus, dass du die Eingangsfunktion und 
damit die Periodizität kennst, dass ist aber doch in der Regel nicht der 
Fall. Wenn du schon alles kennst brauchst du doch eh höchstens 3 Werte 
um evtl. noch unbekannt Amplitude und/oder Phase zu bestimmen?! Wofür 
dann die DFT?

von Low impedance source (Gast)


Lesenswert?

Wenn du die frequenz kennst ist die drei Parameter sinus approximation 
nach IEEE-1057 grundsätzlich die besere Variante. Da du dort nicht 
darauf achten musst ganze Perioden zu sampeln.

@germel man brauch mindestens drei Werte in dem Fall.

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.