APPLYING CLOSED LOOP METHODOLOGY
TO AN ADAPTIVE EQUALIZATION PROBLEM
by
David Michael Lubbers
B.S., University of North Dakota, 1986
A thesis submitted to the
Faculty of the Graduate School of the
University of Colorado in partial fulfillment
of the requirements for the degree of
Master of Science
Department of Electrical Engineering
1991
This thesis for the Master of Science
degree by
David Michael Lubbers
has been approved for the
Department of
Electrical Engineering
by
4/IB /
Date
Lubbers, David Michael (M.S., Electrical Engineering)
Applying Closed Loop Methodology to an Adaptive
Equalization Problem.
Thesis directed by Professor Adjunct Alfred Fermelia
With the increasing complexity of today's systems,
design and analysis problems are becoming more
sophisticated. Many problem-solving techniques used by
engineers concentrate on the component level rather than
considering all system aspects. It would seem that a
first step in formulating a new methodology for solving
signal processing problems is to establish equivalence or
even superiority between existing methods and the
proposed closed loop technique.
Although closed loop methodology has been applied to
control system problems for some time now, it has
recently found applications in the signal processing
realm. In this paper, comparisons of a classical
approach which uses the least mean-square algorithm in
solving the digital data equalization problem with the
closed loop methodology approach are made. Since closed
loop methodology requires a specific mathematical format
when solving problems, a formulation of the equalization
problem into a state variable representation is provided.
It is shown through simulations that the new approach
not only out-performs the classical method, but also
provides additional information about signal propagation
that is used to remove dispersive channel effects from a
bipolar data stream.
The form and content of this abstract are approved. I
recommend its publication.
Signed,
Alfred Fermelia
iv
CONTENTS
Figures................................... vi
Tables....................................vii
CHAPTER ________ __
1. INTRODUCTION............................1
2. PROBLEM FORMULATION.....................4
3. CLOSED LOOP METHODOLOGY.................9
Mathematical Format ................. 13
Adaptive Processor Design. . . .14
4. PROBLEM ANALYSIS ..................... 17
Classical Approach .................. 17
CLM Approach..........................19
5. SIMULATIONS AND RESULTS.'..............30
LMS Algorithm.........................33
CLM.................................. 42
6. CONCLUSIONS AND RECOMMENDATIONS '. .46
APPENDIX
A. LMS ALGORITHM..........................50
B. SYSTEM MATRICES...................... 57
C. KALMAN ADAPTIVE PROCESSOR ............ 62
D. PROGRAM LISTINGS ..................... 66
BIBLIOGRAPHY .................................. 81
v
FIGURES
Figure
2.1. Digital Receiver Block Diagram ................. 5
2.2. Adaptive Linear Combiner ....................... 6
2.3. System Block Diagram ........................... 8
3.1. Closed Loop Method..............................11
4.1. System Block Diagram . .....................17
4.2. State Variable Representation ................. 21
4.3. Augmented System Diagram ...................... 26
5.1. Eye Diagram................ .................31
5.2. Pre-filtered Data Stream........................34
5.3. Post-filtered Data Stream.......................34
5.4. Channel. Input..................................36
5.5. Channel Output .................................36
5.6. Filter Output N=5...............................37
5.7. Filter Output N=7...............................37
5.8. Filter Output N=10 . ...................... 37
5.9. Filter Output N=20..............................37
5.10. Optimal Convergence Factor....................38
5.11. Error Signal fi = 0.0045..................... 39
5.12. Error Signal fl = 0.009 ..................... 39
5.13. Error Signal |l = 0.045 ..................... 40
5.14. Error Signal \i = 0.091......................40
5.15. Error Signal |l = 0.182......................41
5.16. Error Signal |l = 0.273 ..................... 41
5.17. Channel Output................................42
5.18. Filter Output.................................42
5.19. Measured Output...............................43
5.20. Filter Output . . . .........................43
5.21. Channel Output Input Noise Variance =1.0 . 44
5.22. Filter Output.................................44
5.23. Performance Measure.........................45
6.1. Design Methodology .......................... 48
B. l. Channel Frequency Response .................. 59
C. l. CLM and AP Applied to Systems Described by
Ordinary Differential Equations................62
vii
TABLES
Table
3.1. Process Characterization ....................... 10
4.1. Filter Types....................................25
viii
CHAPTER 1
INTRODUCTION
With the readily available digital processing systems
made from components fabricated using large and very
large scale integration technologies, design
methodologies are becoming increasingly more complex.
Algorithms that have only been implemented in simulations
are now finding applications in the commercial and
military marketplace. A dramatic example of this is the
increase over the last few years of powerful digital
signal processing components that can be purchased as
"off-the-shelf" items. Because of these advances,
engineers can now build a digital signal processing
system at a fraction of the cost and time it would have
taken five years ago.
Despite this increase in the sophistication of
technology, design practices used by engineers can limit
the potential of a system of solving problems other than
the one it was designed for. In some cases, the
classical design perspective used is in the analysis of
systems is limited in scope, concentrating on the
component aspects as opposed to the system concerns. By
redefining the design process to incorporate system and
component perspectives, 1) more insight into the
intrinsic nature of the algorithms being implemented can
be gained to help understand the hardware and software
being used and 2) information pertaining to problems that
can occur during and after the design process has been
completed is readily available.
This paper uses closed loop methodology, hereafter
referred to as CLM, as a design perspective applied to
adaptive signal processing. CLM has proven to be a
versatile technique in designing and analyzing control
systems [1]. Because of the strong similarities between
adaptive signal processing and adaptive controls, i.e.,
mathematical modelling and problem solving techniques,
the natural extension of CLM to signal processing becomes
obvious [2].
Comparisons are made between the classical approach
to solving an equalizing problem using the Widrow least
mean-square (LMS) algorithm and CLM approach of solving
the same problem. In formulating the CLM approach,
comparisons are made to the classical approach to
2
establish equivalence and to emphasize insights into the
problem that would otherwise be overlooked using the
Widrow's methodology. This is accomplished in phases as
outlined below.
1) Execute Widrow methodology to establish
performance limits of LMS algorithm.
2) Show equivalence of first formulation to state
variable formulation which also uses the LMS
algorithm as the adaptive processor.
3) Execute CLM approach using Kalman, filter
adaptive processor and compare results.
3
CHAPTER 2
PROBLEM FORMULATION
Transmitting information via digital modulation
techniques has become more widespread over the last
decade for two major reasons: 1) advances in hardware
and software and 2) the growing need for bandwidth
efficient modulation schemes to accommodate the increased
demands of message traffic. The latter is often referred
to as the information explosion. A common problem found
in the transmission of binary bipolar data is amplitude
and phase distortions caused by a dispersive medium.
Dispersion is a transmission medium characteristic
described by the medium possessing a group delay that is
a non-constant function of frequency. When dealing with
data communications such as phase-shift keyed (PSK)
digital data, intersymbol interference (ISI) reduces the
margin for additive noise resulting in an increase of
incorrect bit decisions at the detector.
Compensating for amplitude and phase distortions
found in transmission media is done through the use of
equalization mechanisms. A typical configuration of a
digital receiver [3], [5] is shown in figure 2.1. A
matched filter is used to minimize the wideband random
noise entering the system. The equalizing filter
attempts to remove the effects of a dispersive channel
from the signal by creating an inverse model of the
transmission medium or channel and applying the model to
it. Finally, a mechanism is used to make the decisions
on the digitally encoded data.
Input
Hatched 'v Equalizer Bit
Filter < Detector
Bipolar
Output
--->
Fig. 2.1. Digital Receiver Biock Diagram
Much research has been performed to optimize each
component of the digital receiver [3], [-4], [5]. This
paper focuses on the equalization filter of the digital
receiver and the analysis and design techniques that are
used to describe it.
Widrow and Stearns [4] use an equalization filter in
an inverse modelling concept. Proakis [3] has developed
the coefficient update equations for both linear and
nonlinear techniques of data equalization. A common
5
element in most all developments of equalization filters
is the adaptive linear combiner. Figure 2.2 illustrates
an adaptive linear combiner in one of its forms, the
transversal filter.
Fig. 2.2. Adaptive Linear Combiner
The input data stream, r^ is represented as a
discrete sample of the received signal, the amplitude of
which is continuous. Sampling rates (fs) used in the
simulations of this system were five times the bit rate
(fb). Each sample is placed in a delay line with the
delay being equal to the inverse of the bit rate Tb =
l/fb. The current sample along with delayed samples are
multiplied by the coefficients and summed to form the
6
output of the adaptive linear combiner. The combiner is
adaptive in the sense that the coefficients are adjusted
in order to minimize a chosen performance measure.
The usual approach to adjusting weights is minimizing
the power of an error measurement. The Widrow LMS
algorithm is an example of a simple means of achieving
that goal. Appendix A provides a summary of the LMS
algorithm.
As a candidate system to illustrate CLM and Widrow
techniques, problem 13 in chapter 8 of [4] was selected.
Figure 2.3 depicts the system under consideration. The
three components of the system-will be discussed in
chapter 4. Since the objective of this paper is to
provide a comparison of the classical design to the CLM
procedure, a brief introduction to CLM is provided in the
context of this comparison in the following chapter.
7
Fig. 2.3. System Block Diagram
8
CHAPTER 3
CLOSED LOOP METHODOLOGY
In the past, system discriminates for adaptive signal
processing problems have been derived from comparing the
output of an linear combiner to some desired signal, with
little attention given to how the received signal
propagates through the system. The re_sult of such a
formulation can lead to insufficient and in some cases
incorrect information of the statistical nature of the
problem. This approach has been improved by use of a
closed loop methodology (CLM) technique which employs and
adaptive processor to provide signature statistics.
Characterization of the specific process being
modelled is the first step in...the analysis of a system.
Table 3.1 list three concerns that need addressing along
with topics in each that characterize the system.
Resolving the questions asked normally involves
finding solutions to the equations that govern the
behavior of the system. The governing equations are
typically a combination of ODEs, PDEs, and AEs. In the
case of the deterministic type system, the solution is
easily obtained. Of more interest is the solution to the
stochastic system, which presents additional concerns
beyond that of the deterministic system.
Table 3.1. Process Characterization
1. Type-of-System
deterministic, i.e., free of uncertainty
stochastic, i.e., systems with uncertainty
2. System Description
ordinary differential equations (ODE)
- partial differential equations (PDE)
algebraic equations (AE)
linear or nonlinear
3. System Questions to Be Answered
solution to governing equations
estimation
identification
control
The solution to the stochastic system may be obtained
by defining and solving the estimation, identification,
and control problems associated with the given process.
Modern system theory provides. ..an approach based on CLMs
forming the basis for most applications where feedback is
used to control the system. The CLM is shown in figure
3.1.
10
Disturbance
Identification
System Equations
and Parameters
Fig. 3.1. Closed-Loop Method
As shown, CLM uses adaptive procedures that provide a
model with quantified confidence levels. Modern system
theory recognizes the potential differences in
predictions and results that can be attributed to forcing
function uncertainty, incorrect estimates of the
constituents of the governing equations and the
possibility that model order is insufficient to describe
these systems. The adaptive processor design attempts to
accommodate these uncertainties and to systematically
drive the difference between predictions and test data to
a minimum.
11
Control of the error which results from the
comparison of data obtained from the time system to that
produced by an a priori data database will result in:
1) - Obtaining a classification set, which implies
that the signal processing problem can be solved. This
in turn implies that the system equations can be solved,
or
2) Denial of the classification set, which
implies that signature propagation is not well
understood. Processing the signal properly implies that
it is imperative that a solution to the control problem
be found.
The classification set is defined in normal
mathematical terms and consists of the following
elements: independent variables, dependent variables,
coefficients of the equations, and the sensor output.
The elements of this set will be obtained from the
equations that govern the propagation of the signal.
Prior to doing this the relationships of estimation,
identification, and control (EIC) to the classification
set are given in (3.1).
12
{Independent
Variables
Dependent Coef f icients Sensor
Variables of Equations Output
}
Estimation
Identification
Control
(3.1)
Observing the manner in which the classification set
is defined suggests that there can be a number of
solutions obtained by finding solutions to parts or all
of the problem. For example, a solution to the
identification problem will provide information of the
coefficients of the equations..
Before the CLM methodology can be applied to the
signal processing problem, the subsystem under evaluation
as well as the measurement device must be placed in a
particular format. As shown in [1], the subsystem under
evaluation can be represented in a state- variable format
by a discrete set of n, linearized, first order
difference equations given by
x (k + l) = <|> ( k + l,k)x(k) + 0(k + l,k)[r(k) + w(k)]
(3.2)
where the input noise, w, is a zero mean white noise
sequence with a covariance of
Mathematical Format
13
E[w(k)w(j)T] = Q(k)3k(k j)
(3.3)
Using (3.1), the measurement device may be modelled in
the discrete time domain as
z(k) = Bx (k) + v (k) (3
where the measurement noise, v, is a zero mean white
noise sequence with a covariance of
E[v(k)v(j)T] = R(k)3]c(k j)
(3.5)
By representing the system via equations (3.2) and
(3.4), further clarification of the classification set is
possible, i.e., the classification set may be expressed
as
Cs{xP(|)QHR z}.. (3.6)
where: x = independent and dependent variables
P = variance of state vector
<() = subsystem dynamics
Q = variance of w
H = measurement matrix
R = measurement variance
z = sensor output
Adaptive Processor Design
Recall that the CLM gets its name from the fact that
it uses an adaptive processor (AP) as a "controller" of
14
the error resulting from the comparison of measured test
information and predictions of the same. In order to
drive this error under an acceptable threshold, the AP
provides this control by solving the estimation and
identification problems in a sequential mode. This is
accomplished by constructing the AP to consist of a
Kalman filter serially with a performance measure, J.
This performance measure is then optimized to solve for
the coefficient members of the classification set.
These notions can be further clarified by examination
of 4.1 as shown in [6]. This shows how the Kalman filter
A
is used to produce an estimate, z, of the actual data
given by z. Comparison of these two values creates an
error, E, which is acted on by the Kalman gain, G.
Output of the Kalman gain box is then summed with a
priori estimates of the state vector to produce an
estimate (a posteriori) of the state vector. However,
since this estimate of the state is based on incorrect
coefficients, trends in the error are more likely to
occur. The removal of these trends is brought about by
optimizing the weighted residual error with respect to
the parameters which reside in the coefficient set. It
should be noted that this optimization takes place
15
subject to the constraints imposed by the Kalman filter
equations.
16
CHAPTER 4
PROBLEM ANALYSIS
The problem with the chosen channel characteristics
and feedforward path delay is shown in figure 4.1.
Fig. 4.1. System Block Diagram
Classical Approach
The three major system components as shown in figure
2.1 are easily found in the diagram. The input is a
random bipolar data stream. A normally distributed
number generator was used as follows:
{+1 random number > 0
-1 random number <0 (4 d
The random bit was held for the appropriate number of
samples to create the specified bit period.
The dispersive channel output was modelled by a
finite impulse response filter convolved with the input
signal.
where h(n) is the impulse response of the filter of
length N.
The error signal ek is'determined by subtracting the
adaptive filter output from the desired signal, dk. The
desired signal is generated by delaying the input signal
by an amount determined by the length of the channel
filter, i.e.,
N1
X h(n)r(k n)
n =0
(4.2)
(4.3)
The error signal becomes
ek ^k y\ ^k WkXk
(4.4)
18
In the classical approach to solving this problem, an
adaptive linear combiner is implemented as the adaptive
filter with the LMS algorithm used to update the
coefficients. Figure 2.2 illustrated the manner in which
this is done.
The LMS algorithm uses an estimate of the mean-square
error to update the coefficients (see appendix A for a
discussion on the LMS algorithm). The coefficient update
equation is given as
wk+i = wk + 2 \l ek xk (4.5)
where fi is a convergence factor and is chosen in such a
way as to minimize the misadjustment error resulting from
using an estimate of the error gradient.
CLM Approach
By making a simple observation of the coefficient
update equation (4.5), we find that the LMS algorithm is
a means of solving the component level identification
problem. An alternative way of writing (4.5) is
Wk+1 = Wk + ^k (4.6)
19
where the goal here is to find such that
The point at which equation (4.7) is satisfied is the
solution to the partial difference equations given in
(4.6), identifying the coefficients of the equations.
Using CLM, the identification problem -as well as the
estimation and control problem are solved yielding more
insight into the solution of the system level problem.
CLM requires representing the system in a state
variable mathematical format. Since each component of
the system can be represented by a transversal filter,
this is easily done. Figure 4.2 illustrates the system
when represented by equations (3.2) and (3.3)'. Three
state vectors are formed, i.e., sj^+i, Xk+i, and Vk+i-
Sfc+i represents the propagation of the received signal
through a delay line, with the matrix (j>k+i,k acting as
the state propagator. Each state vector has similar
matrices associated with them. The system vector
difference equations are written as
sk+l =
k+l,lcsk + k+l,krk . (4.8)
20
X k+1 = Vk+ifk*k + r r k +l,k"Lk
Vk+1 = A v **k +l,k v Jc + B P uk+l,krk
(4.9)
(4.10)
while the measurement system equations are found to be
dk = Tksk (4.11)
y k = wkvk (4.12)
Fig. 4.2. State Variable Representation
One other component level equation was described in (4.6)
and will be discussed later. Generation of the state
21
propagation matrices and the input matrices is presented
in appendix B.
Choosing the number of states to represent each
component of the design problem is a critical step in
this formulation. When using the classical design
methodology, the engineer may find it difficult to
determine whether the algorithm is acting as a predicting
filter, a normal filter, or a smoothing filter, each
yielding unique results.
Consider what is exactly meant by filtering. Suppose
there is some quantity associated with the system
operation whose value we would-like to know at each
instant of time. Assume the system in question is a
discrete time system, and the quantity in question is
denoted by r(k). It may be that this quantity is not
directly measurable, or that it can only be measured with
error. In any case, we shall suppose that noisy
measurements z(k) are available, with z(k) not the same
as r (k) .
The term filtering is used in two senses. First, it
is used as a generic term: filtering is the recovery
from z(k) of r(k), or an approximation of r(k), or even
22
some information about r(k). In other words, noisy
measurements of a system are used to obtain information
about some quantity that is essentially internal to the
system. Second, it is used to distinguish a certain kind
of ^information processing from the before mentioned
related kinds, smoothing and prediction. In this sense,
filtering means the recovery at time k of some
information about r(k) using measurements up till time k.
If information about r(k) is to be available'at time k,
then causality rules out the use of measurements taken
later than time k in producing this information.
Smoothing differs from filtering in that information
about r(k) need not become. available at time' k, and
measurements derived later than time k can be used in
obtaining information about r(k). This means there must
be a delay in producing the information about r(k), as
compared with the filtering case, but the penalty of
having a delay can be weighed against the ability to use
more measurement data than in the filtering case in
producing the information about r(k). Not only does one
use measurements up to time k, but measurements
proceeding as well. For this reason, the smoothing
process yields more accurate results in some sense than
the filtering process.
23
Prediction is yet another form of filtering. The aim
is to obtain at time k information about r(k+X) for some
X > 0, i.e., to obtain information about what r(k) will
be subsequent to the time at which the information is
produced. In obtaining the information, measurements up
till time k can be used.
In most communication systems, the receivers that
employ adaptive equalization filters are noncausal,
implying that smoothing is being used to assist in
removing the channel's dispersive characteristics. This
is an acceptable approach if the delays in the system are
kept to a minimum. For example-, delays in a two-way
telephone conversation are perceived by the listeners as
echoes, reducing the fidelity of the talker's voice.
There are two components that must be considered in
formulating the number of taps (or in the state variable
approach the number of states) in the adaptive equalizer.
First, a desired signal is used in forming the
performance measure In this problem a feedforward
element is used to delay the input signal to be compared
against the filter's output. The number of delays (or
states) in this element must be calculated. Second, the
24
finite impulse response filter that is modelling the
channel also has delays associated with it. The number
of states must be calculated in order for the adaptive
equalizer to accurately compensate for the channel.
Table 4.1 lists the type of adaptive filter constructed
when the given number of taps are used. For this
problem, the input signal is delayed by five samples to
produce the desired signal and the channel is modelled by
a third-order FIR filter, yielding two delays, for a
total of seven states.
Table 4.1. Filter Types
Results of simulations, which are presented in the
following chapter, illustrate dramatic differences in
both deterministic and stochastic cases when the adaptive
filter is implemented in all three forms..
Placing the system into a complete CLM format
requires combining each component into an augmented
25
representation, or the system representation. Figure 4.3
represents the results of this formulation.
^k+l.k
H.
) ni
L Delay
________ k+1, ________________________________
A
*k+l.k
%
Delay
H4 r
k+l.k
vk.k
Fig. 4.3. Augmented System Diagram
The new state vector, Xa is represented as
vc/ (4.13)
where s and x are as previously defined and c is a new
state variable and is given by
Ck+1 = Dxk+1 ^rk+l (4.14)
The formulation of c includes a new variable, rk+1, which
implies that a predicted value of the input must be
obtained. Since the system state vector representation
26
does not include this variable, a dynamic equation is
devised and given in (4.15).
rk+l = rk + Wr (4.15)
The new variable, wr, is a normally distributed random
_2
variable with a mean of 0 and variance specified by w
and will be referred to as the model noise input
henceforth. This is a straightforward approach to
estimating what the next value of the input will be given
the current value. Since the input takes on values of
+/- 1, increasing the variance of wr to 1.0 or beyond
results in a predicted value that is used to generate
ck+1. This technique is for modelling purposes only. It
is used in the recursive equation that updates the a
priori covariance estimate of the state vector.
Expanding (4.14) to include the expressions for the
state variable x and the new state variable r yields
Ck+1 = D Yk+l.k Xk [D ^k+l,lc "* ^]rk ^ D ^k+l,kWIt + L Wr
(4.16)
where D defines the propagation matrix for the channel
state vector and L is a constant.
27
The augmented state vector propagation equation and
the augmented measurement are thus defined as
XAk+lk = XA, + A + k
(4.17)
= ha *a, + v
k +1
(4.18)
where:
=
0 \|f 0
^ 0 D\|/ 0 )
(4.19)
0* =
f
e
r
Dr + l
\
(4.20)
F, =
(e o
r o
L dT
(4.21)
wk =
( w,.
VWr J
(4.22)
Without loss of generality, the time indices have been
dropped from the dynamic matrices to simply nomenclature.
This should not cause confusion since the dynamics of the
problem are static over time.
28
With the classification set defined, implementing
the CLM approach requires using the Kalman filter as the
adaptive processor to update the gain matrix that is used
to force the estimated state to the correct values.
Observe from figure 4.3 and equations (4.17) and (4.18)
that the problem is structured as any other problems
being analyzed via CLM. This is an advantage when
studying an array of problems, since all can be placed in
this format. The difference between problems are the
underlying dynamics of the equations that are used to
describe system characteristics. Refer to appendix C for
a discussion of the implementation of the Kalman filter
based adaptive processor.
29
CHAPTER 5
SIMULATIONS AND RESULTS
Using a software mathematical tool called Matlab1, a
number of simulations where executed to compare the
classical approach of analyzing the stated problem to the
CLM approach. Appendix D contains program listings of
all of the routines used.
A number of performance measures used to describe
the effectiveness of communication systems are available
for studying equalization techniques. Of most interest
is the eye diagram however. Al-though qualitative in
nature, the eye diagram provides an efficient means of
visualizing the effects ISI and wideband noise have on a
communication system.
The eye diagram or pattern is a convenient measure
because it can be created either in. simulations or in the
lab. The eye pattern is viewed on an oscilloscope by
connecting the signal of interest to the vertical input
and using a sweep rate that is an integer multiple of the
symbol or bit rate. Figure 5.1 illustrates some of the
1 Matlab is a trademark of The MathWorks, Inc.
aspects of an eye diagram. Observe that ISI affects the
performance of a digital communications signal in two
ways:
1) reduction of the noise margin, and
2) increased sensitivity to synchronization errors.
Sensitivity
to Timing
Error
Fig. 5.1. Eye Diagram
Another performance measure will be the error signal
e^, which is used to update the filter coefficients when
implementing the LMS algorithm. As shown in appendix A,
the identification problem is solved when this signal
reaches a minimum. The path this signal takes in order
to achieve the optimal value is a function of the
convergence factor and the number of filter coefficients
being adaptively adjusted.
31
A third measure of performance for a digital
communications system is called the bit error rate (BER)
estimate. To accurately determine the value for this
measure requires either Monte Carlo simulations of the
system in question or a sophisticated BER estimate model
that uses statistics and knowledge of the signal
bandwidth, signal power, and noise variance. With
neither available to the author of this paper at time of
publication, this concept is only discussed, with
references given for further reading [3], [4]. BER
estimates specify the probability of a bit error given a
bit energy to noise density ratio, or Eb/N0. With the
received signal power known along with the noise density
of the channel, the bit energy"to noise density ratio is
calculated as
Eb. = Tb PR = _Pr_
N0 N0 R N0
(5.1)
where: Tb = bit time
R = bit rate = 1/Tb
PR = received signal power
N0 = noise density
For example, to achieve a BER probability of 10-6 or one
bit error for every 1 million bits detected requires an
32
Eb/No of X. The effect of ISI is reduction of the BER
probability. To achieve the same probability in a signal
environment with a large noise variance as compared to an
ideal channel would require transmitting the signal at a
higher power level. In power limited systems, such as
satellite transponders, this is not possible without
dramatically affecting the cost of the overall system. A
work-around is to devise a receiver that compensates for
ISI and any other adverse channel effects.
One other performance measure will be observed when
delimiting the CLM approach to adaptive equalization, and
that is how well the estimated state mirrors the
augmented state vector. Trends will become apparent when
measuring the differences between these quantities and
will be discussed at that time.
LMS Algorithm
In all simulations, the input to the channel was
created by convolving a bipolar data stream with a
lowpass filter, resulting in a more realistic data
stream. Lowpass filtering is always done to band limit
the signal prior to transmission. The cutoff frequency
is chosen to be 90% of the bit rate, placing the
transition region of the filter within the first null of
the sin(x)/x frequency characteristic of a bipolar data
33
stream. Figures 5.2 and 5.3 illustrate the power
spectral density of the data stream before and after the
lowpass filter, respectively.
Frequency-
Fig. 5.2. Pre-filtered Data Stream
Fig. 5.3. Post-filtered Data Stream
34
Two techniques were used to demonstrate the
capabilities of the LMS algorithm. The first, which has
been referred to as the classical approach, uses the
Widrow technique of adaptive filtering. The second
places the problem in a state variable format, using the
LMS algorithm to adjust the filter coefficients.
Deterministic and stochastic simulations were
executed to establish equivalence between the two
techniques. As was expected, there were no differences
between the two methods of simulation. The state
variable approach at first appears to be more complicated
as evident from comparing figures 4.2 and 4.3 found in
chapter 4. However, by using the state variable
representation of the system we are able to understand
the dynamics of the signal propagation through the delay
lines and channel. Although this added information does
not increase the effectiveness of the LMS algorithm, it
will become evident later on when using the full CLM
approach the advantages gained from modelling technique.
Simulations illustrating the differences between
filtering, smoothing, and predicting were carried out for
a stochastic system using the state variable system
representation. With normally distributed white noise
added to the channel, the performance of the LMS
35
algorithm deteriorated, but by increasing the number of
adaptive filter coefficients, improvements were made in
the eye diagrams. Figure 5.4 illustrates the eye diagram
of the data stream prior to entering the channel, while
5.5 shows the eye diagram after the channel. Notice the
almost complete closure of the eye, indicating a high
probability of bit errors. Figures 5.6 thru 5.9
illustrate the eye diagrams after the adaptive filter
with the number of filter coefficients specified. As
expected, when the adaptive filter was used as a
predicting filter, the performance improvement was
minimal. However, using the adaptive filter as a
smoother provided for markedly increased performance.
3
2
1
0
-1
-2
-3
Channel Output
0 5 10
Fig. 5.4. Channel Input
Fig. 5.5. Channel Output
36
SV niter N = 7
SV Filtr W = S
-2---------'--------
0 5 10
Fig. 5.8. Filter Output
N=10
3
2 k
Fig. 5.7. Filter Output
N=7
5V Filter N = 20
i
-2'--------'--------
0 5 10
Fig. 5.9. Filter Output
N=20
37
Simulations were carried out to determine the role |i
plays in the stability and convergence rate for the LMS
filter. Using the same system configuration as in the
previous illustrations, figure 5.10 provides a graph
displaying the results of numerous runs for each filter
length. A (i of 1 corresponds to a setting of l/(n+l)
where n equals the number of filter coefficients (as per
appendix A). The y axis represents the standard
deviation or one sigma of the error signal used to drive
the LMS algorithm. In all cases, 1 <= p <= 1.5 provides
for a system.
. _ ERROR Standard Deviation
# of Taps
5 ______
7 ------
10 .........
20 ---------
32 ______
0 0.5 1 1.5 2
Normalized mu
Fig. 5.10. Optimal Convergence Factor
38
Figures 5.11 5.16 illustrate the effects (I has on
the error signal's convergence rate. For these plots and
adaptive filter with 10 coefficients was used. The input
noise standard deviation was set to 0.25, the same value
used to calculate the curves found in 5.10.
Fig. 5.11. Error Signal |l = 0.0045
39
Fig. 5.13. Error Signal Ji = 0.045
Fig. 5.14. Error Signal Ji = 0.091
40
Fig. 5.16. Error Signal |1 = 0.273
41
CLM
Using the augmented state representation, simulations
were executed to investigate the effectiveness of the CLM
approach to solving this problem. Using the same
representation of the channel as the previous simulations
and incorporating measurement noise into the model,
figure 5.17 depicts the channel output for the first run.
A measurement variance of 0.1 was used along with channel
noise variance of 0.0625 and model variance of 1.0. The
adaptive processor not only removed the channel effects,
but the measurement imperfections as'well as can be seen
from figure 5.18.
Fig. 5.17. Channel Output Fig. 5.18. Filter Output
42
To illustrate the effectiveness of the adaptive
processor for removing measurement noise, a simulation
was executed with a measurement variance of 4.0. From
figure 5.19 observe that there is no indication of an eye
opening at the channel output. However, after the
adaptive process, the original data stream is recovered
with little degradation (5.20).
Fig. 5.19. Measured Output Fig. 5.20. Filter Output
By increasing the noise variance of the channel, the
adaptive processor should at some point no longer
effectively reproduce the input data stream. A number of
simulations were run to determine the point, at which this
occurs. It was found that with a noise variance of
approximately 1.0, the eye pattern could no longer be
43
created without bit errors. The channel output with
input noise variance of 1.0 and measurement noise
variance of 0.01 is shown in figure 5.21. The result of
the adaptive processor is illustrated in figure 5.22.
0 5 10 0 5 ID
Fig. 5.21. Channel Output Fig. 5.22. Filter Output
Input Noise Variance =1.0
Simulations provided information on the effect of
creating a predicted data state variable has on the
model. When the dynamics of the equation were ignored,
i.e., no prediction was made, the results of the adaptive
processor were not as favorable as when dynamics were
used. It was found that a variance of 1.0 or greater
provided for sufficient uncertainty in the predicted data
stream to allow for effective adaptation.
44
A final plot is included to illustrate one other
aspect of the CLM approach to data equalization. The
performance measure referred to by J, which is the
difference between the measured output of the test cell
and the measured output of the adaptive processor, is
illustrated in figure 5.23. It is shown to be unbiased
and the variance of this measure is approximately equal
to the input noise variance plus the measurement
variance.
Fig. 5.23. Performance Measure
45
CHAPTER 6
CONCLUSIONS and RECOMMENDATIONS
The goal of this paper was to introduce closed loop
methodology as an effective alternative to classical
techniques when designing and analyzing data equalization
problems. With CLM, a number of aspects' of the problem
often overlooked, were made evident and assisted in
providing better results. Of most importance were the
items listed below.
1) Implementing the design in.a state variable
format, providing insights"-into whether the adaptive
filter was acting as a predictor, smoother, or
filter. This was accomplished by recognizing the
exact components that required mirroring in the
adaptive processor.
2) The signal propagation characteristics were
modelled in the CLM approach. This allowed for more
accurate estimates of the dispersive channel as well
as the inaccurate measurement device. When using
the classical approach to solving this.problem,
there was no equivalent model of measurement noise.
This implies that CLM uses a higher fidelity model
of the system, since no physical measurements can be
taken without introducing uncertainties.
3) CLM formulates problems in a specific
mathematical format, which is the same for any
problem analyzed via this technique. Engineers can
spend more time analyzing the channel
characteristics and other component level aspects of
the problem instead of the struggling with the
mechanics of the analysis tools being used.
4) CLM helps broaden the scope of the design
process by considering system factors as well as
component elements.
Combining equations (3.1) and (3.6) helps illustrate
the differences in the members of the classification set
the two adaptive processors are solving for.
The classical adaptive filter approach as developed
by Widrow considers only the measurement equation,
Estimation Identification
Control
(6.1)
z = H x
(6.2)
47
solving a portion of the identification problem, i.e.,
finding only one member of the coefficients of the
defining equations. Since all members of the
classification set are considered when using the CLM
technique, the EIC problem is systematically solved,
yielding a higher fidelity model of the problem.
Figure 6.1 depicts the two design approaches,
component and system level.
System
Fig. 6.1. Design Methodology
When using the classical adaptive filter technique, all
emphasis is placed on the development of the adaptive
linear combiner (ALE), a component level approach to the
design problem. A modern signal processing approach
48
integrates the design and signal processing concepts
yielding a baseline for each component within the system.
The complexity of the model for each component can be
increased as represented by vertical lines in the figure.
Using CLM in solving the equalization problem provided
results that indicate better system performance, thus
fewer bit errors at the detector.
There are a number of areas where this problem could
be studied further:
1) The state of the system is not unique;
therefore, an investigation of the performance
achievable when adding or deleting states is
warranted.
2) Quantification of the filtering, smoothing, and
prediction classification is needed. A statistical
analysis of the performance measure as effected by
the particular classification is needed. This also
would provide insight into determining whether the
adaptive processor is providing a biased or unbiased
estimation model. 3
3) Replacing the feedforward term with some other
model is required for implemetation purposes.
49
APPENDIX A
LMS ALGORITHM
As with other optimization problems, the derivation
of the least mean-square (LMS) algorithm begins by
formulating the mean-square error (mse) of a performance
measure. The measure, used here is the error signal found
by comparing the output of the adaptive linear combiner,
yk, to a desired signal dk. .
ek = ^k Â¥k = ^k WkXk (A. 1)
where Wk represents the adaptive filter weights at time
instant k and Xk the received signal and its delayed
versions, i.e.,
Xk = [Xk'Xk-l'Xk-2'**-'Xk-n] (A.2)
The mse, defined as Â£, is found to be
C = E[ekek] (A.3)
Rewriting Â£ results in
C = E[(dk wkTxk)(dk wkTxk)]
C = E[dk ] 2E[dkxkwk ] + wkTE[xkx^]wk
(A.5)
(A. 6)
C = E[dJ ] 2Pk\ + w'r.W,
where: P* = cross correlation vector between the desired
signal and the tapped delay line, and
Rfc = auto correlation matrix of the tapped delay
line.
The gradient search method is used to find the minimum
mse with respect to the weight vector.
V
e
dE[e2]
dw
E
de de
e -1 H---- e
dw dw
(A.7)
The k subscripts have be removed from the expressions.
Since the expectation operator is linear, we get
V
e
2 E
de
e---
dw
(A.8)
Recalling the definition of e, the derivative can be
expressed as
e = d xTw (A.9)
de
= -x
dw (A.10)
Substituting (A.10) into (A.8) and using the definition
of e,
51
Ve = 2 E [ ex ] = 2 E [ (d XrW)x ]
(A.11)
Ve = -2[p-rw] = 2[rw-p]
(A.12)
Setting the gradient vector to zero will yield the
optimal weight vector W*, also known as the Wiener-Hopf
equation.
0=2[rw-p]
(A.13)
* 1
W = R P
(A.14)
Before continuing to the adaptive law, some
important aspects of equation (A.6) should be mentioned.
Note that this equation is quadratic in W. This provides
for the ability to describe a performance surface for Â£
in terms of the adaptive weights, W. Solving for the
optimal weight vector W* leads to a point on the surface
often referred to as the "bottom of the bowl," which is
an appropriate description when there are only two
adaptive weights. Even with a multi-dimensional adaptive
weight vector that describes a hyperparabolic surface in
Â£, there will always be one optimal solution,
corresponding to a unimodal surface. This is a very
desirable result when an iterative approach is used in
locating the minimum, assuring that only one minimal
value can be achieved.
52
Rewriting equation (A.6) and substituting the
optimal weight vector results in the minimum value of Â£.
(A.17)
This allows rewriting Â£ in terms of Cmin and W* as
>min
C = + ( )* ( ')
(A.18)
which states then that any departure of the weight vector
from the optimal vector is an excess mean-square error.
The adaptive law used to find the minimum is called
the steepest descent algorithm which is defined as
In this method the weights are adjusted in the opposite
direction of the gradient. This requires the computation
of the auto- and cross-correlation matrices at each
iteration, which in some applications can be too
computationally inefficient.
The LMS algorithm uses the steepest descent method
but makes a simplifying approximation to determining the
mse, i.g.f
+ H(-Ve)
(A. 19)
53
(A.20)
? = E[e2] = e;
reducing the gradient vector to
Ve =
de
dw
= 2 e X
(A.21)
Substituting the new gradient estimate into the adaptive
law reveals the well known LMS equation
wk+1 = Wk + 2|1 ekX
(A.22)
Gaining insight into how the convergence factor, |i
is chosen requires going back to the adaptive law
equation and expanding for the gradient expression.
wk+i = + M- (-Ve> ) = w* + H(2R*wk + 2pk)
w*+i = wk 2H Rk(wk R'1 Pk)
Wjc+i = " 2^ Rk(wk W*)
"ic+1 = (I 2[lRjk 2^Rkw*
(A.23)
(A.24)
(A.25)
(A.26)
The solution to equation (A.26) is complicated by the
fact that various components of are "cross-coupled."
By transforming to a principal coordinate system a
solution can be found. This is done by taking advantage
of representing R by its involutory equivalent
R = Q A Q-1 = Q A Q
(A.27)
54
where Q is a matrix of eigenvectors and A is a diagonal
matrix of eigenvalues. The details of the transformation
and rotation of the coordinate system can be found in
[2] .
A necessary condition for convergence of the
solution to the iterative equation for Wk is
0
A'max (A. 28)
where A^x is the maximum eigenvalue of R. If the
autocorrelation matrix is never computed when using the
LMS algorithm, then how is the maximum eigenvalue ever
known? The answer is found by bounding what ^max could
be. It is known that
^max < tr[R] (A.29)
and for a transversal filter
tr [ R ] = (n + 1) E [ X x] 3Q)
which is the number of adaptive coefficients + 1 times
the received signal power. We can therefore assure
convergence by
0 < |l <
___________,. 1________________
(n + l)(received signal power)
(A.31)
55
Normalizing signal power to 1 is common practice and
yields an expression for the maximum value of |i:
)i
max
l
(n + 1)
(A.32)
The proper selection of )i is very important when-----
implementing the LMS algorithm. Not only does it control
the rate of convergence/ it also plays a role in
determining the amount of misadjustment that occurs due
the using an estimate of the gradients
It is straightforward to show that the gradient
estimate is an unbiased estimator by observing that with
the weight vector held constant (W^ = W)
E[V.] = -2E[.e*J = 7.-
56
APPENDIX B
SYSTEM MATRICES
Building the system propagation equations for the
state variable representation of the problem was
accomplished by considering a number of aspects of the
problem. The system was broken down into four
components: 1) the propagation of the received signal
used to generate the desired signal, 2) the propagation
of the signal through the channel, 3) the propagation of
the signal through the .adaptive filter, and 4) the state
variable representation of the adaptive filter
coefficients.
The desired signal used in creating a performance
measure between the adaptive filter and the transmitted
signal is created by delaying the generated signal by 5
samples. Representing the delay line as a state variable
is accomplished through equation (B.l). The desired
signal is then created by measuring the output of this
state variable formulation.
s(k + 1) = <|>(k + l,k)s(k) + 0(k + 1, k ) r (k ) -jj
d(k) = T(k)s(k)
(B. 2)
where:
<|>(k + 1, k)
r0 1 0 0 (P
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
,0 0 0 0 0,
0(k + 1, k)
'(A
0
0
0
(B. 3)
(B. 4)
T(k) = (0 0 0 0 l)
Note the time indices used here in the measurement
equation (B.2). When formulating the CLM approach these
indices would be in the a priori sense, -i.e.,
d(k + 1) = T(k + l)s (k + 1) (B 6)
but the first step here is to show equivalence between
the classical approach and the same but in a state
variable format.
The channel output, referred to as p(k), is
represented as
58
p(k) = A x (k) + B r(k)
(B. 7)
where :
A (0.89 -1.0) (B. 8)
...B (I- 0) (B.9)
The matrices A and B represent the channel response, a
second order finite impulse response filter, with a
frequency response as shown in figure B.l.
Fig. B.l. Channel Frequency Response
The state variable x is used to propagate the transmitted
signal through the channel, and is found to be
x(k + l) = cp(k + l,k)x(k) + T(k + l,k)r(k) (b.10)
59
where:
r(k + 1, k)
r0 n
,0 o,
(B.11)
(B.12)
For clarity purposes, the time indices have been included
in all the state propagation matrices, even though they
are all stationary with time. In some instances, such as
if the channel response varied with "time, these matrices
would be represented as a dynamic equation reflecting the
characteristics of the channel.
A state variable-must be formulated to represent the
delay line used in the adaptive filter. The input to
this state is the channel output, p(k). The number of
states is determined by the order of the- filter being
used. For illustration purposes, a fifth order filter is
used to create the equations and the propagation
matrices.
v(k + 1) = a(k + 1, k) v (k) + P(k + l,k)p(k)
(B. 13)
60
where:
a(k + 1, k)
P(k + 1, k)
'0 1 0 0 0 ^
0 0 10 0
0 0 0 10
0 0 0 0 1
,0 o o o o
0
0
0
(B 14)
(B.15)
The filter coefficient vector is represented by the
LMS algorithm as
w (k + 1) = w (k ) + 2 [L e..( k) v (k )
(B.16)
61
APPENDIX C
KALMAN ADAPTIVE PROCESSOR
The Kalman filter is used to adaptively adjust the
members of the classification set being used to describe
the system. Starting from an a priori data base, the
filter "tweaks" the members of the set until a specified
performance level is achieved. In this problem, the
filter will continually adjust itself,- although after
only a few iterations, a solution is_found. Figure C.l
provides a block diagram that depicts the placement of
the Kalman filter in relation to other components of the
system.
V
i i
T z
i-F(K.r.w.P) H(x.)
Tp
Test Cell (Ezperiment)
+
A Priori Data Base
Kalman
Filter
Â£
*1 P
P
Members of
Classification
Set
Fig. C.l. CLM and AP Applied to Systems Described By
Ordinary Differential Equations.
The test cell exhibits a state which is a nonlinear
function of its coefficients that describe the underlying
system dynamics, input noise, a forcing function, and the
state itself. Since there perfect measurements are
impossible, noise is introduced in the measurement
function with statistics as discussed in chapter 3. Note
in this diagram that there is no feedforward path
associated with a desired signal generation. It has been,
removed only to allow generalizations in examining the
function of the adaptive processor.
In order for the adaptive processor to successfully
predict the members of the classification set, the test
cell must be "mirrored correctly. That is, a sufficient
number of states must be used to identify the
classification set. If the system is mirrored
incorrectly, the adaptive processor is incapable of
producing results that meet the minimum performance
criterion, whatever that may be. Adapting more states
than needed will produce correct results, but places
increased demands on the processor that need not exist.
Therefore determination of the classification set is of
upmost importance when using CLM.
The Kalman filter is used to iteratively update the
estimates of the state and to determine the variance of
63
the estimate. By starting from a chosen initial value
for the a posteriori covariance, an a priori covariance
is calculated as
p(k + l,k) = $p(k + l,k+l)0T + fqaft
(C.l)
where O and F are described in chapter 4 equations
(4.19) and (4.21). The QA matrix is a diagonal matrix
whose components consist of the variance of the of the
channel noise and model noise, respectively. Recall that
i
model noise was introduced to. create a mathematical
expression for the predicted channel output.
The Kalman gain matrix, G, which is used in updating
the a posteriori mean of the estimated state, is produced
as
G = P(k + 1, k) h- T (h p(k + l,k)HT + r )_1
where R is a lxl matrix representing the measurement
noise variance. With the gain matrix calculated and the
a priori variance updated, the a posteriori variance
matrix is calculated for the next iteration, and a new
estimate of the state is calculated along with a new
measurement.
p(k + l,k+l) = (i G h ) p (k + 1, k)
* (k + 1, k) = Ox(k,k)
64
z(k + 1, k) = H x(k + l,k)
(C. 5)
With a new measurement taken of the estimated state, the
a posteriori estimate of the state which is used in the
next iteration is calculated as,
x (k + 1, k + l) =
G(z(k + 1, k) z(k + 1, k))
(C. 6)
The feedforward term, 0r(k) is included to allow
successful mirroring of the appropriate states.
65
o\ c A o\ o\ o\o o\ o\o o\o o\ ciP o\ o\<> o\ o\ o\o o\ o\ oÂ¥> oÂ¥> o\ o\ o\
APPENDIX D
PROGRAM LISTINGS
^0.0,0,0,0,0.0^0^0,0.0^0^0^0,0^0.0.0^0^0.0,0.0.0,0.0.00^0^0^0.0,0^0^0^0,0,0,0,0,0,0.0.0,0,0,0,0^0,
'6'o'o'o^'o'o'o^^'O^o^'o'o'q'q'o'o'o'o'o'o'oo^'o^'o'q^'o'o'o'o'o'o'o'o'o o o o o o o o o 0 o
Subroutine init.m:
This subroutine provides initialization
constants required to execute clml.m, clm2.m,
and 1ms.m.
9,0,0.0,0,0.0.0.0.0.0.0,00,0,0,0.0,0.0,0,0,0.0,0.0.0,00,0,0,0.0.0.0.0,0,0, Qs-o. 9,0,0.0,0.0.0.0,0.
o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o.'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o 0'S O O O O O 0'S o
1. The number of iterations is-set to and the
number of states
L =100;
N = 20;
state = 5;
2. The initialization of the state vector, s is
given as
sO = [zeros(1:state)]1;
3. Initialization of the channel state is given by
xO = [ 0.; 0.];
4. Provide values for channel transfer function,
i.e, coefficient necessary to measure channel
output.
aO = 1.; al = -1.; a2 = 0.89;
5. Initialize the vector v required for
determination
of the error e(k+l)
vO = [zeros (1 :N)
% 6. Set initial values required to compute weights
wO = vO;
mu = 1./(N+l);
o\o o\o i* o\o o\ o\o o\o o\ o\ o\ dp o\ o\
7. Initialize classical method weight vector
W=[zeros(1:N)]';
8. Initialize channel vector;
C=[0 00 a2 al aO]
9. Initialize desired signal vector;
R=[zeros(1:state+1)]';
10. Initialize tap delay line vector;
X=[zeros(1:N)]';
11. Set random number generator to normal
distribution N(0,1.)
rand('normal');
rand('seed',3513);
67
tip o\ o\ tiP o\ o\ o\ o\ o\ o\
*5 *5 "5 *o "o *5 *o o'o'o'o'o'o'o'o'o'o'o o'o'o'o'o'o'o'o'o o'o'o'o'o'o'o'o'o'o'o o o o*o o o o*o
Subroutine bldabv.m :
This subroutine builds the n x n PHI matrix to be
used by the main program designated as clml.m,
dm2 .m, lms.m.
Supports the building of the state propagator
s(k+1) = PHI s 00 + THETA r(k)
9-2'2*S-2r2?92-2r2-9>2r2r2r92*2'2?9-2!-9'9-9'2'2-2-2-2r9-9'9-9'9-2-$'2'2r9'9'9-9-
0,0-0 0.0-0.
o o o o o o
PHI = zeros(state);
for i=l:state-1,
PHI(i,i+1) = 1.;
end
THETA = [zeros(1:state-1),1.0]'/ -
Build the 1 x n matrix .T from which the
desired signal d(k+l) is generated, i.e.,
T = [1.0,zeros(1:state-1)];
Build the (3x3) PSI and (3 x 1) GAMMA matrices
PSI = [ 0. 1.;
0. 0. ] ;
GAMA = [ 0. ; 1. ] ;
Build the matrices required to obtai-n the output of
the channel, i.e., build the 1x2 matrix A and the
matrix B
A = [ a2 al ]; B = aO;
Build the v state progogation matrix and input vecLor
which depends on the number of filter coefficients,
N.
Supports the building of the propogator
v(k+l) = Alpha v(k) + Beta p(k)
Alpha = zeros(N);
for i=l:N-l,
Alpha(i,i+1) = 1.0;
end
68
Beta = [zeros(1:N-1),1.0]'
69
o\
T)^i>^5T>^>^^>^'ST>^>'5T>'5^ST5'5so'5'5T5
&.Q.Q.g.&9.&CL&d.9.g.&.Q.&.Q.g.Q,&2.&.Q.Q.Q.Q,Q.CL
o "o ^ ^ "o "o o
o^io'xioo'b'booooooooo
Subroutine kalinit.m:
This subroutine sets up the initial values
necessary to calculate the Kalman gain for use
in the calculation of the adaptive weights.
3&QdQ.Q.Q.<2.9.
'o'o'o'o'o'o'o'o'o
%9-9-9.9.S.9-9-Q-Q-9-Q-9-9.9-5-9-5-5.5-Q-5.9.5-S.5-5.5.Q-5-59-?^5-9-9-9-5.9.9-9-
'o'o'o'o'^'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o o o
P =10.0 eye(N);
70
oP oP oP oP oP oP o\o cP dP oP
;%%%%%%%%%%%
Q. Q. Q. Q, Q, O. Q,
*5 *Q "O "O "o *o
%%%%
9.2.SS.S.S.2.2.9.fi.QQ2*2
'o'o'o'o'o'o'o o o*o o'o'o'o
Subroutine kalgaina.m:
This subroutine computes the Kalman gain
required to update the a posteriori mean
estimate of the state vector. It also
calculates a new a priori covariance matrix
P. It is used by the main routine clm2.m.
^5^5"6'o o o o o'S'S'S'S'o^o^'o'o^'o'o'S'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o o o 75 *0 o
Pkplgk = PHIa P PHIa' + F covQQ F';
G = Pkplgk Ha' inv (Ha Pkplgk * Ha' + covR) ;
P = (eye(P) G Ha) Pkplgk;
71
o\ o\ o\ o\o o\ o\ o\o o\ o\ o\ o\P o\o o\o o\o o\ o\
'O'O'O'O'O'S'O'O'S'O'OTJ'O'O
o o o'o'o'o'o'o'o'oo'o'o'o'o'o'o'o'o'o'o'o'o'o'o',o'b o o o o o
Q. Q. Q. Q. Q, ft
9,9.9,
o. ft o. ft ft.
Subroutine eye_clm2.m :
This script file generates the eye pattern
for the output of the adaptive filter created
in the clm2.m script file,
script file.
.^o,o,g,Q^Q,g,o,<,
'ft'O'o'ft'O o o o
The titles are created
si = sprintf(Z Meas var = %1.3f,stdvm^2);
s2 = sprintf (' Zhat Model var = %1. If1, stdvmod/'2) ;
hold off
clg
ripts=L;
scaling information is obtained
M=max(max(rr),max(max(Za),max(Zhat)));
m=min(min(rr),min(min(Za),min(Zhat)));
l=length(Za);
d= [M*ones (1 :nsamp*2-l) m] ;
subplot(222)/plot(1:nsamp*2,d,'i')
hold on
for i=floor(npts/5):nsamp*2:npts-N-nsamp*2-5;
subplot(222),plot(1:nsamp*2,Za(i:i+nsamp*2-l))
end
grid,title(si)
hold off
subplot(221),plot(1:nsamp*2,d,'i1)
hold on
for i=floor(npts/5):nsamp*2:npts-N-nsamp*2-5;
subplot(221),plot(l:nsamp*2,rr(i:i+nsamp*2-l))
end
grid,title('Channel Input')
hold off
subplot(223),plot(1:nsamp*2,d,'i')
hold on
for i=floor(npts/5):nsamp*2:npts-N-nsamp*2-5;
subplot(223),plot(1:nsamp*2,Zhat(i:...
i+nsamp*2-l))
end
grid,title(s2)
hold off
72
clear M m 1
hold off
end
oP o\o o\ oP oP oP oP oP oP oP oP oP oP oP oP - oP oP
"o'o'o'o'o'o'o'o'o
9-9-S.9-Q-Q-Q.9.Q-9.2.9-S.9.9.
'o'o'o'o'o'o'o'o'o o o "o o o o o
9>&Sr9'9'9'&3*9*
PROGRAM clm2.m :
This program uses the full CLM approach to
solving the equalization problem.
Q-Q.Q.Q.Q.q.
'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o^J'o'ooTS'o'o^j'o^J o*o o'o'o'o'o'o'o'o o o o o o o o o o o o o o o o o
The workspace is cleared
clear
Input data section
The number of delays for the feedforward section = N
The number of iterations = L
Input noise standard deviation = stdvi
Measurement noise standard deviation = stdvm
Model noise standard deviation = stdvmod
N=input('Enter the number of weights >= ');
L=input('Enter number of iteration >= ');
stdvi = input ('Enter input noise std dev >= ');
stdvm = input('Enter measurement noise std dev >=
f
stdvmod = input('Enter model noise std dev >= ');
covQ = [stdviA2,0;0,0];
covQQ = [stdviA2,0;0,stdvmodA2];
covR = stdvmA2;
Three subroutines are called that initialize
the states, state propagation matrices, and other
system variables including the a priori correlation,
matrix used in updating the Kalman gain.
init
bldABV
kalinita
To simulate bits there are "nsamp" samples taken for
each bit produced.
The strobe_pulse controls the update frequency of the
Kalman gain matrix.
nsamp = 5;
input_count = nsamp;
strobe_pulse=2;
A Chebychev LPF is used to simulate a brickwall filter
74
o\ dp o\o o\ oP o\ o\ o\o o\ o\o o\P dp o\o o\ o\P o\o o\o dp dp o\P o\ dp
[Blpf,Alpf] = cheby(5,0.5,0.9*(2/nsamp));
for i = 1:L,
The input sequence is generated
if (input_count == nsamp),
r(i) = sign (rand);
input_count = 1;
else
r (i) = r(i-l);
input_count = input_count + 1;
end
end
The bits are convolved with the brickwall filter
rr = filter (Blpf,Alpf, r) ;
for i=l:Lf
The augmented state vector is updated
Xa = PHIa*Xa + THETAa*rr(i) + F *[stdvi rand;0]
The Kalman gain vector is updated on when the
strobe_pulse = the number of samples per bit.
strobe_pulse = strobe_pulse + 1;
Let the a priori measurement Za be equal to the
measurement matrix times the state plus some
measurement noise.
Za(i) = Ha*Xa + stdvm*rand;
Call the Kalman gain update routine to update the a
priori covariance estimate and the Kalman gain vector
if (strobe_pulse == nsamp),
i
kalgaina
strobe_pulse = 0;
end
75
o\o o\ o\ o\ o\ o\o o\o o\
Xhat = PHIa XhatO;
Zhat(i) = Ha*Xhat;
Calculate a new a posteriori mean estimate of the
state vector.
XhatO = PHIa*Xhat + THETAa*rr(i) +...
G*(Za(i)-Zhat(i));
Set up state vector and estimated state vector for
plotting purposes
Xplot(1:8,i)=Xa(1:8);
Xhplot(1:8,i)=Xhat(1:8);
end
end
76
oP oP cAP o\o oP
Q-Q-Q.Q-Q.Q.Q-0-Q-Q.Q-Q-Q-oo-Q-oi.o.o-o.o.o,o,o-g,o^Q.o,o-Q.oo.Q(.Q.g.q,g-g,Q,g,o
^'o^'o'o'o^'o^'o^'^'o'o'o'o'Q'o"a'o'o',o"o'o'o'o'o'o'o'o'o'o'o'oo'o'o',o'o'o'0'o o o o o n o o o o
PROGRAM stlms.m:
This scipt file implements the LMS filter in
two forms:
the state variable form and the classical
form. The two are compared for equivalency.
9-9-S-S.9-S.&.5-9.9-9-9-9-9-9-9-9-9-9-9-9- 9-9- 9-9-9-9-9-9-9.9.9.9.9.9-9-9.9-9-9-9-9-9-9-9-9-9-9-9-9-2-
^^^^'O'O'O'O^'O^'^'O^'O'O'O'O'O^'O'O'O'O'O'O'O'O'O'O^'^O'Q'^'O'O'O^O'P o *5 o o o o o o o o
The workspace is cleared,
clear
The number of filter coefficients is entered,
the number of iterations, and the input noise
standard deviation.
N=input('Enter the number of weights >=
L=input('Enter number .of iteration >= ');
stdv = input('Enter the noise standard deviation >
);
The state matrices are built and initialized.
init
bldABV
The number of samples per bit is set to 5.
The strobe pulse is used to control the rate of
coefficient updates.
nsamp = 5;
input_count = nsamp;
strobe_pulse=2;
A brickwali filter is used to lowpass filter the
input bit stream.
[Blpf,Alpf] = cheby(5,0.5,0.9*(2/nsamp));
The bit stream is created and convolved with
the lowpass filter.
for i = 1:L,
if (input_count == nsamp),
r(i) = sign (rand);
input_count = 1;
else
77
o\ o\ o\ o\ o\ o\ o\o o\o o\ o\o o\ o\o
r (i) = r(i-l);
input_count = input_count + 1;
end
noised) = stdv*rand;
end
rr = filter(Blpf,Alpf,r);
Main loop
for i=l:Lf
The delay line is updated.
R=[R(2:state+1);rr(i)] ;
s = PHI sO + rr(i) THETA;
Compute the desired signal, i.e.,
d(i) = t sO;
Now propagate the 3x1 state x which is the
state representing signal propagation through
the channel. "bit" is the..classical repre-
sentation of the "data through the channel.
x = PSI xO + rr(i) GAMA;
bit(i) = C' R + noised);
Compute the channel output p(k) for 'state variable
representation.
p(i) = A xO + rr(i) B + noise (i);
Propagate the channel output through the
adaptive filter delay line.
v = Alpha vO + p(i) Beta;
vO = v;
X=[X(2:N);bit (i) ] ;
Calculate the output of the adaptive filter. Cap Y
represents classical form.
78
cA o\o o\ o\P o\ o\ o\ o\ o\o <(P o\ o\ o\ o\ o\ o\ c\ oÂ¥> o\<> o\ a\ o\ o\
Y (i) = W X;
y(i) = wO' vO;
RESET initial condition on x, s i.e.,
xO = x;
sO = s;
Calculate error and update adaptive filter
coefficients at strobe pulse. Cap E and W are
for classical form.
strobe_pulse = strobe_pulse + 1;
if (strobe_pulse == nsamp),
index = floor((i+2)/nsamp);
e (index) = sign(d(i)) y(i);
w = wO + 2 mu e (index)'- vO;
wO = w;
E (index) = sign(R(l)) Y(i);
W=W+2 mu E(index) X;
strobe_pulse = 0;
Wplot(1:5,index)=W(1:5);
wplot(1:5,index)=w(1:5);
end
Set up data for plotting purposes
splot(1:5,i)=s(1:5);
vplot(1:5,i)=v(1:5);
wplot(1:5,i)=w(1:5);
xplot(1:2,i)=x (1:2);
End of Main Loop
end
Create string variables
Sl = sprintf('ERROR : SV Filter N = %2.0f',N);
' s2 = sprintf('ERROR : LMS Filter N = %2.0f',N);
s3 = sprintf('Iterations');
Draw graphs of representing the error signal
79
clg
subplot(211),plot(1:length(e), e),title (si),
xlabel(s3) ,grid
subplot(212),plot(1:length(E),E),title(s 2),
xlabel(s3),grid
end
80
BIBLIOGRAPHY
[1] Fermelia, Al.
Adaptive Processor Definition and Design (Draft)
BDM Corporation Technical Report.
Albuquerque: BDM/A-81-168-TR, Volume 2, 1981.
[2] Fermelia, Al, and Larson, R. H.
Closed Loop Methodology (CLM) Applied to Signal
Processing A Revisitation.
American Control Conference.
Seattle: Volume 2, pp. 847-851, 1986
[3] Proakis, John G.
Digital Communications.
New York: McGraw-Hill, 1989.
[4] Widrow, Bernard, and Stearns, Samuel D.
Adaptive Signal Processing.
Englewood Cliffs: Prentice-Hall, 1985.
[5] Orfanidis, Sophocles J.
Optimum Signal Processing, An Introduction.
New York: McGraw-Hill, 1988.
[6] Fermelia, Al.
Closed Loop Methodology Applied to Simulation.
Winter Simulation Conference.
Seattle: Volume 2, pp. 465-470, 1983.