Om man använder FFT (packetet FFTW) så plockar man in samplingar som sätts in i en array av komplexa tal i realdelen. Efter omvandling från amplitud-tid till amplitud-frekvens så får man vad jag förstått frekvensuppdelning i 1-2 kHz, 2-4 kHz, 4-8 kHz, osv.. dvs dubblerat intervall men om man är intresserad av frevenserna 1,2,3,4,5,6,7,8 kHz osv.. ska man använda en annan transform isåfall, som t.ex wavelet. Eller är det såhär FFT/DFT "fungerar"?
En sidosak är att man kan få rätt på energin för varje frekvens som i exemplet ovan skulle vara t.ex summan av hela frekvensspektrat 2-4 kHz. Genom att ta Energi=realdelen²+imaginärdelen². Det jag inte fick kläm på är om komplextalet är i rektangulär- eller polärform. Vilket borde kunna härledas från formeln för energin?
(ev är det en felskrivning av absolutbeloppet)
FFT transform ger endast dubblerade frekvensstegssvar?
Re: FFT transform ger endast dubblerade frekvensstegssvar?
Frekvensupplösningen i en FFT är fs/n dvs samplingsfrekvens / antalet sampel. Om man har begränsat antal sampel så kan du padda med 0:or för att öka upplösningen.
Re: FFT transform ger endast dubblerade frekvensstegssvar?
Vad för arkitektur, kompilator etc avser du när du nämner FFTW?
Som Rehnmaak skriver är frekvensupplösningen linjär (fs/n) och de komplexatalen är med 99% i rektangulär form, dvs Re+i*Im.
Som Rehnmaak skriver är frekvensupplösningen linjär (fs/n) och de komplexatalen är med 99% i rektangulär form, dvs Re+i*Im.
Re: FFT transform ger endast dubblerade frekvensstegssvar?
Antag att du har antal sampels ( n i det här fallet ) = 1024.
Samplingsfrekvens = 10,24kHz, så efter har beräknat en FFT så
motsvarar det 10240/1024 = 10Hz.
Varje tal i fft:en kallas väl för "Bin".
Tar man ( abs(Re, Im) ) så motsvarar varje "bin" 10Hz.
Första ger DC-nivån sen 10, 20, 30....upp till fs/2 = 5120Hz.
Sen är endast "bin" 0-511 intressanta för resten blir en spegelbild.
Fönsterfunktioner t.ex Hamming, Bartlett m.m. används också för att
multiplicera insignalen med. Har jag inte fel så får man noggrannare
mätningar, vissa är bättre för amplitud andra för frekvens.
Mer på: http://en.wikipedia.org/wiki/Window_function
http://en.wikipedia.org/wiki/Fast_Fourier_transform
Samplingsfrekvens = 10,24kHz, så efter har beräknat en FFT så
motsvarar det 10240/1024 = 10Hz.
Varje tal i fft:en kallas väl för "Bin".
Tar man ( abs(Re, Im) ) så motsvarar varje "bin" 10Hz.
Första ger DC-nivån sen 10, 20, 30....upp till fs/2 = 5120Hz.
Sen är endast "bin" 0-511 intressanta för resten blir en spegelbild.
Fönsterfunktioner t.ex Hamming, Bartlett m.m. används också för att
multiplicera insignalen med. Har jag inte fel så får man noggrannare
mätningar, vissa är bättre för amplitud andra för frekvens.
Mer på: http://en.wikipedia.org/wiki/Window_function
http://en.wikipedia.org/wiki/Fast_Fourier_transform