FFT



  • Hallo!
    Hab gedacht ich mach mal nen neuen Thread auf.
    Ich hab noch mal ne frage zu dem FFTReal-Quellcode hier: http://www.musicdsp.org/archive.php?classid=2#186

    Was liefern mir denn da die einzelnen Funktionen, sind das sowas wie die Sample-Daten bei ner wave datei?
    Wie kann ich denn diese abfrage dauerhaft weiterlaufen lassen?

    MFG

    Hansi



  • Hast du die Readme.txt gelesen?
    Weißt du generell, was FFT bedeutet?

    do_fft() = time domain -> frequency domain
    do_ifft() = frequency domain -> time domain

    (logisch; i steht für inverse)

    Wie kann ich denn diese abfrage dauerhaft weiterlaufen lassen?
    

    Mit einer Schleife.



  • Ah danke! Tut mir leid, dass ich so nachhaken muss...... Sorry!Aber hab noch ne frage:
    Was ist das denn dann für ne freuquenz? Die intensivste oder is das eher sowas wie die sample-daten von ner wav-datei? Wie kann ich denn dadraus die intensivste Frequenz auslesen?

    MFG

    Hansi



  • das sollten dann alle frequenzen sein, bzw die amplituden der frequenzen, die intensivste ist wohl die frequenz mit dem größten integral würde ich schätzen, das ergibt sich dann aus höche*wellenlänge denk ich mir.



  • Die Fouriertransformierte sagt Dir den Anteil der Frequenzen am Signal. Die intensivste Frequenz kannst Du einfach finden, indem Du im Betragsspektrum den größten Wert suchst.

    Ich hab aber das Gefühl, Dir ist garnicht wirklich klar, was die Fourier-Transformation macht. Google mal ein bißchen. Wikipedia dürfte zu dem Thema auch einiges zu bieten haben.



  • Jester schrieb:

    Die Fouriertransformierte sagt Dir den Anteil der Frequenzen am Signal. Die intensivste Frequenz kannst Du einfach finden, indem Du im Betragsspektrum den größten Wert suchst.

    Wieso habe ich das Gefühl, daß er dann immer f=0 Hz als Ergebnis erhalten wird?

    🕶



  • Marc++us schrieb:

    Jester schrieb:

    Die Fouriertransformierte sagt Dir den Anteil der Frequenzen am Signal. Die intensivste Frequenz kannst Du einfach finden, indem Du im Betragsspektrum den größten Wert suchst.

    Wieso habe ich das Gefühl, daß er dann immer f=0 Hz als Ergebnis erhalten wird?

    🕶

    Keine Ahnung? Warum sollte der Gleichanteil besonders hoch sein? Hängt natürlich von den Daten ab, aber bei ner Tonaufnahme wird der Gleichanteil üblicherweise bei 0 liegen. Was übersehe ich?



  • Ja, das stimmt ich hab echt keine ahnung, werd ma bisschen googeln un so. Wieso soll das denn jetz immer 0 werden??? Ich hab jetz ma bisschen probiert, aber irgendwie kommt immer dasselbe raus, obwohl ich was ins mikro reingesungen hab, is das normal?

    MFG

    Hansi



  • Hab mich jetz ma en bisschen informiert... Ich glaub ich weiß auch wieso immer dasselbe rauskommt, der kriegt ja keine Sample-daten vom mikro rein, kann das sein? Wenn ja wie schreib ich denn sowas?

    MFG

    Hansi



  • Hab mich jetz ma en bisschen informiert... Ich glaub ich weiß auch wieso immer dasselbe rauskommt, der kriegt ja keine Sample-daten vom mikro rein, kann das sein? Wenn ja wie schreib ich denn sowas?

    Du machst also Echtzeitanalysen. Das heißt du hast irgendeine Sound-Bibliothek (was weiß ich, FMod oder so), mit der du das Signal einließt. Dann pufferst du immer ausreichend Werte für die FFT (je nach geforderter Genauigkeit, 512, 1024, 2048, ...), wendest die Transformation an und untersuchst dann das Ergebnis.



  • Also hab jetz was geschrieben zu den sample daten, also an die komm ich jetzt ran. Aber so langsam komm ich, glaube ich zumindest 😃 , bisschen hinter die sache. also verbessert mich wenn ich was falsches sage 😉 . Also wenn ich jetz die funktion do_fft() aufrufe und als x parameter die sampledaten weitergebe, bekomme ich in f[166] wie oft in meinen sample daten die frequenz 166 vorkommt? Wenn also bei 166 der größte wert wäre, ist f die intensivste Frequenz, stimmt das?

    MFG

    HAnsi



  • Ja.


Log in to reply