Sesgo de CC inherente en el muestreo de ADC

Solo estaba simulando el comportamiento de cuantificación de ADC de diferentes bits, en datos muestreados por un ADC de 24 bits. Lo que noté es que a medida que avanzamos hacia los ADC con menos bits, un sesgo de CC en la señal se vuelve cada vez más evidente, con un valor máximo en 1 bit-ADC. La razón de esto es, acc. a lo que creo, es que hay una cantidad diferente de códigos digitales que representan valores de voltaje analógico positivo y negativo, por ejemplo, en el caso de ADC de 8 bits, tenemos 1-127 (127 códigos digitales) para positivo, 0 para 0 voltaje, y -1 a -128 (128 códigos digitales) para valores negativos, por lo que los voltajes negativos tienen un código digital más para ellos. y este efecto se vuelve muy claro con ADC de 1 bit, donde solo tenemos códigos digitales de 0 y -1, por lo que la señal muestreada siempre tendrá un sesgo negativo, Vea el video a continuación donde hago la simulación y puede ver claramente que la señal se mueve hacia abajo a medida que disminuyo la cantidad de bits. El rango de voltaje del ADC es de +50 a -50 unidades. Entonces, a 1 bit, solo tengo 0 y -50 muestras y una clara compensación de CC negativa.

https://drive.google.com/open?id=1EyNR13oIShwoWfcd1FWQgl8tJhFvIaWN

Entonces mi pregunta, ¿qué tan problemático es esto? Simplemente puedo eliminar la compensación de CC mediante el uso de un filtro de paso alto en el dominio digital, ¿hay otras preocupaciones y formas en que mi señal se vea afectada? ¿Es este un problema muy común y qué más puedo hacer para eliminar esta compensación de CC? ¿Hay ADC que tengan el mismo número de códigos digitales para voltajes positivos y negativos? Cómo se llaman ?

Respuestas (3)

No tienen un desplazamiento inherente... simplemente tienen un rango que es asimétrico alrededor de cero. Cero no significa cero voltios; a qué cantidad física se refiere cada valor es el resultado del diseño del hardware. La observación aquí no es que los ADC tengan compensaciones inherentes, ni nada sobre los ADC; la observación es que, si elige la representación en complemento a dos, tiene un número par de valores posibles para cualquier número de bits; si uno de esos valores es cero, le queda un número impar de valores posibles y no puede distribuirlos por igual entre positivos y negativos.

La representación de magnitud de signo resuelve esto, pero introduce otro manejo especial, y todo lo que realmente ha logrado es perder un valor de salida potencial.

Sería bueno que miraras algunas hojas de datos. Esta pregunta será respondida, y un montón de preguntas en las que aún no has pensado.

En general, incluso un ADC de 12 bits tiene varios recuentos de compensación de CC; un ADC SAR típico de 16 bits puede tener de 20 a 50. Y eso compensa los cambios con la temperatura. Además, la no linealidad inherente suele ser más que eso también.

Si pudiera encontrar un ADC con una no linealidad y un desplazamiento insignificantes, todo lo que tendría que hacer es calibrar el desplazamiento.

Mirando el LTC2380-24 (que he usado), tiene un error de escala cero de hasta 10 ppm (pero con +/- 8.388 millones de códigos, eso todavía puede ser bastante). Una nota sobre esto es que las piezas de muy alta precisión cuestan más :)

¿Hay ADC que tengan el mismo número de códigos digitales para voltajes positivos y negativos?

Todos ellos son así si elige usarlos de esa manera e ignorar el LSb adicional de información que obtiene en el lado positivo o negativo.

Cómo se llaman ?

Elija el que desee e ignore digitalmente el LSb adicional. Si decide no ignorar el LSb adicional, considérelo como una bonificación.

Entonces mi pregunta, ¿qué tan problemático es esto?

Parece ser un problema para ti porque hiciste un video al respecto. Sospecho que para la mayoría de la gente no es un evento.