A statistical method of range estimation for embedded applications
Résumé
Many embedded applications use fixed point arithmetic because embedded hardware do not implement floating point arithmetic for cost and efficiency reasons. In order to specify the fixed point arithmetics used in his design, a designer has to estimate the ranges of the internal variables. With this knowledge, he can obtain a trade-off between the cost, size, power and speed of his system. However, computing such a range is known to be difficult. It can be observed that most of the embedded applications are digital signal processing and control applications which are generally iterative methods. Making use of interval or similar arithmetic [1, 2] in order to get an estimation of the range of such iterative methods does not give interesting results easily. The statistical methods offer an interesting way to get some information on the range simply.
The aim of such methods is to simulate several times with stimuli the application to be evaluated, to catch the values of the outputs and exploit some of their statistical properties in order to estimate
their range.
Kim and Sung have proposed a method originally designed for estimating the range of variables of a C code [3]. In their approach, they examine the means, the standard deviations and the kurtoses of the studied internal variables. With this method, the width of the range of each variable is a simple function of those three parameters.
We propose here an other statistical method which requires less simulation than Kim & Sung’s approach. If we consider the input stimuli as random independent inputs, it is then possible to consider the minima and the maxima of the outputs of each simulation as random variables. Assuming that these variables have a gaussian repartition, we built an estimator based on the student’s test. The estimated range is then a function of the mean, the standard deviation, the number of simulation and the inverse of the student’s T cumulative distribution function.
The use of our and Kim & Sung’s method is also illustrated through several examples.