/*! **************************************************************************************************
\ingroup DFT_GROUP
\fn int goertzel(double *x, int n, int *ind, int k, complex_t *y)
\brief Алгоритм Герцеля для расчета отдельных спектральных отсчетов
дискретного преобразования Фурье вещественного сигнала `x`.
Данный алгоритм позволяет рассчитать `k` спектральных отсчетов `n`-точечного ДПФ,
заданных вектором индексов `ind`.
\param[in] x Указатель на вектор вещественного входного сигнала.
Размер вектора `[n x 1]`.
\param[in] n Размер вектора входного сигнала.
\param[in] ind Указатель на вектор индексов спектральных отсчетов для расчета которых
будет использоваться алгоритм Герцеля.
Размер вектора `[k x 1]`.
\param[in] k Размер вектора индексов спектральных отсчетов `ind`.
\param[out] y Указатель на вектор спектральных отсчетов,
соответствующих номерам `ind`.
Размер вектора `[k x 1]`.
Память должна быть выделена.
\return
`RES_OK` Функция выполнена успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\note
Алгоритм Герцеля эффективен когда необходимо рассчитать несколько спектральных отсчетов
сигнала большой длительности.
Однако, размер `k` вектора индексов `ind` может быть произвольным,
в том числе больше длины сигнала `n`. В этом случае некоторые спектральные отсчеты
будут повторяться, но это не повлечет за собой ошибки выполнения.
Значения индексов спектральных отсчетов `ind` также могут быть произвольными целыми,
в том числе и отрицательными. В этом случае будут рассчитаны спектральные отсчеты с индексами
по модулю `n`.
\author
Бахурин Сергей.
www.dsplib.org
**************************************************************************************************** */
/*! **************************************************************************************************
\ingroup DFT_GROUP
\fn int goertzel_cmplx(complex_t *x, int n, int *ind, int k, complex_t *y)
\brief Алгоритм Герцеля для расчета отдельных спектральных отсчетов
дискретного преобразования Фурье комплексного сигнала `x`.
Данный алгоритм позволяет рассчитать `k` спектральных отсчетов `n`-точечного ДПФ,
заданных вектором индексов `ind`.
\param[in] x Указатель на вектор комплексного входного сигнала.
Размер вектора `[n x 1]`.
\param[in] n Размер вектора входного сигнала.
\param[in] ind Указатель на вектор индексов спектральных отсчетов для расчета которых
будет использоваться алгоритм Герцеля.
Размер вектора `[k x 1]`.
\param[in] k Размер вектора индексов спектральных отсчетов `ind`.
\param[out] y Указатель на вектор спектральных отсчетов,
соответствующих номерам `ind`.
Размер вектора `[k x 1]`.
Память должна быть выделена.
\return
`RES_OK` Функция выполнена успешно.
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
\note
Алгоритм Герцеля эффективен когда необходимо рассчитать несколько спектральных отсчетов
сигнала большой длительности.
Однако, размер `k` вектора индексов `ind` может быть произвольным,
в том числе больше длины сигнала `n`. В этом случае некоторые спектральные отсчеты
будут повторяться, но это не повлечет за собой ошибки выполнения.
Значения индексов спектральных отсчетов `ind` также могут быть произвольными целыми,
в том числе и отрицательными. В этом случае будут рассчитаны спектральные отсчеты с индексами
по модулю `n`.
\author
Бахурин Сергей.
www.dsplib.org
**************************************************************************************************** */