@@ -150,7 +150,7 @@ void kalman_wave_alt_init_state(KalmanWaveAltState* state) {
150
150
x -> data [4 ] = state -> accel_bias ; // accel bias
151
151
}
152
152
153
- void kalman_wave_alt_init_defaults () {
153
+ void kalman_wave_alt_init_defaults (float q0 , float q1 , float q2 , float q3 , float q4 ) {
154
154
155
155
kalman_t * kf = kalman_filter_wave_alt_init ();
156
156
kalman_measurement_t * kfm = kalman_filter_wave_alt_measurement_vert_accel_init ();
@@ -202,22 +202,21 @@ void kalman_wave_alt_init_defaults() {
202
202
203
203
// transition covariance [KALMAN_NUM_STATES * KALMAN_NUM_STATES]
204
204
matrix_t * Q = kalman_get_process_noise (kf );
205
- matrix_data_t variance = (matrix_data_t ) 1.0 ;
206
- matrix_set_symmetric (Q , 0 , 0 , (matrix_data_t )20.0 * variance );
205
+ matrix_set_symmetric (Q , 0 , 0 , (matrix_data_t )q0 );
207
206
matrix_set_symmetric (Q , 0 , 1 , (matrix_data_t )0.0 );
208
207
matrix_set_symmetric (Q , 0 , 2 , (matrix_data_t )0.0 );
209
208
matrix_set_symmetric (Q , 0 , 3 , (matrix_data_t )0.0 );
210
209
matrix_set_symmetric (Q , 0 , 4 , (matrix_data_t )0.0 );
211
- matrix_set_symmetric (Q , 1 , 1 , (matrix_data_t )0.2 * variance );
210
+ matrix_set_symmetric (Q , 1 , 1 , (matrix_data_t )q1 );
212
211
matrix_set_symmetric (Q , 1 , 2 , (matrix_data_t )0.0 );
213
212
matrix_set_symmetric (Q , 1 , 3 , (matrix_data_t )0.0 );
214
213
matrix_set_symmetric (Q , 1 , 4 , (matrix_data_t )0.0 );
215
- matrix_set_symmetric (Q , 2 , 2 , (matrix_data_t )0.04 * variance );
214
+ matrix_set_symmetric (Q , 2 , 2 , (matrix_data_t )q2 );
216
215
matrix_set_symmetric (Q , 2 , 3 , (matrix_data_t )0.0 );
217
216
matrix_set_symmetric (Q , 2 , 4 , (matrix_data_t )0.0 );
218
- matrix_set_symmetric (Q , 3 , 3 , (matrix_data_t )1000.0 * variance );
217
+ matrix_set_symmetric (Q , 3 , 3 , (matrix_data_t )q3 );
219
218
matrix_set_symmetric (Q , 3 , 4 , (matrix_data_t )0.0 );
220
- matrix_set_symmetric (Q , 4 , 4 , (matrix_data_t )0.0002 * variance );
219
+ matrix_set_symmetric (Q , 4 , 4 , (matrix_data_t )q4 );
221
220
}
222
221
223
222
void kalman_wave_alt_step (KalmanWaveAltState * state , float accel , float k_hat , float delta_t ) {
0 commit comments