[hamradio-commits] [gnss-sdr] 143/236: sync

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Tue Apr 26 16:02:45 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 1946e3b6e3d47e5711c4bcbedec39e6cb1f5fc5f
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date:   Wed Mar 30 22:56:37 2016 +0200

    sync
---
 .../galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc   |  8 ++++++--
 .../gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc | 11 +++++++----
 .../acquisition/gnuradio_blocks/pcps_acquisition_cc.cc | 18 +++++-------------
 .../pcps_acquisition_fine_doppler_cc.cc                | 13 ++++++++-----
 .../acquisition/gnuradio_blocks/pcps_acquisition_sc.cc | 17 ++++-------------
 .../gnuradio_blocks/pcps_assisted_acquisition_cc.cc    |  6 ++++--
 .../gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc      |  9 ++++++---
 .../gnuradio_blocks/pcps_multithread_acquisition_cc.cc | 12 +++++++-----
 .../gnuradio_blocks/pcps_opencl_acquisition_cc.cc      | 12 +++++++-----
 .../gnuradio_blocks/pcps_quicksync_acquisition_cc.cc   | 11 ++++++-----
 .../gnuradio_blocks/pcps_tong_acquisition_cc.cc        | 10 ++++++----
 .../signal_generator/gnuradio_blocks/CMakeLists.txt    | 11 +++++++++--
 .../gnuradio_blocks/signal_generator_c.cc              |  6 ++++--
 13 files changed, 79 insertions(+), 65 deletions(-)

diff --git a/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc
index 77bdcd4..786cf71 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/galileo_e5a_noncoherent_iq_acquisition_caf_cc.cc
@@ -40,7 +40,7 @@
 #include <gnuradio/io_signature.h>
 #include <glog/logging.h>
 #include <volk/volk.h>
-#include "gnss_signal_processing.h"
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "control_message_factory.h"
 
 using google::LogMessage;
@@ -277,6 +277,7 @@ void galileo_e5a_noncoherentIQ_acquisition_caf_cc::init()
     d_gnss_synchro->Acq_samplestamp_samples = 0;
     d_mag = 0.0;
     d_input_power = 0.0;
+    const double GALILEO_TWO_PI = 6.283185307179600;
 
     // Count the number of bins
     d_num_doppler_bins = 0;
@@ -293,7 +294,10 @@ void galileo_e5a_noncoherentIQ_acquisition_caf_cc::init()
         {
             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment()));
             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index;
-            complex_exp_gen_conj(d_grid_doppler_wipeoffs[doppler_index], d_freq + doppler, d_fs_in, d_fft_size);
+            float phase_step_rad = GALILEO_TWO_PI * (d_freq + doppler) / static_cast<float>(d_fs_in);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size);
         }
 
     /* CAF Filtering to resolve doppler ambiguity. Phase and quadrature must be processed
diff --git a/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc
index eb44a91..c4fbb93 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/galileo_pcps_8ms_acquisition_cc.cc
@@ -34,7 +34,7 @@
 #include <glog/logging.h>
 #include <gnuradio/io_signature.h>
 #include <volk/volk.h>
-#include "gnss_signal_processing.h"
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "control_message_factory.h"
 
 using google::LogMessage;
@@ -157,7 +157,7 @@ void galileo_pcps_8ms_acquisition_cc::init()
     d_gnss_synchro->Acq_samplestamp_samples = 0;
     d_mag = 0.0;
     d_input_power = 0.0;
-
+    const double GALILEO_TWO_PI = 6.283185307179600;
     // Count the number of bins
     d_num_doppler_bins = 0;
     for (int doppler = static_cast<int>(-d_doppler_max);
@@ -169,11 +169,14 @@ void galileo_pcps_8ms_acquisition_cc::init()
 
     // Create the carrier Doppler wipeoff signals
     d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_bins];
-    for (unsigned int doppler_index=0; doppler_index < d_num_doppler_bins; doppler_index++)
+    for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++)
         {
             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment()));
             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index;
-            complex_exp_gen_conj(d_grid_doppler_wipeoffs[doppler_index], d_freq + doppler, d_fs_in, d_fft_size);
+            float phase_step_rad = static_cast<float>(GALILEO_TWO_PI) * (d_freq + doppler) / static_cast<float>(d_fs_in);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size);
         }
 }
 
diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc
index e99760c..07f3e6b 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_cc.cc
@@ -38,9 +38,9 @@
 #include <gnuradio/io_signature.h>
 #include <glog/logging.h>
 #include <volk/volk.h>
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "gnss_signal_processing.h"
 #include "control_message_factory.h"
-#include <gnuradio/fxpt.h>  // fixed point sine and cosine
 #include "GPS_L1_CA.h" //GPS_TWO_PI
 
 
@@ -174,18 +174,10 @@ void pcps_acquisition_cc::set_local_code(std::complex<float> * code)
 
 void pcps_acquisition_cc::update_local_carrier(gr_complex* carrier_vector, int correlator_length_samples, float freq)
 {
-    float sin_f, cos_f;
-    float phase_step_rad= GPS_TWO_PI * freq/ static_cast<float>(d_fs_in);
-
-    int phase_step_rad_i = gr::fxpt::float_to_fixed(phase_step_rad);
-    int phase_rad_i = 0;
-
-    for(int i = 0; i < correlator_length_samples; i++)
-        {
-            gr::fxpt::sincos(phase_rad_i, &sin_f, &cos_f);
-            carrier_vector[i] = gr_complex(cos_f, -sin_f);
-            phase_rad_i += phase_step_rad_i;
-        }
+    float phase_step_rad = GPS_TWO_PI * freq / static_cast<float>(d_fs_in);
+    float _phase[1];
+    _phase[0] = 0;
+    volk_gnsssdr_s32f_sincos_32fc(carrier_vector, - phase_step_rad, _phase, correlator_length_samples);
 }
 
 void pcps_acquisition_cc::init()
diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.cc
index 9be375c..9d63da8 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_fine_doppler_cc.cc
@@ -36,7 +36,7 @@
 #include <glog/logging.h>
 #include <gnuradio/io_signature.h>
 #include <volk/volk.h>
-#include "nco_lib.h"
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "concurrent_map.h"
 #include "gnss_signal_processing.h"
 #include "gps_sdr_signal_processing.h"
@@ -184,14 +184,16 @@ void pcps_acquisition_fine_doppler_cc::forecast (int noutput_items,
 void pcps_acquisition_fine_doppler_cc::reset_grid()
 {
     d_well_count = 0;
-    for (int i=0; i<d_num_doppler_points; i++)
+    for (int i = 0; i < d_num_doppler_points; i++)
         {
-            for (unsigned int j=0; j < d_fft_size; j++)
+            for (unsigned int j = 0; j < d_fft_size; j++)
                 {
                     d_grid_data[i][j] = 0.0;
                 }
         }
 }
+
+
 void pcps_acquisition_fine_doppler_cc::update_carrier_wipeoff()
 {
     // create the carrier Doppler wipeoff signals
@@ -200,13 +202,14 @@ void pcps_acquisition_fine_doppler_cc::update_carrier_wipeoff()
     d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_points];
     for (int doppler_index = 0; doppler_index < d_num_doppler_points; doppler_index++)
         {
-
             doppler_hz = d_config_doppler_min + d_doppler_step*doppler_index;
             // doppler search steps
             // compute the carrier doppler wipe-off signal and store it
             phase_step_rad = static_cast<float>(GPS_TWO_PI) * ( d_freq + doppler_hz ) / static_cast<float>(d_fs_in);
             d_grid_doppler_wipeoffs[doppler_index] = new gr_complex[d_fft_size];
-            fxp_nco(d_grid_doppler_wipeoffs[doppler_index], d_fft_size,0, phase_step_rad);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size);
         }
 }
 
diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc
index 7c917c9..3ad935a 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_acquisition_sc.cc
@@ -41,7 +41,6 @@
 #include "gnss_signal_processing.h"
 #include "control_message_factory.h"
 #include <volk_gnsssdr/volk_gnsssdr.h>
-#include <gnuradio/fxpt.h>  // fixed point sine and cosine
 #include "GPS_L1_CA.h" //GPS_TWO_PI
 
 using google::LogMessage;
@@ -177,18 +176,10 @@ void pcps_acquisition_sc::set_local_code(std::complex<float> * code)
 
 void pcps_acquisition_sc::update_local_carrier(gr_complex* carrier_vector, int correlator_length_samples, float freq)
 {
-    float sin_f, cos_f;
-    float phase_step_rad= GPS_TWO_PI * freq/ static_cast<float>(d_fs_in);
-
-    int phase_step_rad_i = gr::fxpt::float_to_fixed(phase_step_rad);
-    int phase_rad_i = 0;
-
-    for(int i = 0; i < correlator_length_samples; i++)
-        {
-            gr::fxpt::sincos(phase_rad_i, &sin_f, &cos_f);
-            carrier_vector[i] = gr_complex(cos_f, -sin_f);
-            phase_rad_i += phase_step_rad_i;
-        }
+    float phase_step_rad = GPS_TWO_PI * freq / static_cast<float>(d_fs_in);
+    float _phase[1];
+    _phase[0] = 0;
+    volk_gnsssdr_s32f_sincos_32fc(carrier_vector, - phase_step_rad, _phase, correlator_length_samples);
 }
 
 void pcps_acquisition_sc::init()
diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.cc
index b1ecea8..d8eef02 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_assisted_acquisition_cc.cc
@@ -35,7 +35,7 @@
 #include <glog/logging.h>
 #include <gnuradio/io_signature.h>
 #include <volk/volk.h>
-#include "nco_lib.h"
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "concurrent_map.h"
 #include "gnss_signal_processing.h"
 #include "control_message_factory.h"
@@ -252,7 +252,9 @@ void pcps_assisted_acquisition_cc::redefine_grid()
             // compute the carrier doppler wipe-off signal and store it
             phase_step_rad = static_cast<float>(GPS_TWO_PI) * doppler_hz / static_cast<float>(d_fs_in);
             d_grid_doppler_wipeoffs[doppler_index] = new gr_complex[d_fft_size];
-            fxp_nco(d_grid_doppler_wipeoffs[doppler_index], d_fft_size, 0, phase_step_rad);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size);
         }
 }
 
diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc
index 20b4915..808c811 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_cccwsr_acquisition_cc.cc
@@ -39,8 +39,9 @@
 #include <glog/logging.h>
 #include <gnuradio/io_signature.h>
 #include <volk/volk.h>
-#include "gnss_signal_processing.h"
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "control_message_factory.h"
+#include "GPS_L1_CA.h" //GPS_TWO_PI
 
 
 using google::LogMessage;
@@ -188,8 +189,10 @@ void pcps_cccwsr_acquisition_cc::init()
             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment()));
 
             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index;
-            complex_exp_gen_conj(d_grid_doppler_wipeoffs[doppler_index],
-                                 d_freq + doppler, d_fs_in, d_fft_size);
+            float phase_step_rad = GPS_TWO_PI * (d_freq + doppler) / static_cast<float>(d_fs_in);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size);
         }
 }
 
diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.cc
index 6aa66c8..2cb97e6 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_multithread_acquisition_cc.cc
@@ -39,8 +39,9 @@
 #include <glog/logging.h>
 #include <gnuradio/io_signature.h>
 #include <volk/volk.h>
-#include "gnss_signal_processing.h"
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "control_message_factory.h"
+#include "GPS_L1_CA.h" //GPS_TWO_PI
 
 using google::LogMessage;
 
@@ -169,13 +170,14 @@ void pcps_multithread_acquisition_cc::init()
 
     // Create the carrier Doppler wipeoff signals
     d_grid_doppler_wipeoffs = new gr_complex*[d_num_doppler_bins];
-    for (unsigned int doppler_index=0;doppler_index<d_num_doppler_bins;doppler_index++)
+    for (unsigned int doppler_index = 0; doppler_index < d_num_doppler_bins; doppler_index++)
         {
             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment()));
-
             int doppler = -(int)d_doppler_max + d_doppler_step * doppler_index;
-            complex_exp_gen_conj(d_grid_doppler_wipeoffs[doppler_index],
-                                 d_freq + doppler, d_fs_in, d_fft_size);
+            float phase_step_rad = static_cast<float>(GPS_TWO_PI) * (d_freq + doppler) / static_cast<float>(d_fs_in);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size);
         }
 }
 
diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.cc
index 81dea6d..ef42c3f 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_opencl_acquisition_cc.cc
@@ -56,11 +56,11 @@
 #include <glog/logging.h>
 #include <gnuradio/io_signature.h>
 #include <volk/volk.h>
-#include "gnss_signal_processing.h"
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "control_message_factory.h"
 #include "fft_base_kernels.h"
 #include "fft_internal.h"
-
+#include "GPS_L1_CA.h" //GPS_TWO_PI
 
 
 using google::LogMessage;
@@ -315,9 +315,11 @@ void pcps_opencl_acquisition_cc::init()
         {
             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment()));
 
-            int doppler= -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index;
-            complex_exp_gen_conj(d_grid_doppler_wipeoffs[doppler_index],
-                                 d_freq + doppler, d_fs_in, d_fft_size);
+            int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index;
+            float phase_step_rad = static_cast<float>(GPS_TWO_PI) * (d_freq + doppler) / static_cast<float>(d_fs_in);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size);
 
             if (d_opencl == 0)
                 {
diff --git a/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.cc b/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.cc
index 44a9a09..55f8f16 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_quicksync_acquisition_cc.cc
@@ -34,9 +34,9 @@
 #include <gnuradio/io_signature.h>
 #include <glog/logging.h>
 #include <volk/volk.h>
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "control_message_factory.h"
-#include "gnss_signal_processing.h"
-
+#include "GPS_L1_CA.h"
 
 
 using google::LogMessage;
@@ -220,9 +220,10 @@ void pcps_quicksync_acquisition_cc::init()
         {
             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_samples_per_code * d_folding_factor * sizeof(gr_complex), volk_get_alignment()));
             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index;
-            complex_exp_gen_conj(d_grid_doppler_wipeoffs[doppler_index],
-                    d_freq + doppler, d_fs_in,
-                    d_samples_per_code * d_folding_factor);
+            float phase_step_rad = GPS_TWO_PI * (d_freq + doppler) / static_cast<float>(d_fs_in);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_samples_per_code * d_folding_factor);
         }
     // DLOG(INFO) << "end init";
 }
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 82c99f3..8c0fec7 100644
--- a/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc
+++ b/src/algorithms/acquisition/gnuradio_blocks/pcps_tong_acquisition_cc.cc
@@ -53,8 +53,9 @@
 #include <glog/logging.h>
 #include <gnuradio/io_signature.h>
 #include <volk/volk.h>
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "control_message_factory.h"
-#include "gnss_signal_processing.h"
+#include "GPS_L1_CA.h" //GPS_TWO_PI
 
 using google::LogMessage;
 
@@ -185,9 +186,10 @@ void pcps_tong_acquisition_cc::init()
             d_grid_doppler_wipeoffs[doppler_index] = static_cast<gr_complex*>(volk_malloc(d_fft_size * sizeof(gr_complex), volk_get_alignment()));
 
             int doppler = -static_cast<int>(d_doppler_max) + d_doppler_step * doppler_index;
-
-            complex_exp_gen_conj(d_grid_doppler_wipeoffs[doppler_index],
-                                 d_freq + doppler, d_fs_in, d_fft_size);
+            float phase_step_rad = GPS_TWO_PI * (d_freq + doppler) / static_cast<float>(d_fs_in);
+            float _phase[1];
+            _phase[0] = 0;
+            volk_gnsssdr_s32f_sincos_32fc(d_grid_doppler_wipeoffs[doppler_index], - phase_step_rad, _phase, d_fft_size);
 
             d_grid_data[doppler_index] = static_cast<float*>(volk_malloc(d_fft_size * sizeof(float), volk_get_alignment()));
 
diff --git a/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt
index 375a014..9fdfca2 100644
--- a/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt
+++ b/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt
@@ -27,13 +27,20 @@ include_directories(
      ${GLOG_INCLUDE_DIRS}
      ${GFlags_INCLUDE_DIRS}
      ${GNURADIO_RUNTIME_INCLUDE_DIRS}
+     ${VOLK_GNSSSDR_INCLUDE_DIRS}
 )
 
 file(GLOB SIGNAL_GENERATOR_BLOCK_HEADERS "*.h")
 add_library(signal_generator_blocks ${SIGNAL_GENERATOR_BLOCK_SOURCES} ${SIGNAL_GENERATOR_BLOCK_HEADERS})
 source_group(Headers FILES ${SIGNAL_GENERATOR_BLOCK_HEADERS})
-target_link_libraries(signal_generator_blocks gnss_system_parameters
+target_link_libraries(signal_generator_blocks gnss_system_parameters gnss_sp_libs
                                               ${GNURADIO_RUNTIME_LIBRARIES}
                                               ${GNURADIO_FFT_LIBRARIES}
-                                              ${VOLK_LIBRARIES} ${ORC_LIBRARIES}
+                                              ${VOLK_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES}
 )
+
+if(VOLK_GNSSSDR_FOUND)
+    # add_dependencies(signal_generator_blocks glog-${glog_RELEASE})
+else(VOLK_GNSSSDR_FOUND)
+    add_dependencies(signal_generator_blocks volk_gnsssdr_module)
+endif()
\ No newline at end of file
diff --git a/src/algorithms/signal_generator/gnuradio_blocks/signal_generator_c.cc b/src/algorithms/signal_generator/gnuradio_blocks/signal_generator_c.cc
index 8ac39f7..8c95cb5 100644
--- a/src/algorithms/signal_generator/gnuradio_blocks/signal_generator_c.cc
+++ b/src/algorithms/signal_generator/gnuradio_blocks/signal_generator_c.cc
@@ -34,9 +34,9 @@
 #include <fstream>
 #include <gnuradio/io_signature.h>
 #include <volk/volk.h>
+#include <volk_gnsssdr/volk_gnsssdr.h>
 #include "gps_sdr_signal_processing.h"
 #include "galileo_e1_signal_processing.h"
-#include "nco_lib.h"
 #include "galileo_e5_signal_processing.h"
 #include "Galileo_E1.h"
 #include "Galileo_E5a.h"
@@ -271,7 +271,9 @@ gr_vector_void_star &output_items)
     for (unsigned int sat = 0; sat < num_sats_; sat++)
         {
             float phase_step_rad = -static_cast<float>(GPS_TWO_PI) * doppler_Hz_[sat] / static_cast<float>(fs_in_);
-            fxp_nco(complex_phase_, vector_length_, start_phase_rad_[sat], phase_step_rad);
+            float _phase[1];
+            _phase[0] = -start_phase_rad_[sat];
+            volk_gnsssdr_s32f_sincos_32fc(complex_phase_, -phase_step_rad, _phase, vector_length_);
             start_phase_rad_[sat] += vector_length_ * phase_step_rad;
 
             out_idx = 0;

-- 
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