What are the frequencies when N in fft(x,N) is odd?
27 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ray Lee
el 10 de Jul. de 2014
Comentada: Eric
el 4 de Jun. de 2024
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 comentarios
Respuesta aceptada
Honglei Chen
el 10 de Jul. de 2014
Editada: Honglei Chen
el 10 de Jul. de 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 comentarios
Honglei Chen
el 10 de Jul. de 2014
Editada: Honglei Chen
el 10 de Jul. de 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
el 4 de Jun. de 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
Más respuestas (1)
Michael scheinfeild
el 10 de Jul. de 2014
if x is ampled at fs you can generate frequency vector use
freqvec=linspace(0,fs,N);
3 comentarios
Honglei Chen
el 10 de Jul. de 2014
This is incorrect. linspace always sample the last one, which you don't want.
CHAN CHEN HUA
el 7 de Oct. de 2021
@Honglei Chen Hi, can i know why last sample should not be taken into?
Ver también
Categorías
Más información sobre Fourier Analysis and Filtering en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!