Stop adding zeros for the off-diagonal components

Bug: webrtc:14151
Change-Id: I58017cab911e642f457f665c5f4d1ff6d11d8571
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271545
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37768}
This commit is contained in:
Rasmus Brandt
2022-08-12 14:01:31 +02:00
committed by WebRTC LUCI CQ
parent 949530e6aa
commit 1856b2ce71
2 changed files with 7 additions and 10 deletions

View File

@ -30,11 +30,8 @@ FrameDelayDeltaKalmanFilter::FrameDelayDeltaKalmanFilter() {
estimate_cov_[0][1] = estimate_cov_[1][0] = 0;
// Process noise covariance.
process_noise_cov_[0][0] = 2.5e-10; // Unit: [(1 / bytes per ms)^2]
process_noise_cov_[1][1] = 1e-10; // Unit: [ms^2]
// TODO(brandtr): Remove, since matrix is always diagonal. No need to multiply
// by zero, below.
process_noise_cov_[0][1] = process_noise_cov_[1][0] = 0;
process_noise_cov_diag_[0] = 2.5e-10; // Unit: [(1 / bytes per ms)^2]
process_noise_cov_diag_[1] = 1e-10; // Unit: [ms^2]
}
void FrameDelayDeltaKalmanFilter::PredictAndUpdate(
@ -48,10 +45,8 @@ void FrameDelayDeltaKalmanFilter::PredictAndUpdate(
// 2) Estimate covariance prediction: This is done by simply adding the
// process noise covariance, again since the state transition matrix is the
// identity.
estimate_cov_[0][0] += process_noise_cov_[0][0];
estimate_cov_[0][1] += process_noise_cov_[0][1]; // TODO(brandtr): Remove.
estimate_cov_[1][0] += process_noise_cov_[1][0];
estimate_cov_[1][1] += process_noise_cov_[1][1]; // TODO(brandtr): Remove.
estimate_cov_[0][0] += process_noise_cov_diag_[0];
estimate_cov_[1][1] += process_noise_cov_diag_[1];
// Measurement update.
// TODO(brandtr): Reorganize the code below to follow the standard update

View File

@ -91,7 +91,9 @@ class FrameDelayDeltaKalmanFilter {
double estimate_[2];
double estimate_cov_[2][2]; // Estimate covariance.
double process_noise_cov_[2][2]; // Process noise covariance.
// Process noise covariance. This is a diagonal matrix, so we only store the
// diagonal entries.
double process_noise_cov_diag_[2];
};
} // namespace webrtc