1

I have an embedded ARM based Atmel SAM4 microcontroller performing a small and rather trivial Infinite Impulse Response (IIR) filter on some 30 bit data in real time. The algorithm presently uses double precision floating point maths but to my great surprise this still causes excessive noise on the output of the filter (google for "effects of quantisation noise in IIR filters" for further info on this problem).

So now I'm looking for a library that will allow us to perform either quad precision or arbitrary precision maths on our ARM based microcontroller, which we program in standard C.

We are of course investigating other options such as 64 bit fixed point etc., but this requires some quite significant redesign of the filter and recalculation of the coefficients, so if we could find a suitable floating point library then that may provide an more optimal solution.

Any suggestions would be welcomed as to possible options for acheiving better than double precision floating point maths in readily available (commercial or free) C libraries.

The filter algorithm itself is trivial and so simple multiply, divide, add & subtract operations are required.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.