I am learning Kalman filters and have seen example on data as state varaibles that have real values / numeric. However, in digital communication the information is in digital - bits. So, can Kalman filter not work on bits?

I have not found this information in any text book, tutorials and other reading materials. In text books and in wikipedia, it says that the state $x$ of the system is represented as a vector of real numbers I want to know if Kalman filter and Ricatti Equations needs to modified if the input signal $x$ is a discrete, taking values from a symbol set. Examples of such input is the DNA genes, BPSK symbols, quantized pixel values. Is there a different Kalman filter for symbolic input? Or can we use the same Kalman filter and its equations. Thank you

  • 1
    $\begingroup$ Of course. Kalman is for signals, not for communications, just for most of DSP techniques. Unless your bits are related to a concrete signal, and a concrete physical model' records. Kalman works under a state space model, and if your signal is binary, you should look into something more like markov states model. Of course, you can hybridize kalman into something digesting digital values, but that is a totally different story. $\endgroup$ – Brethlosze May 10 '17 at 13:07
  • $\begingroup$ Thank you but your comment does not give information on how to apply Kalman filters or if the equation is modified. Are you aware is there is a different name or a different Kalman filter for digital signal? I could not find any text book or research articles where Kalman filters can take digital values. It is strange that there is no research article on Kalman filters in digital signal processing for binary or other symbols like QAM etc because digital signal processing takes the input signals in digital. $\endgroup$ – Ria George May 10 '17 at 16:11
  • 1
    $\begingroup$ That is why you are not finding anything... that is what i am referring. There is not such kind of application in DSP for digital values... DSP usually assumes you have real valued data in time, x(t) in R, not x(t) in {0,1}. Surely there is some application for "discrete values", "digital values", "logical values" or under similar keywords, but it could be another story. $\endgroup$ – Brethlosze May 11 '17 at 1:14
  • 1
    $\begingroup$ Lets assume you "want" to apply Kalman filter to a digital valued signal. How you should model the ABCD matrices? You should share with us the application to make an assumption. Another choice could be consider a discretizer operator i.e. x(t)=1 iff x1(t)<=0.5?. Or perhaps, to adapt entirely the state space model into something like a markov state space model, with A being an orthogonal matrix, and also considering the discretizing operator. But i think it is your task, to enlist which would be your possible choices. $\endgroup$ – Brethlosze May 11 '17 at 1:20
  • $\begingroup$ Hence as always, Kalman filter is conveived for continuous valued signals. Remember Ricatti is a projection solution in a continuous space, and those projection have to be redefined for a discrete space. Remember there is not metrics defined on discrete spaces, perhaps a topology, not a metric. $\endgroup$ – Brethlosze May 11 '17 at 1:24

I am most convinced you should try Hidden Markov Chains (which i am not explaining here), just justifying its use:

Kalman Filter: continuous state space, discrete observations


  • $\begingroup$ Thank you for the links, I will certainly go through them. But on another point, I am really confused when you say that in digital signal processing we don't transmit information as bits but rather as real values. Then why are there digital modulation techniques? I am not from this background. Say the information is a time series or an image which is transmitted through a communication channel. Would it be possible to give a brief summary on how this information is processed, in what form (bits or real valued is it transmitted from the transmitter to a communication channel ? $\endgroup$ – Ria George May 11 '17 at 2:38
  • $\begingroup$ Yes this is right, there is a lot of digital communications in bitwise fashioned ways. But all the filtering and linear model cousins inside the family of DSP are only for processed taking real values -stocks, sound, sensors, etc.- The standard filters do not take serialized bits in Mbps for example. The standard technique is to apply $x(t+1)=\alpha x(t)+(1-\alpha) u(t)$, with $\alpha \in [0,1]$ and all breaks apart when $x(t)$ is not a real value, for example, a bit. Hence another techniques shall be applied for dealing with bits. $\endgroup$ – Brethlosze May 11 '17 at 2:46
  • $\begingroup$ what is $u(t)$? and in general, the information transmitted in a communication medium is real valued and not in bits or other symbols, is my understanding right? $\endgroup$ – Ria George May 11 '17 at 2:52
  • $\begingroup$ $u(t)$ could be the signal of interest, for example, the temperature of your city, expressed in F or C, i.e. 55.4'F. If one puts a train of bits in $u(t)$, lets say [1 0 0 0 1 0 0 1], the filter outputs garbage. $\endgroup$ – Brethlosze May 11 '17 at 3:51

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.