主要内容

alplensignals.

通过延迟最早的信号对齐两个信号

描述

例子

Xa) = alignsignals (XY估计延迟,D,两个输入信号之间,XY,并返回对齐信号,Xa

  • 如果Y延迟是关于X,然后D是积极的,X被延迟了D样本。

  • 如果Y是先进的关于X,然后D是消极的Y被耽搁了D样本。

延迟X或者Y可以通过预先生的零来引入。

例子

Xa) = alignsignals (XYmaxlag用途maxlag作为最大窗口大小以查找估计延迟,D,两个输入信号之间,XY.它返回对齐的信号,Xa

例子

Xa) = alignsignals (XYmaxlag“截断”)保持对齐信号的长度,Xa,与输入信号相同,XY,分别。

  • 如果估计的延迟,D,是积极的,然后D零是前面的X最后一个D样本X被截断了。

  • 如果估计的延迟,D为负,则为-D零是前面的Y和最后一个 -D样本Y被截断了。

笔记

XY是行向量还是列向量的长度lXlY,分别。

  • 如果DlX,然后XalX零。所有样本X丢失了。

  • 如果- - - - - -DlY,然后lY零。所有样本Y丢失了。

避免分配特定值maxlag当使用“截断”选项,设置maxlag[]

例子

XaD) = alignsignals (___返回估计的延迟,D.该语法可以包含前面语法中使用的任何输入参数。

例子

全部收缩

对齐信号Y关于X通过延迟三个样本。

创建两个信号,XYX与之完全相同Y, 除了X有三个领先的零,另外一个额外的零。对齐两个信号。

x = [0 0 0 1 2 3 0 0];Y = [1 2 3 0];[Xa,丫]= alignsignals (X, Y)
Xa =1×80 0 0 1 2 3 0 0
你=1×70 0 0 1 2 3 0

对齐信号XY延迟是关于X由两个样本。

创建两个信号,XYY与之完全相同X, 除了Y有两个前导零。对齐两个信号。

x = [1 2 3];Y = [0 0 1 2 3];maxlag = 2;[xa,ya,d] = alplensignals(x,y,maxlag)
Xa =1×53 .你的同事会泄密
你=1×53 .你的同事会泄密
D = 2

对齐信号Y关于X,尽管事实是Y是一个嘈杂的信号。

创建两个信号,XYY与之完全相同X加上一些噪音。对齐两个信号。

X = [0 0 1 2 3 0];Y = [0.02 0.12 1.08 2.21 2.95 -0.09];(Xa,丫,D) = alignsignals (X, Y)
Xa =1×60 0 1 1 2 3 3 0
你=1×60.0200 0.1200 1.0800 2.2100 2.9500 -0.0900
D = 0

你不需要改变输入信号来产生输出信号。延迟D是零。

调用“截断”选项时调用alplensignals.函数。

创建两个信号,XYY与之完全相同X, 除了Y有两个前导零。对齐两个信号,应用“截断”指令。

x = [1 2 3];Y = [0 0 1 2 3];[xa,ya,d] = alplensignals(x,y,[],“截断”
Xa =1×30 0 1
你=1×53 .你的同事会泄密
D = 2

观察输出信号Xa长度是3,和输入信号的长度相同X

在使用的情况下“截断”选项最终截断的所有原始数据X,则发出警告。为了使alplensignals.发出这样的警告,运行以下示例。

Y = [0 0 0 0 1 2 3];[xa,ya,d] = alplensignals(x,y,[],“截断”
警告:第一个输入x中的所有原始数据都被截断,因为x的长度小于估计的延迟d:避免截断此数据不使用“截断”选项。
Xa =1×30 0 0
你=1×70 0 0 0 1 2 3
D = 4

对齐信号Y关于X,尽管事实是Y是一个定期重复的X.返回最小可能的延迟。

创建两个信号,XYY的非零部分的两个副本X用零分开。对齐两个信号。

X = [0 1 2 3];Y = [1 2 3 0 0 0 1 2 3 0 0];(Xa,丫,D) = alignsignals (X, Y)
Xa =1×40 1 2 3
你=1×13.0 1 2 3 0 0 0 1 2 3 0 0
d = -1

输入参数

全部收缩

第一个输入信号,指定为长度的数字向量LX.

例子:(1 2 3)

数据类型:|双倍的|int8|INT16|INT32.|INT64.|uint8|uint16|uint32|uint64
复数的支持:金宝app是的

第二个输入信号,指定为长度的数字向量l

例子:[0 0 1 2 3]

数据类型:|双倍的|int8|INT16|INT32.|INT64.|uint8|uint16|uint32|uint64
复数的支持:金宝app是的

指定为整值标量的最大窗口大小或延迟。默认情况下,maxlag等于max(长度(x),长度(y)) - 1.如果maxlag输入为[],则为默认值。如果maxlag为负数时,则用其绝对值代替。如果maxlag不是整数值,或复杂,inf,或,然后alplensignals.返回一个错误。

例子:2

数据类型:|双倍的|int8|INT16|INT32.|INT64.|uint8|uint16|uint32|uint64

输出参数

全部收缩

对齐的第一信号,作为与第二输出参数对齐的数字矢量返回,.如果输入参数X是行向量吗Xa也是一排矢量。如果输入参数X是一列栏矢量,然后Xa也是一列栏矢量。如果您指定了“截断”选项和估计延迟D那是积极的,然后Xa相当于输入信号XD前面和后面都加了0D样品截断。

对齐的第二信号,作为与第一个输出参数对齐的数字向量返回,Xa.如果输入参数Y是行向量吗也是一排矢量。如果输入参数Y是一列栏矢量,然后也是一列栏矢量。如果您指定了“截断”选项和估计延迟D是消极的,然后相当于输入信号Y与- - - - - -D前面加0,后面加-D样品截断。

输入信号之间的估计延迟,以标量整数返回。这个整数表示两个输入信号,XY抵消。

  • 如果Y延迟是关于X,然后D是积极的,X被延迟了D样本。

  • 如果Y是先进的关于X,然后D是消极的Y被耽搁了D样本。

  • 如果XY已经对齐了吗D都是零X也不Y被推迟。

如果指定输入参数的值maxlag,然后D必须小于或等于maxlag

算法

  • 你可以在规范中找到延迟估计的理论finddelay函数(见算法)。

  • alplensignals.功能使用估计的延迟D延迟最早的信号,使得两个信号具有相同的起点。

  • 指定的finddelay函数时,这对信号不必是彼此的精确延迟副本。然而,信号只有在它们之间有足够的相关性时才能成功地对齐。有关估计协方差和相关函数的更多信息,请参见[1]

  • 如果信号具有诸如脉冲或转换的功能,则可以使用测量功能而不是相关性更有效地对齐它们。例如,看到对齐两个两层波形

参考

[1] Orfanidis,Sophocles J.最佳信号处理。一个介绍.第二版,恩格尔伍德悬崖,NJ: Prentice-Hall, 1996。

扩展功能

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。