GNSS-SDR
0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
src
algorithms
tracking
libs
bayesian_estimation.h
Go to the documentation of this file.
1
/*!
2
* \file bayesian_estimation.h
3
* \brief Interface of a library with Bayesian noise statistic estimation
4
*
5
* Bayesian_estimator is a Bayesian estimator which attempts to estimate
6
* the properties of a stochastic process based on a sequence of
7
* discrete samples of the sequence.
8
*
9
* [1]: LaMountain, Gerald, VilĂ -Valls, Jordi, Closas, Pau, "Bayesian
10
* Covariance Estimation for Kalman Filter based Digital Carrier
11
* Synchronization," Proceedings of the 31st International Technical Meeting
12
* of the Satellite Division of The Institute of Navigation
13
* (ION GNSS+ 2018), Miami, Florida, September 2018, pp. 3575-3586.
14
* https://doi.org/10.33012/2018.15911
15
*
16
* \authors <ul>
17
* <li> Gerald LaMountain, 2018. gerald(at)ece.neu.edu
18
* <li> Jordi Vila-Valls 2018. jvila(at)cttc.es
19
* </ul>
20
* -----------------------------------------------------------------------------
21
*
22
* GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
23
* This file is part of GNSS-SDR.
24
*
25
* Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
26
* SPDX-License-Identifier: GPL-3.0-or-later
27
*
28
* -----------------------------------------------------------------------------
29
*/
30
31
#ifndef GNSS_SDR_BAYESIAN_ESTIMATION_H
32
#define GNSS_SDR_BAYESIAN_ESTIMATION_H
33
34
#if ARMA_NO_BOUND_CHECKING
35
#define ARMA_NO_DEBUG 1
36
#endif
37
38
#include <armadillo>
39
#include <gnuradio/gr_complex.h>
40
41
/** \addtogroup Tracking
42
* \{ */
43
/** \addtogroup Tracking_libs
44
* \{ */
45
46
47
/*! \brief Bayesian_estimator is an estimator of noise characteristics (i.e. mean, covariance)
48
*
49
* Bayesian_estimator is an estimator which performs estimation of noise characteristics from
50
* a sequence of identically and independently distributed (IID) samples of a stationary
51
* stochastic process by way of Bayesian inference using conjugate priors. The posterior
52
* distribution is assumed to be Gaussian with mean \mathbf{\mu} and covariance \hat{\mathbf{C}},
53
* which has a conjugate prior given by a normal-inverse-Wishart distribution with parameters
54
* \mathbf{\mu}_{0}, \kappa_{0}, \nu_{0}, and \mathbf{\Psi}.
55
*
56
* [1] TODO: Ref1
57
*
58
*/
59
60
class
Bayesian_estimator
61
{
62
public
:
63
Bayesian_estimator();
64
explicit
Bayesian_estimator(
int
ny);
65
Bayesian_estimator(
const
arma::vec& mu_prior_0,
int
kappa_prior_0,
int
nu_prior_0,
const
arma::mat& Psi_prior_0);
66
~Bayesian_estimator() =
default
;
67
68
void
init(
const
arma::mat& mu_prior_0,
int
kappa_prior_0,
int
nu_prior_0,
const
arma::mat& Psi_prior_0);
69
70
void
update_sequential(
const
arma::vec& data);
71
void
update_sequential(
const
arma::vec& data,
const
arma::vec& mu_prior_0,
int
kappa_prior_0,
int
nu_prior_0,
const
arma::mat& Psi_prior_0);
72
73
arma::mat get_mu_est()
const
;
74
arma::mat get_Psi_est()
const
;
75
76
private
:
77
arma::vec mu_est;
78
arma::mat Psi_est;
79
arma::vec mu_prior;
80
arma::mat Psi_prior;
81
int
kappa_prior;
82
int
nu_prior;
83
};
84
85
86
/** \} */
87
/** \} */
88
#endif
// GNSS_SDR_BAYESIAN_ESTIMATION_H
Generated by
1.16.1