Citation
Adaptive pole placement for optical disk drives

Material Information

Title:
Adaptive pole placement for optical disk drives
Creator:
Reiff, Francis H
Place of Publication:
Denver, Colo.
Publisher:
University of Colorado Denver
Publication Date:
Language:
English
Physical Description:
viii, 87 leaves : ; 28 cm

Thesis/Dissertation Information

Degree:
Master's ( Master of Science)
Degree Grantor:
University of Colorado Denver
Degree Divisions:
Department of Electrical Engineering, CU Denver
Degree Disciplines:
Electrical Engineering
Committee Chair:
Radenkovic, Miloje S.
Committee Members:
Bialasiewicz, Jan T.
Sen, Pankaj K.

Subjects

Subjects / Keywords:
Servomechanisms ( lcsh )
Optical disks ( lcsh )
Data disk drives ( lcsh )
Data disk drives ( fast )
Optical disks ( fast )
Servomechanisms ( fast )
Genre:
bibliography ( marcgt )
theses ( marcgt )
non-fiction ( marcgt )

Notes

Bibliography:
Includes bibliographical references (leaf 87).
General Note:
Department of Electrical Engineering
Statement of Responsibility:
by Francis H. Reiff.

Record Information

Source Institution:
University of Colorado Denver
Holding Location:
Auraria Library
Rights Management:
All applicable rights reserved by the source institution and holding location.
Resource Identifier:
41471121 ( OCLC )
ocm41471121
Classification:
LD1190.E54 1998m .R45 ( lcc )

Full Text
Adaptive Pole Placement for Optical Disk Drives
by
Francis H. Reiff
B.A., University of Colorado, 1973
A thesis submitted to the
University of Colorado at Denver
in partial fulfillment
of the requirements for the degree of
Master of Science
Electrical Engineering
1998


This Thesis for the Master of Science
degree by
Francis H. Reiff
has been approved
by
Miioje S. Radenkovic
Jan T. Bialasiewicz


Reiff, Francis H. (M.S., Electrical Engineering)
Adaptive Pole Placement for Optical Disk Drives
Thesis directed by Associate Professor Miloje S. Radenkovic.
ABSTRACT
Optical disk drives present an opportunity to bring the results of adaptive control theory
into modem engineering practice. These drives have a plant uncertainty of 80% due to
manufacturing tolerances and temperature. As a result, the use of adaptive pole plac-
ment is an attractive alternative to factory adjustments and off-line calibrations.
Unfortunately, the error node is the only observable in optical disk drives. The system
output and the system reference are not available to the control system. Estimation of
the system compensator is not possible from the error node exclusively.
The system output due to a digitally generated calibration signal injected by the system
controller may be calculated and used by the parameter estimator. For optical disk
drives, the system output may be separated in the frequency domain into components
due to the reference and components due to the calibration signal. The components due
to the reference are filtered out of the error signal and the resultant signal is the negative
of the system output due to the calibration signal. This is possible in this application be-
cause the frequency components of the reference are known a priori although the am-
plitude of the reference is unknown.
Sensor noise may be used in place of the calibration signal if the sensor noise does not
contain significant energy at the reference frequencies and if there is sufficient noise to
provide persistent excitation to the estimator.
This abstract accurately represents the content of the candidates thesis. I recommend
its publication
Signed
Miloje S. Radenkovic
m


DEDICATION
To My Parents
Arthur M. and Ruth R. Reiff


ACKNOWLEDGEMENT
My thanks to Cirrus Logic Inc. for permission to use the contents of MOI98/0035,
Adaptive Pole Placement for Optical Disk Drive Systems, March 20,1998 (F. Reiff).


Contents
Chapter
1. Introduction.....................................................1
1.1 Purpose....................................................1
1.2 System Observability .....................................2
2. The Plant........................................................4
2.1 Continuous Time............................................4
2.2 Discrete Time..............................................6
3. Performance Requirements.........................................10
3.1 The Reference ............................................11
3.2 Minimum Open Loop Gain Requirements.......................13
3.3 Phase Margin..............................................15
3.4 Closed Loop Pole Locations ...............................18
4. Indirect Adaptive Pole Placement.................................19
4.1 Problem Formulation...................................... 20
4.2 Simulation Results........................................25
5. Direct Estimation of Compensator Polynomials ....................28
5.1 Problem Formulation.......................................29
5.2 Simulation Results........................................36
6. Output Observability............................................ 40
6.1 Problem Formulation...................................... 41
6.2 Simulation Results........................................48
6.3 Effect of Unmodelled Dynamics............................ 51
6.4 Effect of Control Effort Saturation.......................55
6.5 Effect of Sensor Noise.................................. 56
6.6 Use of Sensor Noise without Calibration Signal............63
7. Conclusions......................................................69
Appendix
A. Simulation File..................................................70
References..........................................................87
VI


Figures
Figure
Figure 2-1. Plant Model.....................................................5
Figure 2-2. Plant Nominal Frequency Response................................8
Figure 2-3. Plant Worst Case Frequency Response.............................9
Figure 3-1. Block Diagram of Disk Drive.....................................10
Figure 3-2. Maximum Reference Amplitudes....................................12
Figure 3-3. Minimum Gain Requirements for Disk Drive........................13
Figure 3-4. Target Open Loop Response, No Integrator........................16
Figure 5-1. Simplified Optical Disk Drive Servo.............................29
Figure 5-2. Block Diagram of Self Tuning Regulator for Optical Disk Drive...35
Figure 6-1. Optical Disk Drive Servo with Calibration Signal................41
Figure 6-2. Complete Adaptive Control System for Optical Disk Drive.........44
Figure 6-3. Notch Filter....................................................47
Figure 6-4. Plant with Secondary Resonance..................................52
Figure 6-5. Evolution of Parameter Estimates, LMS...........................59
Figure 6-6. Evolution of Error Signal, LMS..................................60
Figure 6-7. Evolution of Parameter Estimates, RLS...........................61
Figure 6-8. Error Signal, RLS...............................................62
Figure 6-9. Self Tuning Regulator for Optical Disk Drive using Sensor Noise.64
Figure 6-10. Evolution of Parameter Estimates, RLS, Sensor Noise Only........67
Figure 6-11. Error, RLS, Sensor Noise Only...................................68
Vll


Tables
Table
Table 1 Phase Budget...............................................10
Table 2 Indirect Pole Placement Results, LMS.......................16
Table 3 Direct Method with LMS Parameter Estimation..............23
Table 4 Direct Method with RLS Parameter Estimation..............24
Table 5 Direct Method, LMS, with Calibration Signal .............32
Table 6 Direct Method, RLS, with Calibration Signal .............33
Table 7 Direct Method, LMS, Unmodeled Dynamics.....................36
Table 8 Direct Method, RLS, Unmodeled Dynamics.....................37
Table 9 Direct Method, LMS, Sensor Noise ..........................40
Table 10 Direct Method, RLS, Sensor Noise..........................41
Table 11 Direct Method, LMS, No Calibration Signal.................48
Table 12 Direct Method, RLS, No Calibration Signal ................49
vm


1.
Introduction
1.1 Purpose
The purpose of this thesis is to develop an adaptive servo technique suitable for use in
the servo systems in optical disk drives such as CDROMs and DVDs. The motivation,
for using an adaptive algorithm in these drives is that the plant uncertainty can be as
much as +/- 80%. In addition, there are two servo loops in these drives: focus and track-
ing. Both loops have this plant uncertainty. The performance requirements for these-
loops are such that some form of calibration or adaptation is required. Typically a sim-
ple open loop crossover normalization is implemented. This will not allow for changes
in the plant between calibrations.
In the past, limitations on signal processing capacity prevented the use of automatic, on-
line, self tuning regulation techniques pioneered in [1], Chips used in the past were
fixed architecture PID type special purpose signal processors. The field is rapidly
evolving however, and at least one company (Cirrus Logic Inc.) has introduced a gen-
eral purpose signal processor for the servos. As a result, the adaptive techniques de-
scribed in this paper may be considered for use.
1


1.2 System Observability
There remains one significant obstacle to the use of on-line adaptation which is charac-
teristic of optical disk drives. Optical disk drives do not have access to the reference or
to the system output. The only observable is the error node. This is a difficult problem
since the techniques presented here depend on system identification, parameterized in
various ways. System identification from the error node as the only observable is im-
possible. An application specific solution to this problem is presented in this thesis. In
addition, the mathematics of self tuning regulation has been reformulated for this appli-
cation (i.e., no signal processing in the feedback path or filtering of the reference is al-
lowed or possible).
These techniques may be applied to either the tracking or focus loops since they are dy-
namically similar. It is the tracking loop, which is specifically analyzed and simulated.
Section 2 defines the tracking actuator plant and its uncertainties. Section 3 defines the
performance requirements for the system. Section 4 presents the indirect form of self
tuning regulation (STR). In this algorithm, the plant parameters are identified and the
compensator polynomials are calculated from the plant. Section 5 presents the direct
form of STR in which the parameters of the compensator are identified directly. Section
6 develops the solution to the observability problem. Section 7 presents the conclu-
sions. Appendix A contains the Matlab simulation programs used in this Thesis.
2


The notation and approach of [2] is used, except where noted.
3


2.
The Plant
2.1 Continuous Time
Since plant uncertainty is the reason for considering an adaptive algorithm, the details
of the plant and its uncertainties are presented in this section. In addition, it will turn out
that the plant has a lightly damped zero (discrete time) and this will prove important
later (section 5). A block diagram of the plant in control canonical form, is shown in
figure 2-1. The plant consists of a digital to analog converter (dac) a power amplifier (a
voltage to current converter), a dc motor, a position error sensor and an analog to digital
converter. The system is dominated by the low frequency poles of the dc motor and will
be modeled as a dc motor with additional gain terms due to the dac,sensor/adc and pow-
er amplifier. Phase losses due to the dac, adc and power amplifier will be dealt with as
a part of the phase margin budget discussed in the next section. In addition, there exists
a 16 dB. secondary resonance at 20 kHz. which will be discussed in more detail in sec-
tion 6. Until then, only the simple second order model, with uncertainties, will be con-
sidered.
4


Lh
1
Tracking Error, Meters. s, Sensor Gain, Bits/Meter Kdac, Dac Gain, Vo Its/Bit
Figure 2-1. Plant Model


Therefore, the plant transfer function is:
^ KdacKpaKsKt
Hp <5> = ----2 ------- 2-1
ms + CS + &1
where the nominal parameters are:
m = ,8e-3 Kilograms
kl = 60.0 Newtons/meter
c = .03 Newtons/meter/second
Kt = .2 Newtons/amp
Kpa= .4 Amps/volt
Kdac = 2.5/1024 Volts/bit
Ks = 1024/.74e-6 Bits/meter
The tolerance on all parameters is 20%, except for kt which is 60%. The kt tolerance
consists of two components; 40% is due to unit to unit variations and 20% is due to
temperature.
2.2 Discrete Time
This system is discretized with a zero order hold at 88.2 kHz. This sample rate was se-
lected because:
1. Avoids aliasing any secondary resonance below 44.1 kHz.
6


2. Reduces phase lag due to the zero order hold (see Table 1 in section 3).
3. As a practical matter, clocks at multiples of 44.1 kHz. are available.
The resultant nominal second order system z-domain transfer function is:
H
p
biz 1 + biz 2
1 + alz 1 +a2z
2-1
bl = 0.02171096996846
b2= 0.02170789323398
al =-1.99956528131633
a2 = 0.99957492030396
The sampled plant has a zero at -0.99985 and poles at .99978 +/- .003. The fact that the
plant has a zero at -.99985 will become significant later (section 5) when we will be
confronted with the zero cancellation option (as in [1] and [2]).
7


For reference, the nominal frequency response is shown in Fig 2-2 and the worst cases
are shown in Fig 2-3. Both include a zero order hold at the sampling frequency of 88.2
kHz. Note that the gain crossover frequency varies from ~1 kHz to ~4 kHz. The task of
the adaptive compensator is, therefore, to normalize the crossover frequency to a value
to be determined in the next chapter.
Figure 2-2. Plant Nominal Frequency Response
Plant Frequency Response, Meters In to Meters Out
8


Phase (deg) Mag (DB)
Figure 2-3. Plant Worst Case Frequency Response
Plant Frequency Response, Meters In to Meters Out
9


3.
Performance Requirements
As explained in the previous section, the gain crossover frequency must be normalized
by the adaptive controller to some value. In addition, the system must be stabilized to
some phase margin at this crossover frequency. In this section, the reference will be dis-
cribed and the reference tracking requirements will be defined. From this, the open loop
gain and crossover frequency will be derived and a phase margin budget established.
From this, the desired closed loop poles will be determined. Those poles will be used
throughout the remainder of this thesis. A simplified system block diagram is shown in
Fig. 3-1.
Figure 3-1. Block Diagram of Disk Drive
10


3.1
The Reference
The reference, Yref, for the tracking actuator may be approximated by a single frequen-
cy sinusoid at the spindle rotational rate ([4]). This sinusoid is due the mechanical cen-
tering error of the disk relative to the center of rotation. The magnitude of this sinusoid
is constrained to be <50e-6 meters. The rotational frequency in cdroms and dvds varies
from the inner diameter (ID) to the outer diameter (OD) in order to maintain a constant
linear velocity ([3]). For a DVD player, this velocity is 3.49 meters per second. We will
assume a ID velocity of 23 hz. Therefore the reference is:
In addition, the reference has higher frequency components. These components are
constrained to values such that the acceleration at that frequency is less than 1.1 meters/
sec/sec. Therefore we have:
Yref = Dsin (to/)
3-1
D = (50e-6) = MaximumDisplacement In Meters
3-2
Acceleration
1.1
D <
2
CO
2

3-3
11


Displacement, Microns
Using this relation the following graph (Figure 3-2) may be derived for the maximum
value of the reference signal at each frequency up to 1 kHz.
Figure 3-2. Maximum Reference Amplitudes
12


3.2
Minimum Open Loop Gain Requirements
The maximum allowable error at each frequency is .022 microns [4], From this we may
determine the minimum open loop gain requirements at each frequency. This is shown
in the Figure 3-3.
Figure 3-3. Minimum Gain Requirements for Disk Drive
1X DVD Tracking Minimum Gain Requirements
13


From the minimum gain requirements graph, it can be seen that the open loop crossover
must be > 1.1 kHz. We will set our open loop crossover goal at 3.0 kHz. This choice is
not the only possible choice. We are constrained by 1.1 kHz on the low side and the
secondary resonance (gain margin) and noise considerations on the high side. In addi-
tion, we must insure that the open loop gain curve is above that shown in Fig. 3-3.
14


3.3
Phase Margin
This leaves the phase margin budget to be established. Consider the following phase
budget:
Table 1 Phase Budget
Phase Loss Source Loss, Degrees, at 3 kHz. Comments
Actuator 180 No secondary Resonance
Zero Order Hold at 88.2 kHz. 6.1 co/ 360 ~2X~2^ t=l/88200 Secs.
Compute Lag 3.2 360 t=3e-6 Secs.
Power Amplifier 4.9 2 Real poles at 70 kHz.
ADC and DAC 3.4 2 Real Poles at 100 kHz
Total 197.6
15


We will target 40 degrees of phase margin as a goal. This will result in a system with
better overall performance for a given open loop crossover frequency [5]. Therefore,
for a target of 40 degrees of phase margin we need to add 57.6 degrees of phase in the
compensator. This is possible using a single lead compensator with a pole/zero ratio of
10.12. This leaves the dc gain to be adjusted to achieve a 3.0 kHz crossover. This was
done with the assistance of Matlab. The completed open loop frequency response is
shown below in Figure 3-4.
Figure 3-4. Target Open Loop Response, No Integrator
1X DVD Tracking Minimum Gain Requirements
16


Note that the resultant open loop frequency response meets the gain requirements for
frequencies >25 hz. but not below. Rather than increase the crossover frequency, an in-
tegrator may later be added.
17


3.4
Closed Loop Pole Locations
Since the open loop polynomial has been determined, the closed loop poles locations
may be determined for this system. This was done with the assistance of Matlab. The
resultant closed loop poles are:
0.8958
0.7678+ 0.1426i
0.7678-0.1426i
These poles will be our design target for the adaptive pole placement to be discussed
throughout the remainder of this thesis.
18


4.
Indirect Adaptive Pole Placement
In this section, the indirect adaptive pole placement technique is discussed. Indirect
adaptive pole placement is a two step proceedure:
1. Estimate the plant parameters.
2. Calculate the compensator polynomials based on the estimated plant.
The problem is formualted for optical disk drives and simulation results are presented.
19


4.1
Problem Formulation
Let the discrete time system be represented by:
Ayk = Buk 4-1
where A and B are polynomials in the forward shift operator q:
A = q + a-^q + ... + an 4-2
B = btf + b2q +---+bm 4-3
For later reference, the relative degree of the system is defined as:
d0 = n-m 4-4
For most of this document, n=2, m=l and dO = 1. When the system differs from this, it
will be noted.
In [1], a controller is placed in the feedback path and in the path of the reference prior
to the summing node. This is not possible for disk drives. Consequently we will use
the structure shown in figure 3-1 where the controller (S/R) is placed at the error node
and with no filtering of the reference or feedback path. It is emphasized that the track-
ing and focus loops do not have access to the Yref or to Y.
20


The closed loop input-output relation of this system is:
y = SB = SB
yr RA+SB A
* r m
We would like to place the closed loop poles of this system at Am, while leaving the
zeros alone. Therefore we need to find R and S such that:
RA+SB = A 4-6
m
this is the Diophantine equation which has a solution if and only if A and B have no
common factors. One way of solving this equation is:
M = E~lD 4-7
21


where E is the Sylvester matrix,
an 0 ... 0 K 0 ... 0
n-l a n ... 0 K-i b n ... 0
an-\ ... 0 K-i ... 0
al h
1 ai ... a n K
0 1 - an- 1 0 *0 - Vi
0 0
0 ... ^ 0 0 ... bx
0 0 ... 1 0 0 ... bQ
and where,
D =
Am
Am
2n 1
2n 2
Am j
Am0
4-9
R
R
n- 1
n 2
M =

4-10
22


Equation 4-7 may be used to design a compensator with the desired closed loop poles,
given the plant parameters. If the plant is uncertain, it may be estimated as follows.
For the a system defined by equation 4-1, the polynomials A and B may be estimated
as follows:
Let
0^ = jaj a2 ... an bQ bx ... = Actual Plant Parameters 4-11
A7
Oj a2 ...an #0 ft-[ ... bm
Estimated Plant Parameters 4-12
=
y>t-1 yk-2 yic-n Uk-dO Uk-dO-t
= Signal Vector 4-13
k k-i+Kksk
4-14
sk= yk~$ jt-iOjt-i = yk-h
4-15
Many different formulations of Kk exist. We will use the following two algorithms
LMS:
K(Jc) = ----------- Where 0 < y < 2 And (a>0) 4-16
a + <(>
23


RLS:
K(k) = p(k-1)<|>(}i + (|>'/j(£- 1)<|>) 1 4-17
where X is an exponential weighting factor such that data which is n samples old is
weighted by A,. All RLS simulations in this document use X = 0.99.
Note that these algorithms require the availability of the output of the system, y. Many
systems, including magnetic and optical disk drives do not have the output or the refer-
ence directly available while track following. Only the error node is available in such
systems. This problem will be addressed later. In the following example, it will be as-
sumed that the plant output is directly available.
24


4.2
Simulation Results
With the plant and its tolerances as defined in Section 2 and the target poles as defined
in section 3, a set of simulations was run in which kt (the force constant of the actuator)
was varied from +80% to -80% in five steps. For this set of simulations only LMS es-
timation was used. The pole locations at the conclusion of die simulations are shown in
Table 2 below:
25


Table 2 Indirect Pole Placement Results, LMS
Kt Poles Phase Margin Open Loop Crossover
kt = .36 .8876 .7766+1249i .7766-1249i 48.6 3021
kt = .28 .8917 7731+.1342i 7731-.1342i 48.6 3078
kt = .20 .8981 .7678+.1426i .7678-.1426i 48.8 3144
kt = .12 .8981 .7627+.14571 .7627-.1457i 49.0 3086
kt = .04 .8955 .7664+.1390i .7664-.1390i 48.9 3132
Target Poles .8958 .7678+.1426i .7978-.1426i 48.76 3144
Note that although the simulations were successful in pole placement, there are two
problems with this type of algorithm for this application. The first problem is that the
plant parameters must be estimated with four or five digits of precision in order to
accurately place the poles. The second problem is that a 4x4 matrix inversion is
required each time the compensator is updated. This places an additional computa-
tional burden on the processor which we would like to avoid.
26


Since it is possible to reparameterize the estimation equations such that the S and R
compensator coefficients may be directly estimated, we will not pursue this approach
in any greater detail. In the next section, the direct estimation of the S and R compen-
sator polynomials will be presented.
27


5.
Direct Estimation of Compensator Polynomials
Indirect adaptation has two disadvantages which make it difficult to use in some cases.
In the example above, the plant parameters for this application must be estimated to
several decimal places. In addition, the compensator coefficients must be calculated
from the estimated parameters. These two requirements place an additional computa-
tional burden on the servo processor which can be avoided by estimating the compen-
sator parameters directly. In this section, the problem is formulated for optical disk
drives and simulation results are presented.
28


5.1
Problem Formulation
Consider the system of fig 5-1.
Figure 5-1. Simplified Optical Disk Drive Servo
Yr + Compensator U Plant
S/R B/A
For this system,
Ay{t) = Bu(t)
5-1
As before, the desired system model is:
4^(0 = BmUW
5-2
29


The closed loop transfer function for the system of fig 5-1 is:
y_ SB Bm
v RA + SB Am
^ r m
Am = RA + SB 5-4
A^ (RA + SB)y = RAy + SBy
5-5
Using 5-1,
Ajr = B[Ru + Sy\
5-6
This equation is non-linear in B. To avoid this, we note that B may be factored as:
B= bQq + bl = B+B = q + bQ (For our example) 5-7
B+ =
^ 0J
5-8
B' = b0
5-9
30


To cancel the B+ factor in the numerator, we must construct the closed loop denomina-
tor as:
A = B+A 5-10
c m
B+A^ = B [Ru + Sy] 5-11
A^y = B [iJw + Sy] = Z>0 [i?w + Sy] 5-12
A^y = bQ [Ru + *S^y] = Ru + Sy 5-13
R = bQR = b0{\+r^q) 5-14
S = V = *0(so + si9r) 5-15
Equation 5-12 gives us a model from which we can estimate R and S, given u, y and
Am. Y must be filtered by Am. This will increase any noise present in Y. Therefore,
dividing equation 5-13 by Am,
R-ji- S-j- Ruf+ Syf
Am Am f
5-16
31


n
q
Since R,S, and Am are functions of q, we multiply by where n is the degree of
<1
Am. This gives:
y(k) =R
~Ju(k-d0)\ ~*(y(k-d0)'\
A.
+ S
= R Uj.(k-dQ) +$*yj.(k-d0) 5-17
Where the notation R represents R as a function of 1 /q, the unit delay operator, instead
of q the advance operator.
This may stated more compactly as,
y(k) = i(k-d0)& 5-18
where,
) = [/(*-4o) uf(k-dQ-l) yf(k-d0) ...yf(k-d0-F)\
QT = \r0rx ...rtsQsx ... ^
5-19
5-20
32


where,
l = deg (Am) -dQ
"/<*> u-f-
yf(k) y-f-
From 5-17 ,5-18 and 5-19 we can estimate R and S as follows. Let
G(*)r =
*o ^ -n fo
= Estimated Compensator Parameters
(k-d0) = \uf{k-dQ) ... uf{k-d^-l) yf(k-d0) ... yf(k-d0-t)\
0(*) = 0(*- 1) + (K(k))e (k)
e(k) =y(k)-(i(k-d0))Q(k-d0) =y(k)-y(k~d0)
We will use both LMS and RLS algorithms for K{k).
This system is shown below in figure 5-2.
5-21
5-22
5-23
5-24
5-25
5-26
5-27
33


Note that this technique requires that the zero be stable. In the case of our example, we
have a zero at .99. Although it is possible to cancel this zero, the resultant noise in the
control effort is undesirable. According to [2], no zeros will be cancelled if we treat dO
as a design parameter and let dO = n This is the procedure was followed in the below
example.
34


Figure 5-2. Block Diagram of Self Tuning Regulator for Optical Disk Drive
Kt


P, =
{I-KkVk)Pk_,
35


5.2
Simulation Results
The following example uses the plant parameters and design goals of the previous ex-
ample. As before d0 = 2, 1=1 and therefore,
(*) = [/(*-2) /(*-3) yf(k-2) yf(k-3)]
0=
r0 r\ SQ
5-2
Using the 1ms estimator, Table 3 shows the resultant closed loop pole locations.
36


Table 3 Direct Method with LMS Parameter Estimation
Kt Poles Phase Margin Open Loop Crossover
kt = .36 .9201 .7402+2578i .7402-25781 45.7 4227
kt = .28 .9146 .7646+.2133i .7646-.2133i 46.9 3651
kt = .20 .8998 .7973+.1513i .7973-.1513i 47.1 2984
kt = .12 .7905 8892+.0846i 8892-.0846i 45.4 2238
kt = .04 .8783 .9503+.1016i 9503-.1016i 30.5 1622
Target Poles .8958 7978 + .1426i .7978-.14261 48.76 3144
The poles were not placed correctly for the non-nominal cases for the 1ms parameter
estimator. In addition, it was found that the pole placement was highly sensitive to the
choice of gamma. As a result the simulations were repeated using the RLS estimation
rather the LMS. These results were much improved as shown Table 4 below.
37


Table 4 Direct Method with RLS Parameter Estimation
Kl Poles Phase Margin Open Loop Crossover
kt =.36 .8983 .8075+.1484i .8075-.1484i 46.47 2902
kt =.28 .8983 .8075+.1484i .8075-.1484i 46.47 2902
kt =.20 .8983 .8075+.1484i .8075-.1484i 46.47 2902
kt =.12 .8983 .8075+.1484i 8075-.1484i 46.47 2902
kt =.04 .8983 .8075+.1484i 8075-.1484 46.47 2902
Target Poles .8958 7978+.1426i 7978-.1426i 48.76 3144
The pole placement was consistent to within four decimal places but missed the target
poles such that the phase margin was in error by 2.29 degrees and the crossover was
incorrect by 242 Hz. For this application, errors of this magnitude are insignificant.
The important point is that the phase margins and crossovers have been normalized
38


across a + or 80% range of Kt.
In this example, it was assumed that the system output was directly measurable and
available to the parameter estimator. In optical disk drives such as CDROMs and
DVDs the output positions of the tracking motor and focus motors are unavailable.
This is the subject of the next section.
39


6.
Output Observability
The above example used explicit knowledge of the system output in order to estimate
the control parameters, R and S. Optical disk drives do not have the plant output or the
reference directly available. The only signal available to the controller is the signal at
the error node. In this section, the solution to this problem is presented. In addition, the
effects of unmodelled dynamics, control effort saturation and sensor noise are investi-
gated via simulation.
40


6.1
Problem Formulation
Consider the system shown in Figure 6-1, below.
Figure 6-1. Optical Disk Drive Servo with Calibration Signal
In figure 6-1, a calibration signal has been added. The component of y, due to the cali-
bration signal may now be calculated from e as follows.
e
eR + eN
6-1
y = yR +yN 6-2
e = R-y = R-yR-yN 6-3
eR = R-yR 6-4
41


Substituting 6-4 into 6-3,
e = eR-yN
6-5
Since the spectrum of the signal eR is known a priori, it may be filtered from equation
6-5, yielding,
e = -yN
6-6
42


Similarly, the control effort, u may be filtered into the component due to the calibration
signal and the components due to the reference. The components due to the reference
may be filtered out, leaving only the components due to the calibration signal, uN. The
complete block diagram is shown in fig. 6-2.
43


Figure 6-2. Complete Adaptive Control System for Optical Disk Drive
Calibration Signal
44


The estimator equations are formulated as follows.
y{k) = d>r(*-rf0)e
(k-d0) = \uf{k-dQ) ..
e
T
Uf(k-d0-l) yf(k-dQ) ... yf{k-d0-T)\
[vi -risosi 5/]
uf(k) =
UnW
A
m
B

?/<*>
-(*)
A
m
5
e(k) = j-e{k)
0(*)
T
n -nso
= Estimated Compensator Parameters
0(/t) = O(k-l) +K(k)e(k)
6-7
6-8
6-9
6-10
6-11
6-12
6-13
6-14
6-15
6-16
45


6-17
e (*) = ~en (*) bT (*)0 (*) = y (*) -y (k)
As before we will use both 1ms and rls algorithms for Kk.
y K(k) = --------f- Where 0 < y < 2 And (a>0) 6-18
a + <|> <|>
K(k) =p(ifc-l)i|i(X+iti,/>(t-l)i|))'1 6-19
The calibration signal must not contain frequencies which are present in the reference.
This allows us to filter out the reference signal energy from the inputs to the estimator.
A notch filter was designed in this case to remove the dominant reference frequency-
only. The frequency and phase response of this second order notch filter is shown be-
low.
46


Phase (deg) Mag (DB)
Figure 6-3. Notch Filter
Notch Frequency Response
Freq (Hz)
Freq (Hz)
47


6.2
Simulation Results
A series of simulations were conducted which were identical to those in section 5 ex-
cept for the additions discussed above. The calibration signal used was a square wave
with a frequency of 1500 hz. The resultant pole locations, phase margin and crossovers
are shown in the next two tables for the 1ms and rls algorithms.
48


Table 5 Direct Method, LMS, with Calibration Signal
Kt Poles Phase Margin Open Loop Crossover
kt = .36 .9319 .8634+.2032i .8634-.2032i 38.4 3042
kt = .28 .9143 .7973+.1767i 7973-.1767i 46.7 3114
kt = .20 .9087 .7395+.13881 .7395-.13881 51.23 3227
kt = .12 . 9113 .6920+.1285 .6920-.1285 53.9 3380
kt = .04 .9177 .6547+.0949i 6547-.0949i 55.6 3584
Target Poles .8958 .7678+.1426i .7978-.14261 48.76 3144
49


Table 6 Direct Method, RLS, with Calibration Signal
Kt Poles Phase Margin Open Loop Crossover
kt = .36 . 9168 .8075+.1825i 8075-.1825i 45.7 3099
kt = .28 .9166 8074+.1820i .8074-.18201 45.7 3097
kt = .20 .9165 .8074+.1818i .8074-.1818i 45.7 3096
kt = .12 .9166 .8074+.1823i 8074-.1823i 45.7 3097
kt = .04 .9166 .8074+.18211 8074-.1821i 45.7 3097
Target Poles .8958 .7678+.1426i .7978-.1426i 48.76 3144
50


6.3
Effect of Unmodelled Dynamics: Fourth Order Plant
In all of the preceeding discussion the plant was assumed to be second order. A typical
optical disk drive includes a ~20 dB secondary resonance at about 20 kHz. This was
added to the original 2nd order plant as a poles only model. The resultant fourth order
plant is shown in Figure 6-4 below.
51


Phase (deg) Mag (DB)
Figure 6-4. Plant with Secondary Resonance
Plant Frequency Response with Secondary Resonance, Bits in to Bits Out
Freq (Hz)
52


This plant was simulated exactly as before using both RLS and LMS estimations. The
results are shown in the below two tables (Table 7 and Table 8).
Table 7 Direct Method, LMS, Unmodeled Dynamics
Kt Poles Phase Margin Open Loop Crossover
kt = .36 0.9148 0.7097 0.5143 54.6 3615
kt = .28 0.7141 0.9068 0.6052 53.1 3393
kt = .20 0.9021 0.7170+.0987i 0.7170-.0987i 50.6 3219
kt = .12 0.9074 0.7832+.161H 0.7832-.1611i 46.3 3089
kt = .04 0.9274 0.8562+0.1995i 0.8562-0.1995i 38.3 3020
Target Poles .8958 .7978+.1426i 7978-.1426i 48.76 3144
53


Table 8 Direct Method, RLS, Unmodeled Dynamics
Kt Poles Phase Margin Open Loop Crossover
kt = .36 . 9058 .7971+1615i 7971-1615i 45.4 3015
kt = .28 .9056 .7970+.1612i .7970-.1612i 45.4 3015
kt = .20 .9056 .7970+.1611i .7970-.16111 45.4 3015
kt = .12 .9056 .7970+.1612i .7970-.1612i 45.4 3015
kt = .04 . 9056 .7970+.1612i 7970-.1612i 45.4 3015
Target Poles .8958 .7970+.1426i 7970-.1426i 48.76 3144
Again, the RLS parameter estimator placed poles with much greater consistency the
LMS estimator.
54


6.4
Effect of Control Effort Saturation
In a separate simulation, control effort saturation was added to the simulation. The pow-
er supply normally available is a 12 volt supply which drives a transconductance power
amplifier to convert to current. The current is routed through an H-Bridge such that the
current may be driven through the actuator in either direction. Consequently this satu-
ration effect was modeled as a + or -12 volt limit on the output of the dac. The results
of these simulations did not differ materially from the results reported above and will
not be reported on separately. Saturation of control effort was retained for the following
simulations, however.
55


6.5
Effect of Sensor Noise
Sensor noise is usually present in servo systems and optical disk drives are no excep-
tion. Consequently, ~30 dB peak signal to rms noise was added to the error node. The
noise was modeled as simple white noise. In reality, the noise is band limited, correlated
noise but an exact model was unavailable. The addition of sensor noise did affect the
results of the simulations and therefore they are reported as follows in Tables 9 and 10.
56


Table 9 Direct Method, LMS, Sensor Noise
Kt Poles Phase Margin Open Loop Crossover
kt = .36 0.4269 0.8682+.04811 0.8682-.0481i 53.7 3062
kt = .28 0.5666 0.8604+.0432i 0.8604-.0432i 51.5 2970
kt = .20 0.8762 0.7786+.096H 0.7786-.096H 47.6 2912
kt = .12 0.8996 0.8359+.1517i 0.8359-.1517i 42.9 2735
kt = .04 0.8970 0.8637+.1498i 0.8637-.1498i 40.3 2571
Target Poles .8958 .7978+.1426i 7978-.1426i 48.76 3144
57


Table 10 Direct Method, RLS, Sensor Noise.
Kt Poles Phase Margin Open Loop Crossover
kt = .36 .9072 .7910+.1619i 7910-.1619i 45.8 3048
kt = .28 .8974 .8011+.1482i .8011-.1482i 45.4 2935
kt = .20 . 9102 7986+170H .7986-.1701i 45.1 3056
kt = .12 .8547 .7902+.0718 .7902-.0718 47.4 2851
kt = .04 .6153 .9028+.0947 .9028-.0947 45.2 2429
Target Poles .8958 .7970+.1426i 7970-.1426i 48.76 3144
58


The evolution of parameter estimates and the tracking error signals are shown for both
lms and rls in figures 6-5, 6-6,6-7 and 6-8.
Figure 6-5. Evolution of Parameter Estimates, LMS
0 2000 4000 6000 8000 10000 12000 14000 16000
Samples
59


Error, Microns
Figure 6-6. Evolution of Error Signal, LMS
Error Signal, LMS Estimation
60


Figure 6-7. Evolution of Parameter Estimates, RLS
Evolution of Parameter Estimates, RLS
61


Error, Microns
Figure 6-8. Error Signal, RLS
Evolution of Error, RLS
Samples
62


6.6
Use of Sensor Noise without Calibration Signal
Since sensor noise is modeled as white noise, theory indicates that persistent excitation
is present and that the system will converge to the desired system without the presence
of a calibration signal. The resultant block diagram is shown in figure 6-9. This system
was simulated exactly as in the previous section but without the calibration signal added
to control effort. The results are shown in Tables 11 and 12. The evolution of parameter
estimates and the tracking error are shown in Figures 6-10 and 6-11.
63


Figure 6-9. Self Tuning Regulator for Optical Disk Drive using Sensor Noise
Sensor Noise

Cop^hsator U Plant
^ SIR B/A
Notch or
Band
Reject
Filter
At runout freq. and
any necessary harmonics
of the runout freq.
*o*
*= [R%RhSotsi[
C=3"t
e est
Kk =
Kk =
y %
a + '0
Pk-\k Pk

X + O 'kPk_^k
64


The following tables and graphs document the results.
Table 11 Direct Method, LMS, No Calibration Signal
Kt Poles Phase Margin Open Loop Crossover
kt = .36 .1781 .9029+.0637i .9029-.0637i 56.9 2586
kt = .28 .3144 .9180+.0730i .9180-.0730i 53.4 2239
kt = .20 .0822 .9368+.0665i .9368-.0665i 55.0 1853
kt = .12 .2412 .9194+.0664i .9194-.0664i 55.6 2208
kt = .04 .5707 .9123+.0721i .9123-.0721i 50.1 2194
Target Poles .8958 .7978+.1426i 7978-.1426i 48.76 3144
65


Table 12 Direct Method, RLS, No Calibration Signal
K1 Poles Phase Margin Open Loop Crossover
kt = .36 .5247 .9072+.07 60i .9072-.07 60i 50.2 2342
kt = .28 .8965 .7862+.1401i .7862-.1401i 46.5 2979
kt = .20 .7469 .9095+.0834i .9095-.08341 44.4 2080
kt = .12 .8965 .7900+.1382i .7900-.1382i 46.4 2946
kt = .04 .6679 .8912+.07321 .8912-.0732i 48.1 2412
Target Poles .8958 .7978+.1426i 7978-.1426i 48.76 3144
66


Figure 6-10. Evolution of Parameter Estimates, RLS, Sensor Noise Only
0.2
0.15
0.1
0.05
Evolution of Parameter Estimates, RLS, Sensor Noise Only
Estimation enabled at i=100Q
0 -
-0.05
-0.1
-0.15
-0.2
2000 4000 6000 8000 10000 12000 14000
Samples
16000
67


Error, Microns
Figure 6-11. Error, RLS, Sensor Noise Only
1
0.8
0.6
0.4
0.2
0
-0.2
0.4
-0.6
-0.8
-1
2000 4000 6000 8000 10000 12000 14000 16000
Samples
Tracking Error, RLS, Sensor Noise Only


/A f\ A, f/vA La., ..A A-A _t\J_
V| V \ / V V \J t v v v \) \J
r 1 r 1

68


7.
Conclusions
The plant uncertainty present in modem optical disk drives such as CDROMs and
DVDs present an opportunity to bring the advantages of adaptive control theory to
present day engineering practice. A major obstacle exists for optical disk drives how-
ever. Neither the servo system reference nor the system output is observable. Only the
error node is observable. An application specific technique which solves this problem
has been developed in this thesis.
Two variations on this technique were investigated. One used a calibration signal and
the other used sensor noise. In addition, both LMS and RLS parameter estimation algo-
rithms were simulated. The particular technique choosen depends on the sensor noise
present in the system, the accuracy of pole placement desired and the available compu-
tational power.
69


Appendix
A. Simulation File
An example Matlab simulation file is appended here.
% Thesis sim 5.
% Direct Estimation of Compensator Polynomials S and R
% using RLS. Output is calculated from filtered error.
% Includes unmodeled dynamics due to a secondary resonance at 25 kHz.
% Includes control effort saturation at + or -12 volts,
clear all;
fs = 88.2e3; % Sampling Frequency
tsd = 1/fs; % Sampling Time
% Actuator Parameters
m =,8e-3; % Actuator mass, kilograms
kl = 60.0; % Spring constant, Newtons/meter
c = .03; % Viscous damping, Newtons/meter/second
kt= .2; % Force constant, Newtons/Amp.
70


% Miscellaneous Parameters
kp =.4; % Power amplifier gain, amps/volt
kdac = 2.5/1024; % Dac gain, volts/bit
bpt =1024; % Bits/track
tpm = l/(.74e-6); % Tracks per meter
ks =tpm*bpt; % bits/meter
% Obtain and Plot the plant transfer function, bits in to bits out
bs = ks*kdac*kp*kt/m;
as = [1 c/m kl/m];
[b a] = c2dm(bs,as,tsd,zoh);
freqmin = 1; % Min freq = 1 Hz
freqmax = fs/2; points = 10000; % Max freq = Nyquist
freq=logspace(loglO(freqmin),loglO(freqmax), points);
[mag,phase,omega]=dbode(b,a,tsd,2*pi*freq);
db=20*log 10(mag+6E-3 8);
clf;hold off;subplot(212);semilogx(freq,phase);
71


xlabel(Freq (Hz));ylabel(Phase (deg));grid
hold on;subplot(21 l);semilogx(freq,db);
xlabel(Freq (Hz));ylabel(Mag (DB));grid;hold off;
title(Plant Frequency Response, Bits in to Bits Out);
pause
% Set R and S for the desired open loop characteristics
olcv = 2*pi*3000; % Target open loop crossover
alpha = 10.12A.5; % Target lead ratio
degain = ,35*alphaA2; % dc gain adjust to achieve olcv with this plant
pole = [1 olcv*alpha];
zero = degain* [1 olcv/alpha];
[S R] = c2dm(zero,pole,tsd,prewarp,olcv);
% Obtain and plot the Open Loop transfer function
[olnum olden] = series(S,R,b,a); % Form the open loop polynomial
freqmin = 1; % Min freq = 1 Hz
freqmax = fs/2; % Max freq = Nyquist
points = 10000;
72


freq=logspace(loglO(freqmin),loglO(freqmax),points);
[mag,phase,omega]=dbode(olnum,olden,tsd,2*pi*freq);
db=20*logl 0(mag+6E-38);
clf;hold off;subplot(212);semilogx(freq,phase);xlabel(Freq (Hz));
ylabel(Phase (deg));grid;hold on;subplot(211);semilogx(freq,db);
xlabel(Freq (Hz));ylabel(Mag (DB));grid;hold off
title(Open Loop Frequency Response)
% Obtain the Open Loop margins
[gm,pm,wcg,wcp] = margin(mag,phase,omega)
gm
pm
wcp = wcp/(2*pi)
% Determine the resultant closed loop system
% and plot the frequency response,
freqmin =1; % Min freq = 1 Hz
freqmax = fs/2; % Max freq = Nyquist
73


points = 10000;
freq=logspace(loglO(freqmin),loglO(freqmax),points);
[mag,phase,omega]=dbode(olnum,olnum+olden,tsd,2*pi*freq);
db=20*log 10(mag+6E-3 8);
elf;
semilogx(ffeq,db);hold on;grid on;
xlabel(Freq (Hz));ylabel(Mag (DB));
title(Closed Loop Frequency Response);
% Determine the appropriate closed loop polynomial
i= roots(olnum+olden)
Am = olnum+olden;
% Simulate closed loop operation
lambda = .99; % RLS only
time = 0.2; % Simulation Time
timex = [0:tsd:time]; % Define the time vector
dvdtdef % Define the reference, in meters.
% Design the notch filter
74


elf;
wnotch = (rps/fs)*2*pi; % Define the notch frequency
zl = exp(j* wnotch);
z2 = exp(-j*wnotch);
a =.999;
pi = a*exp(j* wnotch);
p2 = a*exp(-j*wnotch);
nt = poly([zl,z2]);
dt = poly([pl,p2]);
freq=logspace(logl O(freqmin),logl 0(freqmax),points);
[mag,phase,omega]=dbode(nt,dt,tsd,2*pi*freq);
db=20*log 10(mag+6E-3 8);
clf;hold off;subplot(212);semilogx(freq,phase);
xlabel(Freq (Hz));ylabel(Phase (deg));grid
hold on;subplot(21 l);semilogx(freq,db);
xlabel(Freq (Hz));ylabel(Mag (DB));grid;hold off
title(Notch Frequency Response)
75


pause
y_ref=tdef*ks;
tl = ones(l,length(y_ref)+l);
rO = R(l);
rl=R(2);
sO = S(l);
si = S(2);
yf = zeros(l,length(y_ref)+l);
uf = zeros(l,length(yjref)+l);
un = zeros( 1,1 ength(y_ref)+1);
u =zeros(l,length(y_ref)+l);
y =zeros(l,length(y_ref)+l);
en = zeros(l ,length(y_ref)+l);
e = zeros(l,length(y_ref)+l);
tl = ones(l,length(y_ref)+l);
theta_est=[tl;tl;tl;tl]; % Initialize the estimates to one.
sO_est= .12;
76


sl_est = -.ll;
rO_est = .05;
rl_est= -.03;
theta_est(l,:) = rOest;
theta_est(2,:) = rlest;
theta_est(3,:) = sOest;
theta_est(4,:) = slest;
p = eye(4); % rls only
K= [tl;tl;tl;tl];
% Add the secondary resonance at 25 kHz
% as a poles only model
res = 2*pi *20e3; % Resonant frequency
dres = [1 2*.05*res res*res];
nres =[0 0 res*res];
[bsl,asl]= series(bs,as,nres,dres);
[b a] = c2dm(bsl,asl,tsd,zoh);
77


freqmin = 1;
% Min freq = 1 Hz
freqmax = fs/2; % Max freq = Nyquist
points = 10000;
freq=logspace(loglO(freqmin),loglO(freqmax),points);
[mag, phase, omega]=dbode(b,a,tsd,2*pi*freq);
db=20*log 10(mag+6E-3 8);
clf;hold off;subplot(212);semilogx(freq,phase);
xlabel(Freq (Hz));ylabel(Phase (deg));grid
hold on;subplot(21 l);semilogx(freq,db);
xlabel(Freq (Hz));ylabel(Mag (DB));grid;hold off
title(cPlant Frequency Response with Secondary Resonance, Bits in to Bits Out)
pause
gamma = .03;
alpha = .1;
ktinc = .08;
kt = .44;
% Start kt at +80%
78


for 1=1:5
sOest = .12;
sl_est = -.11;
rOest = .05;
rl_est = -.03;
theta_est(l,:) = rOest;
theta_est(2,:) = rl_est;
theta_est(3,:) = sOest;
theta_est(4,:) = slest;
p = eye(4); % rls only
K = [tl;tl;tl;tl];
ktl = kt-(ktinc*l);
bs = ks*kdac*kp*ktl/m;
as = [1 c/mkl/m];
[bsl,asl]= series(bs,as,nres,dres);
[b a] = c2dm(bsl,asl,tsd,zoh);
b
79


a
% Create a sensor noise
% Peak Signal to RMS noise =~30 dB
% i.e., (,05e-6)*ks/3 0=2.3
% This is the least amount of noise expected
noise = 2.3*randn(l,length(y_ref));
% Create calibration signal
cal = 10*square(2*pi*1500*timex); % To be used for calibration case.
cal = 0*square(2*pi*1500*timex); % To be used for sensor noise only case
for k = 5:length(y_ref)-l
% Calculate y, note that B(l) = 0 due to d0=>l
y(k) =(b(2)*u(k-l))+(b(3)*u(k-2))+(b(4)*u(k-3))+(b(5)*u(k-4))-(a(2)*y(k-l))-
(a(3)*y(k-2))-(a(4)*y(k-3))-(a(5)*y(k-4;
% Calculate the error and add noise
e(k) = y_ref(k) y(k) + noise(k);
% Calculate the new control effort
u(k) = ((s0_est*e(k)) + (sl_est*e(k~l)) (rl_est*u(k-l)))/rO_est;
80


u(k) = u(k)+ cal(k);
% Saturate the control effort at + or -12.0 volts,
if u(k) >= (12/kdac) u(k) = 12/kdac; end
if u(k) <= (-12/kdac) u(k) = -12/kdac; end
% Notch Filter e(k) and u(k)
en(k) = (nt( 1) e(k))+(nt(2)*e(k-1 ))+(nt(3) e(k-2))-(dt(2) en(k-1)) -(dt(3)*en(k-2));
un(k) = (nt( 1 )*u(k))+(nt(2)*u(k-1 ))+(nt(3) *u(k-2))-(dt(2) *un(k-1)) -(dt(3)*un(k-2));
% Calculate uf and yf
uf(k) = un(k) (Am(2)*uf(k-1)) -(Am(3)*uf(k-2))- (Am(4)*uf(k-3));
yf(k) = -en(k) (Am(2)*yf(k-1)) -(Am(3)*yf(k-2))- (Am(4)*yf(k-3));
% Update the estimator
if k>1000
% Define the signal vector
phi = [uf(k-2) uf(k-3) yf(k-2) yf(k-3)];
%K(: ,k) = (gamma*phi)/(alpha+(phi *phi)); % 1ms
K(:,k) = p*phi*inv(lambda+(phi*p*phi)); % rls
p = ((eye(4)-(K(:,k)*phi))*p)/lambda; % rls
81


y_hat(k) = phi*(theta_est(:,k-l));
e_est(k) = -en(k)- y_hat(k); % Calculate the estimation error
theta_est(:,k) = theta_est(:,k-l) + (K(:,k)*e_est(k));
rOest = theta_est(l ,k); % Update the estimates for the next time
rl_est = theta_est(2,k); % and change names for readability
sOest = theta_est(3,k);
sl_est = theta_est(4,k);
end
if rO_est < .001
rO est =.001; % Avoid dividing by zero,
end
end %for
% Obtain and plot the Open Loop transfer function
SI = [sOest slest];
R1 = [rO_est rl_est];
[olnum olden] = series(Sl,Rl,b,a); % Form the open loop polynomial
direct(.,l) = roots(olnum+olden) % Obtain the roots of the closed loop system.
82


freqmin =1; % Min freq = 1 Hz
freqmax = fs/2; % Max freq = Nyquist
points = 10000;
freq=logspace(logl 0(freqmin),logl 0(freqmax),points);
[mag,phase,omega]=dbode(olnum,olden,tsd,2*pi*freq);
db=20*log 10(mag+6E-3 8);
clf;subplot(212);semilogx(freq,phase);
xlabel(Freq (Hz));ylabel(Phase (deg));grid
hold on;subplot(21 l);semilogx(freq,db);
xlabel(Freq (Hz));ylabel(Mag (DB));grid;
title(cOpen Loop Frequency Response)
hold on;
% Obtain the Open Loop margins
[gm(l),pm(l),wcg(l),wcp(l)] = margin(mag,phase,omega);
gm(l)
Pm(l)
83


wcpd(l) = wcp(l)/(2*pi);
wcp(l)
theta_save(:,l) = theta_est(:,length(theta_est)- ])
end
% Plot the output in microns
elf;
hold off;
plot((y* le6)/ks,g);
hold on;
plot((y_ref* 1 e6)/ks,r);
axis([0 length(y_ref) -70 70])
title(Direct Pole Placement)
ylabel(Output and Reference)
xlabel(Time, Samples)
grid on;
pause
% Plot the Error
84


hold off;
em = (e/ks)*le6;
std(em(l 000:8000)) % Display the average tracking error
title(Indirect Form Pole Placement Control, No Unmodeled dynamics)
ylabel(Error e(k), Microns,)
xlabel(Time, Samples)
grid on;
pause
% Plot the Control Effort u(k) in volts
plot(u*kdac);
title(Direct Form Adaptation Control Effort U(k))
ylabel(Volts);xlabel(Time, Samples)
pause
% Plot the Parameter Estimates
elf;
plot(theta_est(l,:),g);hold on;grid on;
plot(theta_est(2,:),r);
85


plot(theta_est(3,:), b );
plot(theta_est(4,:c);
title(Evolution of Parameter Estimates);
xlabel(Samples);axis([0 Iength(y_ref) -.2 .2]
86


References
[1] Astrom, K.J., and Wittenmark, B., Self tuning controllers based on pole place-
ment. Proc. Inst. Elec. Eng., PartD, vol. 127,pp. 120-130, May 1980
[2] Astrom, K.J., and Wittenmark, B., 1995. Adaptive Control. New York: Addison-
Wesley.
[3] Nakajima, H.,and Ogawa, H.,Compact Disc Technology Tokyo, Japan: Ohmsha,
Ltd..
[4] Reiff, F.,Adaptive pole placement for optical disk drive systems, 1998, MOI 98/
0035, Cirrus Logic Inc., (used by permission).
[5] Franklin, G.,Powell, J., Emami-Naeini, A.,Teedback Control of Dynamic Sys-
tems, 1994 New York, Addison-Wesley
87