Alinear señales con diferentes tiempos de inicio
Muchas mediciones incluyen datos recogidos de forma asíncrona por múltiples sensores. Si quiere integrar las señales, tiene que sincronizarlas. Signal Processing Toolbox™ cuenta con funciones que le permitirán hacerlo.
Consideremos el ejemplo de un coche que cruza un puente. Las vibraciones que produce se miden con tres sensores idénticos, situados en distintos puntos. Las señales tienen diferentes tiempos de llegada.
Cargue las señales en el espacio de trabajo de MATLAB® y represéntelas.
load relatedsig ax(1) = subplot(3,1,1); plot(s1) ylabel('s_1') ax(2) = subplot(3,1,2); plot(s2) ylabel('s_2') ax(3) = subplot(3,1,3); plot(s3) ylabel('s_3') xlabel('Samples') linkaxes(ax,'x')
La señal s1
presenta un desfase negativo con respecto a s2
y, a su vez, presenta un desfase positivo con respecto a s3
. Los retrasos pueden calcularse exactamente utilizando finddelay
. Comprobará que s2
presenta un desfase positivo con respecto a s1
de 350 muestras, s3
presenta un desfase negativo con respecto a s1
de 150 muestras y s2
presenta un desfase positivo con respecto a s3
de 500 muestras.
t21 = finddelay(s2,s1) t31 = finddelay(s3,s1) t32 = finddelay(s2,s3)
t21 = 350 t31 = -150 t32 = 500
Alinee las señales dejando la señal anterior sin tocar y recortando los retrasos de los otros vectores. Añada 1 a las diferencias de desfase para tener en cuenta la indexación basada en uno utilizada por MATLAB®. Este método alinea las señales utilizando como referencia el tiempo de llegada más temprona, es decir, el de s2
.
axes(ax(1)) plot(s1(t21+1:end)) axes(ax(2)) plot(s2) axes(ax(3)) plot(s3(t32+1:end))
Utilice alignsignals
para alinear las señales. La función funciona retrasando las señales anteriores, por lo que utiliza como referencia el último tiempo de llegada, el de s3
.
[x1,x3] = alignsignals(s1,s3); x2 = alignsignals(s2,s3); axes(ax(1)) plot(x1) axes(ax(2)) plot(x2) axes(ax(3)) plot(x3)
De este modo, las señales están sincronizadas y listas para su posterior procesamiento.
Consulte también
alignsignals
| finddelay
| xcorr