This is hopefully an answer to the question here, but it is also a follow up to the comments in What is the meaning of handling error in 1.5 bit ADC?
Here is an example for a 3 bit ADC with 1.5bit stages. The output range is "0".."7" (bits 2, 1 and 0 as "000" ... "111").
To make the explanation easier, let's set thresholds at 1V,2V,..6V. Perhaps you know this is not ideal, and that the usual thresholds are (0.5...6.5)*Vrange, but the simplified thresholds make the example easier without losing the salient feature of a 1.5bit ADC.
Remember, this ADC is not about better quantization, but about allowing for tolerances for threshold and subtraction voltages. So we will allow ourselves to use a "floor" type ADC since it makes the example easier, although it is worse for quantization.
Take an input of Vi 4.1V.
- An ADC with non-overlapping stages decides in stage 1 (MSB, bit nr 2) that Vi >= 4V, and sets bit 2 to "1". (If it's <4V we set it to "0", so it shows you we are flooring.)
- Subtract 4 for the next stage, to get 0.1V < 2V, so bit 1 is set to "0".
- Subtract 0 for the next stage, to get 0.1V < 1V so bit 2 is set to "0" and the output is "100" or "4".
A 1.5 bit stage is more cautious about stage input levels that are around the threshold.
This is an example of the principle, and so I am omitting amplifiers in each stage, which normalize voltages in stages within ranges like 0...1V. I think it will better illustrate what is going on, and you don't have to mentally re-scale to recognize the numbers.
- 4.1 is around threshold 4, so bit 2 is "X", where "around" means 2 <= V < 6
- Subtract 2 (not 4) because of previous "X" , to get 2.1. It's around threshold 2, with 1 <= V <3 so bit 1 is also "X".
- Subtract 1 (not 2) because of previous "X" , to get 1.1. The last bit is a 1-bit stage, and decides <1 or >=1. It's 1.1 >= 1 so bit 3 is 1.
Now we have "XX1". This means 2 <= Vin < 6, 1 <= Vin-2 < 3 and Vin-2-1 >= 1.
Note that the "XX1" does not mean that the output will be "??1". It is only a way to encode the decisions. We could also write "XX+" or "XX>".
So "XX1" is Vin=2..5, Vin=3..4, and Vin>=4.
Conclusion: Vin=4 (quantized) and so output is "100".
Another example, now with Vin=6.1
- Vin>=6, bit 2 = "1", subtract 4
- 6.1-4 = 2.1, with 1 <= 2.1 < 3 , bit 1 = "X", subtract 1
- 2.1-1 = 1.1 >= 1, bit 0 = "1".
Now we have "1X1". This means V = 6..7, Vin = 5..6, Vin >= 6.
Conclusion: Vin=6 (quantized) and so the output is "101".