Class ControlSystems

java.lang.Object
org.episteme.natural.engineering.control.ControlSystems

public class ControlSystems extends Object
Control systems analysis. Modernized to use typed Quantities for Time and Frequency.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • firstOrderStepResponse

      public static Real firstOrderStepResponse(Real K, Quantity<Time> tau, Quantity<Time> t)
      First-order system step response. y(t) = K * (1 - e^(-t/Ï„))
    • secondOrderStepResponse

      public static Real secondOrderStepResponse(Quantity<Frequency> wn, Real zeta, Quantity<Time> t)
      Second-order system step response (underdamped).
    • riseTime

      public static Quantity<Time> riseTime(Quantity<Frequency> wn, Real zeta)
      Rise time estimate for second-order system. tr ≈ (π - φ) / wd
    • peakTime

      public static Quantity<Time> peakTime(Quantity<Frequency> wn, Real zeta)
      Peak time for second-order underdamped system. tp = π / wd
    • overshoot

      public static Quantity<Dimensionless> overshoot(Real zeta)
      Overshoot percentage. %OS = 100 * e^(-ζπ / sqrt(1-ζ²))
    • settlingTime

      public static Quantity<Time> settlingTime(Quantity<Frequency> wn, Real zeta)
      Settling time (2% criterion). ts ≈ 4 / (ζ * ωn)
    • steadyStateError

      public static Real steadyStateError(Real Kp)
      Steady-state error for type 0 system with step input. ess = 1 / (1 + Kp)
    • phaseMargin

      public static Quantity<Angle> phaseMargin(Quantity<Angle> phaseAtCrossover)
      Phase margin from open-loop gain and phase at crossover.
    • gainMargin

      public static Real gainMargin(Real gainAtPhaseCrossover)
      Gain margin in dB.
    • firstOrderMagnitude

      public static Real firstOrderMagnitude(Real K, Quantity<Frequency> omega, Quantity<Frequency> omegaCutoff)
      Bode magnitude for first-order system. |G(jω)| = K / sqrt(1 + (ω/ωc)²)
    • firstOrderPhase

      public static Quantity<Angle> firstOrderPhase(Quantity<Frequency> omega, Quantity<Frequency> omegaCutoff)
      Bode phase for first-order system. φ = -arctan(ω/ωc)