libdspl-2.0/dspl/dox/ru/fourier_series.dox

128 wiersze
5.3 KiB
Plaintext
Czysty Wina Historia

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*! ****************************************************************************
\ingroup DFT_GROUP
\fn int fourier_series_dec(double* t, double* s, int nt,
double period, int nw, double* w, complex_t* y)
\brief Расчет коэффициентов разложения в ряд Фурье
Функция рассчитывает спектр периодического сигнала при усечении ряда Фурье<BR>
\param[in] t Указатель на массив моментов времени дискретизации
исходного сигнала `s`<BR>
размер вектора вектора `[nt x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] s Указатель на массив значений исходного сигнала`s`<BR>
размер вектора вектора `[nt x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[in] nt размер выборки исходного сигнала.<BR>
Значение должно быть положительным.<BR><BR>
\param[in] period Период повторения сигнала.<BR><BR>
\param[in] nw Размер усеченного ряда Фурье.<BR><BR>
\param[out] w Указатель на массив частот спектра
периодического сигнала.<BR>
Размер вектора `[nw x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\param[out] y Указатель массив комплексных значений спектра
периодического сигнала.<BR>
Размер вектора `[nw x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Массивы нулей и полюсов рассчитаны успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\note
Для расчета спектра сигнала используется численное интегрирование
исходного сигнала методом трапеций. Данная функция не является
эффективной. Для увеличения скорости расчета спектра сигнала
целесообразнее использовать алгоритмы дискретного
и быстрого преобразования Фурье.
<BR>
\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$
усеченного ряда Фурье.<BR>
Размер вектора `[nw x 1]`.<BR>
Память должна быть выделена и заполнена.<BR><BR>
\param[in] s Указатель на массив значений спектра
\f$S(\omega_n)\f$.<BR>
Размер вектора `[nw x 1]`.<BR>
Память должна быть выделена и заполнена.<BR><BR>
\param[in] nw Количество членов усеченного ряда Фурье.<BR>
Значение должно быть положительным.<BR><BR>
\param[in] t Указатель на массив временных отсчетов
восстановленного сигнала.<BR>
Размер вектора `[nt x 1]`.<BR>
Память должна быть выделена и заполнена.<BR><BR>
<BR><BR>
\param[in] nt Размер вектора времени и восстановленного сигнала.
<BR><BR>
\param[out] y Указатель на массив восстановленного сигнала.<BR>
Размер вектора `[nt x 1]`.<BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` Массивы нулей и полюсов рассчитаны успешно.<BR>
В противном случае
\ref ERROR_CODE_GROUP "код ошибки".<BR>
\note
Выходной восстановленный сигнал в общем случае является комплексным.
Однако при соблюдении свойств симметрии векторов `w` и `s` относительно
нулевой частоты получим мнимую часть элементов вектора `y` на уровне ошибок
округления числа с двойной точностью. Ничтожно малую мнимую часть в этом случае
можно игнорировать.
<BR>
\author
Бахурин Сергей
www.dsplib.org
***************************************************************************** */