Forum: Digitale Signalverarbeitung / DSP / Machine Learning Anfängerfrage (DFT)


von enybase (Gast)


Lesenswert?

Wenn ich von einem periodisches Zeitsignal, z.B. Sinus, eine (D)FT 
machen möchte (in C/C++), muss dann dieses Zeitsignal als ein 
ganzzahliges-vielfaches einer vollen Periodendauer T vorliegen?

Oder darf das Zeitsignal auch z.B. T*0,4 oder T*1,3 lang sein?

Eine Literaturquelle würde mir auch schon helfen..
Danke!

von Unit* (Gast)


Lesenswert?


von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Du kannst die DFT auf alles anwenden, die Frage ist nur, was willst du 
mit der DFT überhaupt erreichen?

von Rüdiger K. (sleipnir)


Lesenswert?

Nein. Das Problem ist nur, daß Du in jedem Fall nicht Dein Signal 
transformierst (welches ja unendlich ausgedehnt ist) sondern Dein Signal 
multipliziert mit einer Rechteckfunktion, welche den entsprechenden Teil 
"ausstanzt".
Aus der Multiplikation im Ortsbereich wird eine Faltung im 
Frequenzbereich, d.h. Du bekommst nicht mehr Dein unverfälschtes 
Spektrum sondern die Faltung des Spektrums mit der 
Fouriertransformierten der Rechteckfunktion.
Um so schmaler Dein Rechteck ist um so breiter ist dessen Spektrum.
Das ganze Problem nennt man Fensterungs-Effekt (engl. "windowing").
Es gibt "Ausstanz"-Funktionen welche sich nicht so stark auf das 
Spektrum auswirken, z.B. das Hamming-Fenster.

von abc x. (enybase)


Lesenswert?

Danke für die Antwort!
Ja genau, da man kein unbegrenztes Signal verarbeiten kann muss man 
einen Teil "rausschneiden". Mein Problem ist, das ich ein periodisches 
Signal FFT transformieren will und nicht genau weiss ob ich das Fenster 
bzw. Rechteck einfach irgendwie (Position auf der Zeitachse) legen darf. 
Ich glaube es muss genau eine Periode erfassen oder ein vielfaches 
davon.
Wenn ich das Fenster irgendwo anfangen lasse und irgendwo aufhören lasse 
(auf t-Achse), müsste das Spektrum doch anders aussehen als wenn es 
genau bei einer Periode liegt (zb. sinus von 0 bis 2pi bzgl. 
zeitachse)...?
weil es sich dann ja um zwei unterschiedliche begrenzte Zeitfunktionen 
handeln würde... vermute ich (?)

Ich hatte auch schon mal die Behauptung gehört, es reiche aus nur die 
ersten Abtastwerte zu erfassen, also zum Bsp. das Fenster nur von 0 bis 
pi/4 oder s.ä. gehen zu lassen.. sofern nur die Abtastrate Nyquist 
erfüllt.. ?! Das kann aber nicht sein, oder?

von T. H. (pumpkin) Benutzerseite


Lesenswert?

Sabine Meyer wrote:
> Danke für die Antwort!
> Ja genau, da man kein unbegrenztes Signal verarbeiten kann muss man
> einen Teil "rausschneiden". Mein Problem ist, das ich ein periodisches
> Signal FFT transformieren will und nicht genau weiss ob ich das Fenster
> bzw. Rechteck einfach irgendwie (Position auf der Zeitachse) legen darf.
> Ich glaube es muss genau eine Periode erfassen oder ein vielfaches
> davon.

In erster Näherung ist das egal aaaber...

> Wenn ich das Fenster irgendwo anfangen lasse und irgendwo aufhören lasse
> (auf t-Achse), müsste das Spektrum doch anders aussehen als wenn es
> genau bei einer Periode liegt (zb. sinus von 0 bis 2pi bzgl.
> zeitachse)...?
> weil es sich dann ja um zwei unterschiedliche begrenzte Zeitfunktionen
> handeln würde... vermute ich (?)

...dein Gefühl ist nicht ganz falsch. Tatsächlich ist es am besten, wenn 
man eine Periode oder ein vielfaches davon in den Nulldurchgängen 
"ausschneidet". Bildlich gesprochen vermeidet man dadurch harte 
Übergänge im Zeitbereich, was dazu führt, dass im Spektrum keine 
"falschen", hohe Frequenzen auftreten. Diesen Effekt versucht man mit 
den Fensterfunktionen zu minimieren. Stickwort Leckeffekt.

> Ich hatte auch schon mal die Behauptung gehört, es reiche aus nur die
> ersten Abtastwerte zu erfassen, also zum Bsp. das Fenster nur von 0 bis
> pi/4 oder s.ä. gehen zu lassen.. sofern nur die Abtastrate Nyquist
> erfüllt.. ?! Das kann aber nicht sein, oder?

Gehen tut das schon, aber man wird die zugrundeliegende Signalfrequenz 
nicht mehr identifizieren können. Man muss wissen, dass ein 
zeitbegrenztes fouriertransformiertes Signal implizit als periodisch 
angenommen wird. Angewendet auf dein Beispiel der viertel 
Sinusschwingung bedeutet das, dass die Signalfrequenz scheinbar viermal 
so hoch ist als es tatsächlich der Fall ist. Erschwerend kommt hinzu, 
dass im Spektrum neben den "falschen" hohen Frequenzanteilen plötzlich 
ein "falscher" Gleichanteil auftaucht - das alles verhagelt das 
Spektrum.

von abc x. (enybase)


Lesenswert?

Ich möchte drei Zeit-Signale addieren mit unterschiedlichen Frequenzen, 
dabei entsteht halt das Problem, dass es hier evtl. keine gemeinsamen 
Nullstellen gibt. Also ist es wohl das beste wenn ich vor der 
Transformation ein Fenster über die Gesamtfunktion lege ..

Danke! Hat mir sehr geholfen!

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.