Volume 16, Issue 3 (12-2019)                   JSDP 2019, 16(3): 100-89 | Back to browse issues page


XML Persian Abstract Print


Isfahan University of Technology
Abstract:   (3349 Views)
Tracking filters are extensively used within object tracking systems in order to provide consecutive smooth estimations of position and velocity of the object with minimum error. Namely, Kalman filter and its numerous variants are widely known as simple yet effective linear tracking filters in many diverse applications. In this paper, an effective method is proposed for designing and implementation of a Kalman filter in an object tracking application. The considered tracking application implies the capability to produce a smooth and reliable output stream by the tracking filter, even in presence of different disturbing types of noise, including background or spontaneous noises, as well as disturbances with continues or discrete nature.
The presented method includes a fixed-point implementation of the Kalman filter on FPGA, which targets the joint estimation of position-velocity pair of an intended object in heavy presence of noise. The execution speed of the Kalman algorithm is drastically enhanced in the proposed implementation. This enhancement is attained by emphasis on hardware implementation of every single computational block on the one hand, and    through appropriate parallelization and pipelining of independent tasks within the Kalman process on the other hand. After designing the filter parameters with respect to the requirements of a given tracking problem, a floating-point model and a fixed-point hardware model of the filter are implemented using MATLAB and Xilinx System Generator, respectively.
 
In order to evaluate the performance of the filter under realistic circumstances, a set of appropriately defined scenarios are carried out. The simulations are carefully designed in order to represent the extremely harsh scenarios in which the input measurements to the filter are deeply polluted by different kinds of noises. In each simulation the position-velocity data corresponding to a moving object is generated according to an appropriate model, quantized, and contaminated by noise and fed into the filter. Performances of the Kalman filter in software version (i.e. the floating point replica) and hardware version (i.e. the fixed-point replica) are quantitatively compared in the designed scenario. Our comparison employs NMSE and maximum error values as quantitative measures, verifying the competency of our proposed fixed-point hardware implementation.
The results of our work show that, with adequate selection word length, the implemented filter is fast and efficient; it confines the algorithm execution time to 50 clock pulses, i.e. about 0.4 µs when a 125 MHz clock is used. It is also verified that our implementation reduces the position and velocity estimation errors by 11 dB and 1.2 dB, respectively. The implemented filter also confines the absolute values of maximum error in position and velocity to 10 meter and 0.7 meter/sec. in the considered scenario, which is almost resembles the performance of its floating point counterpart. The presented Kalman filter is finally implemented on Zc706 evaluation board and the amount of utilized hardware resource (FFs, LUTs, DSP48, etc.) are reported as well as the estimated power consumption of the implemented design. The paper is concluded through comparison of the proposed design with some recent works which confirms the efficacy of the presented implementation.
Full-Text [PDF 3569 kb]   (1075 Downloads)    
Type of Study: Applicable | Subject: Paper
Received: 2017/10/4 | Accepted: 2019/08/31 | Published: 2020/01/7 | ePublished: 2020/01/7

References
1. [1] R. Kalman, “A new approach to linear filtering and prediction problems,” Trans. ASME, J. Basic Eng., vol. 82, pp. 35–45, 1960, series D.
2. [2] Z. Hanifelou, S. A. H. Monadjemi and P. Moallem, “Robust method of changes of light to detect and track vehicles in traffic scenes” Journal of Signal and Data Processing (JSDP), vol. 13, no. 3, pp. 79-98, 2016.
3. [3] F. Shayegh, F. Ghasemi, R. Amirfattahi, S. Sadri ,and K. Ansariasl, “Online Single-Channel Seizure Prediction, Based on Seizure Genesis Model of Depth-EEG Signals Using Extended Kalman Filter,” Journal of Signal and Data Processing (JSDP), vol. 15, no. 1, pp. 3-28, 2018.
4. [4] M. Grewal and A. Andrews, Kalman Theory, Theory and Practice Using MATLAB. 3rd ed. Hoboken, NJ: Wiley, 2008.
5. [5] M. Verhaegen and P. V. Dooren, “Numerical aspects of different Kalman filter implementations,” IEEE Trans. Autom. Control, vol. AC 31, no. 10, pp. 907–917, Oct. 1986.
6. [6] V. Smidl and Z. Peroutka, “Advantages of square-root extended Kalman filter for sensorless control of AC drives,” IEEE Trans. Ind. Electron., vol. 59, no. 11, pp. 4189–4196, Nov. 2012.
7. [7] J. Mendel, “Computational requirements for a discrete Kalman filter,” IEEE Trans. Autom. Control, vol. AC-16, no. 6, pp. 748–758, Dec. 1971.
8. [8] M. Hilairet, F. Auger, and C. Darengosse, “Two efficient Kalman filters for flux and velocity estimation of induction motors,” in Proc. IEEE Power Electron. Spec. Conf., Jun. 2000, vol. 2, pp. 891–896.
9. [9] L. Idkhajine and E. Monmasson, “Design methodology for complex FPGA-based con-trollers—Application to an EKF sensorless ac drive,” in Proc. XIX ICEM, Sep. 2010, pp. 1–6.
10. [10] J. Keller and M. Darouach, “Two-stage Kalman estimator with unknown exogenous inputs,” Automatica, vol. 35, no. 2, pp. 339–342, Feb. 1999.
11. [11] C. Hsieh and F. Chen, “Optimal solution of the two-stage Kalman estimator,” IEEE Trans. Autom. Control, vol. 44, no. 1, pp. 194–199, Jan. 1999.
12. [12] C. Hsieh, “General two-stage extended Kalman filters,” IEEE Trans. Autom. Control, vol. 48, no. 2, pp. 289–293, Feb. 2003.
13. [13] M. Hilairet, F. Auger, and E. Berthelot, “Speed and rotor flux estimation of induction machines using a two-stage extended Kalman filter,” Auto-matica, vol. 45, no. 8, pp. 1819–1827, Aug. 2009.
14. [14] A. Akrad, M. Hilairet, and D. Diallo, “Design of a fault-tolerant controller based on observers for a PMSM drive,” IEEE Trans. Ind. Electron., vol. 58, no. 4, pp. 1416–1427, Apr. 2011.
15. [15] S. Bolognani, R. Oboe, and M. Zigliotto, “Sensorless full-digital PMSM drive with EKF estimation of speed and rotor position,” IEEE Trans. Ind. Electron., vol. 46, no. 1, pp. 184–191, Feb. 1999.
16. [16] H.-G. Yeh, “Systolic implementation on Kalman filters,” IEEE Trans. Acoust., Speech, Signal Process., vol. 36, no. 9, pp. 1514–1517, Sep. 1988.
17. [17] S.-Y. Kung and J.-N. Hwang, “Systolic array designs for Kalman filtering,” IEEE Trans. Signal Process., vol. 39, no. 1, pp. 171–182, Jan. 1991.
18. [18] E. Monmasson, L. Idkhajine, M. Cirstea, I. Bahri, A. Tisan, and M. Naouar, “FPGAs in industrial control applications,” IEEE Trans. Ind. Informat., vol. 7, no. 2, pp. 224–243, May 2011.
19. [19] C. Lee and Z. Salcic, “High-performance FPGA-based implementation of Kalman filter,” Micro-process. Microsyst., vol. 21, no. 4, pp. 257 265, Dec. 1997.
20. [20] L. Idkhajine, E. Monmasson, and A. Maalouf, “Fully FPGA-based sensorless control for syn-chronous AC drive using an extended Kalman filter,” IEEE Trans. Ind. Electron., vol. 59, no. 10, pp. 3908–3918, Oct. 2012.
21. [21] A. Jarrah, A. Al-Tamimi, and T. Albashir, “Opti-mized parallel implementation of Extended Kal-man filter using FPGA,” Journal of Circuits, Sys-tems and Computers, vol. 01, no. 27 no. 01, June 2017.
22. [22] N. Noordin, Z. Ibrahim, M. H. J. Xie, R. Samad and N. Hasan, “FPGA implementation of simulated Kalman filter optimization algo-rithm,” Journal of Telecommunication, Electronic and Computer Engineering (JTEC), VOL. 10, no. 1-3, pp. 21-24, 2018.
23. [23] D. Pritsker, “Hybrid implementation of Extended Kalman Filter on an FPGA,” in Proc. IEEE Radar Conf. (RadarCon), pp. 0077-0082, 2015.
24. [24] P. L. Wu, L. Z. Zhang and X. Y. Zhang, “The design of DSP/FPGA based maneuvering target tracking system,” WSEAS Trans. Circ. Syst., vol. 13, pp. 75-84, 2014.

Rights and permissions
Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.