@@ -110,7 +110,7 @@ impl SVTracker {
110
110
111
111
let ( elev, azi) = match elev {
112
112
Some ( elev) => {
113
- // UTC epoch directly given
113
+ // UTC epoch exists
114
114
let azi = self
115
115
. buffer
116
116
. iter ( )
@@ -121,6 +121,7 @@ impl SVTracker {
121
121
( elev. 1 . elevation , azi)
122
122
} ,
123
123
None => {
124
+ /* linear interpolation */
124
125
let elev: Vec < _ > = self . buffer . iter ( ) . map ( |( _, fit) | fit. elevation ) . collect ( ) ;
125
126
let ( a, b) = linear_reg_2d (
126
127
( t_xs[ t_mid_index] , elev[ t_mid_index] ) ,
@@ -136,7 +137,6 @@ impl SVTracker {
136
137
) ;
137
138
138
139
let azi = a * t_mid_s + b;
139
-
140
140
( elev, azi)
141
141
} ,
142
142
} ;
@@ -171,6 +171,14 @@ impl SVTracker {
171
171
let ( srsys, srsys_b) = ( fit[ 1 ] , fit[ 0 ] ) ;
172
172
let refsys = srsys * t_mid_s + srsys_b;
173
173
174
+ let refsys_fit: Vec < _ > = t_xs. iter ( ) . map ( |t_s| srsys * t_s + srsys_b) . collect ( ) ;
175
+
176
+ let mut dsg = 0.0_f64 ;
177
+ for refsys_fit in refsys_fit {
178
+ dsg += ( refsys_fit - refsys) . powi ( 2 ) ;
179
+ }
180
+ dsg = dsg. sqrt ( ) ;
181
+
174
182
let fit = polyfit (
175
183
& t_xs,
176
184
& self
@@ -216,14 +224,6 @@ impl SVTracker {
216
224
let ( smsi, smsi_b) = ( fit[ 1 ] , fit[ 0 ] ) ;
217
225
let msio = smsi * t_mid_s + smsi_b;
218
226
219
- //let dsg = 0.0_f64;
220
- //// let mut dsg = t_xs
221
- //// .iter()
222
- //// .fold(0.0_f64, |acc, t_xs| acc + (srsys * t_xs + srsys_b).powi(2));
223
- //// dsg /= t_xs.len() as f64;
224
- //// dsg = dsg.sqrt();
225
- let dsg = 0.0_f64 ;
226
-
227
227
let trk_data = TrackData {
228
228
refsv,
229
229
srsv,
0 commit comments