EE navigations system
EE5853 M13 Errata and Additional Information % % %
Some typos, etc have been pointed out to me in M13:
Slide 10: In the last equation, every “1” should be replaced with “i”
Slide 25: At the very end, it should say “… and rho_L2 the L2 pseudorange”
Slide 11: The hat symbols seem to come out of nowhere. In every case, it is referring to the initial guess. What, then, does R_hat mean? It is simply the distance computed from the satellite to the initial guess user position (NOTE: distance! not pseudorange; do not include the guess user clock offset)
GPS_09_Slides_OLS_Solution: I am providing some slides I have from a different course that I have taught on GPS. You only need slides 1 – 12 (ignore the later stuff since, for example, the effects of Earth rotation have already been accounted for in the satellite position data that you have been given). This material is obviously similar to what has been presented in the screencast but seeing it from a different perspective may be helpful.
Typo in supplemental GPS_09_Slides_OLS_Solution: Slide 7: every “k” should be an “i”
HINT: If your first solution (i.e., before any atmospheric corrections) yields horizontal errors on the order of tenths of meters and vertical error on the order of tens of meters … you’re spot on! As you implement corrections, you will see the horizontal errors increase some but the vertical error decreasing significantly.
% % %
I’ve received several questions related to Task 2b. I have realized that I was not completely clear in describing that subtask. As currently written, it simply says, “Error in user position with respect to truth in meters”. However, it does not specify what coordinate frame should be used. Obviously LLH is in appropriate since the subtask specifies to provide the results in meters. Thus you could either use ECEF or ENU. The most insightful frame is the ENU frame since it gives you horizontal and vertical components directly (all SatNav systems are weakest in the vertical). The easiest way to compute position error in the ENU frame is to use the function ECEF2ENU but use the truth position as the origin of the ENU frame. For example:
pos_ecef = % your computed position solution in its original ECEF form
pos_enu_err = ECEF2ENU(pos_ecef, TruthECEF, TruthLLH)
% % % Let me clarify what is meant by ‘range residuals’. The residuals are just the delta_PR vector after the solution has converged (i.e., you iterate the solution until the magnitude of the delta_x vector
is less than 1e-3). If there were no measurement errors, the delta_PR vector would converge to zeros as the solution iterates. However, due to the presence of measurement errors, the elements of the delta_PR vector will not converge to zero even though the delta_x vector does. The residuals are thus a measure of the inconsistency of the measurements which is an indication of their errors. As you progress through the various tasks of the project, the magnitude of the range residuals should decrease. % % %
It was pointed out to me that the link given in the Task 5 portion of the project description is broken. Here’s an update:
The page has a number of items on it. The part that is relevant to the project is the “GPS Satellite Ephemerides / Satellite & Station Clocks” and specifically the last entry in the table which is labeled “Final”. You see from the table that a number of products are provided and generally the ‘later’ they are, the more accurate they are. E.g., with more post-processing data/time it is possible to get a better result. The ‘Final’ satellite clock and orbit products take a couple of weeks to generate but they are the most accurate.