Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: Seltsame Ergebnisse bei DFT

  Alt 1. Feb 2007, 15:54
Nee, ein Filter ist es eigentlich nicht.

Es ist mehr so eine Funktion, die du überlagern (multplikativ) musst. Sagt dir "Faltung" etwas?

Die Idee dahinter ist, dass (wie ich schon mal erwähnte) du für deine Frequenzanalyse im Prinzip einen Ausschnitt verwendest.
dieser müsste allerdings problemlos unendlich mal hintereinenader passen ohne das Sprünge entstehen (so wie in fenster1 und fenster 2->Anhang)

Der Ausschnitt beträgt zufällig die Länge einer Farbe aus Fenster1. Wenn ich dieses Fenster wiedrum hintendrannhänge entsteht ein Sprung (Fenster2)

Dieser Sprung wirkt sich auf dein Frequenzspektrum aus.

Das Hanning-Fenster (ich sehe grad, das "bessere" heißt Hamming) aus Wiki sieht so aus:
Delphi-Quellcode:
for i:=0 to Abtastwerte-1 do //Abtastwerte ist die Länge des Arrays
    a[i]:=a[i]*(0.54+0.46*cos(2*pi*i/abtastwerte+pi));
  //und jetzt fft oder dft
Du kannst ja mal schauen, wie dein Zeitsignal vor und nach der Transformation aussieht.

Im übrigen musst du nach der FFT die Amplitudenwerte auf Grund der Fensterfunktion verdoppeln.



Aber ich sehe grade, dass Grouping dir eher hilft, nur da weis ich jetzt auch nicht viel...


Edit: zu deinem Edit: Ja fast, aber so sieht es bei mir zumindest richtig aus (bei vonHann Fenster steht da zweimal 0,5 statt 0,54 und 0,46)
Nur dein größeres Problem ist wahrscheinlich, dass dein Grundfrequenz kein Vielfaches von Abtastfrequenz/Abtastwerte ist. Und da hilft dieses Grouping. Vielleicht gibts auch noch andere Sachen. Aber du rechnest halt diskret (geht ja nicht anders) und dadurch bekommst du auch nur diskrete Frequenzen.
Miniaturansicht angehängter Grafiken
fenster2_462.png   fenster1_114.png  
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat