【问题标题】:mapping stft rows back to frequencies将 stft 行映射回频率
【发布时间】:2020-05-19 04:41:38
【问题描述】:

我正在使用 Librosa 库来执行 stft。这会产生一个包含 n_fft+1 行的矩阵,这些行代表某些频率区间。

我绝对不是这个领域的专家!但据我所知,fft 产生的最低频率是瑞利频率(F_rayleigh),最高频率是奈奎斯特频率。频率分辨率 F_res = (sample freq) / n_fft。

当我创建 stft 的频谱图时,stft 的第一行范围在 0Hz 和 F_res 之间!我一直认为整个事情都是从 F_rayleigh 和 (F_rayleigh + F_res) 之间开始的。专家证实了这一点。

谁能告诉我 stft 的第一行代表的是哪个频率范围。我得到一位专家说“它以 F_rayleigh 开头”和一个情节说“它从 0Hz 开始”。

谢谢

Cspr

【问题讨论】:

  • 要变得自给自足,只需将一个已知信号输入 FFT 调用......比如说 800 赫兹,然后观察频率箱的内容

标签: python fft librosa


【解决方案1】:

使用 librosa.core.fftfrequencies 获取所有 bin 的频率。

注意传递与 stft() 调用相同的参数。

【讨论】:

    猜你喜欢
    • 2014-02-26
    • 2017-08-06
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多