Find the Bug

The following MATLAB program attempts to plot 13 cycles of a 13 Hz sinusoid, but it has a bug. Explain what the bug is, and modify the above code to fix this bug.

F0 =13; 
T0 =1/F0; 
Ts = 0.07; 
t  = 0:Ts:13*T0; 
x = real(exp(j*(2*pi*F0*t-pi/2))); 
plot(t,x) 
 

Solution

This code is sampling at far to slow of a rate, in fact it is sampling at approximately the same time intervals as the period of the signal.

My solution is to significantly increase the sampling rate of (t) by decreasing the time intervals it samples at (Ts) by at least a factor of 10 (more if you want more precise results).

Corrected Code

F0 =13; 
T0 =1/F0; 
Ts = 0.007; 
t  = 0:Ts:13*T0; 
x = real(exp(j*(2*pi*F0*t-pi/2))); 
plot(t,x) 
 

Alumni Liaison

BSEE 2004, current Ph.D. student researching signal and image processing.

Landis Huffman