I am reading the classic book on state-space control theory by Bernard Friedland.

In order to strengthen my understanding of Kalman filter, I want to reproduce Example 11A (Inverted pendulum on page 418) with Mathematica.

However, I cannot find a way to define the spectral density matrices (of excitation noise and observation, in equation (11A.2) ) in Mathematica. Moreover, how can I calculate the covariance matrix of noise from a spectral density matrix?


example 11A

  • $\begingroup$ A comment on the power spectrum matrix/covariance matrix. Nonwhite noise can be handled fine by the power spectrum matrix, but if the noise is non stationary, the Fourier basis is no longer a good orthogonal basis. $\endgroup$
    – HM51
    Nov 11, 2019 at 19:05

1 Answer 1


KalmanEstiamtor only works with numeric values, because the underlying RiccatiSolve is a numeric solver.

Regarding computing the covariance matrix from the power spectrum matrix or vice versa, they are the same because it is assumed to be white noise. See eqs (10.27), (10.28) and (10.29) on pp.386-387 of Friedland. Quoting below:

White noise is simply a random process with an expected value (mean) of zero and with an absolutely flat power spectrum $S(\omega)=W$. Since the inverse Fourier transform of a constant is a unit impulse, the correlation function of a white noise process is $\rho(\tau)=W\delta(\tau)$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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