Tengo una señal con un tiempo de muestra de 0.5 micro segundos y me gustaría cambiar esta señal por una fracción del tiempo de muestra, digamos por 3 nano segundos.
He leído algunos recursos en línea sobre el filtrado de retraso fraccional y sobre el uso de FFT e IFFT para realizar dicho retraso. ¿Alguien puede señalarme alguna teoría sobre esto o darme una idea sobre cómo implementarlo?
Para el desplazamiento regular de la señal para muestras enteras, he implementado esto cambiando la señal por el número requerido de muestras y agregando ceros al principio. ¿Es correcto este enfoque?
fuente
Además de hacer soluciones de tipo fft, también puede usar la interpolación, ¡el tipo específico de interpolación que sea apropiado se basará en sus necesidades, por supuesto! La interpolación lineal me ha funcionado bien en el pasado con efectos de brida, pero su kilometraje puede variar.
La interpolación de Lagrange también podría valer la pena mirar por cierto, si la interpolación lineal no es lo suficientemente buena. http://blog.demofox.org/2015/07/08/lagrange-interpolation/
fuente
Esto se puede hacer usando la función 'delayseq' en MATLAB. Esta función puede cambiar la señal en muestras fraccionarias. Puede escribir la cantidad de muestras que desea cambiar o, en términos de tiempo, la cantidad de retraso que desea. Pero lo importante a tener en cuenta es que la señal retrasada tiene la misma longitud que la señal original, por lo que si no desea truncar la señal, primero use cero relleno y luego delayseq. https://in.mathworks.com/help/phased/ref/delayseq.html
fuente