Volver a muestrear una matriz numpy
Es fácil volver a muestrear una matriz como
a = numpy.array([1,2,3,4,5,6,7,8,9,10])
con un enterofactor de remuestreo. Por ejemplo, con un factor 2:
b = a[::2] # [1 3 5 7 9]
Pero con un factor de muestreo no entero, no funciona tan fácilmente:
c = a[::1.5] # [1 2 3 4 5 6 7 8 9 10] => not what is needed...
Debe ser (con interpolación lineal):
[1 2.5 4 5.5 7 8.5 10]
o (tomando el vecino más cercano en la matriz)
[1 3 4 6 7 9 10]
¿Cómo volver a muestrear una matriz numpy con un factor de remuestreo no entero?
Ejemplo de aplicación: muestreo de señal de audio / repitching