Software correcion altavoces Octave
Software correcion altavoces Octave
Hola llevo un tiempo pensando un utilizar Octave como ha hecho Roberto para la generación de filtros fir. Alguna recomendación?
Un saludo
Un saludo
Re: Software correcion altavoces Octave
Roberto tiene publicado (GNU) su trabajo en https://github.com/rripio/DSD
Es un soft que corrige altavoces y los filtra, pero es de gran utilidad como toolkit para FIRs con Octave
Aquí la presentación en el foro
viewtopic.php?f=4&t=3871
Es un soft que corrige altavoces y los filtra, pero es de gran utilidad como toolkit para FIRs con Octave
Aquí la presentación en el foro
viewtopic.php?f=4&t=3871
Re: Software correcion altavoces Octave
Gracias Rafax por la presentación. Por supuesto te invito a que lo pruebes y preguntes lo que creas conveniente. O contribuyas si te apetece, claro.
Los filtros FIR que genera son producto de muchas pruebas y refinamientos, creo que son de muy buena calidad. Por otro lado hay una utilidad para generar filtros DRC con un criterio sencillo pero poco frecuente, y alguna idea original en los graves, del que me gustaría tener todo el feedback posible.
Bueno, dicho queda
Los filtros FIR que genera son producto de muchas pruebas y refinamientos, creo que son de muy buena calidad. Por otro lado hay una utilidad para generar filtros DRC con un criterio sencillo pero poco frecuente, y alguna idea original en los graves, del que me gustaría tener todo el feedback posible.
Bueno, dicho queda

Re: Software correcion altavoces Octave
Muchas gracias le voy a echar un ojo suena genial.
Tengo ya algo montado pero tengo un poco de problema con la deconvolución de sweep exponencial a respuesta impulsional. Porque no quiero sólo tratar frecuencias sino también fase.
Un saludo
Tengo ya algo montado pero tengo un poco de problema con la deconvolución de sweep exponencial a respuesta impulsional. Porque no quiero sólo tratar frecuencias sino también fase.
Un saludo
Re: Software correcion altavoces Octave
Ah, que quieres hacerlo TODO...
Vale, puedes echar un vistazo a lo que hicimos en scilab tiempo ha, Sweep-scope. Ahí tienes código por un tubo para inspirarte en deconvolución de sweeps. Está escrito para scilab, pero es bastante similar a octave (ojo a los índices de las matrices):
http://www.che.es/directorio/displayima ... play_media
DSD está pensado para aceptar un .frd obtenido con cualquier otro programa de medición. Es lo que te recomiendo salvo que, como a mí en su momento, lo que te mortifique sea SABER cómo se obtiene el impulso. En ese caso no digo nada, y me pongo a tu disposición para lo que quieras preguntar

Vale, puedes echar un vistazo a lo que hicimos en scilab tiempo ha, Sweep-scope. Ahí tienes código por un tubo para inspirarte en deconvolución de sweeps. Está escrito para scilab, pero es bastante similar a octave (ojo a los índices de las matrices):
http://www.che.es/directorio/displayima ... play_media
DSD está pensado para aceptar un .frd obtenido con cualquier otro programa de medición. Es lo que te recomiendo salvo que, como a mí en su momento, lo que te mortifique sea SABER cómo se obtiene el impulso. En ese caso no digo nada, y me pongo a tu disposición para lo que quieras preguntar

Re: Software correcion altavoces Octave
Gracias por la info. Me parece increible 10 años atrás y tan avanzados, creo que esto este codigo era pionero en su tiempo... y ahora, no hay mucha información al respecto en internet.
Vale veo que se realiza el sweep y el inverso de esta manera:
- Invertir el sweep en el tiempo
- Invertir amplitudes
Y directamente eso se convoluciona con el sweep medido y salen las respuestas impulsionales.
Mi idea es automatizar todo y digo todo, no quiero que haya que saber para utilizar. Lo que hay hecho hasta ahora presionando un botón:
- Medicion automatica
- Eq automatica en fir
- Vuelta a la reproducción
Lo que falta:
- Fase en graves
Un saludo
Vale veo que se realiza el sweep y el inverso de esta manera:
- Invertir el sweep en el tiempo
- Invertir amplitudes
Y directamente eso se convoluciona con el sweep medido y salen las respuestas impulsionales.
Mi idea es automatizar todo y digo todo, no quiero que haya que saber para utilizar. Lo que hay hecho hasta ahora presionando un botón:
- Medicion automatica
- Eq automatica en fir
- Vuelta a la reproducción
Lo que falta:
- Fase en graves
Un saludo
Re: Software correcion altavoces Octave
Jaimesg escribió:Gracias por la info. Me parece increible 10 años atrás y tan avanzados, creo que esto este codigo era pionero en su tiempo...


Lo mejor, ir a las fuentes: busca en los papers de Angelo Farina, que es padre del invento (obtención del impulso lineal y los impulsos de distorsión por sweeps logarítmicos).y ahora, no hay mucha información al respecto en internet.
¿Corregir el group delay del pasaaltos natural del grave u otra cosa?Lo que falta:
- Fase en graves
Re: Software correcion altavoces Octave
Si lo más importante es el gruop delay pero hay más: el dipolo tiene cancelación en graves y añade otra pendiente más (poco de orden 1 o 0.5) y por tanto más fase que mejorar. Con la correción de la magnitud en fase minima esa fase se vuelve a poner correcta, en teoria...¿Corregir el group delay del pasaaltos natural del grave u otra cosa?
Acabo de probar y he de decir que las funciones de octave conv(extremadamente lenta) fftconv(supera 32 bits) y deconv (parece que esta lo hace todo, no hace falta calcular el sweep inverso pero incluso más lenta) van a ser un problema.
No se bien como lo hacen otros programas que te sacan la grafica en 1 segundo despues de medir, tal vez sea la PI que acostumbrados a la optimización de la FFTW no vemos que no hay mucha potencia.
Entiendo que las distorsiones son imposibles de solucionar con filtros fir verdad?
Saludos
Re: Software correcion altavoces Octave
Bueno, un dipolo tiene una pendiente de corte de primer orden, muy benigna. Es precisamente su mayor atractivo.Jaimesg escribió: Si lo más importante es el gruop delay pero hay más: el dipolo tiene cancelación en graves y añade otra pendiente más (poco de orden 1 o 0.5) y por tanto más fase que mejorar.
En teoría y en la práctica. El problema es que no puede corregirse la magnitud por completo, porque se sobrecarga el altavoz. Si se aplana la respuesta del woofer hasta corriente contínua la excursión tiende a infinito al bajar en frecuencia: mal asuntoCon la correción de la magnitud en fase minima esa fase se vuelve a poner correcta, en teoria...

Mi procedimiento es:
1. Hacer una corrección en fase mínima casi hasta contínua. Esta corrección es teórica, solo aparece en el dominio matemático. Con ello se corrige la fase.
2. Hacer un corte en fase lineal limitando el ancho de banda. Con ello se limita también la excursión sin alterar la fase ya corregida. Este corte puede ser con cualquier pendiente, preferiblemente emulando una Butterworth2, como en una caja cerrada, pero esto es a voluntad.
La cuestión es que esto se hace mejor sobre una curva anecoica del altavoz que sobre una curva en sala.
No he usado la función deconv. No entiendo el problema con fftconv, que es realmente rápida, ¿puedes explicarlo un poco?Acabo de probar y he de decir que las funciones de octave conv(extremadamente lenta) fftconv(supera 32 bits) y deconv (parece que esta lo hace todo, no hace falta calcular el sweep inverso pero incluso más lenta) van a ser un problema.
Me temo que es asíEntiendo que las distorsiones son imposibles de solucionar con filtros fir verdad?

- luegotelodigo
- Mensajes: 352
- Registrado: Vie Dic 09, 2005 1:57 pm
- Ubicación: Graná
Re: Software correcion altavoces Octave
Para el FIR suponemos que el sistema es LTI y la disto no lo es.
--Y así me lo aprendí yo--
Re: Software correcion altavoces Octave
Acabo de ver el problema no hay suficiente memoria RAM para hacer los calculos.fftconv
Si por ejemplo aplicamos la respuesta inversa de la distorsion creada por el campo magnetico del altavoz. Se eliminaría la distorsión?Para el FIR suponemos que el sistema es LTI y la disto no lo es.


Ese group delay se elimina con FIR o sólo se adelanta la fase?
Un saludo
Re: Software correcion altavoces Octave
No. La respuesta inversa de la distorsión es algo difícil de definir. Busca series de Volterra... En realidad toda la frase "aplicamos la respuesta inversa de la distorsion" resulta mucho más complicada de lo que parece.Jaimesg escribió:Si por ejemplo aplicamos la respuesta inversa de la distorsion creada por el campo magnetico del altavoz. Se eliminaría la distorsión?
La distorsión crea nuevos componentes de frecuencia (es no lineal) y la convolución no puede hacer tal cosa. Olvídalo, salvo la curiosidad de conocer el problema.
Pero supongo que piensas en algo más parecido a un compander. No sé si se ha hecho, pero me extrañaría que no se hubiera intentado. Ahora, comercialmente, ya sea en audio doméstico o pro, no hay nada.
Con FIR. No es una retardo constante.Ese group delay se elimina con FIR o sólo se adelanta la fase?
Re: Software correcion altavoces Octave
Sí eso es justamente lo que tengo en mente.Pero supongo que piensas en algo más parecido a un compander. No sé si se ha hecho, pero me extrañaría que no se hubiera intentado. Ahora, comercialmente, ya sea en audio doméstico o pro, no hay nada
Entiendo que no es un retardo constante pero creo entender que para solventar ese group delay, el FIR tendrá que ser algo así como al principio enviar una señal de gran magnitud para llenar la resonancia de energia luego mantener el nivel y por último retirar la energía de forma explosiva de nuevo.Con FIR. No es una retardo constante.
Eso es posible?
Si es posible y eso lo que están haciendo programas como DRC-fir entiendo que el SPL máximo con ese tipo de correcciones baja mucho.
Un saludo
Re: Software correcion altavoces Octave
Bueno... no lo sé. En estas cosas la intuición no funciona muy bien. Intentaré subirte un filtro para que juzgues por tí mismo.Jaimesg escribió: Entiendo que no es un retardo constante pero creo entender que para solventar ese group delay, el FIR tendrá que ser algo así como al principio enviar una señal de gran magnitud para llenar la resonancia de energia luego mantener el nivel y por último retirar la energía de forma explosiva de nuevo.
La corrección de fase no influye en nada en el SPL. Si se ecualiza la pendiente de corte de un woofer lógicamente se penaliza mucho la excursión, pero eso es cuestión de la magnitud, no de la fase.Si es posible y eso lo que están haciendo programas como DRC-fir entiendo que el SPL máximo con ese tipo de correcciones baja mucho.
Re: Software correcion altavoces Octave
He aquí un filtro con corrección de group delay que estuve usando para una caja de dos woofers de 8 pulgadas. Te adjunto el .pcm (float 32) las respuesta del filtro y la foto del impulso, muy amplificado para que se vea algo: los filtros de graves salen siempre muy chiquititos.
En la respuesta la escala de frecuencias va de 10 a 500 hz (hay un error en la leyenda).
En la respuesta la escala de frecuencias va de 10 a 500 hz (hay un error en la leyenda).