Software correcion altavoces Octave

Previos, filtros activos, DACs, CDs, transportes, vinilo, tratamiento de salas,...
Jaimesg
Mensajes: 100
Registrado: Sab May 26, 2012 3:57 pm

Software correcion altavoces Octave

Mensaje por Jaimesg » Jue Jun 18, 2015 4:05 pm

Hola llevo un tiempo pensando un utilizar Octave como ha hecho Roberto para la generación de filtros fir. Alguna recomendación?

Un saludo
Avatar de Usuario
Rafax
Mensajes: 1298
Registrado: Mié May 03, 2006 7:29 pm
Ubicación: Madrid

Re: Software correcion altavoces Octave

Mensaje por Rafax » Jue Jun 18, 2015 6:48 pm

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
RR
Mensajes: 3086
Registrado: Lun Oct 31, 2005 12:40 pm

Re: Software correcion altavoces Octave

Mensaje por RR » Jue Jun 18, 2015 7:34 pm

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 8)
Jaimesg
Mensajes: 100
Registrado: Sab May 26, 2012 3:57 pm

Re: Software correcion altavoces Octave

Mensaje por Jaimesg » Jue Jun 18, 2015 9:27 pm

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
RR
Mensajes: 3086
Registrado: Lun Oct 31, 2005 12:40 pm

Re: Software correcion altavoces Octave

Mensaje por RR » Jue Jun 18, 2015 11:26 pm

Ah, que quieres hacerlo TODO... :shock:

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 :)
Jaimesg
Mensajes: 100
Registrado: Sab May 26, 2012 3:57 pm

Re: Software correcion altavoces Octave

Mensaje por Jaimesg » Vie Jun 19, 2015 11:52 am

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
RR
Mensajes: 3086
Registrado: Lun Oct 31, 2005 12:40 pm

Re: Software correcion altavoces Octave

Mensaje por RR » Vie Jun 19, 2015 12:22 pm

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...
:oops: Quizá si... Luego nos hemos estancado :wink:
y ahora, no hay mucha información al respecto en internet.
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).
Lo que falta:
- Fase en graves
¿Corregir el group delay del pasaaltos natural del grave u otra cosa?
Jaimesg
Mensajes: 100
Registrado: Sab May 26, 2012 3:57 pm

Re: Software correcion altavoces Octave

Mensaje por Jaimesg » Vie Jun 19, 2015 1:10 pm

¿Corregir el group delay del pasaaltos natural del grave u otra cosa?
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...

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
RR
Mensajes: 3086
Registrado: Lun Oct 31, 2005 12:40 pm

Re: Software correcion altavoces Octave

Mensaje por RR » Sab Jun 20, 2015 12:25 am

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.
Bueno, un dipolo tiene una pendiente de corte de primer orden, muy benigna. Es precisamente su mayor atractivo.
Con la correción de la magnitud en fase minima esa fase se vuelve a poner correcta, en teoria...
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 asunto ;-)

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.
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 he usado la función deconv. No entiendo el problema con fftconv, que es realmente rápida, ¿puedes explicarlo un poco?
Entiendo que las distorsiones son imposibles de solucionar con filtros fir verdad?
Me temo que es así :(
Avatar de Usuario
luegotelodigo
Mensajes: 352
Registrado: Vie Dic 09, 2005 1:57 pm
Ubicación: Graná

Re: Software correcion altavoces Octave

Mensaje por luegotelodigo » Sab Jun 20, 2015 12:33 am

Para el FIR suponemos que el sistema es LTI y la disto no lo es.
--Y así me lo aprendí yo--
Jaimesg
Mensajes: 100
Registrado: Sab May 26, 2012 3:57 pm

Re: Software correcion altavoces Octave

Mensaje por Jaimesg » Sab Jun 20, 2015 1:04 pm

fftconv
Acabo de ver el problema no hay suficiente memoria RAM para hacer los calculos.
Para el FIR suponemos que el sistema es LTI y la disto no lo es.
Si por ejemplo aplicamos la respuesta inversa de la distorsion creada por el campo magnetico del altavoz. Se eliminaría la distorsión?

ImagenImagen
Ese group delay se elimina con FIR o sólo se adelanta la fase?


Un saludo
RR
Mensajes: 3086
Registrado: Lun Oct 31, 2005 12:40 pm

Re: Software correcion altavoces Octave

Mensaje por RR » Sab Jun 20, 2015 2:52 pm

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?
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.

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.
Ese group delay se elimina con FIR o sólo se adelanta la fase?
Con FIR. No es una retardo constante.
Jaimesg
Mensajes: 100
Registrado: Sab May 26, 2012 3:57 pm

Re: Software correcion altavoces Octave

Mensaje por Jaimesg » Sab Jun 20, 2015 3:27 pm

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
Sí eso es justamente lo que tengo en mente.
Con FIR. No es una retardo constante.
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.
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
RR
Mensajes: 3086
Registrado: Lun Oct 31, 2005 12:40 pm

Re: Software correcion altavoces Octave

Mensaje por RR » Dom Jun 21, 2015 4:26 pm

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.
Bueno... no lo sé. En estas cosas la intuición no funciona muy bien. Intentaré subirte un filtro para que juzgues por tí mismo.
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.
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.
RR
Mensajes: 3086
Registrado: Lun Oct 31, 2005 12:40 pm

Re: Software correcion altavoces Octave

Mensaje por RR » Dom Jun 21, 2015 7:25 pm

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).
Adjuntos
Respuesta del filtro
Respuesta del filtro
impulso del filtro
impulso del filtro