Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
677
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 175.68 KB | None | 0 0
  1. # 1 "include\\liquid.h"
  2. # 1 "<built-in>"
  3. # 1 "<command-line>"
  4. # 1 "include\\liquid.h"
  5. # 33 "include\\liquid.h"
  6. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/inttypes.h" 1 3
  7. # 11 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/inttypes.h" 3
  8. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 1 3
  9. # 10 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 3
  10. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 1 3
  11. # 10 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  12. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3
  13. # 10 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3
  14. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 1 3
  15. # 98 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3
  16.  
  17. # 107 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw_mac.h" 3
  18.  
  19. # 11 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3
  20. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw_secapi.h" 1 3
  21. # 12 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3
  22. # 284 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3
  23. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/vadefs.h" 1 3
  24. # 9 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3
  25. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 1 3
  26. # 609 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3
  27. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/sdks/_mingw_ddk.h" 1 3
  28. # 610 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3
  29. # 10 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/vadefs.h" 2 3
  30.  
  31. #pragma pack(push, _CRT_PACKING)
  32. # 24 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3
  33.  
  34. # 24 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3
  35. typedef __builtin_va_list __gnuc_va_list;
  36.  
  37. typedef __gnuc_va_list va_list;
  38. # 103 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/vadefs.h" 3
  39. #pragma pack(pop)
  40. # 285 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 2 3
  41. # 580 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/_mingw.h" 3
  42. void __attribute__((__cdecl__)) __debugbreak(void);
  43. extern __inline__ __attribute__((__always_inline__, __gnu_inline__)) void __attribute__((__cdecl__)) __debugbreak(void)
  44. {
  45.     __asm__ __volatile__("int {$}3"
  46.                          :);
  47. }
  48.  
  49. const char *__mingw_get_crt_info(void);
  50. # 11 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 2 3
  51.  
  52. #pragma pack(push, _CRT_PACKING)
  53. # 40 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  54. __extension__ typedef unsigned long long size_t;
  55. # 50 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  56. __extension__ typedef long long ssize_t;
  57.  
  58. typedef size_t rsize_t;
  59. # 67 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  60. __extension__ typedef long long intptr_t;
  61. # 80 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  62. __extension__ typedef unsigned long long uintptr_t;
  63. # 93 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  64. __extension__ typedef long long ptrdiff_t;
  65. # 103 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  66. typedef unsigned short wchar_t;
  67.  
  68. typedef unsigned short wint_t;
  69. typedef unsigned short wctype_t;
  70.  
  71. typedef int errno_t;
  72.  
  73. typedef long __time32_t;
  74.  
  75. __extension__ typedef long long __time64_t;
  76. # 143 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  77. typedef __time64_t time_t;
  78. # 435 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/corecrt.h" 3
  79. struct threadlocaleinfostruct;
  80. struct threadmbcinfostruct;
  81. typedef struct threadlocaleinfostruct *pthreadlocinfo;
  82. typedef struct threadmbcinfostruct *pthreadmbcinfo;
  83. struct __lc_time_data;
  84.  
  85. typedef struct localeinfo_struct
  86. {
  87.     pthreadlocinfo locinfo;
  88.     pthreadmbcinfo mbcinfo;
  89. } _locale_tstruct, *_locale_t;
  90.  
  91. typedef struct tagLC_ID
  92. {
  93.     unsigned short wLanguage;
  94.     unsigned short wCountry;
  95.     unsigned short wCodePage;
  96. } LC_ID, *LPLC_ID;
  97.  
  98. typedef struct threadlocaleinfostruct
  99. {
  100.  
  101.     int refcount;
  102.     unsigned int lc_codepage;
  103.     unsigned int lc_collate_cp;
  104.     unsigned long lc_handle[6];
  105.     LC_ID lc_id[6];
  106.     struct
  107.     {
  108.         char *locale;
  109.         wchar_t *wlocale;
  110.         int *refcount;
  111.         int *wrefcount;
  112.     } lc_category[6];
  113.     int lc_clike;
  114.     int mb_cur_max;
  115.     int *lconv_intl_refcount;
  116.     int *lconv_num_refcount;
  117.     int *lconv_mon_refcount;
  118.     struct lconv *lconv;
  119.     int *ctype1_refcount;
  120.     unsigned short *ctype1;
  121.     const unsigned short *pctype;
  122.     const unsigned char *pclmap;
  123.     const unsigned char *pcumap;
  124.     struct __lc_time_data *lc_time_curr;
  125.  
  126. } threadlocinfo;
  127.  
  128. #pragma pack(pop)
  129. # 11 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/crtdefs.h" 2 3
  130. # 12 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/inttypes.h" 2 3
  131. # 1 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stdint.h" 1 3 4
  132. # 9 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stdint.h" 3 4
  133. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/stdint.h" 1 3 4
  134. # 32 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/stdint.h" 3 4
  135. # 1 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stddef.h" 1 3 4
  136. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/stddef.h" 1 3 4
  137. # 18 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/stddef.h" 3 4
  138. __attribute__((__dllimport__)) extern int *__attribute__((__cdecl__)) _errno(void);
  139.  
  140. errno_t __attribute__((__cdecl__)) _set_errno(int _Value);
  141. errno_t __attribute__((__cdecl__)) _get_errno(int *_Value);
  142.  
  143. __attribute__((__dllimport__)) extern unsigned long __attribute__((__cdecl__)) __threadid(void);
  144.  
  145. __attribute__((__dllimport__)) extern uintptr_t __attribute__((__cdecl__)) __threadhandle(void);
  146. # 2 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stddef.h" 2 3 4
  147. # 416 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stddef.h" 3 4
  148. typedef struct
  149. {
  150.     long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
  151.     long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
  152. # 427 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stddef.h" 3 4
  153. } max_align_t;
  154. # 33 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/stdint.h" 2 3 4
  155.  
  156. typedef signed char int8_t;
  157. typedef unsigned char uint8_t;
  158. typedef short int16_t;
  159. typedef unsigned short uint16_t;
  160. typedef int int32_t;
  161. typedef unsigned uint32_t;
  162. __extension__ typedef long long int64_t;
  163. __extension__ typedef unsigned long long uint64_t;
  164.  
  165. typedef signed char int_least8_t;
  166. typedef unsigned char uint_least8_t;
  167. typedef short int_least16_t;
  168. typedef unsigned short uint_least16_t;
  169. typedef int int_least32_t;
  170. typedef unsigned uint_least32_t;
  171. __extension__ typedef long long int_least64_t;
  172. __extension__ typedef unsigned long long uint_least64_t;
  173.  
  174. typedef signed char int_fast8_t;
  175. typedef unsigned char uint_fast8_t;
  176. typedef short int_fast16_t;
  177. typedef unsigned short uint_fast16_t;
  178. typedef int int_fast32_t;
  179. typedef unsigned int uint_fast32_t;
  180. __extension__ typedef long long int_fast64_t;
  181. __extension__ typedef unsigned long long uint_fast64_t;
  182.  
  183. __extension__ typedef long long intmax_t;
  184. __extension__ typedef unsigned long long uintmax_t;
  185. # 10 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stdint.h" 2 3 4
  186. # 13 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/inttypes.h" 2 3
  187.  
  188. # 1 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stddef.h" 1 3 4
  189. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/stddef.h" 1 3 4
  190. # 2 "D:/Programas/msys2/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/include/stddef.h" 2 3 4
  191. # 15 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/inttypes.h" 2 3
  192.  
  193. typedef struct
  194. {
  195.     intmax_t quot;
  196.     intmax_t rem;
  197. } imaxdiv_t;
  198. # 281 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/inttypes.h" 3
  199. intmax_t __attribute__((__cdecl__)) imaxabs(intmax_t j);
  200.  
  201. imaxdiv_t __attribute__((__cdecl__)) imaxdiv(intmax_t numer, intmax_t denom);
  202.  
  203. intmax_t __attribute__((__cdecl__)) strtoimax(const char *__restrict__ nptr,
  204.                                               char **__restrict__ endptr, int base);
  205. uintmax_t __attribute__((__cdecl__)) strtoumax(const char *__restrict__ nptr,
  206.                                                char **__restrict__ endptr, int base);
  207.  
  208. intmax_t __attribute__((__cdecl__)) wcstoimax(const wchar_t *__restrict__ nptr,
  209.                                               wchar_t **__restrict__ endptr, int base);
  210. uintmax_t __attribute__((__cdecl__)) wcstoumax(const wchar_t *__restrict__ nptr,
  211.                                                wchar_t **__restrict__ endptr, int base);
  212. # 34 "include\\liquid.h" 2
  213. # 58 "include\\liquid.h"
  214.  
  215. # 58 "include\\liquid.h"
  216. extern const char liquid_version[];
  217. const char *liquid_libversion(void);
  218. int liquid_libversion_number(void);
  219. # 81 "include\\liquid.h"
  220. # 1 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/complex.h" 1 3
  221. # 51 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/complex.h" 3
  222.  
  223. # 51 "D:/Programas/msys2/mingw64/x86_64-w64-mingw32/include/complex.h" 3
  224. double __attribute__((__const__)) creal(double _Complex);
  225. double __attribute__((__const__)) cimag(double _Complex);
  226. double __attribute__((__const__)) carg(double _Complex);
  227. double __attribute__((__const__)) cabs(double _Complex);
  228. double _Complex __attribute__((__const__)) conj(double _Complex);
  229. double _Complex cacos(double _Complex);
  230. double _Complex casin(double _Complex);
  231. double _Complex catan(double _Complex);
  232. double _Complex ccos(double _Complex);
  233. double _Complex csin(double _Complex);
  234. double _Complex ctan(double _Complex);
  235. double _Complex cacosh(double _Complex);
  236. double _Complex casinh(double _Complex);
  237. double _Complex catanh(double _Complex);
  238. double _Complex ccosh(double _Complex);
  239. double _Complex csinh(double _Complex);
  240. double _Complex ctanh(double _Complex);
  241. double _Complex cexp(double _Complex);
  242. double _Complex clog(double _Complex);
  243.  
  244. double _Complex cpow(double _Complex, double _Complex);
  245. double _Complex csqrt(double _Complex);
  246. double _Complex __attribute__((__const__)) cproj(double _Complex);
  247.  
  248. float __attribute__((__const__)) crealf(float _Complex);
  249. float __attribute__((__const__)) cimagf(float _Complex);
  250. float __attribute__((__const__)) cargf(float _Complex);
  251. float __attribute__((__const__)) cabsf(float _Complex);
  252. float _Complex __attribute__((__const__)) conjf(float _Complex);
  253. float _Complex cacosf(float _Complex);
  254. float _Complex casinf(float _Complex);
  255. float _Complex catanf(float _Complex);
  256. float _Complex ccosf(float _Complex);
  257. float _Complex csinf(float _Complex);
  258. float _Complex ctanf(float _Complex);
  259. float _Complex cacoshf(float _Complex);
  260. float _Complex casinhf(float _Complex);
  261. float _Complex catanhf(float _Complex);
  262. float _Complex ccoshf(float _Complex);
  263. float _Complex csinhf(float _Complex);
  264. float _Complex ctanhf(float _Complex);
  265. float _Complex cexpf(float _Complex);
  266. float _Complex clogf(float _Complex);
  267.  
  268. float _Complex cpowf(float _Complex, float _Complex);
  269. float _Complex csqrtf(float _Complex);
  270. float _Complex __attribute__((__const__)) cprojf(float _Complex);
  271.  
  272. long double __attribute__((__const__)) creall(long double _Complex);
  273. long double __attribute__((__const__)) cimagl(long double _Complex);
  274. long double __attribute__((__const__)) cargl(long double _Complex);
  275. long double __attribute__((__const__)) cabsl(long double _Complex);
  276. long double _Complex __attribute__((__const__)) conjl(long double _Complex);
  277. long double _Complex cacosl(long double _Complex);
  278. long double _Complex casinl(long double _Complex);
  279. long double _Complex catanl(long double _Complex);
  280. long double _Complex ccosl(long double _Complex);
  281. long double _Complex csinl(long double _Complex);
  282. long double _Complex ctanl(long double _Complex);
  283. long double _Complex cacoshl(long double _Complex);
  284. long double _Complex casinhl(long double _Complex);
  285. long double _Complex catanhl(long double _Complex);
  286. long double _Complex ccoshl(long double _Complex);
  287. long double _Complex csinhl(long double _Complex);
  288. long double _Complex ctanhl(long double _Complex);
  289. long double _Complex cexpl(long double _Complex);
  290. long double _Complex clogl(long double _Complex);
  291.  
  292. long double _Complex cpowl(long double _Complex, long double _Complex);
  293. long double _Complex csqrtl(long double _Complex);
  294. long double _Complex __attribute__((__const__)) cprojl(long double _Complex);
  295. # 82 "include\\liquid.h" 2
  296. # 90 "include\\liquid.h"
  297.  
  298. # 90 "include\\liquid.h"
  299. typedef float _Complex liquid_float_complex;
  300. typedef double _Complex liquid_double_complex;
  301.  
  302. typedef enum
  303. {
  304.     LIQUID_AGC_SQUELCH_UNKNOWN = 0,
  305.     LIQUID_AGC_SQUELCH_ENABLED,
  306.     LIQUID_AGC_SQUELCH_RISE,
  307.     LIQUID_AGC_SQUELCH_SIGNALHI,
  308.     LIQUID_AGC_SQUELCH_FALL,
  309.     LIQUID_AGC_SQUELCH_SIGNALLO,
  310.     LIQUID_AGC_SQUELCH_TIMEOUT,
  311.     LIQUID_AGC_SQUELCH_DISABLED,
  312. } agc_squelch_mode;
  313. # 264 "include\\liquid.h"
  314. typedef struct agc_crcf_s *agc_crcf;
  315. agc_crcf agc_crcf_create(void);
  316. void agc_crcf_destroy(agc_crcf _q);
  317. void agc_crcf_print(agc_crcf _q);
  318. void agc_crcf_reset(agc_crcf _q);
  319. void agc_crcf_execute(agc_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  320. void agc_crcf_execute_block(agc_crcf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  321. void agc_crcf_lock(agc_crcf _q);
  322. void agc_crcf_unlock(agc_crcf _q);
  323. void agc_crcf_set_bandwidth(agc_crcf _q, float _bt);
  324. float agc_crcf_get_bandwidth(agc_crcf _q);
  325. float agc_crcf_get_signal_level(agc_crcf _q);
  326. void agc_crcf_set_signal_level(agc_crcf _q, float _x2);
  327. float agc_crcf_get_rssi(agc_crcf _q);
  328. void agc_crcf_set_rssi(agc_crcf _q, float _rssi);
  329. float agc_crcf_get_gain(agc_crcf _q);
  330. void agc_crcf_set_gain(agc_crcf _q, float _gain);
  331. float agc_crcf_get_scale(agc_crcf _q);
  332. void agc_crcf_set_scale(agc_crcf _q, float _scale);
  333. void agc_crcf_init(agc_crcf _q, liquid_float_complex *_x, unsigned int _n);
  334. void agc_crcf_squelch_enable(agc_crcf _q);
  335. void agc_crcf_squelch_disable(agc_crcf _q);
  336. int agc_crcf_squelch_is_enabled(agc_crcf _q);
  337. void agc_crcf_squelch_set_threshold(agc_crcf _q, float _thresh);
  338. float agc_crcf_squelch_get_threshold(agc_crcf _q);
  339. void agc_crcf_squelch_set_timeout(agc_crcf _q, unsigned int _timeout);
  340. unsigned int agc_crcf_squelch_get_timeout(agc_crcf _q);
  341. int agc_crcf_squelch_get_status(agc_crcf _q);
  342. typedef struct agc_rrrf_s *agc_rrrf;
  343. agc_rrrf agc_rrrf_create(void);
  344. void agc_rrrf_destroy(agc_rrrf _q);
  345. void agc_rrrf_print(agc_rrrf _q);
  346. void agc_rrrf_reset(agc_rrrf _q);
  347. void agc_rrrf_execute(agc_rrrf _q, float _x, float *_y);
  348. void agc_rrrf_execute_block(agc_rrrf _q, float *_x, unsigned int _n, float *_y);
  349. void agc_rrrf_lock(agc_rrrf _q);
  350. void agc_rrrf_unlock(agc_rrrf _q);
  351. void agc_rrrf_set_bandwidth(agc_rrrf _q, float _bt);
  352. float agc_rrrf_get_bandwidth(agc_rrrf _q);
  353. float agc_rrrf_get_signal_level(agc_rrrf _q);
  354. void agc_rrrf_set_signal_level(agc_rrrf _q, float _x2);
  355. float agc_rrrf_get_rssi(agc_rrrf _q);
  356. void agc_rrrf_set_rssi(agc_rrrf _q, float _rssi);
  357. float agc_rrrf_get_gain(agc_rrrf _q);
  358. void agc_rrrf_set_gain(agc_rrrf _q, float _gain);
  359. float agc_rrrf_get_scale(agc_rrrf _q);
  360. void agc_rrrf_set_scale(agc_rrrf _q, float _scale);
  361. void agc_rrrf_init(agc_rrrf _q, float *_x, unsigned int _n);
  362. void agc_rrrf_squelch_enable(agc_rrrf _q);
  363. void agc_rrrf_squelch_disable(agc_rrrf _q);
  364. int agc_rrrf_squelch_is_enabled(agc_rrrf _q);
  365. void agc_rrrf_squelch_set_threshold(agc_rrrf _q, float _thresh);
  366. float agc_rrrf_squelch_get_threshold(agc_rrrf _q);
  367. void agc_rrrf_squelch_set_timeout(agc_rrrf _q, unsigned int _timeout);
  368. unsigned int agc_rrrf_squelch_get_timeout(agc_rrrf _q);
  369. int agc_rrrf_squelch_get_status(agc_rrrf _q);
  370. # 274 "include\\liquid.h"
  371. typedef struct cvsd_s *cvsd;
  372.  
  373. cvsd cvsd_create(unsigned int _num_bits,
  374.                  float _zeta,
  375.                  float _alpha);
  376.  
  377. void cvsd_destroy(cvsd _q);
  378.  
  379. void cvsd_print(cvsd _q);
  380.  
  381. unsigned char cvsd_encode(cvsd _q, float _audio_sample);
  382. float cvsd_decode(cvsd _q, unsigned char _bit);
  383.  
  384. void cvsd_encode8(cvsd _q, float *_audio, unsigned char *_data);
  385. void cvsd_decode8(cvsd _q, unsigned char _data, float *_audio);
  386. # 396 "include\\liquid.h"
  387. typedef struct cbufferf_s *cbufferf;
  388. cbufferf cbufferf_create(unsigned int _max_size);
  389. cbufferf cbufferf_create_max(unsigned int _max_size, unsigned int _max_read);
  390. void cbufferf_destroy(cbufferf _q);
  391. void cbufferf_print(cbufferf _q);
  392. void cbufferf_debug_print(cbufferf _q);
  393. void cbufferf_reset(cbufferf _q);
  394. unsigned int cbufferf_size(cbufferf _q);
  395. unsigned int cbufferf_max_size(cbufferf _q);
  396. unsigned int cbufferf_max_read(cbufferf _q);
  397. unsigned int cbufferf_space_available(cbufferf _q);
  398. int cbufferf_is_full(cbufferf _q);
  399. void cbufferf_push(cbufferf _q, float _v);
  400. void cbufferf_write(cbufferf _q, float *_v, unsigned int _n);
  401. void cbufferf_pop(cbufferf _q, float *_v);
  402. void cbufferf_read(cbufferf _q, unsigned int _num_requested, float **_v, unsigned int *_num_read);
  403. void cbufferf_release(cbufferf _q, unsigned int _n);
  404. typedef struct cbuffercf_s *cbuffercf;
  405. cbuffercf cbuffercf_create(unsigned int _max_size);
  406. cbuffercf cbuffercf_create_max(unsigned int _max_size, unsigned int _max_read);
  407. void cbuffercf_destroy(cbuffercf _q);
  408. void cbuffercf_print(cbuffercf _q);
  409. void cbuffercf_debug_print(cbuffercf _q);
  410. void cbuffercf_reset(cbuffercf _q);
  411. unsigned int cbuffercf_size(cbuffercf _q);
  412. unsigned int cbuffercf_max_size(cbuffercf _q);
  413. unsigned int cbuffercf_max_read(cbuffercf _q);
  414. unsigned int cbuffercf_space_available(cbuffercf _q);
  415. int cbuffercf_is_full(cbuffercf _q);
  416. void cbuffercf_push(cbuffercf _q, liquid_float_complex _v);
  417. void cbuffercf_write(cbuffercf _q, liquid_float_complex *_v, unsigned int _n);
  418. void cbuffercf_pop(cbuffercf _q, liquid_float_complex *_v);
  419. void cbuffercf_read(cbuffercf _q, unsigned int _num_requested, liquid_float_complex **_v, unsigned int *_num_read);
  420. void cbuffercf_release(cbuffercf _q, unsigned int _n);
  421. # 484 "include\\liquid.h"
  422. typedef struct windowf_s *windowf;
  423. windowf windowf_create(unsigned int _n);
  424. windowf windowf_recreate(windowf _q, unsigned int _n);
  425. void windowf_destroy(windowf _q);
  426. void windowf_print(windowf _q);
  427. void windowf_debug_print(windowf _q);
  428. void windowf_reset(windowf _q);
  429. void windowf_read(windowf _q, float **_v);
  430. void windowf_index(windowf _q, unsigned int _i, float *_v);
  431. void windowf_push(windowf _q, float _v);
  432. void windowf_write(windowf _q, float *_v, unsigned int _n);
  433. typedef struct windowcf_s *windowcf;
  434. windowcf windowcf_create(unsigned int _n);
  435. windowcf windowcf_recreate(windowcf _q, unsigned int _n);
  436. void windowcf_destroy(windowcf _q);
  437. void windowcf_print(windowcf _q);
  438. void windowcf_debug_print(windowcf _q);
  439. void windowcf_reset(windowcf _q);
  440. void windowcf_read(windowcf _q, liquid_float_complex **_v);
  441. void windowcf_index(windowcf _q, unsigned int _i, liquid_float_complex *_v);
  442. void windowcf_push(windowcf _q, liquid_float_complex _v);
  443. void windowcf_write(windowcf _q, liquid_float_complex *_v, unsigned int _n);
  444. # 538 "include\\liquid.h"
  445. typedef struct wdelayf_s *wdelayf;
  446. wdelayf wdelayf_create(unsigned int _delay);
  447. wdelayf wdelayf_recreate(wdelayf _q, unsigned int _delay);
  448. void wdelayf_destroy(wdelayf _q);
  449. void wdelayf_print(wdelayf _q);
  450. void wdelayf_reset(wdelayf _q);
  451. void wdelayf_read(wdelayf _q, float *_v);
  452. void wdelayf_push(wdelayf _q, float _v);
  453. typedef struct wdelaycf_s *wdelaycf;
  454. wdelaycf wdelaycf_create(unsigned int _delay);
  455. wdelaycf wdelaycf_recreate(wdelaycf _q, unsigned int _delay);
  456. void wdelaycf_destroy(wdelaycf _q);
  457. void wdelaycf_print(wdelaycf _q);
  458. void wdelaycf_reset(wdelaycf _q);
  459. void wdelaycf_read(wdelaycf _q, liquid_float_complex *_v);
  460. void wdelaycf_push(wdelaycf _q, liquid_float_complex _v);
  461. # 619 "include\\liquid.h"
  462. typedef struct channel_cccf_s *channel_cccf;
  463. channel_cccf channel_cccf_create(void);
  464. void channel_cccf_destroy(channel_cccf _q);
  465. void channel_cccf_print(channel_cccf _q);
  466. void channel_cccf_add_awgn(channel_cccf _q, float _N0dB, float _SNRdB);
  467. void channel_cccf_add_carrier_offset(channel_cccf _q, float _frequency, float _phase);
  468. void channel_cccf_add_multipath(channel_cccf _q, liquid_float_complex *_h, unsigned int _h_len);
  469. void channel_cccf_add_shadowing(channel_cccf _q, float _sigma, float _fd);
  470. void channel_cccf_execute(channel_cccf _q, liquid_float_complex _x, liquid_float_complex *_y);
  471. void channel_cccf_execute_block(channel_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  472. # 683 "include\\liquid.h"
  473. typedef struct tvmpch_cccf_s *tvmpch_cccf;
  474. tvmpch_cccf tvmpch_cccf_create(unsigned int _n, float _std, float _tau);
  475. void tvmpch_cccf_destroy(tvmpch_cccf _q);
  476. void tvmpch_cccf_reset(tvmpch_cccf _q);
  477. void tvmpch_cccf_print(tvmpch_cccf _q);
  478. void tvmpch_cccf_push(tvmpch_cccf _q, liquid_float_complex _x);
  479. void tvmpch_cccf_execute(tvmpch_cccf _q, liquid_float_complex *_y);
  480. void tvmpch_cccf_execute_block(tvmpch_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  481. # 764 "include\\liquid.h"
  482. typedef struct dotprod_rrrf_s *dotprod_rrrf;
  483. void dotprod_rrrf_run(float *_v, float *_x, unsigned int _n, float *_y);
  484. void dotprod_rrrf_run4(float *_v, float *_x, unsigned int _n, float *_y);
  485. dotprod_rrrf dotprod_rrrf_create(float *_v, unsigned int _n);
  486. dotprod_rrrf dotprod_rrrf_recreate(dotprod_rrrf _q, float *_v, unsigned int _n);
  487. void dotprod_rrrf_destroy(dotprod_rrrf _q);
  488. void dotprod_rrrf_print(dotprod_rrrf _q);
  489. void dotprod_rrrf_execute(dotprod_rrrf _q, float *_x, float *_y);
  490.  
  491. typedef struct dotprod_cccf_s *dotprod_cccf;
  492. void dotprod_cccf_run(liquid_float_complex *_v, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  493. void dotprod_cccf_run4(liquid_float_complex *_v, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  494. dotprod_cccf dotprod_cccf_create(liquid_float_complex *_v, unsigned int _n);
  495. dotprod_cccf dotprod_cccf_recreate(dotprod_cccf _q, liquid_float_complex *_v, unsigned int _n);
  496. void dotprod_cccf_destroy(dotprod_cccf _q);
  497. void dotprod_cccf_print(dotprod_cccf _q);
  498. void dotprod_cccf_execute(dotprod_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  499.  
  500. typedef struct dotprod_crcf_s *dotprod_crcf;
  501. void dotprod_crcf_run(float *_v, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  502. void dotprod_crcf_run4(float *_v, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  503. dotprod_crcf dotprod_crcf_create(float *_v, unsigned int _n);
  504. dotprod_crcf dotprod_crcf_recreate(dotprod_crcf _q, float *_v, unsigned int _n);
  505. void dotprod_crcf_destroy(dotprod_crcf _q);
  506. void dotprod_crcf_print(dotprod_crcf _q);
  507. void dotprod_crcf_execute(dotprod_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  508. # 783 "include\\liquid.h"
  509. float liquid_sumsqf(float *_v,
  510.                     unsigned int _n);
  511.  
  512. float liquid_sumsqcf(liquid_float_complex *_v,
  513.                      unsigned int _n);
  514. # 927 "include\\liquid.h"
  515. typedef struct eqlms_rrrf_s *eqlms_rrrf;
  516. eqlms_rrrf eqlms_rrrf_create(float *_h, unsigned int _n);
  517. eqlms_rrrf eqlms_rrrf_create_rnyquist(int _type, unsigned int _k, unsigned int _m, float _beta, float _dt);
  518. eqlms_rrrf eqlms_rrrf_create_lowpass(unsigned int _n, float _fc);
  519. eqlms_rrrf eqlms_rrrf_recreate(eqlms_rrrf _q, float *_h, unsigned int _h_len);
  520. void eqlms_rrrf_destroy(eqlms_rrrf _q);
  521. void eqlms_rrrf_reset(eqlms_rrrf _q);
  522. void eqlms_rrrf_print(eqlms_rrrf _q);
  523. float eqlms_rrrf_get_bw(eqlms_rrrf _q);
  524. void eqlms_rrrf_set_bw(eqlms_rrrf _q, float _lambda);
  525. void eqlms_rrrf_push(eqlms_rrrf _q, float _x);
  526. void eqlms_rrrf_push_block(eqlms_rrrf _q, float *_x, unsigned int _n);
  527. void eqlms_rrrf_execute(eqlms_rrrf _q, float *_y);
  528. void eqlms_rrrf_execute_block(eqlms_rrrf _q, unsigned int _k, float *_x, unsigned int _n, float *_y);
  529. void eqlms_rrrf_step(eqlms_rrrf _q, float _d, float _d_hat);
  530. void eqlms_rrrf_step_blind(eqlms_rrrf _q, float _d_hat);
  531. void eqlms_rrrf_get_weights(eqlms_rrrf _q, float *_w);
  532. void eqlms_rrrf_train(eqlms_rrrf _q, float *_w, float *_x, float *_d, unsigned int _n);
  533. typedef struct eqlms_cccf_s *eqlms_cccf;
  534. eqlms_cccf eqlms_cccf_create(liquid_float_complex *_h, unsigned int _n);
  535. eqlms_cccf eqlms_cccf_create_rnyquist(int _type, unsigned int _k, unsigned int _m, float _beta, float _dt);
  536. eqlms_cccf eqlms_cccf_create_lowpass(unsigned int _n, float _fc);
  537. eqlms_cccf eqlms_cccf_recreate(eqlms_cccf _q, liquid_float_complex *_h, unsigned int _h_len);
  538. void eqlms_cccf_destroy(eqlms_cccf _q);
  539. void eqlms_cccf_reset(eqlms_cccf _q);
  540. void eqlms_cccf_print(eqlms_cccf _q);
  541. float eqlms_cccf_get_bw(eqlms_cccf _q);
  542. void eqlms_cccf_set_bw(eqlms_cccf _q, float _lambda);
  543. void eqlms_cccf_push(eqlms_cccf _q, liquid_float_complex _x);
  544. void eqlms_cccf_push_block(eqlms_cccf _q, liquid_float_complex *_x, unsigned int _n);
  545. void eqlms_cccf_execute(eqlms_cccf _q, liquid_float_complex *_y);
  546. void eqlms_cccf_execute_block(eqlms_cccf _q, unsigned int _k, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  547. void eqlms_cccf_step(eqlms_cccf _q, liquid_float_complex _d, liquid_float_complex _d_hat);
  548. void eqlms_cccf_step_blind(eqlms_cccf _q, liquid_float_complex _d_hat);
  549. void eqlms_cccf_get_weights(eqlms_cccf _q, liquid_float_complex *_w);
  550. void eqlms_cccf_train(eqlms_cccf _q, liquid_float_complex *_w, liquid_float_complex *_x, liquid_float_complex *_d, unsigned int _n);
  551. # 1009 "include\\liquid.h"
  552. typedef struct eqrls_rrrf_s *eqrls_rrrf;
  553. eqrls_rrrf eqrls_rrrf_create(float *_h, unsigned int _n);
  554. eqrls_rrrf eqrls_rrrf_recreate(eqrls_rrrf _q, float *_h, unsigned int _n);
  555. void eqrls_rrrf_destroy(eqrls_rrrf _q);
  556. void eqrls_rrrf_reset(eqrls_rrrf _q);
  557. void eqrls_rrrf_print(eqrls_rrrf _q);
  558. float eqrls_rrrf_get_bw(eqrls_rrrf _q);
  559. void eqrls_rrrf_set_bw(eqrls_rrrf _q, float _mu);
  560. void eqrls_rrrf_push(eqrls_rrrf _q, float _x);
  561. void eqrls_rrrf_execute(eqrls_rrrf _q, float *_y);
  562. void eqrls_rrrf_step(eqrls_rrrf _q, float _d, float _d_hat);
  563. void eqrls_rrrf_get_weights(eqrls_rrrf _q, float *_w);
  564. void eqrls_rrrf_train(eqrls_rrrf _q, float *_w, float *_x, float *_d, unsigned int _n);
  565. typedef struct eqrls_cccf_s *eqrls_cccf;
  566. eqrls_cccf eqrls_cccf_create(liquid_float_complex *_h, unsigned int _n);
  567. eqrls_cccf eqrls_cccf_recreate(eqrls_cccf _q, liquid_float_complex *_h, unsigned int _n);
  568. void eqrls_cccf_destroy(eqrls_cccf _q);
  569. void eqrls_cccf_reset(eqrls_cccf _q);
  570. void eqrls_cccf_print(eqrls_cccf _q);
  571. float eqrls_cccf_get_bw(eqrls_cccf _q);
  572. void eqrls_cccf_set_bw(eqrls_cccf _q, float _mu);
  573. void eqrls_cccf_push(eqrls_cccf _q, liquid_float_complex _x);
  574. void eqrls_cccf_execute(eqrls_cccf _q, liquid_float_complex *_y);
  575. void eqrls_cccf_step(eqrls_cccf _q, liquid_float_complex _d, liquid_float_complex _d_hat);
  576. void eqrls_cccf_get_weights(eqrls_cccf _q, liquid_float_complex *_w);
  577. void eqrls_cccf_train(eqrls_cccf _q, liquid_float_complex *_w, liquid_float_complex *_x, liquid_float_complex *_d, unsigned int _n);
  578. # 1026 "include\\liquid.h"
  579. typedef enum
  580. {
  581.     LIQUID_CRC_UNKNOWN = 0,
  582.     LIQUID_CRC_NONE,
  583.     LIQUID_CRC_CHECKSUM,
  584.     LIQUID_CRC_8,
  585.     LIQUID_CRC_16,
  586.     LIQUID_CRC_24,
  587.     LIQUID_CRC_32
  588. } crc_scheme;
  589.  
  590. extern const char *crc_scheme_str[7][2];
  591.  
  592. void liquid_print_crc_schemes();
  593.  
  594. crc_scheme liquid_getopt_str2crc(const char *_str);
  595.  
  596. unsigned int crc_get_length(crc_scheme _scheme);
  597.  
  598. unsigned int crc_generate_key(crc_scheme _scheme,
  599.                               unsigned char *_msg,
  600.                               unsigned int _n);
  601.  
  602. void crc_append_key(crc_scheme _scheme,
  603.                     unsigned char *_msg,
  604.                     unsigned int _n);
  605.  
  606. int crc_validate_message(crc_scheme _scheme,
  607.                          unsigned char *_msg,
  608.                          unsigned int _n,
  609.                          unsigned int _key);
  610.  
  611. int crc_check_key(crc_scheme _scheme,
  612.                   unsigned char *_msg,
  613.                   unsigned int _n);
  614.  
  615. unsigned int crc_sizeof_key(crc_scheme _scheme);
  616.  
  617. typedef enum
  618. {
  619.     LIQUID_FEC_UNKNOWN = 0,
  620.     LIQUID_FEC_NONE,
  621.     LIQUID_FEC_REP3,
  622.     LIQUID_FEC_REP5,
  623.     LIQUID_FEC_HAMMING74,
  624.     LIQUID_FEC_HAMMING84,
  625.     LIQUID_FEC_HAMMING128,
  626.  
  627.     LIQUID_FEC_GOLAY2412,
  628.     LIQUID_FEC_SECDED2216,
  629.     LIQUID_FEC_SECDED3932,
  630.     LIQUID_FEC_SECDED7264,
  631.  
  632.     LIQUID_FEC_CONV_V27,
  633.     LIQUID_FEC_CONV_V29,
  634.     LIQUID_FEC_CONV_V39,
  635.     LIQUID_FEC_CONV_V615,
  636.  
  637.     LIQUID_FEC_CONV_V27P23,
  638.     LIQUID_FEC_CONV_V27P34,
  639.     LIQUID_FEC_CONV_V27P45,
  640.     LIQUID_FEC_CONV_V27P56,
  641.     LIQUID_FEC_CONV_V27P67,
  642.     LIQUID_FEC_CONV_V27P78,
  643.  
  644.     LIQUID_FEC_CONV_V29P23,
  645.     LIQUID_FEC_CONV_V29P34,
  646.     LIQUID_FEC_CONV_V29P45,
  647.     LIQUID_FEC_CONV_V29P56,
  648.     LIQUID_FEC_CONV_V29P67,
  649.     LIQUID_FEC_CONV_V29P78,
  650.  
  651.     LIQUID_FEC_RS_M8
  652. } fec_scheme;
  653.  
  654. extern const char *fec_scheme_str[28][2];
  655.  
  656. void liquid_print_fec_schemes();
  657.  
  658. fec_scheme liquid_getopt_str2fec(const char *_str);
  659.  
  660. typedef struct fec_s *fec;
  661.  
  662. unsigned int fec_get_enc_msg_length(fec_scheme _scheme,
  663.                                     unsigned int _msg_len);
  664.  
  665. float fec_get_rate(fec_scheme _scheme);
  666.  
  667. fec fec_create(fec_scheme _scheme,
  668.                void *_opts);
  669.  
  670. fec fec_recreate(fec _q,
  671.                  fec_scheme _scheme,
  672.                  void *_opts);
  673.  
  674. void fec_destroy(fec _q);
  675.  
  676. void fec_print(fec _q);
  677.  
  678. void fec_encode(fec _q,
  679.                 unsigned int _dec_msg_len,
  680.                 unsigned char *_msg_dec,
  681.                 unsigned char *_msg_enc);
  682.  
  683. void fec_decode(fec _q,
  684.                 unsigned int _dec_msg_len,
  685.                 unsigned char *_msg_enc,
  686.                 unsigned char *_msg_dec);
  687.  
  688. void fec_decode_soft(fec _q,
  689.                      unsigned int _dec_msg_len,
  690.                      unsigned char *_msg_enc,
  691.                      unsigned char *_msg_dec);
  692. # 1210 "include\\liquid.h"
  693. unsigned int packetizer_compute_enc_msg_len(unsigned int _n,
  694.                                             int _crc,
  695.                                             int _fec0,
  696.                                             int _fec1);
  697.  
  698. unsigned int packetizer_compute_dec_msg_len(unsigned int _k,
  699.                                             int _crc,
  700.                                             int _fec0,
  701.                                             int _fec1);
  702.  
  703. typedef struct packetizer_s *packetizer;
  704.  
  705. packetizer packetizer_create(unsigned int _dec_msg_len,
  706.                              int _crc,
  707.                              int _fec0,
  708.                              int _fec1);
  709. # 1246 "include\\liquid.h"
  710. packetizer packetizer_recreate(packetizer _p,
  711.                                unsigned int _dec_msg_len,
  712.                                int _crc,
  713.                                int _fec0,
  714.                                int _fec1);
  715.  
  716. void packetizer_destroy(packetizer _p);
  717.  
  718. void packetizer_print(packetizer _p);
  719.  
  720. unsigned int packetizer_get_dec_msg_len(packetizer _p);
  721. unsigned int packetizer_get_enc_msg_len(packetizer _p);
  722. crc_scheme packetizer_get_crc(packetizer _p);
  723. fec_scheme packetizer_get_fec0(packetizer _p);
  724. fec_scheme packetizer_get_fec1(packetizer _p);
  725.  
  726. void packetizer_encode(packetizer _p,
  727.                        const unsigned char *_msg,
  728.                        unsigned char *_pkt);
  729.  
  730. int packetizer_decode(packetizer _p,
  731.                       const unsigned char *_pkt,
  732.                       unsigned char *_msg);
  733.  
  734. int packetizer_decode_soft(packetizer _p,
  735.                            const unsigned char *_pkt,
  736.                            unsigned char *_msg);
  737.  
  738. typedef struct interleaver_s *interleaver;
  739.  
  740. interleaver interleaver_create(unsigned int _n);
  741.  
  742. void interleaver_destroy(interleaver _q);
  743.  
  744. void interleaver_print(interleaver _q);
  745.  
  746. void interleaver_set_depth(interleaver _q,
  747.                            unsigned int _depth);
  748.  
  749. void interleaver_encode(interleaver _q,
  750.                         unsigned char *_msg_dec,
  751.                         unsigned char *_msg_enc);
  752.  
  753. void interleaver_encode_soft(interleaver _q,
  754.                              unsigned char *_msg_dec,
  755.                              unsigned char *_msg_enc);
  756.  
  757. void interleaver_decode(interleaver _q,
  758.                         unsigned char *_msg_enc,
  759.                         unsigned char *_msg_dec);
  760.  
  761. void interleaver_decode_soft(interleaver _q,
  762.                              unsigned char *_msg_enc,
  763.                              unsigned char *_msg_dec);
  764. # 1356 "include\\liquid.h"
  765. typedef enum
  766. {
  767.     LIQUID_FFT_UNKNOWN = 0,
  768.  
  769.     LIQUID_FFT_FORWARD = +1,
  770.     LIQUID_FFT_BACKWARD = -1,
  771.  
  772.     LIQUID_FFT_REDFT00 = 10,
  773.     LIQUID_FFT_REDFT10 = 11,
  774.     LIQUID_FFT_REDFT01 = 12,
  775.     LIQUID_FFT_REDFT11 = 13,
  776.  
  777.     LIQUID_FFT_RODFT00 = 20,
  778.     LIQUID_FFT_RODFT10 = 21,
  779.     LIQUID_FFT_RODFT01 = 22,
  780.     LIQUID_FFT_RODFT11 = 23,
  781.  
  782.     LIQUID_FFT_MDCT = 30,
  783.     LIQUID_FFT_IMDCT = 31,
  784. } liquid_fft_type;
  785. # 1457 "include\\liquid.h"
  786. typedef struct fftplan_s *fftplan;
  787. fftplan fft_create_plan(unsigned int _n, liquid_float_complex *_x, liquid_float_complex *_y, int _dir, int _flags);
  788. fftplan fft_create_plan_r2r_1d(unsigned int _n, float *_x, float *_y, int _type, int _flags);
  789. void fft_destroy_plan(fftplan _p);
  790. void fft_print_plan(fftplan _p);
  791. void fft_execute(fftplan _p);
  792. void fft_run(unsigned int _n, liquid_float_complex *_x, liquid_float_complex *_y, int _dir, int _flags);
  793. void fft_r2r_1d_run(unsigned int _n, float *_x, float *_y, int _type, int _flags);
  794. void fft_shift(liquid_float_complex *_x, unsigned int _n);
  795. # 1612 "include\\liquid.h"
  796. typedef struct spgramcf_s *spgramcf;
  797. spgramcf spgramcf_create(unsigned int _nfft, int _wtype, unsigned int _window_len, unsigned int _delay);
  798. spgramcf spgramcf_create_default(unsigned int _nfft);
  799. void spgramcf_destroy(spgramcf _q);
  800. void spgramcf_clear(spgramcf _q);
  801. void spgramcf_reset(spgramcf _q);
  802. void spgramcf_print(spgramcf _q);
  803. int spgramcf_set_alpha(spgramcf _q, float _alpha);
  804. float spgramcf_get_alpha(spgramcf _q);
  805. int spgramcf_set_freq(spgramcf _q, float _freq);
  806. int spgramcf_set_rate(spgramcf _q, float _rate);
  807. unsigned int spgramcf_get_nfft(spgramcf _q);
  808. unsigned int spgramcf_get_window_len(spgramcf _q);
  809. unsigned int spgramcf_get_delay(spgramcf _q);
  810. unsigned long long int spgramcf_get_num_samples(spgramcf _q);
  811. unsigned long long int spgramcf_get_num_samples_total(spgramcf _q);
  812. unsigned long long int spgramcf_get_num_transforms(spgramcf _q);
  813. unsigned long long int spgramcf_get_num_transforms_total(spgramcf _q);
  814. void spgramcf_push(spgramcf _q, liquid_float_complex _x);
  815. void spgramcf_write(spgramcf _q, liquid_float_complex *_x, unsigned int _n);
  816. void spgramcf_get_psd(spgramcf _q, float *_X);
  817. int spgramcf_export_gnuplot(spgramcf _q, const char *_filename);
  818. void spgramcf_estimate_psd(unsigned int _nfft, liquid_float_complex *_x, unsigned int _n, float *_psd);
  819.  
  820. typedef struct spgramf_s *spgramf;
  821. spgramf spgramf_create(unsigned int _nfft, int _wtype, unsigned int _window_len, unsigned int _delay);
  822. spgramf spgramf_create_default(unsigned int _nfft);
  823. void spgramf_destroy(spgramf _q);
  824. void spgramf_clear(spgramf _q);
  825. void spgramf_reset(spgramf _q);
  826. void spgramf_print(spgramf _q);
  827. int spgramf_set_alpha(spgramf _q, float _alpha);
  828. float spgramf_get_alpha(spgramf _q);
  829. int spgramf_set_freq(spgramf _q, float _freq);
  830. int spgramf_set_rate(spgramf _q, float _rate);
  831. unsigned int spgramf_get_nfft(spgramf _q);
  832. unsigned int spgramf_get_window_len(spgramf _q);
  833. unsigned int spgramf_get_delay(spgramf _q);
  834. unsigned long long int spgramf_get_num_samples(spgramf _q);
  835. unsigned long long int spgramf_get_num_samples_total(spgramf _q);
  836. unsigned long long int spgramf_get_num_transforms(spgramf _q);
  837. unsigned long long int spgramf_get_num_transforms_total(spgramf _q);
  838. void spgramf_push(spgramf _q, float _x);
  839. void spgramf_write(spgramf _q, float *_x, unsigned int _n);
  840. void spgramf_get_psd(spgramf _q, float *_X);
  841. int spgramf_export_gnuplot(spgramf _q, const char *_filename);
  842. void spgramf_estimate_psd(unsigned int _nfft, float *_x, unsigned int _n, float *_psd);
  843. # 1698 "include\\liquid.h"
  844. typedef struct asgramcf_s *asgramcf;
  845. asgramcf asgramcf_create(unsigned int _nfft);
  846. void asgramcf_destroy(asgramcf _q);
  847. void asgramcf_reset(asgramcf _q);
  848. void asgramcf_set_scale(asgramcf _q, float _ref, float _div);
  849. void asgramcf_set_display(asgramcf _q, const char *_ascii);
  850. void asgramcf_push(asgramcf _q, liquid_float_complex _x);
  851. void asgramcf_write(asgramcf _q, liquid_float_complex *_x, unsigned int _n);
  852. void asgramcf_execute(asgramcf _q, char *_ascii, float *_peakval, float *_peakfreq);
  853. void asgramcf_print(asgramcf _q);
  854.  
  855. typedef struct asgramf_s *asgramf;
  856. asgramf asgramf_create(unsigned int _nfft);
  857. void asgramf_destroy(asgramf _q);
  858. void asgramf_reset(asgramf _q);
  859. void asgramf_set_scale(asgramf _q, float _ref, float _div);
  860. void asgramf_set_display(asgramf _q, const char *_ascii);
  861. void asgramf_push(asgramf _q, float _x);
  862. void asgramf_write(asgramf _q, float *_x, unsigned int _n);
  863. void asgramf_execute(asgramf _q, char *_ascii, float *_peakval, float *_peakfreq);
  864. void asgramf_print(asgramf _q);
  865. # 1821 "include\\liquid.h"
  866. typedef struct spwaterfallcf_s *spwaterfallcf;
  867. spwaterfallcf spwaterfallcf_create(unsigned int _nfft, int _wtype, unsigned int _window_len, unsigned int _delay, unsigned int _time);
  868. spwaterfallcf spwaterfallcf_create_default(unsigned int _nfft, unsigned int _time);
  869. void spwaterfallcf_destroy(spwaterfallcf _q);
  870. void spwaterfallcf_clear(spwaterfallcf _q);
  871. void spwaterfallcf_reset(spwaterfallcf _q);
  872. void spwaterfallcf_print(spwaterfallcf _q);
  873. uint64_t spwaterfallcf_get_num_samples_total(spwaterfallcf _q);
  874. unsigned int spwaterfallcf_get_num_freq(spwaterfallcf _q);
  875. unsigned int spwaterfallcf_get_num_time(spwaterfallcf _q);
  876. const float *spwaterfallcf_get_psd(spwaterfallcf _q);
  877. int spwaterfallcf_set_freq(spwaterfallcf _q, float _freq);
  878. int spwaterfallcf_set_rate(spwaterfallcf _q, float _rate);
  879. int spwaterfallcf_set_dims(spwaterfallcf _q, unsigned int _width, unsigned int _height);
  880. int spwaterfallcf_set_commands(spwaterfallcf _q, const char *_commands);
  881. void spwaterfallcf_push(spwaterfallcf _q, liquid_float_complex _x);
  882. void spwaterfallcf_write(spwaterfallcf _q, liquid_float_complex *_x, unsigned int _n);
  883. int spwaterfallcf_export(spwaterfallcf _q, const char *_base);
  884.  
  885. typedef struct spwaterfallf_s *spwaterfallf;
  886. spwaterfallf spwaterfallf_create(unsigned int _nfft, int _wtype, unsigned int _window_len, unsigned int _delay, unsigned int _time);
  887. spwaterfallf spwaterfallf_create_default(unsigned int _nfft, unsigned int _time);
  888. void spwaterfallf_destroy(spwaterfallf _q);
  889. void spwaterfallf_clear(spwaterfallf _q);
  890. void spwaterfallf_reset(spwaterfallf _q);
  891. void spwaterfallf_print(spwaterfallf _q);
  892. uint64_t spwaterfallf_get_num_samples_total(spwaterfallf _q);
  893. unsigned int spwaterfallf_get_num_freq(spwaterfallf _q);
  894. unsigned int spwaterfallf_get_num_time(spwaterfallf _q);
  895. const float *spwaterfallf_get_psd(spwaterfallf _q);
  896. int spwaterfallf_set_freq(spwaterfallf _q, float _freq);
  897. int spwaterfallf_set_rate(spwaterfallf _q, float _rate);
  898. int spwaterfallf_set_dims(spwaterfallf _q, unsigned int _width, unsigned int _height);
  899. int spwaterfallf_set_commands(spwaterfallf _q, const char *_commands);
  900. void spwaterfallf_push(spwaterfallf _q, float _x);
  901. void spwaterfallf_write(spwaterfallf _q, float *_x, unsigned int _n);
  902. int spwaterfallf_export(spwaterfallf _q, const char *_base);
  903. # 1841 "include\\liquid.h"
  904. typedef enum
  905. {
  906.     LIQUID_FIRFILT_UNKNOWN = 0,
  907.  
  908.     LIQUID_FIRFILT_KAISER,
  909.     LIQUID_FIRFILT_PM,
  910.     LIQUID_FIRFILT_RCOS,
  911.     LIQUID_FIRFILT_FEXP,
  912.     LIQUID_FIRFILT_FSECH,
  913.     LIQUID_FIRFILT_FARCSECH,
  914.  
  915.     LIQUID_FIRFILT_ARKAISER,
  916.     LIQUID_FIRFILT_RKAISER,
  917.     LIQUID_FIRFILT_RRC,
  918.     LIQUID_FIRFILT_hM3,
  919.     LIQUID_FIRFILT_GMSKTX,
  920.     LIQUID_FIRFILT_GMSKRX,
  921.     LIQUID_FIRFILT_RFEXP,
  922.     LIQUID_FIRFILT_RFSECH,
  923.     LIQUID_FIRFILT_RFARCSECH,
  924. } liquid_firfilt_type;
  925. # 1871 "include\\liquid.h"
  926. void liquid_firdes_prototype(liquid_firfilt_type _type,
  927.                              unsigned int _k,
  928.                              unsigned int _m,
  929.                              float _beta,
  930.                              float _dt,
  931.                              float *_h);
  932.  
  933. int liquid_getopt_str2firfilt(const char *_str);
  934.  
  935. unsigned int estimate_req_filter_len(float _df,
  936.                                      float _As);
  937.  
  938. float estimate_req_filter_As(float _df,
  939.                              unsigned int _N);
  940.  
  941. float estimate_req_filter_df(float _As,
  942.                              unsigned int _N);
  943.  
  944. float kaiser_beta_As(float _As);
  945.  
  946. typedef enum
  947. {
  948.     LIQUID_FIRDESPM_BANDPASS = 0,
  949.     LIQUID_FIRDESPM_DIFFERENTIATOR,
  950.     LIQUID_FIRDESPM_HILBERT
  951. } liquid_firdespm_btype;
  952.  
  953. typedef enum
  954. {
  955.     LIQUID_FIRDESPM_FLATWEIGHT = 0,
  956.     LIQUID_FIRDESPM_EXPWEIGHT,
  957.     LIQUID_FIRDESPM_LINWEIGHT,
  958. } liquid_firdespm_wtype;
  959. # 1931 "include\\liquid.h"
  960. void firdespm_run(unsigned int _h_len,
  961.                   unsigned int _num_bands,
  962.                   float *_bands,
  963.                   float *_des,
  964.                   float *_weights,
  965.                   liquid_firdespm_wtype *_wtype,
  966.                   liquid_firdespm_btype _btype,
  967.                   float *_h);
  968.  
  969. void firdespm_lowpass(unsigned int _n,
  970.                       float _fc,
  971.                       float _As,
  972.                       float _mu,
  973.                       float *_h);
  974.  
  975. typedef int (*firdespm_callback)(double _frequency,
  976.                                  void *_userdata,
  977.                                  double *_desired,
  978.                                  double *_weight);
  979.  
  980. typedef struct firdespm_s *firdespm;
  981. # 1973 "include\\liquid.h"
  982. firdespm firdespm_create(unsigned int _h_len,
  983.                          unsigned int _num_bands,
  984.                          float *_bands,
  985.                          float *_des,
  986.                          float *_weights,
  987.                          liquid_firdespm_wtype *_wtype,
  988.                          liquid_firdespm_btype _btype);
  989. # 1988 "include\\liquid.h"
  990. firdespm firdespm_create_callback(unsigned int _h_len,
  991.                                   unsigned int _num_bands,
  992.                                   float *_bands,
  993.                                   liquid_firdespm_btype _btype,
  994.                                   firdespm_callback _callback,
  995.                                   void *_userdata);
  996.  
  997. void firdespm_destroy(firdespm _q);
  998.  
  999. void firdespm_print(firdespm _q);
  1000.  
  1001. void firdespm_execute(firdespm _q, float *_h);
  1002. # 2011 "include\\liquid.h"
  1003. void liquid_firdes_kaiser(unsigned int _n,
  1004.                           float _fc,
  1005.                           float _As,
  1006.                           float _mu,
  1007.                           float *_h);
  1008.  
  1009. void liquid_firdes_notch(unsigned int _m,
  1010.                          float _f0,
  1011.                          float _As,
  1012.                          float *_h);
  1013.  
  1014. void liquid_firdes_doppler(unsigned int _n,
  1015.                            float _fd,
  1016.                            float _K,
  1017.                            float _theta,
  1018.                            float *_h);
  1019. # 2046 "include\\liquid.h"
  1020. void liquid_firdes_rcos(unsigned int _k,
  1021.                         unsigned int _m,
  1022.                         float _beta,
  1023.                         float _dt,
  1024.                         float *_h);
  1025.  
  1026. void liquid_firdes_rrcos(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1027.  
  1028. void liquid_firdes_rkaiser(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1029.  
  1030. void liquid_firdes_arkaiser(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1031.  
  1032. void liquid_firdes_hM3(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1033.  
  1034. void liquid_firdes_gmsktx(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1035. void liquid_firdes_gmskrx(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1036.  
  1037. void liquid_firdes_fexp(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1038. void liquid_firdes_rfexp(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1039.  
  1040. void liquid_firdes_fsech(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1041. void liquid_firdes_rfsech(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1042.  
  1043. void liquid_firdes_farcsech(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1044. void liquid_firdes_rfarcsech(unsigned int _k, unsigned int _m, float _beta, float _dt, float *_h);
  1045.  
  1046. float fir_group_delay(float *_h,
  1047.                       unsigned int _n,
  1048.                       float _fc);
  1049.  
  1050. float iir_group_delay(float *_b,
  1051.                       unsigned int _nb,
  1052.                       float *_a,
  1053.                       unsigned int _na,
  1054.                       float _fc);
  1055. # 2108 "include\\liquid.h"
  1056. float liquid_filter_autocorr(float *_h,
  1057.                              unsigned int _h_len,
  1058.                              int _lag);
  1059. # 2121 "include\\liquid.h"
  1060. float liquid_filter_crosscorr(float *_h,
  1061.                               unsigned int _h_len,
  1062.                               float *_g,
  1063.                               unsigned int _g_len,
  1064.                               int _lag);
  1065. # 2137 "include\\liquid.h"
  1066. void liquid_filter_isi(float *_h,
  1067.                        unsigned int _k,
  1068.                        unsigned int _m,
  1069.                        float *_rms,
  1070.                        float *_max);
  1071.  
  1072. float liquid_filter_energy(float *_h,
  1073.                            unsigned int _h_len,
  1074.                            float _fc,
  1075.                            unsigned int _nfft);
  1076.  
  1077. typedef enum
  1078. {
  1079.     LIQUID_IIRDES_BUTTER = 0,
  1080.     LIQUID_IIRDES_CHEBY1,
  1081.     LIQUID_IIRDES_CHEBY2,
  1082.     LIQUID_IIRDES_ELLIP,
  1083.     LIQUID_IIRDES_BESSEL
  1084. } liquid_iirdes_filtertype;
  1085.  
  1086. typedef enum
  1087. {
  1088.     LIQUID_IIRDES_LOWPASS = 0,
  1089.     LIQUID_IIRDES_HIGHPASS,
  1090.     LIQUID_IIRDES_BANDPASS,
  1091.     LIQUID_IIRDES_BANDSTOP
  1092. } liquid_iirdes_bandtype;
  1093.  
  1094. typedef enum
  1095. {
  1096.     LIQUID_IIRDES_SOS = 0,
  1097.     LIQUID_IIRDES_TF
  1098. } liquid_iirdes_format;
  1099. # 2193 "include\\liquid.h"
  1100. void liquid_iirdes(liquid_iirdes_filtertype _ftype,
  1101.                    liquid_iirdes_bandtype _btype,
  1102.                    liquid_iirdes_format _format,
  1103.                    unsigned int _n,
  1104.                    float _fc,
  1105.                    float _f0,
  1106.                    float _Ap,
  1107.                    float _As,
  1108.                    float *_B,
  1109.                    float *_A);
  1110.  
  1111. void butter_azpkf(unsigned int _n,
  1112.                   liquid_float_complex *_za,
  1113.                   liquid_float_complex *_pa,
  1114.                   liquid_float_complex *_ka);
  1115. void cheby1_azpkf(unsigned int _n,
  1116.                   float _ep,
  1117.                   liquid_float_complex *_z,
  1118.                   liquid_float_complex *_p,
  1119.                   liquid_float_complex *_k);
  1120. void cheby2_azpkf(unsigned int _n,
  1121.                   float _es,
  1122.                   liquid_float_complex *_z,
  1123.                   liquid_float_complex *_p,
  1124.                   liquid_float_complex *_k);
  1125. void ellip_azpkf(unsigned int _n,
  1126.                  float _ep,
  1127.                  float _es,
  1128.                  liquid_float_complex *_z,
  1129.                  liquid_float_complex *_p,
  1130.                  liquid_float_complex *_k);
  1131. void bessel_azpkf(unsigned int _n,
  1132.                   liquid_float_complex *_z,
  1133.                   liquid_float_complex *_p,
  1134.                   liquid_float_complex *_k);
  1135.  
  1136. float iirdes_freqprewarp(liquid_iirdes_bandtype _btype,
  1137.                          float _fc,
  1138.                          float _f0);
  1139. # 2244 "include\\liquid.h"
  1140. void bilinear_zpkf(liquid_float_complex *_za,
  1141.                    unsigned int _nza,
  1142.                    liquid_float_complex *_pa,
  1143.                    unsigned int _npa,
  1144.                    liquid_float_complex _ka,
  1145.                    float _m,
  1146.                    liquid_float_complex *_zd,
  1147.                    liquid_float_complex *_pd,
  1148.                    liquid_float_complex *_kd);
  1149.  
  1150. void iirdes_dzpk_lp2hp(liquid_float_complex *_zd,
  1151.                        liquid_float_complex *_pd,
  1152.                        unsigned int _n,
  1153.                        liquid_float_complex *_zdt,
  1154.                        liquid_float_complex *_pdt);
  1155. # 2273 "include\\liquid.h"
  1156. void iirdes_dzpk_lp2bp(liquid_float_complex *_zd,
  1157.                        liquid_float_complex *_pd,
  1158.                        unsigned int _n,
  1159.                        float _f0,
  1160.                        liquid_float_complex *_zdt,
  1161.                        liquid_float_complex *_pdt);
  1162. # 2287 "include\\liquid.h"
  1163. void iirdes_dzpk2tff(liquid_float_complex *_zd,
  1164.                      liquid_float_complex *_pd,
  1165.                      unsigned int _n,
  1166.                      liquid_float_complex _kd,
  1167.                      float *_b,
  1168.                      float *_a);
  1169. # 2302 "include\\liquid.h"
  1170. void iirdes_dzpk2sosf(liquid_float_complex *_zd,
  1171.                       liquid_float_complex *_pd,
  1172.                       unsigned int _n,
  1173.                       liquid_float_complex _kd,
  1174.                       float *_B,
  1175.                       float *_A);
  1176. # 2321 "include\\liquid.h"
  1177. void iirdes_pll_active_lag(float _w,
  1178.                            float _zeta,
  1179.                            float _K,
  1180.                            float *_b,
  1181.                            float *_a);
  1182. # 2337 "include\\liquid.h"
  1183. void iirdes_pll_active_PI(float _w,
  1184.                           float _zeta,
  1185.                           float _K,
  1186.                           float *_b,
  1187.                           float *_a);
  1188.  
  1189. int iirdes_isstable(float *_b,
  1190.                     float *_a,
  1191.                     unsigned int _n);
  1192. # 2361 "include\\liquid.h"
  1193. void liquid_lpc(float *_x,
  1194.                 unsigned int _n,
  1195.                 unsigned int _p,
  1196.                 float *_a,
  1197.                 float *_g);
  1198. # 2376 "include\\liquid.h"
  1199. void liquid_levinson(float *_r,
  1200.                      unsigned int _p,
  1201.                      float *_a,
  1202.                      float *_e);
  1203. # 2448 "include\\liquid.h"
  1204. typedef struct autocorr_cccf_s *autocorr_cccf;
  1205. autocorr_cccf autocorr_cccf_create(unsigned int _window_size, unsigned int _delay);
  1206. void autocorr_cccf_destroy(autocorr_cccf _q);
  1207. void autocorr_cccf_reset(autocorr_cccf _q);
  1208. void autocorr_cccf_print(autocorr_cccf _q);
  1209. void autocorr_cccf_push(autocorr_cccf _q, liquid_float_complex _x);
  1210. void autocorr_cccf_write(autocorr_cccf _q, liquid_float_complex *_x, unsigned int _n);
  1211. void autocorr_cccf_execute(autocorr_cccf _q, liquid_float_complex *_rxx);
  1212. void autocorr_cccf_execute_block(autocorr_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_rxx);
  1213. float autocorr_cccf_get_energy(autocorr_cccf _q);
  1214.  
  1215. typedef struct autocorr_rrrf_s *autocorr_rrrf;
  1216. autocorr_rrrf autocorr_rrrf_create(unsigned int _window_size, unsigned int _delay);
  1217. void autocorr_rrrf_destroy(autocorr_rrrf _q);
  1218. void autocorr_rrrf_reset(autocorr_rrrf _q);
  1219. void autocorr_rrrf_print(autocorr_rrrf _q);
  1220. void autocorr_rrrf_push(autocorr_rrrf _q, float _x);
  1221. void autocorr_rrrf_write(autocorr_rrrf _q, float *_x, unsigned int _n);
  1222. void autocorr_rrrf_execute(autocorr_rrrf _q, float *_rxx);
  1223. void autocorr_rrrf_execute_block(autocorr_rrrf _q, float *_x, unsigned int _n, float *_rxx);
  1224. float autocorr_rrrf_get_energy(autocorr_rrrf _q);
  1225. # 2615 "include\\liquid.h"
  1226. typedef struct firfilt_rrrf_s *firfilt_rrrf;
  1227. firfilt_rrrf firfilt_rrrf_create(float *_h, unsigned int _n);
  1228. firfilt_rrrf firfilt_rrrf_create_kaiser(unsigned int _n, float _fc, float _As, float _mu);
  1229. firfilt_rrrf firfilt_rrrf_create_rnyquist(int _type, unsigned int _k, unsigned int _m, float _beta, float _mu);
  1230. firfilt_rrrf firfilt_rrrf_create_firdespm(unsigned int _h_len, float _fc, float _As);
  1231. firfilt_rrrf firfilt_rrrf_create_rect(unsigned int _n);
  1232. firfilt_rrrf firfilt_rrrf_create_dc_blocker(unsigned int _m, float _As);
  1233. firfilt_rrrf firfilt_rrrf_create_notch(unsigned int _m, float _As, float _f0);
  1234. firfilt_rrrf firfilt_rrrf_recreate(firfilt_rrrf _q, float *_h, unsigned int _n);
  1235. void firfilt_rrrf_destroy(firfilt_rrrf _q);
  1236. void firfilt_rrrf_reset(firfilt_rrrf _q);
  1237. void firfilt_rrrf_print(firfilt_rrrf _q);
  1238. void firfilt_rrrf_set_scale(firfilt_rrrf _q, float _scale);
  1239. void firfilt_rrrf_get_scale(firfilt_rrrf _q, float *_scale);
  1240. void firfilt_rrrf_push(firfilt_rrrf _q, float _x);
  1241. void firfilt_rrrf_write(firfilt_rrrf _q, float *_x, unsigned int _n);
  1242. void firfilt_rrrf_execute(firfilt_rrrf _q, float *_y);
  1243. void firfilt_rrrf_execute_block(firfilt_rrrf _q, float *_x, unsigned int _n, float *_y);
  1244. unsigned int firfilt_rrrf_get_length(firfilt_rrrf _q);
  1245. void firfilt_rrrf_freqresponse(firfilt_rrrf _q, float _fc, liquid_float_complex *_H);
  1246. float firfilt_rrrf_groupdelay(firfilt_rrrf _q, float _fc);
  1247.  
  1248. typedef struct firfilt_crcf_s *firfilt_crcf;
  1249. firfilt_crcf firfilt_crcf_create(float *_h, unsigned int _n);
  1250. firfilt_crcf firfilt_crcf_create_kaiser(unsigned int _n, float _fc, float _As, float _mu);
  1251. firfilt_crcf firfilt_crcf_create_rnyquist(int _type, unsigned int _k, unsigned int _m, float _beta, float _mu);
  1252. firfilt_crcf firfilt_crcf_create_firdespm(unsigned int _h_len, float _fc, float _As);
  1253. firfilt_crcf firfilt_crcf_create_rect(unsigned int _n);
  1254. firfilt_crcf firfilt_crcf_create_dc_blocker(unsigned int _m, float _As);
  1255. firfilt_crcf firfilt_crcf_create_notch(unsigned int _m, float _As, float _f0);
  1256. firfilt_crcf firfilt_crcf_recreate(firfilt_crcf _q, float *_h, unsigned int _n);
  1257. void firfilt_crcf_destroy(firfilt_crcf _q);
  1258. void firfilt_crcf_reset(firfilt_crcf _q);
  1259. void firfilt_crcf_print(firfilt_crcf _q);
  1260. void firfilt_crcf_set_scale(firfilt_crcf _q, float _scale);
  1261. void firfilt_crcf_get_scale(firfilt_crcf _q, float *_scale);
  1262. void firfilt_crcf_push(firfilt_crcf _q, liquid_float_complex _x);
  1263. void firfilt_crcf_write(firfilt_crcf _q, liquid_float_complex *_x, unsigned int _n);
  1264. void firfilt_crcf_execute(firfilt_crcf _q, liquid_float_complex *_y);
  1265. void firfilt_crcf_execute_block(firfilt_crcf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1266. unsigned int firfilt_crcf_get_length(firfilt_crcf _q);
  1267. void firfilt_crcf_freqresponse(firfilt_crcf _q, float _fc, liquid_float_complex *_H);
  1268. float firfilt_crcf_groupdelay(firfilt_crcf _q, float _fc);
  1269.  
  1270. typedef struct firfilt_cccf_s *firfilt_cccf;
  1271. firfilt_cccf firfilt_cccf_create(liquid_float_complex *_h, unsigned int _n);
  1272. firfilt_cccf firfilt_cccf_create_kaiser(unsigned int _n, float _fc, float _As, float _mu);
  1273. firfilt_cccf firfilt_cccf_create_rnyquist(int _type, unsigned int _k, unsigned int _m, float _beta, float _mu);
  1274. firfilt_cccf firfilt_cccf_create_firdespm(unsigned int _h_len, float _fc, float _As);
  1275. firfilt_cccf firfilt_cccf_create_rect(unsigned int _n);
  1276. firfilt_cccf firfilt_cccf_create_dc_blocker(unsigned int _m, float _As);
  1277. firfilt_cccf firfilt_cccf_create_notch(unsigned int _m, float _As, float _f0);
  1278. firfilt_cccf firfilt_cccf_recreate(firfilt_cccf _q, liquid_float_complex *_h, unsigned int _n);
  1279. void firfilt_cccf_destroy(firfilt_cccf _q);
  1280. void firfilt_cccf_reset(firfilt_cccf _q);
  1281. void firfilt_cccf_print(firfilt_cccf _q);
  1282. void firfilt_cccf_set_scale(firfilt_cccf _q, liquid_float_complex _scale);
  1283. void firfilt_cccf_get_scale(firfilt_cccf _q, liquid_float_complex *_scale);
  1284. void firfilt_cccf_push(firfilt_cccf _q, liquid_float_complex _x);
  1285. void firfilt_cccf_write(firfilt_cccf _q, liquid_float_complex *_x, unsigned int _n);
  1286. void firfilt_cccf_execute(firfilt_cccf _q, liquid_float_complex *_y);
  1287. void firfilt_cccf_execute_block(firfilt_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1288. unsigned int firfilt_cccf_get_length(firfilt_cccf _q);
  1289. void firfilt_cccf_freqresponse(firfilt_cccf _q, float _fc, liquid_float_complex *_H);
  1290. float firfilt_cccf_groupdelay(firfilt_cccf _q, float _fc);
  1291. # 2723 "include\\liquid.h"
  1292. typedef struct firhilbf_s *firhilbf;
  1293. firhilbf firhilbf_create(unsigned int _m, float _As);
  1294. void firhilbf_destroy(firhilbf _q);
  1295. void firhilbf_print(firhilbf _q);
  1296. void firhilbf_reset(firhilbf _q);
  1297. void firhilbf_r2c_execute(firhilbf _q, float _x, liquid_float_complex *_y);
  1298. void firhilbf_c2r_execute(firhilbf _q, liquid_float_complex _x, float *_y0, float *_y1);
  1299. void firhilbf_decim_execute(firhilbf _q, float *_x, liquid_float_complex *_y);
  1300. void firhilbf_decim_execute_block(firhilbf _q, float *_x, unsigned int _n, liquid_float_complex *_y);
  1301. void firhilbf_interp_execute(firhilbf _q, liquid_float_complex _x, float *_y);
  1302. void firhilbf_interp_execute_block(firhilbf _q, liquid_float_complex *_x, unsigned int _n, float *_y);
  1303. # 2823 "include\\liquid.h"
  1304. typedef struct iirhilbf_s *iirhilbf;
  1305. iirhilbf iirhilbf_create(liquid_iirdes_filtertype _ftype, unsigned int _n, float _Ap, float _As);
  1306. iirhilbf iirhilbf_create_default(unsigned int _n);
  1307. void iirhilbf_destroy(iirhilbf _q);
  1308. void iirhilbf_print(iirhilbf _q);
  1309. void iirhilbf_reset(iirhilbf _q);
  1310. void iirhilbf_r2c_execute(iirhilbf _q, float _x, liquid_float_complex *_y);
  1311. void iirhilbf_c2r_execute(iirhilbf _q, liquid_float_complex _x, float *_y);
  1312. void iirhilbf_decim_execute(iirhilbf _q, float *_x, liquid_float_complex *_y);
  1313. void iirhilbf_decim_execute_block(iirhilbf _q, float *_x, unsigned int _n, liquid_float_complex *_y);
  1314. void iirhilbf_interp_execute(iirhilbf _q, liquid_float_complex _x, float *_y);
  1315. void iirhilbf_interp_execute_block(iirhilbf _q, liquid_float_complex *_x, unsigned int _n, float *_y);
  1316. # 2883 "include\\liquid.h"
  1317. typedef struct fftfilt_rrrf_s *fftfilt_rrrf;
  1318. fftfilt_rrrf fftfilt_rrrf_create(float *_h, unsigned int _h_len, unsigned int _n);
  1319. void fftfilt_rrrf_destroy(fftfilt_rrrf _q);
  1320. void fftfilt_rrrf_reset(fftfilt_rrrf _q);
  1321. void fftfilt_rrrf_print(fftfilt_rrrf _q);
  1322. void fftfilt_rrrf_set_scale(fftfilt_rrrf _q, float _scale);
  1323. void fftfilt_rrrf_get_scale(fftfilt_rrrf _q, float *_scale);
  1324. void fftfilt_rrrf_execute(fftfilt_rrrf _q, float *_x, float *_y);
  1325. unsigned int fftfilt_rrrf_get_length(fftfilt_rrrf _q);
  1326.  
  1327. typedef struct fftfilt_crcf_s *fftfilt_crcf;
  1328. fftfilt_crcf fftfilt_crcf_create(float *_h, unsigned int _h_len, unsigned int _n);
  1329. void fftfilt_crcf_destroy(fftfilt_crcf _q);
  1330. void fftfilt_crcf_reset(fftfilt_crcf _q);
  1331. void fftfilt_crcf_print(fftfilt_crcf _q);
  1332. void fftfilt_crcf_set_scale(fftfilt_crcf _q, float _scale);
  1333. void fftfilt_crcf_get_scale(fftfilt_crcf _q, float *_scale);
  1334. void fftfilt_crcf_execute(fftfilt_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1335. unsigned int fftfilt_crcf_get_length(fftfilt_crcf _q);
  1336.  
  1337. typedef struct fftfilt_cccf_s *fftfilt_cccf;
  1338. fftfilt_cccf fftfilt_cccf_create(liquid_float_complex *_h, unsigned int _h_len, unsigned int _n);
  1339. void fftfilt_cccf_destroy(fftfilt_cccf _q);
  1340. void fftfilt_cccf_reset(fftfilt_cccf _q);
  1341. void fftfilt_cccf_print(fftfilt_cccf _q);
  1342. void fftfilt_cccf_set_scale(fftfilt_cccf _q, liquid_float_complex _scale);
  1343. void fftfilt_cccf_get_scale(fftfilt_cccf _q, liquid_float_complex *_scale);
  1344. void fftfilt_cccf_execute(fftfilt_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1345. unsigned int fftfilt_cccf_get_length(fftfilt_cccf _q);
  1346. # 3035 "include\\liquid.h"
  1347. typedef struct iirfilt_rrrf_s *iirfilt_rrrf;
  1348. iirfilt_rrrf iirfilt_rrrf_create(float *_b, unsigned int _nb, float *_a, unsigned int _na);
  1349. iirfilt_rrrf iirfilt_rrrf_create_sos(float *_B, float *_A, unsigned int _nsos);
  1350. iirfilt_rrrf iirfilt_rrrf_create_prototype(liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1351. iirfilt_rrrf iirfilt_rrrf_create_lowpass(unsigned int _order, float _fc);
  1352. iirfilt_rrrf iirfilt_rrrf_create_integrator(void);
  1353. iirfilt_rrrf iirfilt_rrrf_create_differentiator(void);
  1354. iirfilt_rrrf iirfilt_rrrf_create_dc_blocker(float _alpha);
  1355. iirfilt_rrrf iirfilt_rrrf_create_pll(float _w, float _zeta, float _K);
  1356. void iirfilt_rrrf_destroy(iirfilt_rrrf _q);
  1357. void iirfilt_rrrf_print(iirfilt_rrrf _q);
  1358. void iirfilt_rrrf_reset(iirfilt_rrrf _q);
  1359. void iirfilt_rrrf_execute(iirfilt_rrrf _q, float _x, float *_y);
  1360. void iirfilt_rrrf_execute_block(iirfilt_rrrf _q, float *_x, unsigned int _n, float *_y);
  1361. unsigned int iirfilt_rrrf_get_length(iirfilt_rrrf _q);
  1362. void iirfilt_rrrf_freqresponse(iirfilt_rrrf _q, float _fc, liquid_float_complex *_H);
  1363. float iirfilt_rrrf_groupdelay(iirfilt_rrrf _q, float _fc);
  1364.  
  1365. typedef struct iirfilt_crcf_s *iirfilt_crcf;
  1366. iirfilt_crcf iirfilt_crcf_create(float *_b, unsigned int _nb, float *_a, unsigned int _na);
  1367. iirfilt_crcf iirfilt_crcf_create_sos(float *_B, float *_A, unsigned int _nsos);
  1368. iirfilt_crcf iirfilt_crcf_create_prototype(liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1369. iirfilt_crcf iirfilt_crcf_create_lowpass(unsigned int _order, float _fc);
  1370. iirfilt_crcf iirfilt_crcf_create_integrator(void);
  1371. iirfilt_crcf iirfilt_crcf_create_differentiator(void);
  1372. iirfilt_crcf iirfilt_crcf_create_dc_blocker(float _alpha);
  1373. iirfilt_crcf iirfilt_crcf_create_pll(float _w, float _zeta, float _K);
  1374. void iirfilt_crcf_destroy(iirfilt_crcf _q);
  1375. void iirfilt_crcf_print(iirfilt_crcf _q);
  1376. void iirfilt_crcf_reset(iirfilt_crcf _q);
  1377. void iirfilt_crcf_execute(iirfilt_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  1378. void iirfilt_crcf_execute_block(iirfilt_crcf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1379. unsigned int iirfilt_crcf_get_length(iirfilt_crcf _q);
  1380. void iirfilt_crcf_freqresponse(iirfilt_crcf _q, float _fc, liquid_float_complex *_H);
  1381. float iirfilt_crcf_groupdelay(iirfilt_crcf _q, float _fc);
  1382.  
  1383. typedef struct iirfilt_cccf_s *iirfilt_cccf;
  1384. iirfilt_cccf iirfilt_cccf_create(liquid_float_complex *_b, unsigned int _nb, liquid_float_complex *_a, unsigned int _na);
  1385. iirfilt_cccf iirfilt_cccf_create_sos(liquid_float_complex *_B, liquid_float_complex *_A, unsigned int _nsos);
  1386. iirfilt_cccf iirfilt_cccf_create_prototype(liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1387. iirfilt_cccf iirfilt_cccf_create_lowpass(unsigned int _order, float _fc);
  1388. iirfilt_cccf iirfilt_cccf_create_integrator(void);
  1389. iirfilt_cccf iirfilt_cccf_create_differentiator(void);
  1390. iirfilt_cccf iirfilt_cccf_create_dc_blocker(float _alpha);
  1391. iirfilt_cccf iirfilt_cccf_create_pll(float _w, float _zeta, float _K);
  1392. void iirfilt_cccf_destroy(iirfilt_cccf _q);
  1393. void iirfilt_cccf_print(iirfilt_cccf _q);
  1394. void iirfilt_cccf_reset(iirfilt_cccf _q);
  1395. void iirfilt_cccf_execute(iirfilt_cccf _q, liquid_float_complex _x, liquid_float_complex *_y);
  1396. void iirfilt_cccf_execute_block(iirfilt_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1397. unsigned int iirfilt_cccf_get_length(iirfilt_cccf _q);
  1398. void iirfilt_cccf_freqresponse(iirfilt_cccf _q, float _fc, liquid_float_complex *_H);
  1399. float iirfilt_cccf_groupdelay(iirfilt_cccf _q, float _fc);
  1400. # 3175 "include\\liquid.h"
  1401. typedef struct firpfb_rrrf_s *firpfb_rrrf;
  1402. firpfb_rrrf firpfb_rrrf_create(unsigned int _M, float *_h, unsigned int _h_len);
  1403. firpfb_rrrf firpfb_rrrf_create_kaiser(unsigned int _M, unsigned int _m, float _fc, float _As);
  1404. firpfb_rrrf firpfb_rrrf_create_rnyquist(int _type, unsigned int _M, unsigned int _k, unsigned int _m, float _beta);
  1405. firpfb_rrrf firpfb_rrrf_create_drnyquist(int _type, unsigned int _M, unsigned int _k, unsigned int _m, float _beta);
  1406. firpfb_rrrf firpfb_rrrf_recreate(firpfb_rrrf _q, unsigned int _M, float *_h, unsigned int _h_len);
  1407. void firpfb_rrrf_destroy(firpfb_rrrf _q);
  1408. void firpfb_rrrf_print(firpfb_rrrf _q);
  1409. void firpfb_rrrf_set_scale(firpfb_rrrf _q, float _scale);
  1410. void firpfb_rrrf_get_scale(firpfb_rrrf _q, float *_scale);
  1411. void firpfb_rrrf_reset(firpfb_rrrf _q);
  1412. void firpfb_rrrf_push(firpfb_rrrf _q, float _x);
  1413. void firpfb_rrrf_execute(firpfb_rrrf _q, unsigned int _i, float *_y);
  1414. void firpfb_rrrf_execute_block(firpfb_rrrf _q, unsigned int _i, float *_x, unsigned int _n, float *_y);
  1415.  
  1416. typedef struct firpfb_crcf_s *firpfb_crcf;
  1417. firpfb_crcf firpfb_crcf_create(unsigned int _M, float *_h, unsigned int _h_len);
  1418. firpfb_crcf firpfb_crcf_create_kaiser(unsigned int _M, unsigned int _m, float _fc, float _As);
  1419. firpfb_crcf firpfb_crcf_create_rnyquist(int _type, unsigned int _M, unsigned int _k, unsigned int _m, float _beta);
  1420. firpfb_crcf firpfb_crcf_create_drnyquist(int _type, unsigned int _M, unsigned int _k, unsigned int _m, float _beta);
  1421. firpfb_crcf firpfb_crcf_recreate(firpfb_crcf _q, unsigned int _M, float *_h, unsigned int _h_len);
  1422. void firpfb_crcf_destroy(firpfb_crcf _q);
  1423. void firpfb_crcf_print(firpfb_crcf _q);
  1424. void firpfb_crcf_set_scale(firpfb_crcf _q, float _scale);
  1425. void firpfb_crcf_get_scale(firpfb_crcf _q, float *_scale);
  1426. void firpfb_crcf_reset(firpfb_crcf _q);
  1427. void firpfb_crcf_push(firpfb_crcf _q, liquid_float_complex _x);
  1428. void firpfb_crcf_execute(firpfb_crcf _q, unsigned int _i, liquid_float_complex *_y);
  1429. void firpfb_crcf_execute_block(firpfb_crcf _q, unsigned int _i, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1430.  
  1431. typedef struct firpfb_cccf_s *firpfb_cccf;
  1432. firpfb_cccf firpfb_cccf_create(unsigned int _M, liquid_float_complex *_h, unsigned int _h_len);
  1433. firpfb_cccf firpfb_cccf_create_kaiser(unsigned int _M, unsigned int _m, float _fc, float _As);
  1434. firpfb_cccf firpfb_cccf_create_rnyquist(int _type, unsigned int _M, unsigned int _k, unsigned int _m, float _beta);
  1435. firpfb_cccf firpfb_cccf_create_drnyquist(int _type, unsigned int _M, unsigned int _k, unsigned int _m, float _beta);
  1436. firpfb_cccf firpfb_cccf_recreate(firpfb_cccf _q, unsigned int _M, liquid_float_complex *_h, unsigned int _h_len);
  1437. void firpfb_cccf_destroy(firpfb_cccf _q);
  1438. void firpfb_cccf_print(firpfb_cccf _q);
  1439. void firpfb_cccf_set_scale(firpfb_cccf _q, liquid_float_complex _scale);
  1440. void firpfb_cccf_get_scale(firpfb_cccf _q, liquid_float_complex *_scale);
  1441. void firpfb_cccf_reset(firpfb_cccf _q);
  1442. void firpfb_cccf_push(firpfb_cccf _q, liquid_float_complex _x);
  1443. void firpfb_cccf_execute(firpfb_cccf _q, unsigned int _i, liquid_float_complex *_y);
  1444. void firpfb_cccf_execute_block(firpfb_cccf _q, unsigned int _i, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1445. # 3288 "include\\liquid.h"
  1446. typedef struct firinterp_rrrf_s *firinterp_rrrf;
  1447. firinterp_rrrf firinterp_rrrf_create(unsigned int _M, float *_h, unsigned int _h_len);
  1448. firinterp_rrrf firinterp_rrrf_create_kaiser(unsigned int _M, unsigned int _m, float _As);
  1449. firinterp_rrrf firinterp_rrrf_create_prototype(int _type, unsigned int _M, unsigned int _m, float _beta, float _dt);
  1450. firinterp_rrrf firinterp_rrrf_create_linear(unsigned int _M);
  1451. firinterp_rrrf firinterp_rrrf_create_window(unsigned int _M, unsigned int _m);
  1452. void firinterp_rrrf_destroy(firinterp_rrrf _q);
  1453. void firinterp_rrrf_print(firinterp_rrrf _q);
  1454. void firinterp_rrrf_reset(firinterp_rrrf _q);
  1455. void firinterp_rrrf_set_scale(firinterp_rrrf _q, float _scale);
  1456. void firinterp_rrrf_get_scale(firinterp_rrrf _q, float *_scale);
  1457. void firinterp_rrrf_execute(firinterp_rrrf _q, float _x, float *_y);
  1458. void firinterp_rrrf_execute_block(firinterp_rrrf _q, float *_x, unsigned int _n, float *_y);
  1459.  
  1460. typedef struct firinterp_crcf_s *firinterp_crcf;
  1461. firinterp_crcf firinterp_crcf_create(unsigned int _M, float *_h, unsigned int _h_len);
  1462. firinterp_crcf firinterp_crcf_create_kaiser(unsigned int _M, unsigned int _m, float _As);
  1463. firinterp_crcf firinterp_crcf_create_prototype(int _type, unsigned int _M, unsigned int _m, float _beta, float _dt);
  1464. firinterp_crcf firinterp_crcf_create_linear(unsigned int _M);
  1465. firinterp_crcf firinterp_crcf_create_window(unsigned int _M, unsigned int _m);
  1466. void firinterp_crcf_destroy(firinterp_crcf _q);
  1467. void firinterp_crcf_print(firinterp_crcf _q);
  1468. void firinterp_crcf_reset(firinterp_crcf _q);
  1469. void firinterp_crcf_set_scale(firinterp_crcf _q, float _scale);
  1470. void firinterp_crcf_get_scale(firinterp_crcf _q, float *_scale);
  1471. void firinterp_crcf_execute(firinterp_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  1472. void firinterp_crcf_execute_block(firinterp_crcf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1473.  
  1474. typedef struct firinterp_cccf_s *firinterp_cccf;
  1475. firinterp_cccf firinterp_cccf_create(unsigned int _M, liquid_float_complex *_h, unsigned int _h_len);
  1476. firinterp_cccf firinterp_cccf_create_kaiser(unsigned int _M, unsigned int _m, float _As);
  1477. firinterp_cccf firinterp_cccf_create_prototype(int _type, unsigned int _M, unsigned int _m, float _beta, float _dt);
  1478. firinterp_cccf firinterp_cccf_create_linear(unsigned int _M);
  1479. firinterp_cccf firinterp_cccf_create_window(unsigned int _M, unsigned int _m);
  1480. void firinterp_cccf_destroy(firinterp_cccf _q);
  1481. void firinterp_cccf_print(firinterp_cccf _q);
  1482. void firinterp_cccf_reset(firinterp_cccf _q);
  1483. void firinterp_cccf_set_scale(firinterp_cccf _q, liquid_float_complex _scale);
  1484. void firinterp_cccf_get_scale(firinterp_cccf _q, liquid_float_complex *_scale);
  1485. void firinterp_cccf_execute(firinterp_cccf _q, liquid_float_complex _x, liquid_float_complex *_y);
  1486. void firinterp_cccf_execute_block(firinterp_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1487. # 3394 "include\\liquid.h"
  1488. typedef struct iirinterp_rrrf_s *iirinterp_rrrf;
  1489. iirinterp_rrrf iirinterp_rrrf_create(unsigned int _M, float *_b, unsigned int _nb, float *_a, unsigned int _na);
  1490. iirinterp_rrrf iirinterp_rrrf_create_default(unsigned int _M, unsigned int _order);
  1491. iirinterp_rrrf iirinterp_rrrf_create_prototype(unsigned int _M, liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1492. void iirinterp_rrrf_destroy(iirinterp_rrrf _q);
  1493. void iirinterp_rrrf_print(iirinterp_rrrf _q);
  1494. void iirinterp_rrrf_reset(iirinterp_rrrf _q);
  1495. void iirinterp_rrrf_execute(iirinterp_rrrf _q, float _x, float *_y);
  1496. void iirinterp_rrrf_execute_block(iirinterp_rrrf _q, float *_x, unsigned int _n, float *_y);
  1497. float iirinterp_rrrf_groupdelay(iirinterp_rrrf _q, float _fc);
  1498.  
  1499. typedef struct iirinterp_crcf_s *iirinterp_crcf;
  1500. iirinterp_crcf iirinterp_crcf_create(unsigned int _M, float *_b, unsigned int _nb, float *_a, unsigned int _na);
  1501. iirinterp_crcf iirinterp_crcf_create_default(unsigned int _M, unsigned int _order);
  1502. iirinterp_crcf iirinterp_crcf_create_prototype(unsigned int _M, liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1503. void iirinterp_crcf_destroy(iirinterp_crcf _q);
  1504. void iirinterp_crcf_print(iirinterp_crcf _q);
  1505. void iirinterp_crcf_reset(iirinterp_crcf _q);
  1506. void iirinterp_crcf_execute(iirinterp_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  1507. void iirinterp_crcf_execute_block(iirinterp_crcf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1508. float iirinterp_crcf_groupdelay(iirinterp_crcf _q, float _fc);
  1509.  
  1510. typedef struct iirinterp_cccf_s *iirinterp_cccf;
  1511. iirinterp_cccf iirinterp_cccf_create(unsigned int _M, liquid_float_complex *_b, unsigned int _nb, liquid_float_complex *_a, unsigned int _na);
  1512. iirinterp_cccf iirinterp_cccf_create_default(unsigned int _M, unsigned int _order);
  1513. iirinterp_cccf iirinterp_cccf_create_prototype(unsigned int _M, liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1514. void iirinterp_cccf_destroy(iirinterp_cccf _q);
  1515. void iirinterp_cccf_print(iirinterp_cccf _q);
  1516. void iirinterp_cccf_reset(iirinterp_cccf _q);
  1517. void iirinterp_cccf_execute(iirinterp_cccf _q, liquid_float_complex _x, liquid_float_complex *_y);
  1518. void iirinterp_cccf_execute_block(iirinterp_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1519. float iirinterp_cccf_groupdelay(iirinterp_cccf _q, float _fc);
  1520. # 3491 "include\\liquid.h"
  1521. typedef struct firdecim_rrrf_s *firdecim_rrrf;
  1522. firdecim_rrrf firdecim_rrrf_create(unsigned int _M, float *_h, unsigned int _h_len);
  1523. firdecim_rrrf firdecim_rrrf_create_kaiser(unsigned int _M, unsigned int _m, float _As);
  1524. firdecim_rrrf firdecim_rrrf_create_prototype(int _type, unsigned int _M, unsigned int _m, float _beta, float _dt);
  1525. void firdecim_rrrf_destroy(firdecim_rrrf _q);
  1526. void firdecim_rrrf_print(firdecim_rrrf _q);
  1527. void firdecim_rrrf_reset(firdecim_rrrf _q);
  1528. void firdecim_rrrf_set_scale(firdecim_rrrf _q, float _scale);
  1529. void firdecim_rrrf_get_scale(firdecim_rrrf _q, float *_scale);
  1530. void firdecim_rrrf_execute(firdecim_rrrf _q, float *_x, float *_y);
  1531. void firdecim_rrrf_execute_block(firdecim_rrrf _q, float *_x, unsigned int _n, float *_y);
  1532.  
  1533. typedef struct firdecim_crcf_s *firdecim_crcf;
  1534. firdecim_crcf firdecim_crcf_create(unsigned int _M, float *_h, unsigned int _h_len);
  1535. firdecim_crcf firdecim_crcf_create_kaiser(unsigned int _M, unsigned int _m, float _As);
  1536. firdecim_crcf firdecim_crcf_create_prototype(int _type, unsigned int _M, unsigned int _m, float _beta, float _dt);
  1537. void firdecim_crcf_destroy(firdecim_crcf _q);
  1538. void firdecim_crcf_print(firdecim_crcf _q);
  1539. void firdecim_crcf_reset(firdecim_crcf _q);
  1540. void firdecim_crcf_set_scale(firdecim_crcf _q, float _scale);
  1541. void firdecim_crcf_get_scale(firdecim_crcf _q, float *_scale);
  1542. void firdecim_crcf_execute(firdecim_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1543. void firdecim_crcf_execute_block(firdecim_crcf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1544.  
  1545. typedef struct firdecim_cccf_s *firdecim_cccf;
  1546. firdecim_cccf firdecim_cccf_create(unsigned int _M, liquid_float_complex *_h, unsigned int _h_len);
  1547. firdecim_cccf firdecim_cccf_create_kaiser(unsigned int _M, unsigned int _m, float _As);
  1548. firdecim_cccf firdecim_cccf_create_prototype(int _type, unsigned int _M, unsigned int _m, float _beta, float _dt);
  1549. void firdecim_cccf_destroy(firdecim_cccf _q);
  1550. void firdecim_cccf_print(firdecim_cccf _q);
  1551. void firdecim_cccf_reset(firdecim_cccf _q);
  1552. void firdecim_cccf_set_scale(firdecim_cccf _q, liquid_float_complex _scale);
  1553. void firdecim_cccf_get_scale(firdecim_cccf _q, liquid_float_complex *_scale);
  1554. void firdecim_cccf_execute(firdecim_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1555. void firdecim_cccf_execute_block(firdecim_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1556. # 3597 "include\\liquid.h"
  1557. typedef struct iirdecim_rrrf_s *iirdecim_rrrf;
  1558. iirdecim_rrrf iirdecim_rrrf_create(unsigned int _M, float *_b, unsigned int _nb, float *_a, unsigned int _na);
  1559. iirdecim_rrrf iirdecim_rrrf_create_default(unsigned int _M, unsigned int _order);
  1560. iirdecim_rrrf iirdecim_rrrf_create_prototype(unsigned int _M, liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1561. void iirdecim_rrrf_destroy(iirdecim_rrrf _q);
  1562. void iirdecim_rrrf_print(iirdecim_rrrf _q);
  1563. void iirdecim_rrrf_reset(iirdecim_rrrf _q);
  1564. void iirdecim_rrrf_execute(iirdecim_rrrf _q, float *_x, float *_y);
  1565. void iirdecim_rrrf_execute_block(iirdecim_rrrf _q, float *_x, unsigned int _n, float *_y);
  1566. float iirdecim_rrrf_groupdelay(iirdecim_rrrf _q, float _fc);
  1567.  
  1568. typedef struct iirdecim_crcf_s *iirdecim_crcf;
  1569. iirdecim_crcf iirdecim_crcf_create(unsigned int _M, float *_b, unsigned int _nb, float *_a, unsigned int _na);
  1570. iirdecim_crcf iirdecim_crcf_create_default(unsigned int _M, unsigned int _order);
  1571. iirdecim_crcf iirdecim_crcf_create_prototype(unsigned int _M, liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1572. void iirdecim_crcf_destroy(iirdecim_crcf _q);
  1573. void iirdecim_crcf_print(iirdecim_crcf _q);
  1574. void iirdecim_crcf_reset(iirdecim_crcf _q);
  1575. void iirdecim_crcf_execute(iirdecim_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1576. void iirdecim_crcf_execute_block(iirdecim_crcf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1577. float iirdecim_crcf_groupdelay(iirdecim_crcf _q, float _fc);
  1578.  
  1579. typedef struct iirdecim_cccf_s *iirdecim_cccf;
  1580. iirdecim_cccf iirdecim_cccf_create(unsigned int _M, liquid_float_complex *_b, unsigned int _nb, liquid_float_complex *_a, unsigned int _na);
  1581. iirdecim_cccf iirdecim_cccf_create_default(unsigned int _M, unsigned int _order);
  1582. iirdecim_cccf iirdecim_cccf_create_prototype(unsigned int _M, liquid_iirdes_filtertype _ftype, liquid_iirdes_bandtype _btype, liquid_iirdes_format _format, unsigned int _order, float _fc, float _f0, float _Ap, float _As);
  1583. void iirdecim_cccf_destroy(iirdecim_cccf _q);
  1584. void iirdecim_cccf_print(iirdecim_cccf _q);
  1585. void iirdecim_cccf_reset(iirdecim_cccf _q);
  1586. void iirdecim_cccf_execute(iirdecim_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1587. void iirdecim_cccf_execute_block(iirdecim_cccf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1588. float iirdecim_cccf_groupdelay(iirdecim_cccf _q, float _fc);
  1589. # 3708 "include\\liquid.h"
  1590. typedef struct resamp2_rrrf_s *resamp2_rrrf;
  1591. resamp2_rrrf resamp2_rrrf_create(unsigned int _m, float _f0, float _As);
  1592. resamp2_rrrf resamp2_rrrf_recreate(resamp2_rrrf _q, unsigned int _m, float _f0, float _As);
  1593. void resamp2_rrrf_destroy(resamp2_rrrf _q);
  1594. void resamp2_rrrf_print(resamp2_rrrf _q);
  1595. void resamp2_rrrf_reset(resamp2_rrrf _q);
  1596. unsigned int resamp2_rrrf_get_delay(resamp2_rrrf _q);
  1597. void resamp2_rrrf_filter_execute(resamp2_rrrf _q, float _x, float *_y0, float *_y1);
  1598. void resamp2_rrrf_analyzer_execute(resamp2_rrrf _q, float *_x, float *_y);
  1599. void resamp2_rrrf_synthesizer_execute(resamp2_rrrf _q, float *_x, float *_y);
  1600. void resamp2_rrrf_decim_execute(resamp2_rrrf _q, float *_x, float *_y);
  1601. void resamp2_rrrf_interp_execute(resamp2_rrrf _q, float _x, float *_y);
  1602.  
  1603. typedef struct resamp2_crcf_s *resamp2_crcf;
  1604. resamp2_crcf resamp2_crcf_create(unsigned int _m, float _f0, float _As);
  1605. resamp2_crcf resamp2_crcf_recreate(resamp2_crcf _q, unsigned int _m, float _f0, float _As);
  1606. void resamp2_crcf_destroy(resamp2_crcf _q);
  1607. void resamp2_crcf_print(resamp2_crcf _q);
  1608. void resamp2_crcf_reset(resamp2_crcf _q);
  1609. unsigned int resamp2_crcf_get_delay(resamp2_crcf _q);
  1610. void resamp2_crcf_filter_execute(resamp2_crcf _q, liquid_float_complex _x, liquid_float_complex *_y0, liquid_float_complex *_y1);
  1611. void resamp2_crcf_analyzer_execute(resamp2_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1612. void resamp2_crcf_synthesizer_execute(resamp2_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1613. void resamp2_crcf_decim_execute(resamp2_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1614. void resamp2_crcf_interp_execute(resamp2_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  1615.  
  1616. typedef struct resamp2_cccf_s *resamp2_cccf;
  1617. resamp2_cccf resamp2_cccf_create(unsigned int _m, float _f0, float _As);
  1618. resamp2_cccf resamp2_cccf_recreate(resamp2_cccf _q, unsigned int _m, float _f0, float _As);
  1619. void resamp2_cccf_destroy(resamp2_cccf _q);
  1620. void resamp2_cccf_print(resamp2_cccf _q);
  1621. void resamp2_cccf_reset(resamp2_cccf _q);
  1622. unsigned int resamp2_cccf_get_delay(resamp2_cccf _q);
  1623. void resamp2_cccf_filter_execute(resamp2_cccf _q, liquid_float_complex _x, liquid_float_complex *_y0, liquid_float_complex *_y1);
  1624. void resamp2_cccf_analyzer_execute(resamp2_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1625. void resamp2_cccf_synthesizer_execute(resamp2_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1626. void resamp2_cccf_decim_execute(resamp2_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1627. void resamp2_cccf_interp_execute(resamp2_cccf _q, liquid_float_complex _x, liquid_float_complex *_y);
  1628. # 3857 "include\\liquid.h"
  1629. typedef struct rresamp_rrrf_s *rresamp_rrrf;
  1630. rresamp_rrrf rresamp_rrrf_create(unsigned int _P, unsigned int _Q, unsigned int _m, float *_h);
  1631. rresamp_rrrf rresamp_rrrf_create_kaiser(unsigned int _P, unsigned int _Q, unsigned int _m, float _bw, float _As);
  1632. rresamp_rrrf rresamp_rrrf_create_prototype(int _type, unsigned int _P, unsigned int _Q, unsigned int _m, float _beta);
  1633. rresamp_rrrf rresamp_rrrf_create_default(unsigned int _P, unsigned int _Q);
  1634. void rresamp_rrrf_destroy(rresamp_rrrf _q);
  1635. void rresamp_rrrf_print(rresamp_rrrf _q);
  1636. void rresamp_rrrf_reset(rresamp_rrrf _q);
  1637. void rresamp_rrrf_set_scale(rresamp_rrrf _q, float _scale);
  1638. void rresamp_rrrf_get_scale(rresamp_rrrf _q, float *_scale);
  1639. unsigned int rresamp_rrrf_get_delay(rresamp_rrrf _q);
  1640. unsigned int rresamp_rrrf_get_P(rresamp_rrrf _q);
  1641. unsigned int rresamp_rrrf_get_interp(rresamp_rrrf _q);
  1642. unsigned int rresamp_rrrf_get_Q(rresamp_rrrf _q);
  1643. unsigned int rresamp_rrrf_get_decim(rresamp_rrrf _q);
  1644. unsigned int rresamp_rrrf_get_block_len(rresamp_rrrf _q);
  1645. float rresamp_rrrf_get_rate(rresamp_rrrf _q);
  1646. void rresamp_rrrf_execute(rresamp_rrrf _q, float *_x, float *_y);
  1647.  
  1648. typedef struct rresamp_crcf_s *rresamp_crcf;
  1649. rresamp_crcf rresamp_crcf_create(unsigned int _P, unsigned int _Q, unsigned int _m, float *_h);
  1650. rresamp_crcf rresamp_crcf_create_kaiser(unsigned int _P, unsigned int _Q, unsigned int _m, float _bw, float _As);
  1651. rresamp_crcf rresamp_crcf_create_prototype(int _type, unsigned int _P, unsigned int _Q, unsigned int _m, float _beta);
  1652. rresamp_crcf rresamp_crcf_create_default(unsigned int _P, unsigned int _Q);
  1653. void rresamp_crcf_destroy(rresamp_crcf _q);
  1654. void rresamp_crcf_print(rresamp_crcf _q);
  1655. void rresamp_crcf_reset(rresamp_crcf _q);
  1656. void rresamp_crcf_set_scale(rresamp_crcf _q, float _scale);
  1657. void rresamp_crcf_get_scale(rresamp_crcf _q, float *_scale);
  1658. unsigned int rresamp_crcf_get_delay(rresamp_crcf _q);
  1659. unsigned int rresamp_crcf_get_P(rresamp_crcf _q);
  1660. unsigned int rresamp_crcf_get_interp(rresamp_crcf _q);
  1661. unsigned int rresamp_crcf_get_Q(rresamp_crcf _q);
  1662. unsigned int rresamp_crcf_get_decim(rresamp_crcf _q);
  1663. unsigned int rresamp_crcf_get_block_len(rresamp_crcf _q);
  1664. float rresamp_crcf_get_rate(rresamp_crcf _q);
  1665. void rresamp_crcf_execute(rresamp_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1666.  
  1667. typedef struct rresamp_cccf_s *rresamp_cccf;
  1668. rresamp_cccf rresamp_cccf_create(unsigned int _P, unsigned int _Q, unsigned int _m, liquid_float_complex *_h);
  1669. rresamp_cccf rresamp_cccf_create_kaiser(unsigned int _P, unsigned int _Q, unsigned int _m, float _bw, float _As);
  1670. rresamp_cccf rresamp_cccf_create_prototype(int _type, unsigned int _P, unsigned int _Q, unsigned int _m, float _beta);
  1671. rresamp_cccf rresamp_cccf_create_default(unsigned int _P, unsigned int _Q);
  1672. void rresamp_cccf_destroy(rresamp_cccf _q);
  1673. void rresamp_cccf_print(rresamp_cccf _q);
  1674. void rresamp_cccf_reset(rresamp_cccf _q);
  1675. void rresamp_cccf_set_scale(rresamp_cccf _q, liquid_float_complex _scale);
  1676. void rresamp_cccf_get_scale(rresamp_cccf _q, liquid_float_complex *_scale);
  1677. unsigned int rresamp_cccf_get_delay(rresamp_cccf _q);
  1678. unsigned int rresamp_cccf_get_P(rresamp_cccf _q);
  1679. unsigned int rresamp_cccf_get_interp(rresamp_cccf _q);
  1680. unsigned int rresamp_cccf_get_Q(rresamp_cccf _q);
  1681. unsigned int rresamp_cccf_get_decim(rresamp_cccf _q);
  1682. unsigned int rresamp_cccf_get_block_len(rresamp_cccf _q);
  1683. float rresamp_cccf_get_rate(rresamp_cccf _q);
  1684. void rresamp_cccf_execute(rresamp_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1685. # 3976 "include\\liquid.h"
  1686. typedef struct resamp_rrrf_s *resamp_rrrf;
  1687. resamp_rrrf resamp_rrrf_create(float _rate, unsigned int _m, float _fc, float _As, unsigned int _npfb);
  1688. resamp_rrrf resamp_rrrf_create_default(float _rate);
  1689. void resamp_rrrf_destroy(resamp_rrrf _q);
  1690. void resamp_rrrf_print(resamp_rrrf _q);
  1691. void resamp_rrrf_reset(resamp_rrrf _q);
  1692. unsigned int resamp_rrrf_get_delay(resamp_rrrf _q);
  1693. void resamp_rrrf_set_rate(resamp_rrrf _q, float _rate);
  1694. float resamp_rrrf_get_rate(resamp_rrrf _q);
  1695. void resamp_rrrf_adjust_rate(resamp_rrrf _q, float _gamma);
  1696. void resamp_rrrf_set_timing_phase(resamp_rrrf _q, float _tau);
  1697. void resamp_rrrf_adjust_timing_phase(resamp_rrrf _q, float _delta);
  1698. void resamp_rrrf_execute(resamp_rrrf _q, float _x, float *_y, unsigned int *_num_written);
  1699. void resamp_rrrf_execute_block(resamp_rrrf _q, float *_x, unsigned int _nx, float *_y, unsigned int *_ny);
  1700.  
  1701. typedef struct resamp_crcf_s *resamp_crcf;
  1702. resamp_crcf resamp_crcf_create(float _rate, unsigned int _m, float _fc, float _As, unsigned int _npfb);
  1703. resamp_crcf resamp_crcf_create_default(float _rate);
  1704. void resamp_crcf_destroy(resamp_crcf _q);
  1705. void resamp_crcf_print(resamp_crcf _q);
  1706. void resamp_crcf_reset(resamp_crcf _q);
  1707. unsigned int resamp_crcf_get_delay(resamp_crcf _q);
  1708. void resamp_crcf_set_rate(resamp_crcf _q, float _rate);
  1709. float resamp_crcf_get_rate(resamp_crcf _q);
  1710. void resamp_crcf_adjust_rate(resamp_crcf _q, float _gamma);
  1711. void resamp_crcf_set_timing_phase(resamp_crcf _q, float _tau);
  1712. void resamp_crcf_adjust_timing_phase(resamp_crcf _q, float _delta);
  1713. void resamp_crcf_execute(resamp_crcf _q, liquid_float_complex _x, liquid_float_complex *_y, unsigned int *_num_written);
  1714. void resamp_crcf_execute_block(resamp_crcf _q, liquid_float_complex *_x, unsigned int _nx, liquid_float_complex *_y, unsigned int *_ny);
  1715.  
  1716. typedef struct resamp_cccf_s *resamp_cccf;
  1717. resamp_cccf resamp_cccf_create(float _rate, unsigned int _m, float _fc, float _As, unsigned int _npfb);
  1718. resamp_cccf resamp_cccf_create_default(float _rate);
  1719. void resamp_cccf_destroy(resamp_cccf _q);
  1720. void resamp_cccf_print(resamp_cccf _q);
  1721. void resamp_cccf_reset(resamp_cccf _q);
  1722. unsigned int resamp_cccf_get_delay(resamp_cccf _q);
  1723. void resamp_cccf_set_rate(resamp_cccf _q, float _rate);
  1724. float resamp_cccf_get_rate(resamp_cccf _q);
  1725. void resamp_cccf_adjust_rate(resamp_cccf _q, float _gamma);
  1726. void resamp_cccf_set_timing_phase(resamp_cccf _q, float _tau);
  1727. void resamp_cccf_adjust_timing_phase(resamp_cccf _q, float _delta);
  1728. void resamp_cccf_execute(resamp_cccf _q, liquid_float_complex _x, liquid_float_complex *_y, unsigned int *_num_written);
  1729. void resamp_cccf_execute_block(resamp_cccf _q, liquid_float_complex *_x, unsigned int _nx, liquid_float_complex *_y, unsigned int *_ny);
  1730. # 3997 "include\\liquid.h"
  1731. typedef enum
  1732. {
  1733.     LIQUID_RESAMP_INTERP = 0,
  1734.     LIQUID_RESAMP_DECIM,
  1735. } liquid_resamp_type;
  1736. # 4056 "include\\liquid.h"
  1737. typedef struct msresamp2_rrrf_s *msresamp2_rrrf;
  1738. msresamp2_rrrf msresamp2_rrrf_create(int _type, unsigned int _num_stages, float _fc, float _f0, float _As);
  1739. void msresamp2_rrrf_destroy(msresamp2_rrrf _q);
  1740. void msresamp2_rrrf_print(msresamp2_rrrf _q);
  1741. void msresamp2_rrrf_reset(msresamp2_rrrf _q);
  1742. float msresamp2_rrrf_get_rate(msresamp2_rrrf _q);
  1743. unsigned int msresamp2_rrrf_get_num_stages(msresamp2_rrrf _q);
  1744. int msresamp2_rrrf_get_type(msresamp2_rrrf _q);
  1745. float msresamp2_rrrf_get_delay(msresamp2_rrrf _q);
  1746. void msresamp2_rrrf_execute(msresamp2_rrrf _q, float *_x, float *_y);
  1747.  
  1748. typedef struct msresamp2_crcf_s *msresamp2_crcf;
  1749. msresamp2_crcf msresamp2_crcf_create(int _type, unsigned int _num_stages, float _fc, float _f0, float _As);
  1750. void msresamp2_crcf_destroy(msresamp2_crcf _q);
  1751. void msresamp2_crcf_print(msresamp2_crcf _q);
  1752. void msresamp2_crcf_reset(msresamp2_crcf _q);
  1753. float msresamp2_crcf_get_rate(msresamp2_crcf _q);
  1754. unsigned int msresamp2_crcf_get_num_stages(msresamp2_crcf _q);
  1755. int msresamp2_crcf_get_type(msresamp2_crcf _q);
  1756. float msresamp2_crcf_get_delay(msresamp2_crcf _q);
  1757. void msresamp2_crcf_execute(msresamp2_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1758.  
  1759. typedef struct msresamp2_cccf_s *msresamp2_cccf;
  1760. msresamp2_cccf msresamp2_cccf_create(int _type, unsigned int _num_stages, float _fc, float _f0, float _As);
  1761. void msresamp2_cccf_destroy(msresamp2_cccf _q);
  1762. void msresamp2_cccf_print(msresamp2_cccf _q);
  1763. void msresamp2_cccf_reset(msresamp2_cccf _q);
  1764. float msresamp2_cccf_get_rate(msresamp2_cccf _q);
  1765. unsigned int msresamp2_cccf_get_num_stages(msresamp2_cccf _q);
  1766. int msresamp2_cccf_get_type(msresamp2_cccf _q);
  1767. float msresamp2_cccf_get_delay(msresamp2_cccf _q);
  1768. void msresamp2_cccf_execute(msresamp2_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  1769. # 4123 "include\\liquid.h"
  1770. typedef struct msresamp_rrrf_s *msresamp_rrrf;
  1771. msresamp_rrrf msresamp_rrrf_create(float _r, float _As);
  1772. void msresamp_rrrf_destroy(msresamp_rrrf _q);
  1773. void msresamp_rrrf_print(msresamp_rrrf _q);
  1774. void msresamp_rrrf_reset(msresamp_rrrf _q);
  1775. float msresamp_rrrf_get_delay(msresamp_rrrf _q);
  1776. float msresamp_rrrf_get_rate(msresamp_rrrf _q);
  1777. void msresamp_rrrf_execute(msresamp_rrrf _q, float *_x, unsigned int _nx, float *_y, unsigned int *_ny);
  1778.  
  1779. typedef struct msresamp_crcf_s *msresamp_crcf;
  1780. msresamp_crcf msresamp_crcf_create(float _r, float _As);
  1781. void msresamp_crcf_destroy(msresamp_crcf _q);
  1782. void msresamp_crcf_print(msresamp_crcf _q);
  1783. void msresamp_crcf_reset(msresamp_crcf _q);
  1784. float msresamp_crcf_get_delay(msresamp_crcf _q);
  1785. float msresamp_crcf_get_rate(msresamp_crcf _q);
  1786. void msresamp_crcf_execute(msresamp_crcf _q, liquid_float_complex *_x, unsigned int _nx, liquid_float_complex *_y, unsigned int *_ny);
  1787.  
  1788. typedef struct msresamp_cccf_s *msresamp_cccf;
  1789. msresamp_cccf msresamp_cccf_create(float _r, float _As);
  1790. void msresamp_cccf_destroy(msresamp_cccf _q);
  1791. void msresamp_cccf_print(msresamp_cccf _q);
  1792. void msresamp_cccf_reset(msresamp_cccf _q);
  1793. float msresamp_cccf_get_delay(msresamp_cccf _q);
  1794. float msresamp_cccf_get_rate(msresamp_cccf _q);
  1795. void msresamp_cccf_execute(msresamp_cccf _q, liquid_float_complex *_x, unsigned int _nx, liquid_float_complex *_y, unsigned int *_ny);
  1796. # 4225 "include\\liquid.h"
  1797. typedef struct symsync_rrrf_s *symsync_rrrf;
  1798. symsync_rrrf symsync_rrrf_create(unsigned int _k, unsigned int _M, float *_h, unsigned int _h_len);
  1799. symsync_rrrf symsync_rrrf_create_rnyquist(int _type, unsigned int _k, unsigned int _m, float _beta, unsigned int _M);
  1800. symsync_rrrf symsync_rrrf_create_kaiser(unsigned int _k, unsigned int _m, float _beta, unsigned int _M);
  1801. void symsync_rrrf_destroy(symsync_rrrf _q);
  1802. void symsync_rrrf_print(symsync_rrrf _q);
  1803. void symsync_rrrf_reset(symsync_rrrf _q);
  1804. void symsync_rrrf_lock(symsync_rrrf _q);
  1805. void symsync_rrrf_unlock(symsync_rrrf _q);
  1806. void symsync_rrrf_set_output_rate(symsync_rrrf _q, unsigned int _k_out);
  1807. void symsync_rrrf_set_lf_bw(symsync_rrrf _q, float _bt);
  1808. float symsync_rrrf_get_tau(symsync_rrrf _q);
  1809. void symsync_rrrf_execute(symsync_rrrf _q, float *_x, unsigned int _nx, float *_y, unsigned int *_ny);
  1810.  
  1811. typedef struct symsync_crcf_s *symsync_crcf;
  1812. symsync_crcf symsync_crcf_create(unsigned int _k, unsigned int _M, float *_h, unsigned int _h_len);
  1813. symsync_crcf symsync_crcf_create_rnyquist(int _type, unsigned int _k, unsigned int _m, float _beta, unsigned int _M);
  1814. symsync_crcf symsync_crcf_create_kaiser(unsigned int _k, unsigned int _m, float _beta, unsigned int _M);
  1815. void symsync_crcf_destroy(symsync_crcf _q);
  1816. void symsync_crcf_print(symsync_crcf _q);
  1817. void symsync_crcf_reset(symsync_crcf _q);
  1818. void symsync_crcf_lock(symsync_crcf _q);
  1819. void symsync_crcf_unlock(symsync_crcf _q);
  1820. void symsync_crcf_set_output_rate(symsync_crcf _q, unsigned int _k_out);
  1821. void symsync_crcf_set_lf_bw(symsync_crcf _q, float _bt);
  1822. float symsync_crcf_get_tau(symsync_crcf _q);
  1823. void symsync_crcf_execute(symsync_crcf _q, liquid_float_complex *_x, unsigned int _nx, liquid_float_complex *_y, unsigned int *_ny);
  1824. # 4326 "include\\liquid.h"
  1825. typedef struct firfarrow_rrrf_s *firfarrow_rrrf;
  1826. firfarrow_rrrf firfarrow_rrrf_create(unsigned int _h_len, unsigned int _p, float _fc, float _As);
  1827. void firfarrow_rrrf_destroy(firfarrow_rrrf _q);
  1828. void firfarrow_rrrf_print(firfarrow_rrrf _q);
  1829. void firfarrow_rrrf_reset(firfarrow_rrrf _q);
  1830. void firfarrow_rrrf_push(firfarrow_rrrf _q, float _x);
  1831. void firfarrow_rrrf_set_delay(firfarrow_rrrf _q, float _mu);
  1832. void firfarrow_rrrf_execute(firfarrow_rrrf _q, float *_y);
  1833. void firfarrow_rrrf_execute_block(firfarrow_rrrf _q, float *_x, unsigned int _n, float *_y);
  1834. unsigned int firfarrow_rrrf_get_length(firfarrow_rrrf _q);
  1835. void firfarrow_rrrf_get_coefficients(firfarrow_rrrf _q, float *_h);
  1836. void firfarrow_rrrf_freqresponse(firfarrow_rrrf _q, float _fc, liquid_float_complex *_H);
  1837. float firfarrow_rrrf_groupdelay(firfarrow_rrrf _q, float _fc);
  1838.  
  1839. typedef struct firfarrow_crcf_s *firfarrow_crcf;
  1840. firfarrow_crcf firfarrow_crcf_create(unsigned int _h_len, unsigned int _p, float _fc, float _As);
  1841. void firfarrow_crcf_destroy(firfarrow_crcf _q);
  1842. void firfarrow_crcf_print(firfarrow_crcf _q);
  1843. void firfarrow_crcf_reset(firfarrow_crcf _q);
  1844. void firfarrow_crcf_push(firfarrow_crcf _q, liquid_float_complex _x);
  1845. void firfarrow_crcf_set_delay(firfarrow_crcf _q, float _mu);
  1846. void firfarrow_crcf_execute(firfarrow_crcf _q, liquid_float_complex *_y);
  1847. void firfarrow_crcf_execute_block(firfarrow_crcf _q, liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
  1848. unsigned int firfarrow_crcf_get_length(firfarrow_crcf _q);
  1849. void firfarrow_crcf_get_coefficients(firfarrow_crcf _q, float *_h);
  1850. void firfarrow_crcf_freqresponse(firfarrow_crcf _q, float _fc, liquid_float_complex *_H);
  1851. float firfarrow_crcf_groupdelay(firfarrow_crcf _q, float _fc);
  1852. # 4405 "include\\liquid.h"
  1853. typedef struct ordfilt_rrrf_s *ordfilt_rrrf;
  1854. ordfilt_rrrf ordfilt_rrrf_create(unsigned int _n, unsigned int _k);
  1855. ordfilt_rrrf ordfilt_rrrf_create_medfilt(unsigned int _m);
  1856. void ordfilt_rrrf_destroy(ordfilt_rrrf _q);
  1857. void ordfilt_rrrf_reset(ordfilt_rrrf _q);
  1858. void ordfilt_rrrf_print(ordfilt_rrrf _q);
  1859. void ordfilt_rrrf_push(ordfilt_rrrf _q, float _x);
  1860. void ordfilt_rrrf_write(ordfilt_rrrf _q, float *_x, unsigned int _n);
  1861. void ordfilt_rrrf_execute(ordfilt_rrrf _q, float *_y);
  1862. void ordfilt_rrrf_execute_block(ordfilt_rrrf _q, float *_x, unsigned int _n, float *_y);
  1863. # 4417 "include\\liquid.h"
  1864. typedef struct
  1865. {
  1866.  
  1867.     float evm;
  1868.     float rssi;
  1869.     float cfo;
  1870.  
  1871.     liquid_float_complex *framesyms;
  1872.     unsigned int num_framesyms;
  1873.  
  1874.     unsigned int mod_scheme;
  1875.     unsigned int mod_bps;
  1876.     unsigned int check;
  1877.     unsigned int fec0;
  1878.     unsigned int fec1;
  1879. } framesyncstats_s;
  1880.  
  1881. extern framesyncstats_s framesyncstats_default;
  1882.  
  1883. void framesyncstats_init_default(framesyncstats_s *_stats);
  1884.  
  1885. void framesyncstats_print(framesyncstats_s *_stats);
  1886.  
  1887. typedef struct
  1888. {
  1889.     unsigned int num_frames_detected;
  1890.     unsigned int num_headers_valid;
  1891.     unsigned int num_payloads_valid;
  1892.     unsigned long int num_bytes_received;
  1893. } framedatastats_s;
  1894.  
  1895. void framedatastats_reset(framedatastats_s *_stats);
  1896.  
  1897. void framedatastats_print(framedatastats_s *_stats);
  1898. # 4468 "include\\liquid.h"
  1899. typedef int (*framesync_callback)(unsigned char *_header,
  1900.                                   int _header_valid,
  1901.                                   unsigned char *_payload,
  1902.                                   unsigned int _payload_len,
  1903.                                   int _payload_valid,
  1904.                                   framesyncstats_s _stats,
  1905.                                   void *_userdata);
  1906.  
  1907. typedef void (*framesync_csma_callback)(void *_userdata);
  1908.  
  1909. typedef struct qpacketmodem_s *qpacketmodem;
  1910.  
  1911. qpacketmodem qpacketmodem_create();
  1912. void qpacketmodem_destroy(qpacketmodem _q);
  1913. void qpacketmodem_reset(qpacketmodem _q);
  1914. void qpacketmodem_print(qpacketmodem _q);
  1915.  
  1916. int qpacketmodem_configure(qpacketmodem _q,
  1917.                            unsigned int _payload_len,
  1918.                            crc_scheme _check,
  1919.                            fec_scheme _fec0,
  1920.                            fec_scheme _fec1,
  1921.                            int _ms);
  1922.  
  1923. unsigned int qpacketmodem_get_frame_len(qpacketmodem _q);
  1924.  
  1925. unsigned int qpacketmodem_get_payload_len(qpacketmodem _q);
  1926.  
  1927. unsigned int qpacketmodem_get_crc(qpacketmodem _q);
  1928. unsigned int qpacketmodem_get_fec0(qpacketmodem _q);
  1929. unsigned int qpacketmodem_get_fec1(qpacketmodem _q);
  1930. unsigned int qpacketmodem_get_modscheme(qpacketmodem _q);
  1931.  
  1932. float qpacketmodem_get_demodulator_phase_error(qpacketmodem _q);
  1933. float qpacketmodem_get_demodulator_evm(qpacketmodem _q);
  1934.  
  1935. void qpacketmodem_encode_syms(qpacketmodem _q,
  1936.                               const unsigned char *_payload,
  1937.                               unsigned char *_syms);
  1938.  
  1939. int qpacketmodem_decode_syms(qpacketmodem _q,
  1940.                              unsigned char *_syms,
  1941.                              unsigned char *_payload);
  1942.  
  1943. int qpacketmodem_decode_bits(qpacketmodem _q,
  1944.                              unsigned char *_bits,
  1945.                              unsigned char *_payload);
  1946.  
  1947. void qpacketmodem_encode(qpacketmodem _q,
  1948.                          const unsigned char *_payload,
  1949.                          liquid_float_complex *_frame);
  1950.  
  1951. int qpacketmodem_decode(qpacketmodem _q,
  1952.                         liquid_float_complex *_frame,
  1953.                         unsigned char *_payload);
  1954.  
  1955. int qpacketmodem_decode_soft(qpacketmodem _q,
  1956.                              liquid_float_complex *_frame,
  1957.                              unsigned char *_payload);
  1958.  
  1959. int qpacketmodem_decode_soft_sym(qpacketmodem _q,
  1960.                                  liquid_float_complex _symbol);
  1961.  
  1962. int qpacketmodem_decode_soft_payload(qpacketmodem _q,
  1963.                                      unsigned char *_payload);
  1964.  
  1965. unsigned int qpilot_num_pilots(unsigned int _payload_len,
  1966.                                unsigned int _pilot_spacing);
  1967.  
  1968. unsigned int qpilot_frame_len(unsigned int _payload_len,
  1969.                               unsigned int _pilot_spacing);
  1970.  
  1971. typedef struct qpilotgen_s *qpilotgen;
  1972.  
  1973. qpilotgen qpilotgen_create(unsigned int _payload_len,
  1974.                            unsigned int _pilot_spacing);
  1975.  
  1976. qpilotgen qpilotgen_recreate(qpilotgen _q,
  1977.                              unsigned int _payload_len,
  1978.                              unsigned int _pilot_spacing);
  1979.  
  1980. void qpilotgen_destroy(qpilotgen _q);
  1981. void qpilotgen_reset(qpilotgen _q);
  1982. void qpilotgen_print(qpilotgen _q);
  1983.  
  1984. unsigned int qpilotgen_get_frame_len(qpilotgen _q);
  1985.  
  1986. void qpilotgen_execute(qpilotgen _q,
  1987.                        liquid_float_complex *_payload,
  1988.                        liquid_float_complex *_frame);
  1989.  
  1990. typedef struct qpilotsync_s *qpilotsync;
  1991.  
  1992. qpilotsync qpilotsync_create(unsigned int _payload_len,
  1993.                              unsigned int _pilot_spacing);
  1994.  
  1995. qpilotsync qpilotsync_recreate(qpilotsync _q,
  1996.                                unsigned int _payload_len,
  1997.                                unsigned int _pilot_spacing);
  1998.  
  1999. void qpilotsync_destroy(qpilotsync _q);
  2000. void qpilotsync_reset(qpilotsync _q);
  2001. void qpilotsync_print(qpilotsync _q);
  2002.  
  2003. unsigned int qpilotsync_get_frame_len(qpilotsync _q);
  2004.  
  2005. void qpilotsync_execute(qpilotsync _q,
  2006.                         liquid_float_complex *_frame,
  2007.                         liquid_float_complex *_payload);
  2008.  
  2009. float qpilotsync_get_dphi(qpilotsync _q);
  2010. float qpilotsync_get_phi(qpilotsync _q);
  2011. float qpilotsync_get_gain(qpilotsync _q);
  2012. float qpilotsync_get_evm(qpilotsync _q);
  2013. # 4645 "include\\liquid.h"
  2014. typedef struct framegen64_s *framegen64;
  2015.  
  2016. framegen64 framegen64_create();
  2017.  
  2018. void framegen64_destroy(framegen64 _q);
  2019.  
  2020. void framegen64_print(framegen64 _q);
  2021.  
  2022. void framegen64_execute(framegen64 _q,
  2023.                         unsigned char *_header,
  2024.                         unsigned char *_payload,
  2025.                         liquid_float_complex *_frame);
  2026.  
  2027. typedef struct framesync64_s *framesync64;
  2028.  
  2029. framesync64 framesync64_create(framesync_callback _callback,
  2030.                                void *_userdata);
  2031.  
  2032. void framesync64_destroy(framesync64 _q);
  2033.  
  2034. void framesync64_print(framesync64 _q);
  2035.  
  2036. void framesync64_reset(framesync64 _q);
  2037.  
  2038. void framesync64_execute(framesync64 _q,
  2039.                          liquid_float_complex *_x,
  2040.                          unsigned int _n);
  2041.  
  2042. void framesync64_debug_enable(framesync64 _q);
  2043. void framesync64_debug_disable(framesync64 _q);
  2044. void framesync64_debug_print(framesync64 _q, const char *_filename);
  2045.  
  2046. void framesync64_reset_framedatastats(framesync64 _q);
  2047. framedatastats_s framesync64_get_framedatastats(framesync64 _q);
  2048. # 4714 "include\\liquid.h"
  2049. typedef struct
  2050. {
  2051.     unsigned int check;
  2052.     unsigned int fec0;
  2053.     unsigned int fec1;
  2054.     unsigned int mod_scheme;
  2055. } flexframegenprops_s;
  2056.  
  2057. void flexframegenprops_init_default(flexframegenprops_s *_fgprops);
  2058.  
  2059. typedef struct flexframegen_s *flexframegen;
  2060.  
  2061. flexframegen flexframegen_create(flexframegenprops_s *_props);
  2062.  
  2063. void flexframegen_destroy(flexframegen _q);
  2064.  
  2065. void flexframegen_print(flexframegen _q);
  2066.  
  2067. void flexframegen_reset(flexframegen _q);
  2068.  
  2069. int flexframegen_is_assembled(flexframegen _q);
  2070.  
  2071. void flexframegen_getprops(flexframegen _q, flexframegenprops_s *_props);
  2072.  
  2073. int flexframegen_setprops(flexframegen _q, flexframegenprops_s *_props);
  2074.  
  2075. void flexframegen_set_header_len(flexframegen _q, unsigned int _len);
  2076.  
  2077. int flexframegen_set_header_props(flexframegen _q,
  2078.                                   flexframegenprops_s *_props);
  2079.  
  2080. unsigned int flexframegen_getframelen(flexframegen _q);
  2081.  
  2082. void flexframegen_assemble(flexframegen _q,
  2083.                            const unsigned char *_header,
  2084.                            const unsigned char *_payload,
  2085.                            unsigned int _payload_len);
  2086.  
  2087. int flexframegen_write_samples(flexframegen _q,
  2088.                                liquid_float_complex *_buffer,
  2089.                                unsigned int _buffer_len);
  2090.  
  2091. typedef struct flexframesync_s *flexframesync;
  2092.  
  2093. flexframesync flexframesync_create(framesync_callback _callback,
  2094.                                    void *_userdata);
  2095.  
  2096. void flexframesync_destroy(flexframesync _q);
  2097.  
  2098. void flexframesync_print(flexframesync _q);
  2099.  
  2100. void flexframesync_reset(flexframesync _q);
  2101.  
  2102. int flexframesync_is_frame_open(flexframesync _q);
  2103.  
  2104. void flexframesync_set_header_len(flexframesync _q,
  2105.                                   unsigned int _len);
  2106.  
  2107. void flexframesync_decode_header_soft(flexframesync _q,
  2108.                                       int _soft);
  2109.  
  2110. void flexframesync_decode_payload_soft(flexframesync _q,
  2111.                                        int _soft);
  2112.  
  2113. int flexframesync_set_header_props(flexframesync _q,
  2114.                                    flexframegenprops_s *_props);
  2115.  
  2116. void flexframesync_execute(flexframesync _q,
  2117.                            liquid_float_complex *_x,
  2118.                            unsigned int _n);
  2119.  
  2120. void flexframesync_reset_framedatastats(flexframesync _q);
  2121. framedatastats_s flexframesync_get_framedatastats(flexframesync _q);
  2122.  
  2123. void flexframesync_debug_enable(flexframesync _q);
  2124. void flexframesync_debug_disable(flexframesync _q);
  2125. void flexframesync_debug_print(flexframesync _q,
  2126.                                const char *_filename);
  2127. # 4840 "include\\liquid.h"
  2128. typedef struct bpacketgen_s *bpacketgen;
  2129.  
  2130. bpacketgen bpacketgen_create(unsigned int _m,
  2131.                              unsigned int _dec_msg_len,
  2132.                              int _crc,
  2133.                              int _fec0,
  2134.                              int _fec1);
  2135. # 4861 "include\\liquid.h"
  2136. bpacketgen bpacketgen_recreate(bpacketgen _q,
  2137.                                unsigned int _m,
  2138.                                unsigned int _dec_msg_len,
  2139.                                int _crc,
  2140.                                int _fec0,
  2141.                                int _fec1);
  2142.  
  2143. void bpacketgen_destroy(bpacketgen _q);
  2144.  
  2145. void bpacketgen_print(bpacketgen _q);
  2146.  
  2147. unsigned int bpacketgen_get_packet_len(bpacketgen _q);
  2148.  
  2149. void bpacketgen_encode(bpacketgen _q,
  2150.                        unsigned char *_msg_dec,
  2151.                        unsigned char *_packet);
  2152.  
  2153. typedef struct bpacketsync_s *bpacketsync;
  2154. typedef int (*bpacketsync_callback)(unsigned char *_payload,
  2155.                                     int _payload_valid,
  2156.                                     unsigned int _payload_len,
  2157.                                     framesyncstats_s _stats,
  2158.                                     void *_userdata);
  2159. bpacketsync bpacketsync_create(unsigned int _m,
  2160.                                bpacketsync_callback _callback,
  2161.                                void *_userdata);
  2162. void bpacketsync_destroy(bpacketsync _q);
  2163. void bpacketsync_print(bpacketsync _q);
  2164. void bpacketsync_reset(bpacketsync _q);
  2165.  
  2166. void bpacketsync_execute(bpacketsync _q,
  2167.                          unsigned char *_bytes,
  2168.                          unsigned int _n);
  2169.  
  2170. void bpacketsync_execute_byte(bpacketsync _q,
  2171.                               unsigned char _byte);
  2172.  
  2173. void bpacketsync_execute_sym(bpacketsync _q,
  2174.                              unsigned char _sym,
  2175.                              unsigned int _bps);
  2176.  
  2177. void bpacketsync_execute_bit(bpacketsync _q,
  2178.                              unsigned char _bit);
  2179.  
  2180. typedef struct fskframegen_s *fskframegen;
  2181.  
  2182. fskframegen fskframegen_create();
  2183. void fskframegen_destroy(fskframegen _fg);
  2184. void fskframegen_print(fskframegen _fg);
  2185. void fskframegen_reset(fskframegen _fg);
  2186. void fskframegen_assemble(fskframegen _fg,
  2187.                           unsigned char *_header,
  2188.                           unsigned char *_payload,
  2189.                           unsigned int _payload_len,
  2190.                           crc_scheme _check,
  2191.                           fec_scheme _fec0,
  2192.                           fec_scheme _fec1);
  2193. unsigned int fskframegen_getframelen(fskframegen _q);
  2194. int fskframegen_write_samples(fskframegen _fg,
  2195.                               liquid_float_complex *_buf,
  2196.                               unsigned int _buf_len);
  2197.  
  2198. typedef struct fskframesync_s *fskframesync;
  2199.  
  2200. fskframesync fskframesync_create(framesync_callback _callback,
  2201.                                  void *_userdata);
  2202. void fskframesync_destroy(fskframesync _q);
  2203. void fskframesync_print(fskframesync _q);
  2204. void fskframesync_reset(fskframesync _q);
  2205. void fskframesync_execute(fskframesync _q,
  2206.                           liquid_float_complex _x);
  2207. void fskframesync_execute_block(fskframesync _q,
  2208.                                 liquid_float_complex *_x,
  2209.                                 unsigned int _n);
  2210.  
  2211. void fskframesync_debug_enable(fskframesync _q);
  2212. void fskframesync_debug_disable(fskframesync _q);
  2213. void fskframesync_debug_export(fskframesync _q, const char *_filename);
  2214.  
  2215. typedef struct gmskframegen_s *gmskframegen;
  2216.  
  2217. gmskframegen gmskframegen_create();
  2218. void gmskframegen_destroy(gmskframegen _q);
  2219. int gmskframegen_is_assembled(gmskframegen _q);
  2220. void gmskframegen_print(gmskframegen _q);
  2221. void gmskframegen_set_header_len(gmskframegen _q, unsigned int _len);
  2222. void gmskframegen_reset(gmskframegen _q);
  2223. void gmskframegen_assemble(gmskframegen _q,
  2224.                            const unsigned char *_header,
  2225.                            const unsigned char *_payload,
  2226.                            unsigned int _payload_len,
  2227.                            crc_scheme _check,
  2228.                            fec_scheme _fec0,
  2229.                            fec_scheme _fec1);
  2230. unsigned int gmskframegen_getframelen(gmskframegen _q);
  2231. int gmskframegen_write_samples(gmskframegen _q,
  2232.                                liquid_float_complex *_y);
  2233.  
  2234. typedef struct gmskframesync_s *gmskframesync;
  2235.  
  2236. gmskframesync gmskframesync_create(framesync_callback _callback,
  2237.                                    void *_userdata);
  2238. void gmskframesync_destroy(gmskframesync _q);
  2239. void gmskframesync_print(gmskframesync _q);
  2240. void gmskframesync_set_header_len(gmskframesync _q, unsigned int _len);
  2241. void gmskframesync_reset(gmskframesync _q);
  2242. int gmskframesync_is_frame_open(gmskframesync _q);
  2243. void gmskframesync_execute(gmskframesync _q,
  2244.                            liquid_float_complex *_x,
  2245.                            unsigned int _n);
  2246.  
  2247. void gmskframesync_debug_enable(gmskframesync _q);
  2248. void gmskframesync_debug_disable(gmskframesync _q);
  2249. void gmskframesync_debug_print(gmskframesync _q, const char *_filename);
  2250.  
  2251. typedef struct
  2252. {
  2253.     unsigned int check;
  2254.     unsigned int fec0;
  2255.     unsigned int fec1;
  2256. } dsssframegenprops_s;
  2257.  
  2258. typedef struct dsssframegen_s *dsssframegen;
  2259.  
  2260. dsssframegen dsssframegen_create(dsssframegenprops_s *_props);
  2261. void dsssframegen_destroy(dsssframegen _q);
  2262. void dsssframegen_reset(dsssframegen _q);
  2263. int dsssframegen_is_assembled(dsssframegen _q);
  2264. void dsssframegen_getprops(dsssframegen _q, dsssframegenprops_s *_props);
  2265. int dsssframegen_setprops(dsssframegen _q, dsssframegenprops_s *_props);
  2266. void dsssframegen_set_header_len(dsssframegen _q, unsigned int _len);
  2267. int dsssframegen_set_header_props(dsssframegen _q,
  2268.                                   dsssframegenprops_s *_props);
  2269. unsigned int dsssframegen_getframelen(dsssframegen _q);
  2270.  
  2271. void dsssframegen_assemble(dsssframegen _q,
  2272.                            const unsigned char *_header,
  2273.                            const unsigned char *_payload,
  2274.                            unsigned int _payload_len);
  2275.  
  2276. int dsssframegen_write_samples(dsssframegen _q,
  2277.                                liquid_float_complex *_buffer,
  2278.                                unsigned int _buffer_len);
  2279.  
  2280. typedef struct dsssframesync_s *dsssframesync;
  2281.  
  2282. dsssframesync dsssframesync_create(framesync_callback _callback, void *_userdata);
  2283. void dsssframesync_destroy(dsssframesync _q);
  2284. void dsssframesync_print(dsssframesync _q);
  2285. void dsssframesync_reset(dsssframesync _q);
  2286. int dsssframesync_is_frame_open(dsssframesync _q);
  2287. void dsssframesync_set_header_len(dsssframesync _q,
  2288.                                   unsigned int _len);
  2289. void dsssframesync_decode_header_soft(dsssframesync _q,
  2290.                                       int _soft);
  2291. void dsssframesync_decode_payload_soft(dsssframesync _q,
  2292.                                        int _soft);
  2293. int dsssframesync_set_header_props(dsssframesync _q,
  2294.                                    dsssframegenprops_s *_props);
  2295. void dsssframesync_execute(dsssframesync _q,
  2296.                            liquid_float_complex *_x,
  2297.                            unsigned int _n);
  2298. void dsssframesync_reset_framedatastats(dsssframesync _q);
  2299. framedatastats_s dsssframesync_get_framedatastats(dsssframesync _q);
  2300.  
  2301. void dsssframesync_debug_enable(dsssframesync _q);
  2302. void dsssframesync_debug_disable(dsssframesync _q);
  2303. void dsssframesync_debug_print(dsssframesync _q, const char *_filename);
  2304.  
  2305. typedef struct
  2306. {
  2307.     unsigned int check;
  2308.     unsigned int fec0;
  2309.     unsigned int fec1;
  2310.     unsigned int mod_scheme;
  2311.  
  2312. } ofdmflexframegenprops_s;
  2313. void ofdmflexframegenprops_init_default(ofdmflexframegenprops_s *_props);
  2314.  
  2315. typedef struct ofdmflexframegen_s *ofdmflexframegen;
  2316.  
  2317. ofdmflexframegen ofdmflexframegen_create(unsigned int _M,
  2318.                                          unsigned int _cp_len,
  2319.                                          unsigned int _taper_len,
  2320.                                          unsigned char *_p,
  2321.                                          ofdmflexframegenprops_s *_fgprops);
  2322.  
  2323. void ofdmflexframegen_destroy(ofdmflexframegen _q);
  2324.  
  2325. void ofdmflexframegen_print(ofdmflexframegen _q);
  2326.  
  2327. void ofdmflexframegen_reset(ofdmflexframegen _q);
  2328.  
  2329. int ofdmflexframegen_is_assembled(ofdmflexframegen _q);
  2330.  
  2331. void ofdmflexframegen_getprops(ofdmflexframegen _q,
  2332.                                ofdmflexframegenprops_s *_props);
  2333.  
  2334. void ofdmflexframegen_setprops(ofdmflexframegen _q,
  2335.                                ofdmflexframegenprops_s *_props);
  2336.  
  2337. void ofdmflexframegen_set_header_len(ofdmflexframegen _q,
  2338.                                      unsigned int _len);
  2339.  
  2340. void ofdmflexframegen_set_header_props(ofdmflexframegen _q,
  2341.                                        ofdmflexframegenprops_s *_props);
  2342.  
  2343. unsigned int ofdmflexframegen_getframelen(ofdmflexframegen _q);
  2344.  
  2345. void ofdmflexframegen_assemble(ofdmflexframegen _q,
  2346.                                const unsigned char *_header,
  2347.                                const unsigned char *_payload,
  2348.                                unsigned int _payload_len);
  2349.  
  2350. int ofdmflexframegen_write(ofdmflexframegen _q,
  2351.                            liquid_float_complex *_buf,
  2352.                            unsigned int _buf_len);
  2353.  
  2354. typedef struct ofdmflexframesync_s *ofdmflexframesync;
  2355. # 5182 "include\\liquid.h"
  2356. ofdmflexframesync ofdmflexframesync_create(unsigned int _M,
  2357.                                            unsigned int _cp_len,
  2358.                                            unsigned int _taper_len,
  2359.                                            unsigned char *_p,
  2360.                                            framesync_callback _callback,
  2361.                                            void *_userdata);
  2362.  
  2363. void ofdmflexframesync_destroy(ofdmflexframesync _q);
  2364. void ofdmflexframesync_print(ofdmflexframesync _q);
  2365.  
  2366. void ofdmflexframesync_set_header_len(ofdmflexframesync _q,
  2367.                                       unsigned int _len);
  2368.  
  2369. void ofdmflexframesync_decode_header_soft(ofdmflexframesync _q,
  2370.                                           int _soft);
  2371.  
  2372. void ofdmflexframesync_decode_payload_soft(ofdmflexframesync _q,
  2373.                                            int _soft);
  2374.  
  2375. void ofdmflexframesync_set_header_props(ofdmflexframesync _q,
  2376.                                         ofdmflexframegenprops_s *_props);
  2377.  
  2378. void ofdmflexframesync_reset(ofdmflexframesync _q);
  2379. int ofdmflexframesync_is_frame_open(ofdmflexframesync _q);
  2380. void ofdmflexframesync_execute(ofdmflexframesync _q,
  2381.                                liquid_float_complex *_x,
  2382.                                unsigned int _n);
  2383.  
  2384. float ofdmflexframesync_get_rssi(ofdmflexframesync _q);
  2385.  
  2386. float ofdmflexframesync_get_cfo(ofdmflexframesync _q);
  2387.  
  2388. void ofdmflexframesync_reset_framedatastats(ofdmflexframesync _q);
  2389. framedatastats_s ofdmflexframesync_get_framedatastats(ofdmflexframesync _q);
  2390.  
  2391. void ofdmflexframesync_set_cfo(ofdmflexframesync _q, float _cfo);
  2392.  
  2393. void ofdmflexframesync_debug_enable(ofdmflexframesync _q);
  2394. void ofdmflexframesync_debug_disable(ofdmflexframesync _q);
  2395. void ofdmflexframesync_debug_print(ofdmflexframesync _q,
  2396.                                    const char *_filename);
  2397. # 5276 "include\\liquid.h"
  2398. typedef struct bsync_rrrf_s *bsync_rrrf;
  2399. bsync_rrrf bsync_rrrf_create(unsigned int _n, float *_v);
  2400. bsync_rrrf bsync_rrrf_create_msequence(unsigned int _g, unsigned int _k);
  2401. void bsync_rrrf_destroy(bsync_rrrf _q);
  2402. void bsync_rrrf_print(bsync_rrrf _q);
  2403. void bsync_rrrf_correlate(bsync_rrrf _q, float _x, float *_y);
  2404.  
  2405. typedef struct bsync_crcf_s *bsync_crcf;
  2406. bsync_crcf bsync_crcf_create(unsigned int _n, float *_v);
  2407. bsync_crcf bsync_crcf_create_msequence(unsigned int _g, unsigned int _k);
  2408. void bsync_crcf_destroy(bsync_crcf _q);
  2409. void bsync_crcf_print(bsync_crcf _q);
  2410. void bsync_crcf_correlate(bsync_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  2411.  
  2412. typedef struct bsync_cccf_s *bsync_cccf;
  2413. bsync_cccf bsync_cccf_create(unsigned int _n, liquid_float_complex *_v);
  2414. bsync_cccf bsync_cccf_create_msequence(unsigned int _g, unsigned int _k);
  2415. void bsync_cccf_destroy(bsync_cccf _q);
  2416. void bsync_cccf_print(bsync_cccf _q);
  2417. void bsync_cccf_correlate(bsync_cccf _q, liquid_float_complex _x, liquid_float_complex *_y);
  2418. # 5342 "include\\liquid.h"
  2419. typedef struct presync_cccf_s *presync_cccf;
  2420. presync_cccf presync_cccf_create(liquid_float_complex *_v, unsigned int _n, float _dphi_max, unsigned int _m);
  2421. void presync_cccf_destroy(presync_cccf _q);
  2422. void presync_cccf_print(presync_cccf _q);
  2423. void presync_cccf_reset(presync_cccf _q);
  2424. void presync_cccf_push(presync_cccf _q, liquid_float_complex _x);
  2425. void presync_cccf_execute(presync_cccf _q, liquid_float_complex *_rxy, float *_dphi_hat);
  2426.  
  2427. typedef struct bpresync_cccf_s *bpresync_cccf;
  2428. bpresync_cccf bpresync_cccf_create(liquid_float_complex *_v, unsigned int _n, float _dphi_max, unsigned int _m);
  2429. void bpresync_cccf_destroy(bpresync_cccf _q);
  2430. void bpresync_cccf_print(bpresync_cccf _q);
  2431. void bpresync_cccf_reset(bpresync_cccf _q);
  2432. void bpresync_cccf_push(bpresync_cccf _q, liquid_float_complex _x);
  2433. void bpresync_cccf_execute(bpresync_cccf _q, liquid_float_complex *_rxy, float *_dphi_hat);
  2434. # 5357 "include\\liquid.h"
  2435. typedef struct qdetector_cccf_s *qdetector_cccf;
  2436.  
  2437. qdetector_cccf qdetector_cccf_create(liquid_float_complex *_s,
  2438.                                      unsigned int _s_len);
  2439. # 5372 "include\\liquid.h"
  2440. qdetector_cccf qdetector_cccf_create_linear(liquid_float_complex *_sequence,
  2441.                                             unsigned int _sequence_len,
  2442.                                             int _ftype,
  2443.                                             unsigned int _k,
  2444.                                             unsigned int _m,
  2445.                                             float _beta);
  2446.  
  2447. qdetector_cccf qdetector_cccf_create_gmsk(unsigned char *_sequence,
  2448.                                           unsigned int _sequence_len,
  2449.                                           unsigned int _k,
  2450.                                           unsigned int _m,
  2451.                                           float _beta);
  2452. # 5400 "include\\liquid.h"
  2453. qdetector_cccf qdetector_cccf_create_cpfsk(unsigned char *_sequence,
  2454.                                            unsigned int _sequence_len,
  2455.                                            unsigned int _bps,
  2456.                                            float _h,
  2457.                                            unsigned int _k,
  2458.                                            unsigned int _m,
  2459.                                            float _beta,
  2460.                                            int _type);
  2461.  
  2462. void qdetector_cccf_destroy(qdetector_cccf _q);
  2463. void qdetector_cccf_print(qdetector_cccf _q);
  2464. void qdetector_cccf_reset(qdetector_cccf _q);
  2465.  
  2466. void *qdetector_cccf_execute(qdetector_cccf _q,
  2467.                              liquid_float_complex _x);
  2468.  
  2469. void qdetector_cccf_set_threshold(qdetector_cccf _q,
  2470.                                   float _threshold);
  2471.  
  2472. void qdetector_cccf_set_range(qdetector_cccf _q,
  2473.                               float _dphi_max);
  2474.  
  2475. unsigned int qdetector_cccf_get_seq_len(qdetector_cccf _q);
  2476. const void *qdetector_cccf_get_sequence(qdetector_cccf _q);
  2477. unsigned int qdetector_cccf_get_buf_len(qdetector_cccf _q);
  2478. float qdetector_cccf_get_rxy(qdetector_cccf _q);
  2479. float qdetector_cccf_get_tau(qdetector_cccf _q);
  2480. float qdetector_cccf_get_gamma(qdetector_cccf _q);
  2481. float qdetector_cccf_get_dphi(qdetector_cccf _q);
  2482. float qdetector_cccf_get_phi(qdetector_cccf _q);
  2483.  
  2484. typedef struct detector_cccf_s *detector_cccf;
  2485.  
  2486. detector_cccf detector_cccf_create(liquid_float_complex *_s,
  2487.                                    unsigned int _n,
  2488.                                    float _threshold,
  2489.                                    float _dphi_max);
  2490.  
  2491. void detector_cccf_destroy(detector_cccf _q);
  2492.  
  2493. void detector_cccf_print(detector_cccf _q);
  2494.  
  2495. void detector_cccf_reset(detector_cccf _q);
  2496. # 5467 "include\\liquid.h"
  2497. int detector_cccf_correlate(detector_cccf _q,
  2498.                             liquid_float_complex _x,
  2499.                             float *_tau_hat,
  2500.                             float *_dphi_hat,
  2501.                             float *_gamma_hat);
  2502. # 5534 "include\\liquid.h"
  2503. typedef struct symstreamcf_s *symstreamcf;
  2504. symstreamcf symstreamcf_create(void);
  2505. symstreamcf symstreamcf_create_linear(int _ftype, unsigned int _k, unsigned int _m, float _beta, int _ms);
  2506. void symstreamcf_destroy(symstreamcf _q);
  2507. void symstreamcf_print(symstreamcf _q);
  2508. void symstreamcf_reset(symstreamcf _q);
  2509. void symstreamcf_set_scheme(symstreamcf _q, int _ms);
  2510. int symstreamcf_get_scheme(symstreamcf _q);
  2511. void symstreamcf_set_gain(symstreamcf _q, float _gain);
  2512. float symstreamcf_get_gain(symstreamcf _q);
  2513. void symstreamcf_write_samples(symstreamcf _q, liquid_float_complex *_buf, unsigned int _buf_len);
  2514. # 5707 "include\\liquid.h"
  2515. typedef struct msourcecf_s *msourcecf;
  2516. msourcecf msourcecf_create(unsigned int _M, unsigned int _m, float _As);
  2517. msourcecf msourcecf_create_default(void);
  2518. void msourcecf_destroy(msourcecf _q);
  2519. void msourcecf_print(msourcecf _q);
  2520. void msourcecf_reset(msourcecf _q);
  2521. typedef int (*msourcecf_callback)(void *_userdata, liquid_float_complex *_v, unsigned int _n);
  2522. int msourcecf_add_user(msourcecf _q, float _fc, float _bw, float _gain, void *_userdata, msourcecf_callback _callback);
  2523. int msourcecf_add_tone(msourcecf _q, float _fc, float _bw, float _gain);
  2524. int msourcecf_add_chirp(msourcecf _q, float _fc, float _bw, float _gain, float _duration, int _negate, int _repeat);
  2525. int msourcecf_add_noise(msourcecf _q, float _fc, float _bw, float _gain);
  2526. int msourcecf_add_modem(msourcecf _q, float _fc, float _bw, float _gain, int _ms, unsigned int _m, float _beta);
  2527. int msourcecf_add_fsk(msourcecf _q, float _fc, float _bw, float _gain, unsigned int _m, unsigned int _k);
  2528. int msourcecf_add_gmsk(msourcecf _q, float _fc, float _bw, float _gain, unsigned int _m, float _bt);
  2529. int msourcecf_remove(msourcecf _q, int _id);
  2530. int msourcecf_enable(msourcecf _q, int _id);
  2531. int msourcecf_disable(msourcecf _q, int _id);
  2532. int msourcecf_set_gain(msourcecf _q, int _id, float _gain);
  2533. int msourcecf_get_gain(msourcecf _q, int _id, float *_gain);
  2534. unsigned long long int msourcecf_get_num_samples(msourcecf _q);
  2535. int msourcecf_set_frequency(msourcecf _q, int _id, float _dphi);
  2536. int msourcecf_get_frequency(msourcecf _q, int _id, float *_dphi);
  2537. void msourcecf_write_samples(msourcecf _q, liquid_float_complex *_buf, unsigned int _buf_len);
  2538. # 5799 "include\\liquid.h"
  2539. typedef struct symtrack_rrrf_s *symtrack_rrrf;
  2540. symtrack_rrrf symtrack_rrrf_create(int _ftype, unsigned int _k, unsigned int _m, float _beta, int _ms);
  2541. symtrack_rrrf symtrack_rrrf_create_default();
  2542. void symtrack_rrrf_destroy(symtrack_rrrf _q);
  2543. void symtrack_rrrf_print(symtrack_rrrf _q);
  2544. void symtrack_rrrf_reset(symtrack_rrrf _q);
  2545. void symtrack_rrrf_set_modscheme(symtrack_rrrf _q, int _ms);
  2546. void symtrack_rrrf_set_bandwidth(symtrack_rrrf _q, float _bw);
  2547. void symtrack_rrrf_adjust_phase(symtrack_rrrf _q, float _dphi);
  2548. void symtrack_rrrf_execute(symtrack_rrrf _q, float _x, float *_y, unsigned int *_ny);
  2549. void symtrack_rrrf_execute_block(symtrack_rrrf _q, float *_x, unsigned int _nx, float *_y, unsigned int *_ny);
  2550.  
  2551. typedef struct symtrack_cccf_s *symtrack_cccf;
  2552. symtrack_cccf symtrack_cccf_create(int _ftype, unsigned int _k, unsigned int _m, float _beta, int _ms);
  2553. symtrack_cccf symtrack_cccf_create_default();
  2554. void symtrack_cccf_destroy(symtrack_cccf _q);
  2555. void symtrack_cccf_print(symtrack_cccf _q);
  2556. void symtrack_cccf_reset(symtrack_cccf _q);
  2557. void symtrack_cccf_set_modscheme(symtrack_cccf _q, int _ms);
  2558. void symtrack_cccf_set_bandwidth(symtrack_cccf _q, float _bw);
  2559. void symtrack_cccf_adjust_phase(symtrack_cccf _q, float _dphi);
  2560. void symtrack_cccf_execute(symtrack_cccf _q, liquid_float_complex _x, liquid_float_complex *_y, unsigned int *_ny);
  2561. void symtrack_cccf_execute_block(symtrack_cccf _q, liquid_float_complex *_x, unsigned int _nx, liquid_float_complex *_y, unsigned int *_ny);
  2562. # 5818 "include\\liquid.h"
  2563. float liquid_lngammaf(float _z);
  2564.  
  2565. float liquid_gammaf(float _z);
  2566.  
  2567. float liquid_lnlowergammaf(float _z, float _alpha);
  2568.  
  2569. float liquid_lnuppergammaf(float _z, float _alpha);
  2570.  
  2571. float liquid_lowergammaf(float _z, float _alpha);
  2572.  
  2573. float liquid_uppergammaf(float _z, float _alpha);
  2574.  
  2575. float liquid_factorialf(unsigned int _n);
  2576.  
  2577. float liquid_lnbesselif(float _nu, float _z);
  2578.  
  2579. float liquid_besselif(float _nu, float _z);
  2580.  
  2581. float liquid_besseli0f(float _z);
  2582.  
  2583. float liquid_besseljf(float _nu, float _z);
  2584.  
  2585. float liquid_besselj0f(float _z);
  2586.  
  2587. float liquid_Qf(float _z);
  2588.  
  2589. float liquid_MarcumQf(int _M,
  2590.                       float _alpha,
  2591.                       float _beta);
  2592.  
  2593. float liquid_MarcumQ1f(float _alpha,
  2594.                        float _beta);
  2595.  
  2596. float sincf(float _x);
  2597.  
  2598. unsigned int liquid_nextpow2(unsigned int _x);
  2599.  
  2600. float liquid_nchoosek(unsigned int _n, unsigned int _k);
  2601. # 5885 "include\\liquid.h"
  2602. typedef enum
  2603. {
  2604.     LIQUID_WINDOW_UNKNOWN = 0,
  2605.  
  2606.     LIQUID_WINDOW_HAMMING,
  2607.     LIQUID_WINDOW_HANN,
  2608.     LIQUID_WINDOW_BLACKMANHARRIS,
  2609.     LIQUID_WINDOW_BLACKMANHARRIS7,
  2610.     LIQUID_WINDOW_KAISER,
  2611.     LIQUID_WINDOW_FLATTOP,
  2612.     LIQUID_WINDOW_TRIANGULAR,
  2613.     LIQUID_WINDOW_RCOSTAPER,
  2614.     LIQUID_WINDOW_KBD,
  2615. } liquid_window_type;
  2616.  
  2617. extern const char *liquid_window_str[(10)][2];
  2618.  
  2619. void liquid_print_windows();
  2620.  
  2621. liquid_window_type liquid_getopt_str2window(const char *_str);
  2622.  
  2623. float liquid_windowf(liquid_window_type _type,
  2624.                      unsigned int _i,
  2625.                      unsigned int _wlen,
  2626.                      float _arg);
  2627.  
  2628. float liquid_kaiser(unsigned int _i,
  2629.                     unsigned int _wlen,
  2630.                     float _beta);
  2631.  
  2632. float liquid_hamming(unsigned int _i,
  2633.                      unsigned int _wlen);
  2634.  
  2635. float liquid_hann(unsigned int _i,
  2636.                   unsigned int _wlen);
  2637.  
  2638. float liquid_blackmanharris(unsigned int _i,
  2639.                             unsigned int _wlen);
  2640.  
  2641. float liquid_blackmanharris7(unsigned int _i,
  2642.                              unsigned int _wlen);
  2643.  
  2644. float liquid_flattop(unsigned int _i,
  2645.                      unsigned int _wlen);
  2646.  
  2647. float liquid_triangular(unsigned int _i,
  2648.                         unsigned int _wlen,
  2649.                         unsigned int _L);
  2650.  
  2651. float liquid_rcostaper_window(unsigned int _i,
  2652.                               unsigned int _wlen,
  2653.                               unsigned int _t);
  2654.  
  2655. float liquid_kbd(unsigned int _i,
  2656.                  unsigned int _wlen,
  2657.                  float _beta);
  2658.  
  2659. void liquid_kbd_window(unsigned int _wlen,
  2660.                        float _beta,
  2661.                        float *_w);
  2662. # 6157 "include\\liquid.h"
  2663. double poly_val(double *_p, unsigned int _k, double _x);
  2664. void poly_fit(double *_x, double *_y, unsigned int _n, double *_p, unsigned int _k);
  2665. void poly_fit_lagrange(double *_x, double *_y, unsigned int _n, double *_p);
  2666. double poly_interp_lagrange(double *_x, double *_y, unsigned int _n, double _x0);
  2667. void poly_fit_lagrange_barycentric(double *_x, unsigned int _n, double *_w);
  2668. double poly_val_lagrange_barycentric(double *_x, double *_y, double *_w, double _x0, unsigned int _n);
  2669. void poly_expandbinomial(unsigned int _n, double *_p);
  2670. void poly_expandbinomial_pm(unsigned int _m, unsigned int _k, double *_p);
  2671. void poly_expandroots(double *_r, unsigned int _n, double *_p);
  2672. void poly_expandroots2(double *_a, double *_b, unsigned int _n, double *_p);
  2673. void poly_findroots(double *_poly, unsigned int _n, liquid_double_complex *_roots);
  2674. void poly_findroots_durandkerner(double *_p, unsigned int _k, liquid_double_complex *_roots);
  2675. void poly_findroots_bairstow(double *_p, unsigned int _k, liquid_double_complex *_roots);
  2676. void poly_mul(double *_a, unsigned int _order_a, double *_b, unsigned int _order_b, double *_c);
  2677.  
  2678. float polyf_val(float *_p, unsigned int _k, float _x);
  2679. void polyf_fit(float *_x, float *_y, unsigned int _n, float *_p, unsigned int _k);
  2680. void polyf_fit_lagrange(float *_x, float *_y, unsigned int _n, float *_p);
  2681. float polyf_interp_lagrange(float *_x, float *_y, unsigned int _n, float _x0);
  2682. void polyf_fit_lagrange_barycentric(float *_x, unsigned int _n, float *_w);
  2683. float polyf_val_lagrange_barycentric(float *_x, float *_y, float *_w, float _x0, unsigned int _n);
  2684. void polyf_expandbinomial(unsigned int _n, float *_p);
  2685. void polyf_expandbinomial_pm(unsigned int _m, unsigned int _k, float *_p);
  2686. void polyf_expandroots(float *_r, unsigned int _n, float *_p);
  2687. void polyf_expandroots2(float *_a, float *_b, unsigned int _n, float *_p);
  2688. void polyf_findroots(float *_poly, unsigned int _n, liquid_float_complex *_roots);
  2689. void polyf_findroots_durandkerner(float *_p, unsigned int _k, liquid_float_complex *_roots);
  2690. void polyf_findroots_bairstow(float *_p, unsigned int _k, liquid_float_complex *_roots);
  2691. void polyf_mul(float *_a, unsigned int _order_a, float *_b, unsigned int _order_b, float *_c);
  2692.  
  2693. liquid_double_complex polyc_val(liquid_double_complex *_p, unsigned int _k, liquid_double_complex _x);
  2694. void polyc_fit(liquid_double_complex *_x, liquid_double_complex *_y, unsigned int _n, liquid_double_complex *_p, unsigned int _k);
  2695. void polyc_fit_lagrange(liquid_double_complex *_x, liquid_double_complex *_y, unsigned int _n, liquid_double_complex *_p);
  2696. liquid_double_complex polyc_interp_lagrange(liquid_double_complex *_x, liquid_double_complex *_y, unsigned int _n, liquid_double_complex _x0);
  2697. void polyc_fit_lagrange_barycentric(liquid_double_complex *_x, unsigned int _n, liquid_double_complex *_w);
  2698. liquid_double_complex polyc_val_lagrange_barycentric(liquid_double_complex *_x, liquid_double_complex *_y, liquid_double_complex *_w, liquid_double_complex _x0, unsigned int _n);
  2699. void polyc_expandbinomial(unsigned int _n, liquid_double_complex *_p);
  2700. void polyc_expandbinomial_pm(unsigned int _m, unsigned int _k, liquid_double_complex *_p);
  2701. void polyc_expandroots(liquid_double_complex *_r, unsigned int _n, liquid_double_complex *_p);
  2702. void polyc_expandroots2(liquid_double_complex *_a, liquid_double_complex *_b, unsigned int _n, liquid_double_complex *_p);
  2703. void polyc_findroots(liquid_double_complex *_poly, unsigned int _n, liquid_double_complex *_roots);
  2704. void polyc_findroots_durandkerner(liquid_double_complex *_p, unsigned int _k, liquid_double_complex *_roots);
  2705. void polyc_findroots_bairstow(liquid_double_complex *_p, unsigned int _k, liquid_double_complex *_roots);
  2706. void polyc_mul(liquid_double_complex *_a, unsigned int _order_a, liquid_double_complex *_b, unsigned int _order_b, liquid_double_complex *_c);
  2707.  
  2708. liquid_float_complex polycf_val(liquid_float_complex *_p, unsigned int _k, liquid_float_complex _x);
  2709. void polycf_fit(liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _n, liquid_float_complex *_p, unsigned int _k);
  2710. void polycf_fit_lagrange(liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _n, liquid_float_complex *_p);
  2711. liquid_float_complex polycf_interp_lagrange(liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _n, liquid_float_complex _x0);
  2712. void polycf_fit_lagrange_barycentric(liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_w);
  2713. liquid_float_complex polycf_val_lagrange_barycentric(liquid_float_complex *_x, liquid_float_complex *_y, liquid_float_complex *_w, liquid_float_complex _x0, unsigned int _n);
  2714. void polycf_expandbinomial(unsigned int _n, liquid_float_complex *_p);
  2715. void polycf_expandbinomial_pm(unsigned int _m, unsigned int _k, liquid_float_complex *_p);
  2716. void polycf_expandroots(liquid_float_complex *_r, unsigned int _n, liquid_float_complex *_p);
  2717. void polycf_expandroots2(liquid_float_complex *_a, liquid_float_complex *_b, unsigned int _n, liquid_float_complex *_p);
  2718. void polycf_findroots(liquid_float_complex *_poly, unsigned int _n, liquid_float_complex *_roots);
  2719. void polycf_findroots_durandkerner(liquid_float_complex *_p, unsigned int _k, liquid_float_complex *_roots);
  2720. void polycf_findroots_bairstow(liquid_float_complex *_p, unsigned int _k, liquid_float_complex *_roots);
  2721. void polycf_mul(liquid_float_complex *_a, unsigned int _order_a, liquid_float_complex *_b, unsigned int _order_b, liquid_float_complex *_c);
  2722. # 6191 "include\\liquid.h"
  2723. int liquid_is_prime(unsigned int _n);
  2724.  
  2725. void liquid_factor(unsigned int _n,
  2726.                    unsigned int *_factors,
  2727.                    unsigned int *_num_factors);
  2728.  
  2729. void liquid_unique_factor(unsigned int _n,
  2730.                           unsigned int *_factors,
  2731.                           unsigned int *_num_factors);
  2732.  
  2733. unsigned int liquid_gcd(unsigned int _P,
  2734.                         unsigned int _Q);
  2735.  
  2736. unsigned int liquid_modpow(unsigned int _base,
  2737.                            unsigned int _exp,
  2738.                            unsigned int _n);
  2739.  
  2740. unsigned int liquid_primitive_root(unsigned int _n);
  2741.  
  2742. unsigned int liquid_primitive_root_prime(unsigned int _n);
  2743.  
  2744. unsigned int liquid_totient(unsigned int _n);
  2745. # 6578 "include\\liquid.h"
  2746. void matrixf_print(float *_x, unsigned int _r, unsigned int _c);
  2747. void matrixf_add(float *_x, float *_y, float *_z, unsigned int _r, unsigned int _c);
  2748. void matrixf_sub(float *_x, float *_y, float *_z, unsigned int _r, unsigned int _c);
  2749. void matrixf_pmul(float *_x, float *_y, float *_z, unsigned int _r, unsigned int _c);
  2750. void matrixf_pdiv(float *_x, float *_y, float *_z, unsigned int _r, unsigned int _c);
  2751. void matrixf_mul(float *_x, unsigned int _rx, unsigned int _cx, float *_y, unsigned int _ry, unsigned int _cy, float *_z, unsigned int _rz, unsigned int _cz);
  2752. void matrixf_div(float *_x, float *_y, float *_z, unsigned int _n);
  2753. float matrixf_det(float *_x, unsigned int _r, unsigned int _c);
  2754. void matrixf_trans(float *_x, unsigned int _r, unsigned int _c);
  2755. void matrixf_hermitian(float *_x, unsigned int _r, unsigned int _c);
  2756. void matrixf_mul_transpose(float *_x, unsigned int _m, unsigned int _n, float *_xxT);
  2757. void matrixf_transpose_mul(float *_x, unsigned int _m, unsigned int _n, float *_xTx);
  2758. void matrixf_mul_hermitian(float *_x, unsigned int _m, unsigned int _n, float *_xxH);
  2759. void matrixf_hermitian_mul(float *_x, unsigned int _m, unsigned int _n, float *_xHx);
  2760. void matrixf_aug(float *_x, unsigned int _rx, unsigned int _cx, float *_y, unsigned int _ry, unsigned int _cy, float *_z, unsigned int _rz, unsigned int _cz);
  2761. void matrixf_inv(float *_x, unsigned int _r, unsigned int _c);
  2762. void matrixf_eye(float *_x, unsigned int _n);
  2763. void matrixf_ones(float *_x, unsigned int _r, unsigned int _c);
  2764. void matrixf_zeros(float *_x, unsigned int _r, unsigned int _c);
  2765. void matrixf_gjelim(float *_x, unsigned int _r, unsigned int _c);
  2766. void matrixf_pivot(float *_x, unsigned int _r, unsigned int _c, unsigned int _i, unsigned int _j);
  2767. void matrixf_swaprows(float *_x, unsigned int _r, unsigned int _c, unsigned int _r1, unsigned int _r2);
  2768. void matrixf_linsolve(float *_A, unsigned int _n, float *_b, float *_x, void *_opts);
  2769. void matrixf_cgsolve(float *_A, unsigned int _n, float *_b, float *_x, void *_opts);
  2770. void matrixf_ludecomp_crout(float *_x, unsigned int _rx, unsigned int _cx, float *_L, float *_U, float *_P);
  2771. void matrixf_ludecomp_doolittle(float *_x, unsigned int _rx, unsigned int _cx, float *_L, float *_U, float *_P);
  2772. void matrixf_gramschmidt(float *_A, unsigned int _r, unsigned int _c, float *_v);
  2773. void matrixf_qrdecomp_gramschmidt(float *_A, unsigned int _m, unsigned int _n, float *_Q, float *_R);
  2774. void matrixf_chol(float *_A, unsigned int _n, float *_L);
  2775. void matrix_print(double *_x, unsigned int _r, unsigned int _c);
  2776. void matrix_add(double *_x, double *_y, double *_z, unsigned int _r, unsigned int _c);
  2777. void matrix_sub(double *_x, double *_y, double *_z, unsigned int _r, unsigned int _c);
  2778. void matrix_pmul(double *_x, double *_y, double *_z, unsigned int _r, unsigned int _c);
  2779. void matrix_pdiv(double *_x, double *_y, double *_z, unsigned int _r, unsigned int _c);
  2780. void matrix_mul(double *_x, unsigned int _rx, unsigned int _cx, double *_y, unsigned int _ry, unsigned int _cy, double *_z, unsigned int _rz, unsigned int _cz);
  2781. void matrix_div(double *_x, double *_y, double *_z, unsigned int _n);
  2782. double matrix_det(double *_x, unsigned int _r, unsigned int _c);
  2783. void matrix_trans(double *_x, unsigned int _r, unsigned int _c);
  2784. void matrix_hermitian(double *_x, unsigned int _r, unsigned int _c);
  2785. void matrix_mul_transpose(double *_x, unsigned int _m, unsigned int _n, double *_xxT);
  2786. void matrix_transpose_mul(double *_x, unsigned int _m, unsigned int _n, double *_xTx);
  2787. void matrix_mul_hermitian(double *_x, unsigned int _m, unsigned int _n, double *_xxH);
  2788. void matrix_hermitian_mul(double *_x, unsigned int _m, unsigned int _n, double *_xHx);
  2789. void matrix_aug(double *_x, unsigned int _rx, unsigned int _cx, double *_y, unsigned int _ry, unsigned int _cy, double *_z, unsigned int _rz, unsigned int _cz);
  2790. void matrix_inv(double *_x, unsigned int _r, unsigned int _c);
  2791. void matrix_eye(double *_x, unsigned int _n);
  2792. void matrix_ones(double *_x, unsigned int _r, unsigned int _c);
  2793. void matrix_zeros(double *_x, unsigned int _r, unsigned int _c);
  2794. void matrix_gjelim(double *_x, unsigned int _r, unsigned int _c);
  2795. void matrix_pivot(double *_x, unsigned int _r, unsigned int _c, unsigned int _i, unsigned int _j);
  2796. void matrix_swaprows(double *_x, unsigned int _r, unsigned int _c, unsigned int _r1, unsigned int _r2);
  2797. void matrix_linsolve(double *_A, unsigned int _n, double *_b, double *_x, void *_opts);
  2798. void matrix_cgsolve(double *_A, unsigned int _n, double *_b, double *_x, void *_opts);
  2799. void matrix_ludecomp_crout(double *_x, unsigned int _rx, unsigned int _cx, double *_L, double *_U, double *_P);
  2800. void matrix_ludecomp_doolittle(double *_x, unsigned int _rx, unsigned int _cx, double *_L, double *_U, double *_P);
  2801. void matrix_gramschmidt(double *_A, unsigned int _r, unsigned int _c, double *_v);
  2802. void matrix_qrdecomp_gramschmidt(double *_A, unsigned int _m, unsigned int _n, double *_Q, double *_R);
  2803. void matrix_chol(double *_A, unsigned int _n, double *_L);
  2804.  
  2805. void matrixcf_print(liquid_float_complex *_x, unsigned int _r, unsigned int _c);
  2806. void matrixcf_add(liquid_float_complex *_x, liquid_float_complex *_y, liquid_float_complex *_z, unsigned int _r, unsigned int _c);
  2807. void matrixcf_sub(liquid_float_complex *_x, liquid_float_complex *_y, liquid_float_complex *_z, unsigned int _r, unsigned int _c);
  2808. void matrixcf_pmul(liquid_float_complex *_x, liquid_float_complex *_y, liquid_float_complex *_z, unsigned int _r, unsigned int _c);
  2809. void matrixcf_pdiv(liquid_float_complex *_x, liquid_float_complex *_y, liquid_float_complex *_z, unsigned int _r, unsigned int _c);
  2810. void matrixcf_mul(liquid_float_complex *_x, unsigned int _rx, unsigned int _cx, liquid_float_complex *_y, unsigned int _ry, unsigned int _cy, liquid_float_complex *_z, unsigned int _rz, unsigned int _cz);
  2811. void matrixcf_div(liquid_float_complex *_x, liquid_float_complex *_y, liquid_float_complex *_z, unsigned int _n);
  2812. liquid_float_complex matrixcf_det(liquid_float_complex *_x, unsigned int _r, unsigned int _c);
  2813. void matrixcf_trans(liquid_float_complex *_x, unsigned int _r, unsigned int _c);
  2814. void matrixcf_hermitian(liquid_float_complex *_x, unsigned int _r, unsigned int _c);
  2815. void matrixcf_mul_transpose(liquid_float_complex *_x, unsigned int _m, unsigned int _n, liquid_float_complex *_xxT);
  2816. void matrixcf_transpose_mul(liquid_float_complex *_x, unsigned int _m, unsigned int _n, liquid_float_complex *_xTx);
  2817. void matrixcf_mul_hermitian(liquid_float_complex *_x, unsigned int _m, unsigned int _n, liquid_float_complex *_xxH);
  2818. void matrixcf_hermitian_mul(liquid_float_complex *_x, unsigned int _m, unsigned int _n, liquid_float_complex *_xHx);
  2819. void matrixcf_aug(liquid_float_complex *_x, unsigned int _rx, unsigned int _cx, liquid_float_complex *_y, unsigned int _ry, unsigned int _cy, liquid_float_complex *_z, unsigned int _rz, unsigned int _cz);
  2820. void matrixcf_inv(liquid_float_complex *_x, unsigned int _r, unsigned int _c);
  2821. void matrixcf_eye(liquid_float_complex *_x, unsigned int _n);
  2822. void matrixcf_ones(liquid_float_complex *_x, unsigned int _r, unsigned int _c);
  2823. void matrixcf_zeros(liquid_float_complex *_x, unsigned int _r, unsigned int _c);
  2824. void matrixcf_gjelim(liquid_float_complex *_x, unsigned int _r, unsigned int _c);
  2825. void matrixcf_pivot(liquid_float_complex *_x, unsigned int _r, unsigned int _c, unsigned int _i, unsigned int _j);
  2826. void matrixcf_swaprows(liquid_float_complex *_x, unsigned int _r, unsigned int _c, unsigned int _r1, unsigned int _r2);
  2827. void matrixcf_linsolve(liquid_float_complex *_A, unsigned int _n, liquid_float_complex *_b, liquid_float_complex *_x, void *_opts);
  2828. void matrixcf_cgsolve(liquid_float_complex *_A, unsigned int _n, liquid_float_complex *_b, liquid_float_complex *_x, void *_opts);
  2829. void matrixcf_ludecomp_crout(liquid_float_complex *_x, unsigned int _rx, unsigned int _cx, liquid_float_complex *_L, liquid_float_complex *_U, liquid_float_complex *_P);
  2830. void matrixcf_ludecomp_doolittle(liquid_float_complex *_x, unsigned int _rx, unsigned int _cx, liquid_float_complex *_L, liquid_float_complex *_U, liquid_float_complex *_P);
  2831. void matrixcf_gramschmidt(liquid_float_complex *_A, unsigned int _r, unsigned int _c, liquid_float_complex *_v);
  2832. void matrixcf_qrdecomp_gramschmidt(liquid_float_complex *_A, unsigned int _m, unsigned int _n, liquid_float_complex *_Q, liquid_float_complex *_R);
  2833. void matrixcf_chol(liquid_float_complex *_A, unsigned int _n, liquid_float_complex *_L);
  2834. void matrixc_print(liquid_double_complex *_x, unsigned int _r, unsigned int _c);
  2835. void matrixc_add(liquid_double_complex *_x, liquid_double_complex *_y, liquid_double_complex *_z, unsigned int _r, unsigned int _c);
  2836. void matrixc_sub(liquid_double_complex *_x, liquid_double_complex *_y, liquid_double_complex *_z, unsigned int _r, unsigned int _c);
  2837. void matrixc_pmul(liquid_double_complex *_x, liquid_double_complex *_y, liquid_double_complex *_z, unsigned int _r, unsigned int _c);
  2838. void matrixc_pdiv(liquid_double_complex *_x, liquid_double_complex *_y, liquid_double_complex *_z, unsigned int _r, unsigned int _c);
  2839. void matrixc_mul(liquid_double_complex *_x, unsigned int _rx, unsigned int _cx, liquid_double_complex *_y, unsigned int _ry, unsigned int _cy, liquid_double_complex *_z, unsigned int _rz, unsigned int _cz);
  2840. void matrixc_div(liquid_double_complex *_x, liquid_double_complex *_y, liquid_double_complex *_z, unsigned int _n);
  2841. liquid_double_complex matrixc_det(liquid_double_complex *_x, unsigned int _r, unsigned int _c);
  2842. void matrixc_trans(liquid_double_complex *_x, unsigned int _r, unsigned int _c);
  2843. void matrixc_hermitian(liquid_double_complex *_x, unsigned int _r, unsigned int _c);
  2844. void matrixc_mul_transpose(liquid_double_complex *_x, unsigned int _m, unsigned int _n, liquid_double_complex *_xxT);
  2845. void matrixc_transpose_mul(liquid_double_complex *_x, unsigned int _m, unsigned int _n, liquid_double_complex *_xTx);
  2846. void matrixc_mul_hermitian(liquid_double_complex *_x, unsigned int _m, unsigned int _n, liquid_double_complex *_xxH);
  2847. void matrixc_hermitian_mul(liquid_double_complex *_x, unsigned int _m, unsigned int _n, liquid_double_complex *_xHx);
  2848. void matrixc_aug(liquid_double_complex *_x, unsigned int _rx, unsigned int _cx, liquid_double_complex *_y, unsigned int _ry, unsigned int _cy, liquid_double_complex *_z, unsigned int _rz, unsigned int _cz);
  2849. void matrixc_inv(liquid_double_complex *_x, unsigned int _r, unsigned int _c);
  2850. void matrixc_eye(liquid_double_complex *_x, unsigned int _n);
  2851. void matrixc_ones(liquid_double_complex *_x, unsigned int _r, unsigned int _c);
  2852. void matrixc_zeros(liquid_double_complex *_x, unsigned int _r, unsigned int _c);
  2853. void matrixc_gjelim(liquid_double_complex *_x, unsigned int _r, unsigned int _c);
  2854. void matrixc_pivot(liquid_double_complex *_x, unsigned int _r, unsigned int _c, unsigned int _i, unsigned int _j);
  2855. void matrixc_swaprows(liquid_double_complex *_x, unsigned int _r, unsigned int _c, unsigned int _r1, unsigned int _r2);
  2856. void matrixc_linsolve(liquid_double_complex *_A, unsigned int _n, liquid_double_complex *_b, liquid_double_complex *_x, void *_opts);
  2857. void matrixc_cgsolve(liquid_double_complex *_A, unsigned int _n, liquid_double_complex *_b, liquid_double_complex *_x, void *_opts);
  2858. void matrixc_ludecomp_crout(liquid_double_complex *_x, unsigned int _rx, unsigned int _cx, liquid_double_complex *_L, liquid_double_complex *_U, liquid_double_complex *_P);
  2859. void matrixc_ludecomp_doolittle(liquid_double_complex *_x, unsigned int _rx, unsigned int _cx, liquid_double_complex *_L, liquid_double_complex *_U, liquid_double_complex *_P);
  2860. void matrixc_gramschmidt(liquid_double_complex *_A, unsigned int _r, unsigned int _c, liquid_double_complex *_v);
  2861. void matrixc_qrdecomp_gramschmidt(liquid_double_complex *_A, unsigned int _m, unsigned int _n, liquid_double_complex *_Q, liquid_double_complex *_R);
  2862. void matrixc_chol(liquid_double_complex *_A, unsigned int _n, liquid_double_complex *_L);
  2863. # 6698 "include\\liquid.h"
  2864. typedef struct smatrixb_s *smatrixb;
  2865. smatrixb smatrixb_create(unsigned int _M, unsigned int _N);
  2866. smatrixb smatrixb_create_array(unsigned char *_x, unsigned int _m, unsigned int _n);
  2867. void smatrixb_destroy(smatrixb _q);
  2868. void smatrixb_print(smatrixb _q);
  2869. void smatrixb_print_expanded(smatrixb _q);
  2870. void smatrixb_size(smatrixb _q, unsigned int *_m, unsigned int *_n);
  2871. void smatrixb_clear(smatrixb _q);
  2872. void smatrixb_reset(smatrixb _q);
  2873. int smatrixb_isset(smatrixb _q, unsigned int _m, unsigned int _n);
  2874. void smatrixb_insert(smatrixb _q, unsigned int _m, unsigned int _n, unsigned char _v);
  2875. void smatrixb_delete(smatrixb _q, unsigned int _m, unsigned int _n);
  2876. void smatrixb_set(smatrixb _q, unsigned int _m, unsigned int _n, unsigned char _v);
  2877. unsigned char smatrixb_get(smatrixb _q, unsigned int _m, unsigned int _n);
  2878. void smatrixb_eye(smatrixb _q);
  2879. void smatrixb_mul(smatrixb _x, smatrixb _y, smatrixb _z);
  2880. void smatrixb_vmul(smatrixb _q, unsigned char *_x, unsigned char *_y);
  2881. typedef struct smatrixf_s *smatrixf;
  2882. smatrixf smatrixf_create(unsigned int _M, unsigned int _N);
  2883. smatrixf smatrixf_create_array(float *_x, unsigned int _m, unsigned int _n);
  2884. void smatrixf_destroy(smatrixf _q);
  2885. void smatrixf_print(smatrixf _q);
  2886. void smatrixf_print_expanded(smatrixf _q);
  2887. void smatrixf_size(smatrixf _q, unsigned int *_m, unsigned int *_n);
  2888. void smatrixf_clear(smatrixf _q);
  2889. void smatrixf_reset(smatrixf _q);
  2890. int smatrixf_isset(smatrixf _q, unsigned int _m, unsigned int _n);
  2891. void smatrixf_insert(smatrixf _q, unsigned int _m, unsigned int _n, float _v);
  2892. void smatrixf_delete(smatrixf _q, unsigned int _m, unsigned int _n);
  2893. void smatrixf_set(smatrixf _q, unsigned int _m, unsigned int _n, float _v);
  2894. float smatrixf_get(smatrixf _q, unsigned int _m, unsigned int _n);
  2895. void smatrixf_eye(smatrixf _q);
  2896. void smatrixf_mul(smatrixf _x, smatrixf _y, smatrixf _z);
  2897. void smatrixf_vmul(smatrixf _q, float *_x, float *_y);
  2898. typedef struct smatrixi_s *smatrixi;
  2899. smatrixi smatrixi_create(unsigned int _M, unsigned int _N);
  2900. smatrixi smatrixi_create_array(short int *_x, unsigned int _m, unsigned int _n);
  2901. void smatrixi_destroy(smatrixi _q);
  2902. void smatrixi_print(smatrixi _q);
  2903. void smatrixi_print_expanded(smatrixi _q);
  2904. void smatrixi_size(smatrixi _q, unsigned int *_m, unsigned int *_n);
  2905. void smatrixi_clear(smatrixi _q);
  2906. void smatrixi_reset(smatrixi _q);
  2907. int smatrixi_isset(smatrixi _q, unsigned int _m, unsigned int _n);
  2908. void smatrixi_insert(smatrixi _q, unsigned int _m, unsigned int _n, short int _v);
  2909. void smatrixi_delete(smatrixi _q, unsigned int _m, unsigned int _n);
  2910. void smatrixi_set(smatrixi _q, unsigned int _m, unsigned int _n, short int _v);
  2911. short int smatrixi_get(smatrixi _q, unsigned int _m, unsigned int _n);
  2912. void smatrixi_eye(smatrixi _q);
  2913. void smatrixi_mul(smatrixi _x, smatrixi _y, smatrixi _z);
  2914. void smatrixi_vmul(smatrixi _q, short int *_x, short int *_y);
  2915. # 6710 "include\\liquid.h"
  2916. void smatrixb_mulf(smatrixb _A,
  2917.                    float *_x,
  2918.                    unsigned int _mx,
  2919.                    unsigned int _nx,
  2920.                    float *_y,
  2921.                    unsigned int _my,
  2922.                    unsigned int _ny);
  2923.  
  2924. void smatrixb_vmulf(smatrixb _q,
  2925.                     float *_x,
  2926.                     float *_y);
  2927. # 6737 "include\\liquid.h"
  2928. typedef enum
  2929. {
  2930.     LIQUID_MODEM_UNKNOWN = 0,
  2931.  
  2932.     LIQUID_MODEM_PSK2,
  2933.     LIQUID_MODEM_PSK4,
  2934.     LIQUID_MODEM_PSK8,
  2935.     LIQUID_MODEM_PSK16,
  2936.     LIQUID_MODEM_PSK32,
  2937.     LIQUID_MODEM_PSK64,
  2938.     LIQUID_MODEM_PSK128,
  2939.     LIQUID_MODEM_PSK256,
  2940.  
  2941.     LIQUID_MODEM_DPSK2,
  2942.     LIQUID_MODEM_DPSK4,
  2943.     LIQUID_MODEM_DPSK8,
  2944.     LIQUID_MODEM_DPSK16,
  2945.     LIQUID_MODEM_DPSK32,
  2946.     LIQUID_MODEM_DPSK64,
  2947.     LIQUID_MODEM_DPSK128,
  2948.     LIQUID_MODEM_DPSK256,
  2949.  
  2950.     LIQUID_MODEM_ASK2,
  2951.     LIQUID_MODEM_ASK4,
  2952.     LIQUID_MODEM_ASK8,
  2953.     LIQUID_MODEM_ASK16,
  2954.     LIQUID_MODEM_ASK32,
  2955.     LIQUID_MODEM_ASK64,
  2956.     LIQUID_MODEM_ASK128,
  2957.     LIQUID_MODEM_ASK256,
  2958.  
  2959.     LIQUID_MODEM_QAM4,
  2960.     LIQUID_MODEM_QAM8,
  2961.     LIQUID_MODEM_QAM16,
  2962.     LIQUID_MODEM_QAM32,
  2963.     LIQUID_MODEM_QAM64,
  2964.     LIQUID_MODEM_QAM128,
  2965.     LIQUID_MODEM_QAM256,
  2966.  
  2967.     LIQUID_MODEM_APSK4,
  2968.     LIQUID_MODEM_APSK8,
  2969.     LIQUID_MODEM_APSK16,
  2970.     LIQUID_MODEM_APSK32,
  2971.     LIQUID_MODEM_APSK64,
  2972.     LIQUID_MODEM_APSK128,
  2973.     LIQUID_MODEM_APSK256,
  2974.  
  2975.     LIQUID_MODEM_BPSK,
  2976.     LIQUID_MODEM_QPSK,
  2977.     LIQUID_MODEM_OOK,
  2978.     LIQUID_MODEM_SQAM32,
  2979.     LIQUID_MODEM_SQAM128,
  2980.     LIQUID_MODEM_V29,
  2981.     LIQUID_MODEM_ARB16OPT,
  2982.     LIQUID_MODEM_ARB32OPT,
  2983.     LIQUID_MODEM_ARB64OPT,
  2984.     LIQUID_MODEM_ARB128OPT,
  2985.     LIQUID_MODEM_ARB256OPT,
  2986.     LIQUID_MODEM_ARB64VT,
  2987.  
  2988.     LIQUID_MODEM_ARB
  2989. } modulation_scheme;
  2990.  
  2991. struct modulation_type_s
  2992. {
  2993.     const char *name;
  2994.     const char *fullname;
  2995.     modulation_scheme scheme;
  2996.     unsigned int bps;
  2997. };
  2998.  
  2999. extern const struct modulation_type_s modulation_types[(52)];
  3000.  
  3001. void liquid_print_modulation_schemes();
  3002.  
  3003. modulation_scheme liquid_getopt_str2mod(const char *_str);
  3004.  
  3005. int liquid_modem_is_psk(modulation_scheme _ms);
  3006. int liquid_modem_is_dpsk(modulation_scheme _ms);
  3007. int liquid_modem_is_ask(modulation_scheme _ms);
  3008. int liquid_modem_is_qam(modulation_scheme _ms);
  3009. int liquid_modem_is_apsk(modulation_scheme _ms);
  3010.  
  3011. unsigned int count_bit_errors(unsigned int _s1, unsigned int _s2);
  3012.  
  3013. unsigned int count_bit_errors_array(unsigned char *_msg0,
  3014.                                     unsigned char *_msg1,
  3015.                                     unsigned int _n);
  3016.  
  3017. unsigned int gray_encode(unsigned int symbol_in);
  3018.  
  3019. unsigned int gray_decode(unsigned int symbol_in);
  3020.  
  3021. void liquid_pack_soft_bits(unsigned char *_soft_bits,
  3022.                            unsigned int _bps,
  3023.                            unsigned int *_sym_out);
  3024.  
  3025. void liquid_unpack_soft_bits(unsigned int _sym_in,
  3026.                              unsigned int _bps,
  3027.                              unsigned char *_soft_bits);
  3028. # 6952 "include\\liquid.h"
  3029. typedef struct modem_s *modem;
  3030. modem modem_create(modulation_scheme _scheme);
  3031. modem modem_create_arbitrary(liquid_float_complex *_table, unsigned int _M);
  3032. modem modem_recreate(modem _q, modulation_scheme _scheme);
  3033. void modem_destroy(modem _q);
  3034. void modem_print(modem _q);
  3035. void modem_reset(modem _q);
  3036. unsigned int modem_gen_rand_sym(modem _q);
  3037. unsigned int modem_get_bps(modem _q);
  3038. modulation_scheme modem_get_scheme(modem _q);
  3039. void modem_modulate(modem _q, unsigned int _s, liquid_float_complex *_y);
  3040. void modem_demodulate(modem _q, liquid_float_complex _x, unsigned int *_s);
  3041. void modem_demodulate_soft(modem _q, liquid_float_complex _x, unsigned int *_s, unsigned char *_soft_bits);
  3042. void modem_get_demodulator_sample(modem _q, liquid_float_complex *_x_hat);
  3043. float modem_get_demodulator_phase_error(modem _q);
  3044. float modem_get_demodulator_evm(modem _q);
  3045.  
  3046. typedef struct gmskmod_s *gmskmod;
  3047.  
  3048. gmskmod gmskmod_create(unsigned int _k,
  3049.                        unsigned int _m,
  3050.                        float _BT);
  3051. void gmskmod_destroy(gmskmod _q);
  3052. void gmskmod_print(gmskmod _q);
  3053. void gmskmod_reset(gmskmod _q);
  3054. void gmskmod_modulate(gmskmod _q,
  3055.                       unsigned int _sym,
  3056.                       liquid_float_complex *_y);
  3057.  
  3058. typedef struct gmskdem_s *gmskdem;
  3059.  
  3060. gmskdem gmskdem_create(unsigned int _k,
  3061.                        unsigned int _m,
  3062.                        float _BT);
  3063. void gmskdem_destroy(gmskdem _q);
  3064. void gmskdem_print(gmskdem _q);
  3065. void gmskdem_reset(gmskdem _q);
  3066. void gmskdem_set_eq_bw(gmskdem _q, float _bw);
  3067. void gmskdem_demodulate(gmskdem _q,
  3068.                         liquid_float_complex *_y,
  3069.                         unsigned int *_sym);
  3070.  
  3071. typedef enum
  3072. {
  3073.     LIQUID_CPFSK_SQUARE = 0,
  3074.     LIQUID_CPFSK_RCOS_FULL,
  3075.     LIQUID_CPFSK_RCOS_PARTIAL,
  3076.     LIQUID_CPFSK_GMSK,
  3077. } liquid_cpfsk_filter;
  3078.  
  3079. typedef struct cpfskmod_s *cpfskmod;
  3080. # 7017 "include\\liquid.h"
  3081. cpfskmod cpfskmod_create(unsigned int _bps,
  3082.                          float _h,
  3083.                          unsigned int _k,
  3084.                          unsigned int _m,
  3085.                          float _beta,
  3086.                          int _type);
  3087.  
  3088. void cpfskmod_destroy(cpfskmod _q);
  3089.  
  3090. void cpfskmod_print(cpfskmod _q);
  3091.  
  3092. void cpfskmod_reset(cpfskmod _q);
  3093.  
  3094. unsigned int cpfskmod_get_delay(cpfskmod _q);
  3095.  
  3096. void cpfskmod_modulate(cpfskmod _q,
  3097.                        unsigned int _s,
  3098.                        liquid_float_complex *_y);
  3099.  
  3100. typedef struct cpfskdem_s *cpfskdem;
  3101. # 7058 "include\\liquid.h"
  3102. cpfskdem cpfskdem_create(unsigned int _bps,
  3103.                          float _h,
  3104.                          unsigned int _k,
  3105.                          unsigned int _m,
  3106.                          float _beta,
  3107.                          int _type);
  3108.  
  3109. void cpfskdem_destroy(cpfskdem _q);
  3110.  
  3111. void cpfskdem_print(cpfskdem _q);
  3112.  
  3113. void cpfskdem_reset(cpfskdem _q);
  3114.  
  3115. unsigned int cpfskdem_get_delay(cpfskdem _q);
  3116. # 7095 "include\\liquid.h"
  3117. unsigned int cpfskdem_demodulate(cpfskdem _q,
  3118.                                  liquid_float_complex *_y);
  3119. # 7106 "include\\liquid.h"
  3120. typedef struct fskmod_s *fskmod;
  3121.  
  3122. fskmod fskmod_create(unsigned int _m,
  3123.                      unsigned int _k,
  3124.                      float _bandwidth);
  3125.  
  3126. void fskmod_destroy(fskmod _q);
  3127.  
  3128. void fskmod_print(fskmod _q);
  3129.  
  3130. void fskmod_reset(fskmod _q);
  3131.  
  3132. void fskmod_modulate(fskmod _q,
  3133.                      unsigned int _s,
  3134.                      liquid_float_complex *_y);
  3135.  
  3136. typedef struct fskdem_s *fskdem;
  3137.  
  3138. fskdem fskdem_create(unsigned int _m,
  3139.                      unsigned int _k,
  3140.                      float _bandwidth);
  3141.  
  3142. void fskdem_destroy(fskdem _q);
  3143.  
  3144. void fskdem_print(fskdem _q);
  3145.  
  3146. void fskdem_reset(fskdem _q);
  3147.  
  3148. unsigned int fskdem_demodulate(fskdem _q,
  3149.                                liquid_float_complex *_y);
  3150.  
  3151. float fskdem_get_frequency_error(fskdem _q);
  3152.  
  3153. float fskdem_get_symbol_energy(fskdem _q,
  3154.                                unsigned int _s,
  3155.                                unsigned int _range);
  3156. # 7217 "include\\liquid.h"
  3157. typedef struct freqmod_s *freqmod;
  3158. freqmod freqmod_create(float _kf);
  3159. void freqmod_destroy(freqmod _q);
  3160. void freqmod_print(freqmod _q);
  3161. void freqmod_reset(freqmod _q);
  3162. void freqmod_modulate(freqmod _q, float _m, liquid_float_complex *_s);
  3163. void freqmod_modulate_block(freqmod _q, float *_m, unsigned int _n, liquid_float_complex *_s);
  3164. # 7264 "include\\liquid.h"
  3165. typedef struct freqdem_s *freqdem;
  3166. freqdem freqdem_create(float _kf);
  3167. void freqdem_destroy(freqdem _q);
  3168. void freqdem_print(freqdem _q);
  3169. void freqdem_reset(freqdem _q);
  3170. void freqdem_demodulate(freqdem _q, liquid_float_complex _r, float *_m);
  3171. void freqdem_demodulate_block(freqdem _q, liquid_float_complex *_r, unsigned int _n, float *_m);
  3172.  
  3173. typedef enum
  3174. {
  3175.     LIQUID_AMPMODEM_DSB = 0,
  3176.     LIQUID_AMPMODEM_USB,
  3177.     LIQUID_AMPMODEM_LSB
  3178. } liquid_ampmodem_type;
  3179.  
  3180. typedef struct ampmodem_s *ampmodem;
  3181.  
  3182. ampmodem ampmodem_create(float _mod_index,
  3183.                          liquid_ampmodem_type _type,
  3184.                          int _suppressed_carrier);
  3185.  
  3186. void ampmodem_destroy(ampmodem _q);
  3187.  
  3188. void ampmodem_print(ampmodem _q);
  3189.  
  3190. void ampmodem_reset(ampmodem _q);
  3191.  
  3192. unsigned int ampmodem_get_delay_mod(ampmodem _q);
  3193. unsigned int ampmodem_get_delay_demod(ampmodem _q);
  3194.  
  3195. void ampmodem_modulate(ampmodem _q,
  3196.                        float _x,
  3197.                        liquid_float_complex *_y);
  3198.  
  3199. void ampmodem_modulate_block(ampmodem _q,
  3200.                              float *_m,
  3201.                              unsigned int _n,
  3202.                              liquid_float_complex *_s);
  3203.  
  3204. void ampmodem_demodulate(ampmodem _q,
  3205.                          liquid_float_complex _y,
  3206.                          float *_x);
  3207.  
  3208. void ampmodem_demodulate_block(ampmodem _q,
  3209.                                liquid_float_complex *_r,
  3210.                                unsigned int _n,
  3211.                                float *_m);
  3212. # 7406 "include\\liquid.h"
  3213. typedef struct firpfbch_crcf_s *firpfbch_crcf;
  3214. firpfbch_crcf firpfbch_crcf_create(int _type, unsigned int _M, unsigned int _p, float *_h);
  3215. firpfbch_crcf firpfbch_crcf_create_kaiser(int _type, unsigned int _M, unsigned int _m, float _As);
  3216. firpfbch_crcf firpfbch_crcf_create_rnyquist(int _type, unsigned int _M, unsigned int _m, float _beta, int _ftype);
  3217. void firpfbch_crcf_destroy(firpfbch_crcf _q);
  3218. void firpfbch_crcf_reset(firpfbch_crcf _q);
  3219. void firpfbch_crcf_print(firpfbch_crcf _q);
  3220. void firpfbch_crcf_synthesizer_execute(firpfbch_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  3221. void firpfbch_crcf_analyzer_execute(firpfbch_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  3222.  
  3223. typedef struct firpfbch_cccf_s *firpfbch_cccf;
  3224. firpfbch_cccf firpfbch_cccf_create(int _type, unsigned int _M, unsigned int _p, liquid_float_complex *_h);
  3225. firpfbch_cccf firpfbch_cccf_create_kaiser(int _type, unsigned int _M, unsigned int _m, float _As);
  3226. firpfbch_cccf firpfbch_cccf_create_rnyquist(int _type, unsigned int _M, unsigned int _m, float _beta, int _ftype);
  3227. void firpfbch_cccf_destroy(firpfbch_cccf _q);
  3228. void firpfbch_cccf_reset(firpfbch_cccf _q);
  3229. void firpfbch_cccf_print(firpfbch_cccf _q);
  3230. void firpfbch_cccf_synthesizer_execute(firpfbch_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  3231. void firpfbch_cccf_analyzer_execute(firpfbch_cccf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  3232. # 7471 "include\\liquid.h"
  3233. typedef struct firpfbch2_crcf_s *firpfbch2_crcf;
  3234. firpfbch2_crcf firpfbch2_crcf_create(int _type, unsigned int _M, unsigned int _m, float *_h);
  3235. firpfbch2_crcf firpfbch2_crcf_create_kaiser(int _type, unsigned int _M, unsigned int _m, float _As);
  3236. void firpfbch2_crcf_destroy(firpfbch2_crcf _q);
  3237. void firpfbch2_crcf_reset(firpfbch2_crcf _q);
  3238. void firpfbch2_crcf_print(firpfbch2_crcf _q);
  3239. void firpfbch2_crcf_execute(firpfbch2_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  3240. # 7540 "include\\liquid.h"
  3241. typedef struct firpfbchr_crcf_s *firpfbchr_crcf;
  3242. firpfbchr_crcf firpfbchr_crcf_create(unsigned int _M, unsigned int _P, unsigned int _m, float *_h);
  3243. firpfbchr_crcf firpfbchr_crcf_create_kaiser(unsigned int _M, unsigned int _P, unsigned int _m, float _As);
  3244. void firpfbchr_crcf_destroy(firpfbchr_crcf _q);
  3245. void firpfbchr_crcf_reset(firpfbchr_crcf _q);
  3246. void firpfbchr_crcf_print(firpfbchr_crcf _q);
  3247. unsigned int firpfbchr_crcf_get_M(firpfbchr_crcf _q);
  3248. unsigned int firpfbchr_crcf_get_P(firpfbchr_crcf _q);
  3249. unsigned int firpfbchr_crcf_get_m(firpfbchr_crcf _q);
  3250. void firpfbchr_crcf_push(firpfbchr_crcf _q, liquid_float_complex *_x);
  3251. void firpfbchr_crcf_execute(firpfbchr_crcf _q, liquid_float_complex *_y);
  3252. # 7554 "include\\liquid.h"
  3253. void ofdmframe_init_default_sctype(unsigned int _M,
  3254.                                    unsigned char *_p);
  3255.  
  3256. void ofdmframe_init_sctype_range(unsigned int _M,
  3257.                                  float _f0,
  3258.                                  float _f1,
  3259.                                  unsigned char *_p);
  3260. # 7574 "include\\liquid.h"
  3261. void ofdmframe_validate_sctype(unsigned char *_p,
  3262.                                unsigned int _M,
  3263.                                unsigned int *_M_null,
  3264.                                unsigned int *_M_pilot,
  3265.                                unsigned int *_M_data);
  3266.  
  3267. void ofdmframe_print_sctype(unsigned char *_p,
  3268.                             unsigned int _M);
  3269.  
  3270. typedef struct ofdmframegen_s *ofdmframegen;
  3271.  
  3272. ofdmframegen ofdmframegen_create(unsigned int _M,
  3273.                                  unsigned int _cp_len,
  3274.                                  unsigned int _taper_len,
  3275.                                  unsigned char *_p);
  3276.  
  3277. void ofdmframegen_destroy(ofdmframegen _q);
  3278.  
  3279. void ofdmframegen_print(ofdmframegen _q);
  3280.  
  3281. void ofdmframegen_reset(ofdmframegen _q);
  3282.  
  3283. void ofdmframegen_write_S0a(ofdmframegen _q,
  3284.                             liquid_float_complex *_y);
  3285.  
  3286. void ofdmframegen_write_S0b(ofdmframegen _q,
  3287.                             liquid_float_complex *_y);
  3288.  
  3289. void ofdmframegen_write_S1(ofdmframegen _q,
  3290.                            liquid_float_complex *_y);
  3291.  
  3292. void ofdmframegen_writesymbol(ofdmframegen _q,
  3293.                               liquid_float_complex *_x,
  3294.                               liquid_float_complex *_y);
  3295.  
  3296. void ofdmframegen_writetail(ofdmframegen _q,
  3297.                             liquid_float_complex *_x);
  3298.  
  3299. typedef int (*ofdmframesync_callback)(liquid_float_complex *_y,
  3300.                                       unsigned char *_p,
  3301.                                       unsigned int _M,
  3302.                                       void *_userdata);
  3303. typedef struct ofdmframesync_s *ofdmframesync;
  3304. # 7645 "include\\liquid.h"
  3305. ofdmframesync ofdmframesync_create(unsigned int _M,
  3306.                                    unsigned int _cp_len,
  3307.                                    unsigned int _taper_len,
  3308.                                    unsigned char *_p,
  3309.                                    ofdmframesync_callback _callback,
  3310.                                    void *_userdata);
  3311. void ofdmframesync_destroy(ofdmframesync _q);
  3312. void ofdmframesync_print(ofdmframesync _q);
  3313. void ofdmframesync_reset(ofdmframesync _q);
  3314. int ofdmframesync_is_frame_open(ofdmframesync _q);
  3315. void ofdmframesync_execute(ofdmframesync _q,
  3316.                            liquid_float_complex *_x,
  3317.                            unsigned int _n);
  3318.  
  3319. float ofdmframesync_get_rssi(ofdmframesync _q);
  3320. float ofdmframesync_get_cfo(ofdmframesync _q);
  3321.  
  3322. void ofdmframesync_set_cfo(ofdmframesync _q, float _cfo);
  3323.  
  3324. void ofdmframesync_debug_enable(ofdmframesync _q);
  3325. void ofdmframesync_debug_disable(ofdmframesync _q);
  3326. void ofdmframesync_debug_print(ofdmframesync _q, const char *_filename);
  3327. # 7679 "include\\liquid.h"
  3328. typedef enum
  3329. {
  3330.     LIQUID_NCO = 0,
  3331.     LIQUID_VCO
  3332. } liquid_ncotype;
  3333. # 7819 "include\\liquid.h"
  3334. typedef struct nco_crcf_s *nco_crcf;
  3335. nco_crcf nco_crcf_create(liquid_ncotype _type);
  3336. void nco_crcf_destroy(nco_crcf _q);
  3337. void nco_crcf_print(nco_crcf _q);
  3338. void nco_crcf_reset(nco_crcf _q);
  3339. float nco_crcf_get_frequency(nco_crcf _q);
  3340. void nco_crcf_set_frequency(nco_crcf _q, float _dtheta);
  3341. void nco_crcf_adjust_frequency(nco_crcf _q, float _step);
  3342. float nco_crcf_get_phase(nco_crcf _q);
  3343. void nco_crcf_set_phase(nco_crcf _q, float _phi);
  3344. void nco_crcf_adjust_phase(nco_crcf _q, float _dphi);
  3345. void nco_crcf_step(nco_crcf _q);
  3346. float nco_crcf_sin(nco_crcf _q);
  3347. float nco_crcf_cos(nco_crcf _q);
  3348. void nco_crcf_sincos(nco_crcf _q, float *_s, float *_c);
  3349. void nco_crcf_cexpf(nco_crcf _q, liquid_float_complex *_y);
  3350. void nco_crcf_pll_set_bandwidth(nco_crcf _q, float _bw);
  3351. void nco_crcf_pll_step(nco_crcf _q, float _dphi);
  3352. void nco_crcf_mix_up(nco_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  3353. void nco_crcf_mix_down(nco_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  3354. void nco_crcf_mix_block_up(nco_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _n);
  3355. void nco_crcf_mix_block_down(nco_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _n);
  3356.  
  3357. void liquid_unwrap_phase(float *_theta, unsigned int _n);
  3358.  
  3359. void liquid_unwrap_phase2(float *_theta, unsigned int _n);
  3360. # 7896 "include\\liquid.h"
  3361. typedef struct synth_crcf_s *synth_crcf;
  3362. synth_crcf synth_crcf_create(const liquid_float_complex *_table, unsigned int _length);
  3363. void synth_crcf_destroy(synth_crcf _q);
  3364. void synth_crcf_reset(synth_crcf _q);
  3365. float synth_crcf_get_frequency(synth_crcf _q);
  3366. void synth_crcf_set_frequency(synth_crcf _q, float _f);
  3367. void synth_crcf_adjust_frequency(synth_crcf _q, float _df);
  3368. float synth_crcf_get_phase(synth_crcf _q);
  3369. void synth_crcf_set_phase(synth_crcf _q, float _phi);
  3370. void synth_crcf_adjust_phase(synth_crcf _q, float _dphi);
  3371. unsigned int synth_crcf_get_length(synth_crcf _q);
  3372. liquid_float_complex synth_crcf_get_current(synth_crcf _q);
  3373. liquid_float_complex synth_crcf_get_half_previous(synth_crcf _q);
  3374. liquid_float_complex synth_crcf_get_half_next(synth_crcf _q);
  3375. void synth_crcf_step(synth_crcf _q);
  3376. void synth_crcf_pll_set_bandwidth(synth_crcf _q, float _bandwidth);
  3377. void synth_crcf_pll_step(synth_crcf _q, float _dphi);
  3378. void synth_crcf_mix_up(synth_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  3379. void synth_crcf_mix_down(synth_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  3380. void synth_crcf_mix_block_up(synth_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _N);
  3381. void synth_crcf_mix_block_down(synth_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _N);
  3382. void synth_crcf_spread(synth_crcf _q, liquid_float_complex _x, liquid_float_complex *_y);
  3383. void synth_crcf_despread(synth_crcf _q, liquid_float_complex *_x, liquid_float_complex *_y);
  3384. void synth_crcf_despread_triple(synth_crcf _q, liquid_float_complex *_x, liquid_float_complex *_early, liquid_float_complex *_punctual, liquid_float_complex *_late);
  3385. # 7905 "include\\liquid.h"
  3386. typedef float (*utility_function)(void *_userdata,
  3387.                                   float *_v,
  3388.                                   unsigned int _n);
  3389.  
  3390. float liquid_rosenbrock(void *_userdata,
  3391.                         float *_v,
  3392.                         unsigned int _n);
  3393.  
  3394. float liquid_invgauss(void *_userdata,
  3395.                       float *_v,
  3396.                       unsigned int _n);
  3397.  
  3398. float liquid_multimodal(void *_userdata,
  3399.                         float *_v,
  3400.                         unsigned int _n);
  3401.  
  3402. float liquid_spiral(void *_userdata,
  3403.                     float *_v,
  3404.                     unsigned int _n);
  3405. # 7949 "include\\liquid.h"
  3406. typedef struct gradsearch_s *gradsearch;
  3407.  
  3408. gradsearch gradsearch_create(void *_userdata,
  3409.                              float *_v,
  3410.                              unsigned int _num_parameters,
  3411.                              utility_function _utility,
  3412.                              int _direction);
  3413.  
  3414. void gradsearch_destroy(gradsearch _q);
  3415.  
  3416. void gradsearch_print(gradsearch _q);
  3417.  
  3418. float gradsearch_step(gradsearch _q);
  3419.  
  3420. float gradsearch_execute(gradsearch _q,
  3421.                          unsigned int _max_iterations,
  3422.                          float _target_utility);
  3423.  
  3424. typedef struct qnsearch_s *qnsearch;
  3425.  
  3426. qnsearch qnsearch_create(void *_userdata,
  3427.                          float *_v,
  3428.                          unsigned int _num_parameters,
  3429.                          utility_function _u,
  3430.                          int _direction);
  3431.  
  3432. void qnsearch_destroy(qnsearch _g);
  3433.  
  3434. void qnsearch_print(qnsearch _g);
  3435.  
  3436. void qnsearch_reset(qnsearch _g);
  3437.  
  3438. void qnsearch_step(qnsearch _g);
  3439.  
  3440. float qnsearch_execute(qnsearch _g,
  3441.                        unsigned int _max_iterations,
  3442.                        float _target_utility);
  3443.  
  3444. typedef struct chromosome_s *chromosome;
  3445.  
  3446. chromosome chromosome_create(unsigned int *_bits_per_trait,
  3447.                              unsigned int _num_traits);
  3448.  
  3449. chromosome chromosome_create_basic(unsigned int _num_traits,
  3450.                                    unsigned int _bits_per_trait);
  3451.  
  3452. chromosome chromosome_create_clone(chromosome _parent);
  3453.  
  3454. void chromosome_copy(chromosome _parent, chromosome _child);
  3455.  
  3456. void chromosome_destroy(chromosome _c);
  3457.  
  3458. unsigned int chromosome_get_num_traits(chromosome _c);
  3459.  
  3460. void chromosome_print(chromosome _c);
  3461.  
  3462. void chromosome_printf(chromosome _c);
  3463.  
  3464. void chromosome_reset(chromosome _c);
  3465.  
  3466. void chromosome_init(chromosome _c,
  3467.                      unsigned int *_v);
  3468.  
  3469. void chromosome_initf(chromosome _c,
  3470.                       float *_v);
  3471.  
  3472. void chromosome_mutate(chromosome _c, unsigned int _index);
  3473.  
  3474. void chromosome_crossover(chromosome _p1,
  3475.                           chromosome _p2,
  3476.                           chromosome _c,
  3477.                           unsigned int _threshold);
  3478.  
  3479. void chromosome_init_random(chromosome _c);
  3480.  
  3481. unsigned int chromosome_value(chromosome _c,
  3482.                               unsigned int _index);
  3483.  
  3484. float chromosome_valuef(chromosome _c,
  3485.                         unsigned int _index);
  3486.  
  3487. typedef struct gasearch_s *gasearch;
  3488.  
  3489. typedef float (*gasearch_utility)(void *_userdata, chromosome _c);
  3490.  
  3491. gasearch gasearch_create(gasearch_utility _u,
  3492.                          void *_userdata,
  3493.                          chromosome _parent,
  3494.                          int _minmax);
  3495. # 8097 "include\\liquid.h"
  3496. gasearch gasearch_create_advanced(gasearch_utility _utility,
  3497.                                   void *_userdata,
  3498.                                   chromosome _parent,
  3499.                                   int _minmax,
  3500.                                   unsigned int _population_size,
  3501.                                   float _mutation_rate);
  3502.  
  3503. void gasearch_destroy(gasearch _q);
  3504.  
  3505. void gasearch_print(gasearch _q);
  3506.  
  3507. void gasearch_set_mutation_rate(gasearch _q,
  3508.                                 float _mutation_rate);
  3509.  
  3510. void gasearch_set_population_size(gasearch _q,
  3511.                                   unsigned int _population_size,
  3512.                                   unsigned int _selection_size);
  3513.  
  3514. float gasearch_run(gasearch _q,
  3515.                    unsigned int _max_iterations,
  3516.                    float _target_utility);
  3517.  
  3518. void gasearch_evolve(gasearch _q);
  3519.  
  3520. void gasearch_getopt(gasearch _q,
  3521.                      chromosome _c,
  3522.                      float *_utility_opt);
  3523.  
  3524. float compress_mulaw(float _x, float _mu);
  3525. float expand_mulaw(float _x, float _mu);
  3526.  
  3527. void compress_cf_mulaw(liquid_float_complex _x, float _mu, liquid_float_complex *_y);
  3528. void expand_cf_mulaw(liquid_float_complex _y, float _mu, liquid_float_complex *_x);
  3529.  
  3530. unsigned int quantize_adc(float _x, unsigned int _num_bits);
  3531. float quantize_dac(unsigned int _s, unsigned int _num_bits);
  3532.  
  3533. typedef enum
  3534. {
  3535.     LIQUID_COMPANDER_NONE = 0,
  3536.     LIQUID_COMPANDER_LINEAR,
  3537.     LIQUID_COMPANDER_MULAW,
  3538.     LIQUID_COMPANDER_ALAW
  3539. } liquid_compander_type;
  3540. # 8213 "include\\liquid.h"
  3541. typedef struct quantizerf_s *quantizerf;
  3542. quantizerf quantizerf_create(liquid_compander_type _ctype, float _range, unsigned int _num_bits);
  3543. void quantizerf_destroy(quantizerf _q);
  3544. void quantizerf_print(quantizerf _q);
  3545. void quantizerf_execute_adc(quantizerf _q, float _x, unsigned int *_s);
  3546. void quantizerf_execute_dac(quantizerf _q, unsigned int _s, float *_x);
  3547. typedef struct quantizercf_s *quantizercf;
  3548. quantizercf quantizercf_create(liquid_compander_type _ctype, float _range, unsigned int _num_bits);
  3549. void quantizercf_destroy(quantizercf _q);
  3550. void quantizercf_print(quantizercf _q);
  3551. void quantizercf_execute_adc(quantizercf _q, liquid_float_complex _x, unsigned int *_s);
  3552. void quantizercf_execute_dac(quantizercf _q, unsigned int _s, liquid_float_complex *_x);
  3553. # 8223 "include\\liquid.h"
  3554. float randf();
  3555. float randf_pdf(float _x);
  3556. float randf_cdf(float _x);
  3557.  
  3558. float randuf(float _a, float _b);
  3559. float randuf_pdf(float _x, float _a, float _b);
  3560. float randuf_cdf(float _x, float _a, float _b);
  3561. # 8239 "include\\liquid.h"
  3562. float randnf();
  3563. void awgn(float *_x, float _nstd);
  3564. void crandnf(liquid_float_complex *_y);
  3565. void cawgn(liquid_float_complex *_x, float _nstd);
  3566. float randnf_pdf(float _x, float _eta, float _sig);
  3567. float randnf_cdf(float _x, float _eta, float _sig);
  3568.  
  3569. float randexpf(float _lambda);
  3570. float randexpf_pdf(float _x, float _lambda);
  3571. float randexpf_cdf(float _x, float _lambda);
  3572. # 8262 "include\\liquid.h"
  3573. float randweibf(float _alpha, float _beta, float _gamma);
  3574. float randweibf_pdf(float _x, float _a, float _b, float _g);
  3575. float randweibf_cdf(float _x, float _a, float _b, float _g);
  3576. # 8275 "include\\liquid.h"
  3577. float randgammaf(float _alpha, float _beta);
  3578. float randgammaf_pdf(float _x, float _alpha, float _beta);
  3579. float randgammaf_cdf(float _x, float _alpha, float _beta);
  3580. # 8286 "include\\liquid.h"
  3581. float randnakmf(float _m, float _omega);
  3582. float randnakmf_pdf(float _x, float _m, float _omega);
  3583. float randnakmf_cdf(float _x, float _m, float _omega);
  3584. # 8300 "include\\liquid.h"
  3585. float randricekf(float _K, float _omega);
  3586. float randricekf_cdf(float _x, float _K, float _omega);
  3587. float randricekf_pdf(float _x, float _K, float _omega);
  3588.  
  3589. void scramble_data(unsigned char *_x, unsigned int _len);
  3590. void unscramble_data(unsigned char *_x, unsigned int _len);
  3591. void unscramble_data_soft(unsigned char *_x, unsigned int _len);
  3592.  
  3593. typedef struct bsequence_s *bsequence;
  3594.  
  3595. bsequence bsequence_create(unsigned int num_bits);
  3596.  
  3597. void bsequence_destroy(bsequence _bs);
  3598.  
  3599. void bsequence_reset(bsequence _bs);
  3600.  
  3601. void bsequence_init(bsequence _bs,
  3602.                     unsigned char *_v);
  3603.  
  3604. void bsequence_print(bsequence _bs);
  3605.  
  3606. void bsequence_push(bsequence _bs,
  3607.                     unsigned int _bit);
  3608.  
  3609. void bsequence_circshift(bsequence _bs);
  3610.  
  3611. int bsequence_correlate(bsequence _bs1, bsequence _bs2);
  3612.  
  3613. void bsequence_add(bsequence _bs1, bsequence _bs2, bsequence _bs3);
  3614.  
  3615. void bsequence_mul(bsequence _bs1, bsequence _bs2, bsequence _bs3);
  3616.  
  3617. unsigned int bsequence_accumulate(bsequence _bs);
  3618.  
  3619. unsigned int bsequence_get_length(bsequence _bs);
  3620. unsigned int bsequence_index(bsequence _bs, unsigned int _i);
  3621.  
  3622. void bsequence_create_ccodes(bsequence _a,
  3623.                              bsequence _b);
  3624. # 8387 "include\\liquid.h"
  3625. typedef struct msequence_s *msequence;
  3626.  
  3627. msequence msequence_create(unsigned int _m,
  3628.                            unsigned int _g,
  3629.                            unsigned int _a);
  3630.  
  3631. msequence msequence_create_genpoly(unsigned int _g);
  3632.  
  3633. msequence msequence_create_default(unsigned int _m);
  3634.  
  3635. void msequence_destroy(msequence _m);
  3636.  
  3637. void msequence_print(msequence _m);
  3638.  
  3639. unsigned int msequence_advance(msequence _ms);
  3640.  
  3641. unsigned int msequence_generate_symbol(msequence _ms,
  3642.                                        unsigned int _bps);
  3643.  
  3644. void msequence_reset(msequence _ms);
  3645.  
  3646. void bsequence_init_msequence(bsequence _bs,
  3647.                               msequence _ms);
  3648.  
  3649. unsigned int msequence_get_length(msequence _ms);
  3650.  
  3651. unsigned int msequence_get_state(msequence _ms);
  3652.  
  3653. void msequence_set_state(msequence _ms,
  3654.                          unsigned int _a);
  3655. # 8450 "include\\liquid.h"
  3656. void liquid_pack_array(unsigned char *_src,
  3657.                        unsigned int _n,
  3658.                        unsigned int _k,
  3659.                        unsigned int _b,
  3660.                        unsigned char _sym_in);
  3661.  
  3662. void liquid_unpack_array(unsigned char *_src,
  3663.                          unsigned int _n,
  3664.                          unsigned int _k,
  3665.                          unsigned int _b,
  3666.                          unsigned char *_sym_out);
  3667.  
  3668. void liquid_pack_bytes(unsigned char *_sym_in,
  3669.                        unsigned int _sym_in_len,
  3670.                        unsigned char *_sym_out,
  3671.                        unsigned int _sym_out_len,
  3672.                        unsigned int *_num_written);
  3673.  
  3674. void liquid_unpack_bytes(unsigned char *_sym_in,
  3675.                          unsigned int _sym_in_len,
  3676.                          unsigned char *_sym_out,
  3677.                          unsigned int _sym_out_len,
  3678.                          unsigned int *_num_written);
  3679. # 8500 "include\\liquid.h"
  3680. void liquid_repack_bytes(unsigned char *_sym_in,
  3681.                          unsigned int _sym_in_bps,
  3682.                          unsigned int _sym_in_len,
  3683.                          unsigned char *_sym_out,
  3684.                          unsigned int _sym_out_bps,
  3685.                          unsigned int _sym_out_len,
  3686.                          unsigned int *_num_written);
  3687.  
  3688. void liquid_lbshift(unsigned char *_src,
  3689.                     unsigned int _n,
  3690.                     unsigned int _b);
  3691.  
  3692. void liquid_rbshift(unsigned char *_src,
  3693.                     unsigned int _n,
  3694.                     unsigned int _b);
  3695.  
  3696. void liquid_lbcircshift(unsigned char *_src,
  3697.                         unsigned int _n,
  3698.                         unsigned int _b);
  3699.  
  3700. void liquid_rbcircshift(unsigned char *_src,
  3701.                         unsigned int _n,
  3702.                         unsigned int _b);
  3703. # 8547 "include\\liquid.h"
  3704. void liquid_lshift(unsigned char *_src,
  3705.                    unsigned int _n,
  3706.                    unsigned int _b);
  3707.  
  3708. void liquid_rshift(unsigned char *_src,
  3709.                    unsigned int _n,
  3710.                    unsigned int _b);
  3711.  
  3712. void liquid_lcircshift(unsigned char *_src,
  3713.                        unsigned int _n,
  3714.                        unsigned int _b);
  3715.  
  3716. void liquid_rcircshift(unsigned char *_src,
  3717.                        unsigned int _n,
  3718.                        unsigned int _b);
  3719.  
  3720. unsigned int liquid_count_ones(unsigned int _x);
  3721.  
  3722. unsigned int liquid_count_ones_mod2(unsigned int _x);
  3723.  
  3724. unsigned int liquid_bdotprod(unsigned int _x,
  3725.                              unsigned int _y);
  3726.  
  3727. unsigned int liquid_count_leading_zeros(unsigned int _x);
  3728.  
  3729. unsigned int liquid_msb_index(unsigned int _x);
  3730.  
  3731. void liquid_print_bitstring(unsigned int _x,
  3732.                             unsigned int _n);
  3733.  
  3734. unsigned char liquid_reverse_byte(unsigned char _x);
  3735. unsigned int liquid_reverse_uint16(unsigned int _x);
  3736. unsigned int liquid_reverse_uint24(unsigned int _x);
  3737. unsigned int liquid_reverse_uint32(unsigned int _x);
  3738.  
  3739. void liquid_get_scale(float _val,
  3740.                       char *_unit,
  3741.                       float *_scale);
  3742. # 8684 "include\\liquid.h"
  3743. void liquid_vectorf_init(float _c, float *_x, unsigned int _n);
  3744. void liquid_vectorf_add(float *_x, float *_y, unsigned int _n, float *_z);
  3745. void liquid_vectorf_addscalar(float *_x, unsigned int _n, float _c, float *_y);
  3746. void liquid_vectorf_mul(float *_x, float *_y, unsigned int _n, float *_z);
  3747. void liquid_vectorf_mulscalar(float *_x, unsigned int _n, float _c, float *_y);
  3748. void liquid_vectorf_cexpj(float *_theta, unsigned int _n, float *_x);
  3749. void liquid_vectorf_carg(float *_x, unsigned int _n, float *_theta);
  3750. void liquid_vectorf_abs(float *_x, unsigned int _n, float *_y);
  3751. float liquid_vectorf_sumsq(float *_x, unsigned int _n);
  3752. float liquid_vectorf_norm(float *_x, unsigned int _n);
  3753. float liquid_vectorf_pnorm(float *_x, unsigned int _n, float _p);
  3754. void liquid_vectorf_normalize(float *_x, unsigned int _n, float *_y);
  3755. void liquid_vectorcf_init(liquid_float_complex _c, liquid_float_complex *_x, unsigned int _n);
  3756. void liquid_vectorcf_add(liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _n, liquid_float_complex *_z);
  3757. void liquid_vectorcf_addscalar(liquid_float_complex *_x, unsigned int _n, liquid_float_complex _c, liquid_float_complex *_y);
  3758. void liquid_vectorcf_mul(liquid_float_complex *_x, liquid_float_complex *_y, unsigned int _n, liquid_float_complex *_z);
  3759. void liquid_vectorcf_mulscalar(liquid_float_complex *_x, unsigned int _n, liquid_float_complex _c, liquid_float_complex *_y);
  3760. void liquid_vectorcf_cexpj(float *_theta, unsigned int _n, liquid_float_complex *_x);
  3761. void liquid_vectorcf_carg(liquid_float_complex *_x, unsigned int _n, float *_theta);
  3762. void liquid_vectorcf_abs(liquid_float_complex *_x, unsigned int _n, float *_y);
  3763. float liquid_vectorcf_sumsq(liquid_float_complex *_x, unsigned int _n);
  3764. float liquid_vectorcf_norm(liquid_float_complex *_x, unsigned int _n);
  3765. float liquid_vectorcf_pnorm(liquid_float_complex *_x, unsigned int _n, float _p);
  3766. void liquid_vectorcf_normalize(liquid_float_complex *_x, unsigned int _n, liquid_float_complex *_y);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement