Skip to main content
Log in

A Parallel Systematic Resampling Algorithm for High-Speed Particle Filters in Embedded Systems

  • Published:
Circuits, Systems, and Signal Processing Aims and scope Submit manuscript

Abstract

In this paper, we propose a parallel systematic resampling (PSR) algorithm for particle filters, which is a new form of systematic resampling (SR). The PSR algorithm makes iterations independent, thus allowing the resampling algorithm to perform loop iterations in parallel. A fixed-point version of the PSR algorithm is also proposed, with a modification to ensure that a correct number of particles is generated. Experiments show that the fixed-point implementation of the PSR algorithm can use as few as 22 bits for representing the weights, when processing 512 particles, while achieving results equivalent to a floating-point SR implementation. Four customized instructions were designed to accelerate the proposed PSR algorithm in Application-Specific Instruction-set Processors. These four custom instructions, when configured to support four weight inputs in parallel, lead to a 73.7\(\times \) speedup over a floating-point SR implementation on a general-purpose processor at a cost of 47.3 K additional gates.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. B. Anderson, J. Moore, Optimal Filtering (Prentice-Hall Englewood Cliffs, New Jersey, USA, 1979)

    MATH  Google Scholar 

  2. A. Athalye, M. Bolic, S. Hong, P. Djuric, Generic hardware architectures for sampling and resampling in particle filters. EURASIP J. Appl. 17, 2888–2902 (2005)

    Article  Google Scholar 

  3. M. Bolic, Architectures for Efficient Implementation of Particle Filters (State University of New York at Stony Brook, New York, 2004)

    Google Scholar 

  4. M. Bolic, P. Djuric, S. Hong, Resampling algorithms and architectures for distributed particle filters. IEEE Trans. Signal. Process. 53(7), 2442–2450 (2005)

    Article  MathSciNet  Google Scholar 

  5. O. Cappe, S.J. Godsill, E. Moulines, An overview of existing methods and recent advances in sequential Monte Carlo. Proc. IEEE 95(5), 899–924 (2007)

    Article  Google Scholar 

  6. J. Carpenter, P. Clifford, P. Fearnhead, Improved particle filter for nonlinear problems. IEEE Proc. Radar Sonar Navig. 146(1), 2–7 (1999)

    Article  Google Scholar 

  7. A. Doucet, S. Godsill, C. Andrieu, On sequential Monte Carlo sampling methods for Bayesian filtering. Stat. Comput. 10(3), 197–208 (2000)

    Article  Google Scholar 

  8. A. Doucet, N. De Freitas, N. Gordon, Sequential Monte Carlo Methods in Practice (Springer, New York, 2001)

    Book  MATH  Google Scholar 

  9. H.A.A. El-Halym, I.I. Mahmoud, S.E.-D. Habib, Proposed hardware architectures of particle filter for object tracking. EURASIP J. Adv. Signal Process. 2012(1), 1–19 (2012)

    Article  Google Scholar 

  10. R. Farah, Q. Gan, J. M. P. Langlois, G. A. Bilodeau and Y. Savaria, A tracking algorithm suitable for embedded systems implementation. in Electronics, Circuits and Systems (ICECS), (2011).

  11. P. Gong, Y. Basciftci and F. Ozguner, A Parallel Resampling Algorithm for Particle Filtering on Shared-Memory Architectures, in Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW) (2012).

  12. N.J. Gordon, D.J. Salmond, A.F.M. Smith, Novel-approach to nonlinear non-gaussian Bayesian state estimation. IEEE Proc.-F Radar Signal Process. 140(2), 107–113 (1993)

    Article  Google Scholar 

  13. N. Gordon, D. Salmond, C. Ewing, Bayesian state estimation for tracking and guidance using the bootstrap filter. J. Guidance Control Dyn. 18(6), 1434–1443 (1995)

    Article  Google Scholar 

  14. F. Gustafsson, F. Gunnarsson, N. Bergman, U. Forssell, J. Jansson, R. Karlsson, P. Nordlund, Particle filters for positioning, navigation, and tracking. IEEE Trans. Signal Process. 50(2), 425–437 (2002)

    Article  Google Scholar 

  15. F. Gustafsson, Particle filter theory and practice with positioning applications. IEEE Aerosp. Electron. Syst. Mag. 25(7), 53–81 (2010)

    Article  Google Scholar 

  16. M. Harris, S. Sengupta, J. Owens, Parallel prefix sum (scan) with CUDA. GPU Gems 3(39), 851–876 (2007)

    Google Scholar 

  17. S. Hong, M. Bolic, P.M. Djuric, An efficient fixed-point implementation of residual resampling scheme for high-speed particle filters. IEEE Signal Process. Lett. 11(5), 482–485 (2004)

    Article  Google Scholar 

  18. S. Hong, P.M. Djuric, High-throughput scalable parallel resampling mechanism for effective redistribution of particles. IEEE Trans. Signal Process. 54(3), 1144–1155 (2006)

    Article  Google Scholar 

  19. S. Hong, Z. Shi, J. Chen and K. Chen, Compact resampling algorithm and hardware architecture for particle filters, in IEEE International Conference Communications Circuits and Systems (2008).

  20. S. Hong, Z. Shi, J. Chen, K. Chen, A low-power memory-efficient resampling architecture for particle filters. Circuits Syst. Signal Process. 29(1), 155–167 (2010)

    Article  MATH  Google Scholar 

  21. K. Hwang, W. Sung, Load balanced resampling for real-time particle filtering on graphics processing units. IEEE Trans. Signal Process. 61(2), 411–419 (2013)

    Article  MathSciNet  Google Scholar 

  22. M. Isard, A. Blake, CONDENSATION-conditional density propagation for visual tracking. Int. J. Comput. Vision 29(1), 5–28 (1998)

    Article  Google Scholar 

  23. J.S. Liu, R. Chen, Sequential Monte Carlo methods for dynamic systems. J. Am. Stat. Assoc. 93, 1032–1044 (1998)

    Article  MATH  Google Scholar 

  24. L. Miao, J. J. Zhang, C. Chakrabarti and A. Papandreou-Suppappola, A new parallel implementation for particle filters and its application to adaptive waveform design. in Signal Processing Systems (2010).

  25. L. Miao, J.J. Zhang, C. Chakrabarti, A. Papandreou-Suppappola, Algorithm and parallel implementation of particle filtering and its use in waveform-agile sensing. J. Signal Process Syst. 65(2), 211–227 (2011)

    Article  Google Scholar 

  26. H. Noori, F. Mehdipour, K. Murakami, K. Inoue, M. Zamani, An architecture framework for an adaptive extensible processor. J. Supercomput. 45(3), 313–340 (2008)

    Article  Google Scholar 

  27. B. Parhami, Computer Arithmetic: Algorithms and Hardware Designs (Oxford University Press, New York, 2000)

    Google Scholar 

  28. B. Ristic, S. Arulampalam, N. Gordon, Beyond the Kalman Filter : Particle Filters for Tracking Applications (Artech House, Boston, 2004)

    Google Scholar 

  29. A.C. Sankaranarayanan, A. Srivastava, R. Chellappa, Algorithmic and architectural optimizations for computationally efficient particle filtering. IEEE Transac. Image process. 17(5), 737–748 (2008)

    Article  MathSciNet  Google Scholar 

  30. Tensilica, Xtensa LX microprocessor data book for Xtensa LX2 processor cores. (2007).

Download references

Acknowledgments

This work was partly supported by the GEOIDE Network Center of Excellence, by Team Grants from the Fonds de Recherche du Québec—Nature et Technologies, and by the Canada Research Chair program.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qifeng Gan.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gan, Q., Langlois, J.M.P. & Savaria, Y. A Parallel Systematic Resampling Algorithm for High-Speed Particle Filters in Embedded Systems. Circuits Syst Signal Process 33, 3591–3602 (2014). https://doi.org/10.1007/s00034-014-9820-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00034-014-9820-7

Keywords

Navigation