You are on page 1of 15

Improved Repetitive Control Filter Design for Both

Learning Frequency Cutoff and Interpolation

Jiangcheng Bao * and Richard W. Longman †


Columbia University, New York, NY, 10027

Ekaterina A. Kostina‡
University of Marburg, Marburg, 35032, Germany

and

Dan Wei Wang § and Yigang Wang¶


Nanyang Technological University, Singapore

Repetitive control aims to cancel the influence of periodic disturbances, such as


disturbances to fine pointing equipment on spacecraft from slight imbalance in reaction
wheels. The methods need the error one period back, but only discrete time data can be
stored. Interpolation can result in substantial error remaining after convergence. An FIR
cutoff filter is needed in repetitive control applications for stability robustness to high
frequency modelerrors. Methods are developed here to have this cutoff filter perform the
extra function of adjusting for a fractional time step delay in the disturbance period. The
purpose of the paper is to bring various enhancements in the cutoff filter design to apply to
this dual purpose filter design. These include adjusting weights in the design objective
function, including a transition band, imposing inequality constraints on the amplitude in
the pass band for higher cutoff in hardware, and use of higher order filter design. An
algorithm is proposed for faster solution of the the quadratically constrained quadratic
programming problem that results. Examples are presented to study the performance
characteristics that are achievable.

I. Introduction

R EPETITIVE control (RC) is a relatively new field that develops control systems that can learn to cancel the
effects of periodic disturbances of known period. There are many possible applications to spacecraft to
eliminate the influence on fine pointing equipment of vibrations from imbalance in momentum wheels or reaction
wheels or control moment gyros. In order to make RC systems that are asymptotically stable, one normally must
design a compensator the that makes the frequency transfer function of the product of the compensator times the
system stay within unit distance from the point +1. One approach to doing this are to try to use the inverse of the
system transfer function as a compensator, and for any zeros outside the unit circle introduce a zero inside at the
reciprocal location, and a pole at the origin [1]. Another general, and very effective approach is to design an FIR
filter as a compensator that fits the inverse of the steady state frequency response [2].
The stability condition makes it necessary that the phase of the above product be between -90 and +90 degrees
for all frequencies up to Nyquist frequency. This is an unusual requirement in control theory, and implies that one
needs a rather good model all the way to Nyquist frequency. In any model that one generates, one must expect that
there are some missing high frequency dynamics, missing parasitic poles or missing residual modes. As a result one

*
Doctoral Candidate, Department of Mechanical Engineering, MC4703, 500 West 120th Street.

Professor of Mechanical Engineering, Professor of Civil Engineering and Engineering Mechanics, MC4703, 500
West 120th Street. Fellow AIAA, AAS.

Professor, Department of Mathematics and Computer Science, Hans-Meerwein-Str.
§
Head, Division of Control and Instrumentation, School of Electrical and Electronic Engineering.

Previously, Doctoral Candidate, School of Electrical and Electronic Engineering.
1
American Institute of Aeronautics and Astronautics
092407
makes a filter to cut off the learning process at high frequencies. The cutoff is best done in hardware, since one
usually does not know in advance at what frequency the model becomes sufficiently inaccurate to cause instability.
This filter must be a zero-phase low-pass filter, otherwise the phase of the filter will further deteriorate performance
and force a lower cutoff frequency. Reference [1] uses what is termed a Q filter, and it is normally taken as zero
phase filter with a small number of gains. The size of the filter used is limited by the number of computations one
can make per sample time in the real time operation of the RC system. Reference [3] develops higher order FIR
zero-phase low-pass filters for this purpose. The implementation requires only that one multiply measured errors
from the previous period, multiplies by the filter gains, and sums up the results. The objectives of the filter design
are somewhat different in RC than in more common uses of low pass filters, and one can use the design freedom to
tune the filters for the RC objective. One can adjust the relative weights given to the matching the desired behavior
in the pass band and in the stop band.
In addition to using higher order filters and adjusting the weighting, reference [4] puts in a transition band. The
filter accuracy below the cutoff is quite important since it directly influences the final value of the error for the
disturbance frequencies being learned. The accuracy above the cutoff is of lesser importance and hence a wider
transition band often will not seriously deteriorate performance in its frequency range, but it can allow much better
performance within the pass band. Reference [4] also improves the performance by preventing amplification of
signals in the pass band. As the frequency increases, the frequency response condition mentioned above normally
approaches being violated rather gradually, and the usual bumps above unity in the pass band magnitude response
can force one to use a much lower cutoff frequency than would otherwise be necessary. Hence, [4] formulates the
filter design problem in the form of a quadratic programming (QP) problem that imposes the constraint that the
filter magnitude response never exceeds unity, and also that the gain at frequency zero is unity. Quadratic
programming is an efficient algorithm that easily solves for the needed gains subject to these constraints.
The above designs for repetitive controllers assume that the period of the disturbance signal to be cancelled, or of
the command to be executed, or both, is an integer number of time steps. It might be possible in the case of
executing a periodic command to make that command an integer number of time steps, but when the disturbance
comes from some external source there is no reason for it to cooperate in this way. We do assume that we know the
period, for example by use of an index pulse on the rotating shaft in a momentum wheel, so we know the what
fractional time step is needed to get to the true period. To handle such situations, [5] and [6] studied the use of
interpolation of the errors measurements to obtain estimates of the error signals between sample times as desired by
the repetitive control laws.
Reference [7] suggests an alternative approach to addressing the problem of a non-integer number of time steps
in a period. It considers the design of the Q filter to include aiming to fit the linear phase lead or lag needed to
handle the partial time step delay that is present. It is the purpose of this paper to examine the trade-off between
interpolation and this approach, and then to introduce the enhancements to the filter design as described above: (1)
Use of higher order FIR filter cutoffs. (2) Adjusting the weighting between the pass band and the stop band. (3)
Introducing a transition band. And (4), imposing inequality constraints on the amplitude in the pass band to allow
the highest possible cutoff frequency in practice. Before, the inequality constraints could be imposed by formulating
the problem as a standard quadratic programming problem. When the fractional step delay is introduced, the
formulation no longer fits that of a standard quadratic program that allows only linear inequality constraints. The
new problem asks for minimization of a quadratic function subject to a relatively large number of quadratic
constraints. An efficient numerical approach for handling the newly formulated problem is presented.

II. Basic Mathematical Formulation of Repetitive Control


A typical repetitive control system is shown in Fig, 1, where G (z) is the transfer function of a closed loop
feedback control system, YD (z) is the desired trajectory for the system and V (z) is a periodic output disturbance
For the purposes of this section consider that the period is p time steps. Wherever a periodic disturbance enters the
feedback control system, there is an equivalent periodic disturbance that one can add to the output of the transfer
!
function x(k) , or X (z) in the z-transform version, to form the system output y(k) or Y (z) , and this is v(k) , or
!
V (z) . The reader!is referred to [8] for a more detailed treatment of the material in this section. The simplest form of
repetitive control adjusts the command u(k) to the feedback control system every time step according to
! ! ! ! !
u(k) = u(k " p) + # e(k " p + 1) (1)
!
!
where " is the repetitive control gain, and e(k) = y d (k) " y(k) represents the error, the desired output minus the
actual output. The one time step added to the argument in e(k " p + 1) reflects the delay of the system between the
!
2
! American
! Institute of Aeronautics and Astronautics
092407
!
time step when an input is changed and the time step it first influences the sampled output. In order to assist in
stabilization and in improving the performance one designs a compensator F (z) and applies it to the error signal
before using it in equation (1), and of course one can absorb the " and also whatever time shift one might want into
the definition of the compensator. Then the transfer function of the repetitive controller is
!
U (z) = z " p [U (z) + F (z)E(z)]
!
z " p F (z) (2)
R(z) =
1" z " p

The sensitivity transfer function of the system gives the error in terms of the command and the disturbance as
! # &
1 " z" p
E(z) = S(z)(YD (z) " V (z)) = % "p ((YD (z) " V (z)) (3)
$ 1 " z [1 " F (z)G (z)] '

and this produces the following difference equation


!
{1" z " p [1 " F (z)G (z)]}E(z) = (1" z " p )(YD (z) " V (z)) (4)

The right hand side is the command and the disturbance at the present time, minus their values one period back,
which is zero, making a homogeneous equation for the error. If the characteristic polynomial in the curly bracket is
! the tracking error converges to zeros for any command of period p time steps (for
asymptotically stable, then
example a constant command) and any disturbances of p time steps. One does not need to know the form of the
disturbance, just its period. One can rewrite the homogeneous equation as

z p E(z) = [1 " F (z)G (z)]E(z) (5)

Using a quasi steady state assumption for each period, this looks like a transfer function from one period to the next,
and suggests that there would be monotonic decay of every frequency component of the error if
!
1 " F (e i#T )G (e i#T ) < 1 (6)

for all frequencies " up to Nyquist (T is the sample time interval). In [8] this is proved to be a sufficient condition
for asymptotic stability. It can also be shown to be a necessary condition if one wants the repetitive control system to
be stable for all possible periods p [9]. !
The compensator design method of [2] picks an FIR filter
!
F (z) = a1z m"1 + a 2 z m"2 + L+ a m z 0 + La n"1z "(n"m"1) + a n z "(n"m)
(7)
= (a1z n"1 + a 2 z n"2 + L+ a m z n"m + L+ a n"1z1 + a n z 0 ) / z (n"m )

to minimize the left hand side of (6) over all frequencies. The z 0 term corresponds to the error one period back,
e(k " p) , and terms are included both forward and backward from this time. The optimization criterion to determine
!
the coefficients is

N !
i# j T i# j T i# j T i# j T
! JF = $[1" G (e )F (e )][1 " G (e )F (e )] * (8)
j= 0

where the asterisk indicates the complex conjugate. One adjusts the values of n and m in order to obtain the lowest
cost.
!

3
American Institute of Aeronautics and Astronautics
092407
III. Introducing the Zero-Phase Low-Pass Filter Cutoff
In order to create robustness to unmodeled high frequency modes, one introduces a zero-phase low-pass filter. It
operates on data from the previous period so it can be zero-phase and non causal, but it must operate in real time.
Reference [3] designs an FIR filter for this purpose of the form

H (z) = a n z n + a n"1z n"1 + L+ a 0 z 0 + L+ a"(n"1)z "(n"1) + a"n z n (9)

To get zero phase, the number of forward gains must be equal to the number of backward gains, the number of gains
must be odd and must satisfy a k = a"k for all k. This creates zero phase in the pass band (and alternatively 180 deg
!
and zero going through the stop band peaks). Ideally, the filter should be equal to one below the cutoff, and zero
above, so that [3] chose to minimize
! jp N #1
i$ j T i$ j T i$ j T i$ j T
JH = % "[1# H (e )][1# H (e )] * + %[H (e )][H (e )] * (10)
j= 0 j= j p +1

A reasonably large set of evenly spaced discrete frequencies from zero to Nyquist frequency are chosen for the
summation, and the discrete frequency counter j p indicates the highest frequency in the pass band. The value of the
!
relative weight " given to the pass band relative to the stop band is a parameter that can be used to improve
performance. And of course the number of gains in the FIR filter can be chosen to get desired performance levels.
This cutoff filter is applied to the repetitive control signal modifying equations (3), (4), and (6)
!
!
U (z) = z " p H (z)[U(z) + F (z)E(z)]
z " p H (z)F (z) (11)
R(z) = "p
1" z H (z)

{1" z " p H (z)[1" F (z)G (z)]}E(z) = [1 " z " p H (z)](YD (z) " V (z)) (12)
!
H (e i"T )[1# F (e i"T )G (e i"T )] < 1 (13)
!
If H (z) is an ideal filter then it equals unity below the cutoff frequency, and the right hand side of (12) has zero
forcing function for such frequencies, and it is equal to zero above the cutoff, so the right hand side has just the
forcing function of the command!and the disturbance unaltered for these frequencies.
Reference 4 generalizes the filter design in two respects. It allows a gap between the highest frequency in the
! pass band having subscript j p , and the first frequency included in the second summation for the stop band, with
subscript j s . This allows a transition band that can improve the performance in the pass band and in the stop band.
A second issue is to prevent the magnitude of the frequency response of the filter from going over unity in the pass
band. Since the response is zero phase, this simply limits the output to be less than or equal to one for each discrete
!
frequency considered. As explained in [4], this allows one in practice to maximize the cutoff frequency, allowing
!
one to achieve zero steady state tracking error for as large a frequency range as possible. It is also desirable to ensure
that the filter has unity gain at DC, i.e. for constant inputs, and this produces a equality constraint on the gains.
Denote " j = # jT . Combining these statements with the cost and the form of the FIR filter, results in the following
quadratic programming problem. This method of designing zero-phase low-pass filters for repetitive control systems
was treated in detail in [4].
! Mathematical Statement of the Problem: Given the sequence of numbers e(k) to filter, the filtered values are
given by

f (k) = a n e(k " n) + a n"1e(k " n + 1) + L + a 0e(k) + a1e(k + 1) + L + a n e(k + n) (14)


!
T
The unknowns: x = [ a 0 2a1 L 2a n ]
! 4
American Institute of Aeronautics and Astronautics
092407
!
T
Coefficient matrix: b j = [1 cos " j L cos n" j ]
Normalized frequencies: " j = j# / N ; j = 0,1, 2,K, N $ 1
Passband frequencies: j = 0,1,K, j p (want filter to be equal to 1 for these j)
Stopband !frequencies: j = j s ,K, N " 1 ( j s " j p + 1 , want filter to have zero output at these j)
Transition band!frequencies: j p + 1 " j " j s # 1 (there is no transition band unless j s > j p + 1 )
Optimization !Criterion:
! ! % jp N #1 )
' ' %1 )
! x '
$
J = min&" [1 # bTj x]2 + $ [bTj x]2 * = min& x T Px + c T x *
'+ x !
( 2 +
(15)
( j= 0 j= j s

Without constraints this is a linear problem, just differentiate, set to zero, and solve the linear equations. The "
adjusts the relative importance of passing the desired frequencies without changing their amplitudes, versus the
!
importance of successfully stopping the remaining frequencies.
!
Constraints:
bTj x " 1 j = 0,1,K, j c
(16)
a 0 + 2a1 + L + 2a n = 1

The first ensures that there is no amplification of the frequency components in the passband, and the second says
that the DC or constant component comes through the filter unchanged.
!
IV. The Use of Interpolation to Handle Non-Integer Periods
This section summarizes some results from [5]. Looking at equation (1), it is clear that we want to know the
control action one period back, and we want to know the error one period back plus one time step. If the period is
not an integer number of time steps in the discrete time system, then we do not have any measurement at the time of
interest, and we had no control designed for that time. We do have these values at a time step slightly more recent,
and at a time step slightly longer ago. It is natural to think of using linear interpolation between these values. And in
order to improve the results, one can consider using cubic interpolation, using two measurements more recent and
two measurements further back in time. And of course we can entertain using still higher order interpolation. For
simplicity in conveying concepts, consider linear interpolation. Suppose that the actual period is given by (p + " d)T
where p + is an integer, and d is a fraction of a time step. And let p" = p + " 1 . Consider the repetitive control law (1)
and do linear interpolation of the control action at the nearest time steps forward and backward for which we have
the needed information to compute the control
!
! !
u(k) = a1{u(k " p" ) + #e(k " p" + 1)] + a 2 {u(k " p + ) + #e(k " p + + 1)] (17)

The interpolation coefficients for linear interpolation are very easy to compute, with a1 = d and a 2 = 1 " d .
Converting the control law to z-transfer function form and generalizing to include the compensator, but for the
!
moment ignoring the possible need of a low-pass filter, produces
+ ! !
U (z) = z " p I (z)[U(z) + F (z)E(z)] (18)

where the transfer function of the linear interpolation is given by the FIR filter I (z) = a1z + a 2 . We note that the
interpolation filter appears in the same place as the zero-phase low-pass filter appeared in the previous section, and
!
hence the difference equation for the tracking error is
!
{1" z " p + I (z)[1" F (z)G (z)]}E(z) = [1 " z " p + I (z)](YD (z) " V (z)) (19)

It is interesting to note that the interpolation not only appears in the same place as the low pass filter, but in fact
behaves as a low pass filter. Figures 2 studies the magnitude frequency response of linear interpolation for different
values of d. Recall! that at Nyquist frequency there are only two sample per period of oscillation, and this makes it
5
American Institute of Aeronautics and Astronautics
092407
clear that as the frequency goes up, the estimate of the amplitude can deteriorate, making a low pass filter. Figure 3
gives the corresponding magnitude frequency response using a 12 gain interpolation, and Fig. 4 considers a 52 gain
polynomial interpolator. The higher the degree of the polynomial used to do the interpolation the higher the
frequency at which the amplitude starts to decay.
The most important property of the interpolation is to try to make the right hand side of the difference
equation in (19) equal to zero for commands and disturbances of the period (p + " d)T . For every frequency, one
can find the associated p + and the associated d, and compute the amplitude frequency response of the factor
[1 " z " p + I (z)] . If the interpolation is perfect, the result will be zero, and then there is no forcing function in the
difference equation at the addressed frequency, and hence the error ! converges to zero for a stable repetitive control
system. Figure 5 shows the amplitude that actually results from this computation for all frequencies up to Nyquist,
!
using linear interpolation, Figure 6 shows the corresponding plot using cubic interpolation with somewhat better
! performance. However, it is clear that interpolation will for very many frequencies fail to produce zero error at the
frequencies being addressed by the repetitive controller.

V. The Problem Statement for Use of One Filter for Frequency Cutoff and Fractional Time Step
Period Adjustment
For the moment, consider including both the zero-phase low-pass filter and the interpolation filter at the same
time. In that case, the repetitive control law and the difference equation for the error become
+
U (z) = z " p I (z)H (z)[U(z) + F (z)E(z)] (20)

{1" z " p + I (z)H (z)[1" F (z)G (z)]}E(z) = [1 " z " p + I (z)H (z)](YD (z) " V (z)) (21)
!
The product I (z)H (z) aims to accomplish two things, to create a low pass filter and to adjust the phase as a function
of frequency so that it matches that of a fractional time step change in period. Each filter is an FIR filter, and hence
the product !
is also an FIR filter. It is natural to ask, can we directly aim to design a filter that accomplishes these two
goals? One expects that a filter designed for both purposes would require fewer gains for the same performance
! since it avoids make a product of the two FIR filters which multiplicatively increases the number of terms.
level,
Note some of the differences between this problem and the zero phase filter design problem. To have zero phase
required an odd number of coefficients and coefficients satisfied a k = a"k . Since we are absorbing the fractional
time step delay into the filter design, we no longer want zero phase, and this condition no longer applies. The filter
z-transform will take the same form as the compensator in (7)
!
H d (z) = a1z m"1 + a 2 z m"2 + L+ a m z 0 + La n"1z "(n"m"1) + a n z "(n"m)
(22)
= (a1z n"1 + a 2 z n"2 + L+ a m z n"m + L+ a n"1z1 + a n z 0 ) / z (n"m )

with new values to be chosen for the overall order n, and the value of m. Since we are aiming to estimate what
would be a signal between time steps, it is natural to expect that using the same number of gains forward of the time
!
of interest as backward of the time of interest. Whether this is true will be examined in numerical examples below,
+
but it would imply that we want an even number of time gains. The new H d (z) tries to convert z " p I (z)H (z) into a
+
better representation of z "( p "d ) , so that H d (z) itself tries to imitate z d in the frequency domain. Therefore, an
appropriate cost function to minimize is
! !
jL N $1
! !
) !
i# j T d i# T i# T i# T i# j T i# j T
JH = %"[(e $ H d (e j )][(e j ) d $ H d (e j )] * + %[H d (e )][ H d (e )] *
j= 0 j= j R
(23)
jL N $1
i# j T $d i# j T i# j T $d i# j T i# j T i# j T
= %"[1$ (e ) H d (e )][1$ (e ) H d (e )] * + %[H d (e )][H d (e )] *
j= 0 j= j R

! 6
American Institute of Aeronautics and Astronautics
092407
by choice of coefficients in equation (22). Since we want H d (z) to look like z d for all frequencies to Nyquist, we
are asking for a linear phase lead for positive d, and magnitude unity at all frequencies in the pass band. This
modifies what were linear inequality constraints on the frequency response which was automatically real in the pass
band before, into constraints on the magnitude of the response. Hence we want to ask for
i" T i" T ! !
[H d (e j )][H d (e j )]* # 1 for every j in the pass band. This forms a quadratic constraint. In complex form, this
converts the QP problem used previously, to the following problem

jL N #1
! JH =" $ (1 # b T
j x) (1 # bTj x) * + $ (b T
j x) (bTj x) * (24)
j= 0 j= j R
where j R " j L + 1 and
T
x = [ x0 x1 L x n ] (real)
! i" j (d #m +n ) T
!
bj = e [ i" j (d #m )
e
i" j (d #m +1)
L e ] (25)
" j = ($ / N ) j
0 < d <1

Of course we can also reformulate for negative d, or alternatively use 1-d starting from p" instead of p + . In order
ensure that the magnitude response does not go above unity in the pass band, and that the DC gain is unity, we want
!
the minimization of (24) to be subject to the quadratic inequality constraints and the quality constraint
! !
(bTj x)(bTj x)* " 1 for j = 0,1,K, j L
(26)
x 0 + x1 + L + x n = 1

The examples presented in the next section are obtained by using the Matlab program fmincon, for
minimization of a quadratic function subject to general nonlinear inequality constraints, so that it is not specifically
! of problems developed here. In this case, we can supply the gradient and the
designed for the specialized class
Hessian to the algorithm. One can usually obtain answers as needed, but sometimes the are difficulties. It is much
better to have a numerical optimization method that exploits the full very special properties of the present problem.
Here we present such a method.

VI. Numerical Optimization Algorithm


First, reformulate the problem to eliminate complex quantities asking to

jL jL N "1
min
x
J d = "# $ 2DTj x +# $x T
(c j c Tj + s j sTj )x + $x T
(c j c Tj + s j sTj )x
j= 0 j= 0 j= j R
T
s.t. x (c j c Tj + s j sTj )x % 1, j = 0,1,K, j L (27)
n

$x i =1
i= 0
By defining

7
American Institute of Aeronautics and Astronautics
092407
jL N $1
Q0 = " # (c j c Tj + s j sTj ) + # (c c j
T
j + s j sTj )
j= 0 j= j R

Q j = c j c Tj + s j sTj , j = 0,1,K, j L
(28)
jL

q0 = $" #D j
j= 0
T
e = [1 1 L 1]

one can rewrite problem (27) in the form


!
min 2qT0 x + x T Q0 x
x

s.t. x T Q j x " 1, j = 0,1,K, j L (29)


T
e x =1

The matrices Q0 and Q j , j = 0,1,K, j L are positive semidefinite and the equality constraint is linear. Hence the
problem (29) (and (27) is a convex quadratically constrained quadratic problem (QCQP), and can be solved by SQP
!
methods. However, it is known that the effort in solving QCQP grow drastically with the increase in the number of
inequality constraints, even in the convex case. A more efficient way to solve (29) is to use its so called Lagrangian
! ! e.g. [10]:
relaxation, see

jL
max
", µ , #
$ %" j $µ$#
j= 0
& # 1
(2q0 + µe)T )
( 2 +
jL
s.t. (1 + positive semidefinite (30)
(( 2 (2q0 + µe) Q0 + " jQ j +
+ %
' j= 0 *
" j , 0, j = 0,1,K, j L

The problem (30) is just the dual problem to the QCQP (27), and since (27) is convex than according to [11] the
strong duality property holds, that is the minimal value of (27) is attained and is equal to the maximal value of (30),
! are feasible. Thus, finding an optimal solution of (30) produces an optimal solution of (27).
in case both problems
The problem (30) is a semidefinite programming problem (SDP) and may be solved by SDP software packages, e.g.
[12].

VII. Numerical Studies


Achieving the Right Period: Consider a third order system whose continuous time transfer function is given by

" a %" ( o2 %
G (s) = $ '$ 2 2
' (31)
# s + a &# s + 2)( o s + ( o &

where a = 8.8," = 0.5, # o = 37 , which is fed by a zero order hold sampling at 100Hz. Figures 7 and 8 show the
magnitude frequency response of the sensitivity transfer function from command or disturbance to error. The plot is
!
shown for the case when one uses the nearest integer number of time steps for the period, and then the method
developed here is presented where the linear phase resulting from a fractional time step is included in the filter
! design. For this example, there is no cutoff frequency in the filter, so its sole job is to imitate the linear phase unity
gain desired, by use of an FIR filter. The frequencies being address, the fundamental and all harmonics for the given
period, are indicated by asterisks and circles on the plots. It is clear that the nearest integer design gives poor

8
American Institute of Aeronautics and Astronautics
092407
performance as the frequency gets large. It even amplifies instead of attenuating the errors at high frequencies. The
asterisks to not lie at the bottom of each valley, and hence the design does not fully address attenuation at the
frequencies of interest. On the other hand, the new design has the addressed frequencies close to the bottom of each
valley, so that all disturbances of the addressed period will be very substantially attenuated. Figure 9 displays the
values of the gains in the filter designed for the fractional time step indicated.

Picking the Right Value for m: Figures 10, 11, 12, 13 examine the choice of the value of m in the filter design.
When interpolating, one expects that it is best to use the same number of data points ahead of the interpolation point
and behind the interpolation point. To satisfy this condition in these plots, one picks m = 26 . The plots display the
magnitde and phase frequency response plots of the FIR filter design, where we want the amplitude response to be
equal to one at all frequencies (since we are not yet considering a cutoff frequency) and we want the linear phase
lead to equal that of z d , i.e. a phase lead of "Td as a function of frequency " . The plots show the filter results for
!
m = 26 , as well as for m that is one unit smaller, and one unit larger. As expected, the m = 26 does give the best
results, although the performance for the neighboring values is still reasonably good.
! !
Evaluating!if the Size of d is Important: If the period is 49.25T, one could use 49 as the integer time step, and then
! have the filter model a change in period by +0.25T. Alternatively, one could use!50 as the integer time step, and ask
the filter to model a change in the period by -0.75T. Figures 14 and 15 study this. When using an integer of 49 or 50
without designing a filter for the fractional step, it is quite important to use the nearest integer. On the other hand,
the figures show that the performance is essentially same for each when one uses an FIR filter to model the linear
phase.

The Influence of the Size of n: Figure 16 and 17 examine the improvement in performance by using a larger
number of gains in the FIR filter. Performance improves the more gains one can handle in real time. Performance is
still rather poor with only 12 gains, but is rather good when the number of gains is 26 or larger.

Introducing the Cutoff with Inequality Constraints: Now consider using the filter not only for the linear phase of
the fractional time step, but also to perform a cutoff of the learning process. Figures 18 and 19 introduce the cutoff
when d is present, with and without the inequality constraints. It is clear that including d in the optimization does not
deteriorate the cutoff performance.

Improving Pass Band Performance with a Transition Band: In [4] a transition band was used to improve
performance according to the objective one expects in repetitive control. One wants the pass band to be as flat near
gain of unity as possible. Any error in this is directly reflected in error in the output. The cutoff is likely to happen at
relatively high frequencies where the error amplitudes are small. As a result, one can tolerate poorer performance in
the stop band if it makes substantial improvement in the pass band. Introducing a transition band can improve
performance in both pass band and stop band. Figure 20, 21, and 22 study this. The transition band is indicated as a
fraction of Nyquist frequency, that separates the j L from the j R . It is clear that very substantial improvement in the
performance in the pass band is achievable by increasing the transition band. How much the wider transition band
influences error is a function of how large the error is in this region for the problem considered. In any given
disturbance situation, one can adjust the size of the transition band to optimize performance.
! !
Improving Pass Band Performance by Adjusting the Cost Function Weight: The cost function contains the
parameter " that specifies the relative important of performance in the pass band and in the stop band. Figures 23,
24, and 25 study the influence of adjusting this weight. For simplicity, the transition band is set to zero for this
study. Again, very substantial improvements in the pass band are achievable. The larger amplitudes in the stop band,
when the phase is 180 degrees, as it is every other peak, will make the disturbance forcing function in the difference
!
equation for the error, be larger than the original disturbance amplitude. And this can further be amplified by the
waterbed effect of the sensitivity transfer function. Provided the error at the high frequencies are quite small
compared to the lower frequency errors being corrected, one will want to use a substantial weight on the pass band.

VIII. Handling Drifting Periods


Many applications of repetitive control will have disturbance periods that drift with time. We assume that we
always know the current period. But as the period changes with time, we need different filter design. A logical
approach is to precompute a set of filters for different values of d, and then use a table look up to modify the filter
9
American Institute of Aeronautics and Astronautics
092407
used as the period changes. In such applications there will be some issues of possible discontinuities. As the d value
goes through zero, one will shift which data points are being used in the filter. The imperfect nature of such a
process, as well as the fidelity with which one knows the current period, will suggest that one cut off the learning in
the high frequency range for these purposes as well as for robustness to model inaccuracy. How fast a repetitive
control law can adjust to changing frequencies in the disturbance, is a function of the time needed for the repetitive
control system to converge to steady operation. This is studied in [13,14]. Some repetitive control laws can converge
within a couple periods. As long as the period does not change substantially in this number of time steps, the
repetitive control system will do a reasonable job of maintaining small tracking error.

IX. Conclusions
Methods are presented to design an FIR filter that is both a low pass filter, and a filter introduces a linear phase
lead or lag that can adjust for the period of the disturbance not being an integer number of time steps. It is shown
that this concept which was introduced in [7] gives substantially superior performance to the use of a separate
interpolation filter. Interpolation is shown to not fully achieve the desired period, whereas the design here is seen to
create deep valleys at the needed frequencies in the sensitivity transfer function. The methods of improving the
performance of the zero-phase low-pass filter developed in [4] are transferred to apply to this dual purpose filter
design. The enhancements include: Use of high order FIR filters for improved performance. Including inequality
constraints on the filter output in the pass band, in order to allow the highest possible cutoff frequency in
applications. The introduction of a transition band, for improved tuning of the performance in the repetitive control
situation. And the use of weighting on the pass band to improve pass band performance. In order to generalize the
inequality constraint problem to the new situation, an algorithm is proposed to solve the quadratically constrained
quadratic programming (QCQP) problem. These enhancements allow one various parameters to adjust to optimize
the repetitive control system performance based on the characteristics of the noise and disturbance environment.

References
1
M. Tomizuka, T.-C. Tsao, and K. K. Chen, “Analysis and Synthesis of Discrete time Repetitive Controllers,” Journal of
Dynamic Systems, Measuremnt, and Control, Vol. 111, 1989, pp. 353-358.
2
B. Panomruttanarug and R. W. Longman, "Repetitive Controller Design Using Optimization in the Frequency Domain,"
Proceedings of the 2004 AIAA/AAS Astrodynamics Specialist Conference, Providence, RI, August 2004.
3
B. Panomruttanarug and R. W. Longman, “Frequency Based Optimal Design of FIR Zero-Phase Filters and Compensators
for Robust Repetitive Control,” Advances in the Astronautical Sciences, Vol. 123, 2006, pp. 219-238.
4
J. Bao and R. W. Longman, “Enhancements of Repetitive Control using Specialized FIR Zero-Phase Filter Designs,”
Advances in the Astronautical Sciences, Vol. 129, 2008, pp. 1413-1432.
5
W. Kang and R. W. Longman, “The Effect of Interpolation on Stability and Performance in Repetitive Control,” Advances in
the Astronautical Sciences, Vol. 123, 2006, pp. 1163-1182.
6
H. Wen and R. W. Longman, “Repetitive Control Methods When the Disturbance Period Is Not an Integer Multiple of the
Sample Time,” Advances in the Astronautical Sciense, Vol. 108, 2001, pp.1301-1320.
7
Yigang Wang, Robust Repetitive Learning Control with Application to PWM DC/AC Converters, PhD Dissertation,
Nanyang Technological University, Singapore, 2007
8
R. W. Longman, “Iterative Learning Control and Repetitive Control for Engineering Practice,” International Journal of
Control, Vol. 73, No. 10, 2000, pp. 930-954.
9
R. W. Longman, K. Xu, and M. Q. Phan, “Design of Repetitive Controllers in the Frequency Domain for Multi-Input Multi-
Output Systems,” Advances in the Astronautical Sciences, Vol. 129, 2008, pp. 1593-1612.
10
S. Boyd, L. Vanderberghe, Convex Optimization, Cambridge University Press, 2003.
11
F. Glineur, T. Terlaky, “A Conic Formulation for $l_p$-norm Optimization,” Image Technical Report, Faculte
Polytechnique de Mons, Belgium, 2000.
12
K.-C. Toh, M. J. Todd, R.H. Tutuncu, “SDPT3 - a MATLAB Software Package for Semidefinite Programming,”
Optimization Methods and Software, Vol. 11, 1999, pp. 545 - 581.
13
J. W. Yeol, R. W. Longman, and Y. S. Ryu, “On the Settling Time in Repetitive Control Systems,” Proceedings of the
IFAC World Congress, Seoul Korea, July 2008.
14
J. Yeol and R. W. Longman, “Time and Frequency Domain Evaluation of Settling Time in Repetitive Control,”
Proceedings of the 2008 AIAA/AAS Astrodynamics Specialist Conference, Honolulu, Hawaii, August 2008.

10
American Institute of Aeronautics and Astronautics
092407
V(z)
X(z)
Y D(z) + E(z)
R(z)
U(z)
G(z) + + Y(z)

Figure 1. Repetitive control system block diagram.

Figure 2. Magnitude of linear interpolation Figure 3. Magnitude of 12 gain interpolation


frequency transfer function for different values of frequency transfer function for different values of
d. d.

Figure 4. Magnitude plot of interpolation Figure 5. The magnitude of input transfer function
frequency transfer function using 52 gains, for +
[1" z " p I (z)] frequency response using linear
different values of d. interpolation, as a function of addressed frequency
given in Hz by 1 /[(p + " d)T ] .
!

!
Figure 6. Same as Fig. 5 for cubic interpolation. Figure 7. Sensitivity transfer function for low
frequencies, third order system, with period 24.6
time steps ( d = 0.4 ), comparing nearest integer
design and d = 0.4 time step design with n = 52 ,
m = 26 , no cutoff. Asterisks indicate addressed
frequencies of interest on nearest integer design,
and circles indicate addressed frequencies of
!
interest on d = 0.4 design.
!

Figure 9. The 52 gains of the linear phase filter


Figure 8. Same as Fig. 7 for high frequencies to with n = 52, m = 26, d = 0.25 , with sampling period of
Nyquist. 1/50 second, no transition band, no cutoff, and
equal weight between pass band and stop band.

Figure 10. Magnitude plot for filter in Fig. 9, also Figure 11. Detail of Fig. 10.
showing results for m = 25 and m = 27 .

!
Figure 12. Phase plot for the filter in Fig. 10. Figure 13. Detail of Fig. 12.

Figure 14. Magnitude plot of sensitivity transfer Figure 15. Magnitude plot of sensitivity transfer
function for period 49.25T, using p = 50, d = 0.75 . function for period 49.25T, using p = 49, d = !0.25 .

Figure 16. Magnitude plot for d = 0.25 filter design Figure 17. Phase plot corresponding to Fig. 16.
using 12, 26, and 52 gains in the FIR filter.

!
Figure 18. Imposing the inequality constraints on Figure 19. Phase plot corresponding to Fig. 18.
the pass band magnitude in the FIR filter design
with cutoff ! cp = 0.5 . Magnitude plot.

Figure 20. The improvement in performance in the Figure 21. Detail of Fig. 20.
pass band produced by introducing a transition
band in the FIR filter design with cutoff !wcp = 0.3 .

Figure 22. Phase plot corresponding to Fig. 20. Figure 23. Adjusting the weights on the pass band
versus the stop band. Transition band set to zero.
Magnitude plot.
Figure 24. Detail of Fig. 23. Figure 25. Phase plot corresponding to Fig. 23.

You might also like