Master Thesis Code
by Simon Moser
Loading...
Searching...
No Matches
exp_240207_allanDeviation4.m
Go to the documentation of this file.
1%
2% For LICENSE / TERMS OF USE, see the file LICENSE in the root directory of the repository.
3
4clear; close all; clc;
5
6%% add functions path and get data path
7addpath(genpath('../../functions'));
8datapath = getDataPath();
9datapath = fullfile(datapath, "self_captured/240207_allan_deviation_4");
10
11%% load data
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);
15
16% remove start because of temperature decrease and end because of me
17% walking
18data1.tt = data1.tt(4e5:end - 200 * 60,:);
19data2.tt = data2.tt(4e5:end - 200 * 60,:);
20data3.tt = data3.tt(4e5:end - 200 * 60,:);
21
22
23%% parameter analysis
24param14 = jumpNoiseAnalysis(data1, "plot", true);
25param24 = jumpNoiseAnalysis(data2, "plot", true);
26param34 = jumpNoiseAnalysis(data3, "plot", true);
27
28%% average parameters
29%accelerometer
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]
33
34%gyroscope
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]
38
39%magnetometer
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]
43
44%high-g accelerometer
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]
48
49%temperature
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]
53
54%pressure
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]
58
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");
87fclose(fid);
88
function getDataPath()
function jumpNoiseAnalysis(in data, in options)
function jumpReadData(in filePath, in options)