15 November 2013
Digital Control of Repetitive Errors
in Disk Drive Systems
Presented by Corey Drechsler
as a part of the DSSC Servos and Channels Seminar Series
Kok Kia Chew and Masayoshi Tomizuka
The System
The plant is an 8 in. IBM hard drive, but is still
mechanically similar to modern hard drives.
8

in. IBM 62PC Hard Drive
VCM
Spindle
Motor
Disk
Head
~450mm
Spindle Speed: 3125 RPM
Track Density: 1200 TPI
The Problem :
Periodic Disturbances
Simple frequency response
techniques can be used for track
following, given constant or
slowly varying disturbances.
Periodic disturbances can be
large and more difficult to
eliminate.
Additionally, there are often many
harmonics of the signal present
Changing existing (analog)
controllers is undesirable.
Controller Layout
An add

on repetitive controller can reduce periodic
disturbances.
Computational Limits
A 16 MHz Intel 80386 CPU is used for all digital
processing (approximately 250 kFLOPS)
Spindle speed of 3125 RPM (52 Hz)
Up to 54 samples per track (356
µsec sample time
)
Limited to 89 operations at the highest sampling rate!
Higher sample rates allow more harmonics to be
removed, but allows less time for computation.
sample
operations
ond
s
revolution
revolution
samples
ond
operations
operations
speed
spindle
N
flops
in
speed
cpu
89
52
54
250000
_
_
_
_
sec
sec
The block diagram is redrawn from the perspective
of the repetitive controller.
The “system” is not just the analog controller and
the plant in series, but is the closed

loop response
from u
r
(k) to e
r
(k).
Reducing the magnitude of the output/error signal
e
r
(k) is the goal of the repetitive controller design.
Repetitive Controller Design:
Overview
Repetitive Controller Design:
System Identification
The system transfer function can be represented in
the following form:
where
The numerator B(z

1
) is then factored into two parts,
B
+
(z

1
) and B

(z

1
), which are the cancelable (stable)
and uncancelable parts of B
1
1
1
z
A
z
B
z
z
G
d
S
m
m
n
n
z
b
z
b
b
z
B
z
a
z
a
z
A
1
1
0
1
1
1
1
1
Repetitive Controller Design:
System Identification Example
For the test system, a least

squares identification
algorithm was used. At N=54 (sample time of 356
µsec), the function was estimated as:
In this case, there are no
unstable zeros, so B
+
= B
and B

= 1
2
1
1
3
1
7791
.
0
6054
.
1
1
0848
.
0
0972
.
0
z
z
z
z
z
G
S
1
0.5
0
0.5
1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
PoleZero Map
Real Axis
Imaginary Axis
Repetitive Controller Design:
Ideal Controller
The ideal repetitive controller is then:
A and B
+
cancel the stable portion of the system.
B

cancels only the phase of the unstable zeros,
while b cancels their magnitude.
k
r
sets the controller gain, but is limited to ensure
robust stability.
The z

N
/(1

z

N
) is the internal model of the disturbance
and cancels the fundamental frequency and all of the
un

aliased harmonics.
1
1
1
1
z
bB
z
z
B
z
A
z
k
z
G
N
d
N
r
C
0
,
max
2
0
2
j
r
e
B
b
k
Repetitive Controller Design:
Ideal Controller Example
The controller for the test system becomes:
where k
r
=b=1
4

3

2
1
54
54
1
z
0.0848

z
0.0972

z
0.7791
+
z
1.605

1
1
z
z
z
G
C
1.5
1
0.5
0
0.5
1
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
PoleZero Map
Real Axis
Imaginary Axis
20
0
20
40
60
80
100
Magnitude (dB)
10
0
10
1
10
2
10
3
180
0
180
360
540
720
Phase (deg)
Bode Diagram
Frequency (Hz)
Repetitive Controller Design:
Robust Controller
However, this system is only stable if the system
model is sufficiently accurate.
To ensure robust stability, a (typically low pass) filter
q(z

1
) is added to the controller, sacrificing high

frequency regulation for stability:
This typically does not hurt the tracking
performance, as higher harmonics of the
disturbance tend to be lower in magnitude.
1
1
1
1
1
1
z
bB
z
z
q
z
B
z
A
z
q
z
k
z
G
N
d
N
r
C
Repetitive Controller Design:
Stability
The system is provably stable if:
where A
a
and B
a
represent the actual system transfer
function
Note that if A = A
a
, B = B
a
(i.e. the model is perfect),
and 0 < k
r
< 2, the left

hand side is always less than
unity, and is therefore stable for any of the choices
of q investigated in the paper.
0
,
1
1
j
j
a
j
j
a
j
j
r
e
q
e
A
e
bB
e
B
e
B
e
A
k
Repetitive Controller Design:
Filter Selection
The figures below show the frequency response and
stability bounds for three different filters.
For the test system, q
2
is used, as it provides the
largest range of robustness, while not significantly
affecting the results.
10
0
10
1
10
2
10
3
10
8
6
4
2
0
Magnitude (dB)
Bode Diagram
Frequency (Hz)
q
1
=
1
q
2
= (
z
+
2
+
z

1
)/
4
q
3
= (
z
+
6
+
z

1
)/
8
Repetitive Controller Design:
Robust Controller Example
The robust controller becomes:
The high frequency poles
move away from the unit
circle, decreasing the gain
(and hence rejection) at
higher harmonics
1.5
1
0.5
0
0.5
1
1.5
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
PoleZero Map
Real Axis
Imaginary Axis
4

3

2

1

54
1
54
1
1
z
0.0848

z
0.0972

z
0.7791
+
z
1.605

1
4
2
1
4
2
z
z
z
z
z
z
z
G
C
Experimental Results:
Original vs. Repetitive Control
Experimental Results:
Varying Sample Rates
Conclusions
Discrete time repetitive control can significantly
reduce the effect of a periodic disturbance and its
harmonics.
This controller can be added to an existing control
system without the need to modify the original
controller.
Computational limits restrict how many harmonics
can be removed by the controller.
Modeling errors also restrict the amount of reduction
for high frequency harmonics.
References
T. Yamaguchi, Modeling and control of a disk file head

position system.
Proc. Instn. Mech. Engrs
., Vol 215, Part
I, 2001, pp. 549

568
K. Chew and M. Tomizuka, Digital control of repetitive
errors in disk drive systems.
IEEE Control Systems
Mag
., Vol 10, Issue 1, 1990, pp. 16

19
K. Chew and M. Tomizuka, Digital control of repetitive
errors in disk drive systems.
Proc. Amer. Cont. Conf.,
Vol 1, 1989, pp. 540

548
Comments 0
Log in to post a comment