What are the frequencies when N in fft(x,N) is odd?
14 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I know when N is even, fft(x,N) corresponds to frequencies 0,df,...,N/2*df,-(N/2-2)*df,...,-df.
What about if N is odd?
0 Commenti
Risposta accettata
Honglei Chen
il 10 Lug 2014
Modificato: Honglei Chen
il 10 Lug 2014
In general, you can do it as
f = (0:N-1)*fs/N
If you want to map it to negative frequencies
if N is even
f(N/2+1:end) = f(N/2+1:end)-fs % sample -fs/2
or
f(N/2+2:end) = f(N/2+2:end)-fs % sample fs/2
if N is odd
f((N+1)/2+1:end) = f((N+1)/2+1:end)-fs
HTH
5 Commenti
Honglei Chen
il 10 Lug 2014
Modificato: Honglei Chen
il 10 Lug 2014
That's not true. Only one point is changed, from fs/2 to -fs/2 and because the result is periodic, they are indeed the same so you can mark it either way
Eric
il 4 Giu 2024
To be clear, if you are using fftshift on your FFT data and N is even, use the first option (repeated here):
f(N/2+1:end) = f(N/2+1:end)-fs % sample -fs/2
Più risposte (1)
Michael scheinfeild
il 10 Lug 2014
if x is ampled at fs you can generate frequency vector use
freqvec=linspace(0,fs,N);
3 Commenti
Honglei Chen
il 10 Lug 2014
This is incorrect. linspace always sample the last one, which you don't want.
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!