Design Space Exploration of a Particle Filter Using Higher-Order Functions

  • Rinse Wester
  • Jan Kuper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8405)


This paper presents a design space exploration methodology based on higher-order functions to facilitate the tradeoff between execution time and area usage on FPGAs. Higher-order function are transformed, resulting in parameterized nodes where the amount of parallelism and thereby performance, can be controlled. For composition and scheduling of operations, dataflow principles are used. To show the validity of the approach, a particle filter has been transformed and synthesized for FPGA. The resulting architecture is parameterizable and achieves good performance.


Higher-order functions Tradeoff Particle filter FPGA 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arulampalam, M., Maskell, S., Gordon, N., Clapp, T.: A tutorial on particle filters for online nonlinear/non-gaussian bayesian tracking. IEEE Transactions on Signal Processing 50(2), 174–188 (2002)CrossRefGoogle Scholar
  2. 2.
    Jones, S.P. (ed.): Haskell 98 Language and Libraries. Journal of Functional Programming, vol. 13 (2003)Google Scholar
  3. 3.
    Baaij, C.P.R., Kooijman, M., Kuper, J., Boeijink, W.A., Gerards, M.E.T.: CλaSH: Structural descriptions of synchronous hardware using Haskell. In: Proceedings of the 13th EUROMICRO Conference on Digital System Design: Architectures, Methods and Tools, Lille, France, USA, pp. 714–721. IEEE Computer Society (September 2010)Google Scholar
  4. 4.
    Bolić, M., Djurić, P.M., Hong, S.: Resampling algorithms for particle filters: a computational complexity perspective. EURASIP J. Appl. Signal Process. 2004, 2267–2277 (2004)CrossRefMATHGoogle Scholar
  5. 5.
    Cho, J.U., Jin, S.H., Pham, X.D., Jeon, J.W., Byun, J.E., Kang, H.: A real-time object tracking system using a particle filter. In: 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2822–2827 (2006)Google Scholar
  6. 6.
    Saha, S., Bambha, N.K., Bhattacharyya, S.S.: Design and implementation of embedded computer vision systems based on particle filters. Computer Vision and Image Understanding 114(11), 1203–1214 (2010)CrossRefGoogle Scholar
  7. 7.
    Hong, S., Liang, X., Djuric, P.: Reconfigurable particle filter design using dataflow structure translation. In: IEEE Workshop on Signal Processing Systems, SIPS 2004, pp. 325–330 (2004)Google Scholar
  8. 8.
    Wester, R., Baaij, C.P.R., Kuper, J.: A two step hardware design method using CλaSH. In: 22nd International Conference on Field Programmable Logic and Applications, FPL 2012, Oslo, Norway, USA, pp. 181–188. IEEE Computer Society (August 2012)Google Scholar
  9. 9.
    Sheeran, M.: mufp, a language for vlsi design. In: Proceedings of the 1984 ACM Symposium on LISP and Functional Programming, LFP 1984, pp. 104–112. ACM, New York (1984)CrossRefGoogle Scholar
  10. 10.
    Bjesse, P., Claessen, K., Sheeran, M., Singh, S.: Lava: hardware design in Haskell. In: Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, ICFP 1998, pp. 174–184. ACM, New York (1998)CrossRefGoogle Scholar
  11. 11.
    Sheeran, M.: Designing regular array architectures using higher order functions. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 220–237. Springer, Heidelberg (1985)CrossRefGoogle Scholar
  12. 12.
    Lee, E., Messerschmitt, D.: Synchronous data flow. Proceedings of the IEEE 75(9), 1235–1245 (1987)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Rinse Wester
    • 1
  • Jan Kuper
    • 1
  1. 1.University of TwenteEnschedeThe Netherlands

Personalised recommendations