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

136 wiersze
5.6 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 dft(double* x, int n, complex_t *y)
\brief Дискретное преобразование Фурье вещественного сигнала.
Функция рассчитывает \f$ n \f$-точечное дискретное преобразование Фурье
вещественного сигнала \f$ x(m) \f$, \f$ m = 0 \ldots n-1 \f$.<BR>
\f[
Y(k) = \sum_{m = 0}^{n-1} x(m) \cdot \exp \left( -j \cdot \frac{2\pi}{n} \cdot m \cdot k \right),
\f]
где \f$ k = 0 \ldots n-1 \f$.
\param[in] x Указатель на вектор вещественного входного сигнала \f$x(m)\f$,
\f$ m = 0 \ldots n-1 \f$. <BR>
Размер вектора `[n x 1]`. <BR><BR>
\param[in] n Размер ДПФ \f$n\f$ (размер векторов входного сигнала и результата ДПФ).<BR><BR>
\param[out] y Указатель на комплексный вектор результата ДПФ \f$Y(k)\f$,
\f$ k = 0 \ldots n-1 \f$. Размер вектора `[n x 1]`. <BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` если ДПФ рассчитана успешно. <BR>
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
Пример использования функции `dft`:
\include dft_test.c
Результат работы программы:
\verbatim
y[ 0] = 120.000 0.000
y[ 1] = -8.000 40.219
y[ 2] = -8.000 19.314
y[ 3] = -8.000 11.973
y[ 4] = -8.000 8.000
y[ 5] = -8.000 5.345
y[ 6] = -8.000 3.314
y[ 7] = -8.000 1.591
y[ 8] = -8.000 0.000
y[ 9] = -8.000 -1.591
y[10] = -8.000 -3.314
y[11] = -8.000 -5.345
y[12] = -8.000 -8.000
y[13] = -8.000 -11.973
y[14] = -8.000 -19.314
y[15] = -8.000 -40.219
\endverbatim
\author
Бахурин Сергей.
www.dsplib.org
\note
Данная функция выполняет расчет ДПФ наивным методом
и требует \f$ n^2 \f$ комплексных умножений.<BR>
Для увеличения скорости расчета рекомендуется
использовать алгоритмы быстрого преобразования Фурье.
**************************************************************************************************** */
/*! *************************************************************************************************
\ingroup DFT_GROUP
\fn int dft_cmplx(complex_t* x, int n, complex_t *y)
\brief Дискретное преобразование Фурье комплексного сигнала.
Функция рассчитывает \f$ n \f$-точечное дискретное преобразование Фурье
комплексного сигнала \f$ x(m) \f$, \f$ m = 0 \ldots n-1 \f$.<BR>
\f[
Y(k) = \sum_{m = 0}^{n-1} x(m) \cdot \exp \left( -j \cdot \frac{2\pi}{n} \cdot m \cdot k \right),
\f]
где \f$ k = 0 \ldots n-1 \f$.
\param[in] x Указатель на вектор комплексного входного сигнала \f$x(m)\f$,
\f$ m = 0 \ldots n-1 \f$. <BR>
Размер вектора `[n x 1]`. <BR><BR>
\param[in] n Размер ДПФ \f$n\f$ (размер векторов входного сигнала и результата ДПФ).<BR><BR>
\param[out] y Указатель на комплексный вектор результата ДПФ \f$Y(k)\f$,
\f$ k = 0 \ldots n-1 \f$. Размер вектора `[n x 1]`. <BR>
Память должна быть выделена.<BR><BR>
\return
`RES_OK` если ДПФ рассчитана успешно. <BR>
В противном случае \ref ERROR_CODE_GROUP "код ошибки".
Пример использования функции `dft_cmplx`:
\include dft_cmplx_test.c
Результат работы программы:
\verbatim
y[ 0] = 120.000 0.000
y[ 1] = -8.000 40.219
y[ 2] = -8.000 19.314
y[ 3] = -8.000 11.973
y[ 4] = -8.000 8.000
y[ 5] = -8.000 5.345
y[ 6] = -8.000 3.314
y[ 7] = -8.000 1.591
y[ 8] = -8.000 0.000
y[ 9] = -8.000 -1.591
y[10] = -8.000 -3.314
y[11] = -8.000 -5.345
y[12] = -8.000 -8.000
y[13] = -8.000 -11.973
y[14] = -8.000 -19.314
y[15] = -8.000 -40.219
\endverbatim
\author
Бахурин Сергей.
www.dsplib.org
\note
Данная функция выполняет расчет ДПФ наивным методом
и требует \f$ n^2 \f$ комплексных умножений.<BR>
Для увеличения скорости расчета рекомендуется
использовать алгоритмы быстрого преобразования Фурье.
**************************************************************************************************** */