假设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序列的长度,F(f_ j)
是频率F
的f_ j
的组成部分。但我不知道如何获得频率f_ j
。
*****补充我的问题******
Maybe I didn't explain my question clearly,I read it in a paper "BLIND IMAGE
基于运行长度直方图分析的分析“。作者在2.3节中提到了频率fj。如果有人能阅读那部分,我将非常感激。
我不知道图像,但我为我的输出做了这个波形:
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))
16384
是fft
点的数量,256
是我的采样频率。
对于图像,采样频率由分辨率(每厘米点数或每英寸点数)确定。但是,通常不需要知道采样频率,因为它不会影响变换结果。
例如,10英寸×10英寸的图像,每英寸100点的分辨率,数字上相当于放大到20英寸×20英寸,但每英寸分辨率为50点的相同图像。后者的采样频率为前者的一半,但只要样本值相同,差异对其各自的DFT结果没有影响。