Updated Updated Windows liquid-dsp binaries again, from latest master

This commit is contained in:
vsonnier 2019-03-30 15:45:48 +01:00
parent c27e1e6514
commit cf8ea45fa9
13 changed files with 3174 additions and 3071 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -7229,6 +7229,75 @@ LIQUID_FIRPFBCH2_DEFINE_API(LIQUID_FIRPFBCH2_MANGLE_CRCF,
float,
liquid_float_complex)
//
// Finite impulse response polyphase filterbank channelizer
// with output rate Fs * P / M
//
#define LIQUID_FIRPFBCHR_MANGLE_CRCF(name) LIQUID_CONCAT(firpfbchr_crcf,name)
#define LIQUID_FIRPFBCHR_DEFINE_API(FIRPFBCHR,TO,TC,TI) \
typedef struct FIRPFBCHR(_s) * FIRPFBCHR(); \
\
/* create rational rate resampling channelizer (firpfbchr) object by */ \
/* specifying filter coefficients directly */ \
/* _M : number of output channels in chanelizer */ \
/* _P : output decimation factor (output rate is 1/P the input) */ \
/* _m : prototype filter semi-length, length=2*M*m */ \
/* _h : prototype filter coefficient array, [size: 2*M*m x 1] */ \
FIRPFBCHR() FIRPFBCHR(_create)(unsigned int _M, \
unsigned int _P, \
unsigned int _m, \
TC * _h); \
\
/* create rational rate resampling channelizer (firpfbchr) object by */ \
/* specifying filter design parameters for Kaiser prototype */ \
/* _M : number of output channels in chanelizer */ \
/* _P : output decimation factor (output rate is 1/P the input) */ \
/* _m : prototype filter semi-length, length=2*M*m */ \
/* _As : filter stop-band attenuation [dB] */ \
FIRPFBCHR() FIRPFBCHR(_create_kaiser)(unsigned int _M, \
unsigned int _P, \
unsigned int _m, \
float _As); \
\
/* destroy firpfbchr object, freeing internal memory */ \
void FIRPFBCHR(_destroy)(FIRPFBCHR() _q); \
\
/* reset firpfbchr object internal state and buffers */ \
void FIRPFBCHR(_reset)(FIRPFBCHR() _q); \
\
/* print firpfbchr object internals to stdout */ \
void FIRPFBCHR(_print)(FIRPFBCHR() _q); \
\
/* get number of output channels to channelizer */ \
unsigned int FIRPFBCHR(_get_M)(FIRPFBCHR() _q); \
\
/* get decimation factor for channelizer */ \
unsigned int FIRPFBCHR(_get_P)(FIRPFBCHR() _q); \
\
/* get semi-length to channelizer filter prototype */ \
unsigned int FIRPFBCHR(_get_m)(FIRPFBCHR() _q); \
\
/* push buffer of samples into filter bank */ \
/* _q : channelizer object */ \
/* _x : channelizer input [size: P x 1] */ \
void FIRPFBCHR(_push)(FIRPFBCHR() _q, \
TI * _x); \
\
/* execute filterbank channelizer, writing complex baseband samples for */ \
/* each channel into output array */ \
/* _q : channelizer object */ \
/* _y : channelizer output [size: _M x 1] */ \
void FIRPFBCHR(_execute)(FIRPFBCHR() _q, \
TO * _y); \
LIQUID_FIRPFBCHR_DEFINE_API(LIQUID_FIRPFBCHR_MANGLE_CRCF,
liquid_float_complex,
float,
liquid_float_complex)
#define OFDMFRAME_SCTYPE_NULL 0
@ -8303,60 +8372,64 @@ void liquid_get_scale(float _val,
// TP : data type (primitive)
#define LIQUID_VECTOR_DEFINE_API(VECTOR,T,TP) \
\
/* initialize vector with scalar: x[i] = c (scalar) */ \
/* Initialize vector with scalar: x[i] = c (scalar) */ \
void VECTOR(_init)(T _c, \
T * _x, \
unsigned int _n); \
\
/* add each element: z[i] = x[i] + y[i] */ \
/* Add each element pointwise: z[i] = x[i] + y[i] */ \
void VECTOR(_add)(T * _x, \
T * _y, \
unsigned int _n, \
T * _z); \
/* add scalar to each element: y[i] = x[i] + c */ \
\
/* Add scalar to each element: y[i] = x[i] + c */ \
void VECTOR(_addscalar)(T * _x, \
unsigned int _n, \
T _c, \
T * _y); \
\
/* multiply each element: z[i] = x[i] * y[i] */ \
/* Multiply each element pointwise: z[i] = x[i] * y[i] */ \
void VECTOR(_mul)(T * _x, \
T * _y, \
unsigned int _n, \
T * _z); \
/* multiply each element with scalar: y[i] = x[i] * c */ \
\
/* Multiply each element with scalar: y[i] = x[i] * c */ \
void VECTOR(_mulscalar)(T * _x, \
unsigned int _n, \
T _c, \
T * _y); \
\
/* compute complex phase rotation: x[i] = exp{j theta[i]} */ \
/* Compute complex phase rotation: x[i] = exp{j theta[i]} */ \
void VECTOR(_cexpj)(TP * _theta, \
unsigned int _n, \
T * _x); \
/* compute angle of each element: theta[i] = arg{ x[i] } */ \
\
/* Compute angle of each element: theta[i] = arg{ x[i] } */ \
void VECTOR(_carg)(T * _x, \
unsigned int _n, \
TP * _theta); \
/* compute absolute value of each element: y[i] = |x[i]| */ \
\
/* Compute absolute value of each element: y[i] = |x[i]| */ \
void VECTOR(_abs)(T * _x, \
unsigned int _n, \
TP * _y); \
\
/* compute sum of squares: sum{ |x|^2 } */ \
/* Compute sum of squares: sum{ |x|^2 } */ \
TP VECTOR(_sumsq)(T * _x, \
unsigned int _n); \
\
/* compute l-2 norm: sqrt{ sum{ |x|^2 } } */ \
/* Compute l-2 norm: sqrt{ sum{ |x|^2 } } */ \
TP VECTOR(_norm)(T * _x, \
unsigned int _n); \
\
/* compute l-p norm: { sum{ |x|^p } }^(1/p) */ \
/* Compute l-p norm: { sum{ |x|^p } }^(1/p) */ \
TP VECTOR(_pnorm)(T * _x, \
unsigned int _n, \
TP _p); \
\
/* scale vector elements by l-2 norm: y[i] = x[i]/norm(x) */ \
/* Scale vector elements by l-2 norm: y[i] = x[i]/norm(x) */ \
void VECTOR(_normalize)(T * _x, \
unsigned int _n, \
T * _y); \

View File

@ -709,6 +709,7 @@ math_autotests := \
src/math/tests/math_gamma_autotest.c \
src/math/tests/math_complex_autotest.c \
src/math/tests/polynomial_autotest.c \
src/math/tests/polynomial_findroots_autotest.c \
src/math/tests/prime_autotest.c \
@ -872,6 +873,7 @@ $(multichannel_objects) : %.o : %.c $(include_headers)
multichannel_includes := \
src/multichannel/src/firpfbch.c \
src/multichannel/src/firpfbch2.c \
src/multichannel/src/firpfbchr.c \
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_includes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_includes)
@ -887,6 +889,7 @@ multichannel_autotests := \
multichannel_benchmarks := \
src/multichannel/bench/firpfbch_crcf_benchmark.c \
src/multichannel/bench/firpfbch2_crcf_benchmark.c \
src/multichannel/bench/firpfbchr_crcf_benchmark.c \
src/multichannel/bench/ofdmframesync_acquire_benchmark.c \
src/multichannel/bench/ofdmframesync_rxsymbol_benchmark.c \
@ -1431,6 +1434,7 @@ example_programs := \
examples/firhilb_filter_example \
examples/firhilb_interp_example \
examples/firpfbch2_crcf_example \
examples/firpfbchr_crcf_example \
examples/firinterp_crcf_example \
examples/firinterp_firdecim_crcf_example \
examples/firpfbch_crcf_example \
@ -1499,6 +1503,7 @@ example_programs := \
examples/random_histogram_example \
examples/repack_bytes_example \
examples/rresamp_crcf_example \
examples/rresamp_rrrf_example \
examples/resamp_crcf_example \
examples/resamp_crcf_noise_example \
examples/resamp2_cccf_example \

View File

@ -709,6 +709,7 @@ math_autotests := \
src/math/tests/math_gamma_autotest.c \
src/math/tests/math_complex_autotest.c \
src/math/tests/polynomial_autotest.c \
src/math/tests/polynomial_findroots_autotest.c \
src/math/tests/prime_autotest.c \
@ -872,6 +873,7 @@ $(multichannel_objects) : %.o : %.c $(include_headers)
multichannel_includes := \
src/multichannel/src/firpfbch.c \
src/multichannel/src/firpfbch2.c \
src/multichannel/src/firpfbchr.c \
src/multichannel/src/firpfbch_crcf.o : %.o : %.c $(include_headers) $(multichannel_includes)
src/multichannel/src/firpfbch_cccf.o : %.o : %.c $(include_headers) $(multichannel_includes)
@ -887,6 +889,7 @@ multichannel_autotests := \
multichannel_benchmarks := \
src/multichannel/bench/firpfbch_crcf_benchmark.c \
src/multichannel/bench/firpfbch2_crcf_benchmark.c \
src/multichannel/bench/firpfbchr_crcf_benchmark.c \
src/multichannel/bench/ofdmframesync_acquire_benchmark.c \
src/multichannel/bench/ofdmframesync_rxsymbol_benchmark.c \
@ -1431,6 +1434,7 @@ example_programs := \
examples/firhilb_filter_example \
examples/firhilb_interp_example \
examples/firpfbch2_crcf_example \
examples/firpfbchr_crcf_example \
examples/firinterp_crcf_example \
examples/firinterp_firdecim_crcf_example \
examples/firpfbch_crcf_example \
@ -1499,6 +1503,7 @@ example_programs := \
examples/random_histogram_example \
examples/repack_bytes_example \
examples/rresamp_crcf_example \
examples/rresamp_rrrf_example \
examples/resamp_crcf_example \
examples/resamp_crcf_noise_example \
examples/resamp2_cccf_example \

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.