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
7addpath(genpath(
'../../functions'));
9datapath = fullfile(datapath,
"self_captured/240207_allan_deviation_4");
12data1 =
jumpReadData(fullfile(datapath,
"S-24-A-13026_000.BIN"),
"time_correction",
false);
13data2 =
jumpReadData(fullfile(datapath,
"S-24-A-13036_000.BIN"),
"time_correction",
false);
14data3 =
jumpReadData(fullfile(datapath,
"S-24-A-13169_000.BIN"),
"time_correction",
false);
16% remove start because of temperature decrease and end because of me
18data1.tt = data1.tt(4e5:end - 200 * 60,:);
19data2.tt = data2.tt(4e5:end - 200 * 60,:);
20data3.tt = data3.tt(4e5:end - 200 * 60,:);
30acc.N = median([param14.acc.N, param24.acc.N, param34.acc.N]); % NoiseDensity [(m/s^2)/sqrt(Hz)]
31acc.K = median([param14.acc.K, param24.acc.K, param34.acc.K]); % RandomWalk [m/s^2*sqrt(Hz)]
32acc.B = median([param14.acc.B, param24.acc.B, param34.acc.B]); % BiasInstability [m/s^2]
35gyr.N = median([param14.gyr.N, param24.gyr.N, param34.gyr.N]); % NoiseDensity [°/s/sqrt(Hz)]
36gyr.K = median([param14.gyr.K, param24.gyr.K, param34.gyr.K]); % RandomWalk [°/s*sqrt(Hz)]
37gyr.B = median([param14.gyr.B, param24.gyr.B, param34.gyr.B]); % BiasInstability [°/s]
40mag.N = median([param14.mag.N, param24.mag.N, param34.mag.N]); % NoiseDensity [µT/sqrt(Hz)]
41mag.K = median([param14.mag.K, param24.mag.K, param34.mag.K]); % RandomWalk [µT*sqrt(Hz)]
42mag.B = median([param14.mag.B, param24.mag.B, param34.mag.B]); % BiasInstability [µT]
45hig.N = median([param14.hig.N, param24.hig.N, param34.hig.N]); % NoiseDensity [(m/s^2)/sqrt(Hz)]
46hig.K = median([param14.hig.K, param24.hig.K, param34.hig.K]); % RandomWalk [m/s^2*sqrt(Hz)]
47hig.B = median([param14.hig.B, param24.hig.B, param34.hig.B]); % BiasInstability [m/s^2]
50tmp.N = median([param14.tmp.N, param24.tmp.N, param34.tmp.N]); % NoiseDensity [°C/sqrt(Hz)]
51tmp.K = median([param14.tmp.K, param24.tmp.K, param34.tmp.K]); % RandomWalk [°C*sqrt(Hz)]
52tmp.B = median([param14.tmp.B, param24.tmp.B, param34.tmp.B]); % BiasInstability [°C]
55prs.N = median([param14.prs.N, param24.prs.N, param34.prs.N]); % NoiseDensity [Pa/sqrt(Hz)]
56prs.K = median([param14.prs.K, param24.prs.K, param34.prs.K]); % RandomWalk [Pa*sqrt(Hz)]
57prs.B = median([param14.prs.B, param24.prs.B, param34.prs.B]); % BiasInstability [Pa]
59%% save the average parameters to a file
60fid = fopen(
'res_240207_allanResults.txt',
'w');
61fprintf(fid,
"*********** Results 2nd Allan Deviation Experiment ***********\n");
62fprintf(fid,
"Accelerometer:\n");
63fprintf(fid,
"NoiseDensity: %f [(m/s^2)/sqrt(Hz)]\n", acc.N);
64fprintf(fid,
"RandomWalk: %f [m/s^2 *sqrt(Hz)]\n", acc.K);
65fprintf(fid,
"BiasInstability: %f [m/s^2]\n\n", acc.B);
66fprintf(fid,
"Gyroscope:\n");
67fprintf(fid,
"NoiseDensity: %f [(°/s)/sqrt(Hz)]\n", gyr.N);
68fprintf(fid,
"RandomWalk: %f [°/s*sqrt(Hz)]\n", gyr.K);
69fprintf(fid,
"BiasInstability: %f [°/s]\n\n", gyr.B);
70fprintf(fid,
"Magnetometer:\n");
71fprintf(fid,
"NoiseDensity: %f [uT/sqrt(Hz)]\n", mag.N);
72fprintf(fid,
"RandomWalk: %f [uT*sqrt(Hz)]\n", mag.K);
73fprintf(fid,
"BiasInstability: %f [uT]\n\n", mag.B);
74fprintf(fid,
"High-g Accelerometer:\n");
75fprintf(fid,
"NoiseDensity: %f [(m/s^2)/sqrt(Hz)]\n", hig.N);
76fprintf(fid,
"RandomWalk: %f [m/s^2*sqrt(Hz)]\n", hig.K);
77fprintf(fid,
"BiasInstability: %f [m/s^2]\n\n", hig.B);
78fprintf(fid,
"Temperature:\n");
79fprintf(fid,
"NoiseDensity: %f [°C/sqrt(Hz)]\n", tmp.N);
80fprintf(fid,
"RandomWalk: %f [°C*sqrt(Hz)]\n", tmp.K);
81fprintf(fid,
"BiasInstability: %f [°C]\n\n", tmp.B);
82fprintf(fid,
"Pressure:\n");
83fprintf(fid,
"NoiseDensity: %f [mbar/sqrt(Hz)]\n", prs.N);
84fprintf(fid,
"RandomWalk: %f [mbar*sqrt(Hz)]\n", prs.K);
85fprintf(fid,
"BiasInstability: %f [mbar]\n", prs.B);
86fprintf(fid,
"*************************************************************\n");
function jumpNoiseAnalysis(in data, in options)
function jumpReadData(in filePath, in options)