Una confusión con respecto a la representación firmada de números binarios

2

Supongamos que tengo un ADC que convierte las muestras de entrada analógica en números binarios con signo de 4 bits. La resolución del ADC es de 0.5V. Dado que la o / p binaria tiene una representación de magnitud de signo, la MSB no tiene magnitud y el rango i / p del ADC es de -3.5 a +3.5.

Sin embargo, hay dos representaciones de 0 (es decir, si i / p es 0V). Uno de ellos es 0000 y el otro 1000. Eso significa que para 0V, tengo dos niveles de codificación diferentes. ¿Cómo represento eso en las características de voltaje? Es bastante claro para mí para los valores positivos, cómo serán las características -

¿Dónde pongo el nivel 1000? Obviamente, 0000 y 1000 no pueden estar presentes en el mismo lugar.

Además, si i / p es 2.7V, la o / p codificada es 0101. De manera similar, para una i / p de -2.8V, siguiendo la lógica anterior, ¿no debería ser la o / p 1101?

Esta es la pregunta que me hizo pensar en ello -

    
pregunta Rohan Singh

1 respuesta

7

En el complemento de 2, 1000 no representa 0, sino más bien -8. Por lo tanto, en su ADC (o DAC), lo usaría para representar -4.0 V.

Más precisamente, en un ADC, cada código representaría el centro de su rango:

Code     ADC input            DAC output
----  ----------------        ----------
0000: -0.25 to +0.25 V          0.00 V
0001: +0.25 to +0.75 V         +0.50 V
0010: +0.75 to +1.25 V         +1.00 V
0011: +1.25 to +1.75 V         +1.50 V
0100: +1.75 to +2.25 V         +2.00 V
0101: +2.25 to +2.75 V         +2.50 V
0110: +2.75 to +3.25 V         +3.00 V
0111: greater than +3.25 V     +3.50 V

De manera similar, en la dirección negativa, tendrías:

Code     ADC input            DAC output
----  ----------------        ----------
1111: -0.25 to -0.75 V         -0.50 V
1110: -0.75 to -1.25 V         -1.00 V
1101: -1.25 to -1.75 V         -1.50 V
1100: -1.75 to -2.25 V         -2.00 V
1011: -2.25 to -2.75 V         -2.50 V
1010: -2.75 to -3.25 V         -3.00 V
1001: -3.25 to -3.75 V         -3.50 V
1000: less than -3.75 V        -4.00 V

Un ADC de magnitud de signo sería ligeramente diferente. La dirección positiva se vería igual:

Code     ADC input            DAC output
----  ----------------        ----------
0000: -0.25 to +0.25 V          0.00 V
0001: +0.25 to +0.75 V         +0.50 V
0010: +0.75 to +1.25 V         +1.00 V
0011: +1.25 to +1.75 V         +1.50 V
0100: +1.75 to +2.25 V         +2.00 V
0101: +2.25 to +2.75 V         +2.50 V
0110: +2.75 to +3.25 V         +3.00 V
0111: greater than +3.25 V     +3.50 V

Pero en la dirección negativa, tendrías:

Code     ADC input            DAC output
----  ----------------        ----------
1001: -0.25 to -0.75 V         -0.50 V
1010: -0.75 to -1.25 V         -1.00 V
1011: -1.25 to -1.75 V         -1.50 V
1100: -1.75 to -2.25 V         -2.00 V
1101: -2.25 to -2.75 V         -2.50 V
1110: -2.75 to -3.25 V         -3.00 V
1111: less than -3.25 V        -3.50 V

Es posible que el rango alrededor de cero se divida en dos:

Code     ADC input            DAC output
----  ----------------        ----------
0000:  0.00 to +0.25 V          0.00 V
1000: -0.25 to  0.00 V          0.00 V
    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas