source = gyro;
clear data
data.freq = source(:,3)';
data.time = unwrap_time(source(:,end))'/1000;
data.rate = 1/mean(diff(data.time))
tau = 1/data.rate * round(logspace(0,7,200))
[retval, s, errorb, tau] = allan(data,tau,'gyro')

% [~,~,gyro_residual] = regress(gyro(:,1)-mean(gyro(:,1)),[gyro(:,4)-mean(gyro(:,4)), (1:size(gyro,1))']);
% data.freq = gyro_residual;
% data.time = unwrap_time(source(:,end))'/1000;
% data.rate = 1/mean(diff(data.time))
% tau = 1/data.rate * round(logspace(0,7,200))
% [retval, s, errorb, tau] = allan(data,tau,'gyro')