sum of products evaluation schemes with fixed point
play

Sum-of-products Evaluation Schemes with Fixed-Point arithmetic, and - PowerPoint PPT Presentation

Context and Objectives Evaluation Schemes Conclusion Sum-of-products Evaluation Schemes with Fixed-Point arithmetic, and their application to IIR filter implementation Benoit Lopez - Thibault Hilaire - Laurent-St ephane Didier DASIP 2012


  1. Context and Objectives Evaluation Schemes Conclusion Sum-of-products Evaluation Schemes with Fixed-Point arithmetic, and their application to IIR filter implementation Benoit Lopez - Thibault Hilaire - Laurent-St´ ephane Didier DASIP 2012 October 24 th 2012 1/34

  2. Context and Objectives Evaluation Schemes Conclusion Outline Context and Objectives 1 Evaluation Schemes 2 Propagation Degradation errors Conclusion 3 2/34

  3. Context and Objectives Evaluation Schemes Conclusion On the first hand... A filter P n i =0 b i z − i h ( z ) = 1 + P n i =1 a i z − i Signal Processing LTI filters: FIR or IIR Its transfer function: � n i =0 b i z − i h ( z ) = 1 + � n i =1 a i z − i Algorithmic relationship used to compute output(s) from input(s), for example: n n � � y ( k ) = b i u ( k − i ) − a i y ( k − i ) 3/34 i =0 i =1

  4. Context and Objectives Evaluation Schemes Conclusion On the other hand... A target − γ 2 . . . 0 2 . . . α − 2 γ 2 ± s β α Hardware target (FPGA, ASIC) or software target (DSP, µ C) Using fixed-point arithmetic for different reasons: no FPU cost size power consumption etc. 4/34

  5. Context and Objectives Evaluation Schemes Conclusion − γ 2 . . . P n i =0 b i z − i 0 2 . . . α − 2 h ( z ) = γ 2 ± 1 + P n i =1 a i z − i s β α Need Methodology and tools for the implementation of embedded filter algorithms in fixed-point arithmetic. 5/34

  6. Context and Objectives Evaluation Schemes Conclusion − γ 2 . . . P n i =0 b i z − i 0 2 . . . α − 2 h ( z ) = γ 2 ± 1 + P n i =1 a i z − i s β α Need Methodology and tools for the implementation of embedded filter algorithms in fixed-point arithmetic. A first (and basic) methodology 1 Given a filter, choose an algorithm 2 Round the coefficients in fixed-point arithmetic 3 Implement algorithm 5/34

  7. Context and Objectives Evaluation Schemes Conclusion − γ 2 . . . P n i =0 b i z − i 0 2 . . . α − 2 h ( z ) = γ 2 ± 1 + P n i =1 a i z − i s β α Need Methodology and tools for the implementation of embedded filter algorithms in fixed-point arithmetic. A first (and basic) methodology 1 Given a filter, choose an algorithm There are many possible realizations 2 Round the coefficients in fixed-point arithmetic What format? Depends on the choice of algorithm 3 Implement algorithm Is there only one possible implementation? 5/34

  8. Context and Objectives Evaluation Schemes Conclusion From filter to code This work is a part of a global approach, transforming filters into fixed-point codes. adequacy best algorithm fixed-point architecture filter fixed-point realization code filters realizations evaluation optimization generation schemes pre- post- implementation implementation measures measures 6/34

  9. Context and Objectives Evaluation Schemes Conclusion From filter to code This work is a part of a global approach, transforming filters into fixed-point codes. adequacy best algorithm fixed-point architecture filter fixed-point realization code filters realizations evaluation optimization generation schemes pre- post- implementation implementation measures measures 6/34

  10. Context and Objectives Evaluation Schemes Conclusion Objective: Given an algorithm and a target, find the optimal implementation. model the fixed-point algorithms model the hardware resources (computational units, etc.) 7/34

  11. Context and Objectives Evaluation Schemes Conclusion Objective: Given an algorithm and a target, find the optimal implementation. model the fixed-point algorithms model the hardware resources (computational units, etc.) evaluate the degradation find one/some optimal implemented algorithm(s) 7/34

  12. Context and Objectives Evaluation Schemes Conclusion Outline Context and Objectives 1 Evaluation Schemes 2 Propagation Degradation errors Conclusion 3 8/34

  13. Context and Objectives Evaluation Schemes Conclusion Evaluation Scheme The only operations needed in filter algorithm computation are sum-of-products: n � S = c i · x i i =1 where c i are known constants and x i variables (inputs, state or intermediate variables). 9/34

  14. Context and Objectives Evaluation Schemes Conclusion Evaluation Scheme The only operations needed in filter algorithm computation are sum-of-products: n � S = c i · x i i =1 where c i are known constants and x i variables (inputs, state or intermediate variables). Question: How to implement S in fixed-point arithmetic? 9/34

  15. Context and Objectives Evaluation Schemes Conclusion SoP Example Let H be the transfer function of a butterworth filter of 4 th − order: H ( z ) = 0 . 00254078 + 0 . 01016312 z − 1 + 0 . 01524469 z − 2 + 0 . 01016312 z − 3 + 0 . 00254078 z − 4 1 − 2 . 64402372 z − 1 + 2 . 77901148 z − 2 − 1 . 34558515 z − 3 + 0 . 25124989 z − 4 10/34

  16. Context and Objectives Evaluation Schemes Conclusion SoP Example Let H be the transfer function of a butterworth filter of 4 th − order: H ( z ) = 0 . 00254078 + 0 . 01016312 z − 1 + 0 . 01524469 z − 2 + 0 . 01016312 z − 3 + 0 . 00254078 z − 4 1 − 2 . 64402372 z − 1 + 2 . 77901148 z − 2 − 1 . 34558515 z − 3 + 0 . 25124989 z − 4 Associated algorithm (Direct Form 1): y ( k ) = 0 . 00254078 u ( k ) + 0 . 01016312 z u ( k − 1) + 0 . 01524469 z u ( k − 2) +0 . 01016312 z u ( k − 3) + 0 . 00254078 u ( k − 4) + 2 . 64402372 y ( k − 1) − 2 . 77901148 y ( k − 2) + 1 . 34558515 y ( k − 3) − 0 . 25124989 y ( k − 4) 10/34

  17. Context and Objectives Evaluation Schemes Conclusion SoP Example Let H be the transfer function of a butterworth filter of 4 th − order: H ( z ) = 0 . 00254078 + 0 . 01016312 z − 1 + 0 . 01524469 z − 2 + 0 . 01016312 z − 3 + 0 . 00254078 z − 4 1 − 2 . 64402372 z − 1 + 2 . 77901148 z − 2 − 1 . 34558515 z − 3 + 0 . 25124989 z − 4 Associated algorithm (integer part on 16 bits): 21313 . 60743424 × 2 − 23 × u ( k ) + 21313 . 60743424 × 2 − 21 × u ( k − 1) y ( k ) = +31970 . 43212288 × 2 − 21 × u ( k − 2) + 21313 . 60743424 × 2 − 21 × u ( k − 3) +21313 . 60743424 × 2 − 23 × u ( k − 4) + 21659 . 84231424 × 2 − 13 × y ( k − 1) − 22765 . 66204416 × 2 − 13 × y ( k − 2) + 22046 . 0670976 × 2 − 14 × y ( k − 3) − 16465 . 91279104 × 2 − 16 × y ( k − 4) 10/34

  18. Context and Objectives Evaluation Schemes Conclusion SoP Example Let H be the transfer function of a butterworth filter of 4 th − order: H ( z ) = 0 . 00254078 + 0 . 01016312 z − 1 + 0 . 01524469 z − 2 + 0 . 01016312 z − 3 + 0 . 00254078 z − 4 1 − 2 . 64402372 z − 1 + 2 . 77901148 z − 2 − 1 . 34558515 z − 3 + 0 . 25124989 z − 4 Associated algorithm (round to nearest integer): 21314 × 2 − 23 × u ( k )+21314 × 2 − 21 × u ( k − 1) y ( k ) = +31970 × 2 − 21 × u ( k − 2)+21314 × 2 − 21 × u ( k − 3) +21314 × 2 − 23 × u ( k − 4)+21660 × 2 − 13 × y ( k − 1) − 22766 × 2 − 13 × y ( k − 2)+22046 × 2 − 14 × y ( k − 3) − 16466 × 2 − 16 × y ( k − 4) 10/34

  19. Context and Objectives Evaluation Schemes Conclusion In software, addition is commutative but maybe not associative On 4 bits 0 . 5 = 2 0 • 100 1 . 5 = 2 01 • 10 4 = 2 0100 • 11/34

  20. Context and Objectives Evaluation Schemes Conclusion In software, addition is commutative but maybe not associative On 4 bits 0 . 5 = 2 0 • 100 1 . 5 = 2 01 • 10 4 = 2 0100 • 4 + (0 . 5 + 1 . 5) = 2 010 • 0 + 0100 • = 2 0110 • = 10 6 (4 + 0 . 5) + 1 . 5 = 2 0100 • + 01 • 10 = 2 0101 • = 10 5 11/34

  21. Context and Objectives Evaluation Schemes Conclusion In software, addition is commutative but maybe not associative On 4 bits 0 . 5 = 2 0 • 100 1 . 5 = 2 01 • 10 4 = 2 0100 • 4 + (0 . 5 + 1 . 5) = 2 010 • 0 + 0100 • = 2 0110 • = 10 6 (4 + 0 . 5) + 1 . 5 = 2 0100 • + 01 • 10 = 2 0101 • = 10 5 Consider the order is important. + + + + + + × × × × × c 2 x 2 × × c 2 x 2 × × c 1 x 1 c 0 x 0 c 1 x 1 c 1 x 1 c 0 x 0 c 0 x 0 c 2 x 2 (a) (b) (c) (a) = (b) but (a) � = (c) 11/34

  22. Context and Objectives Evaluation Schemes Conclusion oSoP An evaluation scheme for a given SoP with a given order will be called ordered-Sum-of-Products (oSoP). Number of oSoPs For a given SoP of N th − order, there are � N − 1 i =1 (2 i − 1) possible oSoPs to consider. 12/34

  23. Context and Objectives Evaluation Schemes Conclusion SoP Example Let H be the transfer function of a butterworth filter of 4 th − order: H ( z ) = 0 . 00254078 + 0 . 01016312 z − 1 + 0 . 01524469 z − 2 + 0 . 01016312 z − 3 + 0 . 00254078 z − 4 1 − 2 . 64402372 z − 1 + 2 . 77901148 z − 2 − 1 . 34558515 z − 3 + 0 . 25124989 z − 4 Associated algorithm: 21314 × 2 − 23 × u ( k ) + 21314 × 2 − 21 × u ( k − 1) y ( k ) = +31970 × 2 − 21 × u ( k − 2) + 21314 × 2 − 21 × u ( k − 3) +21314 × 2 − 23 × u ( k − 4) + 21660 × 2 − 13 × y ( k − 1) − 22766 × 2 − 13 × y ( k − 2) + 22046 × 2 − 14 × y ( k − 3) − 16466 × 2 − 16 × y ( k − 4) There are here 9 multiplications, so we have � 8 i =1 (2 i − 1) ≃ 2 millions oSoPs to consider. For example... 13/34

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend