Kerry Wentworth wrote: > My Filt is the Total (or your Filt) right justified and truncated (or > rounded) to 10 bits, to give a filtered A/D between 0 and 1023. Yes. > This step is optional, if one wanted the 14 bit number, one could > skip the conversion. No, not with your algorithm, since it requires your FILT in a previous step= .. It is optional in the normal method that I described. You can convert to the original integer scale when you want, but are not forced to do so each iteration. More likely, you adjust the scale factors in the rest of the system so no conversion is ever required. Usually the A/D values are in some arbitrary scale, so having values in that scale times 2**N is no different in that it's just as arbitrary. > And your FF(NEW - FILT) is really (NEW - FILT) / FF. > Is this correct? Clearly not if FF can take on values other than 1, which of course it can. As I said before, useful values for FF are between 0 and 1. For easy implementation on small systems, FF =3D 2**-N since the multiply by FF then becomes a right shift by N. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .