{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,10]],"date-time":"2026-02-10T18:47:25Z","timestamp":1770749245942,"version":"3.50.0"},"reference-count":40,"publisher":"MDPI AG","issue":"11","license":[{"start":{"date-parts":[[2022,11,18]],"date-time":"2022-11-18T00:00:00Z","timestamp":1668729600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"DLR internal projects","award":["01|S17023B"],"award-info":[{"award-number":["01|S17023B"]}]},{"name":"DLR internal projects","award":["15016"],"award-info":[{"award-number":["15016"]}]},{"name":"German Federal Ministry of Education and Research","award":["01|S17023B"],"award-info":[{"award-number":["01|S17023B"]}]},{"name":"German Federal Ministry of Education and Research","award":["15016"],"award-info":[{"award-number":["15016"]}]},{"name":"European ITEA3 project EMPHYSIS","award":["01|S17023B"],"award-info":[{"award-number":["01|S17023B"]}]},{"name":"European ITEA3 project EMPHYSIS","award":["15016"],"award-info":[{"award-number":["15016"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Computers"],"abstract":"<jats:p>Having knowledge about the states of a system is an important component in most control systems. However, an exact measurement of the states cannot always be provided because it is either not technically possible or only possible with a significant effort. Therefore, state estimation plays an important role in control applications. The well-known and widely used Kalman filter is often employed for this purpose. This paper describes the implementation of nonlinear Kalman filter algorithms, the extended and the unscented Kalman filter with square-rooting, in the programming language C, that are suitable for the use on embedded systems. The implementations deal with single or double precision data types depending on the application. The newly implemented filters are demonstrated in the context of semi-active vehicle damper control and the estimation of the tire\u2013road friction coefficient as application examples, providing real-time capability. Their per-formances were evaluated in tests on an electronic control unit and a rapid-prototyping platform.<\/jats:p>","DOI":"10.3390\/computers11110165","type":"journal-article","created":{"date-parts":[[2022,11,21]],"date-time":"2022-11-21T03:07:23Z","timestamp":1669000043000},"page":"165","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Implementation of a C Library of Kalman Filters for Application on Embedded Systems"],"prefix":"10.3390","volume":"11","author":[{"given":"Christina","family":"Schreppel","sequence":"first","affiliation":[{"name":"Institute of System Dynamics and Control, Robotics and Mechatronics Center, German Aerospace Center (DLR), 82234 We\u00dfling, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andreas","family":"Pfeiffer","sequence":"additional","affiliation":[{"name":"Institute of System Dynamics and Control, Robotics and Mechatronics Center, German Aerospace Center (DLR), 82234 We\u00dfling, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4300-9104","authenticated-orcid":false,"given":"Julian","family":"Ruggaber","sequence":"additional","affiliation":[{"name":"Institute of System Dynamics and Control, Robotics and Mechatronics Center, German Aerospace Center (DLR), 82234 We\u00dfling, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7671-5251","authenticated-orcid":false,"given":"Jonathan","family":"Brembeck","sequence":"additional","affiliation":[{"name":"Institute of System Dynamics and Control, Robotics and Mechatronics Center, German Aerospace Center (DLR), 82234 We\u00dfling, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2022,11,18]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Haykin, S. (2001). Kalman Filtering and Neural Networks, John Wiley & Sons, Inc.","DOI":"10.1002\/0471221546"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"315","DOI":"10.1016\/j.egypro.2016.10.184","article-title":"Implementation of extended kalman filter based dynamic state estimation on SMIB system incorporating UPFC dynamics","volume":"100","author":"Karamta","year":"2016","journal-title":"Energy Procedia"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Li, J.-M., Chen, C.W., and Cheng, T.-H. (2019, January 10\u201312). Estimation and Tracking of a Moving Target by Unmanned Aerial Vehicles. Proceedings of the American Control Conference (ACC), Philadelphia, PA, USA.","DOI":"10.23919\/ACC.2019.8815101"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Wutke, M., Heinrich, F., Das, P.P., Lange, A., Gentz, M., Traulsen, I., Warns, F.K., Schmitt, A.O., and G\u00fcltas, M. (2021). Detecting animal contacts\u2014A deep learning-based pig detection and tracking approach for the quantification of social contacts. Sensors, 21.","DOI":"10.3390\/s21227512"},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Al Khatib, E.I., Jaradat, M.A., Abdel-Hafez, M., and Roigari, M. (2015, January 8\u201310). Multiple Sensor Fusion for Mobile Robot Localization and Navigation Using the Extended Kalman Filter. Proceedings of the 10th International Symposium on Mechatronics and Its Applications (ISMA), Sharjah, United Arab Emirates.","DOI":"10.1109\/ISMA.2015.7373480"},{"key":"ref_6","first-page":"2138643","article-title":"Simultaneous localization and mapping based on Kalman filter and extended Kalman filter","volume":"2020","author":"Ullah","year":"2020","journal-title":"Wirel. Commun. Mob. Comput."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Fossen, S., and Fossen, T.I. (2021). Five-state extended Kalman filter for estimation of Speed over Ground (SOG), Course over Ground (COG) and Course Rate of Unmanned Surface Vehicles (USVs): Experimental results. Sensors, 21.","DOI":"10.3390\/s21237910"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Vergori, E., Mocera, F., and Som\u00e0, A. (2018). Battery modelling and simulation using a programmable testing equipment. Computers, 7.","DOI":"10.3390\/computers7020020"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Colonnier, F., della Vedova, L., and Orchard, G. (2021). ESPEE: Event-based sensor pose estimation using an extended Kalman filter. Sensors, 21.","DOI":"10.3390\/s21237840"},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Ponte, S., Ariante, G., Papa, U., and del Core, G. (2020). An embedded platform for positioning and obstacle detection for small unmanned aerial vehicles. Electronics, 9.","DOI":"10.3390\/electronics9071175"},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Fico, V.M., Arribas, C.P., Soaje, \u00c1.R., Prats, M.\u00c1.M., Utrera, S.R., V\u00e1zquez, A.L.R., and Casquet, L.M.P. (2015, January 17\u201319). Implementing the Unscented Kalman Filter on an Embedded System: A Lesson Learnt. Proceedings of the IEEE International Conference on Industrial Technology (ICIT), Seville, Spain.","DOI":"10.1109\/ICIT.2015.7125391"},{"key":"ref_12","unstructured":"(2022, October 04). EEKF\u2014Embedded Extended Kalman Filter. Available online: https:\/\/github.com\/dr-duplo\/eekf."},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Valade, A., Acco, P., Grabolosa, P., and Fourniols, J.-Y. (2017). A study about Kalman filters applied to embedded sensors. Sensors, 17.","DOI":"10.3390\/s17122810"},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Rasmussen, T.B., Yang, G., Nielsen, A.H., and Dong, Z.Y. (2017, January 3\u20136). Implementation of a Simplified State Estimator for Wind Turbine Monitoring on an Embedded System. Proceedings of the 2017 Federated Conference on Computer Science and Information Systems, Prague, Czech Republic.","DOI":"10.15439\/2017F250"},{"key":"ref_15","unstructured":"Motor Industry Software Reliability Association (2022, October 04). MISRA-C:2012. Available online: https:\/\/www.misra.org.uk\/."},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Bagnara, R., Bagnara, A., and Hill, P.M. (2018, January 29\u201331). The MISRA C Coding Standard and Its Role in the Development and Analysis of Safety- and Security-Critical Embedded Software. Proceedings of the Static Analysis: The 25th International Symposium (SAS 2018), Freiburg, Germany.","DOI":"10.1007\/978-3-319-99725-4_2"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Anderson, E., Bai, Z., Bischof, C., Blackford, L.S., Demmel, J., Dongarra, J., Croz, J.D., Greenbaum, A., Hammarling, S., and McKenney, A. (1999). LAPACK Users\u2019 Guide, Society for Industrial and Applied Mathematics. [3rd ed.].","DOI":"10.1137\/1.9780898719604"},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Simon, D. (2006). Optimal State Estimation: Kalman, H Infinity, and Nonlinear Approaches, John Wiley & Sons, Inc.","DOI":"10.1002\/0470045345"},{"key":"ref_19","unstructured":"van der Merwe, R., and Wan, E.A. (2001, January 7\u201311). The Square-Root Unscented Kalman Filter for State and Parameter-Estimation. Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, Salt Lake City, UT, USA."},{"key":"ref_20","unstructured":"Brembeck, J. (2018). Model Based Energy Management and State Estimation for the Robotic Electric Vehicle ROboMObil. [Ph.D. Thesis, Technische Universit\u00e4t M\u00fcnchen]."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Kandepu, R., Imsland, L., and Foss, B.A. (2008, January 25\u201327). Constrained State Estimation Using the Unscented Kalman Filter. Proceedings of the 16th Mediterranean Conference on Control and Automation, Ajaccio, France.","DOI":"10.1109\/MED.2008.4602001"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Brembeck, J. (2019). A physical model-based observer framework for nonlinear constrained state estimation applied to battery state estimation. Sensors, 19.","DOI":"10.3390\/s19204402"},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Brembeck, J. (2019). Nonlinear constrained moving horizon estimation applied to vehicle position estimation. Sensors, 19.","DOI":"10.3390\/s19102276"},{"key":"ref_24","unstructured":"Golub, G.H., and Van Loan, C.F. (2013). Matrix Computations, The Johns Hopkins University Press. [4th ed.]."},{"key":"ref_25","unstructured":"Modelica Association (2022, September 21). Modelica Standard Library v4.0.0. Available online: https:\/\/github.com\/modelica\/ModelicaStandardLibrary\/releases\/tag\/v4.0.0."},{"key":"ref_26","unstructured":"Netlib (2022, October 04). LAPACK Documentation. Available online: http:\/\/www.netlib.org\/lapack\/explore-html\/."},{"key":"ref_27","unstructured":"Seeger, M. (2008). Low Rank Updates for the Cholesky Decomposition, Department of EECS, University of California at Berkeley."},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Ultsch, J., Ruggaber, J., Pfeiffer, A., Schreppel, C., Tobol\u00e1\u0159, J., Brembeck, J., and Baumgartner, D. (2021). Advanced controller development based on eFMI with applications to automotive vertical dynamics control. Actuators, 10.","DOI":"10.3390\/act10110301"},{"key":"ref_29","unstructured":"Lenord, O., Otter, M., B\u00fcrger, C., Hussmann, M., le Bihan, P., Niere, J., Pfeiffer, A., Reicherdt, R., and Werther, K. (2021, January 20\u201324). eFMI: An Open Standard for Physical Models in Embedded Software. Proceedings of the 14th International Modelica Conference, Link\u00f6ping, Sweden."},{"key":"ref_30","unstructured":"Modelica Association (2022, September 23). Modelica Language Specification 3.5. Available online: https:\/\/modelica.org\/documents\/MLS.pdf."},{"key":"ref_31","unstructured":"dSPACE GmbH (2022, September 06). TargetLink. Available online: https:\/\/www.dspace.com\/en\/pub\/home\/products\/sw\/pcgs\/targetlink.cfm."},{"key":"ref_32","unstructured":"Brembeck, J., Ho, L.M., Schaub, A., Satzger, C., Tobolar, J., Bals, J., and Hirzinger, G. (2011, January 11\u201314). ROMO\u2014The Robotic Electric Vehicle. Proceedings of the 22nd IAVSD International Symposium on Dynamics of Vehicle on Roads and Tracks, Manchester, UK."},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Ruggaber, J., and Brembeck, J. (2021). A novel Kalman filter design and analysis method considering observability and dominance properties of measurands applied to vehicle state estimation. Sensors, 21.","DOI":"10.3390\/s21144750"},{"key":"ref_34","unstructured":"Joos, H.-D., Bals, J., Looye, G., Schnepper, K., and Varga, A. (2002, January 18\u201320). A Multi-Objective Optimisation-Based Software Environment for Control Systems Design. Proceedings of the IEEE International Conference on Control Applications and International Symposium on Computer Aided Control Systems Design, Glasgow, UK."},{"key":"ref_35","unstructured":"The MathWorks, Inc. (2022, October 04). Write Level-2 MATLAB S-Functions. Available online: https:\/\/de.mathworks.com\/help\/simulink\/sfg\/writing-level-2-matlab-s-functions.html."},{"key":"ref_36","unstructured":"The MathWorks, Inc. (2022, September 06). Simulink. Available online: https:\/\/www.mathworks.com\/products\/simulink.html?s_tid=hp_ff_p_simulink."},{"key":"ref_37","unstructured":"dSPACE GmbH (2022, October 04). MicroAutoBox II. Available online: https:\/\/www.dspace.com\/en\/inc\/home\/products\/hw\/micautob\/microautobox2.cfm."},{"key":"ref_38","unstructured":"dSPACE GmbH (2022, September 06). Real-Time Interface (RTI). Available online: https:\/\/www.dspace.com\/en\/inc\/home\/products\/sw\/impsw\/real-time-interface.cfm."},{"key":"ref_39","unstructured":"dSPACE GmbH (2022, September 06). ControlDesk. Available online: https:\/\/www.dspace.com\/en\/pub\/home\/products\/sw\/experimentandvisualization\/controldesk.cfm."},{"key":"ref_40","unstructured":"Wan, E.A., and van der Merwe, R. (2000, January 4). The Unscented Kalman Filter for Nonlinear Estimation. Proceedings of the IEEE Symposium on Adaptive Systems for Signal Processing, Communications, and Control, Lake Louise, AB, Canada."}],"container-title":["Computers"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-431X\/11\/11\/165\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T01:21:39Z","timestamp":1760145699000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-431X\/11\/11\/165"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,11,18]]},"references-count":40,"journal-issue":{"issue":"11","published-online":{"date-parts":[[2022,11]]}},"alternative-id":["computers11110165"],"URL":"https:\/\/doi.org\/10.3390\/computers11110165","relation":{},"ISSN":["2073-431X"],"issn-type":[{"value":"2073-431X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,11,18]]}}}