|
Classes | |
| struct | cn0_est_state_t |
| struct | correlation_t |
Modules | |
| Tracking Loops | |
Functions | |
| void | calc_navigation_measurement (u8 n_channels, channel_measurement_t meas[], navigation_measurement_t nav_meas[], double nav_time, ephemeris_t ephemerides[]) |
| void | calc_navigation_measurement_ (u8 n_channels, channel_measurement_t *meas[], navigation_measurement_t *nav_meas[], double nav_time, ephemeris_t *ephemerides[]) |
| float | cn0_est (cn0_est_state_t *s, float I) |
| void | cn0_est_init (cn0_est_state_t *s, float bw, float cn0_0, float cutoff_freq, float loop_freq) |
Functions used in tracking.
| void calc_navigation_measurement | ( | u8 | n_channels, |
| channel_measurement_t | meas[], | ||
| navigation_measurement_t | nav_meas[], | ||
| double | nav_time, | ||
| ephemeris_t | ephemerides[] | ||
| ) |
| void calc_navigation_measurement_ | ( | u8 | n_channels, |
| channel_measurement_t * | meas[], | ||
| navigation_measurement_t * | nav_meas[], | ||
| double | nav_time, | ||
| ephemeris_t * | ephemerides[] | ||
| ) |
| float cn0_est | ( | cn0_est_state_t * | s, |
| float | I | ||
| ) |
Estimate the Carrier-to-Noise Density,
of a tracked signal.
Implements a modification of the estimator presented in [1]. In [1] the estimator essentially uses a moving average over the reciprocal of the Signal-to-Noise Ratio (SNR). To reduce memory utilisation a simple IIR low-pass filter is used instead.
The noise and signal powers estimates for the
-th observation,
and
, are calculated as follows:
Where
is the in-phase output of the prompt correlator for the
-th integration period.
The "Noise-to-Signal Ratio" (NSR) is estimated and filtered with a simple low-pass IIR filter:
Where the IIR filter coefficient,
can be calculated in terms of a cutoff frequency
and the loop update frequency
.
The filtered NSR value is converted to a
value and returned.
References:
| s | The estimator state struct to initialise. |
| I | The prompt in-phase correlation from the tracking correlators. |
, in dBHz. | void cn0_est_init | ( | cn0_est_state_t * | s, |
| float | bw, | ||
| float | cn0_0, | ||
| float | cutoff_freq, | ||
| float | loop_freq | ||
| ) |
Initialise the
estimator state.
See cn0_est() for a full description.
| s | The estimator state struct to initialise. |
| bw | The loop noise bandwidth in Hz. |
| cn0_0 | The initial value of in dBHz. |
| cutoff_freq | The low-pass filter cutoff frequency, , in Hz. |
| loop_freq | The loop update frequency, , in Hz. |