Sweep Scope - DRC

Introducción

No es necesario escribir un programa que genere Sweeps Logarítmicos. Para ello usamos DRC que es multiplataforma (disponemos del código fuente).

Generación del sweep logarítmico.

Para generar un Sweep Logarítmico y su inverso:

glsweep 48000 0.5 10 22050 10 1 0.05 0.005 sweep.pcm inverse.pcm
  • Frecuencia de muestreo: 48000 hz
  • Ganancia: 0.5
  • Frecuencia inicial: 10 Hz
  • Frecuencia final: 22050 Hz
  • Duración del Sweep: 10 sg
  • Silencios al conmienzo y al final: 1 sg
  • Ventanas Blackman-Harris:
    • Al comienzo del tono: 0.05 (5%)
    • Al final del tono: 0.005 (0.5%)
  • Sweep logarítmico: sweep.pcm
  • Inverso del sweep logarítmico: inverse.pcm

Los ficheros sweep.pcm e inverse.pcm están grabados en formato RAW 32bit IEEE floating point. Se pueden convertir en .WAV reproducibles mediante Sox.

  • Sweep: vemos que empieza con un segundo en silencio y después durante 10 segundos pasa de 10 hz a 22050hz de forma logarítmica. La amplitud llega a 0.5 (la ganancia), llega a ese valor empleando el 5% del tiempo al comienzo y el 0.5% al final.
sweep.png
  • Inverse: parece que no hay nada pero hay unas oscilaciones de muy baja amplitud. También es importante observar que dura 10 segundos (se han eliminado los silencios al inicio y al final).
inverse.png

Factor de normalización

El factor de normalización es:

  • Factor de normalización: 14776.308615

Convolución del sweep original: impulso perfecto.

Para la convolución disponemos de la herramienta lsconv. Si convolucionamos el sweep.pcm con el inverse.pcm obtendremos un impulso:

lsconv sweep.pcm inverse.pcm impulse.pcm

Obtenemos el fichero impulse.pcm. Obtendremos una respuesta impulsiva casi perfecta:
impulse.png

En la figura podemos observar:

  • El pico se produce al final del sweep original (pero antes del último silencio): 11 segundos. (Todo el retraso después de este punto se debe a retrasos, como por ejemplo el tiempo que tarda en llegar el sonido desde el altavoz hasta el micrófono).
  • El pico tiene un valor de: 0.513219 (-5.793950dB).
  • La posición del pico es en el sample: 528000 (528000/48000hz = 11sg)
  • La duración total del impulso es de 22sg = 12sg (sweep.pcm) + 10sg (inverse.pcm)

Qué valores usar.

Sobre la duración del sweep logarítmico:

  • Duración: para pruebas, 5/10 segundos está bien, pero para realizar medidas muy tolerantes al ruido externo interesan medidas de 45 o 60 segundos.
Salvo que se diga otra cosa, el contenido de esta obra está bajo la licencia: Creative Commons Reconocimiento NoComercial CompartirIgual 2.5 España.