The receiver section is responsible for tracking one GNSS service, like Galileo E1BC (Open Service on E1) or GPS L5 just to name a few examples. Typically multiple receiver sections are present and they are named as Receiver0, Receiver1, ... , Receiver10, Receiver11 and so on. The receiver section comprises a number of parameters for replica generation, tracking loop configuration, navigation message decoding and other features. The table below lists the ones most relevant for standard tracking, like it is found in reference stations and described in most text books. At the end of this page some special remarks are given including configuration of the correlation engine.


ParameterDescriptionUnitDefault / Related ValuesNotes
AntennaIdThe antenna ID is used to distinguish different GNSS antennas in a multi-antennae system. The first antenna has the id = 0. This entry actually defines the id (it is not a selector). -
The IF sample data selection is done by the field 'StreamNo'.
BumpJumpIf true, a bump jump algorithm is performed to avoid false locks with BOC signals (or for any navigation signal exhibiting a correlation function with multiple peaks). The bump jump algorithm is carried out with the data signal component. -
Note, that you need to configure a proper number of multi-correlators to identify false locks.
BumpJumpIntegrationTimeTime period used to determine the position of the correlation function peak. The bump jump algorithm shifts the peak back to the prompt correlator, if a significant deviation is detected.s

BumpJumpMinDistanceIf the bump jumper does not attempt to jump for more subchips than this value, the bump jump is cancelled (to avoid frequent jumps of low distance)m

BumpJumpThresholdIf the ratio of the largest correlator value divided by the prompt correlator value exceeds this threshold, the bump jumper is triggered.-

CarrierPhaseAlwaysIf true, then the carrier phase is always measured, even if the channel is not in phase lock.-
Use mostly for debugging applications. Should be set to 'false' during normal receiver operation.
CodeMultiPathStdDevCode pseudorange accuracy offset, which is added to the code discriminator based standard deviation. The output code pseuodrange accuracy follows the formula sqrt( 'CodeMultiPathStdDev'^2 + DiscNoiseStdDev^2 ). Applies only if 'AddDiscriminatorToRawMeasurements' is true.m
Normalls not used; see also SPP.StdDevCodePseudorangeAutomatic
CoherentFractionDefines primary coherent integration period for the data channel. The primary coherent integration period is determined as the PRN code period divided by 'CoherentFraction'.-
Normally set to 1, with the notable expection of  L2CL
CoherentFractionSlaveSame as CoherentFraction, but for pilot channel-
The primary coherent integration period is determined as the PRN code period divided by 'CoherentFractionSlave'.
CoherentIntegratorModul to do secondary coherent integration and bit-sync for the data channel. -

0 = bypass (default if signal has no secondary code);

1 = histogram for GPS C/A;

2 = Kalman Filter+Viterbi (default method for all signals with secondary codes);

3 = cross-correlation with predefined secondary code (default for signals with long secondary codes, e.g. L1CP).


CoherentIntegratorSlaveSame as CoherentIntegrator but for pilot channel-

CorrelatorMode

Flag to indicate if numerical approximations are applied when generating the replica signals for the data channel. To obtain an utmost precision, CorrelatorMode must be set to 0. Only applicable if the parameter CorrelatorType = 1.


CorrelatorType 4 always works in precise mode.

-

0 → precise correlation

1 → fast correlation

Use 0 per default, as speed gain by using 1 is low.
CorrelatorModeSlave Same as CorrelatorMode but for pilot channel.


CorrelatorTrackingModeIf CorrelatorTrackingMode == 1 then waveform based tracking is used (P- and D-correlator are employed), if CorrelatorTrackingMode==0 then correlator based tracking is used (early, prompt, late, ... correlators are used). Applies only for 'CorrelatorType == 1'

CorrelatorType 4 always works in correlator based mode.
-
Note 1: waveform based tracking requires D-correlator entries within the *.rcf file and is insensitive to the used IF sample rate.

Note 2: correlator based tracking requires calculation of the EarlyLateScale based on the used correlator configuration and sampling rate.
CorrelatorType

Indicates which code base is used for signale correlation

CorrelatorType should be set to 1 for standard GNSS tracking. CorrelatorType==1 realizes a full 16-bit hardware NCO plus multi-correlator on the CPU without any approximations

CorrelatorType=4 is a GPU-based correlator exploiting FP16 values for IF samples and needs a nVidia graphics card of at least Turing architecture.

CorrelatorType==5 is a true AltBOC correlator following the same principles as type 1.



The other types are for special use only and should be used with care: CorrelatorType==0 is CPU based waveform based tracking only and quite slow (legacy code) and CorrelatorType==2 is an 8-bit CPU based correlator with less memory bandwidth demands but introducing some extra noise. CorrelatorType==3 is a special type to be use if this section defines a GNSS signal generator,   CorrelatorType=6 is an  GPU-based correlator exploiting FP16 values and shared memory for IF samples and needs a nVidia graphics card of at least Turing architecture

-
Use 1 as default
CycleSlipBadPointsNumber of bad points added to the cycle slip stability counter each time when the PLL exceeds a stability threshold (0.125 cyc for data channels, 0.25 cyc for data+pilot channels). If no cycle slip is detected the stability counter is decreased by 1.-

CycleSlipThresholdIf the number of bad points exceeds this threshold, a cycle slip flag will be set and the number of bad points will be reset.-

DataWipeOffIf set to true, then the data channel tries to perform a data wipe-off to improve carrier tracking performance.-
requires that data bits are provide as .nav file to MuSNAT
DataWipeOffSlaveSame as DataWipeOff but for pilot channel-

DescriptionA string describing the current receiver configuration. The string has no influence on the processing.-

DllBandWidthNarrowThe bandwidth used in the DLL; applies for FilterMode 1 and 2 (after filter convergence)Hz

DllBandWidthWideFor 'FilterMode' = 2. Defines the DLL bandwidth, used immediately after acquisition (and thus before convergence). Hz

DllFilterOrderDLL filter order for 'FilterMode' = 1. Choose 1-3 for a 1st to 3rd order filter. Choose 0 for open loop tracking. -

DoHardSyncIf set to true then an artifical satellite time stamp 0 is used to calculate pseudoranges. This can be used when the navigation signal does not carry any time stamp. Useful when pseudorange differences are used in a specific test measurement scenario. -
Set to false during normal operation
NavDataBitPresentIndicates if a Costas phase discriminator is going to be used or not and if navigation data is used or ignored. The Costas phase discriminator will cope with data bits or with a secondary code on the data channel.-

DumpMultiCorrValuesIf true, then multi-correlator values are logged into a files with the *.mclog format. Note: Dumping of multi-correlator values is recommended only in post-processing mode. If set to true then multi-correlator positions are defined via 'MinMCIndex/MaxMCIndex'. See also parameter: DumpMultiCorrValuesFileTemplate-
true = log MC Values,  false = no logging
DumpMultiCorrValuesFileTemplateFilename template for multi-correlator dump files. Must be of the form 'MCDump_service%d_sat%d_chan%d_cnt%d_type%s.mclog'. See also parameter: DumpMultiCorrValues-
e.g. Out\Galileo_E1_MCDump_sys%d_sat%d_chan%d_cnt%d_type%s.mclog
EarlyIndexDefines early correlator for data channel as index to the list of CorrelatorPositions. Used if correlator based tracking is used (see CorrelatorType)-

EarlyIndexSlaveSame as EarlyIndex but for pilot channel.-

EarlyLateScaleFactor to multiply with the (E-L)/P difference for code tracking (data channel). Used if correlator based tracking is used (see CorrelatorType)-
The YASST tool calculates this value in the function doPerfAnalysis (the parameter doPerfAnalysis must be set to true for that). The value to be used is called Code correlator gain and is given in µs. The Code_correlator-gain value represents the slope of the discriminator (DLL) S-curve. The formula to calculate this value is given below:  EarlyLateScale = Code_correlator_gain [s] * Oversampling_factor [Subchip/Chip] * Nominal_code_rate [Chip/s]
EarlyLateScaleSlave

Same as EarlyLateScale but for pilot channel.

-

ExtendedCoherentIntDurationDuration of the extended coherent integration time of the data channel in terms of number of primary coherent integrations (e.g. 1, 5, 25). The secondary coherent integration time is the product of this number with the primary code length divided by the 'CoherentFraction'.

Usually set to a value to achieve an extended coherent integration time of 4 ... 10 ms.
ExtendedCoherentIntDurationSlaveSame as ExtendedCoherentIntDurationfor pilot channel.-

FilterModeTracking loop filter mode.

1 ... standard DLL/PLL tracking where PLL switches to FLL if signal power is below ThresholdFLL

2 ... aided DLL/FLL/PLL (see Kaplan book)
-
Use 1 for default operation
FllBandWidthNarrowThe bandwidth used in the FLLHz

FllBandWidthWideFor 'FilterMode' = 2. Defines the FLL bandwidth, used immediately after acquisition. Hz

FllCycleSlipThresholdApplies for 'FilterMode' = 1 and PLL tracking only: If the FLL discriminator exceeds this value in [Hz], then a cycle slip is inserted and the carrier tracking loop switches back to FLL tracking. If you choose 0, then no check is employed.-

FllFilterOrderFLL filter order for 'FilterMode' = 1. Choose 1-3 for a 1st to 3rd order filter. Choose 0 for open loop tracking. -

FLLCodePhaseOffsetOffset for LEO-SVs in handover between acq→trackingm
Determined by multicorrelator observation
FLLErrorPulseLengthEnergy containing Pulselength of replica, used in FLL error computation. Used f.e. with 5G PRS Trackings

FrameSizeNumber of IF samples within one frame. A frame is a batch of samples used in signal tracking. An integer number of frames must fit into packet of IF samples. The frame size needs to be smaller than the smallest primary coherent integration period.-
Choose '0' for automatic frame size calculation.
FrequencyOffset

A frequency offset to the carrier frequency can be set, for example 750000 Hz. Gets added upon IF,

This was for example used in experiments to not disturb real GPS-users.

Can be used to identify the E5a and E5b center frequency within a IF sample stream capturing the whole E5 band.

If used, increase AcqMinReqSampleRate accordingly avoid bandlimitiations in Acquisition.

Hz
for example: 750000 Hz. Gets added onto IF. If this Parameter is used, make sure to increase 
GpsWeekOffsetThis value is added to the decoded GPS NAV week number. -Should be 0, 1024 or 2048The first rollover (1024) took place midnight August 21 to 22, 1999. 

The second rollover (2048) occurred on the night of April 6 to 7, 2019.
HardwareDelayReceiver hardware delay. This value is subtracted from the code phase, the pseudorange and the carrier phase measurements when the pseudoranges are generated in the receiver. If you want to steer the interfrequency biases displayed in the Position window to 0, then add the IFBs to the hardware delay values.m

HistogramLengthNumber of primary coherent integrations (i.e. PRN code periods) within one secondary code period of the data channel. If the secondary coherent integrator supports extended coherent integration times (e.g. 20 ms for GPS C/A), then you may use the negative value for 'HistogramLengthSlave' to stick normal coherent integration (e.g. 1 ms).

Applies for CoherentIntegrator type 1 and 2 (but not for 3)



HistogramLengthSlaveSame as HistogramLength but for pilot channel.


HistogramRunTimeHow many primary coherent integration values are used for bit/symbol-synchronization of the data channel. Applies for the CoherentIntegrator type 1, 2 and 3.


HistogramRunTimeSlaveSame as HistogramRunTime but for pilot channel


HistogramTrialsNumber of identical histogram results in a row before bit sync.
3Used with CoherenIntegratorSlave 3
LateIndexSee EarlyIndex-

LateIndexSlaveSee EarlyIndex-

LogFileHighRate

Activate if high rate .dumplog files should be written
(huge file sizes possible)

High rate logging results in a dump every primary coherent integration interval (i.e. at the PRN period rate). Normal rate logging follows the extended coherent integration time.




LogFileNameModeFile mode when the dump-log file is opened. A dump-log file is opened, every time the corresponding signal has been (re-)acquired. The file is closed after a loss-of-lock event. Choose 'wt' to always create a new file or 'at' to append to a possibly existing file (this option is useful if the channel experiences loss-of-locks and subsequent re-acquisitions).-

LogFileNameTemplateFile name template for dump logging. Must be of the form 'GPS_dump_PRN%d.dumplog', where '%d' will receive the PRN number. See also parameter: PRNsToLog-

MasterForSlaveChannels of this receiver are providing NCO values to other receivers to allow channel slaving-true or falseSet to false for normal receiver operation
MasterControlsAlsoCodeIf set to true, then channel aiding between master and slave channels also includes code phase and code rate (carrier phase and Doppler is always slaved)-true or false
MasterCarrierScalingIf true, then carrier phase/Doppler is scaled from master to slave to achieve indentical phase / Doppler values expressed in [m] (resp.[m/s]). If false, carrier phase in [cyc] and Doppler in [Hz] is identical for master and slave.-true or false
MasterIdIf different from -1, identifies the ReceiverId that acts as master for channel slaving-0 for Receiver.  -1 to deactivate
MaxMCIndexUse to configure the multi-correlator in case MultiCorrelatorConfiguration == true. It is the multi-correlator maximum index for data channel.

Position in [chip] = 'MinMCIndex'/sample_rate*code_rate. Note: working with 'CorrelatorType' = 2 implies that half the sample rate is used. If for example set to -100 then (for GPS L1/C/A or Galileo E1B and sampling rate of 100MhZ) correlators  from 100*1.023*10^6/(100*10^6) - ca. 1 chip till the prompt correlator=0 are used. If MaxMCIndex set to 100 in this case, the correlation function for +/- 1 chip can be seen.
-

MaxMCIndexSlaveSame as MaxMCIndex but for pilot channel.-

MaxMultiCorrOrderMaximum multi-correlator order; if 'MultiCorrOrder' exceeds this value, then timely successive correlator values will be averaged.-

MeasurementDopplerNoiseCov, MeasurementDopplerNoiseCovSlaveFor bit-sync. with CoherentIntegrator type 2. Assumed Doppler measurement noise covariance-
Those values are very specific and require trial and error to set them properly.
MeasurementPhaseNoiseCov, MeasurementPhaseNoiseCovSlaveFor bit-sync. with CoherentIntegrator r type 2. Assumed Phase measurement noise covariance-
Those values are very specific and require trial and error to set them properly.
MinMCIndexSee MaxMCIndex-

MinMCIndexSlaveSee MaxMCIndex-

MultiCorrDataFractionThe fraction (0.0-1.0) of the FFT integration time that
is actually filled with correlation values. The remaining
part is filled with zeros. This value is used to increase
the Doppler resolution of the multi-correlator; e.g. a
value of 0.25 increases the Doppler resolution by a
factor of 4.



MultiCorrNavBitsRequiredIf true, then navigation data bits need to be available
to compute multi-correlator values. If they are not
available, then multi-correlator values are not
computed. Note: if data bits/symbols are available,
they will be wiped off before increasing the coherent
integration time according to 'MaxCorrOrder'.



MultiCorrNcoModeTo select the NCO operating mode during the (long multi-correlator) coherent integration time. 0 = use NCO of internal tracking, 1 = constant Doppler, 2 = directly estimate and reduce carrier phase from small batches.-

MultiCorrOrderDefines the coherent integration time in [µs] for the multi-correlator, T_coh = 2^'MultiCorrOrder'*PRN_code_period/'CoherentFraction'. Note, if you give a 'MultiCorrOrder' > 'MaxMultiCorrOrder', then the receivers starts to average successive primary integrate and dump values to achieve an total number of 'MaxMultiCorrOrder' integrate and dumps, which are then used to form the frequency domain values. This effectively reduces the Doppler span by 2^('MultiCorrOrder'-'MaxMultiCorrOrder'). In this case no time domain values are visualized or written to a file.-

MultiCorrRecoveryTimeMinimum time between two multi-correlator calculations in 'MultiCorrelatorUsage' = 2 or 3.s

MultiCorrRefSignal0 = infinite bandwidth PRN code, 1 = P-correlator reference signal, 2 = D-correlator reference signal, 3 = W-correlator reference signal. The index refers to the reference signal types of the file specified in 'Main.RandomCodesFile'.-

MultiCorrelatorConfigurationIf true, then multi-correlator positions are defined via 'MinMCIndex/MaxMCIndex', if false then positions are defined via 'CorrelatorPositions' or 'CorrelatorPositionsSlave'. Applies only for CorrelatorType 1 and 4-
It is recommended to use MultiCorrelatorConfiguration == false to maximize compatibility with older configurations.
MultiCorrelatorForTrackingIf true, then multi-correlator are computed continuously, if false then depending on 'MultiCorrelatorUsage'. Applies only for 'CorrelatorType == 1'.-
Needs to be set to true for correlator based tracking; if waveform based tracking is used, then true or false can be selected depeding on the specific use case.
MultiCorrelatorUsageDefines if the multi-correlator is used. -

0 = Off

1 = All channels

2 = Fixed PRN

3 = Time sequencing

4 = Dynamic on the fly from GUI

Typical cases: 0 or 1
MultiCorrelator_PRNApplies if 'MultiCorrelatorUsage' = 2 and defines PRN for which the multi-correlator is computed.-

NavDataBitsPresentIf set to true a Costas phase discriminator is used to cope with data bits or with a secondary code on the data channel.-

NavDataBitsPresentSlaveIf set to true a Costas phase discriminator is used to cope with data or with a secondary code on the pilot signal.-

NavMsgDecoderModule to do navigation message decoding on the data channel-

0 = deactivated

1 = GPS C/A NAV decoder

2 = GPS CNAV decoder

3 = GIOVE-A decoder

4 = Galileo INAV V12 decoder

5 = Egnos/Waas decoder

6 = GATE XI/NAV V9 on E1-B

7 = Pseudolite decoder

8 = GATE XI/NAV V12 on E1-B

9 = IMES

10 = QZSS

11 = GLONASS L1 decoder

12 = BeiDou decoder

13 = GALILEO E5a FNAV

14 = GALILEO E6 CNAV

15 = BeiDou D1

16= BeiDou D2


NavMsgDecoderSlaveSame as NavMsgDecoder but for the pilot channel

Note: it is possible to configure message decoding for the pilot channel, in case a message is broadcast on this component (which normally is not the case)
NavigationMessageTypeDefines the type of navigation message bit stream used for configuration of the navigation message decoder.-

-1→ Not applicable

 0 → Unknown

 1 → GPS NAV

 2 → GPS CNAV on L2

 3 → GIOVE A1 INAV on E1

 4 → Galileo INAV on E1

 5 → Galileo INAV on E5

 6 → SBAS

 7 → GLONASS

 8 → Reserved

 9 → Galileo FNAV on E5

10 → Galileo CNAV on E6

11 → GPS CNAV on L5

12 → BeiDou D1

13 → BeiDou D2

14 → IRNSS L5

15 → IRNSS S


NavigationMessageTypeSlaveAn identifier used to distinguish different navigation message bit streams used in the data wipe-off process (-

0 = unknown

1 = GPS NAV

2 = GPS CNAV

3 = GIOVE A1 INAV on E1

4 = Galileo INAV on E1

5 = Galileo INAV on E5

6 = SBAS

7 = GLONASS.


NumberAssistanceBitsThis is a parameter used to store navigation data (from the data channel) bits/symbols at a reference station in the .nav file. Bits/symbols are stored in the form of packets in the navigation data container and are written to file at receiver stop. This value defines the number of bits/symbols per packet. Use 0 to deactivate navigation bit/symbol storage.-

Note 1: It is actually mostly irrelevant which value is used to activate bit logging as subsequent packets are concatenated within the .nav file. Use e.g. 300 as a default value to activate bit logging.

Note 2: should be set to zero during normal receiver operation.

NumberAssistanceBitsSlaveSame as NumberAssistanceBits but for pilot channel-
Note: makes only sense if - for whatever reason - a message is modulated onto the pilot channel. Otherwise only '1's will be logged.
NumberOfMasterChannelsNumber of channels in this receiver-

NumberOfSignalComponents1 = only the data component is tracked, 2 = data and pilot are tracked.-

ParallelizingMasterChannelsIndicates if the processing of the MasterChannels is parallelized by OpenMP: 0 ... no parallelization, 1 ... parallelized. If more than one receiver is used adapt the number of OpenMP threads, otherwise the overhead is too big (see config entry ParallelizingMasterChannelsThreadNumber).-
Normally parallelization is recommended for faster processing, i.e. set ParallelizingMasterChannels to 1
ParallelizingMasterChannelsThreadNumberNumber of parallel OpenMP threads when parallelizing MasterChannels (see config entry ParallelizingMasterChannels)-
Depending on the CPU type, a good value is 2 to 4.
PhaseDifferenceCarrier phase difference between data and pilot signal.deg
To be set according to the signal ICD to ensure that data and pilot component are properly combined.
PllBandWidthNarrowPLL bandwidth for FilterMode 1 and 2 (after convergence)Hz

PllBandWidthWideFor 'FilterMode' = 2. Defines the wide PLL bandwidth, used immediately after acquisition (and thus before convergence).Hz

PllFilterOrderPLL filter order for 'FilterMode' = 1. Choose 1-3 for a 1st to 3rd order filter. Choose 0 for open loop tracking. -

PllWeightFactorBigApplicable only for 'FilterMode' = 2. Defines the phase discriminator contribution to the carrier tracking filter. The frequency discriminator contributes (1-'PllWeightFactorBig') to the carrier tracking filter. The 'big' value is used in final tracking mode (narrow bandwidths). Usually this factor is big (i.e. near to 1).-

PllWeightFactorSmallApplicable only for 'FilterMode' = 2. Defines the phase discriminator contribution to the carrier tracking filter. The frequency discriminator contributes (1-'PllWeightFactorSmall') to the carrier tracking filter. The 'small' value is used after acquisition. Usually this factor is small (i.e. near to 0).-

PolyFitCarrierIf true, then apply a poly fit of order 'PolyFitOrderCarrier' based on the carrier discriminator plus the carrier pseudorange is performed during one measurement interval to extract the carrier measurement.-
Only used for vector tracking. Set to false for normal receiver operation.
PolyFitCarrierMaxAgeMaximum age of the carrier discriminator values to be considered for 'PolyFitCarrier' or 'PolyPreciseDoppler'.s
Only used for vector tracking.
PolyFitCarrierQualityCheckIf true, then code/carrier pseudoranges plus Doppler measurements are only generated, if the polyfit to the
carrier phase did show a maximum residual below 'PolyFitCarrierThreshold'.
-
Only used for vector tracking.
PolyFitCarrierThresholdIf the maximum residual of the carrier-polyfit is below
this threshold, then the carrier polyfit method
is declared to be successful and used for further
processing.
cyc
Only used for vector tracking.
PolyFitCn0If true, then apply a poly fit of order 'PolyFitOrderCn0' based on the integrate-and-dump interval C/N0 values is performed during one measurement interval to extract the C/N0 estimate.-
Only used for vector tracking. Set to false for normal receiver operation.
PolyFitCodeIf true, then apply a poly fit of order 'PolyFitOrderCode' based on the code discriminator plus the code pseudorange is performed during one measurement interval to extract the code measurement.-
Only used for vector tracking. Set to false for normal receiver operation.
PolyFitDopplerIf true, then apply a poly fit of order 'PolyFitOrderDoppler' based on the Doppler discriminator plus the NCO Doppler value is performed during one measurement interval to extract the Doppler measurement.-
Only used for vector tracking. Set to false for normal receiver operation.
PolyFitOrderCarrierOrder of the polynomial to fit carrier discriminator values over the measurement interval (used if 'AddDiscriminatorToRawMeasurements' == true ).-
Only used for vector tracking.
PolyFitOrderCn0Order of the polynomial to fit CN0 values over the measurement interval (used if 'AddDiscriminatorToRawMeasurements' == true ).-
Only used for vector tracking.
PolyFitOrderCodeOrder of the polynomial to fit code discriminator over the measurement interval (used if 'AddDiscriminatorToRawMeasurements' == true ).-
Only used for vector tracking.
PolyFitOrderDopplerOrder of the polynomial to fit Doppler discriminator over the measurement interval (used if 'AddDiscriminatorToRawMeasurements' == true ).-
Only used for vector tracking.
PolyPreciseDopplerIf true, then precise Doppler estimates are output
based on a polyfit of the carrier phase during the
measurement interval. The maximum possible
polynomial order is determined by
'PolyFitOrderCarrier'. If polyfit residuals are too high
(see 'PolyFitCarrierThreshold'), then conventional or
'PolyFitDoppler' based measurements are generated.
-
Only used for vector tracking.
PowerAveragingTimeAveraging period for C/N0 estimation of the data channel.s
Note: the output C/N0 values is the sum of the data and pilot contribution.
PowerAveragingTimeSlaveSame as PowerAveragingTime but for pilot channel.s

PrecomputedCorrelationCodePrecomputedCorrelationCode needs to be set to 2 (correlation dot-product is computed via Intel IPP if CPU-based correlation is used). Other values are not supported anymore.-
Always set to 2!
ProcessAccelNoiseCovSlave For bit-sync. with CoherentIntegrator type 2. Assumed Doppler rate process noise covariancerad^2/s^5
Those values are very specific and require trial and error to set them properly.
ProcessFreqNoiseCovSlave For bit-sync. with CoherentIntegrator type 2. Assumed Doppler process noise covariancerad^2/s^3
Those values are very specific and require trial and error to set them properly.
ProcessPhaseNoiseCovSlave For bit-sync. with CoherentIntegrator type 2. Assumed phase process noise covariancerad^2/s
Those values are very specific and require trial and error to set them properly.
PromptIndexSee EarlyIndex-

PromptIndexSlaveSee EarlyIndex-

SatelliteSystemSatellite system of the signals to be tracked by the receiver-

0 → Unknown system

1 → All satellites of a system (no specific satellite number)

2 → GPS system

3 → Galileo system

4 → GLONASS system

5 → GEO/WAAS system

6 → Signal from Pseudolite

7 → IMES signal (PRN 173-182)

8 → QZSS signal (PRN 182-187, 193-197)

9 → BeiDou system

10 → BeiDou system (Compass)

11 → LTE system

12 → Starlink

13 → IRNSS system

14 → Iridium system

15 → Xona system

16 → 3GPP NR-like

17 → 5G NTN system (Non Terrestrial Network)

18 → 5G TN system (Terrestrial Network)

Note: this value is attached to the raw observations to label them properly.
SecondaryCodeSecondary code sequence for the data channel, to be specified in chips. Use a ';' to separate PRN-specific secondary codes. If only one sequences is given, it will be used for all PRNs.-
Note: the secondary code is used by the CoherentIntegrator type 2 and 3 to perform secondary code synchronization and to wipe-off the secondary code chip after synchronization has been achieved.
SecondaryCodeSame as SecondaryCode for the pilot channel.-

ServiceLabel to identify the GNSS service tracked by the receiver-

0 → Unknown service, for test purposes

1 → GPS C/A code on L1

2 → GPS Civil signal on L2

3 → GPS P(Y)-code code on L2

4 → GPS L5

5 → Galileo E1 OS

6 → Galileo E5a OS

7 → EGNOS (or WAAS, ...) on L1

8 → GLONASS L1 C/A

9 → GLONASS L2 C/A

10 → IMES on L1

11 → QZSS on L1

12 → Pseudolite C/A code on L1

13 → Galileo E5b OS

14 → Galileo E5a+b OS

15 → Galileo E6

16 → GPS L1C

17 → GPS L1 P(Y)

18 → GLONASS L1 P

19 → GLONASS L2 P

20 → EGNOS (or WAAS, ...) on L5

21 → AUX1 

22 → AUX2 

23 → AUX3 

24 → AUX 4 

25 → AUX 5

26 → COMPASS B1

27 → COMPASS B2 

28 → COMPASS B3 

29 → Galileo E1 PRS Wideband 

30 → Galileo E1 PRS Upper 

31 → Galileo E1 PRS Lower 

32 → Galileo E6 PRS Wideband

33 → Galileo E6 PRS Upper

34 → Galileo E6 PRS Lower

35 → Beidou B1C 

36 → LTE

37 → Starlink Channel 3

38 → Starlink Channel 4

39 → IRNSS NAVIC L1

40 → IRNSS NAVIC L5 SPS

41 → QZSS L1C

42 → Iridium Ring Alert (Simplex Channel 7)

43 → Xona-lite (not Xona, mimics L5)

44 → 5G NTN

45 → 5G TN

46 → 3GPP NR-like

47 → Starlink Channel 1

48 → Starlink Channel 2

49 → Starlink Channel 5

50 → Starlink Channel 6

51 → Starlink Channel 7

52 → Starlink Channel 8

Note: this value is attached to the raw observations to label them properly.
SignalPowerEstimatorTypeEstimator type for C/N0 estimator. Intended to be changed for signals with uneven energy distribution.-

1 → Differential Estimator (classic, default)

2 → Squaring Estimator

described in doi: 10.1109/PLANS.2006.1650689.
StreamNoSelection of the IF band to be processed by this receiver unit. Either IF sample stream id (0, 1, 2, ...) or nominal RF of respective frequency band (e.g. 1575420000).-

SubdividePacketsIntoFramesSet to true to enable subdivision of IF sample packets into smaller frames (this is required for all 'GNSS receiver' modules but not for the spectrum analyzer-

ThresholdExportC/N0 threshold for a raw pseudorange measurement record. The record's estimated C/N0 value must exceed this threshold in order that the record is exported to the navigation processor.dBHz

ThresholdFLLFor 'FilterMode' 1 = minimum C/N0 required to switch from FLL into PLL mode and to stay there. For 'FilterMode' 2 = minimum C/N0 required to narrow down tracking loop bandwidths.dBHz

ThresholdLossOfLockLoss-of-lock threshold, if C/N0 falls below this value, tracking is stopped.dBHz

TrackingTimeLimitFLLFor 'FilterMode' 1 = minimum time in [s] to work in FLL mode before a switch into the PLL mode is considered. For 'FilterMode' 2 = minimum time to work in wide loop bandwidth mode.-

UnderSamplingFactorIF sample decimation factor when channel is in undersampling mode (see UnderSamplingThreshold). Undersampling reduces computational demands at the cost of a reduced C/N0.-

UnderSamplingThresholdIf the estimated C/N0 value exceeds the 'UnderSamplingThreshold', then the channels switches to the under sampling mode.dBHz

Note: Undersampling is a technique to speed up processing at the cost of higher measurement noise. Should be used with care.

Set to 99 for normal receiver operations (to deactivate undersampling)

ViterbiType of used Viterbi decoder for the data channel-

0 = Viterbi decoding deactivated

1 = GPS CNAV mode

2 = Galileo mode

3 = Beidou B1C mode

4 = Galileo HAS. 


ViterbiSlaveSame as Viterbi but for pilot channel-

AcqCnoThreshold

C/N0 threshold to exceed to declare acquisition. If acquistion estimates a C/N0 above this value, then it activates tracking for this channel.

This parameter reflects the threshold \gamma of chapter 5 of [1]. You should choose is slightly larger than the reported C/N0 values under H0 conditions.

The first entry is for level 1 (cold start), the second entry is for level 2 (warm start). The parameter is used only for FFTAcquisitionLevel*.AcquisitionType = 4.

dBHz

AcqMinReqSampleRateMinimum required sample rate to perform signal acquisition. This value is used to determine the down sampling factor from the native sample rate to the acquisition sample rate (cf. section 5.3 of [1]). The first entry is for level 1 (cold start), the second entry is for level 2 (warm start). The parameter is used only for FFTAcquisitionLevel*.AcquisitionType = 4.MSamples/s

AcqNumberCohSignal acquisition coherent integration time in multiples of the primary PRN code length. The first entry is for level 1 (cold start), the second entry is for level 2 (warm start). The parameter is used only for FFTAcquisitionLevel*.AcquisitionType = 4.-

AcqNumberNonCohNumber of non-coherent integrations for signal acquisition. The first entry is for level 1 (cold start), the second entry is for level 2 (warm start). The parameter is used only for FFTAcquisitionLevel*.AcquisitionType = 4.-

AcqPrimaryFftOrderFFT order used to represent the primary PRN code sequence; this value determines the code phase resolution = #chips/2^'AcqPrimaryFftOrder'. The first entry is for level 1 (cold start), the second entry is for level 2 (warm start). The parameter is used only for FFTAcquisitionLevel*.AcquisitionType = 4.-

CodeFamilyIndex

Index to the values to be extracted from the RandomCodesConfigFile defined in the Main section.

The first enry defines the PRN spreading codes of the data channel, the second entry for the pilot channel (if present).

-

CorrelatorPositionsDefines a number of correlator positions for the data channel respect to the NCO value (i.e. defines the code phase offsets of the various correlators). Several values can be defined. The corresponding index to the values will be used in the following parameters:  EarlyIndex, PromptIndex, LateIndex and so on ...-
Use this MATLAB script to generate proper entries automatically:

cnt=0;for k=-20:1:-20, fprintf('<!-- %d --><item>%d</item>\n',cnt,k), cnt=cnt+1;, end
CorrelatorPositionsSlaveSame as CorrelatorPositions but for pilot channel-

CodeDiscCoefficients If at least one element differs from zero, then this lists
overrides 'EarlyIndex' and 'LateIndex'. The entries of
'CodeDiscCoefficients' are used to obtain the Dcorrelator
for the data channel (i.e. early-late
correlator for code tracking) from a linear
combination of several correlators shifted in the code
phase. List needs to have the same length as
CorrelatorPositions. The linear combination is then
multiplied by EarlyLateScale and divided by the
prompt correlator to obtain the code tracking error in
[subchip].


Should be used with care to realize e.g. a double-delta correlator to mitigate multipath.


Shall be absent for normal receiver operation realizing standard early-late tracking.

PRNsToLogList of PRNs to log in the dumplog files. -

-1 : Logging of all tracked satellites

0: No logging is done

Otherwise: The PRN number(s) to be logged


TrackedPrnThe PRNs to be tracked. -empty or -1 → All PRNs are tracked

[1] ... PANY, Thomas. Navigation signal processing for GNSS software receivers. Artech House, 2010.

Notes on the correlator settings in the .musnat configuration file:

Main correlator settingCode tracking modeReplica signal for
code tracking
Replica signal for
phase tracking
Replica signal for multi-correlatorNote and example configuration
CorrelatorType=1,
CorrelatorTrackingMode=true
Waveform based tracking vsCodeFileNamesvsCarrierFileNamesIf MultiCorrelatorForTracking == true
then vsCarrierFileNames,
otherwise see MultiCorrRefSignal
This should be the default configuration for most applications. Waveform based tracking also to reuse the same parameter set for different sampling rates. The correlation runs on the CPU making use of the Intel IPP library. Note, the Intel IPP supports also most processors from AMD.

Example: Configurations\AllGnss\AllGnss.musnat (all receivers there are configured for waveform based tracking and tailored for reference station use)
CorrelatorType=1 or 4,
CorrelatorTrackingMode=false 
Correlator based tracking vsCarrierFileNames vsCarrierFileNamesvsCarrierFileNamesHaving access to dedicated correlators including early, late and prompt is the basis for most analyis in navigation signal processing. This mode requires some care in configuring the correlators and in setting the EarlyLateScale as this does depend on the sampling rate. Both CPU and GPU based computation are supported (GPU only if CUDA is enabled during compile time).

Example: Configurations\CUDA_Correlator\SQM_CUDA.musnat (this is a Galileo E1BC+E5aIQ plus GPS C/A+L5IQ receiver config tailored for signal quality monitoring). Set CorrelatorType=1 or 4 depending on your preferred processing mode (1=CPU, 4 = GPU) and all other parameters remain identical.






Obsolete Configurations:




CorrelatorType=0   Waveform based tracking vsCodeFileNamesvsCarrierFileNamesn/a
CorrelatorType=2    Correlator based trackingvsCarrierFileNamesvsCarrierFileNamesvsCarrierFileNames

Notes on baseband logging

Settings necessary to activate baseband logging. Baseband logging writes short snippets of the received GNSS signal to a file after carrier wipe-off has been performed. Mostly used for debugging and spreading code authentifcation.

BasebandLoggingTimeTime to log the baseband signal e.g. 10. Logging time is calculated by trying to achieve an SNR value of abs(BasebandLoggingTime) e.g. 16 [dB]ms

If the value is negative, than the logging time is calculated depending on the MasterReceiver signal power,high C/N0 short logging, low C/N0 long logging
TrueBasebandLoggingFileLogs the first 100 ms after PLL phase lock has been achieved and after carrier wipe-off in the defined .tbb file-


RepeatBasebandLoggingIf >0, the baseband logging is repeated with a time interval according to its value in [s]-

0, 1, 2, 2.5
  • Keine Stichwörter