我正在使用以下代码绘制Matlab中的正弦波,
Fs = 12000; % sampling frequency in Hz
dt = 1/Fs; % seconds per sample
StopTime = 0.25; % seconds
t = (0:dt:StopTime-dt)'; % seconds
Fc = 5000; % hertz
x = sin(2*pi*Fc*t);
figure; % Plot the signal versus time:
plot(t,x);
xlabel('time (in seconds)');
title('Signal versus Time');
代码往往起作用,但当我尝试绘制5kHz正弦波时,我得到以下结果:
我知道您需要的采样频率至少是您想要绘制的最大频率的2倍(奈奎斯特定理)。那为什么会这样呢?
答案 0 :(得分:4)
您正在获得别名。您的采样频率需要远高于您想要绘制的最大频率,以获得平滑的"曲线图。
对于5 kHz正弦波,您需要的采样频率至少为50 kHz,即便如此,也不是很多(每个周期只有10个数据点)。 100 kHz将为每个周期提供20个数据点,这可能看起来很好: