如何获得DFT或FFT矢量中每个点的频率?

时间:2015-01-07 02:23:30

标签: matlab image-processing fft dft

假设H是一个向量,并且F = fft(H,nfft)

我不知道如何选择合适的nfft,这是fft序列的长度。以及如何获得fft序列中每个点的频率?我在

中读到了一个例子

http://www.mathworks.de/help/matlab/math/fast-fourier-transform-fft.html

它说频率向量是:

fv = (0:nfft-1)*fs/nfft. 

fs是采样频率。但是如何决定fs?

如果有人可以向我解释这些问题,我真的很感激。

PS:我想从图像中提取特征。特征是高阶矩定义如下:

 M = sum (f_ j * |F(f_ j)| ) /sum ( |F(f_ j)| ) , j = 1:L/2

其中M是时刻,n是时刻的顺序,F是FFT序列,L是FFT序列的长度,{{1 } {是频率为F(f_ j)的{​​{1}}的组件。但我不知道如何获得频率F

*****补充我的问题******

f_ j

基于运行长度直方图分析的分析“。 提交人在2.3节中提到了频率fj。如果有人能阅读那部分内容,我将非常感激。

2 个答案:

答案 0 :(得分:0)

我不知道图像,但我为输出做了这个波形:

x=adc_out(3:1:16386);
f=abs(fft(x))/16384;
dbpsd=20*log10(x);
**freq= 256*linspace(0,0.5,16384);** 
plot(freq,dbpsd(1:1:16384/2))

16384fft点的数量,256是我的采样频率。

答案 1 :(得分:0)

对于图像,采样频率取决于分辨率(每厘米点数或每英寸点数)。但是,人们通常不需要知道采样频率,因为它不会影响转换结果。

例如,每英寸分辨率为100点的10英寸×10英寸图片在数字上等同于放大到20英寸×20英寸但分辨率为每英寸50点的同一张图片。后者的采样频率是前者的一半,但是只要采样值相同,差异就不会影响它们各自的DFT结果。