![]() |
libdspl-2.0
Библиотека алгоритмов цифровой обработки сигналов
|
Макросы | |
#define | RE(x) (x[0]) |
Макрос определяющий реальную часть комплексного числа. Подробнее... | |
#define | IM(x) (x[1]) |
Макрос определяющий мнимую часть комплексного числа. Подробнее... | |
#define | ABSSQR(x) ((SQR(RE(x))) + (SQR(IM(x)))) |
Макрос возвращает квадрат модуля комплексного числа x . Подробнее... | |
Определения типов | |
typedef double | complex_t[2] |
Описание комплексного типа данных. Подробнее... | |
Функции | |
int | cmplx2re (complex_t *x, int n, double *re, double *im) |
Преобразование массива комплексных данных в два массива вещественных данных, содержащих реальную и мнимую части исходного массива Подробнее... | |
int | re2cmplx (double *x, int n, complex_t *y) |
Преобразование массива вещественных данных в массив комплексных данных. Подробнее... | |
Подробное описание
В данной группе описаны типы данных библиотеки DSPL и методы их преобразования.
Макросы
◆ ABSSQR
◆ IM
#define IM | ( | x | ) | (x[1]) |
Макрос определяющий мнимую часть комплексного числа.
Например:
Переменная z = 1-2j
, где j
- мнимая единица.
Аналогично, макрос можно использовать для получения мнимой части комплексного числа:
В данном примере переменная z = 3-4i
, а в переменой r
будет храниться число -4.
◆ RE
#define RE | ( | x | ) | (x[0]) |
Макрос определяющий реальную часть комплексного числа.
Например:
Переменная z = 1-2j
, где j
— мнимая единица.
Аналогично, макрос можно использовать для получения реальной части комплексного числа:
В данном примере переменная z = 3-4i
, а в переменой r
будет храниться число 3.
Типы
◆ complex_t
complex_t |
Описание комплексного типа данных.
Комплексный тип данных в библиотеке libdspl-2.0 определен как массив из двух элементов типа double
. При этом первый элемент массива определяет реальную часть комплексного числа, а второй - мнимую.
Например:
Переменная z = 1-2j
, где j
- мнимая единица.
Для удобства работы с комплексными числами реализованы специальные макросы: RE, IM, ABSSQR
Функции
◆ cmplx2re()
int cmplx2re | ( | complex_t * | x, |
int | n, | ||
double * | re, | ||
double * | im | ||
) |
Преобразование массива комплексных данных в два массива вещественных данных, содержащих реальную и мнимую части исходного массива
Функция заполняет реальные массивы re
и im
соответствующими значениями реальной и мнимой частей исходного комплексного массива x
.
- Аргументы
-
[in] x Указатель на массив комплексных данных.
Размер массива[n x 1]
.
[in] n Размер массивов входных и выходных данных.
[out] re Указатель на адрес массива реальной части данных.
Размер массива[n x 1]
.
Память должна быть выделена.
[out] im Указатель на адрес массива мнимой части данных.
Размер массива[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
если преобразование произведено успешно.
В противном случае код ошибки:
Например при выполнении следующего кодаcomplex_t x[3] = {{1.0, 2.0}, {3.0, 4.0}, {5.0, 6.0}};double re[3], im[3];cmplx2re(x, 3, re, im);int cmplx2re(complex_t *x, int n, double *re, double *im)Преобразование массива комплексных данных в два массива вещественных данных, содержащих реальную и мн...Definition: cmplx2re.c:130
Элементам массивов re
и im
будут присвоены значения:
re[0] = 1.0; im[0] = 2.0; re[1] = 3.0; im[1] = 4.0; re[2] = 5.0; im[2] = 6.0;
См. определение в файле cmplx2re.c строка 130
Используется в xcorr().
◆ re2cmplx()
int re2cmplx | ( | double * | x, |
int | n, | ||
complex_t * | y | ||
) |
Преобразование массива вещественных данных в массив комплексных данных.
Функция заполняет реальные части массива y
данных соответсвующими значениями исходного вещественного массива x
.
- Аргументы
-
[in] x Указатель на массив вещественных данных.
Размер массива[n x 1]
.
[in] n Размер массивов входных и выходных данных.
[out] y Указатель на адрес массива комплексных данных.
Размер массива[n x 1]
.
Память должна быть выделена.
- Возвращает
RES_OK
если преобразование произведено успешно.
В противном случае код ошибки:
Например при выполнении следующего кодаdouble x[3] = {1.0, 2.0, 3.0};complex_t y[3];re2cmplx(x, 3, y);int re2cmplx(double *x, int n, complex_t *y)Преобразование массива вещественных данных в массив комплексных данных.Definition: re2cmplx.c:120
Значениям y
будут присвоены значения:
y[0] = 1+0j; y[1] = 2+0j; y[2] = 3+0j.
См. определение в файле re2cmplx.c строка 120
Документация по libdspl-2.0. Последние изменения: Ср 5 Янв 2022 12:44:34. Создано системой