High Sampling Rate Dynamic Inversion - Digital Signal Processing, Filter Realizations and Applications in Digital Control
High Sampling Rate Dynamic Inversion - Digital Signal Processing, Filter Realizations and Applications in Digital Control
Los Angeles
by
2012
c Copyright by
Herrick Lin Chang
2012
Abstract of the Dissertation
In the past few decades, computational power and speed has made it such that the Con-
trols literature has moved away from addressing issues of finite-word-length (FWL) is-
sues, quantization, and limited computational resources. On the other hand, the signal
processing community has studied this issue extensively [Mit04,PB87]. In recent years,
the introduction of Nano and Microelectromechanical systems (MEMS) with large
bandwidth systems requires the use of high-sampling rate controllers. To satisfy such
high sampling-rates, fixed-point based platforms such as Field Programmable Gate Ar-
rays (FPGAs) and fixed-point micro-controllers are needed. This trend results in a need
for high-sampling rate controllers that are more sophisticated than simple loop shaping
while addressing the issues of FWL effects and limited computational resources. The
aim of this dissertation is to introduce novel controllers that incorporate signal process-
ing techniques and address these issues with controller design/realizations to control
high bandwidth electro-mechanical systems.
ii
The dissertation of Herrick Lin Chang is approved.
Robert T. M’Closkey
James S. Gibson
iii
To my wife, for being infinitely patient and supportive.
iv
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.2 IIR-ZPETC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.1.3 ZPETC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
v
3.2.2 FPGA Implementation . . . . . . . . . . . . . . . . . . . . . . 33
vi
6.3 Example of Iterative Learning Control - Simulation vs. Experimental
Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
vii
List of Figures
2.9 Miyase’s time-reversed filter f − (z) with reduced delay on Kurosu’s fil-
ter (N = 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.10 P/I version of Kurosu’s filter with Miyase’s delay reduction (N = 2). . . 22
viii
4.5 Absolute value of impulse response of H1 (z): |h1 (k)| overlaid with 16-
bit and 32-bit quantization levels. . . . . . . . . . . . . . . . . . . . . . 48
4.10 Error Power Spectral Density (PSD) of Rotational Axis under regula-
tion at 0µrad. Comparison of lead, FF and proposed RC. . . . . . . . . 54
5.5 Reference tracking, error, and control signal for reference of 1kHz tri-
angular wave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
ix
5.7 Bode plots of F + (z) with coefficient quantization and different filter
realizations where F(z) is designed for an accurate filter inversion. . . . 69
5.8 Bode plots of F + (z) with coefficient quantization and different filter
realizations where F(z) is designed to also reduce quantization noise. . . 70
6.1 Error based on the middle 1000 sample points to establish equivalent
error as RC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
G
6.2 Plot of G−G a
vs. |Q2barely (z)|, where Q violates robustness condition, but
ILC error still converges. . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.5 Q1 slightly violates the sufficient stability condition and the ILC diverges. 74
G
6.6 Plot of G−G a
vs. |Q21 (z)|, where Q satisfies robustness condition. . . . . 75
6.7 RMS error convergence plot for ILC given different reference profiles. . 76
x
6.13 Comparison of error convergence using ILC for different Q-filters. . . . 85
xi
List of Tables
2.3 Delay and multiplier costs using P/I technique with Miyase’s delay re-
duction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1 Error RMS values, translation reference 244 micron peak-to-peak tri-
angle wave and with rotational regulation. . . . . . . . . . . . . . . . . 57
6.2 Comparing the simulated ILC (Sim. ILC), the Double-precision ILC
(ILC), the fixed-point Delta Operator RC (Delta RC), and the fixed-
point DFIIt RC (DFIIt RC) steady-state performance for tracking of a
triangular profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.3 Sim. ILC, Q1 (z) ILC, Q2 (z) Delta-RC steady-state performance for
tracking of a triangular profile. . . . . . . . . . . . . . . . . . . . . . . 84
xii
Acknowledgments
UCLA has served as my home for almost a decade where it has provided with invalu-
able engineering resources from both the Electrical Engineering and Mechanical Engi-
neering and Aerospace Department. Furthermore, I never would have made it without
the support of many key individuals.
First of all, I’d like to thank my advisor Professor Tsu-Chin “T-C” Tsao for being
an unbelievable source of guidance and inspiration academically. His willingness to
take a chance on me when I was an undergraduate is the main reason I continued my
graduate studies as a member of the Mechatronics and Controls Laboratory. His wealth
of knowledge, creativity and engineering intuition never ceases to amaze me. He is
without a doubt my academic role model in which I aspire to emulate.
I’d also like to thank Alan Willson, Jr. , Robert M’Closkey, and Steve Gibson for
being great committee members. To Professor Willson, I can’t express how thankful I
am for our discussion and being able to publish with you.
I need to thank my parents for instilling within me the necessity and the value of
education. They are responsible for teaching me the value and the rewards of a good
work ethic.
Lastly, I would like to thank my wife, Tina, for her unwavering support these past
years. She has been so understanding about all the late nights in the lab. She is my best
friend and the love of my life. Without her, I’m not sure where I would be today.
xiii
Vita
xiv
Publications
H. L. Chang and T.-C. Tsao, “Rep/etitive control of a levitated shaft - FPGA implemen-
tation based on Powell-Chau filters,” in Proceedings of the 2010 International Sympo-
sium on Flexible Automation, Jul. 2010.
Y. Wang, K. C. Chu, H. L. Chang, and T.-C. Tsao, “Laguerre based adaptive control of
piezoelectric actuator for nanopositioning,” in Proceedings of the 2010 Conference on
Decision and Control, Dec. 2010.
H. L. Chang and T.-C. Tsao, “High sampling rate dynamic inversion - filter realiza-
tion and applications in digital control,” IEEE/ASME Transactions on Mechatronics,
Accepted for Publication, 2012.
xv
CHAPTER 1
Introduction
1
ability, low level interface to sensor and actuator electronics, and inherent configura-
bility which allows for the customization and optimization for specific applications.
Furthermore, the algorithms on FPGAs can be ported to application-specific integrated
circuits (ASICs). The amount of resources used on an FPGA correlate to size and cost
of the layout of an ASIC.
FPGAs can be configured to emulate DSP cores where the FPGA reuses compu-
tational resources repeatedly in many clock cycles to complete computation but with
substantially reduced servo rates. However the attractiveness of a FPGA for control
applications, from a computational standpoint, stems from its parallel processing capa-
bilities. Examples of these applications are those that require high sampling rates, such
as in scanning probe microscopy, and multiple parallel loops, such as large channel
count micro actuator array control loops.
With high-speed fixed-point controllers, the issues of quantization errors and the
of number of multipliers become significant factors on the feasibility of implement-
ing and even stability of certain controllers. Finite-word-length (FWL) effects con-
tribute to quantization noise, and inaccurate pole/zero locations of your desired con-
trollers/filters [FPW97]. In digital control, large sampling rates with respect to a sys-
tem’s bandwidth will cause its discrete-time transfer function to have poles/zeros that
“migrate” towards the unit circle. This “migration” effect coupled with the FWL ef-
fects, only exacerbates the inaccuracy of the pole/zero locations and provides wildly
different frequency responses.
2
In this dissertation, we consider accurate inversion of non-minimum phase dynam-
ics with high order filters and their efficient realization. We use this for inversion based
feedforward tracking (FF) and repetitive controllers (RC) and realize them on a FPGA.
As a demonstrative example, we implemented these controllers to control a multi-input
multi-output (MIMO) system at a high sampling rate.
The proposed stable inversion compensator is based on linear phase real-time infi-
nite impulse response (IIR) filters first introduced by Powell & Chau [PC91]. Powell
& Chau’s realization involves L-length localized time reversals, overlap-add sectioned-
convolutions, and another time reversal. The result is a linear phase IIR filter with phase
equal to that of z−4L . The “Reset”, from [PC91], used to truncate the impulse response
introduces parasitic sinusoidal phase disturbances resulting in only an approximately
linear phase IIR filter. To solve the nonlinearity issue, Kurosu [KMT03] exploits the
fact that any finite impulse response (FIR) filter can be represented as the difference
of two IIR filters. He replaces the “Reset” with the difference of two IIR filters which
results in a perfectly linear phase FIR filter, using IIR realizations, without phase distor-
tions. For a long impulse response, a FIR filter realizing the same input-output relation
would require more multipliers and adders, up to one or two orders of magnitude, than
that of Kurosu’s modified Powell-Chau filter. In other words, our proposed filter struc-
ture is most efficient when impulse responses are long and/or when sampling rates are
high. In this dissertation, we show that with some modifications, Kurosu’s filter can
be used to efficiently invert non-minimum phase zeros (NMPZs). This filter is useful
for feedforward tracking control where a finite length of the desired output can be pre-
viewed [Tsa94, AT95]. Furthermore, it is also useful for inversion based discrete-time
repetitive control, where both linear phase and inversion filters have been employed in
the repetitive control loop to achieve asymptotic tracking and regulation subject to pe-
riodic disturbances [TT94, TQN00]. In Iterative Learning Control (ILC), similar time
reversal techniques for discrete and continuous time off-line inversion of nonlinear non-
minimum phase plants have been presented [MHN01, GP01]. This off-line technique
3
for ILC which was previously not applicable to real-time RC algorithms. Using tech-
niques from Kurosu’s filter, this dissertation will illustrate a real-time reversal technique
for RC.
Repetitive Control has been found to be useful in applications such as power elec-
tronics [ZW01] due to the periodic nature of the error signals. A version of RC uses
the Zero Phase Error Tracking Controller (ZPETC) [Tom87] to approximate a plant in-
version. ZPETC performs stable pole-zero cancelation and conjugates of the NMPZs.
Depending on the location of the NMPZs, ZPETC which may result in a large dynamic
range and become numerically unstable. In this dissertation we give a complete formu-
lation of a numerically stable and efficient linear phase inversion filtering based on our
preliminary work in [CT10a, CT10b]. We use the proposed inversion in feedforward
and repetitive control for electromechanical systems at high sampling rate, in which the
ZPETC based approach cannot be effective.
4
Delta Operator [MG86] can be used to ameliorate these effects with minor increase in
computational cost. Lastly, Chapter 6 contains experimental results of double-precision
ILC on the same piezoelectric actuator. In addition to seeing the performance of ILC,
it also serves as a equivalent of double-precision RC in which we can compare the
performance of the fixed-point results of Chapter 5.
5
CHAPTER 2
For many current applications, the computational speed and capability provided by
modern electronics exceeds real-time application requirements. A popular platform,
the field programmable gate array (FPGA), which has the ability to emulate digital
circuits yet remain programmable, can be in this position. One FPGA drawback is
its limited number of general purpose multipliers. Fortunately, multirate processing
can serve as a vehicle to permit more efficient (higher data rate) use of these limited
resources. We shall show how such multirate techniques can improve systems that
employ approximately-linear-phase infinite impulse response (IIR) Powell-Chau filters
and their variants. Using multirate processing, a few such modified Powell-Chau filter
examples demonstrate how to reduce the demand for excessively numerous general
purpose FPGA multipliers. In addition, it is shown that one of these structures can also
reduce the long real-time delay typically associated with Powell-Chau filters and their
variants.
Linear-phase filters have the valuable property that all frequencies pass through
the filter with equal time delays. Traditionally, linear-phase filters are created using
finite impulse response (FIR) filters whose filter-tap coefficent sequences exhibit special
symmetry [Vai93]. Usually, to obtain high quality FIR filters, a large number of taps
are required, which dictates many simultaneous multiplications. By contrast, IIR filters
can provide transfer functions H(z) with high quality magnitude characteristics while
using significantly fewer tap multipliers. They do not, however, possess the linear-
phase property. The Powell & Chau real-time linear-phase IIR filters [PC91] employ an
6
approach long known to be useful in “off-line” (non-real-time) digital filtering, wherein
data sequences are processed by a nonlinear-phase filter, multiple times, in a way that
results in overall linear-phase behavior. Often such off-line systems process a data
sequence, in both a forward and in a reverse direction–hence the traditional non-real-
time restriction.
The Powell & Chau linear-phase IIR realization employs length-L localized time
reversals, overlap-add sectioned-convolutions, and another set of time reversals, where
L is the length of the crucial last-in first-out (LIFO) elements. A typical choice of L
is the approximate length of the first part of the filter’s (infinite) impulse response h(n)
up to a point where the impulse response sample magnitudes reduce to signal quan-
tization levels. The combination produces a linear-phase IIR filter with phase (delay)
equal to that of z−4L . The “Reset” used to truncate the IIR impulse response results in
certain unwanted parasitic sinusoidal phase distortions; thus, yielding only an approxi-
mate linear-phase IIR filter. Others [WO94,DPL98,KMT03] have modified the transfer
function and/or the structure to obtain improved frequency responses. Kurosu [KMT03]
modifies and improves on Powell-Chau’s original structure such that the phase imper-
fections of Powell-Chau’s structure are eliminated. The modified filter is proven to have
no phase disturbances. Kurosu exploits the fact that any FIR filter can be represented as
a subtraction of two IIR filters. By combining that feature with the Powell-Chau filter, a
perfectly linear-phase filter can be obtained. The resulting filter has an FIR input-output
relation, but it requires three IIR filters, which could represent a reasonably high multi-
plier/adder hardware penalty when the impulse response is not very long. For feedback
control applications, Chang and Tsao [CT10a, CT10b] have observed that Kurosu’s
modified Powell-Chau filter could be used to approximate the frequency response of
unstable filters. They then use Kurosu’s filter to approximately invert non-minimum
phase zeros, thereby providing an improvement upon Kurosu’s exact linear-phase struc-
ture. The present chapter uses P/I multirate theory from [JW97, YW99] to reduce the
number of multipliers required to achieve the same input-output characteristics. Also,
7
using multirate theory, a structure is exhibited that can reduce the (long) 4L real-time
delay typically associated with the Powell-Chau filter. Such reductions in both the de-
lays and the number of multipliers are beneficial to real-time applications running on
platforms having limited resources such as filters implemented as ASICs or those using
FPGAs.
Even though both the Powell & Chau and the Kurosu filter use fewer multipliers
than an equivalent FIR filter, there are still opportunities to further reduce the number
of multipliers. From an implementation standpoint, the Kurosu filter has slightly more
multipliers, which is due to the presence of the HL (z) filter. Furthermore, the largest
hinderance for both structures is the 4L delay. This delay, can be undesirable in certain
applications such as control system designs or time-sensitive filtering [CT10a, CT10b]
while it may be acceptable in some other applications such as wireless communications
and image processing.
Fig. 2.4 shows that the same filter H(z) is employed three times, which may ap-
pear to be excessive. In principle, the multipliers can be reused through some data
management techniques thereby saving on the number of multipliers. However, the
implementation will vary from one case to another and the analysis of the intermediate
signals can be awkward and complicated.
Concerning the delay problem, if the impulse response of H(z) is long, the 4L delay
can pose serious problems for time sensitive signal processing such as that in feedback
controls [CT10a, CT10b]. We will now address both of these issues: systematically
reducing multiplier hardware and reducing real-time delay.
Definition 2.1.1. Let FIR filters be denoted with a lower-case letter (e.g. d(z)) and IIR
filters with a upper-case letter (e.g. D(z)).
8
Definition 2.1.2. Let d ⋆ (z) and D⋆ (z) be defined as the time-reversal filter
Notice that this is also the definition for the complex conjugate of the frequency re-
sponse when evaluated along the unit circle.
Linear phase filters are typically finite impulse response (FIR) filters with symmet-
ric taps (coefficients) [Mit04]. Given some FIR filter d(z), denote e(z) = d(z) × d ⋆ (z)
where d ⋆ (z) is the time reversal filter of d(z). The resulting e(z) will have linear phase
with magnitude response of |D(z)|2 [Tom87].
Definition 2.1.3. | · | is the magnitude of the transfer function evaluated along the unit
circle (i.e., the magnitude of filter frequency response).
e(z) is noncausal but can be made causal by cascading it with the delay element z−1 .
Notice that d ⋆ (z)’s zeros are mirrored images of d(z)’s zeros. Thus, stable linear phase
filters have mirrored pairs for both their poles and zeros. “Mirrored” in this context
is with respect to the unit circle. ZPETC uses this method of conjugating the NMPZ
along with inverting the stable portions of the plant. As for linear phase IIR filters, it
would mean their poles and zeros would have to come in mirrored pairs. Linear phase
IIR filters are typically not realizable since their conjugate poles are unstable (i.e. the
stable pole’s mirror image is an unstable pole outside the unit circle).
For finite-length sequences (and/or offline calculations) there are linear phase filter-
ing techniques known as forward-backward filtering [KJ74, Gus96]. Simply put:
• The output sequence is time-reversed and fed through the filter once again.
Powell & Chau [PC91] took the forward-backward filtering concept and produced an
approximately linear phase IIR filter in real-time. To keep the filter stable and to imple-
ment a finite-length time reversal, the impulse response of the desired filter is truncated
by a “Reset” seen in Fig. 2.1. Linear phase is achieved through the time reversals
of the L-length localized time reversals through the use of Last-In-First-Out (LIFO)
structures. L is the approximately the length of impulse response at which the impulse
response enters the quantization region. Let us denote the filter within the dotted line in
Fig. 2.1 as the time-reversal filter. The “time-reversal filter” performs a batch L-length
time reversal. Like the forward-backward filter, the “time-reversal filter” will cancel
out any phase lags/leads introduced by H(z). To truncate the impulse response of an
IIR filter, a “Reset” is used to clear the filter states of the previous L-length batch but
also introduces phase non-linearities. This makes the entire filter to be only approx-
imately linear phase. Fig. 2.2 shows a variant which is limit-cycle free [PC91]. The
input-output relation of both Fig. 2.1 and Fig. 2.2 can be approximated by
Y(z)
≈ |H(z)|2 · z−4L . (2.3)
R(z)
Notice that the H1 (z) and H2 (z) can be different to produce different frequency response
characteristics [DPL98, WO94]. For this dissertation, however, we assume that H1 (z)
and H2 (z) are equal (e.g. H1 (z) = H2 (z) = H(z)) and that they are causal filters.
10
H1 (z)
z−2L
x L Reset 2L L r y
LIFO + LIFO H2 (z)
L L
L L
H1 (z)
Reset 2L
H1 (z) H2 (z)
z−2L
x L Reset 2L L r L Reset 2L y
LIFO + LIFO +
L L L
L L
H1 (z) H2 (z)
Reset 2L Reset 2L
Fig. 2.4 illustrates Kurosu’s modified Powell-Chau filter. We also require that H(z) =
H1 (z) = H2 (z) and are causal. Kurosu [KMT03] replaces the “Reset” in the time-
reversal filter with a difference between H(z) and HL (z). Kurosu utilizes the fact that
that any FIR filter can be represented as the subtraction of two IIR filters. H(z) and
HL (z) are both IIR filters of same order, where HL (z) or [·]L is the truncated or unwanted
portion of the impulse response. H(z) can be described as
11
where
HL (z) = z−L · H(z) · zL (2.6)
+
Y(z)
= h⋆T (z) · hT (z)z−4L (2.10)
R(z)
= |hT (z)|2 z−4L . (2.11)
12
H L ( z)
hT ( z ) H ( z)
13
Top hT (z)
f −(z) = hT (z)z−4L
HL (z)
H(z) − HL (z)
z−2L
r L L + H(z) − y
LIFO LIFO
L
14
HL (z) hT (z)
L
H(z) −
Bottom hT (z)
To reduce the number of copies of H(z) that are required by Kurosu’s filter, a pipelin-
ing/interleaving (P/I) multirate technique [JW97, YW99], illustrated in Fig. 2.5, can be
employed. In Fig. 2.5 the x1 (n) and x2 (n) signals are two independent inputs into H(z)
while y1 (n) and y2 (n) are the outputs of H(z)z−1 with x1 (n) and x2 (n), respectively, as
inputs.
The Fig. 2.5 technique requires operating H(z) at twice the clock rate, using twice
as many delays (registers or memory), but using just one set of filter-tap multipliers, not
two. For VLSI and FPGA applications, the operation of these multipliers at a higher
frequency is typically not a challenge. The maximum sampling frequency that the
digital filter experiences is usually dictated by the analog-to-digital or digital-to-analog
converters and not by the maximum clock rate for the digital logic.
x1 y1 x1 y1
↑2 + H(z2 ) ↓2 z−1 H(z) z−1
x2
↑2 z−1 z−1 ↓2
y2 ⇐⇒ x2
H(z) z−1
y2
Kurosu’s Filter of Fig. 2.4 requires multiple copies of H(z) and HL (z). Applying the
P/I technique of Fig. 2.5 to the top and bottom H(z) and HL (z) of Fig. 2.4 produces
the dotted box in Fig. 2.6. The two instances of H(z) and HL (z) of f − (z) result in an
upsampling by two.
Notice however there are actually three instances of H(z) and HL (z) in Fig. 2.4, all
three of which can be handled by the P/I technique if we employ an upsampling by
three. (See, e.g., Fig. 4 of [JW97].) Fig. 2.7 shows a way to do this.
15
HL (z2 ) z−2L
x −
LIFO ↑2 H(z2 ) + ↓2 z−1 HL (z) z−L
z−2L
L 2L L − y
z−1 + LIFO r H(z) +
L
16
L
z−1 ↓2
↑3 z−2 z−2 ↓3
y
z−1 ↓3
H(z) HL (z)
The P/I multirate technique is useful for reducing multipliers for systems imple-
mented on platforms in which multipliers are used in parallel or used independently,
such as VLSI and FPGA implementations. This multirate structure serializes the gen-
eral purpose multipliers of the filters and reuses them at a rate higher than the analog-
to-digital and digital-to-analog sampling rate. Clearly, however, for applications on
serial processors such as Digital Signal Processors (DSP) and single-core computers,
the proposed technique brings no multiplier savings.
18
2.5 Real-time Delay Reduction
As mentioned earlier, one of the largest drawbacks of the Powell-Chau Filter or the
Kurosu filter is the large delay associated with the filter. This problem has been ad-
dressed by Miyase [MTT00]. However, the Miyase approach adds additional filters
(hence, more multipliers) to achieve the smaller delay. Typically, most filter designers
are not willing to pay such a price; general-purpose multipliers are expensive and/or
limited. By combining Miyase’s solution with the P/I technique, we will be able to
reduce the delay while using fewer multipliers.
Fig. 2.8 shows f − (z) with N = 2 (i.e., three H(z) filters). In the Powell-Chau and
Kurosu case where there are two H(z) filters (N = 1), we find that (2.12) yields the
expected 4L delay. For large enough N, the delay can be reduced to approximately 2L.
Let M = L/N, where L and N must be chosen such that M is an integer. L is still the
approximate length of the impulse response and N + 1 is the number of filters used in
the overlap technique in the time-reversed filter f − (z). As shown in Fig. 2.9, the result
of Fig. 2.8 can easily be extended to Kurosu’s Filter.
19
H(z)
M
Reset L
M
x z−2M r
LIFO LIFO
H(z)
M M + M
Reset L
M
z−2M
H(z)
M +
Reset L
M
Figure 2.8: Miyase’s time-reversed filter f − (z) with reduced delay (N = 2).
HL (z) z−L
−
H(z) +
M
M
HL (z) z−L
x z−2M r
LIFO − LIFO
H(z) +
M M + M
M
HL (z) −L
z
z−2M
−
H(z) +
M +
M
Figure 2.9: Miyase’s time-reversed filter f − (z) with reduced delay on Kurosu’s filter
(N = 2).
Notice that Miyase’s technique requires N + 1 copies of the same filter. The P/I mul-
tirate technique shown in Fig. 2.5 can reduce the redundant multipliers introduced by
Miyase’s delay reducing technique. This gives rise to a new technique, one that reduces
both the delay and the number of multipliers of Kurosu’s filter, assuming that the mul-
tipliers are able to perform at the higher sampling rate. The three H(z) and three HL (z)
20
Table 2.2: Delay and Multiplier Costs using Miyase’s Delay Reduction
N=1 4L 2m
N=2 3L 3m
2
N=3 3
L + 2L 4m
.. .. ..
. . .
2
N=n n
L + 2L (n + 1)m
.. .. ..
. . .
N = large ≈ 2L (N + 1)m
of just the time-reversed filter in Fig. 2.9 can be converted into H(z3 ) and HL (z3 ), re-
spectively, using the P/I technique. The resulting filter is seen in Fig. 2.10 where N = 2,
and where an upsampling of 3 is now employed.
The P/I Miyase technique of this section can easily be combined with the P/I multiplier
savings technique of Section 2.4. Given that the multipliers used are fast enough, delays
and multipliers can be reduced simultaneously. For example, combining the multiplier-
reduced Fig. 2.7 system and the delay-reduced Fig. 2.10 system, we obtain the Fig. 2.11
21
↓3 z−1
M
HL (z3 ) z−3L
z−2M r
x 3 − −2 LIFO
LIFO ↑3 H(z ) + z ↓3
+ M
M M
22
−1
z 3M
z−2M
z−2 z−1 ↓3
+
M
Figure 2.10: P/I version of Kurosu’s filter with Miyase’s delay reduction (N = 2).
Table 2.3: Delay and multiplier costs using P/I technique with Miyase’s delay reduc-
tion
N=1 4L 1m
N=2 3L 1m
2
N=3 3
L + 2L 1m
.. .. ..
. . .
2
N=n n
L + 2L 1m
.. .. ..
. . .
N = large ≈ 2L 1m
system. Three H(z) and three HL (z) filters are introduced by Miyase’s technique in
Fig. 2.9. A fourth H(z) and HL (z) comes from the rightmost dotted box of Fig. 2.4. The
four required H(z) and HL (z) blocks are obtained by the use of the single H(z4 ) block
in Fig. 2.11.
Applying the proposed multirate multiplier and delay reduction technique to a lowpass
filter example used by Powell & Chau and Kurosu will illustrate the benefits of the
proposed structure. The following example was implemented on, a Xilinx Virtex-5
LX50 FPGA, accessed via the National Instruments PCIe-7852R board and LabVIEW
graphical development tool. For this filter, the impulse response length is chosen to be
L = 500, where the sampling frequency is chosen to be 100 kHz.
23
↓4 z−1
M
HL (z4 ) z−4L
z−2M r
x − LIFO
LIFO ↑4 + H(z4 ) + z−3 ↓4
+ M
M M
−1 4M
z
z−2M
24
z−2 z−2 ↓4
+
M
↑4 z−3
y
z−1 ↓4
where
a0 = 0.1404000
b0 = 0.6832507
b1 = 0.6008522
c0 = 0.2868453
c1 = 0.4101568
d0 = 0.9175521
d1 = 0.7085589.
Table 2.4: Example illustrating comparison of Kurosu Filter with P/I multiplier and
delay reduced Kurosu Filter.
0
Magnitude (dB)
−50
f−(z)z+3999 , (N=1)
−100
f−(z)z+1009 , (N=100)
hT(z)
−150
0
10
1000
Phase(Degrees)
500
−500
−1000
0
10
Normalized Frequency (× π) (rad/s)
26
4L−1
3.8L
3.6L
3.2L
3.0L
2.8L
2.6L
2.4L
2.2L
2L−1
0 1 2 3
10 10 10 10
Upsample/Downsample Factor (N+1)
2.7 Conclusion
Both the Powell-Chau filter and the Kurosu filter bring about the advantages of linear-
phase IIR filtering. Although they are already computationally efficient, we have shown
how a reduction in multipliers can be achieved since many copies of the same filter are
employed in these structures. Using the proposed P/I multirate techniques, Kurosu’s
modified Powell-Chau filter can potentially reduce the number of required multipliers
to one-third the original amount. A single FPGA can benefit from a significant savings
of valuable computation resources which could then be used for additional filters or
other processes. In addition to multiplier savings, additional P/I techniques applied
to Miyase’s delay reduction structure helps to reduce the long (4L) delay that plagues
the Powell-Chau filter. Assuming sufficiently fast multipliers, the delay can be further
reduced down to virtually 2L by use of our new computationally efficient linear-phase
IIR filter with a delay less than that of Kurosu’s filter.
27
CHAPTER 3
For minimum phase systems, direct pole-zero cancelation is easiest. However for non-
minimum phase systems, the direct cancelation of NMPZs would result in an unstable
controller. The approximate inverse of NMPZs can be performed through a high-order
FIR filter through deconvolution or equalization. Long FIR filters are costly in terms
of number of multipliers and additions when compared to IIR filters [Mit04]. Reusing
FIR filters would significantly reduce the maximum servo rate. IIR filters can reduce the
number of multipliers/additions enabling faster sampling/servo frequencies but stability
becomes an issue. Our proposed inversion has the stability of an FIR filter with the
computational complexity of an IIR filter.
Given some stable (or closed-loop stabilized) linear time-invariant (LTI) system,
b+ (z)b− (z)
G(z) = z−d · (3.1)
a(z)
where a(z), b+ (z), b− (z), and d are the stable poles, stable zeroes, unstable zeros, and
relative order, respectively. Let the proposed inversion filter be F(z) = f − (z) · F + (z) as
illustrated in Fig. 3.1. Table 3.1 summarizes the different designs of the filter H(z) and
F + (z) for their corresponding overall transfer function F(z)G(z). To better understand
Table 3.1, some definitions are introduced.
28
Definition 3.1.1. Define deg(·) as the degree or order of the polynomial (i.e. number of
roots).
For this case, let F + (z) is the inversion of stable poles/zeros where
a(z)
F + (z) = M (3.3)
b+ (z)
By letting H(z) inside f −(z) be
1
H(z) = M (3.4)
b−⋆ (z)
approximate inversions of non-minimum phase zeros is possible. Since most physical
systems are bandlimited, M(z) can be chosen to be the reference model, which limit the
bandwidth of the inversion to avoid large gains at the high frequency regions. Similarly,
M ⋆ (z) needed such that the reference model is linear phase. For simplicity, we will
assume M(z) = M ⋆ (z) = 1. Ideally, a stable inversion is desired such that | f −(z)| ≈
1
b− (z)
. Using Fig. 2.4, Eqn. (2.8) and the above choice of H(z) results in
" #
1 1
hT (z) = −⋆ − −⋆ . (3.5)
b (z) b (z) L
Notice if L long enough, then
1
If H(z) = b−⋆ (z)
!⋆
⋆ −4L 1
H (z)z = z−4L (3.7)
b−⋆ (z)
1
= − z−4L . (3.8)
b (z)
29
Table 3.1: Choices of H(z) inside f − (z) filter and F + (z).
r − +
y
f (z) F (z) G(z)
F(z)
Figure 3.1: Realization of approximate NMPZ inversion.
Thus !
− 1 1
f (z) = − z−4L ≈ z−4L . (3.9)
b (z) T b− (z)
Recall f −(z) uses the Kurosu filter (Fig. 2.4) to realize an approximate inverse since
in a standard filter form it is unstable. Letting H(z) be the inverse of the mirrored
NMPZs will produce an approximate inversion. This means that as L → ∞, f −(z) ·
F + (z) → H −1 (z) · z−4L . In summary, Kurosu’s filter allows us to implement a Lth -
order FIR inversion filter for the NMPZs using only a few IIR filters. This results in
F(z)G(z) ≈ z−(4L+d) .
3.1.2 IIR-ZPETC
30
3.1.3 ZPETC
b− (z) a(z)
If H(z) = b− (1)2
and F + (z) = b+ (z)
, the resulting compensator is a delayed ZPETC
[Tom87]. Since b− (z) is a FIR filter, L = ρ then f −(z) = b−⋆ (z) · z−4L . Using Kurosu’s
|b− (z)|2 −(4L+d)
filter to implement ZPETC results in F(z)G(z) = b− (1)2
z . From a practical stand-
point, implementing the standard ZPETC would probably use less resources on an
|b− (z)|2 −(ρ+d)
FPGA and F(z)G(z) = b− (1)2
z . In principle, one could realize ZPETC with a
Powell-Chau/Kurosu filter. This implies that wherever ZPETC can be applied, that
IIR-ZPETC and the proposed inversion filter may be possible alternatives.
Comparing the proposed inversion filter against ZPETC and IIR-ZPETC, the pro-
posed filter has more control over the design of the reference model using M(z) and
M ⋆ (z). We expect in the inversion filter to perform better since f −(z) is the equivalent
of a Lth order FIR filter whereas the f − (z) in ZPETC is only of order b− (z).
Fig. 3.2 illustrates a simple RC structure where F(z) is a type of FF inversion of the
stabilized plant G(z). F(z) can be the proposed inversion, IIR-ZPETC, Kurosu im-
plementation ZPETC, or the classic ZPETC [Tom87, TTC89]. F(z) inverts the stable
poles/zeros cascaded with a linear phase complement of the NMPZs. N1 is adjusted
such that the non-causality, introduced by b−⋆ (z), is absorbed. Letting F(z) be the pro-
posed inversion, then FG ≈ z−N2 . To ensure stability, RC must satisfy
Notice that | · | is an abuse of notation and (3.10) is meant that the magnitudes are
less than one across all frequencies. Assuming F(z) is a nearly perfect inversion, the
31
nominal sensitivity function for RC for the lead-stabilized system is
1 − qz−(N1 +N2)
S RC = (3.11)
1 − qz−(N1 +N2 ) + FGqz−N1
where qzNq is approximately zero phase. To ensure performance of RC using any of the
FF inversion techniques from Section 3.1, N2 and N1 must satisfy
N2 = 4L + d (3.13)
N1 = N − N2 − Nq (3.14)
fs
N = . (3.15)
f
G − G G − Ga
a
z−N2 − FG ≈ FG = . (3.17)
G G
Using (3.10) and (3.17), a sufficient condition for stability with respect to q(z) is
G
|q| < (3.18)
G − Ga
The choice of q(z) then becomes a filter design problem with the constraint of the filter
being a linear phase FIR filter. Nq is the equivalent linear phase time delay produced by
q(z) (i.e. ∠q(z) = ∠z−Nq ). To obtain a linear phase LPF, a high order may be necessary.
32
For platforms such as a FPGA, this requires either more general purpose-multipliers or
reduction of the maximum sampling rate if these multipliers are reused. Fortunately,
the Kurosu filter implementation can resolve these issues. An example of this will be
shown in the next section.
b−⋆ (z)a(z)
Remark 3.2.1. Notice if F(z) = b− (1)2 b+ (z)
, a ZPETC from [TTC89], then N2 = ρ + d.
Remark 3.2.2. FPGA based digital repetitive control has recently been employed at
100KHz sampling rate for high-speed scanning of atomic force microscopes, where
only plant delay was compensated for realization, i.e. F(z) = 1, q(z) = a/z + b [KL12].
We are arguably the first to perform accurate inversion compensation by the very ef-
ficient filter realization, which substantially increases the stability margin and perfor-
mance in repetitive control.
z−N2 d
r + −N1
+ y
qz F G
−
In order to make full use of the FPGA’s parallel architecture we will be using com-
mon filter structures such as the Direct Form II Transposed (Fig. 3.3), [Mit04]. For
fixed-point FPGA implementations, it is advantageous to break up a filter into cascaded
second-order sections (SOS) X(z) such that
k−1
Y
F(z) = Xi (z) (3.19)
i=0
33
where
b0,i + b1,i z−1 + b2,i z−2
Xi (z) = (3.20)
1 + a1,i z−1 + a2,i z−2
and k is the number of second-order sections. Reduction to SOS is useful for minimiz-
ing quantization noise [Mit04].
Remark 3.2.3. These second-order sectioned filters are also known as biquadratic fil-
ters.
r y
+
b0,i
z−1
+
b1,i −a1,i
z−1
+
b2,i −a2,i
Iterative Learning Control (ILC) has been extremely popular among roboticists as a
form of control due to their nature of having repetitive movements. As such, ILC is
a control algorithm that learns from iteration to iteration of each completed path or
movement. In this context, an iteration is defined as the system be actuated given some
precalculated control signal. Since, the learning happens from iteration to iteration, the
feedforward control signal can be calculated offline using double precision computa-
tion. ILC is useful in that it is robust against model uncertainties and repeating distur-
34
bances. The goal of ILC is not to learn a inversion model but rather to find the correct
control input to obtain the desired output. [BTA06, ACM07] provide an extensive sur-
vey of the Iterative Learning Control literature. RC and ILC have some similarities.
RC can be considered the online version of ILC, as such, many robust stability crite-
rion derived in RC can be used in ILC as well. [WGI09] provides a broad framework
that links the relationship between ILC, RC, and Run-to-Run (R2R) control. Long-
man [Lon00] showed that if good transient conditions are satisfied, stability conditions
between linear ILC and linear RC are equivalent.
The system description and ILC formulation is based off of [BTA06]. Consider a stable,
discrete-time, single-input single-output, system
where the sequence g(0), g(1), . . . , is the impulse response and q−1 is the time-domain
shift operator in this context. Furthermore, its input-output time domain relationship
can be described as
y j (k) = G(q)u j (k) + d(k). (3.22)
Explicitly written, it is
y (0) g(0) 0 ··· 0 u j (0) d j (0)
j
y j (1) g(1)
= g(0) · · · 0 u j (1) d j (1)
+ (3.23)
.. .. .. .. .. .. ..
. . . . . . .
y j (N − 1) g(N − 1) g(N − 2) · · · g(0) u j (N − 1) d j (N − 1)
| {z } | {z } | {z } | {z }
yj G uj dj
where k is the time index, j is the iteration index, d is a repeating external disturbance.
y j is the output of the system G given some control input u j at iteration j. Additionally,
y j , u j , d are N × 1 vectors and G is a N × N matrix. Assuming that G(q) is a proper
rational function with relative order of 0. Notice that if the system is strictly proper
35
then it is possible to time-advance the system by its relative order to match this formu-
lation. It follows that G can be seen as a convolution matrix, or alternatively known
as the “lifted-system” framework in the ILC literature. For ILC, a common control
law [BTA06], is
u j+1 = Q(u j + Le j ). (3.24)
where, u, L, Q, and j are the control signal, inversion filter (in matrix form), zero-phase
low-pass-filter (in matrix form), and iteration number, respectively. Also, the learning
is based off learning from past errors
ej = r − yj
e (0) r(0) y (0)
j j
e j (1) r(1) y j (1)
= − (3.26)
.. .. ..
.
.
.
e j (N − 1) r(N − 1) y j (N − 1)
| {z } | {z } | {z }
ej r yj
Remark 3.3.2. Notice that G is lower triangular, indicating causality. However, Q and
L are not lower triangular, meaning that noncausal solutions are allowed since ILC is
an offline controller.
The problem of inverting nonminimum phase systems in the ILC literature have been
tackled through numerous techniques [AO94, CFR07, FLR05, MHN01, GP99, GP01,
Sog02]. In many of these techniques they involve noncausal solutions and allowing
the use of preactuation. One method by [MHN01] is closely related to the proposed
real-time inversion from Section 3.1. Recall, that Kurosu’s filter was used to provide
the forward-backward filtering [Gus96] for a real-time environment. Assuming that L,
also known as the “learning function” is an approximate inversion of G, similar to f − (z)
from Section 3.1.1, then it can be described as
L = I R F− I R F+ (3.27)
37
In its expanded form,
l(0) l(−1) · · · l(−(N − 1))
l(1) l(0) · · · l(−(N − 2))
.. .. .. ..
. . . .
l(N − 1) l(N − 2) · · · l(0)
| {z }
L
0 · · · 0 1 f −(0) 0 ··· 0
. .
.. ..
.. . .
1 0 f −(1) f −(0) . .
=
. . . .. .. ..
0 . . . . ..
. . . 0
(3.28)
1 0 · · · 0 f − (N − 1) f −(N − 2) −
· · · f (0)
| {z }| {z }
IR F−
0 · · · · · · 0
1 f +(0) f +(−1) ··· ···
0
.
.. . .. ..
.. 1 0 f +(1) f + (0) .
.
.
.. .. .. ..
× .. . . . . . . . . . .. ..
. . . . . .
. . .. .. .. ..
0 . . . . . . . . f + (−1)
+
1 0 ··· 0 f (N − 1) f +(N − 2) +
· · · f (0)
| {z }| {z }
IR F+
[Lon00] has established an equivalence between ILC and RC, then the following ro-
bustness from RC can also be used for ILC. The Q is a zero-phase LPF meant to ensure
robust stability from iteration to iteration. In the ILC framework, stability means that
38
the error converges from iteration to iteration. Q, is based off of the same Q(z) from
Section 3.2. In both ILC and RC, Q(z) and Q are commonly referred to as the “Q-
Filter” and will be used interchangeably with Q. Q, a n × n Toeplitz matrix, represents
a zero-phase LPF described as
q(0) q(−1) · · · q(−(N − 1))
q(1)
q(0) · · · q(−(N − 2))
.. .. .. ..
. . . .
q(N − 1) q(N − 2) ··· q(0)
| {z }
Q
0 · · · 0 1 q0 0 ··· 0 0 · · · 0 1 q0 0 ··· 0
. .. .. . . ..
.. . . . 1
0 q1 q0
..
. . . . 1
0 q1 q0
..
. .
= .. · ..
..
·
.. · ..
..
. . .. . . ..
0 . . . . 0 0 . . . .
. . . . . . . . 0
1 0 · · ·
0 qN−1 qN−2 · · · q0 1 0 · · · 0 qN−1 qN−2 · · · q0
| {z } | {z }
IR IR
(3.29)
where the sequence q0 , q1, q2 , . . . , qN−1 is the impulse response of a desired IIR low-pass
filter Q(z) for n time steps. Process of being filtered through Q is the same as using the
forward-backward filtering through Q(z), giving the filter zero-phase with magnitude
of |Q2 (z)|. Although there the one-sided z-transform is meant for signals of length
N = ∞, it has been shown that if (Q), and (L) are causal, frequency domain analysis
using Q(z) and L(z) for stability is valid for fixed-length ILC [NG02, AOR96, BTA06].
If Q and L are noncausal, time-delays can be added to compensate for the delays.
Impulse response truncation and lengthening of the reference are techniques previously
mentioned in the RC case (Section 3.2).
40
CHAPTER 4
For the purpose of demonstrating the proposed approach with the FPGA implementa-
tion, a Magnetic Moment MBC 500 levitated shaft system [40] was used as the plant for
a control experiment. The FPGA used is the National Instruments PXI-7833R FPGA
board, which carries a Virtex II 3M gate chip having 96 general purpose 18 × 18 mul-
tipliers. A 16-bit word length was used to represent both filter coefficients and signals
because this would produce the most efficient use of resources. Bit-shifting techniques
were used to avoid overflow/saturation. Through system identification and dynamic de-
coupling/transformations, the four-input four-output MIMO system is decoupled into
4 separate single-input single-output (SISO) systems [CWW10]. For simplicity, we
observe only the Y-axis translational and rotational systems since the X-axis is very
similar. The resulting transfer functions are
where the subscript 1 and 2 represents the translational and rotational axes, respectively.
41
20
Translation for Y
0
Magnitude (dB)
Model
−20
−40
−60
−80
1 2 3 4
10 10 10 10
200
Phase (Degrees)
−200
−400
−600
1 2 3 4
10 10 10 10
Frequency (Hz)
20
Rotation for Y
Magnitude (dB)
0 Model
−20
−40
−60
1 2 3 4
10 10 10 10
200
Phase (Degrees)
100
−100
−200
1 2 3 4
10 10 10 10
Frequency (Hz)
Fig. 4.1 and 4.2 shows the fit of the model compared to actual frequency response
42
data collected. Both rotational and translational plants exhibit similar pole/zero loca-
tions with an unstable pole and a non-minimum phase zero. The Y-axis and X-axis
have very little effect one another [CWW10], which justifies our analysis of only the
Y-axis. The Y-axis is kinematically decoupled into translational and rotational models
which are good for simple controllers. For the design of more complicated controllers
such as RC, coupling effects may still play a role in performance.
Equation (4.1) shows that the decoupled systems are unstable. A simple lead con-
troller with negative feedback is necessary to stabilize the closed-loop system. The
controller was designed to reduce low frequency sensitivity. Since both the rotational
and translational plants are similar, the stabilizing lead controller can be used for both
axes. The continuous-time controller designed is
3.0281(s + 430.7)
K(s) = (4.3)
(s + 1628)
43
20
1kHz
2kHz
5kHz
15 10kHz
50kHz
100kHz
Cont. Time
Magnitude (dB)
10
−5
0 1 2 3 4 5
10 10 10 10 10 10
Frequency (Hz)
3.0281(1 − 0.9957z−1)
K(z) = (4.4)
(1 − 0.9839z−1)
−0.020062z−1 (1 − 1.017z−1 )
G1 (z) =
(1 − 1.989z−1 + 0.9892z−2 ))
(4.5)
(1 − 0.9957z−1)(1 − 0.9863z−1 )
·
(1 − 1.975z−1 + 0.9751z−2 )
−0.017307z−1(1 − 1.026z−1)
G2 (z) =
(1 − 0.9957z−1)(1 − 0.9843z−1)
(4.6)
(1 − 0.9957z−1)(1 − 0.984z−1 )
·
(1 − 1.981z−1 + 0.9817z−2 )
G1 (z) and G2 (z) represents the discrete-time closed-loop translational plant and rota-
tional plant, respectively. From here we will assume that translational plant and rota-
tional plant are completely decoupled. For brevity, we will address only the transla-
tional plant since control design and issues for the rotational plant will be similar.
44
4.2 Repetitive Control with ZPETC
We first consider realizing the RC using ZPETC for plant inversion in the structure
from Fig. 3.2. ZPETC [Tom87] produces the following compensator
" # −⋆
1 b (z)a(z)z−2
F ZPETC (z) = − 2
b (1) b+ (z)
−1 −2
. (4.7)
5 (1 − 0.9836z )z a(z)
= 1.83 × 10 ·
b+ (z)
The Kurosu’s filter realization of the ZPETC introduces additional three sample delays.
Representing the gain of the ZPETC in (4.7) requires at least 18-bits. Additional bits
will be needed for the representation of the input signal. Fig. 4.4 gives an indication
of signal dynamic range, where ZPETC is about 120dB while the proposed inversion
is only about 40dB. Thus, ZPETC implementation would require significantly larger
word length than the 18-bits already required for the filter gain. The ZPETC can be
cascaded with a linear phase low-pass filter to lower the large gain at high frequencies
but would require too many multipliers and too much computation time to fit within the
desired sampling interval. As a result, ZPETC for this system cannot be implemented
under the 16-bit constraint.
45
140
Proposed Inversion
120 ZPETC
Trans. Plant
100
80
Magnitude (dB)
60
40
20
−20
−40
0 1 2 3 4 5
10 10 10 10 10 10
Frequency (Hz)
A FF controller using the inversion filter from (3.3) and (3.4) was created to track a
delayed reference by inverting the closed-loop stabilized plant G(z). In fact, the numer-
ator of (3.3) need not be a(z) and can be distributed into the numerator of (3.4) while
retaining the same F(z)G(z). More specifically, some of the poles of G(z), a(z), are
moved to mirrored zeros of H(z) to change the individual dynamic range of H(z) and
F + (z) in order to prevent internal overflow/saturation. H1 (z), H2 (z), F 1+ (z) and F 2+ (z)
were chosen to minimize L and adjust the dynamic range and coefficient range to fit
within a 16-bit framework. H1 (z) and H2 (z) are the transfer function inside of f1−(z) and
f2− (z), respectively. The 4L delay introduced by the inversion filter is absorbed into the
delay of the repetitive control loop. For the levitated shaft system, the designed filters
are
46
6.9641(1 − 2.011z−1 + 1.011z−2 )
H1 (z) = (4.8)
(1 − 0.9836z−1)
7.4348(1 − 2.018z−1 + 1.019z−2 )
H2 (z) = (4.9)
(1 − 0.9745z−1)
1.8521 × 10−6
H1,L (z) = (4.10)
(1 − 0.9836z−1)
2.7084 × 10−8
H2,L (z) = (4.11)
(1 − 0.9745z−1)
6.9641(1 − 1.975z−1 + 0.9751z−2)
F 1+ (z) = (4.12)
(1 − 0.9957z−1)(1 − 0.9863z−1)
7.4348(1 − 0.9957z−1)(1 − 0.9843z−1)
F 2+ (z) = (4.13)
(1 − 0.9957z−1)(1 − 0.984z−1 )
From Fig. 4.5, we chose L1 = 500 for H1 since it ensures that the impulse response
after 500 samples are well below a 16-bit quantization level. Notice that the first few
steps are large due to the NMPZs and the slow decay is associated with the pole. Since,
the translational and rotational plants are similar, H1 and H2 have similar impulse re-
sponses. Thus, L1 = L2 = 500 for H1 and H2 . When the gains in (4.10) and (4.11) are
realized, they are effectively zero since they are below the 16-bit fixed-point quantiza-
tion level. The inversion filter dynamic range indicated by Fig. 4.4 and the Kurosu filter
gains and coefficients in (4.8) to (4.13) suggest that it is feasible to realize it with the
FPGA 16-bit fixed-point arithmetics.
47
0
10
−2
10
Magnitude (logscale)
−4
10
16−bit quantization level
−6
10
−8
10
−12
10
0 500 1000 1500
Time Steps
Figure 4.5: Absolute value of impulse response of H1 (z): |h1 (k)| overlaid with 16-bit
and 32-bit quantization levels.
To ensure stability and robustness of the RC, a linear phase low-pass filter is often
chosen. A sharp gain drop-off enables the closed-loop system to achieve robustness
without sacrificing the closed loop bandwidth. Kurosu’s linear phase IIR filter (Fig. 2.4)
is the compromise between the two. It uses the computational complexity of an IIR
filter while retaining the linear phase of an FIR filter. This implementation is ideal for
the low-pass q-filter in RC.
Recall, that (3.18) is a sufficient condition for the RC to be robustly stable is by de-
signing a q(z) such that it is lower than the inverse of the multiplicative modeling error.
To realize the linear phase low-pass q-filter, an IIR filter Qbase (z) can be designed using
any traditional filter design techniques [Mit04] to obtain the desired magnitude charac-
teristic. After placing this filter in the Kurosu’s Filter from Section 2.3, the resulting
filter will become q(z) ≈ Q⋆base (z)Qbase (z) · z−4Lq . More specifically, use H(z) = Qbase (z)
inside Kurosu’s filter.
An IIR filter with corner frequency 1500Hz was designed to satisfy robustness as
48
shown in Fig. 4.6 where,
0.00041651(z + 1)2
Qbase (z) = (4.14)
(z2 − 1.941z + 0.9431)
q(z) ≈ Q⋆base (z)Qbase (z)z−4Lq . (4.15)
In Fig. 4.6, the actual closed loop discrete-time plant Ga in (3.18) is calculated from
the zero order hold equivalence of the open loop continuous-time plant data (Fig. 4.1
and 4.2) and the discrete-time lead compensator K(z). It should noted that besides the
fitting error of the model with respect to the frequency response, inaccuracies orig-
inate from the decoupling and linearization of the inherently nonlinear coupled sys-
tems. Consequently, the q-filter was designed with sufficient margins above 2.5kHz
(Fig. 4.6). Approximate impulse response length was chosen to be Lq = 200. This
means the equivalent FIR filter would require 200 multiplier taps. This also means
Nq = 4Lq = 800. Typically,
is a popular choice [TT94, HT98, RTH94, TSH08] since it is linear phase and can be
realized by shift registers instead of multipliers. A large drawback is its fixed roll-off
frequency. For systems requiring lower roll-off frequency, cascading multiple instances
of q121 (z) is possible. To obtain similar roll-off characteristics as |Qbase (z)|2 , it requires
close to 80 cascaded q121 filters. Another option is using MATLAB’s fdatool to gen-
erate linear phase filter using the least-squares method [PB87]. One result is 100th order
FIR filter qls (z). Fig. 4.7 compares the magnitude responses of different possible FIR
robustness filters. Observe that our Kurosu q-filter is realized by two 2nd order IIR
filters, that uses only 6 multipliers, which is a significant reduction in resources when
compared to high-order linear phase FIR filters.
49
100
50
Magnitude (dB)
0
−50
100
50
Magnitude (dB)
−50
Figure 4.6: Magnitude of q-filter vs. inverse of multiplicative modeling error for ro-
bust stability of translational and rotational systems.
−20
−40
Magnitude (dB)
−60
−80
|Qbase(z)|2
−100
q121 (z)
q121 (z)80
qls (z)
−120
1 2 3 4
10 10 10 10
Frequency (Hz)
50
4.4 Experimental Results - Levitated Shaft Example
The control experiment was performed using only 56 of the 96 general purpose 18 × 18
multipliers in parallel. Had we used the FIR implementation for f −(z), approximately a
500th order filter, we would have been forced to reuse multipliers and reduce the maxi-
mum servo rate to accommodate for the computation time. Representative experimental
results shown in Fig. 4.8, 4.9, 4.10, 4.11, 4.12 and 4.13 are discussed below.
Figs. 4.8, 4.9, 4.10 show tracking and error power spectral density (PSD) of a 50Hz
244µm peak-to-peak triangular wave, respectively. The lead controller for the transla-
tional axis attempts to track a periodic reference. However, the presence of the periodic
waveform on the rotational axis, which is only under regulation, infers that the lead
controller is unable to compensate for the coupling between the translational and rota-
tional axis. Furthermore, the “parabolic” shape seen in the translational output under
lead control can be attributed to magnetic nonlinearity and amplifier saturation. The
addition of our feedforward inversion provides better performance against the coupling
disturbances and nonlinearities than just only the lead controller. RCs were designed
for both translational and rotational systems. The translational RC is used for refer-
ence tracking and the rotational RC is meant for disturbance rejection. Capable of
compensating for Fourier harmonics, the two RCs effectively reduce the tracking errors
caused by linear dynamics and nonlinearities. The RMS error values for the lead-only
feedforward tracking control and RC are listed in Table 4.1 to better illustrate the per-
formance. Since the rotational movement is under regulation with RC, the error value
is also indicative of the noise level introduced by fixed-point quantization.
51
Translation
200
Positions (microns)
100
−100
−200
2.5 2.505 2.51 2.515 2.52 2.525 2.53 2.535 2.54 2.545 2.55
Time(secs)
Rotation
500
Angle (micro−radians)
RC
Reference
Lead Control
0 FF Inv Only
−500
2.5 2.505 2.51 2.515 2.52 2.525 2.53 2.535 2.54 2.545 2.55
Time(secs)
52
First Harmonic
100
Ref
50 RC
Magnitude (dB)
Lead
FF
0
−50
−100
0 10 20 30 40 50 60 70 80 90 100
Frequency (Hz)
Third Harmonic
100
50
Magnitude (dB)
−50
−100
100 110 120 130 140 150 160 170 180 190 200
Frequency (Hz)
Fifth Harmonic
100
50
Magnitude (dB)
−50
−100
200 210 220 230 240 250 260 270 280 290 300
Frequency (Hz)
Figure 4.9: Error Power Spectral Density (PSD) of Translational Axis - Tracking per-
formance of ±122µm 50Hz triangular wave. Comparison of lead, FF and
proposed RC.
53
First Harmonic
100
RC
50 Lead
Magnitude (dB)
FF
−50
−100
0 10 20 30 40 50 60 70 80 90 100
Frequency (Hz)
Third Harmonic
100
50
Magnitude (dB)
−50
−100
100 110 120 130 140 150 160 170 180 190 200
Frequency (Hz)
Fifth Harmonic
100
50
Magnitude (dB)
−50
−100
200 210 220 230 240 250 260 270 280 290 300
Frequency (Hz)
Figure 4.10: Error Power Spectral Density (PSD) of Rotational Axis under regulation
at 0µrad. Comparison of lead, FF and proposed RC.
54
Translation
50
Position (Microns)
0
−50
6.05 6.052 6.054 6.056 6.058 6.06 6.062 6.064 6.066 6.068 6.07
Time (secs)
Rotation
100
Angle (micro−radians)
Reference
50 Output
−50
−100
6.05 6.052 6.054 6.056 6.058 6.06 6.062 6.064 6.066 6.068 6.07
Time (secs)
Figure 4.11: Experimental Results - Tracking performance of 200Hz sine wave under
RC.
Translation
2
Position (microns)
−1
−2
0.8 0.801 0.802 0.803 0.804 0.805 0.806 0.807 0.808 0.809 0.81
Time (secs)
Rotation
Angle (micro−radians)
50 Lead
RC
−50
0.8 0.801 0.802 0.803 0.804 0.805 0.806 0.807 0.808 0.809 0.81
Time (secs)
Figure 4.12: Experimental Results - Disturbance Rejection of 1kHz sine wave on ro-
tation axis. Comparison of lead and proposed RC.
55
Error PSD − Disturbance Rejection of 1kHz Sine − Translation
Lead
−50 Rep w/ 1.5kHz Q−Filter
Gain(dB)
−100
−150
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Frequency (Hz)
Error PSD − Disturbance Rejection of 1kHz Sine − Rotation
−50
Gain(dB)
−100
−150
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Frequency (Hz)
Figure 4.13: Error PSD - Disturbance Rejection of 1kHz sine wave on translational
and rotation axis. Comparison of lead and proposed RC.
The significant errors in regulating the rotational axis in the lead control suggest
significant coupling between the two axes. The FF control improves the performance
somewhat even though Fig. 4.2 suggests that the modeling error is small below 1000Hz.
This is due to the axis coupling. RC is able to achieve substantially smaller error even
under the unmodeled coupling effect. Note, that ZPETC Repetitive Control is not com-
pared here because it is not implementable due to the hardware constraints of working
in a 16-bit framework. Fig. 4.11 shows the performance of tracking a 200Hz sine wave
in the translational axis and regulation in the rotational axis. In Figs. 4.12 and 4.13, a
1kHz sine wave disturbance is injected at the control input of the rotational axis, while
both the rotation and translation axes were under regulation, to demonstrate disturbance
rejection performance.
56
Table 4.1: Error RMS values, translation reference 244 micron peak-to-peak triangle
wave and with rotational regulation.
57
CHAPTER 5
A typical issue that plagues fixed-point realization of controllers is the issue of FWL
effects. Given some coefficient truncation, phase and magnitude characteristics can be
affected. The obvious fix of increasing the word length is often prohibitive in terms
of both limited resources and/or timing restrictions. Given these constraints, the typ-
ical solution is to use different filter realizations, such as Direct Form II transposed
(DFIIt), to ameliorate quantization noise and FWL effects [Mit04]. Quantization noise
becomes a lower bound to which an error control signal can achieve. With high sam-
pling rate, high performance, FWL controllers, the levels of quantization noise can
be substantial [CT10a]. The Delta Operator is a filter realization specifically used for
high sampling rates and to mitigate these FWL effects. Middleton and Goodwin first
introduced the Delta Operator and studied FWL with and without the Delta Opera-
tor [MG86]. The advances with the Delta Operator have brought about methods in
which the Delta Operator uses slightly more computational resources while providing
substantial robustness against FWL effects [KLH98, CC07]. This dissertation investi-
gates the performance benefit of using the Delta Operator filter form versus the DFIIt
filter form for the repetitive control of a piezo-electric actuator.
58
The Delta Operator is defined as
∆q−1
δ−1 = (5.1)
1 − q−1
where q−1 is the shift operator in the time-domain. The equivalent frequency domain
representation is
∆z−1
γ−1 = , (5.2)
1 − z−1
where ∆ is the sampling period [MG86]. The block-diagram filter realization for the
Delta Operator is shown in Fig. 5.1.
∆ z−1
+
Fig. 3.3 showed that a controller can be broken into series of second order transfer
functions/filters defined as
Figure 5.2 shows how the DFIIt structure is similar where the shift operator, z−1 , is
replaced by the Delta Operator, γ−1 . There exists a relationship between z-domain co-
efficients and γ-domain coefficients shown in Table 5.1 and 5.2. ∆ does not necessarily
59
have to be the sampling period since the ∆ values in γ−1 and coefficients βk , αk cancel
each other out [KLH98]. To save on multipliers, ∆ can be chosen to be a power of 2
which can be efficiently realized as simple bit shifts.
r y
+
β0,k
γ−1
+
β1,k −α1,k
γ−1
+
β2,k −α2,k
β0 β0 = b 0 α0 α0 = 1
b0 +b1 1+a1
β1 β1 = ∆ α1 α1 = ∆
Table 5.1: Delta Operator Coefficient Mapping of First Order Transfer Function
β0 β0 = b 0 α0 α0 = 1
2b0 +b1 2+a1
β1 β1 = ∆ α1 α1 = ∆
b0 +b1 +b2 1+a1 +a2
β2 β2 = ∆2
α2 α1 = ∆2
Table 5.2: Delta Operator Coefficient Mapping of Second Order Transfer Function
60
The Delta Operator can be viewed as the forward difference mapping of the unit cir-
cle, in the z-domain, and mapping it into a pseudo s-domain (continuous time) domain.
Results from [MG86] show that with sufficiently high-sampling rate, 12-bit Delta Op-
erator representation is capable of significantly lower quantization noise than a 12-bit
shift operator realization. In addition, for every delay in the DFIIt form, the Delta Op-
erator form uses one extra addition which is inexpensive compared to a multiplier. The
Delta Operator is attractive due to its potentially substantial decrease of quantization
noise comes at a slight increase in computational complexity [FPW97]. The use of the
Delta Operator seems to be a very useful in the cases of high-sampling rate control on
a FPGA as in Section 5.2.
The experimental example used for this dissertation is a piezoelectric cutting tool ac-
tuator designed for dynamic variable depth of cut machining [Lin08]. In addition to
being mechanically preloaded to reduce hysteresis, a discrete-time PI controller, C(z),
was added to prevent position drift of the open loop system, P(z), during regulation and
to reduce the magnitude of the resonant peak of the open-loop system.
The identified closed-loop system in Fig. 5.3, G(z) = CP/(1+CP), was excited with
a pseudo random binary sequence (PRBS) at 100kHz sampling rate.. The following
input-output relationship was obtained through Prediction Error Method (PEM) type
system identification techniques
61
−0.00020352(z − 7.577)(z − 0.8446)
G(z) =
(z − 0.9707)(z2 − 1.849z + 0.8812)
(5.6)
(z2 − 1.724z + 0.9237)(z2 − 3.222z + 3.559)
× 2 .
(z − 1.885z + 0.9829)(z2 − 1.214z + 0.8176)
0
Magnitude (dB)
−20
−40
−60
−80
−100
1 2 3 4
10 10 10 10
200
Phase (degrees)
100
Figure 5.4 illustrates a simple RC plug-in structure where F(z) and F(γ) is a type of
feedforward inversion of the closed-loop plant G(z) [WWZ05, TTC89]. Other varia-
tions of RC include the ZPETC repetitive control structure [Tom87, TTC89]. F(z) is
constructed through the methods of Section 3.1.1 with L = 50. The corresponding
62
controllers are
−4913.5972(1 − 0.9707z−1)
F + (z) =
(1 − 0.8446z−1)
(1 − 1.849z−1 + 0.8812z−2)(1 − 1.885z−1 + 0.9829z−2)(1 − 1.214z−1 + 0.8176z−2 )
×
(1 − 1.724z−1 + 0.9237z−2)
(5.7)
−1
H(z) = (5.8)
26.971 − 27.97z−1 + 10.8z−2 − z−3
−7.518e − 016 + 7.878e − 016z−1 − 9.089e − 017z−2
HL (z) = (5.9)
1 − 1.037z−1 + 0.4005z−2 − 0.03708z−3
For F(γ), techniques from [KLH98] were used to choose appropriate power-of-2 values
for ∆ for every SOS.
q(z) was chosen to be 0.25 + 0.5z−1 + 0.25z−2 with an equivalent phase delay of z−Nq
with Nq = 1. q(z) is a linear phase low pass filter where the coefficients are represented
as efficient bit shifts instead of multipliers. The q(z) in the repetitive controller serves
63
to help stabilize the system and can be seen as a frequency dependent learning gain
[TT94]. Given the choice of q(z) and L, then N2 = 4L + ρ + d = 200 + 3 + 1 = 204 and
N1 = N − N2 − Nq = 400 − 204 − 1 = 195.
z−N2
+
qz−N1 F u d
r e + y
C P
−
A Xilinx Virtex 5 based National Instruments FPGA PCIe-7852 was used to imple-
ment both, the DFIIt and Delta Operator, forms of a repetitive controller. All filter
(controller) coefficients were implemented using a 16-bit representation while signals
were represented with 32-bit to ameliorate overflow/saturation effects. A sampling rate
of 100kHz was used to track high frequency periodic references for both the DFIIt and
Delta Operator implementation.
Figures 5.5 and 5.6 compares the experimental results when tracking a 1kHz trian-
gular reference. The reference tracking plot in Fig. 5.5 shows adequate performance for
both the DFIIt and Delta Operator realization. The error signals in Fig. 5.5 show that
both filter forms approach their respective quantization noise floor. As seen in [CT10a],
quantization noise floor prevents the error from reaching absolute zero. As predicted,
the Delta Operator error is much lower than the DFIIt realization’s error. The control
signal, u, of Fig. 5.5 refers to only the contribution of the repetitive controller portion
(output of F(z)). We can see in the “control signal” that the signal is not purely periodic
but laced with quantization noise. Figure 5.6 shows the power spectral density (PSD)
64
of the error signal of the DFIIt and Delta operator realization. Quantization noise can
be seen in in both the DFIIt and Delta Operator across all frequencies bands but the
Delta Operator has much less.
Quantization noise is typically a function of both the filter (controller) and the ref-
erence signal. Table 5.3 lists the max error, |emax |, and RMS error, eRMS , for reference
signals with varying magnitudes and frequencies. In the Delta Operator realization, the
errors grow linearly with respect to the magnitude of the reference. However, this is
not the case in the DFIIt realization where the errors have become much larger than ex-
pected from the linear growth as the reference magnitude increases beyond some level.
At small magnitudes, such as regulation of 0µm reference, the eRMS of Delta and DFIIt
are comparable but |emax | of DFIIt is significantly larger. Overall, the general trend
shows that the errors |emax | and eRMS is almost always smaller in the Delta Operator
form than the DFIIt for this experiment.
65
Reference Tracking − 1kHz Triangle Wave
Ref
2
Delta
DFIIt
Microns
0
−2
−0.5
1.5385 1.539 1.5395 1.54
Time (seconds)
Control Signal
Delta
1
DFIIt
Volts
−1
Figure 5.5: Reference tracking, error, and control signal for reference of 1kHz trian-
gular wave.
66
Error PSD − 1kHz Triangle Wave − DFIIt
−50
Gain(dB)
−100
−150
−200
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Frequency (Hz) 4
x 10
Error PSD − 1kHz Triangle Wave − Delta
−50
Gain(dB)
−100
−150
−200
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Frequency (Hz) 4
x 10
Figure 5.6: Error PSD for reference tracking of 1kHz triangular wave.
Table 5.3: Repetitive Control Performance with Delta Operator and DFIIt.
67
The efficient NMPZ inversion and RC structure haved been improved through the
Delta Operator on a FPGA and established a still efficient repetitive control structure.
The experimental results for controlling a piezoelectric actuator show that the improve-
ment of Delta Operator over the DFIIt is significant. Since our FPGA realization does
not reuse the computation resources to serialize the digital signal processing during the
controller update, the sampling rate of the controller can be increased to near the FPGA
clock speed, 40MHz in our case, if it is called for in other applications. At such high
rate, it would be unlikely to realize high-order controllers, such as the inversion based
repetitive control, without exploiting the efficient digital signal processing techniques
discussed in this dissertation.
Fig. 5.7 demonstrates when the quantization noise is ignored, the Delta Operator
SOS , F(γ), and DFIIt filter realization, F(z), are pretty much the same. One thing to
note that with 16-bits there is warping of the frequency response at higher frequencies
of F(z).
68
150
Double Precision
Magnitude (dB)
16−bit Delta SOS
100 16−bit DFIIt SOS
50
0
1 2 3 4
10 10 10 10
600
Phase (Degrees)
400
200
0
1 2 3 4
10 10 10 10
Frequency (Hz)
Figure 5.7: Bode plots of F + (z) with coefficient quantization and different filter real-
izations where F(z) is designed for an accurate filter inversion.
Fig. 5.8 shows the results when some bits for F(z) and F(γ) are used to accommo-
date scaling gains to help reduce the effects of quantization noise. The DFIIt Realiza-
tion (F(z)) and the Delta Operator SOS (F(γ)) had the same scaling gains applied but
their frequency responses varies drastically. F(γ) seems to mimic the double-precision
version of F(z) the best.
69
150
Double Precision
Magnitude (dB)
16−bit Delta SOS
100 16−bit DFIIt SOS
50
0
1 2 3 4
10 10 10 10
600
Phase (Degrees)
400
200
0
1 2 3 4
10 10 10 10
Frequency (Hz)
Figure 5.8: Bode plots of F + (z) with coefficient quantization and different filter real-
izations where F(z) is designed to also reduce quantization noise.
Knowing that even for the best case, a 16-bit F(γ) or F(z) cannot perfectly invert the
high frequencies accurately. Previous chapters have already established that with cur-
rent hardware, double-precision repetitive control for the constraints of this experiment
is not possible. This begs the question of whether is an offline equivalent of repetitive
control that exists that can help serve as that performance benchmark. The next chapter
will address this offline equivalence.
70
CHAPTER 6
The same piezoelectric actuator, as described by (5.6) used in Section 5.2 is same the
one used for this chapter. The sampling rate still remains at 100kHz with a closed-loop
PI controller to ameliorate hysteresis effects. The ILC is performed on a Labview Re-
altime PC which transfers the desired profile to the National Instruments PCIe-7852
FPGA board to send the controller commands for every run of the experiment. The
control law used were based off of (3.24), (3.26), (3.27), and (3.29). This section
mainly serves to serve as a bench mark for the results of Section 5.2. Since we are un-
able to perform double-precision linear repetitive control due to hardware limitations,
double-precision linear ILC can serve as an equivalent measure as long as initial/final
conditions are well-behaved (as discussed in Section 3.3). For this chapter experimental
results from the DFIIt RC (Section 5.2), Delta Operator RC (Section 5.2), ILC experi-
mental ILC results, and ILC simulation results are gathered and compared.
To ensure that we are analyzing similar performance criterion between double pre-
cision ILC and fixed-point RC, the time-domain data used to calculate the error is im-
portant. In Fig. 6.1, illustrates what the RMS or max errors are based off of. The
reference signal contains approximately 50 periods of the reference triangular wave.
The beginning is zero-padded to allow for noncausal and pre-actuation solutions. The
end is also zero-padded to set the same initial and final conditions to ensure accurate
results if the forward-backward filtering technique is used to calculate these noncausal
solutions. The error is computed from the 1000 points located in the middle of 50 tri-
71
angular periods. We choose these points in order to produce ILC errors that can be
compared to the steady-state errors of the fixed-point RC results from Section 5.2.
−2
−4
0.145 0.15 0.155 0.16 0.165 0.17 0.175 0.18
Time (sec)
1000 Sample Points (Zoomed In of Above)
4
Position (µm)
−2
−4
0.16 0.161 0.162 0.163 0.164 0.165 0.166 0.167 0.168 0.169 0.17
Time (sec)
Figure 6.1: Error based on the middle 1000 sample points to establish equivalent error
as RC.
The robust stability condition mentioned in (3.18), is a sufficient condition for stability.
G
This means that for certain frequencies, it is possible that |Q2barely | > G−G a
and the ILC
converges. Fig. 6.4. Fig. 6.5 shows that |Qbad (z)| is only slightly greater than |Qbarely (z)|,
the error of the ILC diverges. This also implies a degree of “necessity” for this robust
stability condition for this specific example.
72
60
40
20
Magnitude (dB)
0
−20
−40
−60
−80 |1/W |
r
2
Q (z)
−100
1 2 3 4
10 10 10 10
Frequency (Hz)
G
Figure 6.2: Plot of G−G a vs. |Q2barely (z)|, where Q violates robustness condition, but
ILC error still converges.
0.0398
RMS Error (µm)
0.0316
0.0251
0 10 20 30 40 50 60 70 80 90 100
Iteration Number
Figure 6.3: Qbarely slightly violates robustness condition, ILC still converges.
73
60
40
20
Magnitude (dB)
0
−20
−40
−60
−80 G
| G−G |
a
|Q2bad(z)|
−100
1 2 3 4
10 10 10 10
Frequency (Hz)
G
Figure 6.4: Plot of G−G a vs. |Q2bad (z)|, where Q violates robustness condition and
then ILC error diverges.
1
0
10
RMS Error (µm)
−1
10
−2
10
0 5 10 15
Iteration Number
Figure 6.5: Q1 slightly violates the sufficient stability condition and the ILC diverges.
Unlike the RC, where the Q-Filter must be of minimal order to fit on the FPGA,
74
ILC does not have that restriction due to its off-line computation. Fig. 6.6 shows a 5th
order Butterworth low-pass Q-Filter, that satisfies (3.18), results in
4.2153 × 10−6 · (1 + z−1 )7
Q1 (z) =
(1 − 0.6763z−1)(1 − 1.39z−1 + 0.4977z−2 )
(6.1)
1
× .
(1 − 1.507z + 0.6232z )(1 − 1.714z−1 + 0.847z−2 )
−1 −2
Notice that |Q1 (z)|2 will dictate the frequency content the ILC will learn and track. As
a general rule of thumb, the ILC will not learn any frequencies past the bandwidth of
|Q1 (z)|2 .
a
60
40
20
Magnitude (dB)
−20
−40
−60
−80 G
| (G−Ga)
|
|Q21 (z)|
−100
1 2 3 4
10 10 10 10
Frequency (Hz)
G
Figure 6.6: Plot of G−G a vs. |Q21 (z)|, where Q satisfies robustness condition.
1
10
± 8.06 µm 1kHz Triangle Wave
± 4.19 µm 2kHz Triangle Wave
RMS Error (µm)
0
10
−1
10
0 1 2 3 4 5 6 7 8 9 10
Iteration Number
Figure 6.7: RMS error convergence plot for ILC given different reference profiles.
The example in the previous section showed that ILC converged in less than 5 steps.
This quick convergence implies that both the inversion and model of the system is fairly
accurate. With a fairly accurate model of the system and inversion, then it means that
simulation and experimental results should align fairly closely.
Fig. 6.8 compares simulation and experimental results on the piezoelectric actuator
example. The time domain plot shows nearly identical performance for reference track-
ing performance after the 10th iteration of learning. The power spectral density (PSD)
76
plot shows that harmonics are learning more or less equally well in both the simula-
tion and experimental case. The major difference is the broadband quantization noise
present in the experimental case from the fixed-point PI controller, analog-to-digital
convertor, and digital-to-analog converter.
ILC exp.
0
−5
−10
0.1 0.1001 0.1002 0.1003 0.1004 0.1005 0.1006 0.1007 0.1008 0.1009 0.101
Time (secs)
Error PSD
−100
Frequency (Hz)
−150
−200
Experiment
−250 Simulation
Figure 6.8: Comparing 10th iteration of ILC simulation and experimental results.
Time domain and error PSD results used to highlight minor differences
in simulation and experimental results.
Recall that Remark 3.3.4 mentioned that if Q = I and iteration j = 1, that the ILC
reduces to the offline double-precision FF case. Table 6.1 compares performance be-
tween Q = I and Q = Q1 (Q1 is based off Q1 (z)). Q1 (z) will ignore high frequency
content of your desired reference signal. On the other hand, Q1 (z) also serves to reject
model uncertainties at high frequencies.
77
Table 6.1: Comparing of performance between double-precision offline FF and first
iteration of the double-precision ILC.
It has been established in Section 3.3 that under certain conditions, ILC and repetitive
control are equivalent. This equivalence is useful in determining what type of perfor-
mance double-precision real-time repetitive control can achieve if there were no hard-
ware limitations. By using the double-precision ILC results, we can determine how
close the Delta Operator RC and DFIIt RC can get to double-precision ILC results.
Fig. 6.9 and 6.10 serves as an illustrative example of and the performance differences
between fixed-point controllers and double-precision floating point controllers. It is
interesting to note the performance gains from the Delta Operator realization over the
78
DFIIt realization. Furthermore, it also illustrates how close the fixed-point Delta Oper-
ator is to the floating-point double-precision ILC.
Table 6.2 lists the RMS errors (eRMS ), maximum absolute errors (|em ax|), and the
average of the ten largest absolute errors (|emax,10 |avg ) for multiple controller implemen-
tation. |emax,10 |avg is used to ensure that |emax | isn’t an outlier (e.g. spike from electronic
noise). The controllers being compared are the simulated ILC, double-precision exper-
imental ILC, fixed-point experimental Delta RC, and fixed-point experimental DFIIt
RC. All three cases were setup for reference tracking of a triangular wave with various
amplitudes and frequencies.
10
DFIIt RC
8 Delta RC
ILC
6 Ref
2
Position (µm)
−2
−4
−6
−8
−10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Time (sec) x 10
−3
79
50
DFIIt RC
Delta RC
ILC
0
−100
−150
−200
−250
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Frequency (Hz) x 10
4
Figure 6.10: Comparison of error PSD for double-precision ILC, fixed-point DFIIt
RC, and fixed-point Delta-RC given a ±8.06µm 1 kHz triangular refer-
ence.
−80
Delta Operator
ILC
−100
−120
−140
Gain (dB)
−160
−180
−200
−220
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Frequency (Hz) x 10
4
Figure 6.11: Comparison of error PSD for ILC and Delta RC.
80
Table 6.2: Comparing the simulated ILC (Sim. ILC), the Double-precision ILC (ILC), the fixed-point Delta Operator RC (Delta RC),
and the fixed-point DFIIt RC (DFIIt RC) steady-state performance for tracking of a triangular profile.
±1.01µm 0.0009 0.0375 0.0367 0.0989 0.0040 0.1540 0.2014 2.2609 0.0040 0.1148 0.1872 2.1400
1kHz
±2.01µm 0.0018 0.0480 0.0589 0.3259 0.0081 0.1972 0.3172 3.2025 0.0081 0.1727 0.2980 3.1233
±4.03µm 0.0037 0.0757 0.1087 2.4832 0.0161 0.3339 0.5338 7.6437 0.0161 0.3105 0.5223 7.3192
±8.06µm 0.0074 0.1375 0.2190 4.5914 0.0323 0.5923 0.9869 11.0728 0.0323 0.5689 0.9723 10.6911
±0.52µm 0.0013 0.0395 0.0596 0.0869 0.0044 0.1373 0.1964 2.1350 0.0044 0.1199 0.1872 2.0247
±1.04µm 0.0026 0.0909 0.1105 0.2235 0.0088 0.1890 0.2870 3.1068 0.0088 0.1720 0.2806 2.8102
2kHz
±2.09µm 0.0053 0.0515 0.2164 1.7736 0.0176 0.3527 0.4985 6.4806 0.0176 0.3353 0.4820 6.2041
±4.19µm 0.0106 0.1702 0.4260 3.0222 0.0353 0.6550 0.8812 8.7616 0.0353 0.6092 0.8652 8.4407
Table 6.2 and Fig. 6.11 show that for small reference magnitudes that the ILC noise
floor is actually larger than the Delta Operator RC noise floor. Notice that three types of
errors are given to give a complete picture. The simulation-based ILC (Sim. ILC) rep-
resents the best case when the model is assumed perfect with no external disturbances
present (i.e. error stems only from the ILC). Under larger magnitudes, the experimen-
tal results of ILC have smaller error due to the smaller quantization noise of double-
precision computation. However, it appears under certain conditions, fixed-point filters
under the Delta Operator and DFIIt formulation of RC actually reduce noise at high
frequencies. Recall, the LPF q-filter and Q used in RC and ILC, respectively. Since
the RC was implemented in fixed-point, at a certain magnitude attenuation, any high
frequency content in the error signals will enter the quantization floor and will not be
amplified by inversion filter f −(z). However for ILC, the quantization floor is signif-
icantly lower and thus high frequency content can still be amplified by the inversion
filter (“learning function”) L.
Since, the Q-filter in ILC is implemented offline, filter order and the introduction of
phase distortion is not an issue since zero-phase techniques are available (e.g. Chapter
2). We can freely design aggressive filter gains without considering phase in order to
maximize performance. Instead of the typical LPF, we can use arbitrary magnitudes
to get as close to the robustness criterion (3.18) without violating it. Fig. 6.12 shows
an aggressive Q-filter, Q2 (z), was designed as a Chebyshev 1 LPF cascaded with a
Chebyshev 2 notch filter resulting in
82
!
0.1913 − 0.02634z−1 + 0.2526z−2 − 0.02634z−3 + 0.1913z−4
Q2 (z) =
1 − 1.301z−1 + 1.132z−2 − 0.3415z−3 + 0.09317z−4
!
0.7199 − 3.7641z−1 + 8.7202z−2 − 11.3400z−3 + 8.7202z−4 − 3.7641z−5 + 0.7199z−6
×
1.0000 − 4.6715z−1 + 9.6639z−2 − 11.2295z−3 + 7.7132z−4 − 2.9668z−5 + 0.5030z−6
(6.2)
In addition to tracking the bandwidth of Q1 (z), Q2 (z) now has the added advantage
of tracking frequencies in the 10-11kHz range. Table 6.3 shows how Q1 (z) and Q2 (z)
affects the errors differently given various frequencies and amplitudes. Fig. 6.13 com-
pares the performance differences when Q1 (z) or Q2 (z) is used. For triangular waves,
typically the 1 st , 3rd and 5th harmonics are the dominant frequency components. For a
1kHz triangular wave, Q1 (z) and Q2 (z) pass the 1, 3 and 5 kHz harmonics which ex-
plains the minor improvement for Q2 (z). For the 2kHz triangular wave, Q1 (z) passes the
2kHz and parts of the 6kHz frequency but Q2 (z) passes the 2, 6, and 10kHz frequencies.
This explains the substantial error reduction for the 2kHz triangular wave. Similarly,
the 3.5kHz triangular wave also sees an error reduction since Q1 (z) passes only the
3.5kHz frequency and Q2 (z) passes the 3.5 and 10.5kHz frequency components.
a
60
40
20
Magnitude (dB)
−20
−40
−60
−80 G
| (G−Ga)
|
|Q22 (z)|
−100
1 2 3 4
10 10 10 10
Frequency (Hz)
G
Figure 6.12: Plot of | G−G a
| vs. |Q22 (z)|, where Q satisfies robustness condition.
83
Table 6.3: Sim. ILC, Q1 (z) ILC, Q2 (z) Delta-RC steady-state performance for tracking of a triangular profile.
1kHz
±2.01µm 0.0018 0.0456 0.0480 0.0081 0.2274 0.1972 0.0081 0.1643 0.1727
±4.03µm 0.0037 0.0701 0.0757 0.0161 0.3138 0.3339 0.0161 0.2886 0.3105
±8.06µm 0.0074 0.1302 0.1375 0.0323 0.5872 0.5923 0.0323 0.5602 0.5689
±0.52µm 0.0013 0.0336 0.0395 0.0044 0.1222 0.1373 0.0044 0.1027 0.1199
±1.04µm 0.0026 0.0441 0.0909 0.0088 0.2091 0.1890 0.0088 0.1663 0.1720
2kHz
±2.09µm 0.0053 0.0677 0.0515 0.0176 0.3024 0.3527 0.0176 0.2749 0.3353
±4.19µm 0.0106 0.1255 0.1702 0.0353 0.5342 0.6550 0.0353 0.4976 0.6092
Reference − ±8.06 µm 1kHz Triangle Wave
1
10
Q
1
Q
0
10
−1
10
0 1 2 3 4 5 6 7 8 9 10
Iteration Number
Reference − ±6 µm 2kHz Triangle Wave
1
10
Q1
Q2
RMS Error (µm)
0
10
−1
10
0 1 2 3 4 5 6 7 8 9 10
Iteration Number
Reference − ±6 µm 3.5kHz Triangle Wave
1
10
Q1
Q2
RMS Error (µm)
0
10
−1
10
0 1 2 3 4 5 6 7 8 9 10
Iteration Number
Figure 6.13: Comparison of error convergence using ILC for different Q-filters.
85
CHAPTER 7
Conclusion
This dissertation has brought together techniques from the signal processing commu-
nity and controls community to address the need for high performance controllers at
high sampling rates. It has addressed practical concerns of limited computational re-
sources by introducing multi-rate signal processing techniques to reduce the multipli-
ers and equivalent delay in the linear-phase Powell-Chau/Kurosu filters. A modified
Kurosu filter produced an efficient yet high performing real-time non-minimum phase
inversion feedforward controller. This Kurosu filter-based feedforward inversion re-
sulted in a modified repetitive controller structure for high sampling rate fixed-point
applications. Experimental results for this new repetitive controller structure were per-
formed on a levitated shaft and piezoelectric actuator to demonstrate the effectiveness
of these controllers and to also highlight the properties of fixed-point controllers. Ex-
perimental results on the piezoelectric actuators served as an analog for atomic force
microscope applications. Delta Operator realizations were incorporated to reduce quan-
tization noise and to ameliorate filter coefficient quantization effects on the frequency
response. Experimental results on a piezoelectric actuator showed how the Delta Op-
erator substantially improved performance with minor additional computational costs.
To complete the study, double-precision ILC was used to serve as a practical equiva-
lent to high sampling rate double-precision repetitive control if and when the hardware
capabilities becomes affordably available. Given practical limitations on present day
hardware that controllers can be implemented on, this dissertation has provided possi-
ble controller structures that are not only efficient but also high performing.
86
References
[ACM07] Hyo-Sung Ahn, YangQuan Chen, and K.L. Moore. “Iterative Learning
Control: Brief Survey and Categorization.” IEEE Trans. Syst., Man, Cy-
bern. C, 37(6):1099–1121, Nov. 2007.
[AO94] Notker Amann and David H. Owens. “Non-minimum phase plants in iter-
ative learning control.” In International Conference on Intelligent Systems
Engineering, 1994, pp. 107 –112, Sep. 1994.
[AOR96] Notker Amann, David H. Owens, Eric Rogers, and Anja Wahl. “An H8
approach to linear iterative learning control design.” International Journal
of Adaptive Control and Signal Processing, 10(6):767–781, 1996.
[AT95] D.M. Alter and Tsu-Chin Tsao. “Optimal feedforward tracking control
of linear motors for machine tool drives.” In Proc. of the 1995 American
Control Conference, volume 1, pp. 210–214, Jun. 1995.
[BTA06] Douglas A. Bristow, Marina Tharayil, and Andrew G. Alleyne. “A survey
of iterative learning control.” IEEE Control Syst. Mag., 26(3):96–114, Jun.
2006.
[CC07] Hung-Ming Cheng and G.T.-C. Chiu. “Coupling between Sample Rate and
Required Wordlength for Finite Precision Controller Implementation with
Delta Transform.” In Proc. of the 2007 American Control Conference, pp.
3588–3593, Jul. 2007.
[CFR07] Zhonglun Cai, C. Freeman, E. Rogers, and P. Lewin. “Reference Shift
Iterative Learning Control for a Non-minimum Phase Plant.” In Proc. of
the 2007 American Control Conference, pp. 558–563, Jul. 2007.
[CKK08] P. Cortes, M.P. Kazmierkowski, R.M. Kennel, D.E. Quevedo, and J. Ro-
driguez. “Predictive Control in Power Electronics and Drives.” IEEE
Trans. Ind. Electron., 55(12):4312–4324, Dec. 2008.
[CT10a] Herrick Lin Chang and Tsu-Chin Tsao. “Efficient Fixed-Point Realiza-
tion of Approximate Dynamic Inversion Compensators for Non-Minimum
Phase Systems.” In Proc. of the 2010 American Control Conference, pp.
4193–4198, Jun. 2010.
[CT10b] Herrick Lin Chang and Tsu-Chin Tsao. “Repetitive Control of a Levitated
Shaft - FPGA Implementation Based on Powell-Chau Filters.” In Proc. of
2010 International Symposium on Flexible Automation, Jul. 2010.
[CWW10] Kevin Chu, Yigang Wang, Jason Wilson, Chi-Ying Lin, and Tsu-Chin Tsao.
“Modelling and Control of a Magnetic Bearing System.” In Proc. of the
2010 American Control Conference, Jun. 2010.
87
[DPL98] B. Djokic, M. Popovic, and M. Lutovac. “A new improvement to the
Powell and Chau linear phase IIR filters.” IEEE Trans. Signal Process.,
46(6):1685–1688, Jun. 1998.
[FPW97] Gene F. Franklin, David J. Powell, and Michael L. Workman. Digital Con-
trol of Dynamic Systems (3rd Edition). Prentice-Hall, Dec. 1997.
[GP99] Jayati Ghosh and Brad Paden. “Iterative learning control for nonlinear non-
minimum phase plants with input disturbances.” In Proc. of the 1999 Amer-
ican Control Conference, volume 4, pp. 2584–2589, 1999.
[GP01] Jayati Ghosh and Brad Paden. “Iterative Learning Control for Nonlinear
Nonminimum Phase Plants.” Journal of Dynamic Systems, Measurement,
and Control, 123(1):21–30, 2001.
[HRE09] M. Hartmann, S.D. Round, H. Ertl, and J.W. Kolar. “Digital Current Con-
troller for a 1 MHz, 10 kW Three-Phase VIENNA Rectifier.” IEEE Trans.
Power Electron., 24(11):2496 –2508, Nov. 2009.
[HT98] R. D. Hanson and Tsu-Chin Tsao. “Reducing Cutting Force Induced Bore
Cylindricity Errors by Learning Control and Variable Depth of Cut Machin-
ing.” Journal of Manufacturing Science and Engineering, 120(3):547–554,
1998.
[JW97] Zhongnong Jiang and Alan N Willson, Jr. “Efficient digital filtering ar-
chitectures using pipelining/interleaving.” IEEE Trans. Circuits Syst. II,
44(2):110–119, Feb. 1997.
[KJ74] J. Kormylo and V. Jain. “Two-pass recursive digital filter with zero phase
shift.” IEEE Trans. Acoust., Speech, Signal Process., 22(5):384–387, Oct.
1974.
88
[KL12] B.J. Kenton and K.K. Leang. “Design and Control of a Three-Axis Serial-
Kinematic High-Bandwidth Nanopositioner.” IEEE/ASME Trans. Mecha-
tronics, 17(2):356–369, Apr. 2012.
[KLH98] J. Kauraniemi, T.I. Laakso, I. Hartimo, and S.J. Ovaska. “Delta opera-
tor realizations of direct-form IIR filters.” IEEE Trans. Circuits Syst. II,
45(1):41–52, January 1998.
[KMT03] A. Kurosu, S. Miyase, S. Tomiyama, and T. Takebe. “A technique to trun-
cate IIR filter impulse response and its application to real-time implementa-
tion of linear-phase IIR filters.” IEEE Trans. Signal Process., 51(5):1284–
1292, May 2003.
[KT10] K. Kalyanam and Tsu-Chin Tsao. “Experimental Study of Adaptive - Con-
trol for Disk Drive Track-Following Servo Problem.” IEEE/ASME Trans.
Mechatronics, 15(3):480–491, Jun. 2010.
[LD07] K.K. Leang and S. Devasia. “Feedback-Linearized Inverse Feedforward for
Creep, Hysteresis, and Vibration Compensation in AFM Piezoactuators.”
IEEE Trans. Control Syst. Technol., 15(5):927–935, Sept. 2007.
[LDW11] Hui Li, Chunling Du, and Youyi Wang. “Optimal Reset Control for a
Dual-Stage Actuator System in HDDs.” IEEE/ASME Trans. Mechatronics,
16(3):480–488, Jun. 2011.
[Lin08] Chi-Ying Lin. Adaptive and Repetitive Control of a Fast Tool Servo for
Precision Motion Control. PhD dissertation, University of California, Los
Angeles, Los Angeles, CA, USA, 2008.
[LKC10] Choong Woo Lee, Bong Sik Kwak, Chung Choo Chung, and M. Tomizuka.
“Design of the Tracking Controller for Holographic Digital Data Storage.”
IEEE/ASME Trans. Mechatronics, 15(2):242–252, Apr. 2010.
[Lon00] Richard W. Longman. “Iterative learning control and repetitive control for
engineering practice.” International Journal of Control, 73(10):930–954,
2000.
[MC07] E. Monmasson and M.N. Cirstea. “FPGA Design Methodology for Indus-
trial Control Systems-A Review.” IEEE Trans. Ind. Electron., 54(4):1824–
1842, Aug. 2007.
[MD11] Aung Myaing and V. Dinavahi. “FPGA-Based Real-Time Emulation of
Power Electronic Systems With Detailed Representation of Device Charac-
teristics.” IEEE Trans. Ind. Electron., 58(1):358 –368, Jan. 2011.
[MG86] R. Middleton and G. Goodwin. “Improved finite word length characteris-
tics in digital control using delta operators.” IEEE Trans. Autom. Control,
31(11):1015–1021, Nov. 1986.
89
[MHN01] O. Markusson, H. Hjalmarsson, and M. Norrlof. “Iterative learning control
of nonlinear non-minimum phase systems and its application to system and
model inversion.” In Proceedings of the 2001 IEEE Conference on Deci-
sion and Control, volume 5, pp. 4481–4482, 2001.
[NG02] Mikael Norrlof and Svante Gunnarsson. “Time and frequency domain con-
vergence properties in iterative learning control.” International Journal of
Control, 75(14):1114–1126, 2002.
[PB87] TS Parks and CS Burrus. Digital Filter Design. Wiley, New York, 1987.
[PBA07] L.Y. Pao, J.A. Butterworth, and D.Y. Abramovitch. “Combined Feedfor-
ward/Feedback Control of Atomic Force Microscopes.” In Proc. of the
2007 American Control Conference, pp. 3509–3515, Jul. 2007.
[PC91] S.R. Powell and P.M. Chau. “A technique for realizing linear phase IIR
filters.” IEEE Trans. Signal Process., 39(11):2425–2435, Nov. 1991.
[RTH94] J.D. Rasmussen, T.-C. Tsao, R.D. Hanson, and S.G. Kapoor. “Dynamic
variable depth of cut machining using piezoelectric actuators.” Interna-
tional Journal of Machine Tools and Manufacture, 34(3):379–392, 1994.
[Sog02] Takuya Sogo. “Stable inversion for nonminimum phase sampled-data sys-
tems and its relation with the continuous-time counterpart.” In Proceed-
ings of the 2002 IEEE Conference on Decision and Control, volume 4, pp.
3730–3735, Dec. 2002.
[SP08] G. Schitter and Nghi Phan. “Field Programmable Analog Array (FPAA)
based control of an Atomic Force Microscope.” In Proc. of the 2008 Amer-
ican Control Conference, pp. 2690–2695, Jun. 2008.
90
[TCR87] M. Tomizuka, M. S. Chen, S. Renn, and T. C. Tsao. “Tool Positioning for
Noncircular Cutting With Lathe.” Journal of Dynamic Systems, Measure-
ment, and Control, 109(2):176–179, 1987.
[Tom87] Masayoshi Tomizuka. “Zero Phase Error Tracking Algorithm for Digi-
tal Control.” Journal of Dynamic Systems, Measurement, and Control,
109(1):65–68, 1987.
[TSH08] Tsu-Chin Tsao, Zongxuan Sun, Reed D. Hanson, and Alexanda Babinski.
“Design, Modeling, and Motion Control of the Noncircular Turning Process
for Camshaft Machining.” Journal of Dynamic Systems, Measurement, and
Control, 130(3):031005, 2008.
[TT94] Tsu-Chin Tsao and Masayoshi Tomizuka. “Robust Adaptive and Repet-
itive Digital Tracking Control and Application to a Hydraulic Servo for
Noncircular Machining.” Journal of Dynamic Systems, Measurement, and
Control, 116(1):24–32, 1994.
[TTC89] Masayoshi Tomizuka, Tsu-Chin Tsao, and Kok-Kia Chew. “Analysis and
Synthesis of Discrete-Time Repetitive Controllers.” Journal of Dynamic
Systems, Measurement, and Control, 111(3):353–358, 1989.
[Vai93] P.P. Vaidyanathan. Multirate Systems and Filter Banks. Englewood Cliffs,
NJ: Prentice-Hall, 1993.
[WGI09] Youqing Wang, Furong Gao, and Francis J. Doyle III. “Survey on itera-
tive learning control, repetitive control, and run-to-run control.” Journal of
Process Control, 19(10):1589–1600, 2009.
[WO94] Alan N Willson, Jr. and H J Orchard. “An improvement to the Powell and
Chau linear phase IIR filters.” IEEE Trans. Signal Process., 42(10):2842–
2848, Oct. 1994.
91
[WPX10] X.H. Wu, S.K. Panda, and J.X. Xu. “Design of a Plug-In Repetitive Control
Scheme for Eliminating Supply-Side Current Harmonics of Three-Phase
PWM Boost Rectifiers Under Generalized Supply Voltage Conditions.”
IEEE Trans. Power Electron., 25(7):1800 –1810, Jul. 2010.
[WWC11] Jianyi Wang, Youyi Wang, and Shuyu Cao. “Add-On Feedforward Com-
pensation for Vibration Rejection in HDD.” IEEE/ASME Trans. Mecha-
tronics, 16(6):1164–1170, Dec. 2011.
[WWZ05] Yigang Wang, Danwei Wang, Bin Zhang, and Yongqiang Ye. “From it-
erative learning control to robust repetitive learning control.” In Proceed-
ings of 2005 IEEE/ASME International Conference on Advanced Intelligent
Mechatronics, pp. 969–974, Jul. 2005.
[YW99] Fengqi Yu and Alan N Willson, Jr. “Hardware efficient architectures for
coupled-form IIR filters.” In Proc. of the 1999 IEEE Int. Symp. on Circuits
and Sys., volume 3, pp. 355–358, Jul. 1999.
[ZW01] Keliang Zhou and Danwei Wang. “Digital repetitive learning controller for
three-phase CVCF PWM inverter.” IEEE Trans. Ind. Electron., 48(4):820–
830, Aug. 2001.
92