Interpolación de señales discretas

From glossaLAB

La interpolación de una señal discreta es una modificación de la frecuencia de muestreo de dicha señal donde se añaden muestras para aumentar la frecuencia de muestreo.

Si tenemos una secuencia x1[n], obtenida al muestrear la señal xa(t) con un periodo de muestreo T1, al interpolar obtendremos una señal x2[n] que tendrá un número de muestras igual al que obtendríamos de haber muestreado xa(t) con un periodo de muestreo T2, donde T2 = T1/L (siendo L entero).

Para obtener x2[n] a partir de x1[n] primero se añaden L-1 ceros entre muestra y muestra de x1[n], obteniendo una señal xc[n]:

x1[n/L] siendo n múltiplo de L xc[n] = 0 para el resto


El espectro de xc[n] será Xc(w) = X1(wL), es decir: el espectro de x1[n] se comprime un factor L al insertar los L ceros entre muestra y muestra.

El siguiente paso para obtener x2[n] será eliminar las réplicas del espectro aplicando un filtro paso bajo a xc[n]. El filtro tendrá ganancia L y frecuencia de corte . Por normal general wc = π/L.

Código:

Para realizar la interpolación en Matlab se puede usar el comando interp, cuya sintaxis es:

y = interp(x,r) ; siendo x la señal de entrada y r el factor que se aumenta la frecuencia de muestreo.

Esta función ya aplica un filtro paso bajo a la secuencia a la que se han insertado los ceros.

Referencias:

Proakis, J.G., Manolakis, D.G. (2007). Tratamiento digital de señales. Madrid: Pearson Educación.

Interp. Recuperado el 24 de marzo de 2022 de https://es.mathworks.com/help/signal/ref/interp.html?searchHighlight=interp&s_tid=srchtitle_interp_4#d123e17275