kopia lustrzana https://github.com/Dsplib/libdspl-2.0
Changes to be committed:
modified: src/array/array_scale_lin.c modified: src/array/concat.c modified: src/array/decimate.c modified: src/array/decimate_cmplx.c modified: src/array/find_nearest.c modified: src/array/flipip.c modified: src/array/flipip_cmplx.c modified: src/array/linspace.c modified: src/array/logspace.c modified: src/array/ones.c modified: src/array/sum.c modified: src/array/sum_sqr.c modified: src/array/verif.c modified: src/array/verif_cmplx.c modified: src/convolution/conv.c modified: src/convolution/conv_cmplx.c modified: src/convolution/conv_fft.c modified: src/convolution/conv_fft_cmplx.c modified: src/convolution/filter_iir.c modified: src/dft/dft.c modified: src/dft/dft_cmplx.c modified: src/dft/fft.c modified: src/dft/fft_abs.c modified: src/dft/fft_abs_cmplx.c modified: src/dft/fft_cmplx.c modified: src/dft/fft_create.c modified: src/dft/fft_free.c modified: src/dft/fft_krn.c modified: src/dft/fft_mag.c modified: src/dft/fft_mag_cmplx.c modified: src/dft/fft_shift.c modified: src/dft/fft_shift_cmplx.c modified: src/dft/fft_subkernel.c modified: src/dft/fourier_integral_cmplx.c modified: src/dft/fourier_series_dec.c modified: src/dft/fourier_series_dec_cmplx.c modified: src/dft/fourier_series_rec.c modified: src/dft/goertzel.c modified: src/dft/goertzel_cmplx.c modified: src/dft/idft_cmplx.c modified: src/dft/ifft_cmplx.cmaster
rodzic
d354a5245e
commit
7aea0cffbc
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -27,10 +27,8 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int array_scale_lin(double* x, int n,
|
||||
double xmin, double xmax, double dx,
|
||||
double h, double* y)
|
||||
\ingroup ARRAY_GROUP
|
||||
|
||||
\brief Vector `x` linear transformation
|
||||
|
||||
Function transforms values \f$x(i)\f$, \f$i = 0,1,\ldots n\f$
|
||||
|
@ -100,9 +98,7 @@ Else \ref ERROR_CODE_GROUP "code error".
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int array_scale_lin(double* x, int n,
|
||||
double xmin, double xmax, double dx,
|
||||
double h, double* y)
|
||||
|
||||
\brief Линейное растяжение вектора данных `x`
|
||||
Функция производит преобразование значений \f$x(i)\f$, \f$i = 0,1,\ldots n\f$
|
||||
в значения \f$y(i)\f$, в соответствии с формулой:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -28,7 +28,7 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int concat(void* a, size_t na, void* b, size_t nb, void* c)
|
||||
|
||||
\brief
|
||||
Concatenate arrays `a` and `b`
|
||||
|
||||
|
@ -89,7 +89,7 @@ c = [1.0, 2.0, 3.0, 4.0, 5.0]
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int concat(void* a, size_t na, void* b, size_t nb, void* c)
|
||||
|
||||
\brief Конкатенация двух массивов данных
|
||||
|
||||
Функция производит конкатенацию двух массивов. Пусть массивы `a` и `b`
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -28,7 +28,7 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int decimate(double* x, int n, int d, double* y, int* cnt)
|
||||
|
||||
\brief
|
||||
Real vector decimation
|
||||
|
||||
|
@ -83,7 +83,7 @@ c = [0.0, 2.0, 4.0, 6.0, 8.0]
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int decimate(double* x, int n, int d, double* y, int* cnt)
|
||||
|
||||
\brief Децимация вещественного вектора данных
|
||||
|
||||
Функция производит децимацию вещественного вектора `x` в `d` раз. \n
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -27,8 +27,8 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int decimate_cmplx(complex_t* x, int n, int d, complex_t* y, int* cnt)
|
||||
\ingroup ARRAY_GROUP
|
||||
|
||||
\brief
|
||||
Complex vector decimation
|
||||
|
||||
|
@ -88,7 +88,7 @@ c = [0.0+0.0j, 2.0+2.0j, 4.0+4.0j, 6.0+6.0j, 8.0+8.0j]
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int decimate_cmplx(complex_t* x, int n, int d, complex_t* y, int* cnt)
|
||||
|
||||
\brief Децимация комплексного вектора данных
|
||||
|
||||
Функция производит децимацию комплексного вектора `x` в `d` раз. \n
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -29,7 +29,7 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int flipip(double* x, int n)
|
||||
|
||||
\brief
|
||||
Flip real vector `x` in place
|
||||
|
||||
|
@ -81,7 +81,7 @@ Program result:
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int flipip(double* x, int n)
|
||||
|
||||
\brief Функция отражения вещественного вектора `x`
|
||||
|
||||
Функция производит отражение вещественного вектора длины `n`
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -30,7 +30,7 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int flipip_cmplx(complex_t* x, int n)
|
||||
|
||||
\brief Flip complex vector `x` in place
|
||||
|
||||
Function flips complex vector `x` length `n` in the memory
|
||||
|
@ -79,7 +79,7 @@ Program result:
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int flipip_cmplx(complex_t* x, int n)
|
||||
|
||||
\brief Функция отражения комплексного вектора `x`
|
||||
|
||||
Функция производит отражение комплексного вектора длины `n`
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -29,7 +29,7 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int linspace(double x0, double x1, int n, int type, double* x)
|
||||
|
||||
\brief Function fills a vector with `n` linearly spaced elements
|
||||
between `x0` and `x1`.
|
||||
|
||||
|
@ -96,7 +96,7 @@ Values in the vector `x` are:
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int linspace(double x0, double x1, int n, int type, double* x)
|
||||
|
||||
\brief Функция заполняет массив линейно-нарастающими, равноотстоящими
|
||||
значениями от `x0` до `x1`
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -29,7 +29,7 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int logspace(double x0, double x1, int n, int type, double* x)
|
||||
|
||||
\brief Function fills a vector with `n` logarithmically spaced elements
|
||||
between \f$10^{x_0}\f$ and \f$10^{x_1}\f$.
|
||||
|
||||
|
@ -105,7 +105,7 @@ Values in the vector `x` are:
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int logspace(double x0, double x1, int n, int type, double* x)
|
||||
|
||||
\brief Функция заполняет массив значениями логарифмической шкале
|
||||
|
||||
Заполняет массив `x` длиной `n` значениями в диапазоне
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -28,8 +28,8 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int ones(double* x, int n)
|
||||
\ingroup ARRAY_GROUP
|
||||
|
||||
\brief Function fills all real vector `x` by ones values.
|
||||
|
||||
\param[in, out] x
|
||||
|
@ -66,7 +66,6 @@ Vector `y` values are:
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int ones(double* x, int n)
|
||||
\brief Функция заполнения вещественного массива единицами
|
||||
|
||||
\param[in, out] x
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -28,15 +28,48 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int sum(double* x, int n, double* s)
|
||||
\ingroup ARRAY_GROUP
|
||||
|
||||
\author Sergey Bakhurin www.dsplib.org
|
||||
***************************************************************************** */
|
||||
#endif
|
||||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int sum(double* x, int n, double* s)
|
||||
\brief Расчет суммы элеметов массива
|
||||
|
||||
\param[in] x
|
||||
Указатель на вещественный вектор `x`. \n
|
||||
Размер вектора `[n x 1]`. \n
|
||||
\n
|
||||
|
||||
\param[in] n
|
||||
Размер вектора `x`. \n
|
||||
\n
|
||||
|
||||
\param[in] n
|
||||
Указатель на переменную суммы элементов массива. \n
|
||||
По данному указателю будет записан результат работы функции.
|
||||
\n
|
||||
|
||||
|
||||
\return
|
||||
`RES_OK` если функция выполнена успешно. \n
|
||||
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
|
||||
|
||||
Пример:
|
||||
\code{.cpp}
|
||||
double y[5] = {0.0, 1.0, 2.0, 3.0, 4.0};
|
||||
double s;
|
||||
sum(y, 5, &s);
|
||||
printf("s = %6.1f% \n", s);
|
||||
\endcode
|
||||
\n
|
||||
Результат выполнения:
|
||||
\verbatim
|
||||
s = 10
|
||||
\endverbatim
|
||||
|
||||
\author Бахурин Сергей www.dsplib.org
|
||||
***************************************************************************** */
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -27,15 +27,15 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int sum(double* x, int n, double* s)
|
||||
\ingroup ARRAY_GROUP
|
||||
|
||||
\author Sergey Bakhurin www.dsplib.org
|
||||
***************************************************************************** */
|
||||
#endif
|
||||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int sum(double* x, int n, double* s)
|
||||
|
||||
\author Бахурин Сергей www.dsplib.org
|
||||
***************************************************************************** */
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of DSPL.
|
||||
|
@ -27,8 +27,8 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int verif(double* x, double* y, size_t n, double eps, double* err)
|
||||
\ingroup ARRAY_GROUP
|
||||
|
||||
\brief Real arrays verification
|
||||
|
||||
Function calculates a maximum relative error between two real arrays `x`
|
||||
|
@ -78,7 +78,7 @@ Otherwise `DSPL_VERIF_FAILED`.
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int verif(double* x, double* y, size_t n, double eps, double* err)
|
||||
|
||||
\brief Верификация вещественных массивов
|
||||
|
||||
Функция производит расчет максимальной относительной ошибки между вещественными
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of DSPL.
|
||||
|
@ -31,8 +31,7 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int verif_cmplx(complex_t* x, complex_t* y, size_t n,
|
||||
double eps, double* err)
|
||||
|
||||
\brief
|
||||
Complex arrays verification
|
||||
|
||||
|
@ -87,8 +86,7 @@ www.dsplib.org
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup ARRAY_GROUP
|
||||
\fn int verif_cmplx(complex_t* x, complex_t* y, size_t n,
|
||||
double eps, double* err)
|
||||
|
||||
\brief Верификация комплексных массивов
|
||||
|
||||
Функция производит расчет максимальной относительной ошибки между комплексными
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of DSPL.
|
||||
|
@ -29,7 +29,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int conv(double* a, int na, double* b, int nb, double* c)
|
||||
\brief Real vectors linear convolution.
|
||||
|
||||
Function convolves two real vectors \f$ c = a * b\f$ length `na` and `nb`.
|
||||
|
@ -93,7 +92,6 @@ cr[5] = 12.0
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int conv(double* a, int na, double* b, int nb, double* c)
|
||||
\brief Линейная свертка двух вещественных векторов
|
||||
|
||||
Функция рассчитывает линейную свертку двух векторов \f$ c = a * b\f$.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of DSPL.
|
||||
|
@ -30,7 +30,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int conv_cmplx(complex_t* a, int na, complex_t* b, int nb, complex_t* c)
|
||||
\brief Complex vectors linear convolution.
|
||||
|
||||
Function convolves two complex vectors \f$ c = a * b\f$ length `na` and `nb`.
|
||||
|
@ -94,7 +93,6 @@ cc[5] = 0.0+24.0j
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int conv_cmplx(complex_t* a, int na, complex_t* b, int nb, complex_t* c)
|
||||
\brief Линейная свертка двух комплексных векторов
|
||||
|
||||
Функция рассчитывает линейную свертку двух векторов \f$ c = a * b\f$.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of DSPL.
|
||||
|
@ -31,8 +31,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int conv_fft(double* a, int na, double* b, int nb,
|
||||
fft_t* pfft, int nfft, double* c)
|
||||
\brief Real vectors fast linear convolution by using fast Fourier
|
||||
transform algorithms
|
||||
|
||||
|
@ -111,8 +109,6 @@ c[ 18] = 72.00 d[ 18] = 72.00
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int conv_fft(double* a, int na, double* b, int nb,
|
||||
fft_t* pfft, double* c)
|
||||
\brief Линейная свертка двух вещественных векторов с использованием алгоритмов
|
||||
быстрого преобразования Фурье
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -26,8 +26,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int conv_fft_cmplx(complex_t* a, int na, complex_t* b, int nb,
|
||||
fft_t* pfft, int nfft, complex_t* c)
|
||||
\brief Complex vectors fast linear convolution by using fast Fourier
|
||||
transform algorithms
|
||||
|
||||
|
@ -104,8 +102,6 @@ c[ 18] = -37.00 +484.00j d[ 18] = -37.00 +484.00j
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int conv_fft_cmplx(complex_t* a, int na, complex_t* b, int nb,
|
||||
fft_t* pfft, complex_t* c)
|
||||
\brief Линейная свертка двух комплексных векторов с использованием алгоритмов
|
||||
быстрого преобразования Фурье
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -26,7 +26,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int filter_iir(double* b, double* a, int ord, double* x, int n, double* y)
|
||||
\brief Real IIR filtration
|
||||
|
||||
Function calculates real IIR filter output for real signal. The real filter
|
||||
|
@ -99,7 +98,6 @@ GNUPLOT script for make plots is:
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup FILTER_CONV_GROUP
|
||||
\fn int filter_iir(double* b, double* a, int ord, double* x, int n, double* y)
|
||||
\brief Фильтрация вещественного сигнала вещественным БИХ-фильтром
|
||||
|
||||
Функция рассчитывает выход фильтра заданного выражением
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -28,7 +28,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int dft(double* x, int n, complex_t* y)
|
||||
\brief Discrete Fourier transform of a real signal.
|
||||
|
||||
The function calculates the \f$ n \f$ -point discrete Fourier transform
|
||||
|
@ -96,7 +95,6 @@ fast Fourier transform algorithms.
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int dft(double* x, int n, complex_t* y)
|
||||
\brief Дискретное преобразование Фурье вещественного сигнала.
|
||||
|
||||
Функция рассчитывает \f$ n \f$-точечное дискретное преобразование Фурье
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -28,7 +28,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int dft_cmplx(complex_t* x, int n, complex_t* y)
|
||||
\brief Discrete Fourier transform of a complex signal.
|
||||
|
||||
The function calculates the \f$ n \f$ -point discrete Fourier transform
|
||||
|
@ -96,7 +95,6 @@ use fast Fourier transform algorithms.
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int dft_cmplx(complex_t* x, int n, complex_t* y)
|
||||
\brief Дискретное преобразование Фурье комплексного сигнала.
|
||||
|
||||
Функция рассчитывает \f$ n \f$-точечное дискретное преобразование Фурье
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -30,7 +30,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fft(double* x, int n, fft_t* pfft, complex_t* y)
|
||||
\brief Fast Fourier transform for the real vector.
|
||||
|
||||
Function calculated \f$ n \f$-points FFT for the real vector
|
||||
|
@ -101,7 +100,6 @@ y[13] = -7.000 -30.669
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fft(double* x, int n, fft_t* pfft, complex_t* y)
|
||||
\brief Быстрое преобразование Фурье вещественного сигнала
|
||||
|
||||
Функция рассчитывает \f$ n \f$-точечное быстрое преобразование Фурье
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -29,7 +29,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fft_cmplx(complex_t* x, int n, fft_t* pfft, complex_t* y)
|
||||
\brief Fast Fourier transform for the complex vector.
|
||||
|
||||
Function calculated \f$ n \f$-points FFT for the complex vector
|
||||
|
@ -102,7 +101,6 @@ y[17] = -0.300 0.588
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fft_cmplx(complex_t* x, int n, fft_t* pfft, complex_t* y)
|
||||
\brief Быстрое преобразование Фурье комплексного сигнала
|
||||
|
||||
Функция рассчитывает \f$ n \f$-точечное быстрое преобразование Фурье
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -33,7 +33,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fft_create(fft_t* pfft, int n)
|
||||
\brief Function creates and fill `fft_t` structure.
|
||||
|
||||
The function allocates memory and calculates twiddle factors
|
||||
|
@ -97,7 +96,6 @@ The "magic number" 46340 because \f$\sqrt{2^{31}} = 46340.95\f$. \n
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fft_create(fft_t* pfft, int n)
|
||||
\brief Заполнение структуры `fft_t` для алгоритма БПФ
|
||||
|
||||
Функция производит выделение памяти и рассчет векторов
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -32,8 +32,7 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn void fft_free(fft_t *pfft)
|
||||
\ingroup DFT_GROUP
|
||||
\brief Free `fft_t` structure.
|
||||
|
||||
The function clears the intermediate data memory
|
||||
|
@ -48,7 +47,6 @@ Pointer to the `fft_t` object. \n
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn void fft_free(fft_t *pfft)
|
||||
\brief Очистить структуру `fft_t` алгоритма БПФ
|
||||
|
||||
Функция производит очищение памяти промежуточных данных
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -31,8 +31,7 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fft_shift(double* x, int n, double* y)
|
||||
\ingroup DFT_GROUP
|
||||
\brief Perform a shift of the vector `x`, for use with the `fft` and `ifft`
|
||||
functions, in order
|
||||
<a href="http://en.dsplib.org/content/dft_freq/dft_freq.html">
|
||||
|
@ -61,8 +60,7 @@ Else \ref ERROR_CODE_GROUP "code error".
|
|||
#endif
|
||||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fft_shift(double* x, int n, double* y)
|
||||
\ingroup DFT_GROUP
|
||||
\brief Перестановка спектральных отсчетов дискретного преобразования Фурье
|
||||
|
||||
Функция производит
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -29,9 +29,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fourier_series_dec(double* t, double* s, int nt, double period,
|
||||
int nw, double* w, complex_t* y)
|
||||
|
||||
\brief
|
||||
Fourier series coefficient calculation for periodic signal
|
||||
|
||||
|
@ -87,9 +84,6 @@ it is more expedient to use fast Fourier transform algorithms.
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fourier_series_dec(double* t, double* s, int nt, double period,
|
||||
int nw, double* w, complex_t* y)
|
||||
|
||||
\brief
|
||||
Расчет коэффициентов разложения в ряд Фурье
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -36,9 +36,7 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fourier_series_rec(double* w, complex_t* s, int nw,
|
||||
double* t, int nt, complex_t* y)
|
||||
\ingroup DFT_GROUP
|
||||
\brief Time signal reconstruction from Fourier series coefficients.
|
||||
|
||||
Function reconstructs the time signal:
|
||||
|
@ -96,8 +94,6 @@ can be ignored.
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int fourier_series_rec(double* w, complex_t* s, int nw,
|
||||
double* t, int nt, complex_t* y)
|
||||
\brief Восстановление сигнала при усечении ряда Фурье
|
||||
|
||||
Функция рассчитывает восстановленный сигнал при усечении ряда Фурье:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -26,7 +26,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int goertzel(double *x, int n, int *ind, int k, complex_t *y)
|
||||
\brief <a href = "http://en.dsplib.org/content/goertzel/goertzel.html">
|
||||
Goertzel algorithm </a> individual DFT samples calculation for the real input vector `x`.
|
||||
|
||||
|
@ -75,7 +74,6 @@ with indices modulo `n`. \n
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int goertzel(double *x, int n, int *ind, int k, complex_t *y)
|
||||
\brief <a href = "http://ru.dsplib.org/content/goertzel/goertzel.html">
|
||||
Алгоритм Гёрцеля</a> для расчета отдельных спектральных отсчетов дискретного
|
||||
преобразования Фурье вещественного сигнала `x`.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -27,7 +27,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int goertzel_cmplx(complex_t *x, int n, int *ind, int k, complex_t *y)
|
||||
\brief <a href = "http://en.dsplib.org/content/goertzel/goertzel.html">
|
||||
Goertzel algorithm </a> individual DFT samples calculation for
|
||||
the complex input vector `x`.
|
||||
|
@ -77,7 +76,6 @@ with indices modulo `n`. \n
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int goertzel_cmplx(complex_t *x, int n, int *ind, int k, complex_t *y)
|
||||
\brief <a href = "http://ru.dsplib.org/content/goertzel/goertzel.html">
|
||||
Алгоритм Гёрцеля</a> для расчета отдельных спектральных отсчетов дискретного
|
||||
преобразования Фурье комплексного сигнала `x`.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -27,7 +27,6 @@
|
|||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int idft_cmplx(complex_t* x, int n, complex_t* y)
|
||||
\brief Inverse discrete Fourier transform of the complex spectrum.
|
||||
|
||||
The function calculates the \f$ n \f$ -point inverse discrete transform
|
||||
|
@ -96,7 +95,6 @@ use fast Fourier transform algorithms.
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int idft_cmplx(complex_t* x, int n, complex_t* y)
|
||||
\brief Обратное дискретное преобразование Фурье комплексного спектра.
|
||||
|
||||
Функция рассчитывает \f$ n \f$-точечное обратное дискретное преобразование
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2022 Sergey Bakhurin
|
||||
* Copyright (c) 2015-2024 Sergey Bakhurin
|
||||
* Digital Signal Processing Library [http://dsplib.org]
|
||||
*
|
||||
* This file is part of libdspl-2.0.
|
||||
|
@ -28,8 +28,7 @@
|
|||
|
||||
#ifdef DOXYGEN_ENGLISH
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int ifft_cmplx(complex_t* x, int n, fft_t* pfft, complex_t* y)
|
||||
\ingroup DFT_GROUP
|
||||
\brief Inverse fast Fourier transform
|
||||
|
||||
Function calculates \f$ n \f$-point IFFT of complex data
|
||||
|
@ -104,7 +103,6 @@ Result:
|
|||
#ifdef DOXYGEN_RUSSIAN
|
||||
/*! ****************************************************************************
|
||||
\ingroup DFT_GROUP
|
||||
\fn int ifft_cmplx(complex_t* x, int n, fft_t* pfft, complex_t* y)
|
||||
\brief Обратное быстрое преобразование Фурье
|
||||
|
||||
Функция рассчитывает \f$ n \f$-точечное обратное быстрое преобразование Фурье
|
||||
|
|
Ładowanie…
Reference in New Issue