0
$\begingroup$

I'm using Kalman filters to segment the loudness of an acoustic signal from surrounding noise. The problem I've encountered is that muffled or faulty microphones measuring 'silence' (-70dB, -69dB, -71dB, ...) have low variance and so the Kalman filter relies on them as being more stable, "pulling down" the true value.

To solve this, I had the idea to pass in the offset-from-mean of all the signals, which would increase the variance of the "dead sensors" and I could add back the mean to the state estimate delta. But then it occurred to me that maybe the Kalman filter is already doing this by minimising "least squares error"?

A secondary problem I have is dynamically adding or removing sensors without losing my covariance matrix. Currently when sensors leave, I keep the same matrix, but I set it's observation variance R_ij = Infinity, which seems to work. However, I would love to know how to re-arrange my matrix values when adding or removing additional sensors.

$\endgroup$
0
$\begingroup$

You are doing something other than a Kálmán filter here. You write "muffled or faulty microphones measuring 'silence' (-70dB, -69dB, -71dB, ...) have low variance and so the Kalman filter relies on them as being more stable" but the variance is not a measured size but part of the model. And the model does not accommodate sensors going dead a priori (though of course if you have outside knowledge of a sensor being dead you can use it for changing the model, possibly using something like a hidden Markov model for detecting its time of death).

So all your questions are outside of the parameters of a Kálmán filter and instead concern ad-hoc modifications of it or dunamic adaptations of its model. Since you give no information whatsoever about what kind of modifications or adaptations you are working with, your question cannot be answered.

$\endgroup$
  • $\begingroup$ Your answer prompted me to check and I see that indeed the posterior error covariance is calculated at every step as I - (KalmanGain * ObservationModel) * PriorErrorCovariance, which is only a function of the prior error covariance and observation noise covariance (given), and not of the measurements (although it could be measured). What do you mean by adaptations? I am merely trying to track the true envelope of an acoustic signal in the presence of noise (assume time-delay is compensated for). $\endgroup$ – Petrus Theron Sep 27 '18 at 9:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.