Skip to content

Commit d3b1624

Browse files
authored
Update KalmanForWaveAlt.h
1 parent f8566a6 commit d3b1624

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

bbn_wave_freq_m5atomS3/KalmanForWaveAlt.h

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ void kalman_wave_alt_init_state(KalmanWaveAltState* state) {
150150
x->data[4] = state->accel_bias; // accel bias
151151
}
152152

153-
void kalman_wave_alt_init_defaults() {
153+
void kalman_wave_alt_init_defaults(float q0, float q1, float q2, float q3, float q4) {
154154

155155
kalman_t *kf = kalman_filter_wave_alt_init();
156156
kalman_measurement_t *kfm = kalman_filter_wave_alt_measurement_vert_accel_init();
@@ -202,22 +202,21 @@ void kalman_wave_alt_init_defaults() {
202202

203203
// transition covariance [KALMAN_NUM_STATES * KALMAN_NUM_STATES]
204204
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);
207206
matrix_set_symmetric(Q, 0, 1, (matrix_data_t)0.0);
208207
matrix_set_symmetric(Q, 0, 2, (matrix_data_t)0.0);
209208
matrix_set_symmetric(Q, 0, 3, (matrix_data_t)0.0);
210209
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);
212211
matrix_set_symmetric(Q, 1, 2, (matrix_data_t)0.0);
213212
matrix_set_symmetric(Q, 1, 3, (matrix_data_t)0.0);
214213
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);
216215
matrix_set_symmetric(Q, 2, 3, (matrix_data_t)0.0);
217216
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);
219218
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);
221220
}
222221

223222
void kalman_wave_alt_step(KalmanWaveAltState* state, float accel, float k_hat, float delta_t) {

0 commit comments

Comments
 (0)