/*! ****************************************************************************
\ingroup DFT_GROUP
\fn int fourier_series_dec(double* t, double* s, int nt, double period,
       int nw, double* w, complex_t* y)

\brief
Расчет коэффициентов разложения в ряд Фурье

Функция рассчитывает спектр периодического сигнала при усечении ряда Фурье \n


\param[in]  t
Указатель на массив моментов времени дискретизации исходного сигнала `s`. \n
Размер вектора  вектора `[nt x 1]`. \n
Память должна быть выделена. \n 
\n

\param[in]  s
Указатель на массив значений исходного сигнала`s`. \n
Размер вектора `[nt x 1]`. \n
Память должна быть выделена. \n 
\n


\param[in]  nt
Размер выборки исходного сигнала. \n
Значение должно быть положительным. \n 
\n

\param[in]  period
Период повторения сигнала. \n 
\n

\param[in]  nw
Размер усеченного ряда Фурье. \n 
\n

\param[out]  w
Указатель на массив частот спектра периодического сигнала. \n
Размер вектора  `[nw x 1]`. \n
Память должна быть выделена. \n
\n

\param[out]  y
Указатель массив комплексных значений спектра периодического сигнала. \n
Размер вектора  `[nw x 1]`. \n
Память должна быть выделена. \n 
\n

\return
`RES_OK` --- коэффициенты ряда Фурье рассчитаны успешно. \n
В противном случае \ref ERROR_CODE_GROUP "код ошибки". \n

\note
Для расчета спектра сигнала используется численное интегрирование
исходного сигнала методом трапеций. Данная функция не является
эффективной. Для увеличения скорости расчета спектра сигнала
целесообразнее использовать алгоритмы дискретного
и быстрого преобразования Фурье.
\n

\author
Бахурин Сергей
www.dsplib.org
***************************************************************************** */






/*! ****************************************************************************
\ingroup DFT_GROUP
\fn int  fourier_series_rec(double* w, complex_t* s, int nw,
            double* t, int nt, complex_t* y)
\brief Восстановление сигнала при усечении ряда Фурье

Функция рассчитывает восстановленный сигнал при усечении ряда Фурье:

\f[
s(t) = \sum\limits_{n = 0}^{n_{\omega}-1} S(\omega_n) \exp(j\omega_n t)
\f]

\param[in]  w
Указатель на массив частот  \f$\omega_n\f$ усеченного ряда Фурье. \n
Размер  вектора `[nw x 1]`. \n
Память должна быть выделена и заполнена. \n 
\n

\param[in]  s
Указатель на массив значений спектра \f$S(\omega_n)\f$. \n
Размер   вектора `[nw x 1]`. \n
Память должна быть выделена и заполнена. \n 
\n


\param[in]  nw
Количество членов усеченного ряда Фурье. \n
Значение должно быть положительным. \n 
\n

\param[in]  t   Указатель на массив временных отсчетов 
восстановленного сигнала. \n
Размер   вектора `[nt x 1]`. \n
Память должна быть выделена и заполнена. \n 
\n

\param[in]  nt
Размер вектора времени и восстановленного сигнала. \n 
\n

\param[out]  y
Указатель на массив восстановленного сигнала. \n
Размер вектора  `[nt x 1]`. \n
Память должна быть выделена. \n 
\n

\return
`RES_OK` --- восстановление сигнала прошло успешно. \n
В противном случае \ref ERROR_CODE_GROUP "код ошибки". \n

\note
Выходной восстановленный сигнал в общем случае является комплексным.
Однако при соблюдении свойств симметрии векторов `w` и `s` относительно
нулевой частоты получим мнимую часть элементов вектора `y` на уровне ошибок
округления числа с двойной точностью. Ничтожно малую мнимую часть в этом случае
можно игнорировать.
\n

\author
Бахурин Сергей
www.dsplib.org
***************************************************************************** */
