-
Notifications
You must be signed in to change notification settings - Fork 14
Input Data
OSNMAlib is not a GNSS receiver, hence it piggybacks on a full-featured GNSS receiver to work. From this receiver, OSNMAlib needs the navigation bits transmitted by the satellites, the ID of the satellite that transmitted the data and the GNSS time.
The reception of the GNSS time is key because is the only way OSNMAlib can track time. OSNMAlib receives the navigation bits in nominal pages (also called double pages) and expects these to come timestamped.
The time indicated in each epoch shall never go back, it must always be equal to or greater than the time indicated in the previous epoch.
OSNMAlib gets the navigation bits and complementary data encapsulated in a DataFormat
object. This object accepts as mandatory parameters the satellite ID, the GNSS time and the navigation data.
-
svid
[int] - ID of the satellite transmitting the navigation data. Valid values: [1,36] -
wn
[int] - Week number of when the navigation data was transmitted with respect to Galileo start time. -
tow
[int] - Time of Week in seconds of when the navigation data was transmitted. -
nav_bits
[BitArray] - The 240 navigation data bits concerning a nominal page. Some of these bits are of no use by OSNMAlib so they can be filled with 0, but the software expects the full page. The parameter shall be a BitArray object. -
band
[str] - Optional parameter to specify the band form which the navigation bits come from. Currently, OSNMAlib only supports I/NAV data, but in the future F/NAV may be of interest. Possible values areGAL_L1BC
for I/NAV andGAL_E5b
for F/NAV. Defaults toGAL_L1BC
. -
crc
[bool] - Optional parameter to specify if the page passed the CRC verification. Defaults toTrue
.
The code implementing this class can be found here.
The data reception of OSNMAlib is abstracted behind an iterator. The software receiving loop expects at each iteration a DataFormat
object and an index.
In Python, an iterator is an object which implements the iterator protocol, which consists of the methods
__iter__()
and __next__()
. The __iter__()
method allows to do some initializing, but must always return the
iterator object itself. The __next__()
method also allows to do operations and must return the next item in the
sequence.
Therefore, any data input class must implement the iterator interface and do the internal operations to provide a DataFormat
object for every nominal page with a GNSS time that never goes backwards.
TBC
TBC
TBC
TBC