Acerca del sobremuestreo y el aliasing en la Compresión Digital
- JuanS
- Mar 5, 2020
- 6 min read
En una seƱal digital, esta convolución de espectros es una convolución circular y, debido a esto, si alguna parte cayera por fuera de la frecuencia de Nyquist producirĆa aliasing š. Por lo que una convolución espectral produce una expansión del espectro, la posibilidad de aliasing esta presente.
Esta grƔfica muestra el producto de dos seƱales en donde la suma de los anchos de banda es menor que el ancho de banda disponible (las frecuencias mayores a la frecuencia de Nyquist aparecen sombreadas). In este caso, es fƔcil ver que, debido a los espectros de la fuente y la seƱal de control, el sobremuestreo es innecesario.

Por el contrario, esta grĆ”fica muestra el producto en el tiempo de una fuente y una seƱal de control cuyos anchos suman mĆ”s que la frecuencia de Nyquist. Debido a esto, el resultado del producto de las seƱales en una frecuencia de muestreo 1X y 2X es diferente. En el caso 2X el espectro se extiende hasta el area sombreada mientras que a la frecuencia de muestreo base la energĆa se refleja sobre el ancho de banda base.

Debido a este problema, el sobremuestreo se cita frecuentemente como la solución "perfecta! ya nunca mÔs habrÔ problemas". Sin embargo, el sobremuestreo en tiempo real no es un procedimiento trivial. El proceso es el siguiente:
remuestreo(up) -> filtro anti-imagen -> no linealidad -> filtro antialiasing -> remuestreo (down)
Nota: el remuestreo para incrementar el numero de muestras (en inglés upsampling) también se conoce como estiramiento y consiste en insertar n-1 ceros entre las muestras para incrementar la frecuencia de muestreo n veces. el remuestreo para disminuir el número de muestras (en ingles downsampling) también se conoce como decimación y consiste en descartar n-1 muestras cada n muestras para reducir la frecuencia de muestreo n veces.
La siguiente figura muestra el proceso tanto en el dominio del tiempo como del espectro aplicado a algunos espectros con formas predecibles. La no-linealidad aplicada es x^2! Esto es un elemento clave! Elevar al cuadrado una seƱal es una forma fƔcil de entender esto desde diferentes perspectivas:
Es multiplicar la señal por Ella misma lo que es equivalente a una autoconvolución⦠De acuerdo a esto el ancho de banda se podrÔ doblar a lo mÔs.
Elevar al cuadrado una senoidal es doblar su frecuencia y añadir un poco de DC (Esto es una propiedad trigonométrica, buscar fórmulas de potencias trigonométricas) (Para el anÔlisis eliminé el DC tras la no linealidad ya que es irrelevante para este propósito)
Elevar al cuadrado añade distorsión a través del segundo armónico. Por lo que es exclusivamente del segundo armónico sabemos que la mÔxima frecuencia en la señal producirÔ una frecuencia del doble de sà misma lo que es equivalente a doblar el ancho de banda a lo mÔs.
Bien! De arriba hacia abajo. Las dos primeras grƔficas muestran la seƱal original. En seguida estƔ la seƱal remuestrada (estiramiento). Esta tiene zeros entre las muestras y un espectro repetido ademƔs de una frecuencia de muestreo de 8x debido a que hay mayor cantidad de muestras en el mismo tiempo.
En seguida estĆ” la seƱal filtrada con el filtro anti imagen. Los espectros repetidos se eliminan con un filtro elĆptico de orden 12. Nótese que este proceso de filtrado podrĆa no ser perfecto!
En seguida aplicamos la no linealidad y como es de esperarse el ancho de banda se duplica. Nótese el dominio del tiempo para verificar que al amplitud al cuadrado de la señal tras el filtro anti-imagen es en efecto la señal tras la no linealidad.
En seguida aplicamos el filtro anti-aliasing y obtenemos una seƱal de banda limitada (usualmente es posible utilizar la misma arquitectura de filtrado que en el filtro anti-imagen)
Finalmente la decimación. En este punto, todo lo que estĆ© en el area sombrada se convertirĆ” en ALIAS. No tiene a donde mĆ”s ir y dado que SIEMPRE habrĆ” algo de energĆa en esta sección siempre habrĆ” algo de aliasing. EN este caso estĆ” por debajo de 60dB pero honestamente no tengo datos experimentales para decir que esto es en efecto una cantidad imperceptible de aliasing. Finalmente, dado que es un ejemplo, la no-linealidad se comporta de una manera sencilla y los filtros no son tan agresivos como podrĆan ser.

Bueno, hagamos las cosas interesantes. Esta grÔfica muestra el mismo proceso limitando el ancho de banda de la señal un poco. SerÔ que el aliasing se reducirÔ al final? Por supuesto! ahora la expansión espectral no es tan extrema y ahora hay una banda de guarda para mejorar el filtrado de las imÔgenes y los aliases.

ĀæQuĆ© tal si pudiĆ©ramos limitar el ancho de banda para asegurar que la expansión espectral estuviera dentro de la frecuencia de Nyquist? En este caso esto implicarĆa limitar el ancho de banda a la mitad de la frecuencia de muestreo (e.g. Un filtro pasa bajos en 20Khz con fs=96kHz)

Finalmente un acercamiento a la frecuencia de Nyquist en los tres casos anteriores para mostrar sus diferencias.

Lo siguiente es una muestra de una redoblante el cual vamos a procesar con un compresor. Utilizaremos un detector tipo picos y uno rms (sólo por referencia el umbral estÔ en -30dB, la rata de compresión en 2:1, el tiempo de ataque para el detector de picos es de 1ms, el tiempo de relajación para el detector de picos es de 100 ms y la constante de tiempo del detector rms es de 50ms... Hay algunas razones para escoger estos valores pero no son tan relevantes para el próximo anÔlisis)
De arriba a abajo tenemos la fuente (el redoblante), ambas señales de control con sus espectros y las señales comprimidas con cada una de las señales de control. Todo en las areas sombreadas se convertirÔ en aliasing. No es mucho pero la pregunta que quisiera resolver es ¿Cómo la limitación en banda y el sobre muestreo pueden ayudar y cómo cuantificar estas diferentes situaciones?. (Nótese que todo en el area sombreada al final se convertirÔ en aliasing al volver a la frecuencia de muestreo base).

Esta es la misma muestra de un redoblante pero ahora con algoritmo de sobremuestreo. De nuevo de arriba a abajo: La señal original, la señal sobre muestreada, ambas señales de control (detector de picos y detector rms) y finalmente las dos señales comprimidas con los dos tipos de detección (picos y rms).

Para cuantificar el aliasing decidĆ (porque nunca he visto esto hecho de manera formal) calcular la energĆa por fuera del ancho de banda base (posteriormente energĆa de aliases) y la energĆa dentro del ancho de banda base. La razón entre estas dos mediciones serĆ” la cantidad de energĆa de aliases en relación con la energĆa que no viene de aliases (esto es similar a la medición de THD-F de IEEE?)... Adicionalmente, evalĆŗenlos las siguientes tres opciones: Limitar el ancho de banda de la fuente o no, limitar el ancho de banda de la seƱal de control o no o suavizar la seƱal de control. Una aclaración acerca de suavizar la seƱal de control: Nótese que cuando la seƱal de control cae por debajo del umbral hay una transición abrupta al acercarse a la ganancia unitaria durante el proceso de relajación. A menudo son estas discontinuidades las que producen altas frecuencias por lo que suavizar esa transición deberĆa reducir el ancho de banda de la seƱal de control; es interesante pensar que esto es comparable con incrementar la rodilla del compresor ya que crea una transición suave entre el estado comprimido y el estado no comprimido!
Bien acĆ” estĆ” el anĆ”lisis. Por lo que hay demasiadas grĆ”ficas y combinaciones todas las figuras se pueden encontrar en este link a los archivos png. Sin embargo, estas dos tablas deberĆan dar suficiente información para entender lo que ocurre.

Algunas ideas finales. Aunque esto no es un anĆ”lisis exhaustivo a travĆ©s del material usado, sospecho que en general la compresión sin sobremuestreo no tiene enormes cantidades de aliasing, PERO el si es o no perceptible es todavĆa un aspecto incierto. Sin embargo, la compresión sin sobremuestreo tambiĆ©n puede tener muy pequeƱas cantidades del aliasing si algunas tĆ©cnicas adicionales se utilizan para lograr esto. Por otro lado es interesante ver que hay muchas estructuras de sobremuestreo para compresión con sobremuestreo. ĀæDeberĆa calcularse la seƱal de control a la frecuencia de muestreo base? o cuando la fuente haya sido sobremuestreada. Esto no es algo trivial!. AdemĆ”s este ejemplo usa sobremuestreo 8x pero sospecho que cualquier cosa mayor a 2x cuando se implementa con cuidado no deberĆa dar muchas ventajas. Esto es por que a menos que haya una buena razón para pensar que el espectro va a crecer mucho mĆ”s sobremuestrear de mĆ”s puede incrementar el aliasing. Si hiciĆ©ramos un sobremuestreo de 100X obtendrĆamos un piso de ruido que se sumarĆa 99 veces sobre el ancho de banda base... sĆ... quizĆ”s no es una muy buena idea XD.
Finalmente, tomen todo esto con escepticismo. Me gusta mucho el DSP y lo he estudiado con detenimiento, pero no me dedico a esta parte de manera profesional (aunque no me molestarĆa hacerlo jajaja). Estoy seguro de que hay montones de trucos y detalles que se ganan con la experiencia y yo sólo soy un tipo al que le gusta este tipo de cosas XD no mĆ”s que eso. AsĆ que ante cualquier tipo de duda o debate acerca de esto me encantarĆa discutirlo :)