gpt4 book ai didi

matlab - FFT:将样本与频率匹配

转载 作者:太空宇宙 更新时间:2023-11-03 20:19:17 25 4
gpt4 key购买 nike

让我们假设,

  • 我有一个向量 t,其中包含样本的时间(以秒为单位)。 (这些样本在时域上分布不均。

  • 我还有一个矢量数据,其中包含时间 t 的样本值。

  • t和data长度相同。

如果我绘制图表,则会获得某种周期性信号。

现在我可以执行:abs(fft(data)) 来获取我的频谱,然后将其绘制在 x 轴上的数据点数量上。

如何获得关于矢量 t 中的时间的频谱并绘制它?我想查看我的信号包含 1/s 中的哪些频率或 s 中的哪个周期。

感谢您的帮助。

最佳答案

[不是 OP 的意图]:FFT 将为您提供任意数量的输入数据点的频谱(全局)。您不能拥有与部分(或完整)频谱相关联的特定数据点(及时)。

您可以改为使用 spectrogram并获得 Short-Time Fourier Transform (STFT)。这将为您提供 NxM 时频 FT 值的离散网格(N:FT 频率仓,M:信号时间窗口)。

通过将(重叠的)STFT 窗口定位在您感兴趣的数据样本上,您将获得 N 个频率幅度值,从而随着信号随时间变化的短期频谱估计分布

另请参阅此处可能相关的答案:https://stackoverflow.com/a/12085728/651951

编辑/更新:

对于不均匀间隔的数据,您需要考虑 Non-Uniform DFT (和非均匀 FFT 实现)。请在此处查看相关问题/答案 https://scicomp.stackexchange.com/q/593

NFFT 或 NUFFT 的主要方法基于通过局部卷积/插值创建统一网格,对其运行 FFT 并消除插值滤波器的卷积效应。

您可以阅读更多:

对于实现(带有 MATLAB 接口(interface))尝试 NFFT可能还有它的并行版本 PNFFT .您可能会找到有关如何设置和使用的很好的演练 here .

关于matlab - FFT:将样本与频率匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13519205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com