What are the frequencies when N in fft(x,N) is odd?
    19 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  Honglei Chen
    
      
 on 10 Jul 2014
        
      Edited: Honglei Chen
    
      
 on 10 Jul 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 Comments
  Honglei Chen
    
      
 on 10 Jul 2014
				
      Edited: Honglei Chen
    
      
 on 10 Jul 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
      
 on 4 Jun 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
More Answers (1)
  Michael scheinfeild
      
 on 10 Jul 2014
        if x is ampled at fs you can generate frequency vector use
freqvec=linspace(0,fs,N);
3 Comments
  Honglei Chen
    
      
 on 10 Jul 2014
				This is incorrect. linspace always sample the last one, which you don't want.
See Also
Categories
				Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



