convol
Свёртка
Синтаксис
y = convol(h, x) [y,e1] = convol(h, x, e0)
Аргументы
- h
вектор, первая входная последовательность ("короткая");
- x
вектор, вторая входная последовательность ("длинная");
- e0
вектор, старый остаток для добавления перекрытия (не используется в первом вызове);
- y
вектор, свёртка;
- e1
новый остаток для добавления перекрытия (не используется в последнем вызове).
Описание
Вычисляет свёртку y= h*x
двух дискретных
последовательностей с помощю БПФ (fft). Свёртка определяется следующим
образом:

Может быть использован метод добавления перекрытия.
ИСПОЛЬЗОВАНИЕ МЕТОДА ДОБАВЛЕНИЯ ПЕРЕКРЫТИЯ: Для
x = [x1, x2,..., xNm1, xN]
Первый вызов:
[y1, e1] = convol(h, x1);
Последующие вызовы:
[yk, ek] = convol(h, xk, ekm1)
; Последний вызов:
[yN] = convol(h, xN, eNm1);
Наконец
y = [y1, y2,..., yNm1, yN]
.
Алгоритм, основанный на определении свёртки, реализован для произведения
полиномов: y = convol(h, x)
эквивалентен
y = coeff(poly(h,'z','c') * poly(x,'z','c'))
, но
гораздо более эффективен, если x
является "длинным"
массивом.
Примеры
Смотрите также
Report an issue | ||
<< conv2 | correlation_convolution | convol2d >> |