Updates Windows liquid-dsp binaries to v1.4.0:

- Win32/64 bins liquid-dsp ref: 3b8a6f07ba6780b7a3d4be148461257515d183ad (tag: v1.4.0)
- Win32/64 bins using GCC 11.2 (MSYS2)
This commit is contained in:
vsonnier 2022-02-03 19:18:08 +01:00
parent f461fcb94c
commit bbc2e974de
18 changed files with 5131 additions and 4961 deletions

View File

@ -172,7 +172,7 @@
#define PACKAGE_NAME "liquid-dsp"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "liquid-dsp 1.3.2"
#define PACKAGE_STRING "liquid-dsp 1.4.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "liquid-dsp"
@ -181,7 +181,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.3.2"
#define PACKAGE_VERSION "1.4.0"
/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2007 - 2021 Joseph Gaeddert
* Copyright (c) 2007 - 2022 Joseph Gaeddert
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@ -54,8 +54,8 @@ extern "C" {
// LIQUID_VERSION = "X.Y.Z"
// LIQUID_VERSION_NUMBER = (X*1000000 + Y*1000 + Z)
//
#define LIQUID_VERSION "1.3.2"
#define LIQUID_VERSION_NUMBER 1003002
#define LIQUID_VERSION "1.4.0"
#define LIQUID_VERSION_NUMBER 1004000
//
// Run-time library version numbers
@ -153,6 +153,15 @@ const char * liquid_error_info(liquid_error_code _code);
LIQUID_DEFINE_COMPLEX(float, liquid_float_complex);
LIQUID_DEFINE_COMPLEX(double, liquid_double_complex);
// external compile-time deprecation warnings with messages
#ifdef __GNUC__
# define DEPRECATED(MSG,X) X __attribute__((deprecated (MSG)))
#elif defined(_MSC_VER)
# define DEPRECATED(MSG,X) __declspec(deprecated) X
#else
# define DEPRECATED(MSG,X) X
#endif
//
// MODULE : agc (automatic gain control)
//
@ -918,6 +927,14 @@ EQLMS() EQLMS(_create_rnyquist)(int _type, \
EQLMS() EQLMS(_create_lowpass)(unsigned int _n, \
float _fc); \
\
/* Recreate LMS EQ initialized with external coefficients */ \
/* _q : old equalization object */ \
/* _h : filter coefficients; set to NULL for {1,0,0...},[size: _n x 1] */ \
/* _n : filter length */ \
EQLMS() EQLMS(_recreate)(EQLMS() _q, \
T * _h, \
unsigned int _n); \
\
/* Destroy equalizer object, freeing all internal memory */ \
int EQLMS(_destroy)(EQLMS() _q); \
\
@ -936,6 +953,26 @@ float EQLMS(_get_bw)(EQLMS() _q); \
int EQLMS(_set_bw)(EQLMS() _q, \
float _lambda); \
\
/* Get length of equalizer object (number of internal coefficients) */ \
unsigned int EQLMS(_get_length)(EQLMS() _q); \
\
/* Get pointer to coefficients array */ \
const T * EQLMS(_get_coefficients)(EQLMS() _q); \
\
/* Copy internal coefficients to external buffer */ \
/* _q : filter object */ \
/* _w : pointer to output coefficients array [size: _n x 1] */ \
int EQLMS(_copy_coefficients)(EQLMS() _q, \
T * _w); \
\
/* Get equalizer's internal coefficients */ \
/* _q : filter object */ \
/* _w : pointer to output coefficients array [size: _n x 1] */ \
DEPRECATED("use eqlms_xxxt_copy_coefficients(...) instead", \
void EQLMS(_get_weights)(EQLMS() _q, \
T * _w) \
); \
\
/* Push sample into equalizer internal buffer */ \
/* _q : equalizer object */ \
/* _x : input sample */ \
@ -994,23 +1031,19 @@ int EQLMS(_step)(EQLMS() _q, \
int EQLMS(_step_blind)(EQLMS() _q, \
T _d_hat); \
\
/* Get equalizer's internal coefficients */ \
/* _q : equalizer object */ \
/* _w : weights, [size: _p x 1] */ \
int EQLMS(_get_weights)(EQLMS() _q, \
T * _w); \
\
/* Train equalizer object on group of samples */ \
/* _q : equalizer object */ \
/* _w : input/output weights, [size: _p x 1] */ \
/* _x : received sample vector,[size: _n x 1] */ \
/* _d : desired output vector, [size: _n x 1] */ \
/* _n : input, output vector length */ \
DEPRECATED("method provides complexity with little benefit", \
int EQLMS(_train)(EQLMS() _q, \
T * _w, \
T * _x, \
T * _d, \
unsigned int _n); \
unsigned int _n) \
); \
LIQUID_EQLMS_DEFINE_API(LIQUID_EQLMS_MANGLE_RRRF, float)
LIQUID_EQLMS_DEFINE_API(LIQUID_EQLMS_MANGLE_CCCF, liquid_float_complex)
@ -5381,13 +5414,15 @@ int fskframesync_debug_export (fskframesync _q, const char * _filename);
typedef struct gmskframegen_s * gmskframegen;
// create GMSK frame generator
// create GMSK frame generator with specific parameters
// _k : samples/symbol
// _m : filter delay (symbols)
// _BT : excess bandwidth factor
gmskframegen gmskframegen_create(unsigned int _k,
unsigned int _m,
float _BT);
gmskframegen gmskframegen_create_set(unsigned int _k,
unsigned int _m,
float _BT);
// create default GMSK frame generator (k=2, m=3, BT=0.5)
gmskframegen gmskframegen_create();
int gmskframegen_destroy (gmskframegen _q);
int gmskframegen_is_assembled (gmskframegen _q);
int gmskframegen_print (gmskframegen _q);
@ -5406,12 +5441,20 @@ int gmskframegen_assemble_default(gmskframegen _q,
unsigned int gmskframegen_getframelen(gmskframegen _q);
// write samples of assembled frame
// _q : frame generator object
// _buf : output buffer [size: _buf_len x 1]
// _buf_len : output buffer length
int gmskframegen_write(gmskframegen _q,
liquid_float_complex * _buf,
unsigned int _buf_len);
// _q : frame generator object
// _buf : output buffer [size: _buf_len x 1]
// _buf_len : output buffer length
int gmskframegen_write(gmskframegen _q,
liquid_float_complex * _buf,
unsigned int _buf_len);
// write samples of assembled frame
// _q : frame generator object
// _buf : output buffer [size: k x 1]
DEPRECATED("use gmskframegen_write(...) instead",
int gmskframegen_write_samples(gmskframegen _q,
liquid_float_complex * _buf)
);
//
@ -5426,10 +5469,15 @@ typedef struct gmskframesync_s * gmskframesync;
// _BT : excess bandwidth factor
// _callback : callback function
// _userdata : user data pointer passed to callback function
gmskframesync gmskframesync_create(unsigned int _k,
unsigned int _m,
float _BT,
framesync_callback _callback,
gmskframesync gmskframesync_create_set(unsigned int _k,
unsigned int _m,
float _BT,
framesync_callback _callback,
void * _userdata);
// create GMSK frame synchronizer with default parameters (k=2, m=3, BT=0.5)
// _callback : callback function
// _userdata : user data pointer passed to callback function
gmskframesync gmskframesync_create(framesync_callback _callback,
void * _userdata);
int gmskframesync_destroy(gmskframesync _q);
int gmskframesync_print(gmskframesync _q);
@ -5443,6 +5491,14 @@ int gmskframesync_execute(gmskframesync _q,
int gmskframesync_reset_framedatastats(gmskframesync _q);
framedatastats_s gmskframesync_get_framedatastats (gmskframesync _q);
// debug methods
DEPRECATED("debug methods add complexity and provide little value",
int gmskframesync_debug_enable(gmskframesync _q) );
DEPRECATED("debug methods add complexity and provide little value",
int gmskframesync_debug_disable(gmskframesync _q) );
DEPRECATED("debug methods add complexity and provide little value",
int gmskframesync_debug_print(gmskframesync _q, const char * _filename) );
//
// DSSS frame generator
@ -6528,6 +6584,18 @@ int liquid_kbd_window(unsigned int _wlen,
float _beta,
float * _w);
// shim to support legacy APIs (backwards compatible with 1.3.2)
float kaiser(unsigned int _i,unsigned int _wlen, float _beta, float _dt);
float hamming(unsigned int _i,unsigned int _wlen);
float hann(unsigned int _i,unsigned int _wlen);
float blackmanharris(unsigned int _i,unsigned int _wlen);
float blackmanharris7(unsigned int _i,unsigned int _wlen);
float flattop(unsigned int _i,unsigned int _wlen);
float triangular(unsigned int _i,unsigned int _wlen,unsigned int _L);
float liquid_rcostaper_windowf(unsigned int _i,unsigned int _wlen,unsigned int _t);
float kbd(unsigned int _i,unsigned int _wlen,float _beta);
int kbd_window(unsigned int _wlen,float _beta,float * _w);
// polynomials
@ -7275,7 +7343,7 @@ int smatrixb_vmulf(smatrixb _q,
#define MAX_MOD_BITS_PER_SYMBOL 8
// Modulation schemes available
#define LIQUID_MODEM_NUM_SCHEMES (52)
#define LIQUID_MODEM_NUM_SCHEMES (53)
typedef enum {
LIQUID_MODEM_UNKNOWN=0, // Unknown modulation scheme
@ -7323,6 +7391,7 @@ typedef enum {
LIQUID_MODEM_ARB128OPT, // optimal 128-QAM
LIQUID_MODEM_ARB256OPT, // optimal 256-QAM
LIQUID_MODEM_ARB64VT, // Virginia Tech logo
LIQUID_MODEM_PI4DQPSK, // pi/4 differential QPSK
// arbitrary modem type
LIQUID_MODEM_ARB // arbitrary QAM
@ -7394,6 +7463,12 @@ int liquid_unpack_soft_bits(unsigned int _sym_in,
//
#define LIQUID_MODEM_MANGLE_FLOAT(name) LIQUID_CONCAT(modemcf,name)
// temporary shim to support backwards compatibility between "modemcf" and "modem"
#define LIQUID_MODEM_MANGLE_FLOAT_SHIM(name) LIQUID_CONCAT(modem,name)
// FIXME: need to point both modem and modemcf pointers to same struct (shim)
typedef struct modemcf_s * modemcf;
typedef struct modemcf_s * modem;
// Macro : MODEM
// MODEM : name-mangling macro
@ -7402,7 +7477,8 @@ int liquid_unpack_soft_bits(unsigned int _sym_in,
#define LIQUID_MODEM_DEFINE_API(MODEM,T,TC) \
\
/* Linear modulator/demodulator (modem) object */ \
typedef struct MODEM(_s) * MODEM(); \
/* FIXME: need to point both modem and modemcf pointers to same struct */ \
/*typedef struct MODEM(_s) * MODEM(); */ \
\
/* Create digital modem object with a particular scheme */ \
/* _scheme : linear modulation scheme (e.g. LIQUID_MODEM_QPSK) */ \
@ -7494,7 +7570,7 @@ float MODEM(_get_demodulator_evm)(MODEM() _q); \
// define modem APIs
LIQUID_MODEM_DEFINE_API(LIQUID_MODEM_MANGLE_FLOAT,float,liquid_float_complex)
LIQUID_MODEM_DEFINE_API(LIQUID_MODEM_MANGLE_FLOAT_SHIM,float,liquid_float_complex)
//
// continuous-phase modulation

View File

@ -1,4 +1,4 @@
# Copyright (c) 2007 - 2021 Joseph Gaeddert
# Copyright (c) 2007 - 2022 Joseph Gaeddert
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
@ -43,7 +43,7 @@
# autoconf initialization macros
NAME := liquid-dsp
VERSION := 1.3.2
VERSION := 1.4.0
BUGREPORT := joseph@liquidsdr.org
# paths
@ -71,8 +71,8 @@ COVERAGE_FLAGS = # dynamic library linker needs separate flag
#MINGW: optimizations goes here, use SSSE42 for 32bit
CONFIG_CFLAGS = -m32 -O3 -msse4.2 -ffast-math ${COVERAGE_FLAGS}
CPPFLAGS = $(INCLUDE_CFLAGS)
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC
CXXFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-return-type-c-linkage
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated
CXXFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated -Wno-return-type-c-linkage
LDFLAGS =
#MINGW:
LIBS = -lmsvcrt
@ -828,6 +828,7 @@ modem_objects := \
src/modem/src/fskmod.o \
src/modem/src/gmskdem.o \
src/modem/src/gmskmod.o \
src/modem/src/modem.shim.o \
src/modem/src/modemcf.o \
src/modem/src/modem_utilities.o \
src/modem/src/modem_apsk_const.o \
@ -846,6 +847,7 @@ modem_includes := \
src/modem/src/modem_bpsk.c \
src/modem/src/modem_qpsk.c \
src/modem/src/modem_ook.c \
src/modem/src/modem_pi4dqpsk.c \
src/modem/src/modem_sqam32.c \
src/modem/src/modem_sqam128.c \
src/modem/src/modem_arb.c \
@ -853,6 +855,7 @@ modem_includes := \
#src/modem/src/modem_demod_soft_const.c
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_includes)
src/modem/src/modem.shim.o : %.o : %.c $(include_headers)
src/modem/src/gmskmod.o : %.o : %.c $(include_headers)
src/modem/src/gmskdem.o : %.o : %.c $(include_headers)
src/modem/src/ampmodem.o : %.o : %.c $(include_headers)
@ -1473,7 +1476,6 @@ example_programs := \
examples/cbufferf_example \
examples/cgsolve_example \
examples/channel_cccf_example \
examples/chromosome_example \
examples/compand_example \
examples/compand_cf_example \
examples/complementary_codes_example \
@ -1562,6 +1564,7 @@ example_programs := \
examples/math_primitive_root_example \
examples/modem_arb_example \
examples/modem_example \
examples/modem_pi4dqpsk_example \
examples/modem_soft_example \
examples/modular_arithmetic_example \
examples/msequence_generator_example \
@ -1657,6 +1660,7 @@ sandbox_programs = \
sandbox/am_demod_dsb_pll_costas_test \
sandbox/am_demod_ssb_pll_carrier_test \
sandbox/bpresync_test \
sandbox/chromosome_test \
sandbox/cpmodem_test \
sandbox/count_ones_gentab \
sandbox/crc_gentab \
@ -1787,7 +1791,7 @@ programs: all xautotest benchmark examples sandbox
##
## TARGET : world - build absolutely everything
##
world : all check bench examples sandbox
world : all bench check doc-check examples sandbox
##
## TARGET : clean - clean build (objects, dependencies, libraries, etc.)

View File

@ -1,4 +1,4 @@
# Copyright (c) 2007 - 2021 Joseph Gaeddert
# Copyright (c) 2007 - 2022 Joseph Gaeddert
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
@ -43,7 +43,7 @@
# autoconf initialization macros
NAME := liquid-dsp
VERSION := 1.3.2
VERSION := 1.4.0
BUGREPORT := joseph@liquidsdr.org
# paths
@ -71,8 +71,8 @@ COVERAGE_FLAGS = # dynamic library linker needs separate flag
#MINGW: optimizations goes here, use SSSE42 for 64bit
CONFIG_CFLAGS = -O3 -msse4.2 -ffast-math ${COVERAGE_FLAGS}
CPPFLAGS = $(INCLUDE_CFLAGS)
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC
CXXFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-return-type-c-linkage
CFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated
CXXFLAGS = $(CONFIG_CFLAGS) -Wall -fPIC -Wno-deprecated -Wno-return-type-c-linkage
LDFLAGS =
#MINGW:
LIBS = -lmsvcrt
@ -828,6 +828,7 @@ modem_objects := \
src/modem/src/fskmod.o \
src/modem/src/gmskdem.o \
src/modem/src/gmskmod.o \
src/modem/src/modem.shim.o \
src/modem/src/modemcf.o \
src/modem/src/modem_utilities.o \
src/modem/src/modem_apsk_const.o \
@ -846,6 +847,7 @@ modem_includes := \
src/modem/src/modem_bpsk.c \
src/modem/src/modem_qpsk.c \
src/modem/src/modem_ook.c \
src/modem/src/modem_pi4dqpsk.c \
src/modem/src/modem_sqam32.c \
src/modem/src/modem_sqam128.c \
src/modem/src/modem_arb.c \
@ -853,6 +855,7 @@ modem_includes := \
#src/modem/src/modem_demod_soft_const.c
src/modem/src/modemcf.o : %.o : %.c $(include_headers) $(modem_includes)
src/modem/src/modem.shim.o : %.o : %.c $(include_headers)
src/modem/src/gmskmod.o : %.o : %.c $(include_headers)
src/modem/src/gmskdem.o : %.o : %.c $(include_headers)
src/modem/src/ampmodem.o : %.o : %.c $(include_headers)
@ -1473,7 +1476,6 @@ example_programs := \
examples/cbufferf_example \
examples/cgsolve_example \
examples/channel_cccf_example \
examples/chromosome_example \
examples/compand_example \
examples/compand_cf_example \
examples/complementary_codes_example \
@ -1562,6 +1564,7 @@ example_programs := \
examples/math_primitive_root_example \
examples/modem_arb_example \
examples/modem_example \
examples/modem_pi4dqpsk_example \
examples/modem_soft_example \
examples/modular_arithmetic_example \
examples/msequence_generator_example \
@ -1657,6 +1660,7 @@ sandbox_programs = \
sandbox/am_demod_dsb_pll_costas_test \
sandbox/am_demod_ssb_pll_carrier_test \
sandbox/bpresync_test \
sandbox/chromosome_test \
sandbox/cpmodem_test \
sandbox/count_ones_gentab \
sandbox/crc_gentab \
@ -1787,7 +1791,7 @@ programs: all xautotest benchmark examples sandbox
##
## TARGET : world - build absolutely everything
##
world : all check bench examples sandbox
world : all bench check doc-check examples sandbox
##
## TARGET : clean - clean build (objects, dependencies, libraries, etc.)

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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.