【问题标题】:Matlab, FFT and Centroid FrequencyMatlab,FFT和质心频率
【发布时间】:2011-12-16 03:00:08
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: matlab fft frequency spectral centroid


    【解决方案1】:

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

    f(n) = n * fs / N
    

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

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

    听起来x 就是您在代码中所称的T

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-04
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多