假设我们有正弦波,频率为100Hz,采样频率为1000Hz。这意味着我们的信号在一秒钟内有100个周期,我们在一秒钟内采集1000个样本。因此,为了选择一个完整的时期,我必须采用fs/f=10
个样本。对?
如果采样周期不是信号频率的倍数(如550Hz)怎么办?我是否必须找到M
和f
的最小倍数fs
,而不是M
个样本?
我的目标是选择一个整数个句点,以便能够在不做任何更改的情况下复制它们。
答案 0 :(得分: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个周期。
答案 1 :(得分:0)
通常,任意频率不具有整数个周期。不合理的频率永远不会重演。因此,除了串联缓冲器之外,还需要一个长度为一个周期的方法来合成任意频率的精确周期波形。通过插值逼近分数相位偏移是一种可能性。