Main Content

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.

Correlación cruzada de la señal retrasada en el ruido

Este ejemplo muestra cómo utilizar la secuencia de correlación cruzada para detectar el retardo de tiempo en una secuencia dañada por el ruido. La secuencia de salida es una versión retardada de la secuencia de entrada con ruido gaussiano blanco aditivo. Cree dos secuencias. Una secuencia es una versión retrasada de la otra. El retardo es de 3 muestras. Añadir

<math display="block">
<mrow>
<mi>N</mi>
<mo stretchy="false">(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>0</mn>
<mo>.</mo>
<msup>
<mrow>
<mn>3</mn>
</mrow>
<mrow>
<mn>2</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
</mrow>
</math>
ruido blanco a la señal retardada. Utilice la secuencia de correlación cruzada de muestra para detectar el retraso.

Cree y trace las señales. Establezca el generador de números aleatorios en la configuración predeterminada para obtener resultados reproducibles.

rng default  x = triang(20); y = [zeros(3,1);x]+0.3*randn(length(x)+3,1);  subplot(2,1,1) stem(x,'filled') axis([0 22 -1 2]) title('Input Sequence')  subplot(2,1,2) stem(y,'filled') axis([0 22 -1 2]) title('Output Sequence')

Obtenga la secuencia de correlación cruzada de muestra y utilice el valor absoluto máximo para estimar el retraso. Trazar la secuencia de correlación cruzada de la muestra.

[xc,lags] = xcorr(y,x); [~,I] = max(abs(xc));  figure stem(lags,xc,'filled') legend(sprintf('Maximum at lag %d',lags(I))) title('Sample Cross-Correlation Sequence')

El valor máximo de la secuencia de correlación cruzada se produce en el desg 3 como se esperaba.