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.





Similar content being viewed by others
References
B. Anderson, J. Moore, Optimal Filtering (Prentice-Hall Englewood Cliffs, New Jersey, USA, 1979)
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)
M. Bolic, Architectures for Efficient Implementation of Particle Filters (State University of New York at Stony Brook, New York, 2004)
M. Bolic, P. Djuric, S. Hong, Resampling algorithms and architectures for distributed particle filters. IEEE Trans. Signal. Process. 53(7), 2442–2450 (2005)
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)
J. Carpenter, P. Clifford, P. Fearnhead, Improved particle filter for nonlinear problems. IEEE Proc. Radar Sonar Navig. 146(1), 2–7 (1999)
A. Doucet, S. Godsill, C. Andrieu, On sequential Monte Carlo sampling methods for Bayesian filtering. Stat. Comput. 10(3), 197–208 (2000)
A. Doucet, N. De Freitas, N. Gordon, Sequential Monte Carlo Methods in Practice (Springer, New York, 2001)
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)
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).
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).
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)
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)
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)
F. Gustafsson, Particle filter theory and practice with positioning applications. IEEE Aerosp. Electron. Syst. Mag. 25(7), 53–81 (2010)
M. Harris, S. Sengupta, J. Owens, Parallel prefix sum (scan) with CUDA. GPU Gems 3(39), 851–876 (2007)
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)
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)
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).
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)
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)
M. Isard, A. Blake, CONDENSATION-conditional density propagation for visual tracking. Int. J. Comput. Vision 29(1), 5–28 (1998)
J.S. Liu, R. Chen, Sequential Monte Carlo methods for dynamic systems. J. Am. Stat. Assoc. 93, 1032–1044 (1998)
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).
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)
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)
B. Parhami, Computer Arithmetic: Algorithms and Hardware Designs (Oxford University Press, New York, 2000)
B. Ristic, S. Arulampalam, N. Gordon, Beyond the Kalman Filter : Particle Filters for Tracking Applications (Artech House, Boston, 2004)
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)
Tensilica, Xtensa LX microprocessor data book for Xtensa LX2 processor cores. (2007).
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
Corresponding author
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00034-014-9820-7