Sylphase SDGPS
The software-defined GPS(/GNSS) toolkit
cooked

Cooked is the same as raw, except that instead of GNSS samples, we have correlations (GNSSSamplePackets replaced with GNSSCorrelationPackets)

Substream configs need to have correlator_spacing (real; units of samples) and correlator_count (integer) members added.

cooked sinks should not care about frequency of GNSS substreams; frequencies and phases are referred to signal_info.f_center

NOTE: cooked is unique in that its handle method is allowed to be called from multiple threads simultaneously. the exact restriction is that:

  • handle calls for a given GNSS substream can not overlap
  • handle calls for non-GNSS messages (imu, baro, mag) can not overlap

The new GNSSCorrelationPacket contains:

  • Space Vehicle Number
  • Correlation Taps
  • The signal replica configuration that was used

Whatever accepts this packet also sends back a configuration:

  • DesiredCorrelatorConfiguration, containing a desired configuration for the on-board correlators. This consists of: a doppler shift, what sample to center the replica at, etc