Implementation of pseudoranges function

I digged into the code of pseudoranges() function of the navigation toolbox.
I understand it applies a Sagnac correction neglacting any other correction. What is strange to me is that the position difference in use is obtained from the difference of receiver and satellite in input wihtout specifying wheater it shall be a common epoch or not. No reference is made to the fact that (as per implementation) the satellite position in input shall be at signal send time whereas the receiver position shall be at signal receive time, because the satellite moves considerably by the time the signal reaches the receiver (https://gssc.esa.int/navipedia/index.php/GNSS_Basic_Observables).
Am I missing something in the usage of this function?
The documentation seems not to describe this aspect.
Thank you very much in advance

 Respuesta aceptada

Divyam
Divyam el 12 de Dic. de 2024
Editada: Divyam el 12 de Dic. de 2024

1 voto

As mentioned in the documentation of the "pseudoranges" function, it assumes that the satellite positions are represented in an Earth-centered, Earth-fixed coordinate system, making it accurate for GNSS satellites due to its application of the Sagnac correction on the satellite position.
However, for other satellites, such as LEO satellites, the position can be significantly off by the time the message is received. This would require some pre-processing on your part to determine the satellite position at the signal send time and the receiver position at the signal receive time.
You aren't missing anything in this function's usage other than the fact that this is intended to be a very specific function that uses an Earth-centered, Earth-fixed coordinate system for GNSS satellite positions, thus neglecting considerations for other satellites that aren't part of the GNSS constellations. The "pseudoranges" function is also supposed to be a part of a larger GNSS positioning algorithm and hence does not account for any corrections like the Sagnac correction in its data. The data is supposed to be pre-processed and post-processed when working with this function.
To summarize, this function is precise for GNSS satellites and does not account for any correction changes because it's meant to be used only for GNSS satellite navigation and estimation using GNSS data for a larger algorithm. Hence, it requires pre-processing for its input arguments and post-processing for its outputs.

4 comentarios

Giacomo Curzi
Giacomo Curzi el 12 de Dic. de 2024
Editada: Giacomo Curzi el 12 de Dic. de 2024
Thank you very much @Divyam.
I have a followup question: the GNSS satellites positions are not steady in the ECEF frame (constellations are neither in geostationary orbits nor equatorial), therefore they move between transmission and reception times, is this aspect effectively neglected?
I would say so from the way MATLAB's example uses it (pseudoranges)
Divyam
Divyam el 12 de Dic. de 2024
Yes @Giacomo Curzi, your assertion is correct regarding GNSS satellites not being in geostationary orbits; this could indeed induce errors when performing calculations between transmission and reception times. I made my answer clearer by updating it. You do need to perform pre-processing and post-processing when dealing with data used as inputs/outputs of the "pseudoranges" function.
Although you could say these aspects are neglected in the "pseudoranges" function, these corrections are not supposed to be neglected, which is particularly why the Sagnac correction has to be performed when working with GNSS satellite positions.
I would still say the function works as intended and needs crucial data processing when working with it. If you wish to report an enhancement regarding function attributes, you can reach out to the MathWorks support team here: https://www.mathworks.com/support/contact_us.html
Giacomo Curzi
Giacomo Curzi el 12 de Dic. de 2024
Thank you again, I think now is clear enough!
Divyam
Divyam el 17 de Dic. de 2024
You are welcome @Giacomo Curzi, if you found the response helpful then you could accept the answer.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Etiquetas

Preguntada:

el 29 de Nov. de 2024

Comentada:

el 17 de Dic. de 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by