Title :
Floating-point to fixed-point code conversion with variable trade-off between computational complexity and accuracy loss
Author :
Alexandru Bârleanu;Vadim Băitoiu;Andrei Stan
Abstract :
This paper describes a method of converting floating-point expressions into equivalent fixed-point code in DSP software. Replacing floating-point expressions with specialized integer operations can greatly improve the performance of embedded applications. This is a new method that is developed for Direct-Form I filters with constant coefficients and input variables whose low/high bounds are known. Two conflicting objectives are considered simultaneously: computational complexity and accuracy loss. The algorithm presented here can construct multiple fixed-point solutions for the same floating-point code: from “high-complexity-high-accuracy” to “low-complexity-low-accuracy”. A so-called cost function conducts the data flow transformation decisions. By changing the cost function coefficients, different fixed-point forms can be obtained. The data flow transformation takes very little time: less than 100 milliseconds for a 32-tap FIR filter. The generated fixed-point code is tested on 8-bit (AVR ATmega), 16-bit (MSP430), and 32-bit (ARM Cortex-M3) microcontrollers. It provides, in all cases, execution speeds better than if using floating-point code.
Keywords :
"Accuracy","Cost function","Computational complexity","Microprocessors","Java"
Conference_Titel :
System Theory, Control, and Computing (ICSTCC), 2011 15th International Conference on
Print_ISBN :
978-1-4577-1173-2