Updated Windows liquid-dsp binaries (master: 3be93e37e2556b7152e176046dd899a6d2599a58) using GCC 10.2 (MSYS2)

This commit is contained in:
vsonnier 2020-08-14 12:41:29 +02:00
parent 8b61aaa62f
commit d08b0be9bd
13 changed files with 4494 additions and 4361 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1476,6 +1476,8 @@ LIQUID_FFT_DEFINE_API(LIQUID_FFT_MANGLE_FLOAT,float,liquid_float_complex)
#define LIQUID_SPGRAM_MANGLE_CFLOAT(name) LIQUID_CONCAT(spgramcf,name) #define LIQUID_SPGRAM_MANGLE_CFLOAT(name) LIQUID_CONCAT(spgramcf,name)
#define LIQUID_SPGRAM_MANGLE_FLOAT(name) LIQUID_CONCAT(spgramf, name) #define LIQUID_SPGRAM_MANGLE_FLOAT(name) LIQUID_CONCAT(spgramf, name)
#define LIQUID_SPGRAM_PSD_MIN (1e-12)
// Macro : SPGRAM // Macro : SPGRAM
// SPGRAM : name-mangling macro // SPGRAM : name-mangling macro
// T : primitive data type // T : primitive data type
@ -1843,6 +1845,7 @@ LIQUID_SPWATERFALL_DEFINE_API(LIQUID_SPWATERFALL_MANGLE_FLOAT,
// //
// prototypes // prototypes
#define LIQUID_FIRFILT_NUM_TYPES (16)
typedef enum { typedef enum {
LIQUID_FIRFILT_UNKNOWN=0, // unknown filter type LIQUID_FIRFILT_UNKNOWN=0, // unknown filter type
@ -1880,6 +1883,9 @@ void liquid_firdes_prototype(liquid_firfilt_type _type,
float _dt, float _dt,
float * _h); float * _h);
// pretty names for filter design types
extern const char * liquid_firfilt_type_str[LIQUID_FIRFILT_NUM_TYPES][2];
// returns filter type based on input string // returns filter type based on input string
int liquid_getopt_str2firfilt(const char * _str); int liquid_getopt_str2firfilt(const char * _str);
@ -3080,6 +3086,16 @@ FIRPFB() FIRPFB(_create)(unsigned int _M, \
unsigned int _h_len); \ unsigned int _h_len); \
\ \
/* Create firpfb object using Kaiser-Bessel windowed sinc filter design */ \ /* Create firpfb object using Kaiser-Bessel windowed sinc filter design */ \
/* method, using default values for cut-off frequency and stop-band */ \
/* attenuation. This is equivalent to: */ \
/* FIRPFB(_create_kaiser)(_M, _m, 0.5, 60.0) */ \
/* which creates a Nyquist filter at the appropriate cut-off frequency. */ \
/* _M : number of filters in the bank, _M > 0 */ \
/* _m : filter semi-length [samples], _m > 0 */ \
FIRPFB() FIRPFB(_create_default)(unsigned int _M, \
unsigned int _m); \
\
/* Create firpfb object using Kaiser-Bessel windowed sinc filter design */ \
/* method */ \ /* method */ \
/* _M : number of filters in the bank, _M > 0 */ \ /* _M : number of filters in the bank, _M > 0 */ \
/* _m : filter semi-length [samples], _m > 0 */ \ /* _m : filter semi-length [samples], _m > 0 */ \
@ -3259,6 +3275,9 @@ void FIRINTERP(_print)(FIRINTERP() _q); \
/* Reset internal state */ \ /* Reset internal state */ \
void FIRINTERP(_reset)(FIRINTERP() _q); \ void FIRINTERP(_reset)(FIRINTERP() _q); \
\ \
/* Get interpolation rate */ \
unsigned int FIRINTERP(_get_interp_rate)(FIRINTERP() _q); \
\
/* Set output scaling for interpolator */ \ /* Set output scaling for interpolator */ \
/* _q : interpolator object */ \ /* _q : interpolator object */ \
/* _scale : scaling factor to apply to each output sample */ \ /* _scale : scaling factor to apply to each output sample */ \
@ -3463,6 +3482,9 @@ void FIRDECIM(_print)(FIRDECIM() _q); \
/* Reset decimator object internal state */ \ /* Reset decimator object internal state */ \
void FIRDECIM(_reset)(FIRDECIM() _q); \ void FIRDECIM(_reset)(FIRDECIM() _q); \
\ \
/* Get decimation rate */ \
unsigned int FIRDECIM(_get_decim_rate)(FIRDECIM() _q); \
\
/* Set output scaling for decimator */ \ /* Set output scaling for decimator */ \
/* _q : decimator object */ \ /* _q : decimator object */ \
/* _scale : scaling factor to apply to each output sample */ \ /* _scale : scaling factor to apply to each output sample */ \
@ -4140,6 +4162,42 @@ LIQUID_MSRESAMP_DEFINE_API(LIQUID_MSRESAMP_MANGLE_CCCF,
liquid_float_complex, liquid_float_complex,
liquid_float_complex) liquid_float_complex)
//
// Direct digital [up/down] synthesizer
//
#define DDS_MANGLE_CCCF(name) LIQUID_CONCAT(dds_cccf,name)
#define LIQUID_DDS_DEFINE_API(DDS,TO,TC,TI) \
typedef struct DDS(_s) * DDS(); \
\
/* create digital synthesizer object */ \
DDS() DDS(_create)(unsigned int _num_stages, \
float _fc, \
float _bw, \
float _As); \
\
/* destroy digital synthesizer object */ \
void DDS(_destroy)(DDS() _q); \
\
/* print synthesizer object internals to stdout */ \
void DDS(_print)(DDS() _q); \
\
/* reset synthesizer object internals */ \
void DDS(_reset)(DDS() _q); \
\
void DDS(_decim_execute)(DDS() _q, \
TI * _x, \
TO * _y); \
void DDS(_interp_execute)(DDS() _q, \
TI _x, \
TO * _y); \
LIQUID_DDS_DEFINE_API(DDS_MANGLE_CCCF,
liquid_float_complex,
liquid_float_complex,
liquid_float_complex)
// //
// Symbol timing recovery (symbol synchronizer) // Symbol timing recovery (symbol synchronizer)
@ -6871,10 +6929,11 @@ typedef struct MODEM(_s) * MODEM(); \
MODEM() MODEM(_create)(modulation_scheme _scheme); \ MODEM() MODEM(_create)(modulation_scheme _scheme); \
\ \
/* Create linear digital modem object with arbitrary constellation */ \ /* Create linear digital modem object with arbitrary constellation */ \
/* points defined by an external table of symbols. */ \ /* points defined by an external table of symbols. Sample points are */ \
/* provided as complex float pairs and converted internally if needed. */ \
/* _table : array of complex constellation points, [size: _M x 1] */ \ /* _table : array of complex constellation points, [size: _M x 1] */ \
/* _M : modulation order and table size, _M must be power of 2 */ \ /* _M : modulation order and table size, _M must be power of 2 */ \
MODEM() MODEM(_create_arbitrary)(TC * _table, \ MODEM() MODEM(_create_arbitrary)(liquid_float_complex * _table, \
unsigned int _M); \ unsigned int _M); \
\ \
/* Recreate modulation scheme, re-allocating memory as necessary */ \ /* Recreate modulation scheme, re-allocating memory as necessary */ \

View File

@ -57,8 +57,8 @@ include_dirs := . include
CC := gcc CC := gcc
MV := mv -f MV := mv -f
RM := rm -f RM := rm -f
SED := /bin/sed SED := /usr/bin/sed
GREP := /bin/grep GREP := /usr/bin/grep
AR := ar AR := ar
LIBTOOL := LIBTOOL :=
RANLIB := ranlib RANLIB := ranlib
@ -438,6 +438,7 @@ filter_objects := \
# list explicit targets and dependencies here # list explicit targets and dependencies here
filter_includes := \ filter_includes := \
src/filter/src/autocorr.c \ src/filter/src/autocorr.c \
src/filter/src/dds.c \
src/filter/src/fftfilt.c \ src/filter/src/fftfilt.c \
src/filter/src/firdecim.c \ src/filter/src/firdecim.c \
src/filter/src/firfarrow.c \ src/filter/src/firfarrow.c \
@ -486,12 +487,14 @@ filter_autotests := \
src/filter/tests/firdes_autotest.c \ src/filter/tests/firdes_autotest.c \
src/filter/tests/firdespm_autotest.c \ src/filter/tests/firdespm_autotest.c \
src/filter/tests/firfilt_cccf_notch_autotest.c \ src/filter/tests/firfilt_cccf_notch_autotest.c \
src/filter/tests/firfilt_rnyquist_autotest.c \
src/filter/tests/firfilt_xxxf_autotest.c \ src/filter/tests/firfilt_xxxf_autotest.c \
src/filter/tests/firhilb_autotest.c \ src/filter/tests/firhilb_autotest.c \
src/filter/tests/firinterp_autotest.c \ src/filter/tests/firinterp_autotest.c \
src/filter/tests/firpfb_autotest.c \ src/filter/tests/firpfb_autotest.c \
src/filter/tests/groupdelay_autotest.c \ src/filter/tests/groupdelay_autotest.c \
src/filter/tests/iirdes_autotest.c \ src/filter/tests/iirdes_autotest.c \
src/filter/tests/iirdes_support_autotest.c \
src/filter/tests/iirfilt_xxxf_autotest.c \ src/filter/tests/iirfilt_xxxf_autotest.c \
src/filter/tests/iirfiltsos_rrrf_autotest.c \ src/filter/tests/iirfiltsos_rrrf_autotest.c \
src/filter/tests/lpc_autotest.c \ src/filter/tests/lpc_autotest.c \
@ -1330,19 +1333,28 @@ clean-check:
## TARGET : doc-check - build and run basic documentation checks ## TARGET : doc-check - build and run basic documentation checks
## ##
readme.example.c : README.md readme.c.example.c : README.md
${SED} -n '22,42p' $< | ${SED} "s/<liquid\/liquid.h>/\"liquid.h\"/g" > $@ ${SED} -n '22,42p' $< | ${SED} "s/<liquid\/liquid.h>/\"liquid.h\"/g" > $@
readme.example.o : %.o : %.c ${include_headers} readme.c.example.o : %.o : %.c ${include_headers}
${CC} ${CPPFLAGS} ${CFLAGS} $< -c -o $@ ${CC} ${CPPFLAGS} ${CFLAGS} $< -c -o $@
readme.example : % : %.o ${ARCHIVE_LIB} readme.c.example : % : %.o ${ARCHIVE_LIB}
${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@ ${LIBS} ${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@ ${LIBS}
doc-check : readme.example ; ./readme.example readme.cc.example.cc : README.md
${SED} -n '151,172p' $< | ${SED} "s/<liquid\/liquid.h>/\"liquid.h\"/g" > $@
readme.cc.example.o : %.o : %.cc ${include_headers}
${CC} ${CPPFLAGS} ${CFLAGS} $< -c -o $@
readme.cc.example : % : %.o ${ARCHIVE_LIB}
${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@ ${LIBS}
doc-check : readme.c.example readme.cc.example ; ./readme.c.example && ./readme.cc.example
clean-doc-check: clean-doc-check:
${RM} readme.example* ${RM} readme.*.example*
## ##
## TARGET : coverage - run coverage test and produce report ## TARGET : coverage - run coverage test and produce report
@ -1455,6 +1467,7 @@ example_programs := \
examples/cpfskmodem_psd_example \ examples/cpfskmodem_psd_example \
examples/cvsd_example \ examples/cvsd_example \
examples/detector_cccf_example \ examples/detector_cccf_example \
examples/dds_cccf_example \
examples/dsssframesync_example \ examples/dsssframesync_example \
examples/dotprod_rrrf_example \ examples/dotprod_rrrf_example \
examples/dotprod_cccf_example \ examples/dotprod_cccf_example \
@ -1482,6 +1495,7 @@ example_programs := \
examples/firhilb_decim_example \ examples/firhilb_decim_example \
examples/firhilb_filter_example \ examples/firhilb_filter_example \
examples/firhilb_interp_example \ examples/firhilb_interp_example \
examples/firpfb_rrrf_example \
examples/firpfbch2_crcf_example \ examples/firpfbch2_crcf_example \
examples/firpfbchr_crcf_example \ examples/firpfbchr_crcf_example \
examples/firinterp_crcf_example \ examples/firinterp_crcf_example \
@ -1503,6 +1517,8 @@ example_programs := \
examples/gasearch_knapsack_example \ examples/gasearch_knapsack_example \
examples/gmskframesync_example \ examples/gmskframesync_example \
examples/gmskmodem_example \ examples/gmskmodem_example \
examples/gmsk_eqlms_example \
examples/gmsk_tracking_example \
examples/gradsearch_datafit_example \ examples/gradsearch_datafit_example \
examples/gradsearch_example \ examples/gradsearch_example \
examples/interleaver_example \ examples/interleaver_example \
@ -1536,8 +1552,10 @@ example_programs := \
examples/msresamp_crcf_noise_example \ examples/msresamp_crcf_noise_example \
examples/msresamp2_crcf_example \ examples/msresamp2_crcf_example \
examples/nco_crcf_mix_example \ examples/nco_crcf_mix_example \
examples/nco_crcf_tone_example \
examples/nco_example \ examples/nco_example \
examples/nco_pll_example \ examples/nco_pll_example \
examples/nco_pll_real_example \
examples/nco_pll_modem_example \ examples/nco_pll_modem_example \
examples/nyquist_filter_example \ examples/nyquist_filter_example \
examples/ofdmflexframesync_example \ examples/ofdmflexframesync_example \
@ -1657,6 +1675,7 @@ sandbox_programs = \
sandbox/firdes_energy_test \ sandbox/firdes_energy_test \
sandbox/firdes_fexp_test \ sandbox/firdes_fexp_test \
sandbox/firdes_gmskrx_test \ sandbox/firdes_gmskrx_test \
sandbox/firdes_group_delay_test \
sandbox/firdes_length_test \ sandbox/firdes_length_test \
sandbox/firfarrow_rrrf_test \ sandbox/firfarrow_rrrf_test \
sandbox/firfilt_dcblocker_test \ sandbox/firfilt_dcblocker_test \
@ -1668,6 +1687,7 @@ sandbox_programs = \
sandbox/gmskmodem_test \ sandbox/gmskmodem_test \
sandbox/gmskmodem_coherent_test \ sandbox/gmskmodem_coherent_test \
sandbox/gmskmodem_equalizer_test \ sandbox/gmskmodem_equalizer_test \
sandbox/gmskmodem_psd_filter_compare_test \
sandbox/householder_test \ sandbox/householder_test \
sandbox/iirdes_test \ sandbox/iirdes_test \
sandbox/iirdes_gradsearch_test \ sandbox/iirdes_gradsearch_test \

View File

@ -57,8 +57,8 @@ include_dirs := . include
CC := gcc CC := gcc
MV := mv -f MV := mv -f
RM := rm -f RM := rm -f
SED := /bin/sed SED := /usr/bin/sed
GREP := /bin/grep GREP := /usr/bin/grep
AR := ar AR := ar
LIBTOOL := LIBTOOL :=
RANLIB := ranlib RANLIB := ranlib
@ -438,6 +438,7 @@ filter_objects := \
# list explicit targets and dependencies here # list explicit targets and dependencies here
filter_includes := \ filter_includes := \
src/filter/src/autocorr.c \ src/filter/src/autocorr.c \
src/filter/src/dds.c \
src/filter/src/fftfilt.c \ src/filter/src/fftfilt.c \
src/filter/src/firdecim.c \ src/filter/src/firdecim.c \
src/filter/src/firfarrow.c \ src/filter/src/firfarrow.c \
@ -486,12 +487,14 @@ filter_autotests := \
src/filter/tests/firdes_autotest.c \ src/filter/tests/firdes_autotest.c \
src/filter/tests/firdespm_autotest.c \ src/filter/tests/firdespm_autotest.c \
src/filter/tests/firfilt_cccf_notch_autotest.c \ src/filter/tests/firfilt_cccf_notch_autotest.c \
src/filter/tests/firfilt_rnyquist_autotest.c \
src/filter/tests/firfilt_xxxf_autotest.c \ src/filter/tests/firfilt_xxxf_autotest.c \
src/filter/tests/firhilb_autotest.c \ src/filter/tests/firhilb_autotest.c \
src/filter/tests/firinterp_autotest.c \ src/filter/tests/firinterp_autotest.c \
src/filter/tests/firpfb_autotest.c \ src/filter/tests/firpfb_autotest.c \
src/filter/tests/groupdelay_autotest.c \ src/filter/tests/groupdelay_autotest.c \
src/filter/tests/iirdes_autotest.c \ src/filter/tests/iirdes_autotest.c \
src/filter/tests/iirdes_support_autotest.c \
src/filter/tests/iirfilt_xxxf_autotest.c \ src/filter/tests/iirfilt_xxxf_autotest.c \
src/filter/tests/iirfiltsos_rrrf_autotest.c \ src/filter/tests/iirfiltsos_rrrf_autotest.c \
src/filter/tests/lpc_autotest.c \ src/filter/tests/lpc_autotest.c \
@ -1330,19 +1333,28 @@ clean-check:
## TARGET : doc-check - build and run basic documentation checks ## TARGET : doc-check - build and run basic documentation checks
## ##
readme.example.c : README.md readme.c.example.c : README.md
${SED} -n '22,42p' $< | ${SED} "s/<liquid\/liquid.h>/\"liquid.h\"/g" > $@ ${SED} -n '22,42p' $< | ${SED} "s/<liquid\/liquid.h>/\"liquid.h\"/g" > $@
readme.example.o : %.o : %.c ${include_headers} readme.c.example.o : %.o : %.c ${include_headers}
${CC} ${CPPFLAGS} ${CFLAGS} $< -c -o $@ ${CC} ${CPPFLAGS} ${CFLAGS} $< -c -o $@
readme.example : % : %.o ${ARCHIVE_LIB} readme.c.example : % : %.o ${ARCHIVE_LIB}
${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@ ${LIBS} ${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@ ${LIBS}
doc-check : readme.example ; ./readme.example readme.cc.example.cc : README.md
${SED} -n '151,172p' $< | ${SED} "s/<liquid\/liquid.h>/\"liquid.h\"/g" > $@
readme.cc.example.o : %.o : %.cc ${include_headers}
${CC} ${CPPFLAGS} ${CFLAGS} $< -c -o $@
readme.cc.example : % : %.o ${ARCHIVE_LIB}
${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@ ${LIBS}
doc-check : readme.c.example readme.cc.example ; ./readme.c.example && ./readme.cc.example
clean-doc-check: clean-doc-check:
${RM} readme.example* ${RM} readme.*.example*
## ##
## TARGET : coverage - run coverage test and produce report ## TARGET : coverage - run coverage test and produce report
@ -1455,6 +1467,7 @@ example_programs := \
examples/cpfskmodem_psd_example \ examples/cpfskmodem_psd_example \
examples/cvsd_example \ examples/cvsd_example \
examples/detector_cccf_example \ examples/detector_cccf_example \
examples/dds_cccf_example \
examples/dsssframesync_example \ examples/dsssframesync_example \
examples/dotprod_rrrf_example \ examples/dotprod_rrrf_example \
examples/dotprod_cccf_example \ examples/dotprod_cccf_example \
@ -1482,6 +1495,7 @@ example_programs := \
examples/firhilb_decim_example \ examples/firhilb_decim_example \
examples/firhilb_filter_example \ examples/firhilb_filter_example \
examples/firhilb_interp_example \ examples/firhilb_interp_example \
examples/firpfb_rrrf_example \
examples/firpfbch2_crcf_example \ examples/firpfbch2_crcf_example \
examples/firpfbchr_crcf_example \ examples/firpfbchr_crcf_example \
examples/firinterp_crcf_example \ examples/firinterp_crcf_example \
@ -1503,6 +1517,8 @@ example_programs := \
examples/gasearch_knapsack_example \ examples/gasearch_knapsack_example \
examples/gmskframesync_example \ examples/gmskframesync_example \
examples/gmskmodem_example \ examples/gmskmodem_example \
examples/gmsk_eqlms_example \
examples/gmsk_tracking_example \
examples/gradsearch_datafit_example \ examples/gradsearch_datafit_example \
examples/gradsearch_example \ examples/gradsearch_example \
examples/interleaver_example \ examples/interleaver_example \
@ -1536,8 +1552,10 @@ example_programs := \
examples/msresamp_crcf_noise_example \ examples/msresamp_crcf_noise_example \
examples/msresamp2_crcf_example \ examples/msresamp2_crcf_example \
examples/nco_crcf_mix_example \ examples/nco_crcf_mix_example \
examples/nco_crcf_tone_example \
examples/nco_example \ examples/nco_example \
examples/nco_pll_example \ examples/nco_pll_example \
examples/nco_pll_real_example \
examples/nco_pll_modem_example \ examples/nco_pll_modem_example \
examples/nyquist_filter_example \ examples/nyquist_filter_example \
examples/ofdmflexframesync_example \ examples/ofdmflexframesync_example \
@ -1657,6 +1675,7 @@ sandbox_programs = \
sandbox/firdes_energy_test \ sandbox/firdes_energy_test \
sandbox/firdes_fexp_test \ sandbox/firdes_fexp_test \
sandbox/firdes_gmskrx_test \ sandbox/firdes_gmskrx_test \
sandbox/firdes_group_delay_test \
sandbox/firdes_length_test \ sandbox/firdes_length_test \
sandbox/firfarrow_rrrf_test \ sandbox/firfarrow_rrrf_test \
sandbox/firfilt_dcblocker_test \ sandbox/firfilt_dcblocker_test \
@ -1668,6 +1687,7 @@ sandbox_programs = \
sandbox/gmskmodem_test \ sandbox/gmskmodem_test \
sandbox/gmskmodem_coherent_test \ sandbox/gmskmodem_coherent_test \
sandbox/gmskmodem_equalizer_test \ sandbox/gmskmodem_equalizer_test \
sandbox/gmskmodem_psd_filter_compare_test \
sandbox/householder_test \ sandbox/householder_test \
sandbox/iirdes_test \ sandbox/iirdes_test \
sandbox/iirdes_gradsearch_test \ sandbox/iirdes_gradsearch_test \

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.