Covariance Matrix from Post-Processed Data


First of all, sorry for the basic question! But how do I build the covariance matrix from the sdn/sde/sdu values available after post processing?

I am trying to use my GPS data as a “ground truth” metric, since the Reach M+ antenna with a base has centimetre precision (enough for me), and having the covariance seems to be a good idea (but not essential).
It is possible to include it using sensor_msg/NavSatFix message type for my application, but I am having a hard time understanding how to input the data based on the standard deviations given after post processing (Positioning Solution File).

Is it just a matter of doing it:
covariance_matrix =
{sdn, 0, 0, 0, 0, 0,
0, sde, 0, 0, 0, 0,
0, 0, sdu, 0, 0, 0,
0, 0, 0, sdne, 0, 0,
0, 0, 0, 0, sdeu, 0,
0, 0, 0, 0, 0, sdun}

Or maybe using the square potency of those metrics, since the sensor_msg/NavSatFix uses “(m^2)” as values for covariance?

Any guidance is welcomed!

1 Like

Hi @paulacvalle,

What is a non-basic question for you, then?:sweat_smile:

I don’t want to mislead you, but I can share some of my thoughts.

So, diagonal entries of a covariance matrix are dispersions. The square root of dispersion is the standard deviation. Theoretically, you can square sdn, sde, and sdu and obtain diagonal entries.

But sdne, sdeu, and sdun are covariance non-diagonal elements. I assume the matrix should be symmetrical and looks like this:

{sdnˆ2, sdne, sdnu
sdne, sdeˆ2, sdeu
sdnu, sdeu, sduˆ2}


Sorry for that, I though I was missing something obvious since it is easy to add the covariance matrix (if you have it) to the algorithm I am running. Also, the manual on the “Positioning Solution File” states that “with all these values, user can reconstruct the full covariance matrix.” Hence the “basic”. I guess it is not so basic after all!

Thank you so much for your answer! This does clarify things!

You are welcomed to close this issue as this answer has solved my problem.

That’s great! You’re welcome with any questions!

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.