Add GPS Pseudo-Random Noise (PRN) numbers to database

The author of Look4Sat suggested I request this database feature here.

For GPS satellite constellation, record satellite PRN number in the SatNOGS database.

All NAVSTAR/GPS satellites transmit on the same L1/L2 frequencies, and use Pseudo-Random Noise (PRN) sequences, or Gold codes, to differentiate themselves from one another. PRNs are published here: Another list with NORAD IDs: Global Positioning System (GPS) Operational satellites


That’s an interesting suggestion!

@pross do you know if that’s something that is applicable to other GNSS constellations?

Yes. Galileo, GLONASS(Russia), BeiDou(China), NavIC (India) and QZSS (Japan) all use CDMA coding with PRN number to identify the unique space vehicle.

With the exception of GLOSNASS, each constellation uses same frequencies across all space vehicles. For GLONASS, each space vehicle transmits on a different frequency (1602 MHz + n × 0.5625 MHz).

1 Like

Any chance there’s a table of the Glonass FDMA Frequencies organized by satellite? I haven’t been able to find one…

GLONASS status page (in Russian) here:

There is an XML button on that webpage that points to with entry for each vehicle. e.g.

<SLOT id="1">
<NOTES>Используется по ЦН</NOTES>

(I will need to spread by response over multiple replies, as new users of libre space are limited to how many hyperlinks they can include in a post…)


SLOT_ID and COSMOS_NUM fields are unique and can be mapped back to NORAD ID using this table: GPSrChive - Satellites

FREQ_NUM indicates the channel number (in the range [-7,6]). The GLONASS ICD gives a table mapping channel number to L1 and L2 frequency. (See “Table 3.1 GLONASS carrier frequencies in L1 and L2 sub-bands”).

1 Like

Finally, despite the FDMA design, an L1/L2 frequency may be shared by multiple satellites. The GLONASS constellation is organised so that satellites sharing the same frequency are always physically separated to avoid interference. More detail on this here: GLONASS Signal Plan - Navipedia

1 Like

Interesting topic. Would this be better suited for running in between regular observations ? Or is this a storage only proposal ?

If you complete the tutorial with discobot you should be granted less limitations.

Storage only.

As we know, the GNSS constellations are used by hundreds of millions of people daily, and there are dedicated observation facilities for it. So I can’t imagine open-source/amateur observation data being useful to many people.

What am I doing? Running direction finding experiments on the L1 channel. I found it frustrating that the popular the sat tracking app, which uses SatNOGS data for freqs, does not show PRN numbers.


For context, I’d like to link to the previously mentioned feature request for Look4Sat here: rt-bishop/Look4Sat#115

As I understand @pross, this thread is about storing publicly known (static) information related to specific satellites into SatNOGS DB, to then be available to display it in SatNOGS DB and third party tools like Look4Sat. Since the PRN number is GNSS-specific (or even GNSS-constellation-specific) I can only see this viable to get realized by developing a way to easily add additional (optional) attributes to satellite or transmitter entries. With the current data model (a static schema which defines all available fields) this is not possible. That said, if there is someone to lead, a revision of the data model is possible [long term goals]. related: Feature request satnogs-db#140: extend the transmitter fields.

So I can’t imagine open-source/amateur observation data being useful to many people.

Off-Topic, but related and imo interesting: Have a look at to see another open-source/amateur observation data project and what impact it can have. Talk: How do GPS/Galileo really work & how the monitors all navigation satellites


Thank you for the most comprehensive response!