{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,8]],"date-time":"2026-01-08T19:25:24Z","timestamp":1767900324632,"version":"3.49.0"},"reference-count":34,"publisher":"MDPI AG","issue":"14","license":[{"start":{"date-parts":[[2020,7,9]],"date-time":"2020-07-09T00:00:00Z","timestamp":1594252800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>A new predictor\u2013corrector filter for attitude and heading reference systems (AHRS) using data from an orthogonal sensor combination of three accelerometers, three magnetometers and three gyroscopes is proposed. The filter uses the predictor\u2014corrector structure, with prediction based on gyroscopes and independent correction steps for acceleration and magnetic field sensors. We propose two variants of the filter: (i) one using mathematical operations of special orthogonal group SO(3), that are accurate for nonlinear operations, for highest possible accuracy, and (ii) one using linearization of nonlinear operations for fast evaluation. Both approaches are quaternion-based filter realizations without redundant steps. The filters are compared to state of the art methods in this field on data recorded using low-cost microelectromechanical systems (MEMS) sensors with ground truth measured by the VICON optical system. Both filters achieved better accuracy than conventional methods at lower computational cost. The recorded data with ground truth reference and the source codes of both filters are publicly available.<\/jats:p>","DOI":"10.3390\/s20143824","type":"journal-article","created":{"date-parts":[[2020,7,9]],"date-time":"2020-07-09T10:45:19Z","timestamp":1594291519000},"page":"3824","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":24,"title":["Fast AHRS Filter for Accelerometer, Magnetometer, and Gyroscope Combination with Separated Sensor Corrections"],"prefix":"10.3390","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6913-7652","authenticated-orcid":false,"given":"Josef","family":"Justa","sequence":"first","affiliation":[{"name":"Department of Measurement and Technology, University of West Bohemia, 30100 Plzen, Czech Republic"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3027-6174","authenticated-orcid":false,"given":"V\u00e1clav","family":"\u0160m\u00eddl","sequence":"additional","affiliation":[{"name":"RICE, University of West Bohemia, 30100 Plzen, Czech Republic"}]},{"given":"Ale\u0161","family":"Ham\u00e1\u010dek","sequence":"additional","affiliation":[{"name":"Department of Measurement and Technology, University of West Bohemia, 30100 Plzen, Czech Republic"}]}],"member":"1968","published-online":{"date-parts":[[2020,7,9]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"409","DOI":"10.1137\/1007077","article-title":"A Least-Squares Estimate of Spacecraft Attitude","volume":"VII","author":"Wahba","year":"1965","journal-title":"SIAM Rev."},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"70","DOI":"10.2514\/3.19717","article-title":"Three-axis attitude determination from vector observations","volume":"4","author":"Shuster","year":"1981","journal-title":"J. Guid. Control"},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"195","DOI":"10.1007\/BF03546376","article-title":"ESOQ: A closed-form solution to the Wahba problem","volume":"45","author":"Mortari","year":"1997","journal-title":"J. Astronaut. Sci."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"359","DOI":"10.1007\/BF03546284","article-title":"Quaternion attitude estimation using vector observations","volume":"48","author":"Markley","year":"2000","journal-title":"J. Astronaut. Sci."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"410","DOI":"10.1109\/TAES.1972.309538","article-title":"Synthetic aperture imaging with maneuvers","volume":"4","author":"Mims","year":"1972","journal-title":"IEEE Trans. Aerosp. Electron. Syst."},{"key":"ref_6","unstructured":"Gebre-Egziabher, D., Elkaim, G.H., Powell, J.D., and Parkinson, B.W. (2000, January 13\u201316). A gyro-free quaternion-based attitude determination system suitable for implementation using low cost sensors. Proceedings of the Position Location and Navigation Symposium, San Diego, CA, USA."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"627","DOI":"10.1109\/TAES.2004.1310010","article-title":"Design of multi-sensor attitude determination systems","volume":"40","author":"Hayward","year":"2004","journal-title":"IEEE Trans. Aerosp. Electron. Syst."},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Admiraal, M., Wilson, S., and Vaidyanathan, R. (2017, January 16\u201318). Improved formulation of the IMU and MARG orientation gradient descent algorithm for motion tracking in human-machine interfaces. Proceedings of the 2017 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems (MFI), Daegu, Korea.","DOI":"10.1109\/MFI.2017.8170354"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Zmitri, M., Fourati, H., and Vuillerme, N. (2019). Human Activities and Postures Recognition: From Inertial Measurements to Quaternion-Based Approaches. Sensors, 19.","DOI":"10.3390\/s19194058"},{"key":"ref_10","first-page":"1346","article-title":"Quaternion-based extended kalman filter for determining orientation by inertial and magnetic sensing","volume":"53","author":"Sabatini","year":"2006","journal-title":"J. Sens."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Zhang, M., Li, K., Hu, B., and Meng, C. (2019). Comparison of Kalman Filters for Inertial Integrated Navigation. Sensors, 19.","DOI":"10.3390\/s19061426"},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Chiella, A.C., Teixeira, B.O., and Pereira, G.A. (2019). Quaternion-Based Robust Attitude Estimation Using an Adaptive Unscented Kalman Filter. Sensors, 19.","DOI":"10.3390\/s19102372"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Odry, \u00c1., Kecskes, I., Sarcevic, P., Vizvari, Z., Toth, A., and Odry, P. (2020). A Novel Fuzzy-Adaptive Extended Kalman Filter for Real-Time Attitude Estimation of Mobile Robots. Sensors, 20.","DOI":"10.3390\/s20030803"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"8953","DOI":"10.1109\/JSEN.2016.2607223","article-title":"A human motion tracking algorithm using adaptive EKF based on Markov chain","volume":"16","author":"Kang","year":"2016","journal-title":"IEEE Sens. J."},{"key":"ref_15","doi-asserted-by":"crossref","first-page":"250","DOI":"10.1109\/JSEN.2019.2941273","article-title":"MEMS Based IMU Drift Minimization: Sage Husa Adaptive Robust Kalman Filtering","volume":"20","author":"Narasimhappa","year":"2019","journal-title":"IEEE Sens. J."},{"key":"ref_16","first-page":"8542153","article-title":"Novel MARG-Sensor Orientation Estimation Algorithm Using Fast Kalman Filter","volume":"1","author":"Guo","year":"2017","journal-title":"J. Sens."},{"key":"ref_17","unstructured":"Mahony, R., Hamel, T., and Pflimlin, J.M. (2005, January 15). Complementary filter design on the special orthogonal group SO (3). Proceedings of the IEEE Conference on Decision and Control (CDC-ECC\u201905), Seville, Spain."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"19302","DOI":"10.3390\/s150819302","article-title":"Keeping a good attitude: A quaternion-based orientation filter for IMUs and MARGs","volume":"15","author":"Valenti","year":"2015","journal-title":"Sensors"},{"key":"ref_19","first-page":"6697","article-title":"Fast complementary filter for attitude estimation using low-cost MARG sensors","volume":"16","author":"Wu","year":"2016","journal-title":"IEEE Sens. J."},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"375","DOI":"10.1109\/TCE.2018.2859625","article-title":"A super fast attitude determination algorithm for consumer-level accelerometer and magnetometer","volume":"64","author":"Wu","year":"2018","journal-title":"IEEE Trans. Consum. Electron."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Madgwick, S.O., Harrison, A.J., and Vaidyanathan, R. (July, January 29). Estimation of IMU and MARG orientation using a gradient descent algorithm. Proceedings of the Rehabilitation Robotics (ICORR) 2011 IEEE International Conference, Zurich, Switzerland.","DOI":"10.1109\/ICORR.2011.5975346"},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"986","DOI":"10.1016\/j.cja.2014.03.005","article-title":"An improved quaternion Gauss\u2013Newton algorithm for attitude determination using magnetometer and accelerometer","volume":"27","author":"Liu","year":"2014","journal-title":"Chin. J. Aeronaut."},{"key":"ref_23","unstructured":"Goodfellow, I., Bengio, Y., and Courville, A. (2016). Deep Learning, MIT Press."},{"key":"ref_24","unstructured":"Zhang, J., He, T., Sra, S., and Jadbabaie, A. (2019, January 6\u20139). Why Gradient Clipping Accelerates Training: A Theoretical Justification for Adaptivity. Proceedings of the International Conference on Learning Representations, New Orleans, LA, USA."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Feng, K., Li, J., Zhang, X., Shen, C., Bi, Y., Zheng, T., and Liu, J. (2017). A new quaternion-based Kalman filter for real-time attitude estimation using the two-step geometrically-intuitive correction algorithm. Sensors, 17.","DOI":"10.3390\/s17092146"},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"2698","DOI":"10.1109\/TAES.2019.2901559","article-title":"Simple-Structured Quaternion Estimator Separating Inertial and Magnetic Sensor Effects","volume":"55","author":"Suh","year":"2019","journal-title":"IEEE Trans. Aerosp. Electron. Syst."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"115104","DOI":"10.1088\/1361-6501\/aae125","article-title":"Improving the accuracy of wearable sensor orientation using a two-step complementary filter with state machine-based adaptive strategy","volume":"29","author":"Fan","year":"2018","journal-title":"Meas. Sci. Technol."},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Markley, F.L., and Crassidis, J.L. (2014). Fundamentals of Spacecraft Attitude Determination and Control, Springer.","DOI":"10.1007\/978-1-4939-0802-8"},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"2776","DOI":"10.1016\/j.jbiomech.2008.06.024","article-title":"Systematic accuracy and precision analysis of video motion capturing systems\u2014Exemplified on the Vicon-460 system","volume":"41","author":"Windolf","year":"2008","journal-title":"J. Biomech."},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Merriaux, P., Dupuis, Y., Boutteau, R., Vasseur, P., and Savatier, X. (2017). A study of vicon system positioning performance. Sensors, 17.","DOI":"10.3390\/s17071591"},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"138","DOI":"10.1016\/j.gaitpost.2011.08.024","article-title":"An optimized Kalman filter for the estimate of trunk orientation from inertial sensors data during treadmill walking","volume":"35","author":"Mazza","year":"2012","journal-title":"Gait Posture"},{"key":"ref_32","doi-asserted-by":"crossref","first-page":"569","DOI":"10.1016\/j.ymssp.2018.03.053","article-title":"Kalman filter for mobile-robot attitude estimation: Novel optimized and adaptive solutions","volume":"110","author":"Odry","year":"2018","journal-title":"Mech. Syst. Signal Process."},{"key":"ref_33","doi-asserted-by":"crossref","first-page":"859","DOI":"10.1137\/S1052623499354989","article-title":"On the convergence of grid-based methods for unconstrained optimization","volume":"11","author":"Coope","year":"2001","journal-title":"SIAM J. Optim."},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"183","DOI":"10.1016\/j.ymssp.2019.04.064","article-title":"Formulation of a new gradient descent MARG orientation algorithm: Case study on robot teleoperation","volume":"130","author":"Wilson","year":"2019","journal-title":"Mech. Syst. Signal Process."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/20\/14\/3824\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T09:49:18Z","timestamp":1760176158000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/20\/14\/3824"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,7,9]]},"references-count":34,"journal-issue":{"issue":"14","published-online":{"date-parts":[[2020,7]]}},"alternative-id":["s20143824"],"URL":"https:\/\/doi.org\/10.3390\/s20143824","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,7,9]]}}}