Convolutions — методы подобия
#
DSP.conv
— Function
conv(u,v)
Свертка двух массивов. Используется либо свертка на основе БПФ, либо перекрытие с сохранением в зависимости от размера входных данных. u
и v
могут быть N-мерными массивами с произвольными смещениями индексов, но их оси должны быть UnitRange
.
conv(u,v,A)
Двухмерная свертка матрицы A
с двухмерным разделяющимся ядром, создаваемым на основе векторов u
и v
. Используется алгоритм двухмерного БПФ.
#
DSP.deconv
— Function
deconv(b,a) -> c
Создает вектор c
такой, что b = conv(a,c) + r
. Равносильно полиномиальному делению.
#
DSP.xcorr
— Function
xcorr(u,v; padmode = :none)
Вычисляет взаимную корреляцию двух векторов, определяя подобие u
и v
при разных смещениях v
. При запаздывании u
относительно v
результат сдвигается вправо.
Размер выходных данных зависит от именованного аргумента padmode: при padmode = :none результат будет иметь длину length(u) + length(v) - 1, как и в случае с conv. При padmode = :longest более короткий из двух аргументов дополняется так, чтобы они были равной длины. Результат будет иметь длину 2*max(length(u), length(v))-1, причем условие нулевого запаздывания будет находиться в центре.