Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Alinear señales con diferentes tiempos de inicio

Muchas mediciones implican datos recopilados asincrónicamente por varios sensores. Si desea integrar las señales, tiene que sincronizarlas. La caja de herramientas de procesamiento de señal™ tiene funciones que le permiten hacer precisamente eso.

Por ejemplo, considere un coche cruzando un puente. Las vibraciones que produce se miden mediante tres sensores idénticos ubicados en diferentes puntos. Las señales tienen diferentes tiempos de llegada.

Cargue las señales en el espacio de trabajo de MATLAB® y trace las.

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 se retrasa y a su vez conduce.s1s2s3 Los retrasos se pueden calcular utilizando exactamente.finddelay Usted ve que conduce por 350 muestras, retrasa por 150 muestras, y lidera por 500 muestras.s2s1s3s1s2s3

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 intacta y recorte los retrasos de los otros vectores. Añada 1 a las diferencias de desfase para tener en cuenta la indización basada en uno utilizado por MATLAB®. Este método alinea las señales utilizando como referencia la hora de llegada más temprana, la de.s2

axes(ax(1)) plot(s1(t21+1:end))  axes(ax(2)) plot(s2)  axes(ax(3)) plot(s3(t32+1:end)) 

Se utiliza para alinear las señales.alignsignals La función funciona retrasando las señales anteriores, así que utilice como referencia la última hora de llegada, la 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) 

Las señales están ahora sincronizadas y listas para su posterior procesamiento.

Consulte también

| |

Temas relacionados