[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