How to use it
Choose one of the preset rotor scenarios at the top or enter your own Run 0 (baseline), Run 1 (Plane 1 trial) and Run 2 (Plane 2 trial) amplitude and phase readings.
Select the CW/CCW rotation convention and ADD (mass addition) / REMOVE (drilling/grinding) polarity; the solver applies these two operators independently without conflation.
Inspect σ_max, σ_min, condition number κ(H) and effective rank in the Complex SVD diagnostics panel; κ(H) > 15 triggers a noise-amplification warning and rank < 2 blocks unsafe output.
If balancing a bladed fan or drilled disc, enter the number of blades to split the Plane 1 vector across adjacent blades via the exact sine law.
Theory and formulas
The linear two-plane influence coefficient model is V = V₀ + H · W. A trial weight T₁ in Plane 1 yields column 1 (H₁₁ = (V₁₁ − V₀₁)/T₁, H₂₁ = (V₂₁ − V₀₂)/T₁), and T₂ in Plane 2 yields column 2 (H₁₂ = (V₁₂ − V₀₁)/T₂, H₂₂ = (V₂₂ − V₀₂)/T₂).
For numerical stability we form the 2×2 Hermitian positive semi-definite matrix G = HHH. From its eigenvalues λ₁ ≥ λ₂ ≥ 0 we obtain the singular values σ_max = √λ₁, σ_min = √λ₂, and the scale-invariant condition number κ(H) = σ_max / σ_min.
Phase & polarity contracts: Reversing rotation mirrors angles via θ_CCW = (−θ_CW) mod 360°, whereas switching from adding to removing mass shifts phase by 180° via θ_REMOVE = (θ_ADD + 180°) mod 360°.
Discrete blade splitting (Sine-Law Vector Projection): When target angle θ_c falls between adjacent blades θ₁ < θ_c < θ₂, masses m₁ = m_c · sin(θ₂ − θ_c) / sin(θ₂ − θ₁) and m₂ = m_c · sin(θ_c − θ₁) / sin(θ₂ − θ₁) preserve the exact complex vector sum.
Frequently asked questions
Why use Complex SVD instead of a standard 2×2 determinant?
The raw determinant |det(H)| depends on sensor units and trial mass scale, so a small determinant cannot distinguish unit scaling from true collinearity. The SVD condition number κ(H) = σ_max / σ_min is dimensionless and scale-invariant, directly measuring error amplification between planes.
How does the calculation change if trial weights are left in place?
When trial weights are removed, the net correction is W_c = −H⁻¹·V₀. When trial weights remain on the rotor, each plane's trial vector is subtracted: W_net,1 = W_c,1 − T₁ and W_net,2 = W_c,2 − T₂.