I've also encountered the same behavior with startDeviceMotionUpdates(using:to:withHandler:) on an Apple Watch Series 6 running watchOS 10.3, Xcode 15.1.
Depending on how you set the deviceMotionUpdateInterval it seems to result in either significantly slower sampling rates or occasionally accurate or somewhat faster sampling rates.
I measured the average interval for deviceMotionUpdateInterval = 1 ... 100 hz on the Apple Watch Series 6. When inaccurate, true rates seem to be ~either 30% or 40% slower or 10% faster. I'm trying to run an FFT on the signal, so accurate sampling rates are critical. Has anyone else discovered why this is the case and whether there are any workarounds?
Topic:
Programming Languages
SubTopic:
Swift
Tags: