GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
tracking_dump_reader.h
Go to the documentation of this file.
1 /*!
2  * \file tracking_dump_reader.h
3  * \brief Helper file for unit testing
4  * \author Javier Arribas, 2017. 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_DUMP_READER_H
18 #define GNSS_SDR_TRACKING_DUMP_READER_H
19 
20 #include <cstdint>
21 #include <fstream>
22 #include <string>
23 #include <vector>
24 
26 {
27 public:
29  bool read_binary_obs();
30  bool restart();
31  int64_t num_epochs();
32  bool open_obs_file(std::string out_file);
33 
34  // tracking dump variables
35  // VEPLVL
36  float abs_VE;
37  float abs_E;
38  float abs_P;
39  float abs_L;
40  float abs_VL;
41  // PROMPT I and Q (to analyze navigation symbols)
42  float prompt_I;
43  float prompt_Q;
44  // PRN start sample stamp
45  uint64_t PRN_start_sample_count;
46 
47  // accumulated carrier phase
48  float acc_carrier_phase_rad;
49 
50  // carrier and code frequency
51  float carrier_doppler_hz;
52  float carrier_doppler_rate_hz_s;
53  float code_freq_chips;
54  float code_freq_rate_chips;
55 
56  // PLL commands
57  float carr_error_hz;
58  float carr_error_filt_hz;
59 
60  // DLL commands
61  float code_error_chips;
62  float code_error_filt_chips;
63 
64  // CN0 and carrier lock test
65  float CN0_SNV_dB_Hz;
66  float carrier_lock_test;
67 
68  // AUX vars (for debug purposes)
69  float aux1;
70  double aux2;
71 
72  unsigned int PRN;
73 
74 private:
75  std::string d_dump_filename;
76  std::ifstream d_dump_file;
77 };
78 
79 #endif // GNSS_SDR_TRACKING_DUMP_READER_H