[hamradio-commits] [gnss-sdr] 75/236: Added confguration option to set DLL and PLL bandwidth for 20 ms extended correlation in C_Aid GPS L1 CA tracking (dll_bw_narrow_hz and pll_bw_narrow_hz)
Carles Fernandez
carles_fernandez-guest at moszumanska.debian.org
Tue Apr 26 16:02:35 UTC 2016
This is an automated email from the git hooks/post-receive script.
carles_fernandez-guest pushed a commit to branch next
in repository gnss-sdr.
commit 14e109983a34a1349188dac1762664fe0f7eee09
Author: Javier Arribas <javiarribas at gmail.com>
Date: Wed Mar 9 15:29:00 2016 +0100
Added confguration option to set DLL and PLL bandwidth for 20 ms
extended correlation in C_Aid GPS L1 CA tracking (dll_bw_narrow_hz and
pll_bw_narrow_hz)
---
.../tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc | 8 ++++++++
.../gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc | 12 +++++++++---
.../gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h | 8 ++++++++
.../gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc | 10 +++++++++-
.../gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h | 10 ++++++++++
5 files changed, 44 insertions(+), 4 deletions(-)
diff --git a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc
index 436c68e..fe9eb4d 100644
--- a/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc
+++ b/src/algorithms/tracking/adapters/gps_l1_ca_dll_pll_c_aid_tracking.cc
@@ -60,7 +60,9 @@ GpsL1CaDllPllCAidTracking::GpsL1CaDllPllCAidTracking(
std::string dump_filename;
std::string default_item_type = "gr_complex";
float pll_bw_hz;
+ float pll_bw_narrow_hz;
float dll_bw_hz;
+ float dll_bw_narrow_hz;
float early_late_space_chips;
item_type_ = configuration->property(role + ".item_type", default_item_type);
//vector_length = configuration->property(role + ".vector_length", 2048);
@@ -69,6 +71,8 @@ GpsL1CaDllPllCAidTracking::GpsL1CaDllPllCAidTracking(
dump = configuration->property(role + ".dump", false);
pll_bw_hz = configuration->property(role + ".pll_bw_hz", 50.0);
dll_bw_hz = configuration->property(role + ".dll_bw_hz", 2.0);
+ pll_bw_narrow_hz = configuration->property(role + ".pll_bw_narrow_hz", 20.0);
+ dll_bw_narrow_hz = configuration->property(role + ".dll_bw_narrow_hz", 2.0);
early_late_space_chips = configuration->property(role + ".early_late_space_chips", 0.5);
std::string default_dump_filename = "./track_ch";
dump_filename = configuration->property(role + ".dump_filename",
@@ -88,6 +92,8 @@ GpsL1CaDllPllCAidTracking::GpsL1CaDllPllCAidTracking(
dump_filename,
pll_bw_hz,
dll_bw_hz,
+ pll_bw_narrow_hz,
+ dll_bw_narrow_hz,
early_late_space_chips);
DLOG(INFO) << "tracking(" << tracking_cc->unique_id() << ")";
}else if(item_type_.compare("cshort") == 0)
@@ -102,6 +108,8 @@ GpsL1CaDllPllCAidTracking::GpsL1CaDllPllCAidTracking(
dump_filename,
pll_bw_hz,
dll_bw_hz,
+ pll_bw_narrow_hz,
+ dll_bw_narrow_hz,
early_late_space_chips);
DLOG(INFO) << "tracking(" << tracking_sc->unique_id() << ")";
}else
diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc
index b730451..eba5c07 100644
--- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc
+++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.cc
@@ -67,10 +67,12 @@ gps_l1_ca_dll_pll_c_aid_make_tracking_cc(
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips)
{
return gps_l1_ca_dll_pll_c_aid_tracking_cc_sptr(new gps_l1_ca_dll_pll_c_aid_tracking_cc(if_freq,
- fs_in, vector_length, queue, dump, dump_filename, pll_bw_hz, dll_bw_hz, early_late_space_chips));
+ fs_in, vector_length, queue, dump, dump_filename, pll_bw_hz, dll_bw_hz,pll_bw_narrow_hz, dll_bw_narrow_hz, early_late_space_chips));
}
@@ -106,6 +108,8 @@ gps_l1_ca_dll_pll_c_aid_tracking_cc::gps_l1_ca_dll_pll_c_aid_tracking_cc(
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips) :
gr::block("gps_l1_ca_dll_pll_c_aid_tracking_cc", gr::io_signature::make(1, 1, sizeof(gr_complex)),
gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)))
@@ -129,6 +133,8 @@ gps_l1_ca_dll_pll_c_aid_tracking_cc::gps_l1_ca_dll_pll_c_aid_tracking_cc(
// Initialize tracking ==========================================
d_pll_bw_hz=pll_bw_hz;
d_dll_bw_hz=dll_bw_hz;
+ d_pll_bw_narrow_hz=pll_bw_narrow_hz;
+ d_dll_bw_narrow_hz=dll_bw_narrow_hz;
d_code_loop_filter.set_DLL_BW(d_dll_bw_hz);
d_carrier_loop_filter.set_params(10.0, d_pll_bw_hz,2);
@@ -394,8 +400,8 @@ int gps_l1_ca_dll_pll_c_aid_tracking_cc::general_work (int noutput_items, gr_vec
current_synchro_data.symbol_integration_enabled=true;
// UPDATE INTEGRATION TIME
CURRENT_INTEGRATION_TIME_S = static_cast<double>(GPS_CA_TELEMETRY_SYMBOLS_PER_BIT)*GPS_L1_CA_CODE_PERIOD;
- d_code_loop_filter.set_DLL_BW(d_dll_bw_hz);
- d_carrier_loop_filter.set_params(10.0, d_pll_bw_hz/5,2);
+ d_code_loop_filter.set_DLL_BW(d_dll_bw_narrow_hz);
+ d_carrier_loop_filter.set_params(10.0, d_pll_bw_narrow_hz,2);
enable_dll_pll=true;
}else{
diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h
index 3d4cf32..5df1ad8 100644
--- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h
+++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_cc.h
@@ -64,6 +64,8 @@ gps_l1_ca_dll_pll_c_aid_make_tracking_cc(long if_freq,
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips);
@@ -96,6 +98,8 @@ private:
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips);
gps_l1_ca_dll_pll_c_aid_tracking_cc(long if_freq,
@@ -106,6 +110,8 @@ private:
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips);
// tracking configuration vars
@@ -145,6 +151,8 @@ private:
// tracking vars
float d_dll_bw_hz;
float d_pll_bw_hz;
+ float d_dll_bw_narrow_hz;
+ float d_pll_bw_narrow_hz;
double d_code_freq_chips;
double d_code_phase_step_chips;
double d_carrier_doppler_hz;
diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc
index d74738e..12b8351 100644
--- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc
+++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.cc
@@ -66,10 +66,12 @@ gps_l1_ca_dll_pll_c_aid_make_tracking_sc(
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips)
{
return gps_l1_ca_dll_pll_c_aid_tracking_sc_sptr(new gps_l1_ca_dll_pll_c_aid_tracking_sc(if_freq,
- fs_in, vector_length, queue, dump, dump_filename, pll_bw_hz, dll_bw_hz, early_late_space_chips));
+ fs_in, vector_length, queue, dump, dump_filename, pll_bw_hz, dll_bw_hz, pll_bw_narrow_hz, dll_bw_narrow_hz, early_late_space_chips));
}
@@ -94,6 +96,8 @@ gps_l1_ca_dll_pll_c_aid_tracking_sc::gps_l1_ca_dll_pll_c_aid_tracking_sc(
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips) :
gr::block("gps_l1_ca_dll_pll_c_aid_tracking_sc", gr::io_signature::make(1, 1, sizeof(lv_16sc_t)),
gr::io_signature::make(1, 1, sizeof(Gnss_Synchro)))
@@ -108,6 +112,10 @@ gps_l1_ca_dll_pll_c_aid_tracking_sc::gps_l1_ca_dll_pll_c_aid_tracking_sc(
d_correlation_length_samples = static_cast<int>(d_vector_length);
// Initialize tracking ==========================================
+ d_pll_bw_hz=pll_bw_hz;
+ d_dll_bw_hz=dll_bw_hz;
+ d_pll_bw_narrow_hz=pll_bw_narrow_hz;
+ d_dll_bw_narrow_hz=dll_bw_narrow_hz;
d_code_loop_filter.set_DLL_BW(dll_bw_hz);
d_carrier_loop_filter.set_params(10.0, pll_bw_hz,2);
diff --git a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h
index adfccfb..ab0efd9 100644
--- a/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h
+++ b/src/algorithms/tracking/gnuradio_blocks/gps_l1_ca_dll_pll_c_aid_tracking_sc.h
@@ -67,6 +67,8 @@ gps_l1_ca_dll_pll_c_aid_make_tracking_sc(long if_freq,
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips);
@@ -99,6 +101,8 @@ private:
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips);
gps_l1_ca_dll_pll_c_aid_tracking_sc(long if_freq,
@@ -109,6 +113,8 @@ private:
std::string dump_filename,
float pll_bw_hz,
float dll_bw_hz,
+ float pll_bw_narrow_hz,
+ float dll_bw_narrow_hz,
float early_late_space_chips);
// tracking configuration vars
@@ -148,6 +154,10 @@ private:
double d_acq_carrier_doppler_hz;
// tracking vars
+ float d_dll_bw_hz;
+ float d_pll_bw_hz;
+ float d_dll_bw_narrow_hz;
+ float d_pll_bw_narrow_hz;
double d_code_freq_chips;
double d_code_phase_step_chips;
double d_carrier_doppler_hz;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git
More information about the pkg-hamradio-commits
mailing list