Time vector to generate a sinusoid signal with 0.5 seconds duration , Fs =200
8 ビュー (過去 30 日間)
古いコメントを表示
Hi , please I'm confused with the following time vectors t1 and t2 to generate 0.5 second duration sinusoid signal :
Vector t1 has equally spaced samples at Ts intervals , but the signal x1 has duration equal to ( duration+Ts ) seconds , I checked x1 length .
Vector t2 has equally spaced samples not Ts intervals , signal x2 dutaion = ( duration ) secons excatly , which time vector is correct ?
%% Generates a sine wave of 0.5 second duration
F0=10; % Sinusoid frequency in Hz
Fs=200; % sampling frequency samples / sec
duration=0.5; % signal duration is seconds
Ts=1/Fs; % sampling Interval
t1=0:Ts:duration; % time vector with equally spaced samples at Ts intervals
t2=linspace(0,duration,duration*Fs); % time vector with samples not at Ts intervals
x1=sin(2*pi*F0*t1); % signal duration = ( duration+Ts ) seconds , length = 101 points
x2=sin(2*pi*F0*t2); % signal duration = ( duration ) secons , length = 100 points
5 件のコメント
Mathieu NOE
2020 年 10 月 23 日
yes , if you prefer take the second option
t2=linspace(0,0.5,duration*Fs+1);
but the first method works also. example you just take 2 samples with dt = 0.005
first sample correspond to t = 0
second sample correspond to t = 1 * dt = 0.005
you have 2 samples for a signal duration = 0.005 (= 1 x dt)
so this is what I tried to explain
採用された回答
Cris LaPierre
2020 年 10 月 23 日
編集済み: Cris LaPierre
2020 年 10 月 24 日
When using linspace, don't forget to account for 0. For example, how many numbers are there between 0 and 10? 11.
You should add 1 to your calculated number of points. This way, the colon operator and linspace give the same result, and both t1 and t2 are vectors with 101 points.
t1 = 0:1/200:0.5;
mean(diff(t1))
t2 = linspace(0,0.5,0.5*200+1);
mean(diff(t2))
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!