我认为您正在混合实际上不相关的两件事。如果您添加两个频率接近的正弦波,则会发生“跳动”。您所描述的是采样接近奈奎斯特频率的正弦波。如果您对样本进行绘制,看起来好像正在发生殴打,但实际上并非如此。所有信息都被妥善保存,如果您要正确重建模拟信号,您会看到完全没有节拍的完美正弦波。
这里有点棘手的问题是“适当的”重建。由于您的信号非常接近奈奎斯特频率,您需要一个非常陡峭的抗混叠滤波器。
这是一个如何重建没有节拍的正弦波的代码示例。任何残留的跳动只是抗混叠或插值滤波器不足的产物。
%% create a 60 Hz sine wave sampled at 128 Hz
fs = 128;
n = 256;
x = sin(2*pi*(0:n-1)'*60/fs);
figure(1); clf;
plot(x);
% this looks like beating but it isn't
% let's upsampe to 32kHz so we can actually listen to it. We need a very
% steep anti-aliasing filter, so we go with a 64 tab Kaiser Window and a
% beta of 15
y = resample(x,250,1,64,15);
% plot a few periods from the steady state portion
figure(2); clf;
plot(y(10000:20000,:));
% looks like a perfectly good sine wave
sound(.9*y, 32000);
% sounds like one too.