학술논문

Digital filter optimization for C language
Document Type
article
Source
Advances in Electrical and Computer Engineering, Vol 11, Iss 3, Pp 111-114 (2011)
Subject
embedded software
fixed-point arithmetic
filtering algorithms
design optimization
accuracy
Electrical engineering. Electronics. Nuclear engineering
TK1-9971
Computer engineering. Computer hardware
TK7885-7895
Language
English
ISSN
1582-7445
1844-7600
Abstract
A method for transforming C code with floating-point values into C code with integer variables is developed. The objective is to avoid any operations with floating-point data types, thereby increasing the execution speed of the program on a microprocessor without a math coprocessor. The original C code must be a dot product with floating-point literals and integer variables with known interval bounds. The transformation algorithm remodels the dot product form into a tree structure, to maximize the accuracy, but, on the other side, keeps the number of shift operations reduced. The integer code that is generated is ANSI C compliant. It is tested on 8-bit and 32-bit microprocessors using different compilers. The results show that the integer code is several times faster than the floating-point code, the only loss being a very low accuracy drop.