What are the frequencies when N in fft(x,N) is odd?
조회 수: 14 (최근 30일)
이전 댓글 표시
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
채택된 답변
Honglei Chen
2014년 7월 10일
편집: Honglei Chen
2014년 7월 10일
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
Honglei Chen
2014년 7월 10일
편집: Honglei Chen
2014년 7월 10일
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
2024년 6월 4일
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
추가 답변 (1개)
Michael scheinfeild
2014년 7월 10일
if x is ampled at fs you can generate frequency vector use
freqvec=linspace(0,fs,N);
댓글 수: 3
Honglei Chen
2014년 7월 10일
This is incorrect. linspace always sample the last one, which you don't want.
참고 항목
카테고리
Help Center 및 File Exchange에서 Fourier Analysis and Filtering에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!