Bitrate de un CD: ¿8 bit por encima de cero y 8 por debajo?

  • 1
pedro
#1 por pedro el 28/08/2017
Hola, buenos dias
Quisiera que alguien me explique bien el tema de los 16 bit de amplitud de un CD. La duda viene del lado que la amplitud de onda, se entiende como maximo sobre o bajo del nivel de equilibrio, y cuando hablamos de altura de una ola de mar, hablamos de la diferencia entre la parte mas baja y la cresta. Me cuesta imaginar que un cd tenga solo 8 bit por encima de cero y 8 bit por debajo, o tal vez tenga un bit de signo y 15 bit para amplitud. Desde luego, la señal debe ser alterna, si fuera solo por encima de cero, habria corriente continua, cosa no aceptable. Si alguien tiene la respuesta correcta, sera agradecida
Saludos
Subir
OFERTAS Ver todas
  • -7%
    Modal Argon8 (B-Stock)
    559 €
    Ver oferta
  • -50%
    NI Komplete 15 Collector's Edition
    885 €
    Ver oferta
  • -6%
    Elektron Digitakt II (B-Stock)
    939 €
    Ver oferta
Dogbert
#2 por Dogbert el 29/08/2017
Lo que preguntas se refiere a la resolución de bits, el bitrate o tasa de bits es otro tema.

pedro escribió:
Me cuesta imaginar que un cd tenga solo 8 bit por encima de cero y 8 bit por debajo


No, eso es incorrecto. Tienes que tener en cuenta que el incremento en la resolución aumenta de manera exponencial con cada bit. 16 bits no equivalen a 8 bits + 8 bits.

Si fuera así como dices, la amplitud en 16 bits tendría solo 256 valores posibles por muestra a cada lado del 0, pero en realidad tiene 32.767.


.
Subir
pedro
#3 por pedro el 29/08/2017
Hola dogbert
Gracias por el interes y contestarme, sin embargo, mi inquietud sigue abierta.
Entiendo que el alcance del oido humano, llega a los 120 decibeles, con dolor y peligro, claro, pero entre la potencia del minimo sonido y el maximo aceptable, hay 12 ordenes de magnitud, y los sistemas de audio de potencia, suelen manejar hasta 110 db. Esto es 11 ceros, es decir, multiplicar la potencia del minimo sonido por 100 000 000 000 de veces. Siendo la potencia, cuadrado de la amplitud, seria como multiplicar la amplitud por unas
300 000 veces, desde la minima señal a la maxima
Siempre que veo graficos explicativos de las ondas digitalizadas, se muestra una sinusoide con los bloquecitos del valor digital dibujados adentro de ella, y se supone que un convertidor DA fabrica la señal analogica con los valores de altura de esos "bloquecitos" . Ahora, mi pregunta es que, si los digitos binarios son 16 , entonces pueden tener un valor entre 0 y 65535, que bien se pueden acomodar para marcar distintos niveles de volumen, pero solo dibujaria la parte positiva de la onda. o si usa un bit para el signo y luego tiene solo valores posibles entre 0 y 32767
O si hay otro metodo de recomponer la señal a partir de valores binarios, Por cierto, bitrate no es bits de amplitud, perdon por eso
Muchas gracias por contestar Cordial saludo
Subir
vagar
#4 por vagar el 29/08/2017
pedro escribió:
entre la potencia del minimo sonido y el maximo aceptable, hay 12 ordenes de magnitud,


No exactamente. 120 dB es el margen dinámico en intensidad, no en potencia. En potencia sería la mitad, 60 dB.

En un CD las muestras se codifican en formato entero con signo (complemento a 2) con una resolución de 16 bits, lo que permite codificar valores entre -32768 y +32767. Pero que la codificación sea con signo o sin signo es una simple convención, no tiene mayor importancia, lo importante es que en total hay 2^16 = 65536 valores distintos codificables. Ya se encargará la circuitería del DAC de transformar valores digitales en tensiones positivas o negativas respecto a masa, de acuerdo a un código u otro.

El margen dinámico se calcula como la relación entre el voltaje de la máxima señal codificable y la mínima (sin considerar el silencio).

Cada bit que se añade a la codificación permite que la señal mínima codificable tenga la mitad de voltaje. Esto hace que la relación de potencia entre la señal máxima y la mínima aumente en 6 dB. Por lo tanto, 16 bits dan un margen dinámico de 96 dB, más que suficiente para codificar habla y música.
Subir
pedro
#5 por pedro el 30/08/2017
Ok. Muchas gracias
Solo hay un punto en que no concuerdo. Por lo que he estudiado, en los fenomenos ondulatorios, la potencia es proporcional al cuadrado de la amplitud
Por lo demas, de acuerdo
Saludos fraternales
Subir
vagar
#6 por vagar el 30/08/2017
vagar escribió:
Esto hace que la relación de potencia entre la señal máxima y la mínima aumente en 6 dB.


Fe de erratas: donde dice potencia debe decir voltaje. Si fuera potencia serían 3 dB. ¿Es eso en lo que no concordabas?
Subir
pedro
#7 por pedro el 30/08/2017
Tal cual. Muchas gracias
Subir
vagar
#8 por vagar el 30/08/2017
vagar escribió:

No exactamente. 120 dB es el margen dinámico en intensidad, no en potencia. En potencia sería la mitad, 60 dB.


Esto tampoco es correcto, no sé qué narices estaría pensando para soltar esa barbaridad, mis disculpas. Los dB siempre miden relaciones de potencia o energía, por eso se usa un factor cuadrático cuando se relacionan unidades de campo. #-o
Subir
Harpocrates666
#9 por Harpocrates666 el 30/08/2017
pedro escribió:
Entiendo que el alcance del oido humano, llega a los 120 decibeles, con dolor y peligro, claro, pero entre la potencia del minimo sonido y el maximo aceptable, hay 12 ordenes de magnitud, y los sistemas de audio de potencia, suelen manejar hasta 110 db. Esto es 11 ceros, es decir, multiplicar la potencia del minimo sonido por 100 000 000 000 de veces. Siendo la potencia, cuadrado de la amplitud, seria como multiplicar la amplitud por unas
300 000 veces, desde la minima señal a la maxima


A ver, cuando se habla de presión acústica se suele hablar de dB, pero aunque la mayoría entendemos a que se refieren, de todas formas está mal. La unidad correcta son dB SPL. Hay que tener claro que no es lo mismo hablar de dB a secas a hablar de dB acompañado de algún sufijo.

Cuando el termino dB va acompañado expresa un nivel preciso, que es referenciado a un valor conocido, por tanto lo que expresará la cantidad en dB será cuantas veces esa referencia tienes. Por ejemplo, 0 dBm sabes que la referencia es 1 mili watt y que 0 dBm equivale a dicha potencia conocida, y es importante entender la diferencia con los dB a secas ya que estos últimos no están referenciados por tanto no expresan una potencia exacta, si no simplemente una proporción de la señal. Si sumas 0 dBm mas 3 dB, estarás aumentando esa potencia en cierta proporción, en este caso el doble, y si tu señal vale 1 miliwatt aumentar el doble será sumarle 1 miliwatt, pero si a 3 dBm le sumas 3 dB, no es que le vuelvas a agregar otro miliwatt, no, nuevamente aumentas el doble, y si tienes 3 dBm, tienes en realidad 2 miliwatts, y sumarle 3 dB serán duplicar esa potencia.

Con esto quiero que comprendas que dB a secas no expresa un valor conocible, en un caso representó 1 miliwatt en el otro 2. Pero cuando hables de unidades referenciadas, como el dBm los 3 dBm siempre equivaldrán a 2 miliwatt, no serán relativos como los dB a secas.

Muy probablemente lo tienes claro, pero hay que hacer referencia a esto ya que de lo que dices se ve quizás un vicio en la interpretación.

Aumentar 120 dB una señal de 0 dBm proporcionalmente es menor cantidad que aumentar 120 dB una señal de 0 dBW (la primera referenciada a 1 miliwatt, la segunda a 1 watt) Por eso no hay que mezclar lo que los dBFS (la medida digital) con los dBSPL de la presión sonora. El valor máximo en digital está muy lejos de llegar a ser tan alto como el valor máximo en SPL, por mucho que tengas en un supuesto caso 120 dB de rango dinámico. Los saltos entre valor y valor son mucho mas pequeños, ya que tu referencia es mas pequeña.

Es como dividir un pastel de 2 metros de diametro en 16 partes, cada parte será bastante grande, a dividir un pastel de 20 cm. de diámetro en la misma cantidad de partes. Si lo lleváramos a dB, pues sería la misma cantidad de dB, pero los mismos dB están en escalas distintas y no representan porciones equiparables, para un caso será todo mas pequeño.

Todo esto como digo lo aclaro para que no se confunda la escala de lo que es la audición humana, con la escala de lo registrable digitalmente.

En digital tú partes de un máximo conocido. La gran problemática es que físicamente no es optimo representar señales con niveles de amplitud demasiado altos, por eso las señales son procesadas a niveles manejables y luego cuando se necesiten traducir a audio deberán ser amplificadas. Por eso tu gran limitación es el valor máximo de señal, ese será tu referencia. Como partes del máximo, lo que representas en digital son mas bien todos los niveles inferiores al máximo, de ahi que los valores siempre sean negativos en dB SPL.

No es lo mismo hablar de valores negativos cuando hablamos de dB que en unidades lineales. En aritmética convencional todo numero negativo es el sobrepasa el eje 0, pero en cuanto a dB en realidad los números negativos son aquellos menores a la unidad. Si la unidad vale 1, todo numero menor es aquel que es una fracción de esa unidad, por ejemplo 0,5 o 0,007, son números progresivamente mas pequeños, pero nunca sobrepasan el eje 0.

Entonces, volviendo a lo que representan los dBFS, estas midiendo amplitudes menores al voltaje máximo posible en los convertidores, no amplitudes negativas. La amplitud para efectos prácticos no es positiva o negativa, es simplemente un nivel de excitación energética. El concepto de ciclo positivo o negativo no tiene que ver con cantidad de energía. Si los electrones fluyen en un sentido o en el otro, para ambos lados lo habrá con la misma energía y es eso lo que estas registrando.

Obviamente el parámetro que representa la fase del ciclo es importante, pero no hay necesidad de dejar la mitad de los bits para un semiciclo y la otra mitad para el siguiente semiciclo, esa es una manera ineficiente de utilizar los bits. Utilizas 15 bits para representar la amplitud, lo que te da 32,768 intervalos posibles, y hay un intervalo que se perderá ya que se considera como el cruce por 0.

Si dejas 8 bits para cada ciclo, tendrás 128 intervalos por ciclo, y no podrás representar valores tanto mas pequeños respecto a la referencia.

Básicamente lo que necesitas es rango dinámico, es decir representar valores de señal desde una referencia cada vez mas pequeños, por eso se utilizan la mayor cantidad de bits dispobibles. Para representar si dicho valor va en el ciclo positivo o negativo de la señal, basta nada mas que un bit.

pedro escribió:
O si hay otro metodo de recomponer la señal a partir de valores binarios


Si hay otros métodos de representar ondas digitalmente, por ejemplo DSD, que solo utiliza 1 bits, dime tú ¿como acomodas dentro de un bit todos los intervalos de la codificación PCM mas el signo? obviamente con 1 bits estas obligado a utilizarlo para representar la información de manera distinta.
Subir
1
pedro
#10 por pedro el 30/08/2017
Hola Harpo
Es un gusto que te hayas tomado la molestia de contestarme. Claro que arranque confundido. No es lo mismo db de señal que de potencia. Por lo demas, se entiende perfectamente. El sistema binario no es una cosa tremendamente dificil, el primer digito, es 2 elevado a la cero, el segundo 2 a la primera, el tercero 2 a la segunda, y asi sucesivamente. Notablemente, si todos los digitos de un numero binario estan en on, es decir en 1, la suma total del numero en cuestion, es igual al doble del digito mas significativo, menos la unidad, y que si ningun digito esta en on, entonces, es cero, y si consideramos el cero como un numero, el total de combinaciones posibles es igual al doble del digito mas significativo. Tambien para fracciones, se puede perfectamente tomar digitos binarios a la derecha de la coma, siendo el primero(de estar en on) la mitad, el segundo, un cuarto, el tercero, un octavo, y asi sucesivamnete, pudiendo de esa forma formar cualquier fraccion decimal.
Respecto de los db spl, perdon por no saber la norma de escritura, si va en mayusculas y cuales letras, en acustica hay un valor minimo de potencia para 0 db spl, y si mal no recuerdo, 1 watt / metro cuadrado equivale a algo de 120 db spl
Lo que me queda es la curiosidad de si los dibujos que se ven en todas las explicaciones de bloquecitos formando una onda es verosimil, con un bit de signo y 15 de amplitud de señal. Claro que la señal no son 15 saltos lineales de intensidad, sino que deben ser logaritmicos.
Bueno, muchisimas gracias por haberte interesado
Saludos fraternales desde Argentina
Subir
vagar
#11 por vagar el 30/08/2017
pedro escribió:
Lo que me queda es la curiosidad de si los dibujos que se ven en todas las explicaciones de bloquecitos formando una onda es verosimil, con un bit de signo y 15 de amplitud de señal.


La información digital es simbólica, por eso no es analógica, no tiene una analogía inmediata con lo que representa si no hay de por medio una descodificación. Es una representación numérica de una magnitud física. Hay un dispositivo cuyo propósito es hacer esa traducción entre números y voltaje, el DAC, y lo podemos diseñar usando el código numérico que nos resulte más conveniente: PCM entero positivo, PCM simétrico en complemento a 2, ADPCM, el DSD que apunta Harpo...

https://en.wikipedia.org/wiki/Digital-to-analog_converter

pedro escribió:
con un bit de signo y 15 de amplitud de señal. Claro que la señal no son 15 saltos lineales de intensidad, sino que deben ser logaritmicos.


Existen códigos logarítmicos, como los especificados por las leyes mu y A que se usan en telefonía, pero en un CD los saltos son lineales. No son 15 niveles, sino 2^(1+15) = 65536 niveles, numerados desde -32768 a +32767.
Subir
pedro
#12 por pedro el 31/08/2017
Gracias por el link
Entonces debo entender que se parte de un nivel de señal base, y se multiplica por +/- 32767? ( entre cero y esos valores, me refiero) para obtener la señal de audio?.
Humildemente, creo que si el valor maximo positivo es 32767, el valor negativo tambien debe ser 32767 en valor absoluto
Muchas gracias
Subir
vagar
#13 por vagar el 31/08/2017
pedro escribió:

Entonces debo entender que se parte de un nivel de señal base, y se multiplica por +/- 32767? ( entre cero y esos valores, me refiero) para obtener la señal de audio?.


Sería una forma de verlo. También puedes verlo como que el DAC tiene dos voltajes de referencia, máximo y mínimo. Cuando introduces el código más bajo obtienes el voltaje mínimo, y cuando introduces el más alto el máximo. Cualquier otro código intermedio produce un voltaje proporcional entre esos dos valores.

pedro escribió:

Humildemente, creo que si el valor maximo positivo es 32767, el valor negativo tambien debe ser 32767 en valor absoluto


Es una observación de poca relevancia práctica. Por un lado, es raro que los valores extremos lleguen a utilizarse, ya que es raro que se produzcan en señales que no tengan distorsión al reconstruirse. Aun así, -32768 es un valor válido a la entrada de un DAC de 16 bits que produce a su salida la tensión correspondiente. Sería largo y complicado explicarte por aquí por qué esa necesidad de simetría que tienes en realidad no es técnicamente importante con un rango tan finamente dividido, donde cualquier ruido o asimetría en la alimentación analógica es fácilmente superior a un escalón digital.

Mira un ejemplo de un DAC elemental:

960ba3dbdefb7f37eb75c60126f12-4420006.jpg

En este caso la entrada decodifica valores del 0 al 15 y da una tensión negativa proporcional al valor. No sería difícil imaginar que además tiene un conversor digital a la entrada para convertir de complemento a 2 de -8 a 7 en valores de 0 a 15 y que tiene alimentación simétrica. -8 seguiría siendo una entrada válida.
Subir
Harpocrates666
#14 por Harpocrates666 el 31/08/2017
pedro escribió:
Lo que me queda es la curiosidad de si los dibujos que se ven en todas las explicaciones de bloquecitos formando una onda es verosimi


No. Es una representación que se utiliza para ejemplificar, para que te sea mas fácil imaginar como son las cosas, pero que tiene riesgo el tomársela de manera literal. Un código de bits no es ningún boquesito, es simplemente un código. Dicho código representa un valor de amplitud instantáneo. Leyendo veo que Vagar ya te lo aclara perfectamente.
Subir
Harpocrates666
#15 por Harpocrates666 el 31/08/2017
pedro escribió:
Es un gusto que te hayas tomado la molestia de contestarme. Claro que arranque confundido. No es lo mismo db de señal que de potencia. Por lo demas, se entiende perfectamente. El sistema binario no es una cosa tremendamente dificil, el primer digito, es 2 elevado a la cero, el segundo 2 a la primera, el tercero 2 a la segunda, y asi sucesivamente. Notablemente, si todos los digitos de un numero binario estan en on, es decir en 1, la suma total del numero en cuestion, es igual al doble del digito mas significativo, menos la unidad, y que si ningun digito esta en on, entonces, es cero, y si consideramos el cero como un numero, el total de combinaciones posibles es igual al doble del digito mas significativo. Tambien para fracciones, se puede perfectamente tomar digitos binarios a la derecha de la coma, siendo el primero(de estar en on) la mitad, el segundo, un cuarto, el tercero, un octavo, y asi sucesivamnete, pudiendo de esa forma formar cualquier fraccion decimal.


No entiendo muy bien lo que dices, o mas bien cual es su relación con lo que se está hablando. En mi opinión todos estos análisis que haces son los que realmente te confunden.

pedro escribió:
Humildemente, creo que si el valor maximo positivo es 32767, el valor negativo tambien debe ser 32767 en valor absoluto
Muchas gracias


¿Que te hace pensar eso? Debes distribuir la totalidad de códigos de manera de representar el ciclo positivo, el negativo, y el cruce por cero. Obviamente como la base es binaria, la cantidad de códigos disponibles siempre será múltiplo de dos, y reservando un código para el cruce por cero amplitud (ojo que no es lo mismo cero amplitud que todos los bits a cero) pues te queda una distribución asimétrica.

¿Hay problema con esta distribución? la verdad es que no. Tu dirás que para hacerlo simétrico, descartemos un código en el ciclo negativo y así nos quedamos 32767 para cada lado, pero si lo analizas a fondo te darás cuenta que no es practico y en realidad no hay necesidad.

Lo que te ha dicho Vagar es que "se numeran" de esa forma, del -32768 al +32767, pero no quiere decir que por el lado positivo estés dejando un código fuera, no, el código numero 32767, es en realidad el 32768. Entiende que el primer código del tramo positivo fue reservado para el valor de cero amplitud y el ciclo positivo empieza a contar a partir del segundo código de ese tramo ¿se entiende? a final de cuantas estas utilizando todos los códigos, con todos los bits, y dichos bits todos puede adquirir todos los valores posibles (1 o 0), solo que los estas numerando de manera que uno de los códigos es el punto de cero amplitud.

Como digo todos los códigos están siendo utilizados y no puede ser de otra forma ¿Como electronicamente descartas un código para que te quede 32767 por lado? no hay forma, no puedes decirle a los transistores que no tomen en cuenta un valor particular de un bit dependiendo de determinada combinación, que es eso básicamente descartar un código, solo una combinación es la que no se acepta, y esa difiere de las otras solo en el valor de un bit. La realidad es que para que el sistema funcione, todos los bits deben ser libres de adquirir todos los valores posibles o si no generas una restricción mayor, si bloqueas un bit, no pierdes un código, pierdes varios, por eso no hay forma de hacerlo simétrico considerando el cruce por cero.

Ademas, considera que si tu entrada soporta un nivel máximo por ejemplo de +18 dBu, y utilizas 16 bits, tu valor mas pequeño será 96 dB menor a eso, es decir -78 dBu. Si haces la conversión a voltios, tienes que de pico por cada ciclo puedes alcanzar un voltaje máximo de alrededor de 8,7 voltios, y tu variación mínima de voltaje, es decir el valor mas pequeño o la distancia de intervalos (analizándolo a fondo te darás cuenta que es lo mismo) será de apenas 0,00014 voltios ¿vas a perder la cabeza pro esa simetría siendo que el lado negativo podría codificar un valor solo 0,00014 superior que el lado positivo?
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo