主要内容

功能

编辑距离真实信号

描述

例子

经销= edr (x,y,托尔)返回编辑距离真实信号之间的序列xy功能返回元素的最小数量,必须除去x,y,或两者兼而有之xy,所以剩下的信号元素之间的欧几里得距离的总和位于指定的公差,托尔

(经销,第九,iy]= edr (x,y,托尔)这样返回扭曲的路径x(第九),y(iy)尽可能最小的经销他们之间。当xy矩阵,第九iy是这样的,x(第九:)yiy (:,)最低限度是分离。

例子

(___]= edr (x,y,maxsamp)限制了插入操作,这样扭曲的道路仍在maxsamp样品之间的直线匹配xy。这个语法返回输出参数的任何以前的语法。

(___]= edr (___,度规)指定的距离度量使用除了任何输入参数在以前的语法。度规可以是其中一个“欧几里得”,“绝对”,“方”,或“symmkl”

例子

edr (___)没有输出参数块原始的和一致的信号。

  • 如果是真实的信号向量,这个函数显示了两个原始信号在一个次要情节和下面一个次要情节中的对齐信号第一个。

  • 如果是复杂的信号向量,这个函数显示原始的和一致的信号在三维图。

  • 如果是真实的信号矩阵,函数使用显示亮度图像显示原始的和一致的信号。

  • 如果是复杂的信号矩阵,功能块他们在顶部和底部的实部和虚部每个图像的一半。

例子

全部折叠

生成两个真正的信号:唧唧,正弦信号。添加一个清晰的外围部分,每个信号。

x = cos(2 *π* (3 * (1:1000)/ 1000)^ 2);y = cos(2 *π* 9 * (1:399)/ 400);x (400:410) = 7;y(也就是说)= 7;

扭曲的信号,这样他们之间的编辑距离最小。指定一个公差为0.1。情节一致的信号,之前和之后都扭曲,输出它们之间的距离。

托尔= 0.1;edr (x, y, tol)

图包含2轴对象。坐标轴对象1 2标题原始信号包含的对象类型。轴与标题对齐对象2信号(编辑距离:617)包含2线类型的对象。

ans = 617

改变其初始值正弦信号频率的两倍。重复计算。

y = cos(2 *π* 18 * (1:399)/ 400);y(也就是说)= 7;edr (x, y, tol);

图包含2轴对象。坐标轴对象1 2标题原始信号包含的对象类型。轴与标题对齐对象2信号(编辑距离:774)包含2线类型的对象。

添加一个虚部信号。恢复初始正弦信号的频率。对齐的信号通过最小化平方欧氏距离的总和。

我x = exp(2 *π* (3 * (1:1000)/ 1000)^ 2);y = exp(我*π* 9 * 2 (1:399)/ 400);x (400:405) = 5 + 3 j;x (405:410) = 7;y(上海)= 3 j;y (108:115) = 7-3j;edr (x, y,托尔,“方”);

图包含2轴对象。坐标轴对象1标题原始信号,ylabel真正包含2线类型的对象。轴与标题对齐对象2信号(编辑距离:617),ylabel真正包含2线类型的对象。

生成两个不同的山峰组成的两个信号分离不同长度的山谷。画出信号。

x1 = [0 1 0 1 0] * .95;x2 = [0 1 0 0 0 0 0 0 0 0 1 0] * .95;次要情节(2,1,1)情节(x1) xlim([0 12])次要情节(2,1,2)情节(x2) xlim ([0 12])

图包含2轴对象。坐标轴对象1包含一个类型的对象。坐标轴对象2包含一个类型的对象。

计算信号之间的编辑距离。设置一个小的公差等于样本之间唯一的比赛。

托尔= 0.1;图edr (x1, x2, tol);

图包含2轴对象。坐标轴对象1 2标题原始信号包含的对象类型。轴与标题对齐对象2信号(编辑距离:7)包含2线类型的对象。

信号之间的距离是7。对齐,需要删除的七个核心0x2或添加7 0x1

计算D矩阵,右下角的元素对应的编辑距离。的定义的D,请参阅编辑距离真实信号

cnd = (abs (x1, x2)) > tol;D = 0(长度(x1) + 1 (x2) + 1);D(1、2:结束)= 1:长度(x2);D(2:最终,1)= 1:长度(x1);h = 2:长度(x1) + 1k = 2:长度(x2) + 1 D (h, k) = min ([D (h - k) + 1D (h, k - 1) + 1D (h - k - 1) + cnd (h - k - 1)));结束结束D
D =6×130 1 2 3 4 5 6 7 8 9 10 11 12 1 0 1 2 3 4 5 6 7 8 9 10 11 2 1 0 1 2 3 4 5 6 7 8 9 10 3 2 1 0 1 2 3 4 5 6 7 8 9 4 3 2 1 1 2 3 4 5 6 7 7 8 5 4 3 2 1 1 2 3 4 5 6 7 7

计算并显示扭曲的路径相吻合的信号。

[d, i1、i2] = edr (x1, x2, tol);E = 0(长度(x1)、(x2));k = 1:长度(i1) E (i1和i2 (k) (k)) =南;结束E
E =5×12南0 0 0 0 0 0 0 0 0 0 0 0南0 0 0 0 0 0 0 0 0 0 0 0南南南南南南南南0 0 0 0 0 0 0 0 0 0 0 0南0 0 0 0 0 0 0 0 0 0 0 0 NaN

重复计算,但现在限制最多的翘曲路径偏离对角线的两个元素。绘制拉伸和弯曲路径的信号。在第二个情节,设置运行沿着矩阵列x设在。

[i1c, i2c] = edr (x1, x2,托尔,2);次要情节(2,1,1)情节((x1 (i1c); x2 (i2c)”,“。”)标题(的距离:num2str (dc)])次要情节(2,1,2)情节(i1c i2c,“啊——”,(i2 (1) i2(结束)],[i1 (1) i1(结束)])轴ij标题(“扭曲的道路”)

图包含2轴对象。与标题距离轴对象1:5包含2线类型的对象。坐标轴对象2标题翘曲路径包含2线类型的对象。

约束的结果在一个小编辑距离但扭曲了的信号。如果约束条件无法满足,那么功能返回的距离。看到这迫使弯曲路径偏离对角线最多一个元素。

[i1c, i2c] = edr (x1, x2,托尔,1);次要情节(2,1,1)情节((x1 (i1c); x2 (i2c)”,“。”)标题(的距离:num2str (dc)])次要情节(2,1,2)情节(i1c i2c,“啊——”,(i2 (1) i2(结束)],[i1 (1) i1(结束)])轴ij标题(“扭曲的道路”)

图包含2轴对象。与标题距离轴对象1:南包含2线类型的对象。坐标轴对象2标题翘曲路径包含2线类型的对象。

的文件MATLAB1.gifMATLAB2.gif包含两个手写样本“MATLAB®。”load the files. Add outliers by blotching the data.

samp1 =“MATLAB1.gif”;samp2 =“MATLAB2.gif”;双(x = imread (samp1));y =双(imread (samp2));x (15:20, 54:60) = 4000;y (15:20, 84:96) = 4000;

的笔迹样本一致x设在使用编辑距离。指定一个450年的宽容。

edr (x, y, 450);

图包含6轴对象。坐标轴对象1标题覆盖一致信号包含一个类型的对象的形象。轴与标题对齐对象2信号(Y)包含一个类型的对象的形象。轴与标题对齐对象3信号(X)包含一个类型的对象的形象。坐标轴对象4标题覆盖原始信号包含一个类型的对象的形象。坐标轴对象与标题5原始信号(Y)包含一个类型的对象的形象。坐标轴对象6与标题原始信号(X)包含一个类型的对象的形象。

输入参数

全部折叠

输入信号,指定为一个真正的或复杂的向量或矩阵。

数据类型:|
复数的支持:金宝app是的

输入信号,指定为一个真正的或复杂的向量或矩阵。

数据类型:|
复数的支持:金宝app是的

宽容,指定为一个积极的标量。

数据类型:|

宽度调整窗口中,指定为一个正整数。

数据类型:|

距离度量,指定为“欧几里得”,“绝对”,“方”,或“symmkl”。如果XY都是K维信号,然后度规规定d(X,Y)之间的距离th的样本Xnth的样本Y

  • “欧几里得”——根笔平方差异,也称为欧几里得或2度量:

    d n ( X , Y ) = k = 1 K ( x k , y k , n ) * ( x k , y k , n )

  • “绝对”——绝对差异,也被称为曼哈顿街区,出租车,或者1度量:

    d n ( X , Y ) = k = 1 K | x k , y k , n | = k = 1 K ( x k , y k , n ) * ( x k , y k , n )

  • “方”欧几里得度量的平方,平方的总和组成的差异:

    d n ( X , Y ) = k = 1 K ( x k , y k , n ) * ( x k , y k , n )

  • “symmkl”——对称Kullback-Leibler度量。这个指标是有效的只有真正的和积极的XY:

    d n ( X , Y ) = k = 1 K ( x k , y k , n ) ( 日志 x k , 日志 y k , n )

输出参数

全部折叠

信号之间的最小距离,作为一个积极的返回真正的标量。

弯曲的道路,作为向量索引返回。第九iy有相同的长度。每个向量都包含一个单调递增的顺序索引的元素相应的信号,xy必要的重复次数。

更多关于

全部折叠

编辑距离真实信号

两个信号等效特性安排在相同的顺序可以出现不同的由于时间的差异部分。功能扭曲了这些时间对应的特征出现在相同的位置在一个共同的时间轴,从而突出信号之间的相似性。标准用于执行失真被设计成健壮的异常值。

考虑这两个K维信号

X = ( x 1 , 1 x 1 , 2 x 1 , x 2 , 1 x 2 , 2 x 2 , x K , 1 x K , 2 x K , ]

Y = ( y 1 , 1 y 1 , 2 y 1 , N y 2 , 1 y 2 , 2 y 2 , N y K , 1 y K , 2 y K , N ] ,

哪有N样本,分别。鉴于d(X,Y)之间的距离th的样本Xnth的样本Y中指定的度规,功能功能的延伸XY上一组通用的瞬间,编辑距离信号之间的最小。

鉴于ε一个实数,在指定的公差托尔声明,th的样本Xnth的样本Y匹配如果d(X,Y)<ε。如果两个样品,n不匹配,你可以让他们匹配的三种方式:

  1. 删除从第一个信号,如当第二样本匹配n。这个删除是相当于增加第二个信号,获得连续两场比赛。

  2. 延长第一信号通过添加位置相匹配的一个示例n和取代其他的样品位置。这相当于将无可匹敌的n从第二个信号。

  3. 替代n在第一信号,或者,同样,删除n

编辑距离的总数这些操作需要两个信号匹配。这个数字并不是唯一的。计算最小编辑距离XY从这些事实:

  1. 两个空信号之间的零距离。

  2. 一个空的信号和信号之间的距离l样品是l,因为这是样品的数量必须添加到空信号恢复另一个。同样,l是样品的数量,必须远离一个了吗l样本信号空。

创建一个(+ 1)————(N+ 1)矩阵,D,比如:

  1. D1,- 1= 0

  2. D,1=- 1= 2,…+ 1

  3. D1,n=n- 1n= 2,…N+ 1

  4. ,n> 1,

    D , n = 最小值 { D 1 , n + 1 D , n 1 + 1 D 1 , n 1 + { 0 d , n ( X , Y ) ε 1 d , n ( X , Y ) > ε }

最小编辑距离XY然后D+ 1,N+ 1

扭曲的路径通过D结果在这个最小编辑距离由两个序列长度相同的参数化,第九iy,是“国际象棋王”动作的组合:

  • 垂直移动:(,n)→(+ 1,n)对应于移除一个样本X或者增加一个样本Y。每个移动增加了编辑距离1。

  • 水平移动:(,n)→(,n+ 1)对应于移除一个样本Y或者增加一个样本X。每个移动增加了编辑距离1。

  • 对角线移动:(,n)→(+ 1,n+ 1)如果对应于一个匹配dm, n(X,Y)≤ε或对应于从每个信号如果删除一个样本dm, n(X,Y)>ε。比赛不增加距离。删除增加1。

这种结构确保任何可接受的路径将完整的信号,不跳过样品,不重复信号特性。此外,一个理想的路径运行之间的对角线长d1,- 1(X,Y),dM, N(X,Y)。这种额外的限制,调整的maxsamp参数,确保了翘曲比较部分相似的长度。

制作两个样品匹配的点球是独立样本之间的差异值。两个样品,多一点宽容不同产生相同的处罚明显不同的两个样品。出于这个原因,编辑距离不受异常值影响。相反,重复样本对齐两个信号是有成本的,这不是动态时间扭曲的情况。

引用

[1],Lei, m . Ozsu降服和文森特Oria。“健壮和快速相似性搜索移动对象轨迹。”学报》24日ACM国际会议管理的数据(SIGMOD 05)。2005年,页491 - 502。

[2]Paliwal K·K。,Anant Agarwal, and Sarvajit S. Sinha. "A Modification over Sakoe and Chiba’s Dynamic Time Warping Algorithm for Isolated Word Recognition."信号处理。4卷,1982年,页329 - 333。

[3]Sakoe、总裁中西宏明和Seibi千叶。“动态编程算法优化口语识别。”IEEE®交易在声学、演讲和信号处理。ASSP-26卷,No . 1, 1978, pp。43-49。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2016b