Effacer les filtres
Effacer les filtres

What are the frequencies when N in fft(x,N) is odd?

29 vues (au cours des 30 derniers jours)
Ray Lee
Ray Lee le 10 Juil 2014
Commenté : Eric le 4 Juin 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?

Réponse acceptée

Honglei Chen
Honglei Chen le 10 Juil 2014
Modifié(e) : Honglei Chen le 10 Juil 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 commentaires
Honglei Chen
Honglei Chen le 10 Juil 2014
Modifié(e) : Honglei Chen le 10 Juil 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
Eric le 4 Juin 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

Connectez-vous pour commenter.

Plus de réponses (1)

Michael scheinfeild
Michael scheinfeild le 10 Juil 2014
if x is ampled at fs you can generate frequency vector use
freqvec=linspace(0,fs,N);
  3 commentaires
Honglei Chen
Honglei Chen le 10 Juil 2014
This is incorrect. linspace always sample the last one, which you don't want.
CHAN  CHEN HUA
CHAN CHEN HUA le 7 Oct 2021
@Honglei Chen Hi, can i know why last sample should not be taken into?

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by