Расстояние между сигналами с использованием динамического искажения времени
растягивает два вектора, dist = dtw(x,y)x и y, на общий набор моментов, таких, что dist, сумма евклидовых расстояний между соответствующими точками, является наименьшей. Чтобы растянуть входные данные, dtw повторяет каждый элемент x и y столько раз, сколько необходимо. Если x и y являются матрицами, то dist растягивает их, повторяя их столбцы. В этом случае x и y должно иметь одинаковое количество строк.
[ возвращает общий набор моментов, или путь деформации, такой, что dist,ix,iy] = dtw(x,y)x(ix) и y(iy) имеют наименьшее возможное dist между ними.
Векторы ix и iy имеют одинаковую длину. Каждая содержит монотонно возрастающую последовательность, в которой индексы к элементам соответствующего сигнала, x или y, повторяются необходимое количество раз.
Когда x и y - матрицы, ix и iy таковы, что x(:,ix) и y(:,iy) минимально разделены.
dtw(___) без выходных аргументов строит график исходного и выровненного сигналов.
Если сигналы являются действительными векторами, функция отображает два исходных сигнала на субплоте и выровненные сигналы на субплоте ниже первого.
Если сигналы являются комплексными векторами, функция отображает исходные и выровненные сигналы на трехмерных графиках.
Если сигналы являются вещественными матрицами, функция использует imagesc для отображения исходного и выровненного сигналов.
Если сигналы представляют собой комплексные матрицы, функция строит график их действительной и мнимой частей в верхней и нижней половине каждого изображения.
[1] Паливал, К. К., Анант Агарвал и Сарваджит С. Синха. «Модификация алгоритма динамического искажения времени Сакоэ и Тибы для изолированного распознавания слов». Обработка сигналов. т. 4, 1982, стр. 329-333.
[2] Сакоэ, Хироаки и Сейби Тиба. «Оптимизация алгоритма динамического программирования для распознавания разговорных слов». Транзакции IEEE ® для обработки акустики, речи и сигналов. т. ASSP-26, № 1, 1978, стр. 43-49.
alignsignals | edr | finddelay | findsignal | xcorr