【问题标题】:Select an integer number of periods选择整数个周期
【发布时间】:2017-03-01 11:10:07
【问题描述】:

假设我们有频率为 100Hz 和采样频率为 1000Hz 的正弦曲线。这意味着我们的信号在一秒钟内有 100 个周期,我们在一秒钟内采集 1000 个样本。因此,为了选择一个完整的时期,我必须采取fs/f=10 样本。对? 如果采样周期不是信号频率的倍数(如 550Hz)怎么办?我是否必须找到ffs 的最小倍数M,而不是获取M 样本? 我的目标是选择整数个周期,以便能够在不更改的情况下复制它们。

【问题讨论】:

标签: signal-processing discrete-mathematics period


【解决方案1】:

您每秒有f 个周期,每秒有fs 个样本。

如果您采集M 样本,它将覆盖M/fs 部分秒或P = f * (M/fs) 句点。你希望这个数字是整数。

所以你需要采集M = fs / gcd(f, fs) 样本。

P = 1000 / gcd(100, 1000) = 1000 / 100 = 10为例。

如果您有 60 Hz 频率和 80 Hz 采样频率,它会给出 P = 80 / gcd(60, 80) = 80 / 20 = 4 -- 4 个样本将覆盖 4 * 1/80 = 1/20 部分秒,这将是 3 个周期。

如果您有 113 Hz 频率和 512 Hz 采样频率,那么您就不走运了,因为 gcd(113, 512) = 1 您需要 512 个样本,涵盖整个秒和 113 个周期。

【讨论】:

    【解决方案2】:

    一般来说,任意频率不会有整数个周期。非理性频率甚至永远不会重复。因此,除了连接一个周期长度的缓冲区之外,还需要一些方法来精确合成任意频率的周期性波形。一种可能的方法是通过插值对小数相位偏移进行近似。

    【讨论】:

      猜你喜欢
      • 2014-11-25
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2012-11-01
      • 2015-05-04
      • 2018-03-22
      相关资源
      最近更新 更多