From af8ced3a2e504b6dba2111148604b17d102db15e Mon Sep 17 00:00:00 2001 From: Luis Esteve Date: Fri, 6 May 2016 17:01:11 +0200 Subject: [PATCH 1/3] Improve documentation of gnss_block_factory.cc --- src/core/receiver/gnss_block_factory.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/core/receiver/gnss_block_factory.cc b/src/core/receiver/gnss_block_factory.cc index d337d4059..dc2e686fe 100644 --- a/src/core/receiver/gnss_block_factory.cc +++ b/src/core/receiver/gnss_block_factory.cc @@ -255,7 +255,8 @@ std::unique_ptr GNSSBlockFactory::GetChannel_1C( std::string acq, std::string trk, std::string tlm, int channel, boost::shared_ptr queue) { - + //"appendix" is added to the "role" with the aim of Acquisition, Tracking and Telemetry Decoder adapters + //can find their specific configurations when they read the config //TODO: REMOVE APPENDIX!! AND CHECK ALTERNATIVE MECHANISM TO GET PARTICULARIZED PARAMETERS LOG(INFO) << "Instantiating Channel " << channel << " with Acquisition Implementation: " << acq << ", Tracking Implementation: " << trk << ", Telemetry Decoder implementation: " << tlm; @@ -497,9 +498,10 @@ std::unique_ptr>> GNSSBlockFacto //**************** GPS L1 C/A CHANNELS ********************** LOG(INFO) << "Getting " << Channels_1C_count << " GPS L1 C/A channels"; + acquisition_implementation = configuration->property("Acquisition_1C.implementation", default_implementation); tracking_implementation = configuration->property("Tracking_1C.implementation", default_implementation); telemetry_decoder_implementation = configuration->property("TelemetryDecoder_1C.implementation", default_implementation); - acquisition_implementation = configuration->property("Acquisition_1C.implementation", default_implementation); + for (unsigned int i = 0; i < Channels_1C_count; i++) { @@ -554,7 +556,7 @@ std::unique_ptr>> GNSSBlockFacto channel_absolute_id++; } - //**************** GALILEO E1 B (I/NAV OS) ********************** + //**************** GALILEO E1 B (I/NAV OS) CHANNELS ********************** LOG(INFO) << "Getting " << Channels_1B_count << " GALILEO E1 B (I/NAV OS) channels"; tracking_implementation = configuration->property("Tracking_1B.implementation", default_implementation); From bfd86f8792da80a6e43d589e509d499fe6595043 Mon Sep 17 00:00:00 2001 From: Luis Esteve Date: Fri, 6 May 2016 19:04:55 +0200 Subject: [PATCH 2/3] Changes initialization of acquisition variables Rename "shift_resolution_" variable in some Acquisition adapters to "doppler_max_" according to its meaning and change "ifreq" to "if" because the value was not properly read. Delete unused variables. Resolves: #23 --- ...lileo_e1_pcps_8ms_ambiguous_acquisition.cc | 14 +++++++------- .../galileo_e1_pcps_ambiguous_acquisition.cc | 14 +++++++------- ...eo_e1_pcps_cccwsr_ambiguous_acquisition.cc | 14 +++++++------- ...e1_pcps_quicksync_ambiguous_acquisition.cc | 14 +++++++------- ...ileo_e1_pcps_tong_ambiguous_acquisition.cc | 15 +++++++-------- ...lileo_e1_pcps_tong_ambiguous_acquisition.h | 1 - ...ileo_e5a_noncoherent_iq_acquisition_caf.cc | 19 +++++++++---------- .../adapters/gps_l1_ca_pcps_acquisition.cc | 10 +++++----- ...gps_l1_ca_pcps_acquisition_fine_doppler.cc | 6 ++++-- .../gps_l1_ca_pcps_assisted_acquisition.cc | 10 +++++----- .../gps_l1_ca_pcps_multithread_acquisition.cc | 14 +++++++------- .../gps_l1_ca_pcps_opencl_acquisition.cc | 14 +++++++------- .../gps_l1_ca_pcps_quicksync_acquisition.cc | 13 ++++++------- .../gps_l1_ca_pcps_tong_acquisition.cc | 14 ++++++-------- .../gps_l1_ca_pcps_tong_acquisition.h | 4 +--- .../adapters/gps_l2_m_pcps_acquisition.cc | 19 ++++++------------- .../pcps_tong_acquisition_cc.cc | 2 +- 17 files changed, 92 insertions(+), 105 deletions(-) diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.cc index 6aea9913c..b5499227d 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_8ms_ambiguous_acquisition.cc @@ -55,9 +55,9 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition( default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration_->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4); if (sampled_ms_ % 4 != 0) @@ -90,7 +90,7 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition( { item_size_ = sizeof(gr_complex); acquisition_cc_ = galileo_pcps_8ms_make_acquisition_cc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, samples_per_ms, code_length_, + doppler_max_, if_, fs_in_, samples_per_ms, code_length_, queue_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); DLOG(INFO) << "stream_to_vector(" @@ -103,11 +103,11 @@ GalileoE1Pcps8msAmbiguousAcquisition::GalileoE1Pcps8msAmbiguousAcquisition( item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc index 01759f1bf..a8d717b0e 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_ambiguous_acquisition.cc @@ -53,9 +53,9 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition( item_type_ = configuration_->property(role + ".item_type", default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration_->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4); if (sampled_ms_ % 4 != 0) @@ -96,7 +96,7 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition( { item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, samples_per_ms, code_length_, + doppler_max_, if_, fs_in_, samples_per_ms, code_length_, bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); DLOG(INFO) << "stream_to_vector(" << stream_to_vector_->unique_id() << ")"; @@ -107,11 +107,11 @@ GalileoE1PcpsAmbiguousAcquisition::GalileoE1PcpsAmbiguousAcquisition( item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc index 8a3870c84..95c678eb1 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_cccwsr_ambiguous_acquisition.cc @@ -54,9 +54,9 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition item_type_ = configuration_->property(role + ".item_type", default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration_->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4); if (sampled_ms_ % 4 != 0) @@ -90,7 +90,7 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition { item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_cccwsr_make_acquisition_cc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, samples_per_ms, code_length_, + doppler_max_, if_, fs_in_, samples_per_ms, code_length_, queue_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); DLOG(INFO) << "stream_to_vector(" @@ -103,11 +103,11 @@ GalileoE1PcpsCccwsrAmbiguousAcquisition::GalileoE1PcpsCccwsrAmbiguousAcquisition item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.cc index 01f271d53..d5d1296a4 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_quicksync_ambiguous_acquisition.cc @@ -55,9 +55,9 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration_->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 8); /*--- Find number of samples per spreading code (4 ms) -----------------*/ @@ -123,7 +123,7 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui { item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_quicksync_make_acquisition_cc(folding_factor_, - sampled_ms_, max_dwells_, shift_resolution_, if_, fs_in_, + sampled_ms_, max_dwells_, doppler_max_, if_, fs_in_, samples_per_ms, code_length_, bit_transition_flag_, queue_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, @@ -138,11 +138,11 @@ GalileoE1PcpsQuickSyncAmbiguousAcquisition::GalileoE1PcpsQuickSyncAmbiguousAcqui item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.cc b/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.cc index 07272d256..b191d1700 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.cc +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.cc @@ -55,9 +55,9 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition( default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration_->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4); if (sampled_ms_ % 4 != 0) @@ -91,7 +91,7 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition( if (item_type_.compare("gr_complex") == 0) { item_size_ = sizeof(gr_complex); - acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, shift_resolution_, + acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, doppler_max_, if_, fs_in_, samples_per_ms, code_length_, tong_init_val_, tong_max_val_, queue_, dump_, dump_filename_); @@ -106,12 +106,11 @@ GalileoE1PcpsTongAmbiguousAcquisition::GalileoE1PcpsTongAmbiguousAcquisition( item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; - bit_transition_flag_ = false; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.h b/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.h index 31a90d8da..bc4090a85 100644 --- a/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.h +++ b/src/algorithms/acquisition/adapters/galileo_e1_pcps_tong_ambiguous_acquisition.h @@ -137,7 +137,6 @@ private: std::string item_type_; unsigned int vector_length_; unsigned int code_length_; - bool bit_transition_flag_; unsigned int channel_; float threshold_; unsigned int doppler_max_; diff --git a/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.cc b/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.cc index a5fa143ed..785c93d5d 100644 --- a/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.cc +++ b/src/algorithms/acquisition/adapters/galileo_e5a_noncoherent_iq_acquisition_caf.cc @@ -60,9 +60,9 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf( item_type_ = configuration_->property(role + ".item_type", default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 32000000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration_->property(role + ".doppler_max", 5000); CAF_window_hz_ = configuration_->property(role + ".CAF_window_hz",0); Zero_padding = configuration_->property(role + ".Zero_padding",0); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1); @@ -80,8 +80,8 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf( } max_dwells_ = configuration_->property(role + ".max_dwells", 1); - dump_filename_ = configuration_->property(role + ".dump_filename", default_dump_filename); + bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false); //--- Find number of samples per spreading code (1ms)------------------------- code_length_ = round(fs_in_ / Galileo_E5a_CODE_CHIP_RATE_HZ * Galileo_E5a_CODE_LENGTH_CHIPS); @@ -101,20 +101,19 @@ GalileoE5aNoncoherentIQAcquisitionCaf::GalileoE5aNoncoherentIQAcquisitionCaf( { item_size_ = sizeof(gr_complex); acquisition_cc_ = galileo_e5a_noncoherentIQ_make_acquisition_caf_cc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, code_length_, code_length_, - bit_transition_flag_, queue_, dump_, dump_filename_, both_signal_components, CAF_window_hz_,Zero_padding); + doppler_max_, if_, fs_in_, code_length_, code_length_, bit_transition_flag_, queue_, + dump_, dump_filename_, both_signal_components, CAF_window_hz_,Zero_padding); } else { item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; - bit_transition_flag_ = false; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc index fcdb641be..8c6a4eedd 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition.cc @@ -58,9 +58,9 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition( //float pfa = configuration_->property(role + ".pfa", 0.0); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration_->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1); bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false); @@ -88,14 +88,14 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition( { item_size_ = sizeof(lv_16sc_t); acquisition_sc_ = pcps_make_acquisition_sc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, code_length_, code_length_, + doppler_max_, if_, fs_in_, code_length_, code_length_, bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, dump_filename_); DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")"; }else{ item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_make_acquisition_cc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, code_length_, code_length_, + doppler_max_, if_, fs_in_, code_length_, code_length_, bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, dump_filename_); DLOG(INFO) << "acquisition(" << acquisition_cc_->unique_id() << ")"; } @@ -114,9 +114,9 @@ GpsL1CaPcpsAcquisition::GpsL1CaPcpsAcquisition( cbyte_to_float_x2_ = make_complex_byte_to_float_x2(); float_to_complex_ = gr::blocks::float_to_complex::make(); } + channel_ = 0; threshold_ = 0.0; - doppler_max_ = 0; doppler_step_ = 0; gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.cc index 4538e3927..e7d46b0da 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_acquisition_fine_doppler.cc @@ -53,13 +53,14 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler( item_type_ = configuration->property(role + ".item_type", default_item_type); fs_in_ = configuration->property("GNSS-SDR.internal_fs_hz", 2048000); - if_ = configuration->property(role + ".ifreq", 0); + if_ = configuration->property(role + ".if", 0); dump_ = configuration->property(role + ".dump", false); + dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); doppler_max_ = configuration->property(role + ".doppler_max", 5000); doppler_min_ = configuration->property(role + ".doppler_min", -5000); sampled_ms_ = configuration->property(role + ".coherent_integration_time_ms", 1); max_dwells_= configuration->property(role + ".max_dwells", 1); - dump_filename_ = configuration->property(role + ".dump_filename", default_dump_filename); + //--- Find number of samples per spreading code ------------------------- vector_length_ = round(fs_in_ @@ -79,6 +80,7 @@ GpsL1CaPcpsAcquisitionFineDoppler::GpsL1CaPcpsAcquisitionFineDoppler( item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } + channel_ = 0; threshold_ = 0.0; doppler_step_ = 0; diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.cc index ee0a4f768..2f2e51498 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_assisted_acquisition.cc @@ -55,7 +55,7 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition( item_type_ = configuration->property(role + ".item_type", default_item_type); fs_in_ = configuration->property("GNSS-SDR.internal_fs_hz", 2048000); - if_ = configuration->property(role + ".ifreq", 0); + if_ = configuration->property(role + ".if", 0); dump_ = configuration->property(role + ".dump", false); doppler_max_ = configuration->property(role + ".doppler_max", 5000); doppler_min_ = configuration->property(role + ".doppler_min", -5000); @@ -82,11 +82,11 @@ GpsL1CaPcpsAssistedAcquisition::GpsL1CaPcpsAssistedAcquisition( item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.cc index 391c350ea..37aaa388b 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_multithread_acquisition.cc @@ -55,9 +55,9 @@ GpsL1CaPcpsMultithreadAcquisition::GpsL1CaPcpsMultithreadAcquisition( default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1); bit_transition_flag_ = configuration_->property("Acquisition.bit_transition_flag", false); @@ -86,7 +86,7 @@ GpsL1CaPcpsMultithreadAcquisition::GpsL1CaPcpsMultithreadAcquisition( { item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_make_multithread_acquisition_cc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, code_length_, code_length_, + doppler_max_, if_, fs_in_, code_length_, code_length_, bit_transition_flag_, queue_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); @@ -101,11 +101,11 @@ GpsL1CaPcpsMultithreadAcquisition::GpsL1CaPcpsMultithreadAcquisition( item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.cc index 775a7a7c4..f5a80081b 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_opencl_acquisition.cc @@ -54,9 +54,9 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition( default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1); bit_transition_flag_ = configuration_->property("Acquisition.bit_transition_flag", false); @@ -85,7 +85,7 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition( { item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_make_opencl_acquisition_cc(sampled_ms_, max_dwells_, - shift_resolution_, if_, fs_in_, code_length_, code_length_, + doppler_max_, if_, fs_in_, code_length_, code_length_, bit_transition_flag_, queue_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); @@ -98,11 +98,11 @@ GpsL1CaPcpsOpenClAcquisition::GpsL1CaPcpsOpenClAcquisition( item_size_ = sizeof(gr_complex); LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; + channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.cc index d0fe1d4e8..1d6471cf2 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_quicksync_acquisition.cc @@ -55,9 +55,9 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition( item_type_ = configuration_->property(role + ".item_type", default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 4000000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 4); @@ -116,7 +116,7 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition( { item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_quicksync_make_acquisition_cc(folding_factor_, - sampled_ms_, max_dwells_,shift_resolution_, if_, fs_in_, + sampled_ms_, max_dwells_,doppler_max_, if_, fs_in_, samples_per_ms, code_length_,bit_transition_flag_, queue_, dump_, dump_filename_); @@ -132,11 +132,10 @@ GpsL1CaPcpsQuickSyncAcquisition::GpsL1CaPcpsQuickSyncAcquisition( LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.cc index 5a01fbe63..64e3566db 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.cc @@ -54,9 +54,9 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition( item_type_ = configuration_->property(role + ".item_type", default_item_type); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration->property(role + ".doppler_max", 5000); sampled_ms_ = configuration_->property(role + ".coherent_integration_time_ms", 1); tong_init_val_ = configuration->property(role + ".tong_init_val", 1); @@ -75,7 +75,7 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition( if (item_type_.compare("gr_complex") == 0) { item_size_ = sizeof(gr_complex); - acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, shift_resolution_, if_, fs_in_, + acquisition_cc_ = pcps_tong_make_acquisition_cc(sampled_ms_, doppler_max_, if_, fs_in_, code_length_, code_length_, tong_init_val_, tong_max_val_, queue_, dump_, dump_filename_); @@ -90,12 +90,10 @@ GpsL1CaPcpsTongAcquisition::GpsL1CaPcpsTongAcquisition( LOG(WARNING) << item_type_ << " unknown acquisition item type"; } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; channel_ = 0; - bit_transition_flag_ = false; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.h b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.h index c02010e82..646fdfcbf 100644 --- a/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.h +++ b/src/algorithms/acquisition/adapters/gps_l1_ca_pcps_tong_acquisition.h @@ -94,8 +94,7 @@ public: */ void set_threshold(float threshold); - /*! bit_transition_flag_ = configuration_->property("Acquisition.bit_transition_flag", false); - + /*! * \brief Set maximum Doppler off grid search */ void set_doppler_max(unsigned int doppler_max); @@ -138,7 +137,6 @@ private: std::string item_type_; unsigned int vector_length_; unsigned int code_length_; - bool bit_transition_flag_; unsigned int channel_; float threshold_; unsigned int doppler_max_; diff --git a/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc b/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc index 8d2e995b7..14ea78c6f 100644 --- a/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc +++ b/src/algorithms/acquisition/adapters/gps_l2_m_pcps_acquisition.cc @@ -56,9 +56,9 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition( //float pfa = configuration_->property(role + ".pfa", 0.0); fs_in_ = configuration_->property("GNSS-SDR.internal_fs_hz", 2048000); - if_ = configuration_->property(role + ".ifreq", 0); + if_ = configuration_->property(role + ".if", 0); dump_ = configuration_->property(role + ".dump", false); - shift_resolution_ = configuration_->property(role + ".doppler_max", 15); + doppler_max_ = configuration->property(role + ".doppler_max", 5000); bit_transition_flag_ = configuration_->property(role + ".bit_transition_flag", false); use_CFAR_algorithm_flag_=configuration_->property(role + ".use_CFAR_algorithm", true); //will be false in future versions @@ -86,7 +86,7 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition( // { item_size_ = sizeof(gr_complex); acquisition_cc_ = pcps_make_acquisition_cc(1, max_dwells_, - shift_resolution_, if_, fs_in_, code_length_, code_length_, + doppler_max_, if_, fs_in_, code_length_, code_length_, bit_transition_flag_, use_CFAR_algorithm_flag_, dump_, dump_filename_); stream_to_vector_ = gr::blocks::stream_to_vector::make(item_size_, vector_length_); @@ -106,18 +106,11 @@ GpsL2MPcpsAcquisition::GpsL2MPcpsAcquisition( cbyte_to_float_x2_ = make_complex_byte_to_float_x2(); float_to_complex_ = gr::blocks::float_to_complex::make(); } - //} - //else - // { - // LOG(WARNING) << item_type_ - // << " unknown acquisition item type"; - // } - gnss_synchro_ = 0; - threshold_ = 0.0; - doppler_max_ = 5000; - doppler_step_ = 250; channel_ = 0; + threshold_ = 0.0; + doppler_step_ = 0; + gnss_synchro_ = 0; } diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc index cc9eb97ff..449737067 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc +++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc @@ -16,7 +16,7 @@ *
  • If the test statistics exceeds the threshold, increment the Tong counter. *
  • Otherwise, decrement the Tong counter. *
  • If the Tong counter is equal to a given maximum value, declare positive - *
  • acquisition. If the Tong counter is equa to zero, declare negative + *
  • acquisition. If the Tong counter is equal to zero, declare negative *
  • acquisition. Otherwise, process the next block. * * From 7403fec396aefc5ef63759ac927ffd15d78a26f7 Mon Sep 17 00:00:00 2001 From: Luis Esteve Date: Fri, 6 May 2016 19:30:36 +0200 Subject: [PATCH 3/3] Eliminate redundancy in doppler_max initialization Eliminate the initialization of Acquisition variable "doppler_max" in Channel (acq_->set_doppler_max(doppler_max);) because this initialization is done now in Acquisition adpaters --- src/algorithms/channel/adapters/channel.cc | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/algorithms/channel/adapters/channel.cc b/src/algorithms/channel/adapters/channel.cc index 48f01dd25..c60a23d9c 100644 --- a/src/algorithms/channel/adapters/channel.cc +++ b/src/algorithms/channel/adapters/channel.cc @@ -64,12 +64,7 @@ Channel::Channel(ConfigurationInterface *configuration, unsigned int channel, acq_->set_gnss_synchro(&gnss_synchro_); trk_->set_gnss_synchro(&gnss_synchro_); - // IMPORTANT: Do not change the order between set_doppler_max, set_doppler_step and set_threshold - unsigned int doppler_max = configuration->property("Acquisition_" + implementation_ + boost::lexical_cast(channel_) + ".doppler_max", 0); - if(doppler_max == 0) doppler_max = configuration->property("Acquisition_" + implementation_+ ".doppler_max", 0); - DLOG(INFO) << "Channel "<< channel_ << " Doppler_max = " << doppler_max; - - acq_->set_doppler_max(doppler_max); + // IMPORTANT: Do not change the order between set_doppler_step and set_threshold unsigned int doppler_step = configuration->property("Acquisition_" + implementation_ + boost::lexical_cast(channel_) + ".doppler_step" ,0); if(doppler_step == 0) doppler_step = configuration->property("Acquisition_" + implementation_+".doppler_step", 500);