![]() |
libdspl-2.0
Библиотека алгоритмов цифровой обработки сигналов
|
Функции | |
int | xcorr_cmplx (complex_t *x, int nx, complex_t *y, int ny, int flag, int nr, complex_t *r, double *t) |
Оценка вектора взаимной корреляции для дискретных комплексных последовательностей x и y . Подробнее... | |
int | find_max_abs (double *a, int n, double *m, int *ind) |
Поиск максимального по модулю элемента вещественного вектора a Подробнее... | |
int | mean (double *x, int n, double *m) |
Выборочная оценка математического ожидания вещественного вектора x Подробнее... | |
int | mean_cmplx (complex_t *x, int n, complex_t *m) |
Выборочная оценка математического ожидания комплексного вектора x Подробнее... | |
int | stat_std (double *x, int n, double *s) |
Выборочная оценка стандартного отклонения вещественного вектора x Подробнее... | |
int | stat_std_cmplx (complex_t *x, int n, double *s) |
Выборочная оценка стандартного отклонения комплексного вектора x Подробнее... | |
int | xcorr (double *x, int nx, double *y, int ny, int flag, int nr, double *r, double *t) |
Оценка вектора взаимной корреляции для дискретных вещественных последовательностей x и y . Подробнее... | |
Подробное описание
Функции
◆ find_max_abs()
int find_max_abs | ( | double * | a, |
int | n, | ||
double * | m, | ||
int * | ind | ||
) |
Поиск максимального по модулю элемента вещественного вектора a
Функция производит поиск максимального по модулю значения вектора a
.
Максимальное по модулю значение max|a[k]|
сохраняется по адресу m
, а индекс данного значения в векторе a
сохраняется по адресу ind
.
- Аргументы
-
[in] a Указатель на вещественный вектор a
.
Размер вектора[n x 1]
.
[in] n Размер входного вектора a
.
[out] m Указатель на адрес памяти, в который сохранить максимальное по модулю значение вектора a
.
Указатель может бытьNULL
, в этом случае максимальное по модулю значение не сохраняется.
[out] ind Указатель на переменную, в которую будет сохранен индекс максимального по модулю значению вектора a
.
Указатель может бытьNULL
, в этом случае индекс не возвращается.
- Возвращает
RES_OK
если функция выполнена успешно.
В противном случае код ошибки.
Пример:
В результате в переменную m
будет записано значение 5
, а в переменную ind
значение 2
.
См. определение в файле find_max_abs.c строка 121
◆ mean()
int mean | ( | double * | x, |
int | n, | ||
double * | m | ||
) |
Выборочная оценка математического ожидания вещественного вектора x
Функция рассчитывает оценку математического ожидания
\[ m = \frac{1}{n} \sum_{i = 0}^{n-1} x(i) \]
- Аргументы
-
[in] x Указатель на вещественный вектор x
.
Размер вектора[n x 1]
.
[in] n Размер входного вектора x
.
[out] m Указатель на адрес памяти, в который сохранить рассчитанное значение математического ожидания вектора x
.
Память должна быть выделена.
- Возвращает
RES_OK
если функция выполнена успешно.
В противном случае код ошибки.
Пример:
В результате в переменную m
будет записано значение 2
.
См. определение в файле mean.c строка 105
Используется в stat_std().
◆ mean_cmplx()
Выборочная оценка математического ожидания комплексного вектора x
Функция рассчитывает оценку математического ожидания
\[ m = \frac{1}{n} \sum_{i = 0}^{n-1} x(i) \]
- Аргументы
-
[in] x Указатель на комплексный вектор x
.
Размер вектора[n x 1]
.
[in] n Размер входного вектора x
.
[out] m Указатель на адрес памяти, в который сохранить рассчитанное значение математического ожидания вектора x
.
Память должна быть выделена.
- Возвращает
RES_OK
если функция выполнена успешно.
В противном случае код ошибки.
Пример:
В результате в переменную m
будет записано значение 1 + 3j
.
См. определение в файле mean_cmplx.c строка 108
Используется в stat_std_cmplx().
◆ stat_std()
int stat_std | ( | double * | x, |
int | n, | ||
double * | s | ||
) |
Выборочная оценка стандартного отклонения вещественного вектора x
Функция рассчитывает оценку стандартного отклонения
\[ s = \sqrt{\frac{1}{n-1} \sum_{i = 0}^{n-1} \big(x(i) - \mu \big)^2}, \]
где \(\mu\) - выборочная оценка математического ожидания вектора x
:
\[ \mu = \frac{1}{n} \sum_{i = 0}^{n-1} x(i). \]
- Аргументы
-
[in] x Указатель на вещественный вектор x
.
Размер вектора[n x 1]
.
[in] n Размер входного вектора x
.
[out] s Указатель на адрес памяти, в который сохранить рассчитанное значение стандартного отклонения вектора x
.
Память должна быть выделена.
- Возвращает
RES_OK
если функция выполнена успешно.
В противном случае код ошибки.
Пример:
В результате в переменную s
будет записано значение 1.5811
.
См. определение в файле stat_std.c строка 116
◆ stat_std_cmplx()
int stat_std_cmplx | ( | complex_t * | x, |
int | n, | ||
double * | s | ||
) |
Выборочная оценка стандартного отклонения комплексного вектора x
Функция рассчитывает оценку стандартного отклонения
\[ s = \sqrt{\frac{1}{n-1} \sum_{i = 0}^{n-1} \big|x(i) - \mu \big|^2}, \]
где \(\mu\) - выборочная оценка математического ожидания вектора x
:
\[ \mu = \frac{1}{n} \sum_{i = 0}^{n-1} x(i). \]
- Заметки
- Для комплексного вектора данных, величина стандартного отклонения всегда вещественная и неотрицательная.
- Аргументы
-
[in] x Указатель на комплексный вектор x
.
Размер вектора[n x 1]
.
[in] n Размер входного вектора x
.
[out] s Указатель на адрес памяти, в который сохранить рассчитанное значение стандартного отклонения вектора x
.
Память должна быть выделена.
- Возвращает
RES_OK
если функция выполнена успешно.
В противном случае код ошибки.
Пример:
В результате в переменную s
будет записано значение 3.3665
.
См. определение в файле stat_std_cmplx.c строка 113
◆ xcorr()
int xcorr | ( | double * | x, |
int | nx, | ||
double * | y, | ||
int | ny, | ||
int | flag, | ||
int | nr, | ||
double * | r, | ||
double * | t | ||
) |
Оценка вектора взаимной корреляции для дискретных вещественных последовательностей x
и y
.
Функция производит оценку вектора взаимной корреляции \(\widehat{r}_{xy}(k)\) для векторов x
и y
или вектора автокорреляции \(\widehat{r}_{xx}(k)\) если \(x = y \).
Несмещенная оценка вектора взаимной корреляции:
\[ \widehat{r}_{xy}(k) = \frac{1}{N-k} \sum\limits_{n = 0}^{N-k-1} x(n+k)y^*(n), \qquad 0 \leq k <N; \]
\[ \widehat{r}_{xy}(k) = \frac{1}{N+k} \sum\limits_{n = 0}^{N+k-1} y^*(n-k)x(n), \qquad -N < k < 0. \]
где \( N = \max(n_x, n_y) \).
Данная функция использует алгоритм FFT для вычислительной эффективности оценки:
\[ \breve{r}_{xy}(k) = \operatorname{IFFT}\Big[ \operatorname{FFT}\big[ \mathbf{x} \big] \operatorname{FFT}^*\big[ \mathbf{y} \big] \Big] \]
- Аргументы
-
[in] x Указатель на первую дискретную последовательность x
.
Размер вектора[nx x 1]
.
[in] nx Размер вектора первой дискретной последовательности x
.
[in] y Указатель на вторую дискретную последовательность y
.
Размер вектора[ny x 1]
.
[in] ny Размер вектора второй дискретной последовательности y
.
[in] flag Флаг задает способ масштабирования выходного корреляционного вектора \(\breve{r}_{xy}(k)\).
Может принимать одно из следующих значений:
DSPL_XCORR_NOSCALE
немасштабированный выход алгоритма IFFT \(\breve{r}_{xy}(k)\);
DSPL_XCORR_BIASED
Смещенная оценка \(\breve{r}_{xy}(k)/N \);
DSPL_XCORR_UNBIASED
Несмещенная оценка \(\widehat{r}_{xy}(k) = \frac{\breve{r}_{xy}(k)}{N-|k|} \);
[in] nr Диапазон оценки вектора корреляции относительно нуля.
Вектор \(\widehat{r}_{xy}(k)\) рассчитывается для значений аргумента \( k= -n_r,\,\, -n_r +1, \ldots n_r\).
[out] r Указатель на масштабированный вектор взаимной корреляции.
Размер вектора[(2*nr+1) x 1]
.
Память должна быть выделена.
[out] t Указатель на значения аргумента вектора взаимной корреляции
\( k= -n_r,\,\, -n_r +1, \ldors n_r\).
Размер вектора[(2*nr+1) x 1]
.
Указатель может бытьNULL
. В этом случае значения аргумента не возвращаются.
- Возвращает
RES_OK
Если функция рассчитана успешно.
В противном случае код ошибки.
◆ xcorr_cmplx()
int xcorr_cmplx | ( | complex_t * | x, |
int | nx, | ||
complex_t * | y, | ||
int | ny, | ||
int | flag, | ||
int | nr, | ||
complex_t * | r, | ||
double * | t | ||
) |
Оценка вектора взаимной корреляции для дискретных комплексных последовательностей x
и y
.
int xcorr_cmplx(complex_t* x, int nx, complex_t* y, int ny, int flag, int nr, complex_t* r, double* t)
Функция производит оценку вектора взаимной корреляции \(\widehat{r}_{xy}(k)\) для векторов x
и y
или вектора автокорреляции \(\widehat{r}_{xx}(k)\) если \(x = y \).
Несмещенная оценка вектора взаимной корреляции:
\[ \widehat{r}_{xy}(k) = \frac{1}{N-k} \sum\limits_{n = 0}^{N-k-1} x(n+k)y^*(n), \qquad 0 \leq k <N; \]
\[ \widehat{r}_{xy}(k) = \frac{1}{N+k} \sum\limits_{n = 0}^{N+k-1} y^*(n-k)x(n), \qquad -N < k < 0. \]
где \( N = \max(n_x, n_y) \).
Данная функция использует алгоритм FFT для вычислительной эффективности оценки:
\[ \breve{r}_{xy}(k) = \operatorname{IFFT}\Big[ \operatorname{FFT}\big[ \mathbf{x} \big] \operatorname{FFT}^*\big[ \mathbf{y} \big] \Big] \]
- Аргументы
-
[in] x Указатель на первую дискретную последовательность x
.
Размер вектора[nx x 1]
.
[in] nx Размер вектора первой дискретной последовательности x
.
[in] y Указатель на вторую дискретную последовательность y
.
Размер вектора[ny x 1]
.
[in] ny Размер вектора второй дискретной последовательности y
.
[in] flag Флаг задает способ масштабирования выходного корреляционного вектора \(\breve{r}_{xy}(k)\).
Может принимать одно из следующих значений:
DSPL_XCORR_NOSCALE
немасштабированный выход алгоритма IFFT \(\breve{r}_{xy}(k)\);
DSPL_XCORR_BIASED
Смещенная оценка \(\breve{r}_{xy}(k)/N \);
DSPL_XCORR_UNBIASED
Несмещенная оценка \(\widehat{r}_{xy}(k) = \frac{\breve{r}_{xy}(k)}{N-|k|} \);
[in] nr Диапазон оценки вектора корреляции относительно нуля.
Вектор \(\widehat{r}_{xy}(k)\) рассчитывается для значений аргумента \( k= -n_r,\,\, -n_r +1, \ldots n_r\).
[out] r Указатель на масштабированный вектор взаимной корреляции.
Размер вектора[(2*nr+1) x 1]
.
Память должна быть выделена.
[out] t Указатель на значения аргумента вектора взаимной корреляции
\( k= -n_r,\,\, -n_r +1, \ldors n_r\).
Размер вектора[(2*nr+1) x 1]
.
Указатель может бытьNULL
. В этом случае значения аргумента не возвращаются.
- Возвращает
RES_OK
Если функция рассчитана успешно.
В противном случае код ошибки.
Документация по libdspl-2.0. Последние изменения: Ср 5 Янв 2022 12:44:35. Создано системой