On Mon, 14 Feb 2005 22:05:37 +0100, Lourens Veen
<[EMAIL PROTECTED]> wrote:
> On Saturday 12 February 2005 17:10, Timothy Miller wrote:
> > I know some analysis has been done regarding the nonlinearity of the
> > reciprocal.  There are going to be parts of the spectrum where lower
> > bits make a big difference, and there'll be parts where many inputs
> > map to the same output.
> 
> Well, the derivative varies between -2.0 and -0.5. So in the beginning, an
> input change of 1 will give an output change of 2 (making an extra bit not
> that useful), and at the end of the range, an input change of 1 wil give an
> output change of 0.5 (making an extra bit nice). Of course, in the first
> part, the results are large, and in the second part they are smaller. We
> could try and shift the value by one halfway through. In other words, we'd
> have a 19-bit value in the table, and store the topmost 18 bits for the top
> half, and the bottom 18 bits for the lower half of the table. Actually, the
> MSB is zero anyway for the bottom half of the table. Total cost one extra
> MUX, or am I missing something?

This is the sort of thing I had in mind.

> On the other hand, if the input value is 16 bit, then we only need 17 bits
> output to get this gain, and we can probably do that with 18 bit table values
> anyway.
> 
> > I'm wondering if we can't do some math on
> > some of the upper bits... or use a priority encoder to determine the
> > highest or lowest 1-bit of the mantissa.  We can find some way to
> > reverse the nonlinearity and distribute values in the table more to
> > our advantage.
> 
> Well, if we use 1/x as the key instead of x, then the table will be
> linear ;-).


Damn, why didn't I think of that!  :)
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to