Content uploaded by Xu Chen

Author content

All content in this area was uploaded by Xu Chen on Nov 25, 2015

Content may be subject to copyright.

Selective Model Inversion and Adaptive Disturbance Observer For

Rejection of Time-varying Vibrations On An Active Suspension

Xu Chen and Masayoshi Tomizuka

Abstract— This paper presents an adaptive control

scheme for identifying and rejecting unknown and/or

time-varying narrow-band vibrations. We discuss an idea

of selective model inversion (SMI) for a (possibly non-

minimum phase) plant dynamics at multiple narrow fre-

quency regions, so that vibrations can be estimated and

canceled by feedback. By taking advantage of the structure

of the disturbance model, we can reduce the adaptation

to identify the minimum amount of parameters, achieve

accurate parameter estimation under noisy environments,

and ﬂexibly reject the narrow-band disturbances with clear

tuning intuitions. Evaluation of the proposed algorithm is

performed via simulation and experiments on a benchmark

system for active vibration control.

I. Introduction

The rejection of multiple narrow-band disturbances

is a fundamental problem in many mechanical systems

that involve periodic motions. For example, the shak-

ing mechanism in active suspensions [1], the rotating

disks in hard disk drives [2], and the cooling fans for

computer products [3], all generate vibrations that are

composed of sinusoidal components in nature. Chal-

lenges of the problem are that we seldom have accurate

knowledge of the disturbance frequencies, and that in

many applications the disturbance spectra may change

w.r.t. time and/or among diﬀerent products. In various

situations, hardware limitations or excessive re-design

cost make it infeasible to reduce these disturbance by

system reconstruction, and it is only possible to address

the problem from the control-engineering perspective.

As narrow-band vibrations are composed of si-

nusoidal signal components, controllers can be cus-

tomized to incorporate the disturbance structure for

asymptotic disturbance rejection. This internal-model-

principle [4] based perspective has been investigated in

feedback control design in [1], [3], [5]–[7], among which

[5], [6] used state-space designs, and [1], [3], [7] applied

Youla Parameterization, a.k.a. all stabilizing controllers,

with a Finite Impulse Response (FIR) adaptive Q ﬁlter.

Alternatively, the disturbance frequency can be ﬁrstly

estimated and then applied for controller design. This

indirect-adaptive-control perspective has been consid-

ered in [8]–[10].

In this paper we discuss a new adaptive incorpo-

ration of the internal model principle for rejection of

narrow-band disturbances. Diﬀerent from FIR-based

X. Chen and M. Tomizuka are with Department of Mechanical En-

gineering, University of California, Berkeley, CA, 94720, USA (email:

maxchen@me.berkeley.edu;tomizuka@me.berkeley.edu)

adaptive algorithms, we construct the design with Inﬁ-

nite Impulse Response (IIR) ﬁlters and inverse system

models. Applying these considerations we are able to

obtain a structured controller parameterization that re-

quires the minimum amount of adaptation parameters.

An additional consideration is that adaptation on IIR

structures enables the usage of adaptation algorithms

that use the parallel predictor, which is essential for

accurate parameter convergence under noisy environ-

ments [11]. Finally, with the inverse-model based de-

sign, the internal signals in the proposed algorithm

have clear physical meanings. This helps the tuning

of the algorithm, particularly in industrial applications.

The controller structure is an extension of the idea

in [2]. The main part of this paper, i.e., the design

of inverse models, the derivation of the cascaded IIR

ﬁlters, and the adaptation algorithm for time-varying

disturbance rejection are, however, all newly devel-

oped. An additional contribution is the application to

a new class of systems that has characteristics quite

diﬀerent from the hard disk drive in [2].

The solid line in Fig. 1 shows the frequency response

of the active suspension system on which our algorithm

is evaluated. This system serves as a benchmark on

adaptive regulation in [12]. It has a group of resonant

and anti-resonant modes, especially at around 50 and

100 Hz. Additionally, the system is open-loop stable

but has multiple lightly damped zeros at mid frequen-

cies and nonminimum-phase zeros at high frequencies.

These characteristics place additional challenges not

just for adaptive disturbance rejection, but also for

general feedback control [13].

50 100 150 200 250 300 350 400

−80

−60

−40

−20

0

20

Gain (dB)

50 100 150 200 250 300 350 400

−180

−90

0

90

180

Phase (degree)

Frequency (Hz)

identified model

experimental data

Fig. 1. Frequency response of the plant

II. Selective Model Inversion

Fig. 2 shows the proposed control scheme. We have

the following relevant signals and transfer functions:

•P(z−1) and ˆ

P(z−1): the plant under control and its

identiﬁed model;

•C(z−1): a baseline controller designed to provide a

robustly stable closed loop;

•d(k) and ˆ

d(k): the actual (unmeasurable) disturbance

and its online estimate (note that ˆ

d(k)=P(q−1)u(k)+

d(k)−ˆ

P(q−1)u(k)≈d(k), where q−1is the one-step-delay

operator1);

•y(k): measured residual error;

•Parameter adaptation algorithm: provides online

information of the characteristics of ˆ

d(k);

•c(k): the compensation signal to asymptotically

reject the narrow-band disturbance in d(k);

•P−1

m(z−1) and z−m: these are constructed such that:

(i) Pm(z−1) has a relative degree of zero (and hence

P−1

m(z−1) is realizable); (ii) P−1

m(z−1) is stable; and (iii)

within the frequency range of the possible distur-

bances, P(z−1)z=ejω≈z−mPm(z−1)z=ejω, namely, P−1

m(z−1)

is a nominal inverse (without delays) model of P(z−1).

1

( )

Q z

−

d

(k

)

C

(z

¡

1

)

c

(k

)

0

^

d

(k

)

u(k

)

y(k

)

P

(z

¡

1

)

^

P

(z

¡

1

)

z

¡

m

P

¡

1

m

(z

¡

1

)

Fig. 2. Structure of the proposed control scheme

The intuition of the block-diagram construction is

to design the disturbance observer (estimator) to gen-

erate the compensation signal c(k) that approximates

P−1(q−1)d(k) if d(k) contains just narrow-band vibra-

tions. This forms the idea of a narrow-band disturbance

observer [2]. To see this, ignore ﬁrst the shaded blocks

(about parameter adaptation) in Fig. 2, then the control

signal u(k)ﬂows through two paths to reach the sum-

ming junction before Q(z−1): one from the plant P(z−1)

to the inverse P−1

m(z−1), and the other through z−m.

Hence the eﬀect of u(k) gets canceled at the entrance of

Q(z−1), and only the ﬁltered disturbance P−1

m(q−1)d(k)

enters the ﬁlter Q(z−1). To develop the structure of

Q(z−1), we can derive the sensitivity function, namely,

1In this paper, P(z−1), P(q−1), and P(e−jω) are used to denote

respectively the transfer function, the pulse transfer function, and

the frequency response of P(z−1) at ω.

the transfer function from d(k) to y(k):

S(z−1)=Gd2y(z−1)=1−z−mQ(z−1)/X(z−1) (1)

X(z−1),1+P(z−1)C(z−1)+Q(z−1)(P−1

m(z−1)P(z−1)−z−m)

(2)

From the frequency-response perspective, if P(e−jω)=

e−jmωPm(e−jω) in (1) and (2), then the last term in X(e−jω)

vanishes and

S(e−jω)=1−e−jmωQ(e−jω)/1+P(e−jω)C(e−jω).(3)

If we design a Q-ﬁlter, Q(z−1), as shown in Fig. 3, then

1−e−mjωQ(e−jω), and thus Gd2y(e−jω) in (1), will become

zero at the center frequencies of Q(z−1) (in this example,

60 Hz and 90 Hz), namely, disturbances occurring at

these frequencies will be strongly attenuated. Assume

ﬁrst that vibrations occur exactly at 60 Hz and 90 Hz.

Q(z−1) will ﬁlter out all other frequency components

such that its output c(k) consists of signals only at the

disturbance frequencies.

0 50 100 150 200 250 300 350 400

0

0.5

1

1.5

Gain

1−z−mQ(z−1)

0 50 100 150 200 250 300 350 400

0

0.5

1

1.5

Gain

Ferquency (Hz)

Q(z−1)

Fig. 3. Frequency response of a Q-ﬁlter example

We remark that the shape of Q(z−1) in Fig. 3 is central

in the proposed design scheme. Uncertainties exist in

P(z−1) no matter how accurate Pm(z−1) is constructed

(based on modeling or system identiﬁcation). It is not

practical (and is even dangerous) to invert P(z−1) over

the entire frequency region. Keeping the magnitude

of Q(z−1) small except at the interested disturbance

frequencies forms a selective (i.e., local/selected) model

inverse (SMI) of the plant dynamics, such that errors

due to model mismatches do not pass through Q(z−1)

and equation (3) remains a valid approximation of (1).

In this way, the system stability is easily preserved

as 1/(1 +P(z−1)C(z−1)) is the sensitivity function of the

baseline system (and hence stable). A stable Q(z−1)

in this case will assure the stability of S(z−1)≈(1 −

z−mQ(z−1))/(1+P(z−1)C(z−1)). Of course, an assumption

here is that good model information can be obtained at

the disturbance frequencies. If the system already has

large uncertainties at the disturbance frequencies, it is

best not to apply large control eﬀort there in the ﬁrst

place.

III. Design of The Inverse Dynamics

In the aforementioned analysis we have as-

sumed P−1

m(z−1) to be stable. It is well known that

nonminimum-phase zeros in P(z−1) not only make

P−1(z−1) unstable but also cause control limitations

(see, e.g., [13]). The benchmark system has multiple of

such zeros. We discuss next an H∞treatment of the

nonminimum-phase plant when designing P−1

m(z−1).

With the input-output data, standard system iden-

tiﬁcation can be performed to obtain P(z−1) (we use

the subspace system identiﬁcation technique [14]). Let

Sdenote the set of all stable discrete-time ratio-

nal transfer functions, and recall the ideal situation

where P(z−1)=z−mPm(z−1). We search among Sto ﬁnd

M(z−1)=P−1

m(z−1) such that the following are satisﬁed:

(i) model matching: to minimize the cost func-

tion ||W1(z−1)M(z−1)P(z−1)−z−m||∞, namely, we min-

imize the maximum magnitude of the model mis-

match M(z−1)P(z−1)−z−m, weighted by W1(z−1). The

ideal solution, if P−1(z−1) is stable, is simply M(z−1)=

z−mP−1(z−1). The weighting function W1(z−1) deter-

mines the region where we would like to have good

model accuracy.

(ii) gain constraint: as the inverse is used for process-

ing the measured output signal in Fig. 2, we should

be careful not to amplify the noises in y(k). Consider

the problem of min||W2(z−1)M(z−1)P(z−1)||∞, where the

magnitude of M(z−1)P(z−1) is scaled by the weight

W2(z−1). If W2(z−1)=1, the optimal solution for this

part alone would be M(z−1)=0, i.e., M(z−1) will not

amplify any of its input components. To make full use

of this gain constraint, we combine it with the previous

discussion to form:

min

K(z−1)∈S

"W1(z−1)M(z−1)P(z−1)−z−m

W2(z−1)M(z−1)P(z−1)#

∞

.(4)

The optimization in (4) ﬁnds the optimal inverse that

preserves accurate model information in the frequency

region speciﬁed by W1(z−1), and in the meantime pe-

nalizes excessive high gains of M(z−1) at frequencies

where W2(z−1) has high magnitudes. Typically W1(z−1)

is a low-pass ﬁlter and W2(z−1) is a high-pass ﬁlter.

By the formulation of the problem, (4) falls into the

framework of H∞control, and can be eﬃciently solved

in the robust control toolbox in MATLAB. Actually,

the dashed line in Fig. 1 is the z−mPm(z−1) obtained

from the proposed H∞problem. We can see that the

optimal solution matches well with the actual plant

dynamics, and moreover, P−1

m(z−1) is stable although

P(z−1) is nonminimum-phase.

IV. Disturbance-Observer Design

With the inverse and other ﬁlters speciﬁed in Fig.

3, it remains to design Q(z−1), which is the heart for

SMI and the disturbance observer. For narrow-band

vibrations caused by sinusoidal excitations, there exist

conﬁgurations that can achieve optimal disturbance

rejection.

Recall (1). To regulate y(k)=S(q−1)d(k)to zero, it

suﬃces to design Q(z−1) such that at the steady state

1−q−mQ(q−1)d(k)=0.(5)

We propose an IIR structure Q(z−1)=

BQ(z−1)/AQ(z−1).For vibrations satisfying

d(k)=Pn

i=1Cisin(ωik+ψi), it can be veriﬁed that

1−2cos(ωi)q−1+q−2Cisin(ωik+ψi)=0. Deﬁne

A(z−1),

n

Y

i=1

(1 −2cos (ωi)z−1+z−2),(6)

then (5) is achieved if

1−z−mQ(z−1)=K(z−1)A(z−1)

AQ(z−1).(7)

To get a 1−z−mQ(z−1) that has a magnitude response

similar to that in Fig. 3, A(z−1)/AQ(z−1) should have a

notch-ﬁlter structure. A natural choice is to damp the

roots of A(z−1) by a scalar α∈(0,1) and let AQ(z−1),

Qn

i=11−2αcos(ωi)z−1+α2z−2, i.e., AQ(z−1)=A(αz−1).

This will later beneﬁt the parameter adaptation algo-

rithm. To see this, expanding the product in (6) yields

A(z−1)=1+a1z−1+···+anz−n+···+a1z−2n+1+z−2n,(8)

where we have mapped the parameters {ωi}n

1in (6) to

{ai}n

1, and the new coeﬃcient vector {1,a1,...,an,...,a1,1}

has a mirror symmetric form by the construction

of A(z−1). Replacing every z−1with αz−1, we obtain

AQ(z−1)=A(αz−1), which is also linear in {ai}n

1. There-

fore only these nparameters need to be later identiﬁed.

This is the minimum possible number for nunknown

narrow-band signals.

The ﬁlter K(z−1) is necessary to make the solution

causal for a general m. Without K(z−1), (7) indicates

that Q(z−1)=zm(AQ(z−1)−A(z−1))/AQ(z−1), where the

non-realizable zmis non-trivial to cancel. A design

guide for K(z−1) is that it should not introduce serious

magnitude distortion to the achieved notch shape of

A(z−1)/AQ(z−1)=A(z−1)/A(αz−1) in (7). This way we can

control the noise ampliﬁcation in (5) when d(k) contains

other disturbances not modeled by (6). We discuss next

choices of K(z−1) for diﬀerent values of m.

A. The case for m =0

For the simplest case m=0, a scalar value K(z−1)=k0

provides a realizable solution to (7). Recalling Q(z−1)=

BQ(z−1)/AQ(z−1)=BQ(z−1)/A(αz−1) and (8), we can re-

duce (7) to A(αz−1)−BQ(z−1)=k0A(z−1),which yields

BQ(z−1)=(1−k0)+(α−k0)a1z−1+···+(αn−k0)anz−n

+···+(α2n−1−k0)a1z−2n+1+(α2n−k0)z−2n.(9)

It can be shown [15] that k0=αnleads to the common

factor 1 −αz−2in BQ(z−1), which places two symmetric

zeros to Q(z−1) at ±√α. This provides balanced magni-

tude response for Q(z−1) at low- and high-frequencies.

B. The case for m =1

Applying analogous analysis as in Section IV-A, we

reduce (7) to A(αz−1)−z−1BQ(z−1)=k0A(z−1),the solu-

tion of which is BQ(z−1)=(1−k0)z+(α−k0)a1+···+(αn−

k0)anz−n+1+···+(α2n−1−k0)a1z−2n+2+(α2n−k0)z−2n+1.

To let the term (1−k0)zvanish for realizability, we

require k0=1, which gives

BQ(z−1)=

2n

X

i=1

(αi−1)aiz−i+1;ai=a2n−i,a2n=1.(10)

As an example, when n=1, (6), (8) and (10) yield a1=

−2cos ω1and

Q(z−1)=(1−α)2cos ω1−(1+α)z−1

1−2αcosω1z−1+α2z−2.

Using the identity 2cos(ω1)=ejω1+e−jω1, we can ob-

tain that Q(e−jω1)=ejω1. Thus, Q(z−1) provides exactly

one-step advance to counteract the one-step delay in

z−1Q(z−1) at the center frequency ω1, hence the zero

magnitude response of 1−z−1Q(z−1) at ω1.

C. The case for an arbitrary m

For m>1, assigning K(z−1)=k0no longer gives a

realizable solution. Consider the following IIR design

K(z−1)=

N

X

i=0

ki"A(z−1)

A(αz−1)#i

,ki∈ R.(11)

Namely, K(z−1) is chosen as a combination of N(≥0)

ﬁlters that inﬂuence only the local loop shape (recall

that A(z−1)/A(αz−1) is a notch ﬁlter). Take the example

of m=2. When N=1,2solving (7) gives

Q(z−1)=z2 1−k0

A(z−1)

A(αz−1)−k1

A(z−1)2

A(αz−1)2!.(12)

Partitioning, we obtain

Q(z−1),z2 1−ρ1

A(z−1)

A(αz−1)! 1−ρ2

A(z−1)

A(αz−1)!.(13)

The numerator of Q(z−1) is given by BQ(z−1)=

z2(A(αz−1)−ρ1A(z−1))(A(αz−1)−ρ2A(z−1)). Recalling (8)

we have A(αz−1)−ρiA(z−1)=1−ρi+α−ρia1z−1+···+

(α2n−ρi)z−2n. To make the z2term vanish in BQ(z−1) for

realizability of Q(z−1), we must have 1−ρi=0 for i=1,2,

yielding k0=2, k1=−1 in (12). With these solved ρiand

ki, after simpliﬁcation, (13) and (11) become

Q(z−1)=

P2n

i=1(αi−1)aiz−i+1

A(αz−1)

2

;ai=a2n−i,a2n=1 (14)

K(z−1)=2−A(z−1)

A(αz−1).(15)

2If N=0, the problem is unsolvable since K(z−1) is a scalar again.

For a general integer m, analogous analysis gives that

Q(z−1)=

P2n

i=1(αi−1)aiz−i+1

A(αz−1)

m

(16)

1−z−mQ(z−1)=1− 1−A(z−1)

A(αz−1)!m

(17)

=A(z−1)

A(αz−1)

m

X

i=1 m

i!"−A(z−1)

A(αz−1)#i−1

(18)

It can be observed that the general result obtained

here is essentially a cascaded version of the developed

Q(z−1) in Section IV-B. For the sake of clarity, we denote

now the Q ﬁlter for m=0 and m=1 respectively

as Q0(z−1) and Q1(z−1). As has been discussed at the

end of Section IV-B, Q1(z−1) provides 1 step phase

advance to address the term z−1in 1−z−1Q1(z−1). For a

general m, we see that the cascaded Q(z−1)=hQ1(z−1)im

in (16) works the same way due to the factorization

1−z−mQ(z−1)=1−(z−1Q1(z−1))m, i.e., each Q1(z−1) block

compensates one z−1term, to achieve 1−e−jmωQ(e−jω)=

0 when ωbelongs to the set of disturbance frequencies

{ωi}n

1. Recall from Fig. 3, that Q(z−1) is a special type

of bandpass ﬁlter. Cascading multiple Q1(z−1) together

not only provides the compensation for z−m, but also

provides enhanced ﬁlter shape. If needed, we can ad-

ditionally cascade one or multiple blocks of Q0(z−1) to

Q(z−1), which will further reduce the ﬁlter magnitude

outside the passband, without losing the disturbance-

rejection property at the center frequencies of Q(z−1).

V. Parameter Adaptation

This section discusses the online adaptation of the

parameters {ai}n

i=1in Q(z−1) when the disturbance char-

acteristics is not known a priori. Recall from Fig. 2, that

y(k)=Gd2y(q−1)d(k)=S(q−1)d(k)≈1−q−mQ(q−1)

1+P(q−1)C(q−1)d(k).

The beginning of Section II has discussed the obtaining

of ˆ

d(k)≈d(k). Letting w1(k),ˆ

d(k)/(1 +P(q−1)C(q−1)) and

recalling the solution of 1−q−mQ(q−1) in (18), we get

y(k)≈

m

X

i=1 m

i!"−A(q−1)

A(αq−1)#i−1

A(q−1)

A(αq−1)w1(k)

For vibration rejection, y(k) will converge to zero if

A(q−1)/A(αq−1)w1(k) is asymptotically zero. We will use

w2(k),A(q−1)/A(αq−1)w1(k) as an adaptation model,3

which is linear w.r.t. the unknown coeﬃcients θ,

[a1,a2,...,an]T. The structure is a special (and simpliﬁed)

one for adaptive control due to the close relationship

between A(q−1) and A(αq−1). The full parameter adap-

tation algorithm (PAA) is provided in [15]. Limited

by space, we focus on the application of the PAA

3Additional ﬁltering can be applied on w1to improve the signal-

to-noise ratio. See, e.g., [10].

for identifying diﬀerent time-varying vibrations. Recall

that the general adaptation formula has the structure:

ˆ

θ(k+1)=ˆ

θ(k)+Adaptation gain ×Error

F(k+1)=1

λ(k)

F(k)−F(k)φ(k)φ(k)TF(k)

λ(k)+φ(k)TF(k)φ(k)

where F(k) is the adaptation gain and the forgetting

factor λ(k) determines how much information is used

for adaptation. It is well-known that altering the for-

getting factor is the key for time-varying parameter

adaptationWe suggest the following tuning rules:

(i) rapid initial convergence: initialize λ(k) to be

exponentially increasing from λ0to 1 in the ﬁrst several

samples, where λ0can be taken to be between [0.92,1)

(ii) adjustment for sudden parameter change: when

the prediction error encounters a sudden increase, in-

dicating a change of disturbance characteristics, reduce

λ(k)to a small value λ(e.g. 0.92 in the benchmark), and

then increase it back to its steady-state value λ(usually

close to 1), using the formula λ(k)=λ−λrate(λ−λ(k−1)),

with λrate preferably in the range (0.9,0.995).

(iii) adjustment for continuously changing parame-

ters: in this case, keep λ(k) strictly smaller than one,

using e.g., a constant λ(k)(<1).

VI. Simulation and Experimental Results

We apply in this section the proposed scheme to the

benchmark problem. In this system, the plant delay

m=2 in the modeling of P(z−1)z=ejω≈z−mPm(z−1)z=ejω.

Hence two Q1(z−1) blocks are needed in (16). Vibrations

occur in the middle frequency region between 50 Hz

and 95 Hz. There are also other noises at low and

high frequencies. To enhance the bandpass property,

we cascaded one additional Q0(z−1) block designed in

Section IV-A to Q(z−1), and preﬁltered the input to the

PAA (denoted as w1(k) in Section V) by a bandpass

ﬁlter (passband: 50–95 Hz) to remove the bias and other

high-frequency noises in the estimated disturbance.

In the ﬁrst stage of evaluation (denoted as level-

one test), the system is subjected to a single-frequency

vibration. Three cases are studied: the ﬁrst with a

constant unknown frequency, the second with a sudden

frequency change at speciﬁc time instances, and the

third with a chirp disturbance.

Fig. 4 show the output spectra with and without

the proposed scheme. We can observe ﬁrst, that the

simulation and the experimental results match well,

and that in both cases the strong vibrations have been

greatly attenuated, while the spectra at other frequen-

cies are nearly identical to that without compensation.

Fig. 5 shows the time trace (experimental result) of

the residual errors when the disturbance frequency has

abrupt changes. In the presence of various frequency

jumps, the algorithm still provides rapid and strong

vibration compensation. Comparing the data at 2 sec

and 7 sec, we see the steady-state residual errors have

been reduced to the baseline case where no narrow-

band disturbance is present.

0 50 100 150 200 250 300 350 400

−100

−80

−60

−40

error spectra (dB)

simulation

open loop

closed loop

0 50 100 150 200 250 300 350 400

−100

−80

−60

−40

Frequency [Hz]

error spectra (dB)

experiment

open loop

closed loop

Fig. 4. Rejection of a 55 Hz vibration

0 5 10 15 20 25 30 35 40

−0.02

0

0.02

Residual force [V]

Open loop

0 5 10 15 20 25 30 35 40

−0.02

0

0.02

Time [sec]

Residual force [V]

Closed loop

Hz: 75 85 75 65 75

Fig. 5. Experimental results of rejecting a vibration with frequency

jumps (frequency values indicated in the bottom subplot)

Fig. 6 shows the compensation results when the dis-

turbance frequency experienced a chirp-type evolution

between 50 Hz and 95 Hz. Fig. 7 shows the identi-

ﬁed frequency (computed oﬄine from a1=−2cosω1,

where a1is updated online). Under such time-varying

frequencies, we see the proposed algorithm maintains

its eﬀectiveness of compensating the disturbance.

Figs. 8 to 11 show the experimental results of reject-

ing two and three narrow-band disturbances. Again,

disturbances with diﬀerent time-domain characteristics

are tested as shown in Figs. 8 and 10. From Figs. 9 and

11, the strong spectral peaks in the speciﬁed frequency

region [50–95] Hz are all strongly attenuated. There

are several peaks outside the 50–95 Hz window. They

are not ampliﬁed in the closed-loop response (some

of them are actually attenuated). Indeed, the proposed

algorithm has the property of maintaining very small

ampliﬁcation of other disturbances (see also Fig. 4),

due to the frequency-domain design criterion in Fig. 3.

The benchmark has set up several evaluation quantities

about performance, robustness, and complexity. The

proposed algorithm achieved 100% in the benchmark

5 10 15 20 25 30 35

−0.04

−0.02

0

0.02

0.04

Residual force [V]

Open loop

5 10 15 20 25 30 35

−0.04

−0.02

0

0.02

0.04

Time [sec]

Residual force [V]

Closed loop

Fig. 6. Rejection of a narrow-band disturbance with a chirp

frequency (experimental result)

0 5 10 15 20 25

40

60

80

100

time (sec)

Estimated frequency (Hz)

Fig. 7. Identiﬁed frequency for the case of Fig. 6

speciﬁcation index for transient performance; 100%,

100%, and 99.78% respectively in steady-state simula-

tion performance; and ranked 1, 3, and 2, respectively

in experimental results. The recorded task execution

time is also moderate. Detailed summaries and com-

parison are provided in [16].

0 5 10 15 20 25 30

−0.05

0

0.05

Residual Force [V]

Simple Step Test

Maximum value = 0.029536

Open Loop

Closed Loop

0 5 10 15 20 25 30

−0.05

0

0.05

Residual Force [V]

Step Changes in Frequency Test

Maximum value = 0.042431

0 5 10 15 20 25 30

−0.05

0

0.05

Time [sec]

Residual Force [V]

Chirp Test

Maximum value = 0.035906

60−80 Hz

55−75 60−80 55−75 50−70 55−75

50−70 Hz 75−95 Hz 50−70 Hz

Fig. 8. Time-domain level-2 experimental results

VII. Conclusions

An adaptive control scheme has been introduced for

multiple narrow-band disturbance rejection. Applica-

tions to a benchmark on active suspension showed that

0 50 100 150 200 250 300 350 400

−90

−80

−70

−60

−50

−40

Frequency [Hz]

PSD estimate [dB]

Power Spectral Density Comparison

PSDOL

PSDCL

Fig. 9. Frequency-domain level-2 experimental results

0 5 10 15 20 25 30

−0.05

0

0.05

Residual Force [V]

Simple Step Test

Maximum value = 0.048526

Open Loop

Closed Loop

0 5 10 15 20 25 30

−0.05

0

0.05

Residual Force [V]

Step Changes in Frequency Test

Maximum value = 0.072771

0 5 10 15 20 25 30

−0.05

0

0.05

Time [sec]

Residual Force [V]

Chirp Test

Maximum value = 0.051947

60−75−90 Hz

50−65−80 Hz 65−80−95 Hz 50−65−80 Hz

55−70−85 60−75−90 55−70−8550−65−8055−70−85

Fig. 10. Time-domain level-3 experimental results

0 50 100 150 200 250 300 350 400

−90

−80

−70

−60

−50

−40

Frequency [Hz]

PSD estimate [dB]

Power Spectral Density Comparison

PSDOL

PSDCL

Fig. 11. Frequency-domain level-3 experimental results

the proposed algorithm signiﬁcantly attenuated the

disturbance under various time-varying characteristics.

VIII. Acknowledgment

The authors thank Abraham Castellanos Silva for his

help on obtaining the experimental results.

References

[1] I.-D. Landau, M. Alma, J.-J. Martinez, and G. Buche, “Adaptive

suppression of multiple time-varying unknown vibrations using

an inertial actuator,” IEEE Trans. Control Syst. Technol., vol. 19,

no. 6, pp. 1327–1338, 2011.

[2] X. Chen and M. Tomizuka, “A minimum parameter adaptive

approach for rejecting multiple narrow-band disturbances with

application to hard disk drives,” IEEE Trans. Control Syst. Tech-

nol., vol. 20, pp. 408 – 415, March 2012.

[3] C. Kinney, R. de Callafon, E. Dunens, R. Bargerhuﬀ, and C. Bash,

“Optimal periodic disturbance reduction for active noise cance-

lation,” J. of Sound and Vib., vol. 305, no. 1-2, pp. 22–33, Aug.

2007.

[4] B. Francis and W. Wonham, “The internal model principle of

control theory,” Automatica, vol. 12, no. 5, pp. 457–465, 1976.

[5] Q. Zhang and L. Brown, “Noise analysis of an algorithm for

uncertain frequency identiﬁcation,” IEEE Trans. Autom. Control,

vol. 51, no. 1, pp. 103–110, 2006.

[6] W. Kim, H. Kim, C. Chung, and M. Tomizuka, “Adaptive output

regulation for the rejection of a periodic disturbance with an

unknown frequency,” IEEE Trans. Control Syst. Technol., vol. 19,

no. 5, pp. 1296–1304, 2011.

[7] F. Ben-Amara, P. T. Kabamba, and a. G. Ulsoy, “Adaptive

sinusoidal disturbance rejection in linear discrete-time systems–

part I: Theory,” ASME J. Dyn. Syst., Meas., Control, vol. 121, no. 4,

pp. 648–654, 1999.

[8] Y. Kim, C. Kang, and M. Tomizuka, “Adaptive and optimal

rejection of non-repeatable disturbance in hard disk drives,” in

Proc. 2005 IEEE/ASME International Conf. on Advanced Intelligent

Mechatronics, vol. 1, 2005, pp. 1–6.

[9] Q. Jia and Z. Wang, “A new adaptive method for identiﬁcation

of multiple unknown disturbance frequencies in hdds,” IEEE

Trans. Magn., vol. 44, no. 11 Part 2, pp. 3746–3749, 2008.

[10] X. Chen and M. Tomizuka, “An indirect adaptive approach to

reject multiple narrow-band disturbances in hard disk drives,”

in Proc. 2010 IFAC Symp. on Mechatron. Syst., Sept. 13-15, 2010

Cambridge, Massachusetts, USA, 2010, pp. 44–49.

[11] L. Ljung, System Identiﬁcation: Theory for the User, 2nd ed.

Prentice Hall PTR, 1999.

[12] I. D. Landau, T.-B. Airimitoaie, A. C. Silva, and G. Buche, “An

active vibration control system as a benchmark on adaptive

regulation,” in 2013 European Control Conf., July 17-19 (to appear).

[13] S. Skogestad and I. Postlethwaite, Multivariable Feedback Control:

Analysis and Design, 2nd ed. Wiley Chichester, UK, 2005.

[14] P. Overschee, B. Moor, D. Hensher, J. Rose, W. Greene, K. Train,

W. Greene, E. Krause, J. Gere, and R. Hibbeler, Subspace Iden-

tiﬁcation for the Linear Systems: Theory–Implementation. Boston:

Kluwer AcademicPublishers, 1996.

[15] X. Chen and M. Tomizuka, “Selective model inversion and

adaptive disturbance observer for rejection of time-varying

vibrations on an active-suspension benchmark,” in European

Journal of Control (to appear).

[16] I.-D. Landau, A. C. Silva, T.-B. Airimitoaie, G. Buche, and

M. Noe, “Benchmark on adaptive regulation – rejection of

unknown/time-varying multiple narrow band disturbances,” in

European Journal Control, 2013 (to appear).