www.mikrocontroller.net

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


Autor: enybase (Gast)
Datum:

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

Autor: Unit* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

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

Autor: Rüdiger Knörig (sleipnir)
Datum:

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

Autor: abc xyz (enybase)
Datum:

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

Autor: T. H. (pumpkin) Benutzerseite
Datum:

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

Autor: abc xyz (enybase)
Datum:

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

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.