Skip to Main Content
For many applications in signal processing and control it is crucial that estimates of the state vector in a dynamic system can be obtained in real time. This poses the problem of producing algorithms that are fast enough to enable online execution. In this article, it is investigated how two of the most popular and powerful state estimation algorithms, the Kalman filter and the particle filter, can be efficiently implemented in parallel on a multicore architecture. The proposed parallel implementations are analyzed in terms of hardware requirements, such as memory bandwidth and available cache memory, to provide the desired speedup. The algorithms are exemplified by and evaluated in an adaptive filtering and a bearings-only tracking application. In the cases when original algorithms have been modified for parallelization, the accuracy of the estimates obtained is evaluated in comparison with that of the sequential algorithm. It is found that linear speedup, in the number of cores used, can indeed be achieved without loss of accuracy, for both state estimation algorithms.