下面的代码来自 Matlab 2011a 关于 fft 函数的帮助。我认为这里有一个问题:为什么他们将 t(1:50) 乘以 Fs,然后说是毫秒时间?当然,在这个非常特殊的情况下它恰好是正确的,但是将 Fs 的值更改为 2000,它就不再起作用了,显然是因为这个因素 2。对吗?相当误导,不是吗?我想念什么?
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector
% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t)); % Sinusoids plus noise
plot(Fs*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')
更清楚的是:
fs = 2000; % Sampling frequency
T = 1 / fs; % Sample time
L = 1000; % Length of signal
t2 = (0:L-1)*T; % Time vector
f = 50; % signal frequency
s2 = sin(2*pi*f*t2);
figure, plot(fs*t2(1:50),s2(1:50)); % NOT good
figure, plot(t2(1:50),s2(1:50)); % good