|
5 | 5 | % ------------------------------------------------------------------------- |
6 | 6 | % |
7 | 7 | % INPUT |
8 | | -% imu_sta. Input data structure must contains the following fields: |
| 8 | +% imu_sta, input data structure must contains the following fields: |
9 | 9 | % |
10 | 10 | % fb, Nx3 matrix, accelerations [X Y Z] (m/s^2). |
11 | 11 | % wb, Nx3 matrix, turn rates [X Y Z] (rad/s). |
12 | 12 | % t, Nx1, time vector (s). |
13 | 13 | % |
14 | | -% - verbose. Verbose level for allan_overlap function. |
| 14 | +% verbose. Verbose level for allan_overlap function. |
| 15 | +% 0 = silent & no data plots; 1 = status messages; 2 = all messages |
15 | 16 | % |
16 | 17 | % OUTPUT |
17 | | -% imu. Output data structure with the following fields: |
| 18 | +% imu, input data structure with the following addtional fields: |
18 | 19 | % |
19 | 20 | % arw, 1x3 vector, angle random walk (rad/root-s). Value is taken |
20 | 21 | % straightfoward from the plot at t = 1 s. |
21 | 22 | % Note: units of rad/s from the plot have to be transformed to |
22 | 23 | % rad/root-s. This is done by multiplying (rad/s * root-s/root-s) = |
23 | 24 | % (rad/s * root-s/1) = rad/root-s, since root-s = 1 for tau = 1, time |
24 | | -% at which random walk is evaluated. |
25 | | -% |
| 25 | +% at which random walk is evaluated. |
26 | 26 | % |
27 | 27 | % vrw, 1x3 vector, velocity random walk (m/s/root-s). Value is taken |
28 | 28 | % straightfoward from the plot at t = 1 s. |
|
38 | 38 | % from the plot at the minimun value. |
39 | 39 | % |
40 | 40 | % gb_corr, 1x3 vector, gyros correlation times (s). |
41 | | -% |
42 | 41 | % ab_corr, 1x3 vector, accs correlation times (s). |
43 | 42 | % |
44 | 43 | % g_std, 1x3 vector, gyros standard deviations (rad/s). |
45 | | -% |
46 | 44 | % a_std, 1x3 vector, accs standard deviations (m/s^2). |
47 | 45 | % |
48 | 46 | % g_max, 1x3 vector, gyros maximum values (rad/s). |
49 | | -% |
50 | 47 | % a_max, 1x3 vector, accs maximum values (m/s^2). |
51 | 48 | % |
52 | 49 | % g_min, 1x3 vector, gyros minimum values (rad/s). |
53 | | -% |
54 | 50 | % a_min, 1x3 vector, accs maximum values (m/s^2). |
55 | 51 | % |
56 | 52 | % g_mean, 1x3 vector, gyros mean values (rad/s). |
57 | | -% |
58 | 53 | % a_meam, 1x3 vector, accs mean values (m/s^2). |
59 | 54 | % |
60 | 55 | % g_median, 1x3 vector, gyros median values (rad/s). |
61 | | -% |
62 | 56 | % a_median, 1x3 vector, accs median values (m/s^2). |
63 | 57 | % |
64 | | -% fb_tau, Mx3 with time vector from AV for accelerometers [X Y Z], |
65 | | -% respectively. |
66 | | -% |
67 | | -% fb_allan, Mx3 with AV vector for accelerometers [X Y Z], |
68 | | -% respectively. |
69 | | -% |
70 | | -% fb_error, Mx3 with AV errors for accelerometers [X Y Z], |
71 | | -% respectively. |
72 | | -% |
73 | | -% wb_tau, Mx3 with time vector from AV for gyros [X Y Z], |
74 | | -% respectively. |
75 | | -% |
76 | | -% wb_allan, Mx3 with AV vector for gyros [X Y Z], |
77 | | -% respectively. |
| 58 | +% fb_tau, Mx3 with time vector from AV for accelerometers [X Y Z]. |
| 59 | +% fb_allan, Mx3 with AV vector for accelerometers [X Y Z]. |
| 60 | +% fb_error, Mx3 with AV errors for accelerometers [X Y Z]. |
78 | 61 | % |
79 | | -% wb_error, Mx3 with AV errors for gyros [X Y Z], |
80 | | -% respectively. |
| 62 | +% wb_tau, Mx3 with time vector from AV for gyros [X Y Z]. |
| 63 | +% wb_allan, Mx3 with AV vector for gyros [X Y Z]. |
| 64 | +% wb_error, Mx3 with AV errors for gyros [X Y Z]. |
81 | 65 | % |
82 | 66 | % ------------------------------------------------------------------------- |
83 | 67 | % |
|
120 | 104 | % |
121 | 105 | % ------------------------------------------------------------------------- |
122 | 106 | % |
123 | | -% Version: 006 |
124 | | -% Date: 2018/03/26 |
| 107 | +% Version: 007 |
| 108 | +% Date: 2019/02/18 |
125 | 109 | % Author: Rodrigo Gonzalez <[email protected]> |
126 | 110 | % URL: https://github.com/rodralez/navego |
127 | 111 | % |
|
155 | 139 | imu.a_mean = zeros(1,3); |
156 | 140 | imu.a_median = zeros(1,3); |
157 | 141 | imu.a_outliers = zeros(1,3); |
| 142 | +imu.a_linear = zeros(3,2); |
158 | 143 |
|
159 | 144 | imu.g_std = zeros(1,3); |
160 | 145 | imu.g_max = zeros(1,3); |
161 | 146 | imu.g_min = zeros(1,3); |
162 | 147 | imu.g_mean = zeros(1,3); |
163 | 148 | imu.g_median = zeros(1,3); |
164 | 149 | imu.g_outliers = zeros(1,3); |
| 150 | +imu.g_linear = zeros(3,2); |
165 | 151 |
|
166 | 152 | %% TIME VECTOR FOR ALLAN VARIANCE |
167 | 153 |
|
|
225 | 211 | imu.a_min(i) = s.min; |
226 | 212 | imu.a_median(i) = s.median; |
227 | 213 | imu.a_outliers(i) = s.outliers; |
| 214 | + imu.a_linear(i,:) = s.linear; |
228 | 215 | end |
229 | 216 |
|
230 | 217 | % Plot ACCRS |
|
263 | 250 | imu.g_min(i) = s.min; |
264 | 251 | imu.g_median(i) = s.median; |
265 | 252 | imu.g_outliers(i) = s.outliers; |
| 253 | + imu.g_linear(i,:) = s.linear; |
266 | 254 | end |
267 | 255 |
|
268 | 256 | imu.freq = data.rate; |
|
0 commit comments