Working Note · Rotational Dynamics · Part I
Sensor Acceleration on a Vertically Rotating Wheel
How to derive the signal from the point-on-circle kinematics and the definition of what an accelerometer actually measures a(t), zero it at the top, double it at the bottom — and expand it into a Fourier series.
The experimental setup spins a wheel in the vertical plane and records readings from an accelerometer fixed on the rim — i.e., in a non-inertial, rotating reference frame. This note provides a theoretical baseline for interpreting such data: we derive the sensor signal from scratch, choose the angular velocity so that the rim is “weightless” at the top (0 g) and the overload is exactly 2 g at the bottom, obtain a closed-form formula, and expand it into a Fourier series. Numerical verification (FFT) matches the analytic prediction to within 10−13. The material is aimed at first-year students familiar with point kinematics and the basics of Fourier series.


Problem Statement
A disk of radius R rotates in a vertical plane about a fixed horizontal axis with constant angular velocity ω. A sensor — a three-axis accelerometer — is mounted on the rim, rotating together with the disk and measuring acceleration in its own, non-inertial reference frame. Everything takes place on the Earth’s surface, in a uniform gravitational field g.
We are not interested in abstract rotation but a specific “tuned” regime: the angular velocity is chosen so that at the moment when the sensor passes the top point of the rim, the magnitude of its readings becomes zero, and when it passes the bottom point, it is exactly 2g. This is a recognizable situation: the same condition determines the minimum speed at the top of a roller coaster loop-the-loop. We will derive it rigorously from first principles.
A four‑step plan:
- understand what the accelerometer actually “feels” (§2);
- write down the kinematics of a point on the rim in fixed axes (§3);
- combine these to get the sensor readings a(t) and choose ω to satisfy the 0 g / 2 g condition (§4–§5);
- study the resulting signal — its shape, hodograph, and spectrum (§6–§8).
| Symbol | Meaning |
|---|---|
| R | disk (rim) radius, m |
| g | acceleration due to gravity, 9.81 m/s² |
| ω | angular velocity of the disk (constant), rad/s |
| θ(t) = ωt | sensor rotation angle from the top point |
| T = 2π/ω, f = 1/T | rotation period and frequency |
| atrue(t) | true (inertial) acceleration of the rim point |
| a(t) | accelerometer readings (in its own axes) |
What the Accelerometer Actually Feels
The first and most important subtlety: the accelerometer does not measure gravity directly. Inside a MEMS accelerometer, a proof mass sits on springs; the device measures how much force the springs must exert to make that mass move with the housing. Gravity, however, acts on the proof mass and on the housing equally — it does not stretch the springs and is therefore “invisible” to the sensor.
Check with an everyday example: a phone lying still on a table shows g ≈ 9.8 m/s² upward, even though its true acceleration is zero (it is not moving). The table provides the support, and the device registers exactly that support force — more precisely, the acceleration that force would produce in the absence of gravity. In free fall, when the only force is gravity, the accelerometer reads exactly zero, while the true acceleration equals g.
Here N is exactly the “non‑inertial” constraint force (spoke tension, support reaction, etc.) that the accelerometer measures, divided by the mass. The general formula for the sensor’s output is:
Vectors henceforth are in bold italics. This relation is essentially the weak equivalence principle: an accelerometer cannot distinguish “rest in a gravitational field” from “uniformly accelerated motion far from masses” — it senses only the difference between the true acceleration and g.
Kinematics of a Point on the Rim
The axle is fixed, the disk centre at the origin. The x axis points horizontally to the right, the y axis vertically upward. At t = 0 the sensor is at the top. Position of the sensor on the rim:
Differentiate twice with respect to time. Since ω = const, the angle grows linearly and the second derivative has no tangential term — only the centripetal one:
An important physical assumption: the disk rotates uniformly (the motor keeps ω = const regardless of angle), so the tangential acceleration is always zero — unlike, say, a ball on a string that can slow down at the top of a loop under the same gravity. Keep this simplification in mind: in real data the motor is not ideal, and a slight tangential component will inevitably appear.
Sensor Readings
Plug (3) into the §2 formula (accelerometer reading equation), with gvec = (0, −g):
ay(t) = g − ω²R cos θ
This already fully answers “what the accelerometer will show at time t” — for any R and ω, before any 0g/2g tuning. Next we pick the frequency.
Choosing the Frequency: 0 g at the Top, 2 g at the Bottom
Consider the two special points. At the top ( θ = 0): ax = 0, ay = g − ω²R. At the bottom ( θ = π): ax = 0, ay = g + ω²R. Magnitudes:
We demand |a|top = 0:
And immediately, with no extra conditions, (4) gives |a|bottom = g + g = 2g. No free parameter remains: once we fix “0g at top”, the “2g at bottom” follows automatically. This is no coincidence — at ω²R = g, gravity exactly cancels the centripetal acceleration at the top and exactly doubles it at the bottom, because at both points they act along the same vertical line.
The condition ω²R = g is exactly the minimum‑speed condition at the top of a roller‑coaster loop (there, from N ≥ 0 for a cart freely sliding on the track). The physical setting differs: there it is a lower bound for the speed of a free body on a track, here it is the exact value for a body forced to rotate by a motor at constant ω. The equation is identical because both problems require exactly the equality of centripetal acceleration and g at the top.
Numerically, for R = 0.15 m (default in the script): ω ≈ 8.087 rad/s, rotation frequency f = ω/2π ≈ 1.287 Hz, period T ≈ 0.777 s. Plug in your setup’s actual radius — the frequency scales as 1/√R.
Final Signal Formula
Substituting ω²R = g into the sensor readings: ax = −g sin θ, ay = g(1 − cos θ). Magnitude:
Using the half‑angle identity 1 − cos θ = 2sin²(θ/2):
Note the “half‑angle” argument: although the disk completes a full revolution with period T = 2π/ω, the signal |a(t)| is also periodic with exactly period T (not T/2) — check the plot: between two zeros (two top passes) there is exactly one “hump” corresponding to one bottom pass.
And here are the components themselves — sine and cosine at double the frequency of the half-angle argument, which combine to give the magnitude:
Hodograph: the Geometry of a Single Circle
There is a beautiful geometric way to see the same result. Since ax = −g sin θ and ay − g = −g cos θ, we have:
The tip of the vector a(t) moves on a circle of radius g centred at (0, g) — and this circle passes exactly through the origin (0,0). This immediately shows why an exact zero is possible at the top: the origin lies on the circle, not merely near it.
The formula |a(t)| = 2g|sin(θ/2)| now reads as the length of this chord: the distance from a point on a circle of radius g to a fixed point on the same circle, when the central angle between them is θ, equals 2g sin(θ/2) — a classic fact of circle geometry (a consequence of the inscribed angle theorem), which we have just derived from mechanics, without even suspecting it beforehand.
Fourier Series: Why All Harmonics Appear in the Spectrum
The disk physically rotates at one frequency f. One might naively expect the signal |a(t)| to be a sinusoid at the same frequency. It is not: the “absolute value” (rectification) operation is nonlinear and generates a whole set of harmonics. This is the same effect as full‑wave rectification of AC in electronics — |sin x| is a classic example with a known Fourier series:
Deriving the coefficients is a standard exercise in Fourier‑series courses (integral an = (2/π)∫₀π|sin x|cos(2nx)dx via sine product formulas); we do not reproduce it in full here — see Problem 5 in §10 — but instead verify the result numerically below, which for a physicist is no less convincing than paper derivations.
Substituting x = ωt/2 and multiplying by 2g gives the Fourier series for the real signal:
The DC component A0 = 4g/π ≈ 1.273g is the time‑averaged sensor reading. One naively expects the average between 0 and 2g, i.e. exactly 1g — but that is wrong: the signal is not linear in time, it “lingers” longer near the peak (bottom of the rim) where |sin| plateaus, so the mean is shifted upward to 1.273g, not 1g.
Harmonics decay as An ∼ 2g/(πn²) — rapidly, so just 5–6 harmonics give an almost perfect reconstruction of the signal. Below, a comparison of analytic amplitudes with a numerical Fast Fourier Transform (FFT) of a(t), and how partial sums of the series converge to the exact curve:
Key methodological takeaway: the presence of n·f harmonics in the acceleration spectrum does not mean that the disk rotates at multiple frequencies — it is a purely nonlinear effect of going from the vector to its magnitude. Keep this in mind when comparing with real‑data spectra: extra harmonics per se are not an anomaly; the anomaly is the deviation from the amplitudes A predicted heren.
What’s Next
This model is an idealized baseline: constant ω, a point‑like sensor exactly at radius R, a perfect axle, uniform g. Real recordings (folders data_* and spectral analysis in lomb_scargle_spectrum.py) will inevitably deviate, and the deviations themselves are informative:
- ripple in ω(t) — motor non‑ideality — will appear as sidebands around the n·f harmonics;
- sensor axis misalignment relative to the rotation plane will mix in the third component and distort the A amplitudesn;
- mismatch of the measured A0 from the predicted 4g/π is a quick and easy way to check sensor calibration and the accuracy of R;
- sensor noise will raise the noise floor between harmonics, which in the ideal model are strictly zero.
The next step is to overlay this prediction (Fig. 4) onto the actual spectrum of a rotating agent from the experiment and see where they diverge.
Self‑check Problems
- Show that when ω²R > g (the disk spins faster than needed for weightlessness at the top) the difference |a|bottom − |a|top is always exactly 2g — for any such ω, not only for the §5 solution. What happens to this difference when ω²R < g?
- Over one period, find all times t when |a(t)| = g (the sensor briefly shows the same as a phone lying on a table). How many such moments are there?
- The disk’s centre itself accelerates with a constant acceleration a0 (e.g., the setup sits on an accelerating cart). How does the §4 formula for a(t) change? Does the §5 condition still hold?
- Verify the “Non‑obvious result” from §8 directly: integrate 2g|sin(ωt/2)| over one period and divide by T, without using a Fourier series.
- For those familiar with Fourier series: derive the coefficients an of the |sin x| series yourself, using an = (2/π)∫₀π sin x cos(2nx) dx and the product formula sin α cos β = ½[sin(α+β)+sin(α−β)].