How Much of That Reading Is Motion?

Ada re-derives this chapter’s own numbers step by step, at full precision

foundations
math-foundations
calculation-audit
sensor-applications
Ada ADA · CALCULATION AUDIT

How Much of That Reading Is Motion?

A flat phone reports a raw accelerometer reading of (0.2, 0.1, 9.9) m/s², and the large 9.9 makes it look like the phone is moving hard. But subtract the roughly 9.81 m/s² of gravity and the leftover is only about 0.24 m/s² — essentially at rest. This audit re-runs that subtraction to answer the question the reading invites: how much of that value is actually motion?

Companion to the chapter Mobile Sensor APIs — every number here comes from that chapter.

Ada: The practitioner example reads a flat phone at (0.2, 0.1, 9.9) m/s^2, subtracts gravity, and calls the result “essentially at rest.” Let me verify the magnitude, then ask what the leftover really is.

Subtracting an assumed gravity of (0, 0, 9.81) gives the linear-acceleration vector (0.2, 0.1, 0.09). Its magnitude is:

  • sqrt(0.2^2 + 0.1^2 + 0.09^2) = sqrt(0.04 + 0.01 + 0.0081) = sqrt(0.0581) = 0.241039..., about 0.24 m/s^2

The chapter’s ~0.24 checks out. Now compare it with the raw reading’s magnitude:

  • sqrt(0.2^2 + 0.1^2 + 9.9^2) = sqrt(98.06) = 9.9025... m/s^2
  • Raw over residual: 9.9025 / 0.2410 = 41.1

So reading the raw magnitude as movement would overstate the motion by about 41x, which is the point the chapter makes. But there is a quieter catch. A perfectly flat phone would read 0 on x and y; the 0.2 and 0.1 that survive are sqrt(0.2^2 + 0.1^2) = 0.2236 m/s^2 of horizontal residual, and that is 0.2236 / 0.2410 = 93% of the whole leftover. On a phone that is a fraction of a degree off level, that horizontal component is not motion at all, it is gravity leaking through an imperfect frame assumption. At 0.24 m/s^2 the residual is only 0.24 / 9.81 = 2.5% of one g, well inside tilt-and-noise territory. “Essentially at rest” is the right call, but the honest reason is that the leftover is dominated by frame error, which is exactly why the chapter insists you rotate into the correct frame using orientation before trusting a motion number.

Every number above is taken from the chapter’s own material and re-derived step by step.