Skip to content

alainmuls/stfproc

Repository files navigation

STFProc - Processing of STF based information

Introduction xxx

The SBF format for GNSS receivers from Septentr io contain different SBF (Septentrio Binary Format) blocks. Each SBF block contains related GNSS information and can be converted to a readable STF (Septentrio Text Format) file using the sbf2stf program.

The STF blocks in a SBF file can be obtained by running:

$ sbf2stf -f <sbf-file-name>

and results in a file similar to:

*****************************
Summary of Blocks Information
*****************************
[005914][5914]_Block_Count=     86400 
    (ReceiverTime (v1) = Current receiver and UTC time)
[012219][4027]_Block_Count=     86400 
    (MeasEpoch (v2) = measurement set of one epoch)
[020384][4000]_Block_Count=     86400 
    (MeasExtra (v1) = additional info such as observable variance)
[012199][4007]_Block_Count=     86400 
    (PVTGeodetic (v2) = Position, velocity, and time in geodetic coordinates)
[005906][5906]_Block_Count=     86400 
    (PosCovGeodetic (v1) = Position covariance matrix (Lat, Lon, Alt))
[005908][5908]_Block_Count=     86400 
    (VelCovGeodetic (v1) = Velocity covariance matrix (North, East, Up))
[004001][4001]_Block_Count=     86400 
    (DOP (v2) = Dilution of precision)
[004008][4008]_Block_Count=     86400 
    (PVTSatCartesian (v1) = Satellite positions)
[012201][4009]_Block_Count=     86400 
    (PVTResiduals (v2) = Measurement residuals)
[004011][4011]_Block_Count=     86400 
    (RAIMStatistics (v2) = Integrity statistics)
[005935][5935]_Block_Count=     86400 
    (GEOCorrections (v1) = Orbit, Clock and pseudoranges SBAS corrections)
[005950][5950]_Block_Count=     86400 
    (BaseLine (v1) = Rover-base vector coordinates)
[005921][5921]_Block_Count=     86400 
    (EndOfPVT (v1) = PVT epoch marker)
[004013][4013]_Block_Count=     86400 
    (ChannelStatus (v1) = Status of the tracking for all receiver channels)
[004012][4012]_Block_Count=     86400 
    (SatVisibility (v1) = Azimuth/elevation of visible satellites)
...
[005894][5894]_Block_Count=       119 
    (GPSUtc (v1) = GPS-UTC data from GPS subframe 5)
[004002][4002]_Block_Count=      1610 
    (GALNav (v1) = Galileo ephemeris, clock, health and BGD)
[004030][4030]_Block_Count=      4605 
    (GALIon (v1) = NeQuick Ionosphere model parameters)
[004031][4031]_Block_Count=      4514 
    (GALUtc (v1) = GST-UTC data)
[004032][4032]_Block_Count=      3165 
    (GALGstGps (v1) = GST-GPS data)
[004017][4017]_Block_Count=    163936 
    (PSRawCA (v1) = GPS CA navigation frame)
[004022][4022]_Block_Count=     67735 
    (ALRawFNAV (v1) = Galileo F/NAV navigation page)
[004058][4058]_Block_Count=         4 
    (IPStatus (v1) = IP address, gateway and MAC address)
[004019][4019]_Block_Count=     64991 
    (PSRawL5 (v1) = GPS L5 navigation frame)
[004023][4023]_Block_Count=    342258 
    (ALRawINAV (v1) = Galileo I/NAV navigation page)
[004018][4018]_Block_Count=     50444 
    (PSRawL2C (v1) = GPS L2C navigation frame)
[004003][4003]_Block_Count=      4196 
    (GALAlm (v1) = Almanac data for a Galileo satellite)
[004034][4034]_Block_Count=      2671 
    (ALSARRLM (v1) = Search-and-rescue return link message)
*********************************
Total of 41 Different blocks found
Total of 0 CRC errors found
*********************************

For getting one or more of these STF blocks, please execute:

$ sbf2stf -h

This stfproc repository currently processes for following STF blocks:

  • stfgeodetic.py
    • processing of PVTGeodetic (v2) = Position, velocity, and time in geodetic coordinates
  • stfrxstatus.py
    • processing of ReceiverStatus (v2) = Overall status information of the receiver

Script stfgeodetic.py

The script stfgeodetic.py reads the PVTGeodetic v2 STF file into a python DataFrame and

  • calculates from the geodetic coordinates the UTM projection coordinates
  • adds a DateTime structure.

The script plots the UTM coordinates (versus time and scatter plot), determines what navigation services have been used and whether 2D/3D positioning is used. This is reflected in the plots created.

Getting help

$ stfgeodetic.py -h
usage: stfgeodetic.py [-h] [-d DIR] -f FILES -g GNSS [-m MARKER MARKER MARKER]
                      [-l {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET} {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}]

stfgeodetic.py reads in a sbf2stf converted SBF Geodetic-v2 file and make UTM
plots

optional arguments:
  -h, --help            show this help message and exit
  -d DIR, --dir DIR     Directory of SBF file (defaults to .)
  -f FILES, --files FILES
                        Filename of PVTGeodetic_v2 file
  -g GNSS, --gnss GNSS  GNSS System Name
  -m MARKER MARKER MARKER, --marker MARKER MARKER MARKER
                        Geodetic coordinates (lat,lon,ellH) of reference point
                        in degrees: ["50.8440152778" "4.3929283333"
                        "151.39179"] for RMA, ["50.93277777", "4.46258333",
                        "123"] for Peutie, default ["0", "0", "0"] means use
                        mean position
  -l {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET} {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}, --logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET} {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}
                        specify logging level console/file (default INFO
                        DEBUG)

Example runs

$ stfgeodetic.py -g 'GNSS OS' -d ${HOME}/RxTURP/BEGPIOS/ASTX/19100/stf 
    -f SEPT1000.19__PVTGeodetic_2.stf -l INFO DEBUG
$ stfgeodetic.py -g 'Galileo PRS' -d ${HOME}/Nextcloud/E6BEL/19255/stf 
    -f STNK2550.19__PVTGeodetic_2.stf -l INFO DEBUG

Example of output

A python DetaFrame is saved as a CSV file, containing the geodetic and UTM position information.

Following plots are created:

UTM coordinates vs time

UTM scatter plot

\newpage

Script stfrxstatus.py

The script stfrxstatus.py reads the ReceiverStatus v2 STF file into a python DataFrame and plots the automatic gain control (AGC) of the different front-ends.

Plot of AGC on front-ends AsteRx SB

About

Processing of SBF blocks using sbf2stf

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published