1

我以这种给定的方式在 Matlab 中进行了 FFT。

X=fft(t); % Take Fourier Transform
T=abs(X); % Take real parts of transform
T=T(1:n/2);

我有兴趣找到这个图的质心频率。我了解质心频率为:

在此处输入图像描述

其中 x(n) 表示仓编号 n 的加权频率值或幅度,f(n) 表示该仓的中心频率。

现在我很想说 f(n) 是我脚本中 T 的值,但这些是 FFT 的虚部和实部的绝对值,所以我不知道如何找到 x(n)这应该是加权频率。

4

1 回答 1

2

你说那f(n)是第n个bin的中心频率;这与您的数据无关。它只是您的采样频率的函数:

f(n) = n * fs / N

当然,您可以在上面的等式中考虑到这一点:

centroid = (fs / N) * SUM { n x(n) } / SUM { x(n) }

听起来就像xT在代码中调用的那样。

于 2011-10-26T22:51:13.053 回答