{"id":1450,"date":"2017-03-01T10:26:35","date_gmt":"2017-03-01T10:26:35","guid":{"rendered":"https:\/\/www.beaconzone.co.uk\/blog\/?p=1450"},"modified":"2024-10-20T12:39:20","modified_gmt":"2024-10-20T12:39:20","slug":"beacon-trajectory-smoothing","status":"publish","type":"post","link":"https:\/\/www.beaconzone.co.uk\/blog\/beacon-trajectory-smoothing\/","title":{"rendered":"Beacon Trajectory Smoothing"},"content":{"rendered":"\n<p>The problem with using <a href=\"https:\/\/www.beaconzone.co.uk\/blog\/?s=rssi\" target=\"_blank\" rel=\"noopener\">RSSI<\/a> for detecting location is that raw data contains lots of noise. Also, this noise becomes more prevalent in the viewed data when location samples are taken less often. There&#8217;s a useful new article at InfoQ on <a href=\"https:\/\/www.infoq.com\/articles\/smoothing-human-trajectory-streams\" target=\"_blank\" rel=\"noopener\">Processing Streaming Human Trajectories with WSO2 CEP<\/a>.<\/p>\n\n\n\n<p>The idea uses Kalman filtering to smooth noisy human trajectories.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"503\" height=\"200\" src=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2017\/03\/kalmanfiltering.png\" alt=\"\" class=\"wp-image-1451\" srcset=\"https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2017\/03\/kalmanfiltering.png 503w, https:\/\/www.beaconzone.co.uk\/blog\/wp-content\/uploads\/2017\/03\/kalmanfiltering-300x119.png 300w\" sizes=\"(max-width: 503px) 85vw, 503px\" \/><\/figure><\/div>\n\n\n<p class=\"has-text-align-center\">Before and after filtering<\/p>\n\n\n\n<p>This method is particularly useful for large realtime IoT rollouts because it uses a very small memory resource, is very fast and the calculation is recursive, so new values can be processed as they arrive.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The problem with using RSSI for detecting location is that raw data contains lots of noise. Also, this noise becomes more prevalent in the viewed data when location samples are taken less often. There&#8217;s a useful new article at InfoQ on Processing Streaming Human Trajectories with WSO2 CEP. The idea uses Kalman filtering to smooth &hellip; <a href=\"https:\/\/www.beaconzone.co.uk\/blog\/beacon-trajectory-smoothing\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Beacon Trajectory Smoothing&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,31,32,33],"tags":[],"_links":{"self":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1450"}],"collection":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=1450"}],"version-history":[{"count":2,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1450\/revisions"}],"predecessor-version":[{"id":9557,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/posts\/1450\/revisions\/9557"}],"wp:attachment":[{"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=1450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=1450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beaconzone.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=1450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}