diff --git a/lib/ControlSystemsBase/src/discrete.jl b/lib/ControlSystemsBase/src/discrete.jl index 5247ca941..bd69ea75a 100644 --- a/lib/ControlSystemsBase/src/discrete.jl +++ b/lib/ControlSystemsBase/src/discrete.jl @@ -152,7 +152,7 @@ rstc(args...)=rst(args..., ;cont=true) Polynomial synthesis in discrete time. -Polynomial synthesis according to CCS ch 10 to +Polynomial synthesis according to "Computer-Controlled Systems" ch 10 to design a controller ``R(q) u(k) = T(q) r(k) - S(q) y(k)`` Inputs: diff --git a/lib/ControlSystemsBase/src/matrix_comps.jl b/lib/ControlSystemsBase/src/matrix_comps.jl index 57d233a8a..000be285f 100644 --- a/lib/ControlSystemsBase/src/matrix_comps.jl +++ b/lib/ControlSystemsBase/src/matrix_comps.jl @@ -808,7 +808,7 @@ such that `feedback(sys, cont)` produces a closed-loop system with eigenvalues g This controller does not have a direct term, and corresponds to state feedback operating on state estimated by [`observer_predictor`](@ref). Use this form if the computed control signal is applied at the next sampling instant, or with an otherwise large delay in relation to the measurement fed into the controller. -Ref: CCS Eq 4.37 +Ref: "Computer-Controlled Systems" Eq 4.37 # If `direct = true` Return the observer_controller `cont` that is given by @@ -819,7 +819,7 @@ This controller has a direct term, and corresponds to state feedback operating o !!! note To use this formulation, the observer gain `K` should have been designed for the pair `(A, CA)` rather than `(A, C)`. To do this, pass `direct = true` when calling [`place`](@ref) or [`kalman`](@ref). -Ref: Ref: CCS pp 140 and CCS pp 162 prob 4.7 +Ref: Ref: "Computer-Controlled Systems" pp 140 and "Computer-Controlled Systems" pp 162 prob 4.7 # Arguments: - `sys`: Model of system @@ -861,7 +861,7 @@ The observer filter is equivalent to the [`observer_predictor`](@ref) for contin !!! note To use this formulation, the observer gain `K` should have been designed for the pair `(A, CA)` rather than `(A, C)`. To do this, pass `direct = true` when calling [`place`](@ref) or [`kalman`](@ref). -Ref: CCS Eq 4.32 +Ref: "Computer-Controlled Systems" Eq 4.32 """ function observer_filter(sys::AbstractStateSpace{<:Discrete}, K::AbstractMatrix; output_state = false) A,B,C,D = ssdata(sys) diff --git a/lib/ControlSystemsBase/src/synthesis.jl b/lib/ControlSystemsBase/src/synthesis.jl index bcd14a9f3..25735d55f 100644 --- a/lib/ControlSystemsBase/src/synthesis.jl +++ b/lib/ControlSystemsBase/src/synthesis.jl @@ -78,7 +78,7 @@ end Calculate the optimal Kalman gain. -If `direct = true`, the observer gain is computed for the pair `(A, CA)` instead of `(A,C)`. This option is intended to be used together with the option `direct = true` to [`observer_controller`](@ref). Ref: CCS pp 140. +If `direct = true`, the observer gain is computed for the pair `(A, CA)` instead of `(A,C)`. This option is intended to be used together with the option `direct = true` to [`observer_controller`](@ref). Ref: "Computer-Controlled Systems" pp 140. The `args...; kwargs...` are sent to the Riccati solver, allowing specification of cross-covariance etc. See `?MatrixEquations.arec/ared` for more help. """ @@ -116,7 +116,7 @@ If `direct = true` and `opt = :o`, the the observer gain `K` is calculated such Note: only apply `direct = true` to discrete-time systems. -Ref: CCS pp 140. +Ref: "Computer-Controlled Systems" pp 140. Uses Ackermann's formula for SISO systems and [`place_knvd`](@ref) for MIMO systems.