This table demonstrates the tuning shift caused by applying the small angle approximation to the Magic Circle oscillator.
The exact Magic Circle oscillator uses a coefficient k = 2 sin(ω / 2) to rotate exactly by ω radians per step, where ω = 2π ftarget / fs.
If we use the small angle approximation sin(x) ≈ x, the coefficient simplifies to k = ω. This introduces a pitch drift, making the generated frequency increasingly sharper than the target frequency.
The actual angular frequency θ' generated by the approximated system is derived from the rotation matrix trace: 2 cos(θ') = 2 - k2. Solving for the actual generated frequency factual yields:
factual = (fs / π) arcsin(π ftarget / fs)
Note that the oscillator becomes unstable if k > 2, which occurs when the target frequency exceeds fs / π.
Initializing.
Errors above (not yet computed) cents are highlighted.