[LUGOS-PROG] FFT

Andraz Tori Andraz.tori1 at guest.arnes.si
Thu Oct 6 11:45:18 CEST 2005


na dan čet, 2005-10-06 ob 01:48 +0200, je Nejc Skoberne zapisal(a):
> Zdravo.
> 
> Upam, da tole ne bo preveč off topic.
> 
> V javi pišem en programček, ki naj bi demonstriral uporabo diskretne Fourierjeve
> transformacije na primeru zvoka (PCM kodiranega). Uspelo mi je odpreti datoteko,
> spraviti posamezne sample v tabelo, jih transformirati in transformacijo spet
> inverzno transformirati v prvotne sample. Vse našteto deluje lepo in prav.
> 
> Kar me zanima je tole:
> 
> Za vektor uporabim 2^15 samplov, tako da dobim torej tudi 2^15 faktorjev transformacije.
> Ker gre za 44kHz zvok me zanima, kateri faktorji sedaj vplivajo na katera frekvenčna
> območja? Seveda je treba verjetno upoštevati, da so faktorji kompleksna števila. Malo sem
> se igral tako, da sem s 'for' zankami dal na 0 določene faktorje - res sem izgubil nekatere
> frekvence; vendar nisem našel nekega "pravila".
> 
> Recimo kako ugotovim, kateri faktorji vplivajo na območje od 5-6kHz?


'vodoravna' os FFTja je frekvenca v linearni skali ... faza je kot
kompleksne spremenljivke posameznega koša. amplituda pa absolutna
vrednost.

seveda pa dobiš razmazanje kadar frekvence v osnovnem signalu niso
poravnane s frekvencami 'košev', zato ni najenostavneje naredit dobrih
frekvenčnih filtrov na ta način. 

to se da nekoliko blažiti z metodo opazovanja faznega zamika posameznih
košev med zaporednimi prekrivajočimi se okni.

bye
andraž



More information about the lugos-prog mailing list