Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Seltsame Ergebnisse bei DFT (https://www.delphipraxis.net/85441-seltsame-ergebnisse-bei-dft.html)

sirius 1. Feb 2007 14:54

Re: Seltsame Ergebnisse bei DFT
 
Liste der Anhänge anzeigen (Anzahl: 2)
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.

3_of_8 1. Feb 2007 15:02

Re: Seltsame Ergebnisse bei DFT
 
Aaah, erst das Fenster, dann die DFT... :lol: Ich habs andersrum

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

Ich dachte, man n (in dem fall i) müsste zwischen -M/2 und +M/2 liegen...

sirius 1. Feb 2007 15:06

Re: Seltsame Ergebnisse bei DFT
 
Zitat:

Ich dachte, man n (in dem fall i) müsste zwischen -M/2 und +M/2 liegen...
Das machte für mich keinen Sinn, da hab ichs einfach mal verschoben :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:55 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz