La tarta de los 16 bits y los 24 bits

0
592

Esta entrada a mi blog se la dedico a mi cuñada, que es la única persona en el mundo que conozco que es capaz de partir una tarta sin que un solo trozo sea igual que el otro, así como te lo cuento. Trozos que deberían ser triangulares se convierten en figuras poliédricas, de diferentes tamaños.

Voy a contarte algo que lleva mucho tiempo rondandome la cabeza, y que es parte del desconocimiento del ser humano que acumula equipos sin saber como funcionan. El tema de hoy es la cuantificación en bits de una señal y su relación con el ruido.

Suponte que tienes una tarta que tienes que dividirla entre dos personas, pensando en las raciones que va a querer cada uno. Si tenemos dos personas muy glotonas, podríamos pensar en partir la tarta en dos trozos iguales y darles a cada uno su mitad correspondiente. Suponte que ahora de estas dos personas, una de ellas es un glotón, y la otra está a dieta. Si divido la tarta en dos, a lo mejor la persona más glotona no tiene suficiente con su mitad y la persona a dieta le sobra con su mitad. Dado que tan solo has hecho un corte, a una persona le va a faltar y a otra persona le va a sobrar. Así que quizás es mejor idea partir la tarta en cuatro trozos iguales, y darle a una persona 3 porciones y a otra 1 porción. Es decir pasamos de hacer una división 2^0 a hacer dos divisiones 2^1, es muy importante que veas que estamos haciendo los cortes siempre para que todas las porciones tengan el mismo tamaño (cuantificación uniforme).

Supongamos ahora que la persona que está a dieta, realmente quiere un poco más que solo una porción de tarta, y sin embargo la glotona, tiene demasiado con 3 porciones de tarta. Así que en vez de darle dos cortes a la tarta para conseguir 4 porciones, vamos a hacerle cuatro cortes a la tarta obteniendo 8 porciones de tarta 2^3, de igual tamaño. Al glotón le podemos dar 5 porciones de tarta, y al que está a dieta le podemos dar 3 trozos de tarta.

Imaginate que se siguen quejando de que cada uno no tiene el tamaño total de tarta que desean. Podrías ir haciendo este proceso iterativo o bien hasta que cada porción sean tan pequeña, que cuando sumes las porciones que quiere cada uno, se acerque al tamaño que ellos desean de una forma infinitesimal, o hasta que las porciones sean tan estrechas que el cuchillo sea más ancho que la porción y ya no puedas seguir cortando más.

Cada vez que damos más cortes, nos acercamos con más precision al tamaño deseado, cuando juntemos el número de porciones deseadas. Por ejemplo, con dos cortes las raciones se alejan mucho de realmente el tamaño requerido, ya que a cada uno le correspondería a una mitad. Sin embargo con 4 cortes, nos podemos acercar más al tamaño de tarta deseada, ya que a uno le puedes dar 5 porciones (cinco octavos) y a otro le puedes dar 3 porciones (tres octavas). Si haces 8 cortes, podrás obtener 16 porciones de tarta 2^4, y podrás darle a uno 5 (cinco dieciseisavos) porciones, y al otro 11 (once dieciseisavos ) porciones. Así que lógicamente cuantos más cortes des, más te acercaras a las porciones deseadas, en una serie de aproximaciones sucesivas que van reduciendo el error en cuanto al tamaño de tarta deseada y el número de porciones que se acerca a este tamaño. Es importante que te des cuenta de que la tarta sigue siendo la misma, no aumenta ni disminuye, en lo único que se diferencia es en el número de cortes.

Se te puede ocurrir, «bueno, voy a darle infinitos cortes y de esta forma, tendré tal cantidad de porciones que el número de porciones que desea cada persona es exacta y no aproximada». Es una idea que no está mal, sin embargo el cuchillo tiene un determinado grosor, y no vas a poder hacer porciones más pequeñas que el grosor del cuchillo, así que no puedes hacer infinitos cortes.

Cuando se digitaliza la señal, se producen dos discretizaciones. Una es en el eje temporal y otra es en el eje de amplitud. La discretización es una forma de cortar la tarta, en la cual de una tarta continua, obtenemos trozos de tarta discreta.

En la discretización temporal, lo que se hace es mediante muestras generadas por un reloj, capturar determinados valores de una señal en diferentes instantes de tiempo. Con la discretización en amplitud, lo que hacemos es asignar determinados valores de amplitud mediante un código binario a cada uno de los posibles valores de amplitud de la muestra analógica. Es decir troceamos el eje temporal y troceamos el eje de amplitudes, pasando de tener señales con infinitos valores, a señales con un conjunto de valores limitado.

Puedes pensar que si aumentamos el número de muestras por segundo, o el número de bits que conforman cada palabra digital, tendremos más precisión en la digitalización, y es una afirmación cierta a medias. Existe un límite, si tomas un número infinito de muestras o amplitudes, la cantidad de datos a manejar es imposible para cualquier sistema digital. Además, infinitos valores en ambos ejes sería igual a tener la señal analógica, para lo cual no es necesario digitalizarla.

Los límites del número de muestras y de amplitudes a cuantificar viene delimitado por la señal. Por ejemplo una señal que varía de 0 Hz a 20 KHz, según Nyquist se puede digitalizar, con plena fidelidad, con una frecuencia de muestreo de 40 KHz, no hace falta frecuencias de muestreo más altas. Y si esta señal tiene un rango dinámico de 70 dBs (diferencia entre el nivel más alto y el más bajo que transporta la señal) podrías utilizar un cuantificador de 12 bits, ya que como regla de tres podemos pensar que cada bit proporciona un margen dinámico de 6 dBs, con lo que 12 bits proporcionarían un rango dinámico de 72 dBs.

Puedes pensar que el usar más bits en principio es mejor, ya que puedo tener trozos mas pequeños de la tarta y de esta forma acercarme mejor a lo que cada uno desea. ¿Pero que pasa cuando el cuchillo con el que cortas, es muy grueso?. Pues que vas a tener el problema de que a partir de un determinado número de cortes los trozos son más pequeños que el ancho del cuchillo y por tanto no vas a poder hacer estos cortes.

El ancho del cuchillo es el ruido en el cuantificador, y este ruido viene determinado por dos cosas, el ruido de cuantificación que solo depende del número de bits, y por otro lado el ruido analógico a la entrada, caracterizado a partir del ruido analógico intrínseco al convertidor, a las instalaciones eléctricas, al propio ruido presente en la señal, al ruido de los equipos analógicos que atraviesa….

Mucha gente cree que el digital es mágico, que solo existe el ruido del cuantificador, sin tener en cuenta todo el ruido analógico, y pensando que una señal que se digitaliza es idealmente sin ruido. Sin embargo esto no es así.

En la siguiente imagen puedes ver la función de transferencia en un cuantificador que relaciona el nivel de amplitud analógica a la entrada (eje x) con la palabra digital asignada a su salida (eje y). Esta función de transferencia relaciona niveles de tensión a la entrada con palabras código del cuantificador. La palabra digital tiene un valor analógico que depende, de la tensión de referencia del convertidor, y del número de bits.

En la función de transferencia anterior, como hemos usado tres bits, 4 cortes de la tarta, solo vamos a tener 8 posibles valores de amplitud a los que asignar los infinitos valores de nuestra señal analógica (realmente por como funcionan los convertidores bipolares vas a obtener (2^n)-1 niveles, con 3 bits ->7 niveles). Fíjate en un detalle, todas las señales analógicas de entrada cuya amplitud estén entre 0 y x1 se van a digitalizar con la palabra código 011, y este escalón, por supuesto, tiene su correspondencia con un valor analógico de tension asignado por el cuantificador. Esto es un gran problema, porque dos señales con diferentes amplitudes que se digitalizan con el mismo escalón 011, poseerán a la salida del cuantificador, la misma tensión adjudicada por el cuantificador, y a todas luces estas dos señales en la entrada del convertidor, poseían diferentes amplitudes de tension.

Si aumentas el número de bits, los escalones se estrechan y aumentas la resolución, con lo que dos señales analógicas que antes caían en el mismo escalón, ahora pueden estar situados en dos escalones diferentes, y por tanto se acercan más a sus valores reales en analógico. Esto es análogo a aumentar el número de cortes de la tarta, cuantos más cortes, más nos acercamos al valor ideal de tarta que desea cada persona.

A continuación puedes ver las funciones de transferencia del cuantificador con 3 bits y con 4 bits

Al tener más bits, hay más escalones, y el error que se comete al aproximar la amplitud de la muestra analógica a la palabra digital que corresponde con esa amplitud, es menor.

En la anterior gráfica además de mostrarte la función de transferencia del cuantificador, te muestran el error que te comentaba antes, que es la diferencia en tensión entre el valor de amplitud real de la muestra en analógico y la tensión analógica asociada al escalón del cuantificador, en el que la muestra a caido. O dicho de otra forma es la resta, del valor analógico asignado a ese escalón del cuantificador, menos el valor de amplitud que posee la muestra analógica cuantificada. El valor de este error, oscila desde cero (cuando el valor analógico correspondiente del escalón coincide con la amplitud de la muestra en el dominio analógico) hasta medio escalón que es el peor de los casos y sucede justo cuando la muestra está punto de saltar a otro escalón por encima o por debajo, pero no llega a dar el salto, con lo cual su error es o medio escalón por encima o medio escalón por debajo. En esta gráfica del error puedes ver como su magnitud oscila según una función diente de sierra, desde que el error es mínimo (cero) hasta que es máximo (medio escalón). A dicho error se le conoce como error de cuantificación y en el peor de los casos se corresponde con medio escalón. Cuanto más estrecho sean los escalones, más pequeño será el error, ya que el salto entre escalones que antes no se producía, ahora sí se producirá. Al reducir el tamaño del escalón, el valor de amplitud analógico se acerca al valor analógico asignado al escalón y el error será menor. El ancho de los escalones, como te he mostrado anteriormente, se reduce al aumentar el número de bits. Cuantos más cortes demos a la tarta, más nos aproximaremos al total de porciones que desea cada uno.

El error de cuantificación es un ruido que se superpone a la señal de entrada. Si esta señal la hacemos pasar por un conversor digital/analógico y observamos su salida puedes ver que a la señal original analógica se le suma un determinado ruido que hace que su valores no sean exactamente el valor de la señal analógica de entrada, sino unos valores un poquitín por encima y un poquitín por debajo de la original.

En la siguiente imagen puedes ver una onda sinusoidal con ruido de cuantificación a la salida de un convertidor DAC

Y este es el unico ruido que se produce en la digitalización de una señal. Y es lo que hace mucha gente pensar que el digital es tan maravilloso.

Sin embargo a la hora de la digitalización el ruido analógico, es siempre peor que el ruido de cuantificación, debido a que utilizamos convertidores como mínimo con 16 bits, los cuales tienen por regla general un ruido de cuantificación por debajo del ruido de la instalación o el ruido de la parte analógica de los propios convertidores. Y esta es la parte que quiero discutir ahora, el cómo una mala instalación eléctrica o un mal diseño de la parte analógica de un convertidor, puede hacer que el ruido analógico a la entrada sea superior al ruido de cuantificación que produce el cuantificador, haciendo que convertidores de 24 bits, estén trabajando únicamente con 20 bits. El ruido analógico está por encima de los 4 bits de menor peso y por lo tanto el convertidor es incapaz de cuantificar las señales con una tensión por debajo de este ruido analógico, incluso aunque esta tensión esté por encima del ruido de cuantificación. En este caso pese a que podriamos cortar la tarta con un cuchillo mucho más fino, debido al ruido analógico, estamos limitados a un cuchillo mucho más grueso que nos limita el número de porciones factibles que podemos hacer.

Vamos a hacer unos cuantos números para ver como funciona esto. El ruido de cuantificación se puede calcular como la mitad de un escalón, y el número de escalones depende del número de bits. Si tenemos un cuantificador uniforme, en el que todos los escalones tienen el mismo ancho, el error de cuantificación en valor absoluto, se corresponde con la mitad de la tensión que le corresponde al bit de menor peso. Por lo tanto para calcular este valor lo que hacemos es dividir la tensión máxima que alimenta al chip de conversión, entre el número de niveles 2^N para el caso de un convertidor unipolar. En el caso del convertidor bipolar se divide entre (2^N)-1. Los chips unipolares están alimentados entre una tensión positiva y cero, estos chips se usan cuando la señal de entrada por ejemplo varía entre 0 y 5 voltios. Los chips bipolares, se alimentan entre una tensión negativa y una positiva, por ejemplo para convertir señales que varían entre -5 voltios y +5 voltios. Realmente los chips de conversión, además de la tensión de alimentación tienen una tension de referencia, mucho más estable que las tensiones de alimentación y que es proporcionada por una circuitería que estabiliza las tensiones de alimentación del convertidor. Así que lo más usual es dividir la tensión de referencia que se proporcional al chip de conversión, entre el número de niveles menos 1, ya que generalmente se trabaja con chips bipolares, y este será el valor de tensión analógica, asociada al bit de menor peso.

Asi que podemos ver que el valor de tensiones que puede detectar el bit menos significativo, para un convertidor bipolar, es LSB=Vref/((2^N)-1) y el error de cuantificación, en valor absoluto es la mitad de este valor.

Por ejemplo un conversor con una tensión de referencia de 5 voltios y 16 bits (N), podrá discernir señales analógicas cuya amplitud en voltios sea de 76,3 microvoltios o superior, con un error de cuantificación de 38,14 microvoltios.

El mismo convertidor con 24 bits (N) podrá discernir señales analógicas cuyo valor sea igual a 0,3 microvoltios o superior. Con lo que un convertidor de 24 bits en principio puede discernir menores amplitudes que uno de 16 bits.

Ya que estamos haciendo números, me gustaría enseñarte la relación que existe entre las palabras código en un convertidor y la tensión analógica asociada a estas palabras, para que veas que un convertidor, ya sea AD como DA, realmente es el único aparato en el estudio en el que conviven ambos mundos (analógico y digital) y es el que tienes que tener perfectamente calibrado, para que tus escalones del cuantificador se correspondan con los valores analógicos esperados.

Suponte un convertidor muy simple, de 2 bits, con una tensión de referencia de 4 voltios, unipolar. El cuantificador está organizado con cuatro palabras código, 00, 01, 10, 11 siendo 00 el nivel equivalente a 0 voltios, y 11 el nivel máximo que utiliza el cuantificador. El bit de menor peso (de los dos bits de la palabra, el que está a la derecha) tiene un valor de 4 voltios/2^2bits= 1 voltio/bit. Es decir el bit de menor peso tiene una equivalencia a una tensión analógica de 1 voltio. ¿Cómo relacionamos entonces los escalones o palabras código del cuantificador, con amplitudes analógicas reales? Muy fácil, el convertidor está alimentado entre 0 voltios y 4 voltios, por lo tanto al escalón 00 le corresponde el valor de 0 voltios. Al escalón 01, y que coincide con la modificación del bit de menor peso respecto al escalón anterior, le sumamos el valor analógico de este bit de menor peso, luego al escalón 01, le corresponde la tension analógica de 1 voltio. La palabra 10, realmente es la palabra 01 a la cual le sumamos un bit de menor peso, con lo cual en analógico, también tenemos que sumar esta tensión. Al escalón 10 le corresponde el valor analógico 2 voltios. Y para el escalón 11, el procedimiento es el mismo, con lo que para este escalón la tensión asignada son 3 voltios.

Date cuenta de dos detalles, la primera es que el convertidor es el único equipo del estudio en el que las palabras digitales, tienen un valor correspondiente a una tensión en analógico. Y estos valores asignados los puedes modificar tú, modificando la calibración del convertidor.

Por otro lado, el escalón 11, no tiene una tensión de 4 voltios, como cabría esperar de una señal que está al máximo en digital. La razón, es que las funciones de transferencia de los cuantificadores se diseñan para que el valor analógico máximo de las palabras digitales, se corresponda con el valor de referencia menos el LSB (Vref-LSB). Esto se hace para que no se pueda saturar la circuitería del convertidor. Lógicamente al incrementar el número de bits, el LSB se hace menor y en un convertidor de 24 bits, como vimos antes, la diferencia en analógico entre el valor del escalón más alto, y el de la tensión de referencia es solo de 0,3 microvoltios.

Vamos ahora a ver la diferencia entre relación señal-ruido en digital y el rango dinámico en digital, que mucha gente suele confundir.

Para conocer el rango dinámico de un convertidor, se calcula la potencia de una señal sinusoidal como valor RMS, cuyo nivel de entrada sea máximo sin saturar. A continuación se calcula la potencia RMS del ruido de cuantificación como un diente de sierra, se dividen ambas y se aplica el veinte logaritmo, llegando a la clásica expresión que nos dice que cada bit tiene un rango dinámico de 6 bits (ojo que esta regla de tres es solo para señales sinuosidades a la entrada). El rango dinámico es la diferencia entre el nivel más alto que puede cuantificar sin distorsión menos el valor más pequeño que es capaz de cuantificar y por debajo del cual se considera ruido de cuantificación.

Un convertidor de 16 bits, tiene un rango dinamico de 96 dB teoricos, mientras que un convertidor de 24 bits tiene un rango dinamico de 144 dB. Utilizando la terminología de los dB en fondo de escala, en donde 0 dBFS se corresponde con el máximo que el convertidor puede cuantificar sin distorsión, para un convertidor de 16 bits, cualquier señal que este por encima de los -96 dBFS será cuantificable por nuestro conversor, mientras que para el de 24 bits, cualquier señal por encima de -144 dBFS será cuantificada por el conversor. Por debajo de -96 dBFS aunque haya señal el cuantificador de 16 bits no será capaz de discernir esa señal del ruido de cuantificación y por debajo de -144 dBFS pasará lo mismo para los convertidores de 24 bits.

Mucha gente se confunde, y hablan de relación señal-ruido en el convertidor cuando realmente quieren hablar del rango dinámico. El rango dinámico es constante para el convertidor, y sólo depende del número de bits. Con 16 bits tienes un rango dinámico de 96 dB y para 24 bits tienes un rango dinámico de 144 dB. La relación señal ruido en el convertidor es diferente para cada instante de tiempo y depende del número de bits y del nivel de la señal de entrada al convertidor en ese momento. Por ejemplo en un momento la señal se cuantifica con un nivel de -22 dBFS en el convertidor de 24 bits, la relación señal ruido sera -22-(-144) dBFS = 122 dB. En el siguiente momento la señal se cuantifica con un nivel de -16 dBFS, luego la relación señal ruido para ese momento será -16-(-144) dBFS = 128 dB. La relación señal ruido en el convertidor, varía según varía la tensión de entrada en el convertidor.

Bien ahora llegamos a la realidad, cuando un convertidor te dice en sus especificaciones que el THD+N es de -110 dBFS. Aunque si bien es una medición en la que se involucra la distorsión armónica y el ruido analógico, y por lo tanto no es únicamente el ruido, sí es un buen indicador de como de bueno es un conversor. Si divides 110 dB entre 6 dB/bit te da un 18.3, esto significa que el convertidor de 24 bits, realmente en el mejor de los casos sólo utiliza 18-20 bits (si quitas la parte que corresponde a la distorsión armónica), ya que por debajo de este ruido analógico el cuantificador es incapaz de discernir que es señal y que es ruido. Realmente el THD+N no es la medida más interesante para esto, ya que se introduce una señal sinusoidal con una amplitud de -3 dBFS o -1 dBFS y a la salida se mide el ruido inherente del convertidor, más las componentes armónicas de la señal introducida, así que si descartamos estas componentes armónicas (por ejemplo utilizando una señal de entrada que sea una sinusoide de 10 KHz), un convertidor A/D raramente trabaja con más de 20 bits.

Segundo punto y más importante, el ruido en nuestra instalación, porque tenemos una instalación pésima o porque nuestra señal ha sido capturada con equipos analógicos que meten mucho ruido. En muchas ocasiones o bien los equipos analógicos están capados en cuanto a su rango dinámico, debido al ruido o un fuente de alimentación con un margen de sobrecarga pobre o bien la instalación eléctrica y el interconexionado de equipos tiene grandes deficiencias, que introducen ruido en la señal analógica que estamos capturando.

Por ejemplo, con amplificadores de guitarra, con mucha ganancia y distorsión, raramente se consiguen rangos dinámicos de más de 70 dB. Aunque nuestro convertidor sea de 24 bits, para 70 dB vas a emplear 12 bits, y el bit número 13 va a ser incapaz de discernir la señal del ruido ya que el propio amplificador de guitarra está produciendo ruido por encima del nivel de cuantificación.

En instalaciones eléctricas para audio, los lazos de tierra, una mala conexión a tierra, malas prácticas a la hora de conectar equipos balanceados y desbalanceados, o el usar fases y neutros compartidos con otras partes de la instalación, producen que muchas veces el rango dinámico del estudio esté incluso por debajo de los 80 dBs. Y sí, efectivamente un estudio tiene un rango dinámico al igual que los aparatos, y este viene determinado por la instalación electrica, el interconexionado de los equipos, y el ruido inherente de los equipos analógicos.

Si ahora observas la gráfica que te puse antes, en donde el rizado o trazo más grueso es el ruido de cuantificación

Si haces la gráfica pero teniendo en cuenta el ruido de la parte analógica del convertidor, o el ruido de las instalaciones, el ruido que se produce en los equipos analógicos, el trazo que vas a dibujar es mucho más gordo, dificultando por tanto la separación de lo que es ruido de lo que es señal, a la hora de cuantificar. Lógicamente al ser el trazo más gordo, es porque este ruido analógico es mayor que el ruido de cuantificación

Por estas razones es por las que tu conversor de 24 bits puede estar funcionando como un conversor de 16 bits. Y si en lugar de estar gastandote todo tu dinero en conseguir conversores con 24 bits, quizás invirtieses en mejorar la instalación de tu estudio, eliminando equipos analógicos con mucho ruido en lugar de mirar el THD+N o el numero de bits del mismo, conseguirías usar más bits de tu convertidor.

Por supuesto, la cuantificacion que he descrito es uniforme, todos los escalones tienen el mismo ancho, y todos los trozos de tarta son del mismo tamaño. Tan solo mi cuñada es la única persona del mundo que es capaz de hacer trozos totalmente diferentes.