Fixed-point optimization utility for C and C++ based digital signal processing programs

Fixed-point optimization utility software is developed that can aid scaling and wordlength determination of digital signal processing algorithms written in C or C++. This utility consists of two programs: the range estimator and the fixed-point simulator. The former estimates the ranges of floating-point variables for purposes of automatic scaling, and the latter translates floating-point programs into fixed-point equivalents to evaluate the fixed-point performance by simulation. By exploiting the operator overloading characteristics of C++, the range estimation and the fixed-point simulation can be conducted by simply modifying the variable declaration of the original program. This utility is easily applicable to nearly all types of digital signal processing programs including nonlinear, time-varying, multirate, and multidimensional signal processing algorithms. In addition, this software can be used to compare the fixed-point characteristics of different implementation architectures. An optimization example for an 8/spl times/8 inverse discrete cosine transform (IDCT) architecture that conforms to the IEEE standard specifications is presented. The optimized results require 8% fewer gates when compared with the previous best implementation.

[1]  R. Fisher The Advanced Theory of Statistics , 1943, Nature.

[2]  Leland B. Jackson,et al.  On the interaction of roundoff noise and dynamic range in digital filters , 1970, Bell Syst. Tech. J..

[3]  B. Liu,et al.  Effect of finite word length on the accuracy of digital filters--a review , 1971 .

[4]  Wen-Hsiung Chen,et al.  A Fast Computational Algorithm for the Discrete Cosine Transform , 1977, IEEE Trans. Commun..

[5]  H. Kwan Amplitude scaling of arbitary linear digital networks , 1984 .

[6]  C. Caraiscos,et al.  A roundoff error analysis of the LMS adaptive algorithm , 1984 .

[7]  Martin Vetterli,et al.  Fast 2-D discrete cosine transform , 1985, ICASSP '85. IEEE International Conference on Acoustics, Speech, and Signal Processing.

[8]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[9]  K. W. Leary,et al.  DSP/C: a standard high level language for DSP and numeric processing , 1990, International Conference on Acoustics, Speech, and Signal Processing.

[10]  Ieee Standards Board,et al.  IEEE standard specifications for the implementations of 8x8 inverse discrete cosine transform , 1991 .

[11]  N. Cho,et al.  Fast algorithm and implementation of 2-D discrete cosine transform , 1991 .

[12]  Ping Wah Wong Quantization and roundoff noises in fixed-point FIR digital filters , 1991, IEEE Trans. Signal Process..

[13]  Kurt Baudendistel Compiler development for fixed-point processors , 1992 .

[14]  E. J. Powers,et al.  Implementation of several RLS nonlinear adaptive algorithms using a commercial floating point digital signal processor , 1993, Proceedings of 27th Asilomar Conference on Signals, Systems and Computers.

[15]  Masato Edahiro,et al.  DCT/IDCT processor for HDTV developed with dsp silicon compiler , 1993, J. VLSI Signal Process..

[16]  Sang Uk Lee,et al.  On the fixed-point-error analysis of several fast DCT algorithms , 1993, IEEE Trans. Circuits Syst. Video Technol..

[17]  E. J. Powers,et al.  Simulation of variable precision IEEE floating point using C++ and its application in digital signal processor design , 1993, Proceedings of 36th Midwest Symposium on Circuits and Systems.

[18]  I. Koren Computer arithmetic algorithms , 2018 .

[19]  Wonyong Sung,et al.  Word-length determination and scaling software for a signal flow block diagram , 1994, Proceedings of ICASSP '94. IEEE International Conference on Acoustics, Speech and Signal Processing.

[20]  Seehyun Kim,et al.  A floating-point to fixed-point assembly program translator for the TMS 320C25 , 1994 .

[21]  Chau-Yun Hsu,et al.  Comparative performance of fast cosine transform with fixed-point roundoff error analysis , 1994, IEEE Trans. Signal Process..

[22]  Seehyun Kim,et al.  Fixed-point simulation utility for C and C++ based digital signal processing programs , 1994, Proceedings of 1994 28th Asilomar Conference on Signals, Systems and Computers.

[23]  Sang Uk Lee,et al.  On the fixed-point error analysis of several fast IDCT algorithms , 1995 .

[24]  Wonyong Sung,et al.  Simulation-based word-length optimization method for fixed-point digital signal processing systems , 1995, IEEE Trans. Signal Process..

[25]  D YunI,et al.  On the Fixed-Point Error Analysis of Several Fast IDCT Algorithms. , 1995 .

[26]  Seehyun Kim,et al.  Fixed-point optimization utility for C and C++ based digital signal processing programs , 1995, VLSI Signal Processing, VIII.

[27]  Seehyun Kim,et al.  Finite Wordlength Effects Evaluation of the MPEG-2 Audio Decoder , 1996 .

[28]  Richard M. Stallman,et al.  Using and Porting GNU CC , 1998 .