What are the frequencies when N in fft(x,N) is odd?
26 次查看(过去 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!