Skip to main content
Ctrl+K

SturDR 0.0.1 documentation

  • sturdr
  • sturdr

Section Navigation

  • channel package
  • dsp package
  • main module
  • nav package
  • rcvr package
  • utils package
  • sturdr
  • nav package

nav package#

Submodules#

nav.atmosphere module#

nav.ephemeris module#

ephemeris.py

file

sturdr/nav/ephemeris.py

brief

Satellite ephemeris navigation module.

date

October 2024

refs

  1. “IS-GPS-200N”, 2022

  2. “A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach”, 2007
    • Borre, Akos, Bertelsen, Rinder, Jensen

nav.ephemeris.CheckTime(t)#
class nav.ephemeris.KeplerianEphemeris#

Bases: object

Attributes:
af0
af1
af2
cic
cis
crc
crs
cuc
cus
deltan
e
health
i0
iDot
iodc
iode
m0
omega
omega0
omegaDot
sqrtA
tgd
toc
toe
ura

Methods

GetNavStates(TOW[, calc_accel])

Calculates satellite position, velocity, and acceleration given Keplerian ephemeris elements.

UpdateParameters(**kwargs)

Updates the set of ephemeris parameters based on user inputs

GetNavStates(TOW: float64, calc_accel: bool = False)#

Calculates satellite position, velocity, and acceleration given Keplerian ephemeris elements.

Parameters:
TOWnp.double

Current time of week of measurements [s]

calc_accelbool, optional

Should acceleration be calculated?, by default False

Returns:
posnp.ndarray

Satellite position [m]

velnp.ndarray

Satellite velocity [m]

accnp.ndarray

Satellite acceleratio [m]

UpdateParameters(**kwargs)#

Updates the set of ephemeris parameters based on user inputs

Raises:
ValueError

Invalid Keplerian Ephemeris parameter

af0: float64#
af1: float64#
af2: float64#
cic: float64#
cis: float64#
crc: float64#
crs: float64#
cuc: float64#
cus: float64#
deltan: float64#
e: float64#
health: float64#
i0: float64#
iDot: float64#
iodc: float64#
iode: float64#
m0: float64#
omega: float64#
omega0: float64#
omegaDot: float64#
sqrtA: float64#
tgd: float64#
toc: float64#
toe: float64#
ura: float64#

nav.gps_lnav module#

gps_lnav.py

file

sturdr/nav/gps_lnav.py

brief

Implementation of channel.py for GPS L1 C/A signals.

date

October 2024

refs

  1. “IS-GPS-200N”, 2022

  2. “Global Positioning System: Signals, Measurements, and Performance”, 2nd Edition, 2006
    • Misra & Enge

  3. “A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach”, 2007
    • Borre, Akos, Bertelsen, Rinder, Jensen

class nav.gps_lnav.GpsLnavParser#

Bases: KeplerianEphemeris

Attributes:
TOW
af0
af1
af2
bit_count
cic
cis
crc
crs
cuc
cus
deltan
e
health
i0
iDot
iodc
iode
m0
omega
omega0
omegaDot
signalID
sqrtA
subframe
subframe1
subframe2
subframe3
tgd
toc
toe
ura
week
word_count

Methods

GetNavStates(TOW[, calc_accel])

Calculates satellite position, velocity, and acceleration given Keplerian ephemeris elements.

UpdateParameters(**kwargs)

Updates the set of ephemeris parameters based on user inputs

LoadPreamble

LoadSubframe1

LoadSubframe2

LoadSubframe3

LoadSubframe4

LoadSubframe5

NextBit

ParityCheck

ParseSubframe

LoadPreamble()#
LoadSubframe1()#
LoadSubframe2()#
LoadSubframe3()#
LoadSubframe4()#
LoadSubframe5()#
NextBit(bit: bool)#
ParityCheck(gpsword: uint32)#
ParseSubframe()#
TOW: float64#
bit_count: int#
signalID#
subframe: ndarray#
subframe1: bool#
subframe2: bool#
subframe3: bool#
week: int#
word_count: int#

Module contents#

previous

main module

next

rcvr package

On this page
  • Submodules
  • nav.atmosphere module
  • nav.ephemeris module
    • CheckTime()
    • KeplerianEphemeris
      • KeplerianEphemeris.GetNavStates()
      • KeplerianEphemeris.UpdateParameters()
      • KeplerianEphemeris.af0
      • KeplerianEphemeris.af1
      • KeplerianEphemeris.af2
      • KeplerianEphemeris.cic
      • KeplerianEphemeris.cis
      • KeplerianEphemeris.crc
      • KeplerianEphemeris.crs
      • KeplerianEphemeris.cuc
      • KeplerianEphemeris.cus
      • KeplerianEphemeris.deltan
      • KeplerianEphemeris.e
      • KeplerianEphemeris.health
      • KeplerianEphemeris.i0
      • KeplerianEphemeris.iDot
      • KeplerianEphemeris.iodc
      • KeplerianEphemeris.iode
      • KeplerianEphemeris.m0
      • KeplerianEphemeris.omega
      • KeplerianEphemeris.omega0
      • KeplerianEphemeris.omegaDot
      • KeplerianEphemeris.sqrtA
      • KeplerianEphemeris.tgd
      • KeplerianEphemeris.toc
      • KeplerianEphemeris.toe
      • KeplerianEphemeris.ura
  • nav.gps_lnav module
    • GpsLnavParser
      • GpsLnavParser.LoadPreamble()
      • GpsLnavParser.LoadSubframe1()
      • GpsLnavParser.LoadSubframe2()
      • GpsLnavParser.LoadSubframe3()
      • GpsLnavParser.LoadSubframe4()
      • GpsLnavParser.LoadSubframe5()
      • GpsLnavParser.NextBit()
      • GpsLnavParser.ParityCheck()
      • GpsLnavParser.ParseSubframe()
      • GpsLnavParser.TOW
      • GpsLnavParser.bit_count
      • GpsLnavParser.signalID
      • GpsLnavParser.subframe
      • GpsLnavParser.subframe1
      • GpsLnavParser.subframe2
      • GpsLnavParser.subframe3
      • GpsLnavParser.week
      • GpsLnavParser.word_count
  • Module contents
Show Source

© Copyright 2024, Daniel Sturdivant.

Created using Sphinx 8.0.2.

Built with the PyData Sphinx Theme 0.15.4.