embedded digital signal processing (dsp) systems specification with floating-point data types ...
TRANSCRIPT
Embedded Digital Signal Processing (DSP) systems Specification with floating-point data types Implementation in fixed-point architectures
Precision evaluation based on simulation [Coster98], [Keding01], [Kim98] Long simulation time [Coster98] Optimization process requires multiple simulations [Sung95]
Definition of a new methodology based on an analytical approach
Embedded Digital Signal Processing (DSP) systems Specification with floating-point data types Implementation in fixed-point architectures
Precision evaluation based on simulation [Coster98], [Keding01], [Kim98] Long simulation time [Coster98] Optimization process requires multiple simulations [Sung95]
Definition of a new methodology based on an analytical approach
1
0
21
0
2
21
0
1
0
2e
ej
g
gi
e
ej
g
gi
N
jb
N
ib
N
jb
N
ibqbE
)(nbje
)(nx j )(nbjh
)(1 nbg )(1 nbg
)(nbgi )(nbgi
1gh
igh
jh
jh
jh
)(nby
)(ny
Signal
Noise sources(generated during a
cast operation)
Output noise
Output signal
Input noises
Error due to coefficient
quantization
)(nbNg
g )(nbNg
g
Nggh
)(0
nbe
)(0 nx
)(0
nbe
)(0
nbh
0h
0h
0h
+
)(nbje
System Inputs
A METHODOLOGY FOR EVALUATING THE PRECISION OF FIXED-POINT SYSTEMS Daniel MENARD1, Olivier SENTIEYS1,2
1 LASTI - University of Rennes I F-22300 Lannion, France [email protected]
2 COSI Project - IRISA/INRIA F-35042 Rennes cedex, France [email protected]
.
Linear Time-Invariant System Model
1
0
1
0
1
0
)(*)()('*)()('*)()(eeg N
jjj
N
jejj
N
igigiy nxnhnbnhnbnhnb
hq bbhqy bEbEbE 2222
SQNR
Gs
DFG GenerationDFG Generation
SFG GenerationSFG Generation
SU
IF
SQNR Determination SQNR Determination
Gsn
GH
Bac
k E
nd
Source C algorithm
Experimentation, Results and Perspectives
SQNR Computation Methodology
Output quantization noise
deHebE j
jj
xxh jjj
22 .
2
1
deHeHebbE j
kj
jj
xxhh kjkj...
2
1
1
0
1
0
1
0
22 ,e e
kj
e
j
N
j
N
khh
N
jhh bbEbEbE
Noise due to coefficient quantization
)(nx j)(nb
jh(n)h j
deH
eH
jk
bb
jkbb
k
k
kk
222
0
2
)(nbk
ij ge bb or
ij ge bb or
)(nbk(n)hk
igj hh or
Quantization noise
)()(ˆ)( nynynby
#define pi 3.1416#define pi 3.1416main(){float x,h,z for(i=1;i<n;i++) { *z= *y++ + *h++ }
for(i=1;i<n;i++) { *z= *y++ + *h++ }
VIRGULE FLOTTANTE.C
Fixed-point coding
Precisionevaluation
#define pi 3.1416#define pi 3.1416main(){float x,h,z for(i=1;i<n;i++) { *z= *y++ + *h++ }
for(i=1;i<n;i++) { *z= *y++ + *h++ }
VIRGULE FLOTTANTE.C
Floating-pointdescription
Fixed-pointspecification
Optimization
Introduction
Propagation noise models:
Addition: z = u + v
Multiplication: z = u v
Quantization noise model:
bgi(n): additive random variable
Stationary and uniformly distributed white noise Uncorrelated with y(n) First and second-order moments:
Propagation noise models:
Addition: z = u + v
Multiplication: z = u v
Quantization noise model:
bgi(n): additive random variable
Stationary and uniformly distributed white noise Uncorrelated with y(n) First and second-order moments:
Noise models
)(ˆ ny+
)(ny
)(nbig
)(ˆ nyQ
)(ny
kbg
kbg
qbE
qbE
gigii
22
22 2112
212
(Noise)
(Signal)
NNN
SSS
vuz
vuz
NNSNSNN
SSS
vuuvvuz
vuz
Fro
nt
En
d
System noise model determination
H(z) DeterminationH(z) Determination
SFG to DAG transformation
Detection of cycles in the SFG Enumeration of the cycles Dismantling of the cycles
DAG linear function computationPartial T.F. determinationGlobal T.F. determination
SFG to DAG transformation
Detection of cycles in the SFG Enumeration of the cycles Dismantling of the cycles
DAG linear function computationPartial T.F. determinationGlobal T.F. determination
Noise modelizationNoise modelization
Signal Flow Graph + fixed-point specifications
Transfer Function (T.F.) determination
Noise source detection and insertion in the SFG
Replacement of operators by their propagation noise model
Test of the tool on classical DSP algorithms: FFT, FIR and IIR filters
Precision of the estimation: Measurement of the relative error between our estimation and the one obtained by simulation
IIR 2 < 8.2 % FIR 16 < 1.5 % FFT 16 < 2.3 %
Execution time of the tool:
Perspectives: Hardware synthesis: minimization of the chip area under SQNR constraint:
Most of the time is consumed by the cycle enumeration stage
Applications T2 Execution time (s)
IIR 2 0.08
IIR 4 0.45
IIR 4 (cascaded) 0.65
FIR 16 0.01
FIR 256 0.86
Abstract : The minimization of cost, power consumption and time to market of DSP applications requires the development of methodologies for the automatic implementation of floating-point algorithms in fixed-point architectures. In this paper, a new methodology for evaluating the quality of an implementation through the automatic determination of the Signal to Quantization Noise Ratio (SQNR) is under consideration. The modelization of the system at the quantization noise level and the expression of the output noise power have been detailed for linear systems. Then, the different phases of the methodology are explained and the ability of our approach for computing the SQNR efficiently is shown.
+
)(nbq)(nbh
jj
k
kb eHeH
SQNR)SQNR(bbS
k max
minassuch )(Min