function [spd_rps,spd_rpm] = motor_speed(t,e)
% Both edges of two different pulses from the encoder are counted, and the
% encoders pulse 48 times per revolution, giving 48*4=192 counts per
% revolution.
spd_Hz = -diff(e)/(48*4)./diff(t);
%NOTE: this is a crude first order numerical differentiation, a better
%algorithm could also be used. This algorithm returns one less data point.
spd_rps = spd_Hz*2*pi;
spd_rpm = spd_Hz*60;
end