Lecture 36 - Incomplete State Feedback, Control Systems
We have discussed earlier that due to unavailability of system states, which are necessary for state feedback control, one need to estimate the unmeasurable states.
In the same context we will discuss another important topic in controller design which uses partial state feedback or output feedback for economical reasons.
1 Incomplete State Feedback
Consider the following system
x(k + 1) = Ax(k) + Bu(k) y(k) = C x(k)
where x(k) ∈ Rn×1, u(k) ∈ Rm×1, y(k) ∈ Rp×1. Let us consider an input
u(k) = −Gx(k)
Let us assume that the state xi(k) is unavailable for feedback, where i ∈ [1, n). The corresponding columns of G thus become zero. Let
G = W G∗
where W ∈ Rm×1 and G∗ ∈ R1×n.
Objective is to choose W such that (A, B W ) is controllable. With partial state feedback, the columns of G∗ that correspond to the zero columns of G must equal zero.
G∗ for single input case is related to desired closed loop poles, system parameters and W . It can be shown that
G∗= −[∆o1 ∆o2 · · · ∆on]K −1
∆oi = ∆o(λi), where, ∆o(.) represents the open loop characteristic equation and λi represents the ith desired closed loop eigenvalue.
K = [k1 k2 · · · kn]
where ki = k(λi) and k(z) = adj (zI − A)B W .
When one or more columns of G∗ are forced to be zero, we need to put constraints on the desired closed loop eigenvalues. The following example will illustrate the design procedure more clearly.
Example 1: Consider the system
The state feedback control is defined as
u(k) = −Gx(k)
where
G = [g1 g2]
Let us assume that x2 is unavailable for feedback. Thus g2 = 0. With g2 = 0, the characteristic equation of the closed loop system becomes |zI − A + BG| = z2 + 2z + (1 + g1) = 0
Since we have only one parameter to design, two eigenvalues cannot be arbitrarily chosen simultaneously. Dividing both sides of the above equation by z2 + 2z + 1, we can write
The variations in the closed loop poles with respect to the parameter g1 can be seen from the root locus plot.
We can draw both positive and negative root locus for g1 ≥ 0 and g1 < 0 respectively.
The root locus is shown in Figure 1 where the blue circle is the unit circle, red line represents root locus for g1 > 0 and green line represents root locus for g1 < 0.
One should note that for positive values of g1, both roots are always outside the unit circle.
Again, for negative values of g1, one of the roots is inside the unit circle while the other is
Figure 1: Root locus for Example 1 with g1 as a variable parameter
always outside the unit circle.
One can thus conclude that for the given example when only x1 is available for feedback, the system cannot be stabilized for any value of g1.
Now, if we consider instead of x1, only x2 is available for feedback. Then G = [0 g2].
The characteristic equation of the closed loop system becomes
|zI − A + BG| = z2 + (2 + g2)z + 1 = 0
Dividing both sides of the above equation by z2 + 2z + 1, we can write
We can draw both positive and negative root locus for g2 ≥ 0 and g2 < 0 respectively. The root locus is shown in Figure 2 where the red line represents root locus for g2 > 0 and the green line represents root locus for g2 < 0.
In this case when g2 > 0, one of the roots is inside the unit circle while the other is always outside the unit circle. When g2 < 0, for some range roots are on the unit circle, otherwise one of the roots is always outside the unit circle.
Thus we see that for the given system, not only can the eigenvalues be placed at desired locations, but the system is also not stabilizable.
2 Output feedback design
Output feedback control uses the system outputs since outputs of a system are always measurable and available for feed back.
Figure 2: Root locus for Example 1 with g2 as a variable parameter
Let us consider the following system
x(k + 1) = Ax(k) + Bu(k) y(k) = C x(k)
where x(k) ∈ Rn×1, u(k) ∈ Rm×1, y(k) ∈ Rp×1.
Let us consider an input u(k) = −Gy(k) where, G ∈ Rm×p
Ob jective is to choose G such that eigenvalues of the closed loop system are at desired locations.
However, since p ≤ m ≤ n, all eigenvalues cannot be arbitrarily assigned.
We will see that the number of eigenvalues that can be assigned arbitrarily eventually depends on the ranks of C and B .
Let us first consider the single input case. Putting the expression of u(k) into the system equation,
x(k + 1) = (A − BGC )x(k)
GC can be designed using pole placement technique if the pair (A, B ) is controllable. Since C is not a square matrix G cannot be directly solved from GC = K .
For m = 1, G ∈ R1×p, C ∈ Rp×n, B ∈ Rn×1 and GC ∈ R1×n.
There are p gain elements in G but only r of them are free as independent parameters
where r is the rank of C and r ≤ p. For example, if
and
G = [g1 g2 g3 ]
then
GC = [g1 g2 2g2 ]
Only two elements of GC are independent. This implies that only 2 of the total 3 eigenvalues can be placed arbitrarily.
For single input cases if the rank of C is equal to the order of the system, i.e., n, the output feedback is equivalent to complete state feedback.
Say the order is 3. The state feedback gain K is designed as [ k1 k2 k3 ]
Let us assume and
Rank of C is also 3. Now,
G =[g1 g2 g3 ]
Thus
GC =[g1 g2 g1 + g2 + g3 ]
g1, g2, g3 can be solved as
g1 = k1, g2 = k2, g3 = k3 − g1 − g2
For multi input systems B ∈ Rn×m. Let B∗ = BW where W ∈ Rm×1 thus B∗ ∈ Rn×1.
Similarly, let, G = W G∗ where G∗ = [g1∗ g2∗ g3∗ . . . . . . gp∗ ∈ R1×p]. Then,
BGC = BW G∗C = B∗G∗C
The characteristic equation of the closed loop system becomes
|zI − (A − BGC )| = |zI − (A − B∗G∗C )| = 0
G∗C can be determined using pole placement technique.
Unlike the single input case, the solution of the feed back gain here depends on the ranks of C as well as B .
If the rank of C is greater than or equal to the rank of B , the elements of W can be arbitrarily chosen if the pair (A, B) are controllable.
If rank of B > rank of C , we cannot arbitrarily assign all the elements of W if we wish to assign maximum number of eigenvalues of closed loop systems arbitrarily.
Examples, to be discussed in the next lecture, will make the design procedure more clearly understood.
1. What is incomplete state feedback? | ![]() |
2. How is incomplete state feedback different from complete state feedback? | ![]() |
3. What are the advantages of using incomplete state feedback? | ![]() |
4. What are the limitations of incomplete state feedback? | ![]() |
5. How can incomplete state feedback be implemented in practice? | ![]() |