mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-08-30 01:17:59 +00:00
Rename volk_gnsssdr_32f_xn_fast_resampler_32f_xn to volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xnn
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file volk_gnsssdr_32f_fast_resamplerxnpuppet_32f.h
|
* \file volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f.h
|
||||||
* \brief VOLK_GNSSSDR puppet for the multiple 32-bit float vector fast resampler kernel.
|
* \brief VOLK_GNSSSDR puppet for the multiple 32-bit float vector high dynamics resampler kernel.
|
||||||
* \authors <ul>
|
* \authors <ul>
|
||||||
* <li> Cillian O'Driscoll 2017 cillian.odriscoll at gmail dot com
|
* <li> Cillian O'Driscoll 2017 cillian.odriscoll at gmail dot com
|
||||||
* <li> Javier Arribas, 2018. javiarribas(at)gmail.com
|
* <li> Javier Arribas, 2018. javiarribas(at)gmail.com
|
||||||
@@ -33,10 +33,10 @@
|
|||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INCLUDED_volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_H
|
#ifndef INCLUDED_volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_H
|
||||||
#define INCLUDED_volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_H
|
#define INCLUDED_volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_H
|
||||||
|
|
||||||
#include "volk_gnsssdr/volk_gnsssdr_32f_xn_fast_resampler_32f_xn.h"
|
#include "volk_gnsssdr/volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn.h"
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_malloc.h>
|
#include <volk_gnsssdr/volk_gnsssdr_malloc.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
#include <volk_gnsssdr/volk_gnsssdr_complex.h>
|
||||||
#include <volk_gnsssdr/volk_gnsssdr.h>
|
#include <volk_gnsssdr/volk_gnsssdr.h>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_GENERIC
|
#ifdef LV_HAVE_GENERIC
|
||||||
static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_generic(float* result, const float* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_generic(float* result, const float* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
||||||
@@ -60,7 +60,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_generic(float* re
|
|||||||
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
||||||
}
|
}
|
||||||
|
|
||||||
volk_gnsssdr_32f_xn_fast_resampler_32f_xn_generic(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_generic(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
||||||
|
|
||||||
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_generic(float* re
|
|||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_SSE3
|
#ifdef LV_HAVE_SSE3
|
||||||
static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_sse3(float* result, const float* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_a_sse3(float* result, const float* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
||||||
@@ -91,7 +91,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_sse3(float* res
|
|||||||
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
||||||
}
|
}
|
||||||
|
|
||||||
volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_sse3(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_a_sse3(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
||||||
|
|
||||||
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_sse3(float* res
|
|||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_SSE3
|
#ifdef LV_HAVE_SSE3
|
||||||
static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_sse3(float* result, const float* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_u_sse3(float* result, const float* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
||||||
@@ -122,7 +122,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_sse3(float* res
|
|||||||
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
||||||
}
|
}
|
||||||
|
|
||||||
volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_sse3(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_sse3(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
||||||
|
|
||||||
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_sse3(float* res
|
|||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_SSE4_1
|
#ifdef LV_HAVE_SSE4_1
|
||||||
static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_sse4_1(float* result, const float* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_u_sse4_1(float* result, const float* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
||||||
@@ -153,7 +153,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_sse4_1(float* r
|
|||||||
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
||||||
}
|
}
|
||||||
|
|
||||||
volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_sse4_1(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_sse4_1(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
||||||
|
|
||||||
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
||||||
|
|
||||||
@@ -168,7 +168,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_sse4_1(float* r
|
|||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_SSE4_1
|
#ifdef LV_HAVE_SSE4_1
|
||||||
static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_sse4_1(float* result, const float* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_a_sse4_1(float* result, const float* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
||||||
@@ -184,7 +184,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_sse4_1(float* r
|
|||||||
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
||||||
}
|
}
|
||||||
|
|
||||||
volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_sse4_1(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_a_sse4_1(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
||||||
|
|
||||||
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
||||||
|
|
||||||
@@ -199,7 +199,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_sse4_1(float* r
|
|||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX
|
||||||
static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_avx(float* result, const float* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_a_avx(float* result, const float* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
||||||
@@ -215,7 +215,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_avx(float* resu
|
|||||||
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
||||||
}
|
}
|
||||||
|
|
||||||
volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_avx(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_a_avx(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
||||||
|
|
||||||
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
||||||
|
|
||||||
@@ -229,7 +229,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_a_avx(float* resu
|
|||||||
|
|
||||||
|
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX
|
||||||
static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_avx(float* result, const float* local_code, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f_u_avx(float* result, const float* local_code, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int code_length_chips = 2046;
|
int code_length_chips = 2046;
|
||||||
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
float code_phase_step_chips = ((float)(code_length_chips) + 0.1) / ((float)num_points);
|
||||||
@@ -245,7 +245,7 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_avx(float* resu
|
|||||||
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
result_aux[n] = (float*)volk_gnsssdr_malloc(sizeof(float) * num_points, volk_gnsssdr_get_alignment());
|
||||||
}
|
}
|
||||||
|
|
||||||
volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_avx(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_avx(result_aux, local_code, rem_code_phase_chips, code_phase_step_chips, code_phase_rate_step_chips, shifts_chips, code_length_chips, num_out_vectors, num_points);
|
||||||
|
|
||||||
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
memcpy((float*)result, (float*)result_aux[0], sizeof(float) * num_points);
|
||||||
|
|
||||||
@@ -285,4 +285,4 @@ static inline void volk_gnsssdr_32f_fast_resamplerxnpuppet_32f_u_avx(float* resu
|
|||||||
//}
|
//}
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
#endif // INCLUDED_volk_gnsssdr_32f_fast_resamplerpuppet_32f_H
|
#endif // INCLUDED_volk_gnsssdr_32f_high_dynamics_resamplerpuppet_32f_H
|
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file volk_gnsssdr_32f_xn_fast_resampler_32f_xn.h
|
* \file volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn.h
|
||||||
* \brief VOLK_GNSSSDR kernel: Resamples 1 complex 32-bit float vectors using zero hold resample algorithm
|
* \brief VOLK_GNSSSDR kernel: Resamples 1 complex 32-bit float vectors using zero hold resample algorithm
|
||||||
* and produces the delayed replicas by copying and rotating the resulting resampled signal.
|
* and produces the delayed replicas by copying and rotating the resulting resampled signal.
|
||||||
* \authors <ul>
|
* \authors <ul>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \page volk_gnsssdr_32f_xn_fast_resampler_32f_xn
|
* \page volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn
|
||||||
*
|
*
|
||||||
* \b Overview
|
* \b Overview
|
||||||
*
|
*
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
*
|
*
|
||||||
* <b>Dispatcher Prototype</b>
|
* <b>Dispatcher Prototype</b>
|
||||||
* \code
|
* \code
|
||||||
* void volk_gnsssdr_32f_xn_fast_resampler_32f_xn(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
* void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* \b Inputs
|
* \b Inputs
|
||||||
@@ -64,8 +64,8 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INCLUDED_volk_gnsssdr_32f_xn_fast_resampler_32f_xn_H
|
#ifndef INCLUDED_volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_H
|
||||||
#define INCLUDED_volk_gnsssdr_32f_xn_fast_resampler_32f_xn_H
|
#define INCLUDED_volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_H
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
|
|
||||||
#ifdef LV_HAVE_GENERIC
|
#ifdef LV_HAVE_GENERIC
|
||||||
|
|
||||||
static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_generic(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_generic(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
int local_code_chip_index;
|
int local_code_chip_index;
|
||||||
int current_correlator_tap;
|
int current_correlator_tap;
|
||||||
@@ -109,7 +109,7 @@ static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_generic(float** res
|
|||||||
|
|
||||||
#ifdef LV_HAVE_SSE3
|
#ifdef LV_HAVE_SSE3
|
||||||
#include <pmmintrin.h>
|
#include <pmmintrin.h>
|
||||||
static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_sse3(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_a_sse3(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
float** _result = result;
|
float** _result = result;
|
||||||
const unsigned int quarterPoints = num_points / 4;
|
const unsigned int quarterPoints = num_points / 4;
|
||||||
@@ -194,7 +194,7 @@ static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_sse3(float** resu
|
|||||||
|
|
||||||
#ifdef LV_HAVE_SSE3
|
#ifdef LV_HAVE_SSE3
|
||||||
#include <pmmintrin.h>
|
#include <pmmintrin.h>
|
||||||
static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_sse3(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_sse3(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
float** _result = result;
|
float** _result = result;
|
||||||
const unsigned int quarterPoints = num_points / 4;
|
const unsigned int quarterPoints = num_points / 4;
|
||||||
@@ -280,7 +280,7 @@ static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_sse3(float** resu
|
|||||||
|
|
||||||
#ifdef LV_HAVE_SSE4_1
|
#ifdef LV_HAVE_SSE4_1
|
||||||
#include <smmintrin.h>
|
#include <smmintrin.h>
|
||||||
static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_sse4_1(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_a_sse4_1(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
float** _result = result;
|
float** _result = result;
|
||||||
const unsigned int quarterPoints = num_points / 4;
|
const unsigned int quarterPoints = num_points / 4;
|
||||||
@@ -362,7 +362,7 @@ static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_sse4_1(float** re
|
|||||||
|
|
||||||
#ifdef LV_HAVE_SSE4_1
|
#ifdef LV_HAVE_SSE4_1
|
||||||
#include <smmintrin.h>
|
#include <smmintrin.h>
|
||||||
static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_sse4_1(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_sse4_1(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
float** _result = result;
|
float** _result = result;
|
||||||
const unsigned int quarterPoints = num_points / 4;
|
const unsigned int quarterPoints = num_points / 4;
|
||||||
@@ -444,7 +444,7 @@ static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_sse4_1(float** re
|
|||||||
|
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_avx(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_a_avx(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
float** _result = result;
|
float** _result = result;
|
||||||
const unsigned int avx_iters = num_points / 8;
|
const unsigned int avx_iters = num_points / 8;
|
||||||
@@ -532,7 +532,7 @@ static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_a_avx(float** resul
|
|||||||
|
|
||||||
#ifdef LV_HAVE_AVX
|
#ifdef LV_HAVE_AVX
|
||||||
#include <immintrin.h>
|
#include <immintrin.h>
|
||||||
static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_avx(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_u_avx(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
{
|
{
|
||||||
float** _result = result;
|
float** _result = result;
|
||||||
const unsigned int avx_iters = num_points / 8;
|
const unsigned int avx_iters = num_points / 8;
|
||||||
@@ -621,7 +621,7 @@ static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_avx(float** resul
|
|||||||
//#ifdef LV_HAVE_NEONV7
|
//#ifdef LV_HAVE_NEONV7
|
||||||
//#include <arm_neon.h>
|
//#include <arm_neon.h>
|
||||||
//
|
//
|
||||||
//static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_neon(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
//static inline void volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_neon(float** result, const float* local_code, float rem_code_phase_chips, float code_phase_step_chips, float* shifts_chips, unsigned int code_length_chips, int num_out_vectors, unsigned int num_points)
|
||||||
//{
|
//{
|
||||||
// float** _result = result;
|
// float** _result = result;
|
||||||
// const unsigned int neon_iters = num_points / 4;
|
// const unsigned int neon_iters = num_points / 4;
|
||||||
@@ -704,4 +704,4 @@ static inline void volk_gnsssdr_32f_xn_fast_resampler_32f_xn_u_avx(float** resul
|
|||||||
//
|
//
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
#endif /*INCLUDED_volk_gnsssdr_32f_xn_fast_resampler_32f_xn_H*/
|
#endif /*INCLUDED_volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn_H*/
|
@@ -93,7 +93,7 @@ std::vector<volk_gnsssdr_test_case_t> init_test_list(volk_gnsssdr_test_params_t
|
|||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_16i_resamplerxnpuppet_16i, volk_gnsssdr_16i_xn_resampler_16i_xn, test_params))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_16i_resamplerxnpuppet_16i, volk_gnsssdr_16i_xn_resampler_16i_xn, test_params))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_32fc_resamplerxnpuppet_32fc, volk_gnsssdr_32fc_xn_resampler_32fc_xn, test_params))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_32fc_resamplerxnpuppet_32fc, volk_gnsssdr_32fc_xn_resampler_32fc_xn, test_params))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_32f_resamplerxnpuppet_32f, volk_gnsssdr_32f_xn_resampler_32f_xn, test_params))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_32f_resamplerxnpuppet_32f, volk_gnsssdr_32f_xn_resampler_32f_xn, test_params))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_32f_fast_resamplerxnpuppet_32f, volk_gnsssdr_32f_xn_fast_resampler_32f_xn, test_params))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_32f_high_dynamics_resamplerxnpuppet_32f, volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn, test_params))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_x2_dot_prod_16ic_xn, test_params))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_x2_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_x2_dot_prod_16ic_xn, test_params))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn, test_params_int16))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_x2_rotator_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_x2_rotator_dot_prod_16ic_xn, test_params_int16))
|
||||||
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn, test_params_int16))
|
QA(VOLK_INIT_PUPP(volk_gnsssdr_16ic_16i_rotator_dotprodxnpuppet_16ic, volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn, test_params_int16))
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file cpu_multicorrelator_real_codes.cc
|
* \file cpu_multicorrelator_real_codes.cc
|
||||||
* \brief High optimized CPU vector multiTAP correlator class with real-valued local codes
|
* \brief Highly optimized CPU vector multiTAP correlator class with real-valued local codes
|
||||||
* \authors <ul>
|
* \authors <ul>
|
||||||
* <li> Javier Arribas, 2015. jarribas(at)cttc.es
|
* <li> Javier Arribas, 2015. jarribas(at)cttc.es
|
||||||
* <li> Cillian O'Driscoll, 2017. cillian.odriscoll(at)gmail.com
|
* <li> Cillian O'Driscoll, 2017. cillian.odriscoll(at)gmail.com
|
||||||
@@ -46,7 +46,7 @@ cpu_multicorrelator_real_codes::cpu_multicorrelator_real_codes()
|
|||||||
d_local_codes_resampled = nullptr;
|
d_local_codes_resampled = nullptr;
|
||||||
d_code_length_chips = 0;
|
d_code_length_chips = 0;
|
||||||
d_n_correlators = 0;
|
d_n_correlators = 0;
|
||||||
d_use_fast_resampler = true;
|
d_use_high_dynamics_resampler = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -100,9 +100,9 @@ bool cpu_multicorrelator_real_codes::set_input_output_vectors(std::complex<float
|
|||||||
|
|
||||||
void cpu_multicorrelator_real_codes::update_local_code(int correlator_length_samples, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips)
|
void cpu_multicorrelator_real_codes::update_local_code(int correlator_length_samples, float rem_code_phase_chips, float code_phase_step_chips, float code_phase_rate_step_chips)
|
||||||
{
|
{
|
||||||
if (d_use_fast_resampler)
|
if (d_use_high_dynamics_resampler)
|
||||||
{
|
{
|
||||||
volk_gnsssdr_32f_xn_fast_resampler_32f_xn(d_local_codes_resampled,
|
volk_gnsssdr_32f_xn_high_dynamics_resampler_32f_xn(d_local_codes_resampled,
|
||||||
d_local_code_in,
|
d_local_code_in,
|
||||||
rem_code_phase_chips,
|
rem_code_phase_chips,
|
||||||
code_phase_step_chips,
|
code_phase_step_chips,
|
||||||
@@ -159,8 +159,9 @@ bool cpu_multicorrelator_real_codes::free()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cpu_multicorrelator_real_codes::set_fast_resampler(
|
|
||||||
bool use_fast_resampler)
|
void cpu_multicorrelator_real_codes::set_high_dynamics_resampler(
|
||||||
|
bool use_high_dynamics_resampler)
|
||||||
{
|
{
|
||||||
d_use_fast_resampler = use_fast_resampler;
|
d_use_high_dynamics_resampler = use_high_dynamics_resampler;
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/*!
|
/*!
|
||||||
* \file cpu_multicorrelator_real_codes.h
|
* \file cpu_multicorrelator_real_codes.h
|
||||||
* \brief High optimized CPU vector multiTAP correlator class using real-valued local codes
|
* \brief Highly optimized CPU vector multiTAP correlator class using real-valued local codes
|
||||||
* \authors <ul>
|
* \authors <ul>
|
||||||
* <li> Javier Arribas, 2015. jarribas(at)cttc.es
|
* <li> Javier Arribas, 2015. jarribas(at)cttc.es
|
||||||
* <li> Cillian O'Driscoll, 2017, cillian.odriscoll(at)gmail.com
|
* <li> Cillian O'Driscoll, 2017, cillian.odriscoll(at)gmail.com
|
||||||
@@ -46,7 +46,7 @@ class cpu_multicorrelator_real_codes
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cpu_multicorrelator_real_codes();
|
cpu_multicorrelator_real_codes();
|
||||||
void set_fast_resampler(bool use_fast_resampler);
|
void set_high_dynamics_resampler(bool use_high_dynamics_resampler);
|
||||||
~cpu_multicorrelator_real_codes();
|
~cpu_multicorrelator_real_codes();
|
||||||
bool init(int max_signal_length_samples, int n_correlators);
|
bool init(int max_signal_length_samples, int n_correlators);
|
||||||
bool set_local_code_and_taps(int code_length_chips, const float *local_code_in, float *shifts_chips);
|
bool set_local_code_and_taps(int code_length_chips, const float *local_code_in, float *shifts_chips);
|
||||||
@@ -62,7 +62,7 @@ private:
|
|||||||
const float *d_local_code_in;
|
const float *d_local_code_in;
|
||||||
std::complex<float> *d_corr_out;
|
std::complex<float> *d_corr_out;
|
||||||
float *d_shifts_chips;
|
float *d_shifts_chips;
|
||||||
bool d_use_fast_resampler;
|
bool d_use_high_dynamics_resampler;
|
||||||
int d_code_length_chips;
|
int d_code_length_chips;
|
||||||
int d_n_correlators;
|
int d_n_correlators;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user