python - Reducing Noise in iPad Accelerometer -
i'm collecting data ipad's accelerometer in 1 direction, , comes out quite noisy. have looked around noise reducing filters, haven't found 1 understood (case in point, kalman filter). guess have 2 questions, there actual significant noise associated accelerometer, appears, , if how can reduce it? if have link noise filter explanation grateful.
my app written in swift, , data analysis written in python, if matters.
i've used simple easing smoothes out spikes in values. it'll add bit of latency, can determine balance of latency vs. smoothness suit application adjusting easing
property.
import uikit import coremotion class myviewcontroller: uiviewcontroller { var displaylink: cadisplaylink? let motionqueue = nsoperationqueue() var acceleration = cmacceleration() var smoothacceleration = cmacceleration() { didset { // update whatever needs acceleration data } } var easing: double = 10.0 override func viewdidload() { super.viewdidload() self.displaylink = cadisplaylink(target: self, selector: "updatedisplay:" ) self.displaylink?.addtorunloop( nsrunloop.currentrunloop(), formode: nsdefaultrunloopmode ) var coremotionmanager = cmmotionmanager() coremotionmanager.startaccelerometerupdatestoqueue( self.motionqueue ) { (data: cmaccelerometerdata!, error: nserror!) in self.acceleration = data.acceleration } } func updatedisplay( displaylink: cadisplaylink ) { var newacceleration = self.smoothacceleration newacceleration.x += (self.acceleration.x - self.smoothacceleration.x) / self.easing newacceleration.y += (self.acceleration.y - self.smoothacceleration.y) / self.easing newacceleration.z += (self.acceleration.z - self.smoothacceleration.z) / self.easing self.smoothacceleration = newacceleration } }
Comments
Post a Comment