0

次のMatlabスクリプト(fftのMATLABヘルプから取得)は完全に正常に実行されます

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)')

ここに画像の説明を入力してください

しかし、plot()でFs*tが必要な理由を理解できません。なぜ私はそれをより小さくしているのですか?

4

1 に答える 1

2

ベクトル t はサンプル単位で定義されます。つまり、t(10) は 10 番目のサンプルとして取得される値です。

信号対時間をプロットする場合は、サンプリング インスタンスにサンプリング時間を掛ける必要がありますtime = FS*t

スケーリングしない場合は、最終的に信号とサンプリング インスタンスをプロットします。ただし、ラベル「time(ms)」は正しくありません。

于 2013-02-08T10:22:14.077 に答える