Why does gnssconstellation return 27 satellites and how do I uniquely identify each of them?

I have some U-blox data that I am trying to play with and I have a gnssId, svId, and freqId which is what I believe (?) is needed to figure out the satellites. I am having trouble understanding how to map between the 2.

 採用された回答

Ryan Salvo
Ryan Salvo 2025 年 8 月 4 日
編集済み: Ryan Salvo 2025 年 8 月 4 日
I recommend finding the specific u-blox receiver firmware Interface Description document, but here is the one for u-blox M10 SPG 5.00. Section 1.5 GNSS, satellite and signal identifiers describes how UBX protocol messages number satellites.
By default, the gnssconstellation function models an ideal GPS satellite constellation. You can use an almanac or RINEX file contents to get satellite ID outputs from the function.

2 件のコメント

Shivang
Shivang 2025 年 8 月 7 日
編集済み: Walter Roberson 2025 年 8 月 7 日
Thanks, Ryan! I am trying to get the satellite positions from all the different constellations (GLONASS, BeiDou, etc.) at a given point in time.
I see in the description of the rinexread function ( https://www.mathworks.com/help/nav/ref/rinexread.html ) that it lists the different constellation files. These files are from 2021. Are these the latest files I can use to get the satellite positions for, say, today?
You can get the latest broadcast ephemeris (BRDC) file from the CDDIS website: https://cddis.nasa.gov/archive/gnss/data/daily/2025/brdc/
There is a daily RINEX v3 file with the following naming scheme:
BRDC00IGS_R_<YYYY><DDD>0000_01D_MN.rnx.gz
where <YYYY> is the current year (e.g. 2025) and <DDD> is the current day number (e.g. 219)
You can get the current day number in MATLAB by:
t = datetime("today");
daynum = day(t,"dayofyear")
daynum = 219

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2025a

質問済み:

2025 年 8 月 1 日

コメント済み:

2025 年 8 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by