2017-03-01 44 views
-1

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

+0

不是编程问题 - 请尝试http://dsp.stackexchange.com? –

+0

我投票结束这个问题,因为它是关于[dsp.se],而不是直接关于编程或编码。 – Pang

回答

1

您有f个周期,并且fs每秒采样一次。

如果您采取M样品,它将覆盖M/fs的一部分秒或P = f * (M/fs)时间段。你希望这个数字是整数。

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

对于你的例子P = 1000/gcd(100, 1000) = 1000/100 = 10

如果你有60赫兹的频率和80赫兹的采样频率,它会给出P = 80/gcd(60, 80) = 80/20 = 4 - 4个样本将覆盖4 * 1/80 = 1/20的一秒钟,这将是3个周期。

如果你有113赫兹的频率和512赫兹的采样频率,你运气不好,因为gcd(113, 512) = 1,你需要512个采样,覆盖整个秒和113个周期。

0

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