GNSS-SDR
0.0.19
An Open Source GNSS Software Defined Receiver
src
algorithms
tracking
libs
tracking_FLL_PLL_filter.h
Go to the documentation of this file.
1
/*!
2
* \file tracking_FLL_PLL_filter.h
3
* \brief Interface of a hybrid FLL and PLL filter for tracking carrier loop
4
* \author Javier Arribas, 2011. jarribas(at)cttc.es
5
*
6
* -----------------------------------------------------------------------------
7
*
8
* GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
9
* This file is part of GNSS-SDR.
10
*
11
* Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
12
* SPDX-License-Identifier: GPL-3.0-or-later
13
*
14
* -----------------------------------------------------------------------------
15
*/
16
17
#ifndef GNSS_SDR_TRACKING_FLL_PLL_FILTER_H
18
#define GNSS_SDR_TRACKING_FLL_PLL_FILTER_H
19
20
/** \addtogroup Tracking
21
* \{ */
22
/** \addtogroup Tracking_libs
23
* \{ */
24
25
26
/*!
27
* \brief This class implements a hybrid FLL and PLL filter for tracking carrier loop
28
*/
29
class
Tracking_FLL_PLL_filter
30
{
31
public
:
32
Tracking_FLL_PLL_filter
() =
default
;
33
~
Tracking_FLL_PLL_filter
() =
default
;
34
void
set_params(
float
fll_bw_hz,
float
pll_bw_hz,
int
order);
35
void
initialize(
float
d_acq_carrier_doppler_hz);
36
float
get_carrier_error(
float
FLL_discriminator,
float
PLL_discriminator,
float
correlation_time_s);
37
38
private
:
39
// FLL + PLL filter parameters
40
float
d_pll_w{0.0};
41
float
d_pll_w0p3{0.0};
42
float
d_pll_w0f2{0.0};
43
float
d_pll_x{0.0};
44
float
d_pll_a2{0.0};
45
float
d_pll_w0f{0.0};
46
float
d_pll_a3{0.0};
47
float
d_pll_w0p2{0.0};
48
float
d_pll_b3{0.0};
49
float
d_pll_w0p{0.0};
50
int
d_order{0};
51
};
52
53
54
/** \} */
55
/** \} */
56
#endif
Tracking_FLL_PLL_filter
This class implements a hybrid FLL and PLL filter for tracking carrier loop.
Definition:
tracking_FLL_PLL_filter.h:29
Generated by
1.8.14