- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试基于 Accelerometer Graph project 为 iOS 加速度计实现高通滤波器.代码是用 Swift 编写的,这里是完整的类:
import Foundation
import CoreMotion
import SpriteKit
class Accelerometer {
let motionManager: CMMotionManager
var x: Double
var y: Double
var z: Double
var lastX: Double
var lastY: Double
var lastZ: Double
let kUpdateFrequency: Double
let cutOffFrequency: Double
let dt: Double
let RC: Double
let alpha: Double
let kFilteringFactor = 0.6
init(manager: CMMotionManager){
motionManager = manager
motionManager.accelerometerUpdateInterval = 1.0 / 60
motionManager.startDeviceMotionUpdates()
x = 0.0
y = 0.0
z = 0.0
lastX = 0.0
lastY = 0.0
lastZ = 0.00
kUpdateFrequency = 60.0
cutOffFrequency = 5.0
dt = 1.0 / kUpdateFrequency
RC = 1.0 / cutOffFrequency
alpha = RC / (dt+RC)
getAccelerometerUpdates()
}
func getAccelerometerUpdates() {
motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: { (data, error) -> Void in
// Filter the raw measurments with high pass filter
self.highPassFilter(data!)
})
}
// High pass filter function for accelerometer measurments
func highPassFilter(data: CMAccelerometerData){
self.x = self.alpha * (self.x + data.acceleration.x - self.lastX)
self.y = self.alpha * (self.y + data.acceleration.y - self.lastY)
self.z = self.alpha * (self.z + data.acceleration.z - self.lastZ)
self.lastX = data.acceleration.x
self.lastY = data.acceleration.y
self.lastZ = data.acceleration.z
}
}
最佳答案
问题是您使用应用程序的主队列来更新加速度计。主队列用于对 UI 进行更改。使用主队列进行加速度计更新会使主队列过载,因此并非每个操作在提交到 NSOperationQueue 后都会立即执行。
解决办法是新建一个NSOperationQueue
let queue = NSOperationQueue()
NSOperationQueue.mainQueue()
.
dispatch_async(dispatch_get_main_queue() {
//perform UI changes here
}
关于ios - iOS 加速度计的高通滤波器方程未返回良好结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31975885/
嗨,我正在考虑开发一种文件传输程序,想知道我是否想要尽可能好的加密,我应该使用什么? 我会用 C# 开发它,所以我可以访问 .net 库 :P在我的 usb 上有一个证书来访问服务器是没有问题的,如果
我创建的这个计算两个数组的交集是线性的方法的复杂度(在良好、平均、最差的情况下)? O(n) public void getInt(int[] a,int[] b){ int i=0; int
我已经能够使用 RTCPeerConnection.getStats() API 获得 WebRTC 音频调用的各种统计信息(抖动、RTT、丢包等)。 我需要将整体通话质量评为优秀、良好、一般或差。
基本问题: 如果我正在讲述/修改数据,我应该通过索引硬编码索引访问文件的元素,即 targetFile.getElement(5);通过硬编码标识符(内部翻译成索引),即 target.getElem
在 Linux 上,我想知道要调用什么“C”API 来获取每个 CPU 的统计信息。 我知道并且可以从我的应用程序中读取 /proc/loadavg,但这是系统范围的负载平均值,而不是每个 CPU 的
在客户端浏览器中使用 fetch api,GET 或 POST 没有问题,但 fetch 和 DELETE 有问题。它似乎将 DELETE 请求方法更改为 OPTIONS。 大多数研究表明是一个cor
我是一名优秀的程序员,十分优秀!