Tygers

02-24-2011, 08:08 PM

While experimenting with analog signals I decided to make a high precision signal decoder. Sure, there have been many done before, but I haven't seen any that can show as many digits. There are two versions. The first is 7 digit, which is theoretically, and in my testing, as many digits as can be displayed before the math loses too much precision to show a value.

However, there are other cases where a signal is 0, to 7 digits, yet it still triggers a positional sequencer as non-zero. So there is a SECOND form of my display which uses 12 digits, which does not show any useful additional information due to loss of precision, but will show how the value is non-zero for cases where it is ALMOST zero.

As if that weren't enough, recently I discovered values can go over 100%! So not only can my display show values as small as 0.00001% (Displayed as 0.0000001) it can display values as large as 1000000% (Displayed as 10000). Note however that due to the imprecision of timers for division, values over 100% are less precise.

http://i1.lbp.me/img/ft/111268e00f4542733772c814f7df5b42c8cff216.jpg

Showing a signal value of 500% and 50% (5.0 and 0.5)

http://i1.lbp.me/img/ft/6011bdd21e4e947d5b535ec93bf5de60ad9cecbd.jpg

Showing a signal value of 150% - note that the resulting value had some imprecision (Possibly due to division), so more 0s are showing.

http://ib.lbp.me/img/ft/8aba632cac3a4b95c12efb4172a26bbdf15c9853.jpg

An earlier version of the probe showing why 90-30-30-30 is not exactly 0. Note that, to 7 digits of precision it would still show zero, but the fact that the 7 digit display would show those zeros would indicate there is something more. The reason this happens is that a 90% battery is not actually 90%, due to the imprecision of floating point numbers, it is 89.99999%. Subtracting 30% (Which is actually 30%) 3 times results in a slight negative result.

Get your copy here! (http://lbp.me/v/x6rgs9)

However, there are other cases where a signal is 0, to 7 digits, yet it still triggers a positional sequencer as non-zero. So there is a SECOND form of my display which uses 12 digits, which does not show any useful additional information due to loss of precision, but will show how the value is non-zero for cases where it is ALMOST zero.

As if that weren't enough, recently I discovered values can go over 100%! So not only can my display show values as small as 0.00001% (Displayed as 0.0000001) it can display values as large as 1000000% (Displayed as 10000). Note however that due to the imprecision of timers for division, values over 100% are less precise.

http://i1.lbp.me/img/ft/111268e00f4542733772c814f7df5b42c8cff216.jpg

Showing a signal value of 500% and 50% (5.0 and 0.5)

http://i1.lbp.me/img/ft/6011bdd21e4e947d5b535ec93bf5de60ad9cecbd.jpg

Showing a signal value of 150% - note that the resulting value had some imprecision (Possibly due to division), so more 0s are showing.

http://ib.lbp.me/img/ft/8aba632cac3a4b95c12efb4172a26bbdf15c9853.jpg

An earlier version of the probe showing why 90-30-30-30 is not exactly 0. Note that, to 7 digits of precision it would still show zero, but the fact that the 7 digit display would show those zeros would indicate there is something more. The reason this happens is that a 90% battery is not actually 90%, due to the imprecision of floating point numbers, it is 89.99999%. Subtracting 30% (Which is actually 30%) 3 times results in a slight negative result.

Get your copy here! (http://lbp.me/v/x6rgs9)