background image

Tech Note

2

Now, our post processing routine could be handled as follows:

if (pixel B < 16){ 

     pixel_out = pixel A 

}else{ 

     pixel_out = pixel B * 64 

}

By overlapping the two sensor responses, this approach utilizes the full precision of the lower 10-bits while 

reducing the effect of noise at the transition point and greatly increasing the precision of the upper 6-bits. 

Example 3 – Averaging the Overlap

Both of the preceding examples assume that a precise calibration can be made between the two sensors, 

resulting in a linear output (when plotted on a logarithmic scale). In reality, even the AD-081’s programmable 

exposure capability, which allows shutter speed to be adjusted in one-line increments (42.07 µs), will still 

not provide the precision needed for perfect calibration. 

As a result, if the methods described in Examples 1 or 2 are used, this will produce a sharp discontinuity in 

the output response line at the transition point between the two sensors (see Figure 5). 

FIGURE 5 – Sensor B calibration off by 1 count (64 counts in output)

This transition can be “smoothed” by averaging the values of Sensor A and Sensor B in the area of the graph 

leading up to the transition point. For example, using the same calibration point as described in Example 2, 

we could create a Boolean expression where the output value of the 16-bit image uses the average of the 

two sensors’ response in the region of the last overlapped bit. For example: 

if (pixel A < 512){ 

     pixel_out = pixel A 

}elseif (pixel B < 16){ 

     pixel_out = (pixel A + (pixel B * 64))/2

 

}else{ 

     pixel_out = pixel B * 64 

}

No. TN-0902  pg 4

Reviews: