> The gyro is claimed to have 0.05 degrees accuracy at 14 bits, > although noise does seem to be a problem, despite sending > regular zero/integration commands and ignoring the LSbs. There's > still work to do sorting that out, as it's the core of the project. > > Even if it's a little slower to do I want to keep the maths as > precise as possible so that any calculation errors are insignificant > compared to the jitter from the gyro. I don't think 16-bit maths will > be good enough to get 3dp fractions from a 16-bit source will it ? .05 degrees out of 360 degrees is one part in 7200, which is about 13 bits of accuracy. 16 bit math should therefore be fine as long as all the bits remain meaningful. In cases like this if speed and code space aren't critical, I often use floating point. It is usually easier to write and requires a lot less manual twiddling of implied binary points to juggle significant bits and range. 24 bit floating point with 16 mantissa bits would be fine here. I use these a lot for dealing with real world measured data since 1 part in 65000 accuracy is usually much more than the data is good for. ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu