adev_tf.m 1.69 KB
clc
close all
clear all

%%

N = 1e5;
G = tf(1, [1e3,1]);

%%

data_white.rate = 1;
data_white.freq = noise(N, 1, 'white');
[ad_white, S, err_white, tau] = allan(data_white, 2.^[0:20], 'white noise',0);

data_white_f.rate = 1;
data_white_f.freq = lsim(G, data_white.freq, 1:length(data_white.freq));
[ad_white_f, S, err_white_f, tau] = allan(data_white_f, 2.^[0:20], 'white noise filtered',0);

%%

data_pink.rate = 1;
data_pink.freq = noise(N, 1, 'pink');
[ad_pink, S, err_pink, tau] = allan(data_pink, 2.^[0:20], 'pink noise',0);

data_pink_f.rate = 1;
data_pink_f.freq = lsim(G, data_pink.freq, 1:length(data_pink.freq));
[ad_pink_f, S, err_pink_f, tau] = allan(data_pink_f, 2.^[0:20], 'pink noise filtered',0);

%%

data_brown.rate = 1;
data_brown.freq = noise(N, 1, 'brown');
[ad_brown, S, err_brown, tau] = allan(data_brown, 2.^[0:20], 'brown noise',0);

data_brown_f.rate = 1;
data_brown_f.freq = lsim(G, data_brown.freq, 1:length(data_brown.freq));
[ad_brown_f, S, err_brown_f, tau] = allan(data_brown_f, 2.^[0:20], 'brown noise filtered',0);

%%

data_red.rate = 1;
data_red.freq = noise(N, 1, 'red');
[ad_red, S, err_red, tau] = allan(data_red, 2.^[0:20], 'red noise',0);

data_red_f.rate = 1;
data_red_f.freq = lsim(G, data_red.freq, 1:length(data_red.freq));
[ad_red_f, S, err_red_f, tau] = allan(data_red_f, 2.^[0:20], 'red noise filtered',0);

%%

figure
hold on
loglogerr(tau, ad_white, err_white, 'b')
loglogerr(tau, ad_white_f, err_white_f, 'r')
loglogerr(tau, ad_pink, err_pink, 'b-o')
loglogerr(tau, ad_pink_f, err_pink_f, 'r-o')
loglogerr(tau, ad_brown, err_brown, 'b-d')
loglogerr(tau, ad_brown_f, err_brown_f, 'r-d')
loglogerr(tau, ad_red, err_red, 'b-*')
loglogerr(tau, ad_red_f, err_red_f, 'r-*')
grid on