2% For LICENSE / TERMS OF USE, see the file LICENSE in the root directory of the repository.
6%% add functions path and get data path
8datapath = fullfile(datapath,
"self_captured/240205_allan_deviation_2");
11data1 =
jumpReadData(fullfile(datapath,
"S-24-A-13026_000.BIN"),
"time_correction",
false);
12data2 =
jumpReadData(fullfile(datapath,
"S-24-A-13036_000.BIN"),
"time_correction",
false);
13data3 =
jumpReadData(fullfile(datapath,
"S-24-A-13169_000.BIN"),
"time_correction",
false);
15% remove start because of temperature decrease and end because of me
17data1.tt = data1.tt(2e6:end - 200 * 60,:);
18data2.tt = data2.tt(2e6:end - 200 * 60,:);
19data3.tt = data3.tt(2e6:end - 200 * 60,:);
29acc.N = median([param1.acc.N, param2.acc.N, param3.acc.N]); % NoiseDensity [(m/s^2)/sqrt(Hz)]
30acc.K = median([param1.acc.K, param2.acc.K, param3.acc.K]); % RandomWalk [m/s^2 * sqrt(Hz)]
31acc.B = median([param1.acc.B, param2.acc.B, param3.acc.B]); % BiasInstability [m/s^2]
32acc.tau_B = median([param1.acc.tau_B, param2.acc.tau_B, param3.acc.tau_B]); % BiasInstability time [s]
35gyr.N = median([param1.gyr.N, param2.gyr.N, param3.gyr.N]); % NoiseDensity [(°/s)/sqrt(Hz)]
36gyr.K = median([param1.gyr.K, param2.gyr.K, param3.gyr.K]); % RandomWalk [°/s * sqrt(Hz)]
37gyr.B = median([param1.gyr.B, param2.gyr.B, param3.gyr.B]); % BiasInstability [°/s]
38gyr.tau_B = median([param1.gyr.tau_B, param2.gyr.tau_B, param3.gyr.tau_B]); % BiasInstability time [s]
41mag.N = median([param1.mag.N, param2.mag.N, param3.mag.N]); % NoiseDensity [uT/sqrt(Hz)]
42mag.K = median([param1.mag.K, param2.mag.K, param3.mag.K]); % RandomWalk [uT * sqrt(Hz)]
43mag.B = median([param1.mag.B, param2.mag.B, param3.mag.B]); % BiasInstability [uT]
44mag.tau_B = median([param1.mag.tau_B, param2.mag.tau_B, param3.mag.tau_B]); % BiasInstability time [s]
47hig.N = median([param1.hig.N, param2.hig.N, param3.hig.N]); % NoiseDensity [(m/s^2)/sqrt(Hz)]
48hig.K = median([param1.hig.K, param2.hig.K, param3.hig.K]); % RandomWalk [m/s^2 * sqrt(Hz)]
49hig.B = median([param1.hig.B, param2.hig.B, param3.hig.B]); % BiasInstability [m/s^2]
50hig.tau_B = median([param1.hig.tau_B, param2.hig.tau_B, param3.hig.tau_B]); % BiasInstability time [s]
53tmp.N = median([param1.tmp.N, param2.tmp.N, param3.tmp.N]); % NoiseDensity [°C/sqrt(Hz)]
54tmp.K = median([param1.tmp.K, param2.tmp.K, param3.tmp.K]); % RandomWalk [°C * sqrt(Hz)]
55tmp.B = median([param1.tmp.B, param2.tmp.B, param3.tmp.B]); % BiasInstability [°C]
56tmp.tau_B = median([param1.tmp.tau_B, param2.tmp.tau_B, param3.tmp.tau_B]); % BiasInstability time [s]
59prs.N = median([param1.prs.N, param2.prs.N, param3.prs.N]); % NoiseDensity [mbar/sqrt(Hz)]
60prs.K = median([param1.prs.K, param2.prs.K, param3.prs.K]); % RandomWalk [mbar * sqrt(Hz)]
61prs.B = median([param1.prs.B, param2.prs.B, param3.prs.B]); % BiasInstability [mbar]
62prs.tau_B = median([param1.prs.tau_B, param2.prs.tau_B, param3.prs.tau_B]); % BiasInstability time [s]
64%% save the average parameters to a file
65fid = fopen(
'res_240205_allanResults.txt',
'w');
66fprintf(fid,
"*********** Results 2nd Allan Deviation Experiment ***********\n");
67fprintf(fid,
"Accelerometer:\n");
68fprintf(fid,
"NoiseDensity: %f [(m/s^2)/sqrt(Hz)]\n", acc.N);
69fprintf(fid,
"RandomWalk: %f [m/s^2 *sqrt(Hz)]\n", acc.K);
70fprintf(fid,
"BiasInstability: %f [m/s^2] @ %f [s]\n\n", acc.B, acc.tau_B);
71fprintf(fid,
"NoiseDensity: %f [(°/s)/sqrt(Hz)]\n", gyr.N);
72fprintf(fid,
"RandomWalk: %f [°/s*sqrt(Hz)]\n", gyr.K);
73fprintf(fid,
"BiasInstability: %f [°/s] @ %f [s]\n\n", gyr.B, gyr.tau_B);
74fprintf(fid,
"Magnetometer:\n");
75fprintf(fid,
"NoiseDensity: %f [uT/sqrt(Hz)]\n", mag.N);
76fprintf(fid,
"RandomWalk: %f [uT*sqrt(Hz)]\n", mag.K);
77fprintf(fid,
"BiasInstability: %f [uT] @ %f [s]\n\n", mag.B, mag.tau_B);
78fprintf(fid,
"High-g Accelerometer:\n");
79fprintf(fid,
"NoiseDensity: %f [(m/s^2)/sqrt(Hz)]\n", hig.N);
80fprintf(fid,
"RandomWalk: %f [m/s^2*sqrt(Hz)]\n", hig.K);
81fprintf(fid,
"BiasInstability: %f [m/s^2] @ %f [s]\n\n", hig.B, hig.tau_B);
82fprintf(fid,
"Temperature:\n");
83fprintf(fid,
"NoiseDensity: %f [°C/sqrt(Hz)]\n", tmp.N);
84fprintf(fid,
"RandomWalk: %f [°C*sqrt(Hz)]\n", tmp.K);
85fprintf(fid,
"BiasInstability: %f [°C] @ %f [s]\n\n", tmp.B, tmp.tau_B);
86fprintf(fid,
"Pressure:\n");
87fprintf(fid,
"NoiseDensity: %f [mbar/sqrt(Hz)]\n", prs.N);
88fprintf(fid,
"RandomWalk: %f [mbar*sqrt(Hz)]\n", prs.K);
89fprintf(fid,
"BiasInstability: %f [mbar] @ %f [s]\n\n", prs.B, prs.tau_B);
90fprintf(fid,
"*************************************************************\n");
function jumpNoiseAnalysis(in data, in options)
function jumpReadData(in filePath, in options)