On 11/7/06, Juan Vuletich <jvuletich@...> wrote:
> Hola Hernán,
> Qué tal, tanto tiempo?
bien che! vos?
> Muy interesante lo que nos contás.
me alegro! :D
>La verdad, nunca me habia dado cuenta
> que si padeas con ceros las señales para hacerlas más largas que la suma
> de las longitudes originales, la convolución circular se convierte en no
> circular, y la FFT sirve para calcularla. Buen truco. De cualquier
> manera, hay algunas cosas a tener en cuenta al hacer como nos contás:
bueno, solo apliqué al audio lo que lei en algún libro por ahi :D
> - Es común calcular la FFT de las señales de a pedazos, con ventanas
> deslizantes. En este caso, no se puede hacer esto. (ya sé que lo sabés,
> pero igual lo aclaro.)
sep, pero ver [1]
> - La técnica no te sirve si querés procesamiento online (o sea empezar a
> generar la salida sin tener la entrada completa). Para hacer
> procesamiento online se puede usar el pasado de las señales, pero no el
> futuro. En particular, el procesamiento en tiempo real siempre es
> online. Y es cuando la performance más nos interesa.
sep, pero ver [1]
> - Si la respuesta al impulso tiene pocos coeficientes distintos de cero
> (p.ej. menos de 20 o 25), y la señal es larga (p.ej. más 4 o 5 minutos),
> puede ser más rápido una convolución optimizada.
si
> Estás de acuerdo?
en parte :D
[1] Como el sistema es causal, calculo que se puede usar el método
"overlap-add method" para calcular la FFT y creo que con eso se podría
hacer algo simil real-time. O sea, dividir la señal en pedazos, a
medida que "va llegando" por ejemplo en muestras de tamaño similar a
la RI, procesarlas y luego sumar las salidas (el sistema esta
"modelado" como lineal y por lo tanto se puede hacer esto)
me diste una muy buena idea, gracias!
voy a ver si implemento algo de esto cuando me haga un poco de tiempo
y lo pongo en el blog y/o aca :D
Saludos!
--
Hernán
http://h.ordia.com.ar
GnuPG: 0xEE8A3FE9