alignsignals
通过延迟最早的信号对齐两个信号
描述
例子
将第一个信号延迟三个样本的两个信号对齐
创建两个信号,X
而且Y
.X
是一样的吗Y
,除了X
前面有三个零,后面有一个零。对齐两个信号。
X = [0 0 0 1 2 3 0 0];Y = [1 2 3 0];[Xa,Ya] =对齐信号(X,Y)
Xa =1×80 0 0 1 2 3 0 0
你=1×70 0 0 1 2 3 0
当第二个信号被两个样本延迟时,对齐两个信号
创建两个信号,X
而且Y
.Y
是一样的吗X
,除了Y
被两个样本延迟。对齐两个信号。
X = [1 2 3];Y = [0 0 1 2 3];[Xa,Ya,D] =对齐信号(X,Y)
Xa =1×50 0 1 2 3
你=1×50 0 1 2 3
D = 2
使用最大窗口大小1对齐信号。
Maxlag = 1;[Xa,Ya,D] =校准信号(X,Y,方法=“xcorr”, MaxLag = MaxLag)
Xa =1×40 1 2 3
你=1×50 0 1 2 3
D = 1
基于上升边的两层波形对齐
产生两个表示双层波形的信号。信号以50赫兹采样20秒。对于第一个信号,跃迁发生在测量开始后13秒。对于第二个信号,在测量开始后5秒发生跃迁。信号具有不同的振幅,并嵌入在不同方差的高斯白噪声中。把信号画出来。
T = linspace(0,20,1001)';E1 = 1.4*tanh(t-13)+randn(size(t))/3;E2 = tanh(3*(t-5))+randn(size(t))/5;情节(t t e1, e2)包含(“秒”) ylabel (“振幅”)
对齐信号,使它们的转换时间重合。基于相关性的方法不能充分对齐这种类型的信号。
[y1,y2] = alignsignals(e1,e2);情节(y1)包含(“样本”) ylabel (“振幅”)举行在情节(y2)从
对齐信号使用上升时间
方法。
[y1,y2] = alignsignals(e1,e2,Method= .“上升时间”);情节(y1)包含(“样本”) ylabel (“振幅”)举行在情节(y2)从
使用截断选项对齐两个信号
创建两个信号,X
而且Y
.Y
是一样的吗X
,除了Y
有两个前导0。对齐两个信号并将截断选项设置为真正的
.的长度X
.
X = [1 2 3];Y = [0 0 1 2 3];[Xa,Ya,D] = alignsignals(X,Y,Truncate=true)
Xa =1×30 0 1
你=1×50 0 1 2 3
D = 2
的所有原始数据X
时,函数发出警告。
Y = [0 0 0 0 1 2 3];[Xa,Ya,D] = alignsignals(X,Y,Truncate=true)
警告:第一个输入X中的所有原始数据都已被截断,因为X的长度小于估计的延迟d。为避免截断此数据,请不要使用“truncate”选项。
Xa =1×30 0 0
你=1×70 0 0 0 1 2 3
D = 4
输入参数
x
- - - - - -第一个输入信号
向量
第一个输入信号,指定为长度的数字向量lx.
例子:[1 2 3]
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
复数支持:金宝app是的
y
- - - - - -第二输入信号
向量
第二个输入信号,指定为长度的数字矢量ly.
例子:[0 0 1 2 3]
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
复数支持:金宝app是的
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
例子:alignsignals (X, Y)方法=“npeak PeakNum = 4)
对齐X
而且Y
基于每个信号中第四个峰值的位置。
方法
- - - - - -估计信号之间延迟的方法
“xcorr”
(默认)|“maxpeak”
|“npeak”
|“上升时间”
方法来估计信号之间的延迟,指定为“xcorr”
,“maxpeak”
,“npeak”
,或“上升时间”
.参数的基础上指定其他名称-值参数方法
.
“xcorr”
-使用互相关估计延迟。如果你指定方法
作为“xcorr”
,也可以指定MaxLag
.“maxpeak”
-利用每个信号中峰值的位置估计延迟。如果你指定方法
作为“maxpeak”
,您可以选择指定MinPeakProminence
而且MinPeakHeight
.“npeak”
的位置估计延迟n每个信号的峰值。如果你指定方法
作为“npeak”
,您可以选择指定PeakNum
,MinPeakProminence
,MinPeakHeight
.“上升时间”
-利用每个信号中上升边的位置估计延迟。函数使用指定的值考虑
找到上升的边。
例子:方法=“npeak PeakNum = 3
PeakNum
- - - - - -峰数量
1
(默认)|正整数
用于对齐信号的峰值数,指定为正整数。此参数仅在指定时适用方法
作为“npeak”
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
输出参数
参考文献
[1]奥法尼迪斯,索福克勒斯J。“最佳信号处理”。介绍.恩格尔伍德悬崖,新泽西州:Prentice-Hall, 1996。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
版本历史
在R2019a中引入R2022b:要删除的语法
这些语法将在未来的版本中删除。
语法 | 结果 | 而不是使用 |
---|---|---|
maxlag alignsignals (x, y) |
运行 | alignsignals (x, y)方法=“xcorr MaxLag = MaxLag) |
maxlag alignsignals (x, y,“截断”) |
运行 | alignsignals (x, y)方法=“xcorr MaxLag = MaxLag截断= true) |
Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。