文件帮助中心文件
使用相似性搜索查找信号位置
[Istart,Istop,Dist] = FindSignal(数据,信号)
[istart、istop dist] = findsignal(数据、信号、名称、值)
findsignal(___)
例子
[istart, istop那dist] = findsignal(数据那信号)返回数据阵列段的启动和停止索引,数据,最佳匹配搜索阵列,信号。最好匹配的部分是这样的dist,分段和搜索阵列之间的平方欧几里德距离最小。如果数据和信号是矩阵,然后是findsignal.查找该区域的开始和结束列数据最能匹配信号。在这种情况下,数据和信号必须具有相同数量的行。
[istart, istop那dist] = findsignal(数据那信号)
istart, istop
dist
数据
信号
findsignal.
[istart, istop那dist] = findsignal(数据那信号那名称,价值)使用名称-值对参数指定其他选项。选项包括要应用的规格化、要报告的段数和要使用的距离度量。
[istart, istop那dist] = findsignal(数据那信号那名称,价值)
名称,价值
findsignal(___)没有输出参数图数据并突出显示任何已识别的实例信号。
如果数组是实向量,则显示函数数据作为样本号的函数。
如果数组是复向量,则显示函数数据在Argand图上。
如果阵列是真实矩阵,则功能使用imagesc.来显示信号在子图上数据在另一个子图上突出显示的区域。
imagesc.
如果数组是复杂矩阵,该函数将其实部和虚部绘制在每个图像的上半部分和下半部分。
全部收缩
生成由具有50%带宽的5 Hz高斯脉冲组成的数据集,以1kHz的速率对半秒进行采样。
FS = 1E3;t = 0:1 / FS:0.5;数据= Gauspuls(T,5,0.5);
创建由10 Hz正弦曲线的一个半周期组成的信号。绘制数据集和信号。
TS = 0:1 / FS:0.15;信号= COS(2 * PI * 10 * TS);子图(2,1,1)绘图(T,数据)标题('数据'(2,1,2) plot(ts,signal)标题“信号”)
找到与信号具有最小平方欧几里德距离的数据的段。绘制数据并突出显示该段。
FindSignal(数据,信号)
向数据集添加两个明显离群的部分。在有最小绝对距离的情况下,找出最接近信号的线段。
dt =数据;dt (t > 0.31科技< 0.32)= 2.1;dt (t > 0.32科技< 0.33)= -2.1;finciSignal(DT,信号,'公制'那'绝对')
让我们X-轴拉伸,如果拉伸结果在最近的数据段和信号之间的一个较小的绝对距离。
finciSignal(DT,信号,'timealignment'那'dtw'那'公制'那'绝对')
向数据集添加两个偏远的部分。
DT(T> 0.1&T <0.11)= 2.1;DT(T> 0.11&T <0.12)= -2.1;finciSignal(DT,信号,'timealignment'那'dtw'那'公制'那'绝对')
找到最接近信号的两个数据段。
finciSignal(DT,信号,'timealignment'那'dtw'那'公制'那'绝对'那......“MaxNumSegments”, 2)
回到找到一个细分市场。选择'EDR'作为X-axis拉伸标准。选择编辑距离公差为3.非匹配样本之间的编辑距离与实际的分离无关,制作'EDR'健壮的异常值。
'EDR'
finciSignal(DT,信号,'timealignment'那'EDR'那“EDRTolerance”3,......'公制'那'绝对')
重复计算,但现在归一化数据和信号。
定义一个移动窗口,其中10个样本到每个数据的任一侧和信号点。
减去窗口中数据的平均值,并通过本地标准偏差除以。
找到具有与归一化信号具有最小绝对距离的归一化数据段。显示数据和信号的无通知和标准化版本。
finciSignal(DT,信号,'timealignment'那'EDR'那“EDRTolerance”3,......“归一化”那'zscore'那“NormalizationLength”,21,......'公制'那'绝对'那'注释'那'全部')
生成一个随机数据阵列,其中:
七个区域中的每一个中的平均值是恒定的,并且从区域到区域突然变化。
标准偏差在五个区域中的每一个中是恒定的,并且从区域到区域突然变化。
lr = 20;MNS = [0 1 4 -5 2 0 1];纳米长度= (mns);VRS = [1 4 6 1 3]/2;nv =长度(工具);v = randn (lr *纳米* nv);f =重塑(repmat (mns、lr * nv 1), 1, lr *纳米* nv);y =重塑(repmat(工具与lr * nm, 1), 1, lr *纳米* nv);t = v * y + f;
绘制数据,突出施工的步骤。显示每个区域的平均值和标准偏差。
子图(2,2,1)绘制(v)标题(“原始”700) xlim([0])次要情节(2 2 2)情节([f; v + f]”)标题(“手段”)XLIM([0 700])文本(LR * NV * NM *((0:1 / nm:1-1 / nm)+ 1 /(2 * nm)), - 7 * ofon(1,nm),num2str(mns'),......'水平对齐'那“中心”plot([y;v.*y]')标题'std'700) xlim([0])文本(lr * nv *纳米* ((0:1 / nv: 1 - 1 / nv) + 1 / (2 * nv)), 7 * (nv), num2str(工具),......'水平对齐'那“中心”)子图(2,2,4)绘图(t)标题('最终的')XLIM([0 700])
创建一个均值为0,标准差为1/2的随机信号。查找并显示与信号最匹配的数据数组段。
SG = RANDN(1,2 * LR)/ 2;findsignal(t,sg)
创建具有零的平均值的随机信号和标准偏差为2.查找并显示最佳匹配信号的数据阵列的段。
SG = RANDN(1,2 * LR)* 2;findsignal(t,sg)
创建具有2的平均值的随机信号,标准偏差为2.找到并显示最佳匹配信号的数据阵列的段。
SG = RANDN(1,2 * LR)* 2 + 2;findsignal(t,sg)
创建一个均值为-4,标准差为3的随机信号。查找并显示与信号最匹配的数据数组段。
SG = RANDN(1,2 * LR)* 3-4;findsignal(t,sg)
重复计算,但此时间从信号和数据中减去平均值。
findsignal(t,sg,“归一化”那'zscore'那'注释'那'全部')
设计类似于早期计算机的输出的字体。使用它来写下matlab®。
RNG.默认CHR = @(x)DEC2BIN(X') - 48;m = chr([34 34 54 42 34 34 34]);a = chr([08 20 34 34 62 34 34]);T = CHR([62 08 08 08 08 08 08]);L = CHR([32 32 32 32 32 62]);B = CHR([60 34 34 60 34 60]);matlab = [m a t l a b];
通过重复字母的随机列并改变间距来损坏单词。显示原始单词和三个损坏的版本。
C = @(x)x(:,sort([1:6 randi(6,1,2)]));次要情节(4,1,1,'xlim',[0 60])间谍(MATLAB)XLABEL('')ylabel(“原始”)为了kj = 2:4子图(4,1,KJ,'xlim', 60[0])间谍([c (M) c (A) c (T) (L) c c (A) (B)))包含('')ylabel(“腐败”)结尾
再生成一个错误的单词。寻找嘈杂版本的字母“a”显示搜索数组与最近的数据段之间的距离。由于水平轴是刚性的,所以线段会溢出到T形。
腐蚀= [c(m)c(a)c(t)c(t)c(l)c(a)c(b)];sgn = c(a);[IST,IND,DST] = FindSignal(Cor,SGN);CLF子图(2,1,1)间谍(SGN)子图(2,1,2)间谍(COR)CHK =零(尺寸(COR));CHK(:,IST:IND)= COR(:,IST:IND);抓住上间谍(嗯,'* k') 抓住离开
DST.
DST = 11.
允许水平轴伸展。最接近的段是搜索阵列和第一个“A”的第一个实例。段和阵列之间的距离为零。
[IST,IND,DST] = FindSignal(Cor,SGN,'timealignment'那'dtw');子图(2,1,1)SPY(SGN)子图(2,1,2)间谍(COR)CHK =零(尺寸(粗));CHK(:,IST:IND)= COR(:,IST:IND);抓住上间谍(嗯,'* k') 抓住离开
DST = 0.
使用内置功能重复计算findsignal.。除以当地的均值来归一化数据和信号。使用对称kullback-Leibler度量标准。
findsignal (corr、胡志明市、'timealignment'那'dtw'那......“归一化”那'力量'那'公制'那'symmkl'那'注释'那'全部')
数据数组,指定为矢量或矩阵。
数据类型:单身的|双复数支持:万博1manbetx是的
单身的
双
搜索数组,指定为向量或矩阵。
指定可选的逗号分离对名称,价值参数。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen。
的名字
价值
name1,value1,...,namen,valuen
'MaxNumSegments',2,'公制','平方','归一化','中心','ranalizationLength',11
“归一化”
'没有任何'
“中心”
'力量'
'zscore'
标准化统计数据,指定为逗号分隔对组成“归一化”和其中一个值:
'没有任何'- 不要正常化。
“中心”- 减去本地均值。
'力量'- 划分当地的意思。
'zscore'- 通过当地标准偏差减去局部均值并除以。
“NormalizationLength”
长度(数据)
标准化长度,指定为逗号分隔对“NormalizationLength”和一个整数标量。该值表示在数据和信号中归一化每个样本的最小样本数。如果信号是矩阵,那么“NormalizationLength”表示许多列。
数据类型:单身的|双
'maxdistance'
INF.
最大段距离,指定为逗号分隔的对,由'maxdistance'和一个积极的标量。如果您指定'maxdistance', 然后findsignal.返回所有段的启动和停止索引数据的距离信号是局部极小值还是小于'maxdistance'。
“MaxNumSegments”
1
返回的最大段数,指定为逗号分隔的对组成“MaxNumSegments”和一个正整数标量。如果您指定“MaxNumSegments”, 然后findsignal.定位了数据谁到信号的距离是局部极小值并返回到“MaxNumSegments”距离最小的段。
'timealignment'
'固定的'
'dtw'
时间对准技术,指定为逗号分隔对组成'timealignment'和其中一个值:
'固定的'-不要拉伸或重复样品,以减少距离。
'dtw'- 尝试通过拉伸时间轴并在数据或信号中重复样品来减小距离。看DTW.为更多的信息。
DTW.
'EDR'- 最小化编辑的数量,使得数据段的每个剩余样本与其信号对应物之间的距离位于给定的公差范围内。编辑包括从数据,信号或两者中删除样本。使用该提供公差“EDRTolerance”争论。当任何输入阵列具有异常值时,请使用此选项。看edr.为更多的信息。
“EDRTolerance”
edr.
编辑距离公差,指定为逗号分隔对“EDRTolerance”一个实数。时使用此参数查找信号'timealignment'名称 - 值对参数设置为'EDR'。
'公制'
'squared'
'绝对'
'euclidean'
'symmkl'
距离度量,指定为逗号分隔对组成'公制'一之一'squared'那'绝对'那'euclidean', 或者'symmkl'。如果X和y都是K.维信号,然后公制规定D.m(X那y),之间的距离m样本X和N样本y。看动态时间翘曲有关D.m(X那y)。
公制
'squared'-欧几里得度规的平方,由差的平方和组成:
D. m N ( X 那 y ) = σ. K. = 1 K. ( X K. 那 m - y K. 那 N ) * ( X K. 那 m - y K. 那 N )
'euclidean'- 平方差异的根和,也称为欧几里德或ℓ2度量标准:
'绝对'-绝对差异的总和,也被称为曼哈顿,城市街区,出租车,或ℓ1度量标准:
D. m N ( X 那 y ) = σ. K. = 1 K. | X K. 那 m - y K. 那 N | = σ. K. = 1 K. ( X K. 那 m - y K. 那 N ) * ( X K. 那 m - y K. 那 N )
'symmkl'-对称Kullback-Leibler度量。这个指标只对真实的和正的有效X和y:
D. m N ( X 那 y ) = σ. K. = 1 K. ( X K. 那 m - y K. 那 N ) ( 日志 X K. 那 m - 日志 y K. 那 N )
'注释'
'信号'
'数据'
'全部'
绘图样式,指定为逗号分隔对组成'注释'和其中一个值:
'数据'绘制数据并突出显示最佳匹配信号的区域。
'信号'在单独的子图中绘制信号。
'全部'在单独的子尺中绘制信号,数据,归一化信号和归一化数据。
如果调用,这个参数将被忽略findsignal.具有输出参数。
段开始和结束指数,返回为整数标量或向量。
最小数据信号距离,作为标量或向量返回。
alignsignals|DTW.|edr.|finddelay|findpeaks.|strfind.|xcorr
alignsignals
finddelay
findpeaks.
strfind.
xcorr
您有这个示例的一个修改版本。要用编辑打开这个例子吗?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站来获得可用的翻译内容,并看到当地的活动和提供。根据您所在的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
与当地办事处联系