假设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呢?
如果有人能向我解释这些问题,我将不胜感激。
附注:I想要从图像中提取特征。特征是高阶矩,定义如下:
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_ j
下F
的分量。但是我不知道如何获得频率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
是我的采样频率。
对于图像,采样频率由分辨率(点/厘米或点/英寸)决定。但是,通常不需要知道采样频率,因为它不会影响变换结果。
例如,分辨率为 100 点/英寸的 10 英寸 x 10 英寸图片在数字上等效于放大到 20 英寸 x 20 英寸但分辨率为 50 点/英寸的同一图片。后者的采样频率是前者的一半,但只要样本值相同,差异对它们各自的DFT结果没有影响。