communication systems group - nasa · 3.2 linear-programming optimization algorithm 49 ... b.3...
TRANSCRIPT
THE USE OF LINEAR PROGRAMMING TECHNIQUES
TO DESIGN OPTIMAL DIGITAL FILTERS FOR
PULSE SHAPING AND CHANNEL EQUALIZATION
by
RONALD C. HOUTS
Project Director-
and
DONALD W. BURLAGE
Research Associate
April, 1972
TECHNICAL REPORT NUMBER 142-102
COMMUNICATION SYSTEMS GROUP
BUREAU OF ENGINEERING RESEARCH
UNIVERSITY OF ALABAMA UNIVERSITY, ALABAMA
https://ntrs.nasa.gov/search.jsp?R=19720021544 2018-07-12T09:50:10+00:00Z
THE USE OF LINEAR PROGRAMMING TECHNIQUES
TO DESIGN OPTIMAL DIGITAL FILTERS FOR
PULSE SHAPING AND CHANNEL EQUALIZATION
by
RONALD C. HOUTSProject Director
and
DONALD W. BURLAGEResearch Associate
APRIL, 1972
TECHNICAL REPORT NUMBER 142-102
Prepared for
National Aeronautics and Space AdministrationMarshall Space Flight Center
Huntsville, Alabama
Under Contract Number
NAS8-20172
Communication Systems GroupBureau of Engineering Research
University of Alabama
ABSTRACT
A time-domain technique is developed to design finite-duration
impulse-response digital filters using linear programming. Two
related applications of this technique in data transmission systems
are considered. The first is the design of pulse-shaping digital
filters to generate or detect signaling waveforms transmitted over
bandlimited channels that are assumed to have ideal low-pass or band-
pass characteristics. The second is the design of digital filters to
be used as preset equalizers in cascade with channels that have known
impulse-response characteristics.
A straightforward design procedure which can be used for both
applications is established. Specifications for the design are
expressed in terms of the desired impulse response output from either
a pulse-shaping filter or an equalized transmission channel. Equa-
tions which are linear functions of the unknown filter multiplier coef-
ficients are then derived corresponding to the appropriate impulse
response. Finally, these equations are constrained to have the speci-
fied values at appropriate critical time points so that a linear pro-
gramming routine can be applied to solve for the multiplier coeffi-
cients .
Example designs are presented which illustrate that excellent
waveforms' can be generated with frequency-sampling filters and the
ease with which digital transversal filters can be designed for preset
ii
equalization. Other results are included to depict the relation-
ships and tradeoffs between such digital filter parameters as sampling
interval and number of multipliers required tp meet such equalization
specifications as amount of residual intersymbol interference which
can be tolerated and input energy which must be transmitted.
iii
ACKNOWLEDGEMENT
The authors would like to express their appreciation to the Telemetry
and Data Technology Branch of the Astrionics Laboratory, Marshall Space
Flight Center, for the support of this research. We would also like to
thank Messrs. Roy Curl, Norman Harris, and Brooks Lawrence for their
valuable programming assistance in the development of the computer
routines and illustrations used in this report.
IV
TABLE OF CONTENTS
Page
ABSTRACT ii
ACKNOWLEDGEMENT iv
LIST OF TABLES viii
LIST OF FIGURES ix
CHAPTER 1 INTRODUCTION 1
1.1 BASEBAND TRANSMISSION PROBLEMS 21.1.1 Intersymbol Interference 31.1.2 Channel Noise 6
1.2 HISTORICAL REVIEW 81.2.1 Theoretical Developments 101.2.2 Digital Synthesis Developments. ... 131.2.3 Related Developments 15
1.3 OUTLINE OF STUDY 17
CHAPTER 2 FINITE-DURATION IMPULSE-RESPONSE FILTERS 20
2.1 DIGITAL TRANSVERSAL FILTERS 202.1.1 Transversal Filter Characteristics. . 202.1.2 Fourier-Series Design Technique ... 232.1.3 Window-Function Design Technique. . . 272.1.4 Time-Domain Design Techniques . . . . 29
2.2 FREQUENCY-SAMPLING DIGITAL FILTERS 302.2.1 Frequency-Sampling Filter
Characteristics 302.2.2 Conventional Frequency-Domain
Design Techniques 342.2.3 Optimization Technique for
Frequency-Domain Design 38
CHAPTER 3 DIGITAL FILTER DESIGN FROM IMPULSE-RESPONSESPECIFICATIONS 42
3.1 TIME-DOMAIN DESIGN PROCEDURE 423.1.1 Odd Number of Impulse-
Response Values 43
v
Page
3.1.2 Even Number of Impulse-Response Values . 45
3.1.3 Formulation of ConstraintEquations 46
3.2 LINEAR-PROGRAMMING OPTIMIZATIONALGORITHM 49
3.3 DESIGN EXAMPLES. . . . 513.3.1 Raised-Cosine Pulse Filter 533.3.2 Partial-Response Pulse Filter .... 593.3.3 Additional Comments 63
CHAPTER 4 DIGITAL FILTER DESIGN FROM KNOWN CHANNELSPECIFICATIONS. . .' 68
4.1 DIGITAL FILTER EQUALIZERS 684.1.1 Frequency-Sampling Filter 704.1.2 Transversal Filter 714.1.3 Channel Impulse Response 74
4.2 COMPARISON OF EQUALIZER DESIGNS 754.2.1 Frequency-Sampling Equalizer
Design 754.2.2 Transversal Equalizer Design 794.2.3 Timing Jitter Sensitivity 82
4.3 OTHER TRANSVERSAL-EQUALIZERCONSIDERATIONS 844.3.1 Effect of Constraint Set 844.3.2 Effect of Sampling Interval 884.3.3 Location of Equalizer 92
CHAPTER 5 CONCLUSIONS AND RECOMMENDATIONS 95
5.1 CONCLUSIONS 95
5.2 RECOMMENDATIONS FOR FURTHER STUDY 97
APPENDIX A LINEAR PROGRAMMING FUNDAMENTALS 99
A.1 ALGEBRAIC FORMULATION -OF SIMPLEXPROCEDURE 101
A. 2 EXAMPLE USING SIMPLEX PROCEDURE 104
A.3 PROCEDURE FOR FINDING INITIAL BASICSOLUTION 107
vi
Page
APPENDIX B SUBROUTINE LINPO 112
B.I USER INSTRUCTIONS 112
B.2 EXAMPLE PROBLEM. 113
B.3 FLOWCHART AND PROGRAM LISTING 116
APPENDIX C AUXILIARY SUBPROGRAMS 125
C.I SUBROUTINE COCAL1 126C.I.I User Instructions 127C.I.2 Example Problem 129C.I.3 Flowchart and Program Listing . . . . 131
C.2 SUBROUTINE COCAL2 136C.2.1 User Instructions . . 137C.2.2 Example Problem . . 138C.2.3 Flowchart and Program Listing . . . . 139
C. 3 SUBROUTINE CHECK 145
C.4 FUNCTION SUBPROGRAM CC 150
LIST OF REFERENCES 152
vii
LIST OF TABLES
Table . Page
3.1 LINPO ALGORITHM DESIGN STEPS. . 53
4.1 CONSTRAINT SETS 85
4.2 COMPARISON OF EQUALIZER CHARACTERISTICS . . . . . . . 86
B.I LINPO INPUT PARAMETERS. . 112
B.2 TABLEAU FORMAT. 114
C.I COCAL1 INPUT PARAMETERS , . . . . . . . 128
C.2 CHECK INPUT PARAMETERS. . . . 145
C.3 IMPULSE-RESPONSE CHANNEL MODELS 150
viii
LIST OF FIGURES
Figure Page
1-1 Baseband Data Transmission. . . . . 4
1-2 Matched-Filter Detector . . . . . . . . . . . . . . . 9
1-3 Block Diagram of Baseband System with Noise . . . . . 9
2-1 Digital Transversal Filter. . 21
2-2 Frequency- and Time-Domain Characteristics of DigitalDifferentiator Designed by Fourier-Series Technique . 26
2-3 Frequency- and Time-Domain Characteristics of Trans-versal Filter Designed by Window-Function Technique . 28
2-4 Frequency-Sampling Digital Filter . . . . . . . . . . 31
2- -5 Pole-Zero Plot for Low-Pass Filter . 36
2-6 Frequency Samples for Low-Pass Filter . 36
2-7 Frequency- and Time-Domain Characteristics ofFrequency-Sampling Filter 37
2-8 Improvement in Stop-Band Amplitude Response ofLow-Pass Filter Due to Optimization Technique .... 40
3-1 Comparison of Frequency-Sample Symmetries for Oddand Even N. . . 44
3-2 Comparison of Impulse-Response Components for TwoSets of Multiplier Coefficients . . . . . . . . . . . 47
3-3 Graphical Representation of Linear-ProgrammingProblem 52
3-4 Ideal Raised-Cosine Pulse . 55
3-5 Magnitude Samples for Raised-Cosine Filter Design(R=6) 55
3-6 Comparison of Raised-Cosine Filter Designs forTwo Sets of Constraint Equations 58
ix
Figure
3-7
3-8
3-9
3-10
4-1
4-2
4-3
4-4
4-5
4-6
4-7
4-8
4-9
B-l
B-2
B-3
B-4
C-l
C-2
C-3
C-4
C-5
C-6
C-7
Comparison of Partial-Response Filter Design toIdeal Pulse
Ricker Wavelet.
Initial Ricker-Wavelet Matched Filter Design (R=10) .
Comparison of Other Ricker-Wavelet Matched FilterDesigns
Channel Equalization with Digital Filter. .
Establishing Integration Limits for ConvolutionIntegrals
Frequency-Sampling Filter Equalization .
Transversal-Filter Equalization ....
Comparison of Timing-Jitter Degradation .
Pulse Shape Sensitivity to Constraints.
Effect of Equalization on Data Sequence 101011110010.
Comparison of Transmitted Energy Requirements ....
Equalization at Channel Output. .
Main Program for LINPO Solution - . . . - . . •
Tableau Output of Subroutine LINPO
Flowchart for Subroutine LINPO. . . . . . ... . . .
Program Listing for Subroutine LINPO
Main Program for COCAL1 Solution. . . . . . . . . . .
LINPO Output for Raised-Cosine Filter Design
Flowchart for Subroutine COCAL1 . . . . . ... . . .
Program Listing for Subroutine COCAL1 ...
Main Program for COCAL2 Solution. . . . . . . . . . .
LINPO Output for Frequency-Sampling EqualizerDesign .
LINPO Output for Transversal Equalizer Design ....
Page
61
64
64
65
69
72
78
81
83
87
89
91
94
114
115
118
119
129
130
133
134
139
140
141
X
Figure Page
C-8 Program Listing for Subroutine COCAL2 142
C-9 Flowchart for Subroutine CHECK, 147
C-10 Program Listing for Subroutine CHECK. .......... 148
C-ll Program Listing for Function CC . . . . . . . . . . . 151
xi
CHAPTER 1.
INTRODUCTION
Recent developments in digital-circuit technology.have indicated
that the processing of signals with digital hardware, i.e., digital
filtering, has some very significant advantages over the conventional
analog signal processor; particularly, greater flexibility and accu-
racy, smaller size, and potentially lower implementation cost [1],
These advantages have resulted in a great upsurge in the research
and development of digital systems to perform functions previously
implemented only with analog hardware, and even more important,
functions that were considered impossible due to the limitations of
analog components. Emphasis has been placed on the design of soft-
ware as well as digital hardware. Algorithms are being developed
and programmed on digital computers to perform operations that pre-
viously required complete systems of conventional analog design.
This study will concentrate on one of these areas of research
that is becoming increasingly important, namely the application of
digital filters to solve problems of baseband data communications.
Transmission of pulse-amplitude-modulated (PAM) signals over any
realistic channel is impeded both by additive noise and time dis-
persion resulting from the channel's nonlinear phase characteristic.
Consequently, emphasis will be given to the design and implementation
of pulse-shaping digital filters for the purpose of reducing these
two effects. Although filters have been designed to compensate for
these two effects, most designs have required a complicated analog
implementation. Hence, the intent of this study is to develop a
simple-to-use algorithm for the time-domain design. of digital filters
so that the resulting filter can be implemented easily and will have
the desired compensating effect on a data transmission channel.
A background for the study is provided in Section 1.1 by the
discussion of problems inherent in baseband data transmission and
the review in Section 1.2 of previous efforts to solve these prob-
lems. The content of this study is outlined in Section 1.3.
1.1 BASEBAND TRANSMISSION PROBLEMS
The transmitted signal for PAM waveforms is given by the expres-
sion
s(t) = ajk g(t - ktb) , (1.1)
k .
where the coefficient a., assumes one of M possible values, denotedjk
by the subscript j = 1,2,...,M, for the k interval. The time inter-
val between transmitted pulses is t, , and the set of coefficients
{a.,}, which are called "input symbols", are generated by a trans-Jk
mitter data source at the rate of 1/t, symbols per second. For
example, transmission of binary data would require a coefficient set
of at least two values, e.g., a... = A, a,,, = -A.
This investigation will emphasize the use of digital filters
for the generation and detection of the individual pulses g(t) that
make up the transmitted signal. For example, if there is some sort
of encoder-decoder device in the communication system, so as to
increase transmission efficiency, the symbols {a., } will be definedJ
to be the encoder output. The pulses will be assumed to have a base-
band frequency spectrum, i.e., frequency components are present near,
but not .necessarily including, zero frequency. Any frequency trans-
lation operation such as amplitude or frequency modulation of a car-
rier will be assumed to be part of the transmission channel.
1,1.1 Intersymbol Interference
A fundamental impairment to the transmission of PAM waveforms
is the frequency distortion and bandwidth limitations of realistic
channels, e.g., consider the transmitted and received pulses sketched
irx Fig. l-l(a). For this system, g(t) is a rectangular pulse of
unit magnitude and width t, seconds. The transmitted signal would
thus consist of a sum of these pulses, each multiplied by a., . How-JK
ever, as indicated, a channel with impulse response c(t) produces a
time , spread for each pulse due to phase shifting of the spectral
components. Each received pulse y(t) results from the convolution
of g(t) and c(t), denoted hereafter as g(t) * c(t). Therefore, the
received waveform r(t) consists of overlapping pulses, i.e.,
r(t) = ajk y(t - ktfa) . (1.2)
k
This time overlap results in a distortion called intersymbol inter-
ference (ISI) which can cause errors to be. made in the detection of
pulses, even in the absence of noise in the channel.
If the input symbols are to be determined by sampling the
received signal at intervals of t, seconds and comparing the resulting
samples to threshold values, as is often done in simple PAM receivers,
g(t) BASEBANDCHANNELc(t)
H—^y(t)
(a) Received Pulse with Intersynbol Interference
r(t)
• •*
(b) Ideal Raised-Cosine Pulses at Receiver
M1 TRANSMITTERFILTERg(t)
ajg(t) BASEBANDCHANNELc(t)
ajy(t) SAMPLER &THRESHOLDDETECTOR
(c) Block Diagram of Noise-Free Baseband System
Fig. 1-1. Baseband Data Transmission.
the nonzero magnitudes at ± t, and 2t in Fig. 1-1 (a) represent ISI
distortion introduced in the sample values of adjacent pulses. In
this manner, the total peak ISI distortion caused by the k pulse,
which appears distributed in all other sample values, is defined as
£=-°°H t k
The same pulse waveshape is used to transmit all symbols over the
same channel, so the distortion value
D = — (1.4)
is independent of the symbol being transmitted. Hence, reduction of
intersymbol interference is equivalent to reducing the value of D.
Complete elimination of ISI distortion, i.e., D = 0, would
require a waveform y(t) at the channel output with zero magnitude at
the sampling times of all other pulses, i.e., at integer multiples of
t, seconds measured with reference to the pulse peak. Such .a situa-
tion is illustrated by the overlapping pulses of Fig. l-l(b). These
pulses, which correspond to the sequence of transmitted symbols -A,
A, and A, must be summed to give the actual signal r(t) at the channel
output. However, it is obvious from Fig. 1-1(b) that the magnitude of
r(t) would be identically -A, A, and A at the respective receiver
sampling instants -t, , 0, and t, . Thus, the receiver decisions of the
transmitted symbols, where the detector output is denoted by a, , are
error free in the absence of channel noise. The received pulse shape
of Fig. l-l(b) is called a raised-cosine pulse and is of a class that
Nyquist [2] showed would have zero intersymbol interference and require
a bandwidth of approximately l/(2t, ) Hz. Pulses of this class are usedb
as optimum design goals and can only be approximated in practice. Fur-
thermore, it is difficult to approach very closely this type of pulse
with analog filters; however, excellent results can be obtained with
digital filters.
A technique will be developed to design pulse-shaping digital-
filters that can be used to reduce the distortion D, As shown in Fig.
l-l(c), the pulse g(t) is generated with a digital transmitter filter
and applied to a known channel so that the channel output y(t) will
closely approximate the raised-cosine pulse. Note that the k subscript
«". , •
for a., and a, as used in Fig. 1-1(b) is dropped when the transmission
of a single pulse is being considered. .The analog equivalent of. the
transmitter filter has been called an ."equalizer" rather than a pulse-
shaping filter, since it is usually thought of as a device which alters
the composite frequency characteristic in order to reduce I§I distor-
tion. For some applications the channel characteristic c(t) will be
unknown, in which case it will be assumed that the channel is distor-
tion free. Consequently, the pulse applied to the channel, rather than
the channel output, is specified to be of the Nyquist class. A tech-
nique for the design of pulse-shaping digital filters for this applica-
tion will be developed in Chapter 3 and the design technique using
known channel specifications in Chapter 4.
1.1.2 Channel Noise
The received signal as defined in (1.2) was assumed to be noise
free. For many channels which employ coaxial cable or shielded,
twisted pairs of wires, the signal-to-noise ratio is high and the
noise-free assumption is valid. Under these circumstances reduction
of intersymbol interference is of prime importance. However, for low
signal-to-noise ratios the emphasis must be placed on optimum detection
of the transmitted pulse in the presence of noise. The channel noise
is usually modeled by adding a term n(t) to the received signal, i.e.,
r(t) = ak y(t - ktb) + n(t) , (1.5)
where n(t) is assumed to be a white Gaussian noise signal.
It has been shown [3] that a matched-filter detector will give
the optimum (minimum probability of detector error) reception of sig-
nals in an additive white Gaussian noise background. The block diagram
of such a detector is given in Fig. 1-2 for the detection of two
equally likely equal-energy signals, y, (t) and y«(t-). This detector
includes two -filters, • each of which is "matched" to one of the possible
signals, i.e., the filter unit-impulse responses are
hj.Ct) = y±(tb - t) i = 1,2 . (1.6)
A sampler and decision circuit form the remaining portions of the detec-
tor. During each time interval of t, seconds r(t) will consist of the
additive noise plus either y (t) or y_(t). At the end of each interval,A. £• •
the filter outputs are sampled to obtain the decision statistics S.. and.
S . The best estimate of which signal is present, i.e. , which symbol
has been transmitted, is then obtained by comparing the two statistics
as indicated in the block diagram.
The matched-filter detector can be simplified further for signal
sets where all possible signals are multiples of the same unique
function. For example, if it is assumed that the two signals imbedded,
in the noise are y, (t) = A y(t) and y7(t) = -A y(t), where the function
y(t) is assumed to be identically zero outside the interval 0 <_ t <_ t, ,
then S.. = -S0 at time t = t, . Hence, the decision rule can be modi-1 2 b
fied so that all that is required is to determine whether S.. is posi-
tive or negative, which eliminates the need for one of the matched
filters. The PAM baseband received signal (1.5) also consists of
multiples of a single function y(t) plus the noise interference.
Hence, if y(t) satisfies the time-limited constraint, the optimum
receiver for detection of the PAM pulses is a filter, sampler, and
threshold detector as illustrated in Fig. 1-3. Of course, it is
impossible for the function y(t) to be truly time limited at the out-
put of a bandlimited channel. Nevertheless, optimum detection of PAM.
baseband signals can be approximated with this type of matched-filter
technique. The same technique used to design digital filters for
transmission of pulses over unspecified channels will also be used to
design digital filters to implement the matched-filter portion of
this receiver.
1.2 HISTORICAL REVIEW
Efforts to improve the quality of PAM data transmission over
the baseband channel range from Nyquist's work [A] on 'telegraph trans-
mission theory in the 1920's to the present day efforts to design all
digital PAM transmitters and receivers. Summaries of these studies
have been published [5,6] and some.of the more pertinent results,
namely theoretical developments in PAM data transmission, digitally
< «9
tNas wOH •<M M AV) S3 IM U iH .O OS tO < 0)
O U *-»
<S«rt
CM
t/5
tW> Q
.J OCK O OW X Hi-} M Ua, u w£ od H< X wM H O
X-OW Oi35 wU HH J< t-iZ u.
u<u
I
06W «> WM HW J
W PC Ig u x>
H WH .J < l-l CM
faTJ
<e
00
aten•Ho
E
B5
paVMO
aoo•Ho
uo
_ J00ftto
M W <-»X H WC/5 i-l ^2 M 00< U.
T
10
synthesized PAM systems, coding-decoding techniques, and adaptive
equalization will be reviewed in this section.
1.2.1 Theoretical Developments
In 1928 Nyquist published a classic paper [2] which has formed
the basis for the study of PAM data transmission. He developed crite-
ria for the required overall frequency characteristic of a finite-
bandwidth transmission channel so that distortionless transmission
could be achieved. He also illustrated that the minimum bandwidth
required for distortionless baseband data transmission is approxi-
mately equal to the reciprocal of twice the symbol interval, i.e.,
l/2t,. The time interval, t, is called the "Nyquist interval" and
the corresponding bandwidth, l/2t, , the "Nyquist bandwidth". However,
Nyquist's technique required the solution of complicated Fourier inte-
grals; consequently, an approximation technique called the "method of
paired echoes" was developed by Wheeler [7]. He showed that small
sinusoidal perturbations in either the channel amplitude or phase
characteristic would result in echoes in the channel impulse-response;
consequently, the location and amplitude of the echoes could be pre-
dicted by inspection of either frequency characteristic. In 1954
Sunde published a comprehensive summary [8,9] of the theoretical work
of these early researchers.
More recently, emphasis has been placed on techniques to reduce
intersymbol interference by placing an equalizing device at the trans-
mitter and/or receiver, or even in the center of the transmission chan-
nel. Bogert [10] developed what he called a "time reversal technique"
which in theory would eliminate the phase distortion effects of any
bisectional channel. He illustrated that the channel output could be
11
made independent of channel phase characteristics by placing an
equalizer at the channel midpoint to reverse the time base of signal
segments. However, the impractical technique he used for time rever-
sal was to record signal segments at the channel midpoint on magnetic
tape, and then run the recorded signal backwards past the reproduce
heads during playback into the second half of the channel.
Gerst & Diamond [11] developed a technique to specify the
required impulse response of a transmitter filter so that the out-
put of a known channel would be time-limited to the Nyquist interval
of t, seconds. Consequently, ISI distortion would be completely
eliminated. Unfortunately, their technique is only applicable to
channels that are not bandlimited, and requires maximum energy, trans-
fer at frequencies where the channel attenuation is greatest.
Aein & Hancock [12] considered the problems of both background
channel noise and ISI distortion. They assumed that the received
pulse would only overlap in the following Nyquist interval, and then
derived the impulse response for the matched-filter receiver which
would be optimum under this assumption. Their calculated probability-
of-error curves illustrated the performance improvement of their
receiver over the standard matched-filter detector of Fig. 1-3.
George [13] removed the restriction on the location of ISI distor-
tion and performed a similar analysis to define an optimum matched-
filter receiver. He assumed the noise to be a sum of ISI distortion
and channel noise.
Gibby & Smith [14] extended the distortionless transmission
criteria of Nyquist by removing the bandwidth restrictions. Their
results are generalized to include channels with either no low
12
frequency response or bandwidths that exceed the Nyquist bandwidth.
Constraints were derived on the real and imaginary parts of the chan-
nel transfer characteristic to ensure distortionless transmission.
The results of a number of efforts to jointly optimize both the
transmitter and receiver filters have been published. Tufts [15]
studied the problem of joint transmitter and receiver filter optimiza-
tion to minimize the mean-square-difference between the channel input
symbols and the receiver output estimates for a finite sequence of
data. The difference was assumed to result from the combined effects
of intersymbol interference and channel noise. He showed that the
optimum receiver was the cascade of a matched filter and a tapped
delay line with time-varying coefficients. The corresponding opti-
mum transmitted pulse waveform was required to be time limited to
one Nyquist interval and to be a time-varying function. Aaron &
Tufts [16] proved that this structure for minimizing the mean-square-
difference also minimizes the average probability of detector error
over a finite sequence of symbols. Coefficients of the tapped delay
line calculated by both minimization techniques agree closely. How-
ever, calculation of these tap coefficients requires the difficult
solution of simultaneous nonlinear equations, and thus severely
limits the technique for practical system design. Smith [17] removed
the restriction that the transmitted pulse be time limited and also
obtained a transmitter-receiver filter combination which was time
invariant. Furthermore, his approach did not require the solution
of nonlinear equations, but he could only minimize the mean-square-
difference to an approximation. Berger & Tufts [18] extended the
optimization study to include the effects of timing jitter and also
13
compared performance characteristics of the jointly optimized PAM
systems to the theoretically attainable channel capacity as derived
by Shannon.
1.2.2 Digital Synthesis Developments
The results of theoretical attempts to optimize PAM system
performance as described in the previous subsection usually require
the accurate generation of complicated signaling waveforms and the
equally accurate synthesis of matched filters with specified impulse
responses. Technical and economical problems associated with con-
ventional analog techniques for waveform generation and matched filter
realization have resulted in the recent attempts to design digital PAM
transmitters and receivers.
Voelcker [19] was one of the first to illustrate the use of
digital hardware to generate PAM signals with his binary transversal
filter (BTF). His technique, which was actually a hybrid realization,
was to replace the tapped delay line of the conventional transversal
filter with a shift register and to use resistive summing networks to
form the tap coefficients. He didn't consider the design problem of
specifying filter coefficients but did analyze in detail the sources
of distortion inherent in the BTF and how to reduce their effects.
Since the summing portion of the filter is analog, the problems of
resistor precision, loading effects, and voltage variations in the
shift-register stages are still disadvantages to this type of signal
generation.
Van Gerwen & Van Der Wurf [20] incorporated the BTF and a digital
modulator into an experimental vestigial-sideband data transmitter.
14
By using digital circuitry, they were able to implement the trans-
mitter entirely with resistors and transistors. Consequently, the
complete transmitter, consisting of 203 transistors and 172 resistors,
2was integrated into one 2.1 x 2.7 mm chip. Satisfactory transmission
was obtained up to a signaling rate of 1 Mbps. They also discussed
the digital implementation of other modulation techniques such as
frequency-shift keying and orthogonal modulation as well as the use
of digital filters in receivers.
Nowak & Schmid [21] studied the problem of designing nonrecursive
digital filters* to have the raised-cosine frequency characteristic
specified by Nyquist. They used a Fourier series expansion of the
raised-cosine magnitude characteristic to determine the nonrecursive
filter coefficients. A major portion of their study was devoted to
measuring the filter's minimum stop-band attenuation and impulse-
response shape as the filter clock frequency, number of terms in the
Fourier series, and type of raised-cosine characteristic were varied. „
Croisier & Pierret [22] have shown theoretically that a digital
modulator can be used to generate vestigial-sideband and phase-
modulated signals which are identical to those obtained from analog
techniques. They reported four types of digital modulators which
have been produced, plus one experimental model. The production units
generate either two- or four-level pulses with carrier frequencies -of
2.8 kHz to 64 kHz, while the experimental unit has eight-level pulses
with a carrier frequency of 2.8 kHz.
*The nonrecursive digital filter and the corresponding Fourierseries expansion technique for its design will be described in Section2.1.
15
Even though emphasis is being placed on the use of digital hard-
ware in PAM systems, it can be seen from recent literature [23-26]
that researchers are still investigating analog pulse-shaping network
techniques.
1.2.3 Related Developments
Developments discussed previously were concerned primarily with
the analysis and design of the PAM transmitter and receiver filters,
since these are the areas of emphasis in this investigation. Two
other areas which have become quite important in PAM system design
are the use of encoding-decoding devices and adaptive equalization.
Several authors [27-33] have discussed the application of coding
techniques to increase the data transmission rate of binary data with-
out a corresponding increase in the required bandwidth. Signaling at
a rate higher than the theoretical Nyquist limit is accomplished by
allowing controlled amounts of intersymbol interference. The encoding
device for this method converts the original binary source sequence
into a sequence of symbols (a.. } which are applied to the transmitter.Ik
filter. Encoding eliminates the interdependence of detected symbols
at the receiver, so that a single detector error will not be propa-
gated and result in an error burst. The method requires that the
equivalent impulse response of the cascade network consisting of trans-
mitter filter, channel, and receiver filter be of a special shape in
order to control the allowable intersymbol interference. Kretzmer [31]
has tabulated a number of these impulse responses which he calls
partial-response pulses. By allowing intersymbol interference in the
system impulse response, more than two possible sample levels exist at
16
the receiver. Consequently, a decoding device is used to generate
binary estimates from the multilevel samples. Since more than two .
levels must be detected at the receiver, this technique is more
sensitive to noise. Nevertheless, the possibility of an increased
data rate without increased bandwidth is a definite advantage for
certain low-noise environments.
Lucky, et al. [34-47] have developed the technique of adaptive
equalization for use with time-varying channels such as are found in
the switched-line telephone network. High-speed data transmission
over channels with only preset equalizers at the transmitter and/or
receiver cannot be sustained for widely time-varying channel char-
acteristics. Consequently, an automatic equalizer, consisting of an
adjustable transversal filter and associated control circuitry, has
been developed to modify automatically the filter tap coefficients.
Various algorithms exist for determining the proper tap settings.
One technique is to transmit a test signal through the cascaded
channel and automatic equalizer during a so-called "training period"..
Typical test signals include a sum of sinusoids equally spaced
throughout the channel bandwidth, a sequence of isolated pulses, and
a wide-band pseudo-noise signal. The equalizer output response is
compared to a locally generated reference response and the corre-
sponding error signal used to increment the tap settings so as to
reduce error. A more recent technique [37], called the "decision-
directed method", is to continually adjust the tap settings during
the transmission of actual data. In this scheme the detected symbols
at the receiver are assumed to correctly represent the input symbols
(which should be a valid assumption if the equalizer is in
17
near-optimum adjustment) thus eliminating the. need for a locally-
generated reference. The cross correlation between the.regenerated
input symbols and the actual received waveform is used to determine
the error signal for tap-setting purposes. Problems exist in the
initialization of either of these tap-setting algorithms. The test-
signal technique operates on the principle of peak-distortion mini-
mization and the algorithm will not converge if the initial peak
distortion is greater than some critical value. The decision-
directed technique, which minimizes mean-square distortion, takes
an abnormally long time to converge if the initial tap settings do
not place the equalizer in near-optimum adjustment.
1.3 OUTLINE OF STUDY
Problems associated with PAM baseband data transmission were
reviewed in Chapter 1. The remaining chapters are devoted to the-
design of pulse-shaping digital filters to solve some of these
problems.
Chapter 2 concentrates on the class of digital filters to be
employed as pulse-shaping devices, i.e., the finite-duration impulse-
response filter. This class, which consists of the digital trans-
versal filter and the frequency-sampling digital filter, can be
implemented in hardware or by a general-purpose computer algorithm.
Block diagrams, that would be used for a hard-wired digital-logic
implementation, and difference equations, that would be programmed
for a general-purpose computer implementation, are included for each
filter. The design techniques reported in the literature., which are
18
mainly frequency-domain procedures, are reviewed and design examples
are included.
An optimization algorithm is developed in Chapter 3 to design
the frequency-sampling digital filter from impulse-response specifi-
cations. This technique is applicable to design digital filters to
shape pulses for data transmission over unknown channels or .for
matched-filter detection of pulses in noise. Equations are derived
for the filter impulse response as a linear function of unknown
multiplier coefficients, which must be determined to complete the
filter design. It is then shown how these equations can be employed
to constrain the filter impulse response to meet certain time-domain
specifications. A linear-programming optimization algorithm is used
to solve the constraint equations for the unknown filter coefficients.
Details regarding linear programming and its computer implementation
for digital filter design are found in the appendices. The procedures
for designing digital PAM transmitter filters and digital matched
filters are outlined by the use of examples.
Application of the optimization algorithm to the design of
digital filters for equalization of data channels that have known
characteristics is developed in Chapter 4. Equations which are
linear functions of the equalizer multiplier-coefficients are derived
for the equivalent impulse response of the cascaded digital-filter
equalizer, D/A converter, channel, and receiver filter combination.
These equations are then used in the manner of Chapter 3 to constrain
the received pulse shape so that the linear-programming algorithm can
be used to specify the digital equalizer coefficients. Examples are
19
included for the design of both transversal filter and frequency-
sampling filter equalizers.
Finally, in Chapter 5 conclusions are drawn from the results
of this investigation and problems for future study are recommended.
CHAPTER 2
FINITE-DURATION IMPULSE-RESPONSE FILTERS
A class of digital filters characterized by a finite number of
nonzero values in the impulse-response will be considered in this
chapter. This class of filters has particular advantages for time-
domain design techniques since the impulse response need be specified
for only a finite time interval. Specifically, the impulse-response,
which is denoted as h(mT), is defined as a set of N values
{h_.,hn ,. . . ,h.T n} with h = 0 for all other values of m. Two methods1) 1 N—1 m
exist for the realization of this filter type, viz., the digital
transversal filter and the frequency-sampling digital filter, which
are nonrecursive and recursive implementations respectively.
2.1 DIGITAL TRANSVERSAL FILTERS
The digital transversal filter is a straightforward digital
implementation of the analog transversal filter that was originally
introduced by Kallman . [48]. The use of digital logic affords more
precise filtering at a lower cost and smaller size [19,49] than is
possible with the tapped delay line and resistive summing network
of the conventional analog transversal filter.
2.1.1 Transversal Filter Characteristics
A block diagram of the digital transversal filter is illustrated
in Fig. 2-1. Each square signifies a delay element of T seconds, so
20
wV
10ooI*
•*.89
MH
00T4Q
I«M
00•HUu
22
a collective delay of NT seconds can be .realized by an N-stage shift
register. The multiplication and summation elements are constructed
from digital logic circuits. It should be noted that each of the
signal samples, x(nT) and y(nT), is actually an M-bit digital word,
Mwhere 2 is the number of quantization levels used in the digital
representation. Consequently, each set of time delays is realized
by a parallel bank of M shift registers and the arithmetic elements
multiply or add M-bit digital words. It can be observed from
inspection of Fig. 2-1 that the difference equation for the trans-
versal filter is written as
N-l , • . .
y(nT) = > h x(nT - mT) . (2.1)i_ _ , mm=0
Taking the z-transform of (2.1) gives the corresponding transfer
function
N-l
. . . (2.2)m
m=0
The sequence
(2.3)
applied to a digital filter corresponds to the unit impulse which is
applied to a continuous filter, because the response to this particu-
lar sequence is the inverse z-transform of the filter transfer func-
tion. Hence, the reason for setting the transversal-filter multiplier
coefficients equal to the desired unit-impulse response h.,...,hM_1
23
can be seen by applying the sequence {1,0,0,...} to the network of
Fig. 2-1. It will be assumed that there are no delay elements prior
to the first multiplier tap. Hence, the first of the N impulse-
response values will occur at time zero, i.e., h = h(mT). It willm
also be assumed that x(n-T) = 0 for n < 0.
Since (2.1) is the discrete equivalent of the convolution inte-
gral as applied to continuous linear systems, the nonrecursive reali-
zation is sometimes called a "direct-convolution filter". Stockham
[50] has shown that by using the fast-Fourier-transform (FFT) algo-
rithm to calculate y(nT), the required computation time can be
reduced significantly for sufficiently large N. When the FFT is
used in this manner, the realization is called a "fast-convolution
filter".
In addition to having a finite impulse response, other dis-
tinctive characteristics of the transversal filter include the
absence of stability problems in the realization, a piecewise-
linear phase characteristic which generates a uniform time delay
and the need for a large number of coefficient multipliers to obtain
sharp amplitude characteristic cutoffs. Since the transfer function
(2.2) has only zeros there is no possibility of poles falling outside
the z-plane unit circle; hence, the filter is inherently stable. The
amplitude and phase characteristics will be illustrated shortly.
2.1.2 Fourier-Series Design Technique
Several conventional methods for the design of nonrecursive
filters have been reviewed by Kaiser [51]. These techniques, which
are all frequency-domain procedures, have in the past formed the
basis for transversal filter design. Perhaps the most useful has
24
been the Fourier series expansion technique. Since the desired
digital filter frequency characteristic, H(f), must always be
periodic, it can be expanded in a Fourier series over the range
|f | <_ 1/2T, i.e. ,
CO
an V"1
H ( f ) = -^- + ) [a cos(2TrnTf) +b sin(2TrnTf)] , (2.4a)/ l_ , n n
n=l
where1/2T
-1/2T
a = 2T H ( f ) cos(2TrnTf) df (2 .4b)n I
and 1/2T
b = 2T I H(f) sin(2imTf) df . (2.4c)
-1/2T
The Fourier-series coefficients can be shown to represent the desired
impulse-response values. Consequently, the desired filter coeffi-
cients are obtained by: (1) replacing the sinusoidal functions with
their Euler expansion equivalents, (2) making the standard substitu-
tion
z = e , (2.5)
and (3) comparing the resulting transfer function with (2.2). Of
course, the series must be truncated to obtain a finite number of
coefficients, and in general the filter will have complex-valued
coefficients and will require future values of the input sequence,
i.e., the summation in (2.2) will include negative values of m.
As an example, Kaiser has considered the problem of designing
an ideal digital transversal differentiator. The Fourier-series
coefficients which correspond to the desired frequency characteristic
25
H ( f ) = j2Tif |f j £-|Y » ( 2 '6)
can be found by.substituting (2.6) into (2.4b) and (2 .4c) . giving
a = 0 n = 0 ,1 , . . . ,Nn
and . . (2 .7 )
bn = | (-l)n+1 n = l , 2 , . . . , N .
The transfer function is obtained by substituting (2.7) into the
exponential form of (2.4a) with the series truncated to N = 9.
-9Then the transfer function is multiplied by z to eliminate the
need for future input values which gives a transfer function with
18 non-zero coefficients, i.e.,
9 . " ' • ' • • ' • . - •
H(z) = V - =~— [zn~9 - z~n~9] . . (2.8)
n= l . • ' ' . . ' • • • . ; '
Characteristics of the transversal filter corresponding to (2.8)
with T = Is are given in Fig. 2-2.* The Gibbs phenomenon evident
in the amplitude characteristic is due to the series truncation,
which illustrates the transversal-filter property that a large
number of taps are required for sharp amplitude cutoffs, i.e., more
terms are needed in the series expansion. As expected, the phase
characteristic is exactly linear over the entire bandwidth. The
linear phase shift which has been subtracted from the ideal 90°
—9phase shift results from the z term in (2.8). It can be seen
*A11 illustrations of digital filter frequency- and time-domaincharacteristics were generated with the ZFRAPP and ZTRAMP subroutineswhich are described in the technical report by Hputs & Burlage [52].
26
balcharacteristic
u 1/2T
(a) Amplitude Characteristic
—it
(b) Phase Characteristich(mT)
1 h
-1
27T
(c) Impulse Response
Fig. 2-2. Frequency- and Time-Domain Characteristics of DigitalDifferentiator Designed by Fourier Series Technique.
27
from inspection of Fig. 2-2(c) that the impulse response contains
the same 18 values predicted by .(2.8) plus the zero value at 9T
corresponding to an = 0.
2.1.3 Window-Function Design Technique
Reduction of the Gibbs phenomenon! has been studied by Kaiser
and others [53-56] resulting in the development of the so-called
"window function" design technique for transversal filters. First,
a Fourier series expansion of the desired frequency characteristic
is obtained. This series is then multiplied by the window function,
which is time limited and is used to modify the series coefficients
so as to reduce the normal truncation error. Since multiplication
in the time domain is equivalent to convolution in the frequency
domain, multiplication of the time-domain coefficients by a proper
window function results in a smoothing of the sharp transitions
found in the desired frequency characteristic, which then can be
more closely approximated. The modified Bessel window function
discovered by Kaiser, i.e.,
W(t) = (2.9)
0 t > T
is shown in Fig. 2-3 (a) and has been used to redesign the ideal
differentiator. Multiplying each coefficient of (2.7) by a cor-
responding window-function value w(nT) , with T = 9T, results, in
a transversal filter which has the characteristics shown in Fig.
28
w(t)
- T - - 0(a) Window.Function
|H(f)
,4-irT
. 1/2T(b) Amplitude Characteristic.
h(mT>,
H 1 . . I • t27T
Fig..2-3.
' -1]- ' I . . . - • ;
(c) Impulse Response .
Frequency- and Time-Domain Characteristics of TransversalFilter Designed by Window Function Technique.
29
2-3. It is obvious that the ripple effect, so evident in Fig.
2-2(a), has been reduced significantly. Discussion of the advan- .
tages, disadvantages, and tradeoff possibilities of .various window
functions are found in the previously cited references..
Frequency-domain design techniques developed subsequent to
Kaiser [51] have been primarily applications of optimization algo-
rithms to minimize errors between the desired and actual filter
frequency characteristic. Since these techniques are applicable
to both the transversal and frequency-sampling filter realizations,
discussion will be deferred until the frequency-sampling filter has .
been described.
2.1.4 Time-Domain Design Techniques
Techniques for designing digital transversal filters in the
time domain have not received much emphasis in recent years nor have
they been developed to the degree of the frequency-domain methods.
The majority of the work that has been done is mainly applications
of classical numerical analysis procedures for prediction, smoothing,
and differentiation. Monroe [57], in summarizing these procedures,
has derived equations to define the N coefficients, h , of (2.1) som
that the designed filter has a maximum noise reduction capability
while simultaneously having desired differentiating and/or pre-
dicting characteristics. The input to the filter is assumed to be
a polynomial of finite degree with additive white noise. He has
also developed a method to specify the coefficients {h } so that
the filter step response will meet desired criteria, such as over-
shoot, and still have noise rejection capabilities.
30
Gavin, Ray, and Rhyne [58] have considered the time-domain
design of an optimal transversal filter which would give an impulse
output when an expected seismic waveform, called a Ricker wavelet,
is applied to its input. They studied three error criteria for
indicating the difference between the actual filter response and
the ideal impulse, namely, a weighted-mean-square-error, a weighted-
absolute-error, and a minimax error. Filter coefficients that
would minimize each of these error functions were determined with
a linear programming algorithm. One problem with this technique
was that all of the resulting designs were of the high-pass fre-
quency characteristic, and could thus amplify noise components
that might be present in the seismic waveform.
2.2 FREQUENCY-SAMPLING DIGITAL FILTERS
The frequency-sampling filter, a recursive realization of
the finite-duration impulse response filter, was first introduced
by Rader & Gold [59]. The name of the filter results from their
frequency-domain design technique rather than an implied descrip-.
tion of the filter realization or operation. :
2.2.1 Frequency-Sampling Filter Characteristics
A block diagram of a frequency-sampling filter is illustrated
in Fig. 2-4. The network consists of a comb filter in series with
a parallel combination of 1 + [N/2]* digital resonators each
* The notation I[N/2] will be used to indicate the integerportion of N/2.
31
J-lOJ
CO04O
§co
•H6C
OCc
0.ETO
COIXuc0)DcrOJ
£N
o•H
32
"tuned" to a different frequency. The reasons for this terminology
will become evident when the filter frequency characteristics are
considered. First, however, the filter difference equations and
transfer functions must be derived.
The frequency-sampling digital filter shown in Fig. 2-4 is
described by the following difference equations:
m(nT) = x(nT) - x(nT - NT) , (2.10a)
HyQ(nT) = m(nT) + yQ(nT - T) , (2.10b) .
,_ ,ky. (nT) = ( :/' 2IL [m(hT) - cos(2irk/N) m(nT - T) ]
K. JN K.
- 2 cos(2irk/N) y , (nT - T) + Yk(nT - 2T)
k = 1,2,..., I [N/2] , (2.10c) ;
and
y(nT) = yk(nT) ' (2.10d)
k=0
An overall transfer function could be derived by taking the
z-transform of each of these equations, as was done for the trans-
versal filter in (2.2), and then combining the resulting expres-
sions. Alternatively, the approach of Gold & Jordan [60] will
be followed in order to better illustrate certain properties of
the filter. The discrete Fourier transform (DFT) of the finite
impulse response sequence {hn,...,h } yields
33
N-l
H(kfl) = h e k= 0,1,. ...N-l , (2.11)/ « mm=0
where fi = 2ir/NT is the increment between samples in the frequency
domain. Those samples, H(kfi) , correspond to evaluation of H(z). at
N equally-spaced points around the unit circle in the z-plane, and
consequently are values of the continuous frequency response for
the filter. Taking the inverse DFT of these frequency samples
yields an expression for the impulse response as a function of the
samples, namely
N-l
h =i Y H(kO) ejktoT . (2.12)m IN / .k=0
Hence, by substituting (2.12) into (2.2), interchanging summations,
and using the closed-form expression for the geometric series, the
following transfer function is obtained which is also a function of
the frequency samples.
-N" z (2'13)- — N — , jTkn -1 '
k=0 L e Z
This function could be realized with a network very similar to
-Nthat of Fig. 2-4. The term 1 - z represents the transfer func-
tion for the comb filter and the terms H(kfi)/N, which may be
complex valued, represent the output multiplier coefficients for
the resonators. The primary difference is that each resonator
would be of first-order with a single complex-coefficient multi-
plier. By assuming that
34
H(kJJ) = H*(Nft - kfi) , . (2.14)
complex conjugate terms in (2.13) can be combined in the manner
H(kfl) H(NQ - kfl)e^V1 1 - JT(N-k)n -1e z L e Z (2.15).
2 Re{H(kfl)> - 2[Re{H(kfl)> cos(Tkfl) + Im{H(kfQ} sin(Tkfl)] z"1
1-2 cos(TkQ) z"1 + z~2
For real H(kfi) , (2.15) becomes the transfer function corresponding
to Fig. 2-4, i.e. ,
. H ( . j i i - cos(2Trk/N)z0_ + V _
L -I- . / > • -i r* / rt i ' . /»»\ -*-"• Z . - X ~~2 cos(2irk/N)z + z
."1 X
(2.16)
where real H(kn) are denoted by R. . The real freiquency samples
k 'have been multiplied by (-1) since Rader & Gold [59] have shown
that this multiplication is necessary to have a smooth interpola-
tion through the frequency samples by the continuous frequency
response of the filter. Although the transfer function (2.16)
holds for all odd N, it is only valid for even N if H/.j = 0. If
this is not the case, the function can be corrected by replacing
the H^, term of the summation with (-1) H^. /(I + z~ ) .
2.2.2 Conventional Frequency-Domain Design Techniques
All techniques that have been used to design frequency-
sampling filters have been frequency- domain methods. The original
technique of Rader & Gold [59] was to specify the filter multiplier
kcoefficients (-1) ^i/N directly from the samples E of the desired
35
continuous amplitude frequency characteristic taken at N equally-
spaced frequencies. An insight into this design technique can be
obtained by inspection of Figs. 2-5 and 2-6. Significant poles
and zeros of (2.16) are illustrated in the z-plane of Fig. 2-5
for a three-resonator filter with N =20. The comb filter results
in 20 equally spaced zeros around the unit circle.. Therefore, as
frequency is increased from zero to the half-sampling frequency,
1/2T, corresponding to movement midway around the unit circle,,the .
comb-filter magnitude will appear as a series of 10 equal-magnitude
lobes or "teeth" with the zero value between adjacent lobes resulting
from a z-plane zero. On this semicircle, each resonator is repre-
sented by a complex pole which cancels.the effect of the comb-filter
zero at that resonant frequency. Consequently, those frequency
components contained within a bandwidth centered, on the resonant,
frequency are passed by that resonator stage, and the overall filter
frequency characteristic is determined by the sum of these individ-
ual passbands.
A typical set of frequency samples which would correspond to
the pole-zero plot of Fig. 2-5 are given in Fig. 2-6. This design
of a filter with three resonator stages and a comb filter with 20
stages is an attempt to obtain an ideal low-pass frequency charac-
teristic. Frequency- and time-domain characteristics for the fil-
ter are plotted in Fig. 2-7. It is evident from the amplitude
characteristic that the continuous response passes through each of
the specified frequency samples, even though the ideal character-
istic could not be obtained. The piecewise linear phase shift
over the entire frequency range and the finite impulse response
36
unitcircle
4- z-plane
\O
\
\
-»
Fig. 2-5. Pole-Zero Plot for Low-Pass Filter.
I i
N - 20
T - 1
1 1 1 10.2* O.Air 0.6w 0.8* l.Oir
Fig. 2-6. Frequency Samples for Low-Pass Filter.
37
./'Ni/'X/'N..1 .2 .3 .4 .5
(a) Amplitude Characteristic
-TT/2 -
-IT
(b) Phase Characteristic
h(mT)
.2
.1
10T 30T
(c) Impulse Response
Fig. 2-7. Frequency- and Time-Domain Characteristics of Frequency-Sampling Filter.
38
are distinctive characteristics of this type of filter as they were
for the transversal filter.
The reason for the impulse response being finite can be seen by
applying the input sequence {1,0,0...} to the network of Fig. 2.4.
The comb filter causes two sequences to be applied to each resonator,
i.e., the original sequence and a delayed negative version NT seconds
later. Then by taking the inverse z-transform of a resonator trans-
fer function to obtain
2HH (mT) = (-1) -:-£• cos(2Trkm/N) , (2.17)K IN
it is obvious that the resonator impulse response repeats at NT
seconds. Hence, the delayed negative impulse cancels the effect of
the original impulse giving a zero output for all times after NT
seconds.
Any implemented digital filter requires multiplier coefficients
to be represented by digital words having a finite number of bits.
This coefficient quantization error can have a serious effect for the
frequency-sampling filter which requires poles to be placed directly
on the unit-circle stability boundary. Weinstein [61] and others who
have studied this problem have shown that acceptable performances can
be obtained by moving all the critical poles and zeros slightly inside
the unit circle, i.e., at a radius of r = 1 - 6. The value for 6 can
usually be in the range of 2 to 2 with little noticeable change
in the filter characteristics.
2.2.3 Optimization Technique for Frequency-Domain Design
Recently developed procedures to design frequency-sampling fil-
ters [62-64] employ optimization algorithms to minimize the maximum
39
frequency response deviation of the designed filter from the ideal
response over a specified frequency range. The basic function used
in the optimization procedures can be derived by making the substitu-
tion z = e in (2.13) and manipulating the resulting expression to
yield
N-l „ -jirk/N . . ,.„,,„>.
E H e J sin(u}NT/2)
sinC.T/2 - .k/N) ' (2'18)N k=0
This is an equation for the continuous frequency response of the fil-
ter as a linear function of its real frequency samples R.. Hence, it
is possible to apply linear optimization techniques to select a set
of H, values to minimize or maximize some characteristic of the con-
tinuous frequency response. Gold & Jordan [62] have used this tech-
nique to minimize the maximum sidelobe amplitude in the out-of-band
response for a low-pass filter. A frequency characteristic resulting
from their design procedure is compared in Fig. 2-8 with a character-
istic resulting from the original procedure. Both filters have
N = 256, T = 1 s, Hk = 1 for 0 £ k £ 31 and = 0 for 35 £ k <_ 128.
The frequency samples H , H , and H , in (2.18), which were set to
zero for the original design, define a transition band whose values
are optimally selected in the second design as 0.7, 0.225, and 0.02,
respectively. By using the optimization technique, the maximum out-
of-band response is reduced from -28 dB to -85 dB.
Both the original and optimum frequency-sampling design proce-
dures can be used to design transversal filters. After obtaining
the set of H 's by either method, the inverse DFT, (2.12), is usedtc
to calculate the corresponding transversal filter multiplier
40
V
cr•HGu01H
• o^^ken
ot
oiHI
1V«D
§
V O1
•a <H9 eu «•H u
-1 H
o•o *t
o o o00 NI <H
^ tOX TJ
OCOI
oT
ser
u
H•H
e•rteo
TJo
s*+>eg
O.
**ils s
00
<M
•eo
41
coefficients {h }. Unfortunately, this approach results in a trans-
versal filter with N multipliers, 256 for the above example, and
consequently a more inefficient design is obtained than with the
recursive realization. This illustrates one of the main advantages
of the frequency-sampling filter over the transversal filter, i.e.,
fewer multipliers are needed to obtain sharp cutoff-frequency charac-
teristics.
No technique to go directly from time-domain specifications to
filter coefficients has been reported for the time-domain design of
the frequency-sampling filter. This type of time-domain design is
the subject of the next chapter.
CHAPTER 3
DIGITAL FILTER DESIGN FROM IMPULSE-RESPONSE SPECIFICATIONS
Many of the results which have been derived for optimum PAM
data transmission, as outlined in Section 1.2.1, were expressed as
equations for the required impulse response of the transmitter and
receiver filters. However, no straightforward technique has been
developed to design and synthesize filters directly with digital
hardware from these time-domain specifications. An algorithm is
introduced in this chapter for that purpose. The procedure consists
of three steps. First, equations are derived for the impulse response
of ~a digital filter as a linear function of its unknown multiplier
coefficients. Next, the impulse response is constrained with these
equations to have appropriate values at certain critical time points.
Finally, a linear programming routine is 'applied to solve the con-
straint equations and thus define the unknown filter, coefficients.
3.1 TIME-DOMAIN DESIGN PROCEDURE
Expressions are derived in this section for the frequency-sampling
filter impulse response, h , as a function of its unknown coefficients,m
H, , k = 1,2,...,I[N/2]. This derivation is not needed for the trans-
versal filter since its multiplier coefficients are equal to the speci-
fied impulse-response values. The inverse DFT of a sampled frequency
characteristic, which was obtained in Section 2.2, is an equation for
the frequency-sampling filter impulse response, namely
42
N-l
h = I V H ejktolT m = 0,1 ..... N-l. (3.1)
m N / . kk=0
A z transfer function (2.16) was derived by assuming that the fre-
quency samples were real and possessed the symmetry IL = H .
These restrictions were assumed to simplify the design problem. If
the K were not real an optimization algorithm with complex arith-
metic would be required. Furthermore, if the symmetry R, = HM_I, did
not hold, filters with complex impulse responses would be possible.
With these two assumptions (3.1) can be simplified. However, the
cases for odd and even values of N will be considered separately.
3.1.1 Odd Number of Impulse-Response Values
Typical frequency samples for the N-odd case are illustrated
in Fig. 3-l(a). If the Hn sample is ignored, the samples are sym-
metrical about the line k = N/2. Therefore (3.1) can be written as
(N-D/2
h = n ^ J* [6J2lTkm/N + eJ2ir(N-k)»/N (3i2)
m N / . Nk=l
and then simplified to give
(N-D/2"1
h = T T + -rr cos(2Trkm/N) , (3.3)m N £_, IN
k=l
which is a real, linear function of the multiplier coefficients.
It can be seen from (3.3) that the impulse response for this
case has the symmetry property h = hN_ for m = 1,2, . . . , (N-l) /2.
kIf the multiplier coefficients are multiplied by (-1) , as was done
^ ' ^axis ofsymmetry
O I O
44
o i o
, I_L , L »
\
3 I
(a) N - 7
O I O
O I O
o
(b) N - 6
Fig. 3-1. Comparison of Frequency-Sample Symmetriesfor Odd and Even N.
45
in (2.16) to obtain a smooth interpolated frequency response, the
resulting impulse response
(N-l)/2 ?Hn v~" k \ '
•h =7T+ ) (-D -rr cos (2Trkm/N) . (3.4)m N {_ _ , N .
k=l
still has the symmetry h = h . However, the impulse- response peak
for (3.3) occurs at m = 0, whereas for (3.4) the peak would occur at
m= (N±l)/2. This is evident by comparing Figs. 3-2 (a) and 3-2 (b),
where the individual resonator impulse-response envelopes for two
filters are shown. For the first filter, which corresponds to Fig.
. . . k • •3-1 (a) and does not contain the (-1) factor, the individual enve-r
lopes are all in phase at t =0. Conversely, the envelopes for the
ksecond filter which has the (-1) H, coefficients are in phase at
t = NT/2. .
3.1.2 Even Number of Impulse-Response Values
Frequency samples for the N-even case, as illustrated in Fig.
3-l(b), have an axis of symmetry at N/2 which is also the location
of a frequency sample. Consequently, both the k=0 and k=N/2 samples
must be considered separately in writing the impulse response equa-
tion. With these observations, (3.1) becomes
h = r^ + Y (-l)k-j^ cos(2Trkm/N) + (-1) cos(imr) - .(3.5)m IN L _ i " IN
k=l
kThe inclusion of the (-1) term again results in a shift of the
impulse-response peak; this time from m = 0 to m = N/2. The impulse
46
response symmetry h = h,,T also holds, as can be seen by inspectingm N—m
Fig. 2-7(c) where the peak occurs at N/2 = 10.
The signal component illustration of Fig. 3-2 also provides
insight into the problem of designing frequency-sampling filters to
have specified impulse responses. In a time-domain analysis, multi-
plier coefficients {H } correspond to the components present in aK.
Fourier series expansion of the impulse response. They are the weights
of the sinusoidal Fourier components plotted in Fig. 3-2. Hence, the
linear-programming routine can be thought of as a way to determine
which Fourier components are required and what their corresponding
weights should be so that the sum of the resulting sinusoids will
give the desired impulse response. Of course, these component values
are evaluated and added only every T seconds resulting in the discrete
filter output.
3.1.3 Formulation of Constraint Equations
Equations (3.4) and (3.5) are discrete-valued expressions which
can be used for the linear-programming time-domain design of the
frequency-sampling filter. An expression for the unit-impulse
response envelope, which is given by the sum of the individual reso-
nator impulse-response envelopes, can be obtained from (3.4) or (3.5)
by making the substitution t = mT in (3.4) and (3.5), i.e.
R (N-l)/2 2R
h ( t ) = j p + ^ (-l)k -^ cos(2TTkt/NT) (3.6)
k=l
and
47
-2 —
(a) hk(t) - -—• cos(2irkt/NT)
-2
cos(2irkt/NT)
Fig. 3-2. Comparison of Impulse-Response Components for TwoSets of Multiplier Coefficients.
48
h(t) = + (~1)k COS <2lTkt/NT) + (-D -" cos(Trt/T)
k=l(3.7)
These expressions are continuous over the required range 0 _<_ t <^ NT
and are valid for N odd and even respectively. The envelope is a
good approximation to the continuous signal that would be generated
by a D/A converter and smoothing filter at the digital filter output.
Since continuous linear functions of the multiplier coefficients are
now available, the impulse-response slope and other higher deriva-
tives of h(t) can be constrained. For example, the required slope
equation for N odd is .
(N-D/2
h ' ( t ) = -^- V k(-l)k+1 H sin (2Tikt/NT) . (3.8)NT ^-J
k=l
Equations (3.4) through (3.8) have been written in a form such
that the theory of linear programming can be applied to solve for
the unknown H, , k = 0,1,...,1[N/2]. A typical set of equations which
might be used to specify a desired impulse response can be stated as
follows. The slope of the impulse response at time t.. , i.e.,
is to be minimized subject to the constraint equations
h(t;L) = a21 HQ + a22 Hx + ... + a2R HR_1 >_ 1 (3.9b)
and
h(t2) = a31 HQ + a32 Hj_ + ... + a3R HR-1 = 0 . (3.9c).
49
The coefficients a., are knoxm, e.g., a = (-2/N)cos(2Trt /NT). The
H, for k = R to I[N/2] are set to zero. Emphasis in this study will
be on the design of low-pass and band-pass filters for which,
frequency samples in certain regions are zero. Hence, the parameter
R is defined where the frequency samples from k = R to k = I[N/2]
are set to zero during the constraint equation formulation. The use
of linear programming to solve for the set of R unknown multiplier .
values {H, } will be discussed in the two remaining sections of this
chapter.
3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM
Linear programming is an iterative procedure to solve for the
set of R non-negative variables {x.} which maximizes or minimizes
the linear function
Z = + . . . + CRXR , (3.10)
subject to the M linear constraint equations
ailXl + ai2X2 SiRXRb i = 1,2,...,M . (3.11)
Without loss of generality, it will be assumed that all b. >_ 0 and
that Z is only to be maximized. Equation (3.10) is called the
"objective function". A solution to (3.11) .for which all x..>_-0 is
called a "feasible solution". A feasible solution with no more than
M positive x. is called a "basic feasible solution", and a. basic
feasible solution which maximizes (3.10) is called an "optimal basic
50
feasible solution". A solution for which Z can be made arbitrarily
large is called an "unbounded solution".
The systematic procedure to solve (3.10) and (3.11) for the
optimal basic feasible solution, called the "simplex method", was
first developed by Dantzig [65] and has been discussed in detail
by Gass [66] and Hadley [67]. The simplex method is a procedure
which consists of starting with a basic feasible solution to (3.11)
and then moving from the first basic feasible solution to a second,
etc. each time moving to a new solution which increases the value
of Z. After a finite number of steps, an optimal basic feasible
solution will be reached, i.e., no other solution yields an increase
in Z. The basic mathematical technique of the simplex procedure and
a computer implementation of the procedure, called LINPO, are pre-
sented in Appendices A and B, respectively. Two solutions to the
following example problem are also included in the appendices to
illustrate the simplex method. A hand-computation solution is
developed in Section A.2, while a LINPO subroutine solution is pre-
sented in Section B.2.
Consider the problem of finding a basic feasible solution which
will maximize the objective function
Z = X;L + x2 (3.12)
subject to the constraints
v + v > ?Xl + X2 - L '
3^ + x2 £ 15 , (3.13)
andx1 + 2x2 £ 9 .
51
Two or three variable linear-programming problems can be repre-
sented and solved graphically. Since a feasible solution requires
positive variables, all possible solutions to the problem must be
in the first quadrant of the x..-x_ coordinate system as shown in
Fig. 3-3. The three constraint equations further restrict the
solution to the interior of the crosshatched region. Consequently,
all points inside the region represent feasible solutions. In order
to determine the optimal solution, a family of straight lines has
been superimposed on the figure with each line representing points
that satisfy (3.12) for one value of Z. Hence, the optimal solution
is that point or set of points located in the feasible.region which
also lie on the objective function line with the largest value of Z.
For this example, the optimal solution is denoted by the point (A.2,
2.4) where Z = 6.6.max
3.3 DESIGN EXAMPLES
Two examples are presented to illustrate the applicability of
the LINPO algorithm to the time-domain design of frequency-sampling
filters. One example involves the design of a pulse-shaping digital
filter to generate a raised-cosine pulse and the second involves the
design of a partial-response pulse-shaping filter. Although the two
design examples involve pulse-shaping filters, both can be construed
to be designs of digital matched filters for the detection of the
corresponding pulse in a background of additive white Gaussian noise.
The general procedure to be used for LINPO designs from impulse
response specifications is outlined in the following table.
52
- 15
Fig. 3-3. Graphical Representation of Linear-Programming Problem.
53
TABLE 3.1
LINPO ALGORITHM DESIGN STEPS
1) Determine the critical time points of the desired impulseresponse, write constraint equations for each point, and deter-mine an objective function. Since finite impulse-response filtersare being designed, only a finite number of points of an infiniteresponse specification can be constrained. Consequently, themost significant portion of the response must be ascertained andonly points in that time interval constrained. For PAM waveforms,this interval is centered on the pulse peak and extends in bothdirections for a few Nyquist intervals.
2) Determine N, the number of impulse-response values, and T, thefilter sampling interval. Time-domain restrictions on thesevalues are that NT must equal the time interval correspondingto the significant portion of the impulse response and NT/2must equal the time of the pulse peak. Physical restrictionsare that the digital-logic speed limits the minimum value of Tand the feasible number of shift-register stages for the combfilter limits the maximum value of N.
3) Determine R, the maximum number of resonator stages in the filter.If the bandwidth of the desired impulse response is known, R isdefined since R/NT equals that bandwidth for frequency-samplingfilters. Otherwise, the bandwidth is estimated from the impulseresponse shape and that estimate is used to calculate an initialR. Restrictions are that R _<_ I[N/2] and that the amount of dig-ital logic required for the resonator stages is feasible.
4) Calculate coefficients of the unknown multiplier values in theconstraint equations and objective function for input to theLINPO subroutine. Solve for the set {H } with the LINPO sub-routine.
5) Calculate the impulse response of the filter defined by the{H, } from the LINPO design. If the response is unsatisfactory,change the constraint equations and/or the parameters N, T, andR so that the response is improved when the previous step isrepeated.
3.3.1 Raised-Cosine Pulse Filter
A pulse shape frequently used for baseband data transmission
is the raised-cosine pulse [6] which is described by
54
sin(irt/t, ) cos(cnrt/t, )^ : ^, , (3.14)
1 - (2at/tbr
where t, is the bit time and g(t) has the non-zero frequency spectrum
G(f) =
±- 0 <. |f| <_ (l-a)f1
irf
(3.15)
2fl
The nominal cutoff frequency f.. is equal to l/(2t,). A delayed ver-
sion of (3.14), g(t - 3t ) is plotted in Fig. 3-4 for a =1. Only
the portion of (3.14) in the interval of ±3t, on either side of the
pulse peak has been considered significant since beyond this time
interval the maximum amplitude is less than 0.002. The primary
advantage of this pulse shape, as was discussed in Section 1.1, is
the presence of the zero crossings at multiples of t, . Zero ampli-
tude at these points eliminates the intersymbol-interference trans-
mission impairment. The design problem therefore is to specify a
filter which has its impulse response given by (3.14)
The frequency-sampling filter impulse-response envelope, (3.6)
or (3.7), is symmetrical about the point NT/2; so the response need
only be constrained on one side of the peak. Consequently, a set
of constraint equations which might be sufficient for the design are
h(3t,) = 1 h(5t, ) = 0 h'(4t.) < 0b b b —
h(4t, ) = 0 h(6t, ) = 0b b
(3.16)
55
HSs
§ ce4)
C (X
• 8 89 (B
HCM
I•o
OS OS
no c«M M
« "H•O (b
&T5
«M
leM
9ft.
•o
I
M•HU,
60
56
where it is desired to maximize
Z = h'(4tb) + h'(5tb) . (3.17)
This objective function along with the two slope constraint equations
will attempt to force the slope to be zero at the indicated zero-
crossing points. This modification of the raised-cosine pulse would
be desired to reduce the effects of timing jitter which might exist
in transmission systems.
Parameters, other than the multiplier coefficients, which must
also be specified are the number of impulse-response values, the
sampling interval, and the number of resonator stages. The relation-
ship of these parameters to the known and unknown multiplier coeffi-
cients in the frequency domain is illustrated in Fig. 3-5 for N even.
Since the spectrum of the raised-cosine pulse has a low-pass charac-
teristic, the frequency samples from k = R to k = N/2 must be set to
zero. Furthermore, the spacing between the samples, I/NT, has been
fixed by the requirement that NT/2 = 3t, , which is the pulse peak.
It will be assumed for this example that the logic speed is suffi-
cient for T = t /10. Hence N = (3tb)(2/T) = 60, which is a realistic
value for the number of shift-register stages in the comb filter.
With a = 1 in (3.15), it can be seen that the raised-cosine spectrum
extends to 2f. = 1/t, . Consequently, it will be assumed that R/NT =
2f1 which then yields R = NT/tfe =6.
The filter design has now been reduced to a linear-programming
problem with six constraint equations specified by (3.16), an objec-
tive function given by (3.17), and six unknowns, (H, }. However,
when these constraint equations are expressed in the form of (3.9),
57
the a., coefficients, i = 1,2,...,7 and j = 1,2,...,6 must be calcu-
lated before linear programming can be used. An auxiliary subroutine,
called COCAL1, bas been developed for this purpose and is described
in Appendix C. In addition to calculating the a., coefficients, this
subroutine calculates and establishes all other arrays and parameters
required for a linear-programming solution and then calls the LINPO
subroutine which attempts to find an optimal basic feasible solution.
The use of COCAL1 and LINPO to solve (3.16) and (3.17) for the
unknown H is presented as an example in Section C.I. The results
of that linear-programming solution and the corresponding impulse
response of the digital filter are shown in Fig. 3-6(a). Although
the pulse has the desired magnitudes at (3 ± n)t, , n = 0,1,2,3, and
the slope at the zero crossings has been forced to zero, it does not
have the a = 1 raised.-cosine shape. Since zero crossings are missing
at 4.5t, and 5.5t, , two more constraints, i.e.,b b
and
h(4.5t, ) = 0b
h(5.5tb) = 0
were added to the set of (3.16) and the problem solved again. The
second LINPO design, as shown in Fig. 3-6(b), yields a digital filter
with an accurate raised-cosine impulse response. The difference
between the impulse 'response and the ideal pulse is less than 0.0012
for each of the 60 response values, which is less than 0.12% of the
peak pulse value. The sum of the slopes at the two zero-crossing
points, 4t, and 5t,, could not be driven to zero for the second
design, as indicated by the optimum value of the objective function
58
O «** O O O T^O f^ *A O iO *O
IN O
<M
vDroO
O
N^«--
CO4Jc
J
JC60-(
W
COC60•H(0
oOO
o cnO *"">O <*1
CM m
co0) CC Ot-l -H09 4J
c3 3•a &cuCO 4J
<a»
ino•oiNN»^
COuC•HCtjh4JCO
g
uX
•HC/)
O OB
c oo uCO
«Uen
CO
60
59
Z = -0.036. Consequently, for applications where jitter is a defi-
nite problem the first design would be desired. Conversely, if
jitter is negligible the second design will generate an excellent
raised-cosine pulse and could be used. It may seem obvious that the
zero crossings at 4.5t, and 5.5t, should have been constrained inb b
the first -place. However, it is desirable to keep the number of con-
straint equations to a minimum which in effect reduces the hardware
required.
A situation which did not arise during this example is the case
of no feasible solution existing for a specified set of consistent
constraint equations. The number of equations was increased from
six to eight during this design, but the number of unknowns was held
to six. If the number of equations is continually increased in this
manner without a corresponding increase in the number of unknowns, a
point will be reached where the problem is overconstrained in that
it does not have a feasible solution. Consequently, the number of
unknowns would have to be increased to obtain a feasible solution.
However, this increase requires more hardware in the filter since
each unknown corresponds to a resonator stage. Hence, it may become
necessary to make tradeoffs between hardware complexity and the
number of constraint equations employed in the design. A set of
constraint equations with no feasible solution is illustrated in
the next example.
3.3.2 Partial-Response Pulse Filter
The raised cosine pulse shapes have zero magnitude at multiples
of the time parameter t, ; hence, zero intersymbol interference.
60
Another class of pulse shapes which permit intersymbol interference,
but in a controlled amount, are the partial-response pulses [31]
defined by /
sin[i7(t - nt, )/t,
- »(t - ntb)/tb '
The significant portion of a typical pulse is plotted in Fig. 3-7 (a)
for the set of integer weights k_9 = k~ = -1, k = k = 0, and
k = 2. These weights result in a pulse which has intersymbol inter-
ference at times ±2t, from the peak but not at other multiples of t, .
The corresponding pulse spectrum is
G(f) = |- sin2(irf/f ) 0 < J f | _ < f . . (3.19)t1 i i
It is evident from a comparison of (3.15) and (3.19) that by allowing
this specified amount of interference, the total channel bandwidth
required for the pulse is halved and the need for the channel to
possess de-frequency response is eliminated.
A frequency-sampling filter which generates the partial-response
pulse is designed in the same manner as the raised-cosine pulse fil-
ter. With the peak of the impulse response specified by NT/2 = 5t,b
and assuming that T = t, /5, the resulting number of impulse response
values for the pulse is N = (5t, )(2/T) = 50. The number of resonators
stages, R, required to generate the pulse is obtained by setting
R/NT = f , which is specified in (3.19) to be the required bandwidth.
It then follows that R = NT/2t, = 5.b
Critical values of the partial-response pulse are the peak value
of 2.0 at 5t, , the intersymbol interference magnitude of -1.0 at 7t, ,b b
61
O i—t <^ ON r^ O •*O ON O O 00 O O '
O vO 00 OO vO O O
Wi4)
•O
I
0)CO§
9 Ot-HS IaB N
niH
Pu
g>(0
<M
aicoop.a
«Hca
09r-(
0-0)agOuco
0ft.
a)«•a
caPM
gCO
•HVlCOa.
Ofi
62
and the zero magnitudes at 6t, , 8t, and 9t, . Although not a critical
value, another distinctive characteristic of the pulse is the zero
slope at 6.756t, . A corresponding set of constraint equations are
(3.20)h(5tb) = 2
h<7tb>
= ~1 h(9tb) = °
h(6t.) = 0 h(8t.) = 0 h'(6.756t.) < 0b b b —
By maximizing the objective function
Z = h'(6.756tb) , (3.21)
subject to the last constraint equation, it should be possible to
force the slope to zero at the desired time point. However, the
linear-programming problem defined by (3.20) and (3.21) has six
constraint equations but only five unknowns. As a consequence,
application of the COCAL1 and LINPO subroutines to solve the prob-
lem resulted in the statement "infeasible", i.e., no feasible solu-
tion exists for five variables. Consequently, it was necessary to
either increase the number of unknowns or decrease the number of
equations. All of the constraints were desirable, so the number of
unknowns had to be increased to seven before the satisfactory solu-
tion shown in Fig. 3-7(b) was obtained.
The difference between the designed filter impulse response and
the partial-response pulse is less than 0.84% of the peak for each of
the 50 response values. The price paid to obtain a feasible solu-
tion, however, was an increase in pulse bandwidth from 5/NT to 7/NT
and the possible addition of two resonators. Fortunately, the addi-
tional multiplier coefficients corresponding to this increased
63
bandwidth were insignificant i.e., H = 0.000 and H = 0.043. In
fact, if Hft is ignored and the resulting impulse response is compared
with the ideal pulse, it has been observed that the maximum error
remains at 0.84%
3.3.3 Additional Comments
Although the linear-programming technique for the design of~X-
digital filters has been stated as a time-domain procedure., the two
examples made use of pulse bandwidth information for specification
of R, the number of unknowns. The bandwidth, and consequently R,
can always be obtained from a rigorous Fourier analysis of the-
specified waveform or to a lesser degree of accuracy from an inspec-
tion of the waveform shape. Alternatively, digital filters can be
designed entirely in the time domain. For example, a matched filter
for the Ricker seismic wavelet [68] has been designed without spec-
tral information. The desired impulse response and the three
attempts that were required to determine the final filter coeffi-.
cients are illustrated in Figs. 3^8 through 3~10. Constraint equa-
tions and values used for the parameters N and T were defined from
the Ricker wavelet plot to be
h(.022) = -0.443 h(.032) = 0.198
(3.22)h(.028) = 0 h'(.032) <_ 0
where it was desired to maximize
Z = h'(.032) (3.23)
64
o oo o
«H O O O O C 00iH O O •-» <N C O
•o0)
u
« I3 «I -^M<U C^ DCU -H
•H 414J t->T4 <-tC. -H
CO
60
I
01
ooCO
M)•H
65
O O vO •-• «H Oo in «H o •* oo «*»l
<s ol t
•oVi•H
H
0)(3001-1CD
Q>4J
<M
•O
I4JCO
I(4
0)
••3
^5 ^f 00 vO ^5 ^D vOO VO tH 00 O O O
O <*> sf <M O O ''«st
£4JO
CM
00•rt
<0
c60
<MO
"Ogu<uV)
Oi-lI
•
00
66
with NT=0.44s and T = 0.00088s. The number of unknowns was not
specified from the wavelet bandwidth but was determined by iteration.
If R was chosen too small, the linear-programming problem would not
have a feasible solution, but if it was too large the resulting
impulse response would have an unnecessarily high frequency content.
After an initial estimate of ten for R, the impulse response of Fig.
3-9 was obtained. Although the response satisfies the constraint
equations, it is very evident from the high frequency envelope that
R is too large. Consequently, R was reduced to seven in Fig.
3-10(a), and finally to six, before the satisfactory impulse
response of Fig. 3-10(b) was obtained. The corresponding changes
in the set of multiplier coefficients {H, } can be observed from the
results given with each figure. Objective function values were
Z = 0 for each case. The application of linear programming to
frequency-sampling digital filter design for baseband-channel
equalization, which will be considered in the next chapter, employs
only time-domain specifications. Therefore, an iterative procedure
such as just discussed is used to determine a satisfactory solution.
All examples and equations derived in this chapter have been
for the design of frequency-sampling filters. No application of
linear programming to pulse-shaping transversal filters has been
considered, since the unknown multiplier coefficients for this fil-
ter are specified simply by samples of the desired pulse shape taken
at T-second intervals. Also, it is a very inefficient way to gen-
erate pulses since a large number of multipliers are required, e.g.,
the raised cosine pulse of Fig. 3-4 would require 60 multipliers for
a transversal filter as opposed to 16 for a frequency-sampling
67
filter. However, the design of transversal filters for channel
equalization is neither a trivial problem nor an inefficient solu-
tion, as will be illustrated in the next chapter.
CHAPTER 4
DIGITAL FILTER DESIGN FROM KNOWN CHANNEL SPECIFICATIONS
The application of linear programming to the time-domain design
of frequency-sampling digital filters has been discussed in Chapter 3.
An extension of that technique will be developed in this chapter for
the purpose of equalizing nonideal baseband data transmission channels
to reduce intersymbol interference. Time-domain equations are
derived for the received pulse at the channel output so that the pulse
can be constrained to have a desired shape before sampling and thresh-
old detection. Linear programming is used to design either a frequency-
sampling or transversal digital filter which in cascade with the chan-
nel will result in the desired pulse at the sampler when an impulse is
applied to the equalizer.
4.1 DIGITAL FILTER EQUALIZERS
The technique of digital-filter equalization is illustrated in
Fig. 4-1. The digital equalizer which replaces the normal trans-
mitter filter will be designed to have a "predistorted impulse
response". This predistortion is used to compensate for distortion
that occurs during passage through the channel, thus resulting in an
ideal pulse y(t) at the output. Each symbol a. is considered to be
the weight of an impulse that is applied to the digital filter to
generate a predistorted pulse. The required D/A converter and any
68
69
0=2w> w
UM03
w2;
S-.0)
U
< w.M 3W ZCO <J
03 O
oc
w
gHJ
<HOH
oc•Ho
o•H4JCflN
cd
H•<! fX—- wQ >
OU
R)dcr
0)cc
H
CJI—iQ
01
H£
70
receiver filter which would be used to reduce channel noise are
both considered as part of the channel and must be included in
c(t), the total channel impulse response. Equations for y(t) and
y'(t) as functions of both filter multiplier coefficients' and values
of c(t) will be derived in this section for two finite impulse-
response filters. The relationships between c(t) and c (t) will
also be defined.
4.1.1 Frequency-Sampling Filter
Equations (3.4) and (3.5) were derived in Chapter 3 for the
impulse response of the frequency-sampling filter. By assuming that
H^,~ = 0 if N is even and redefining the upper summation limit to be
R-l, the single equation
H_ <—i - ^H,h = h ( m T ) = - ^ + ) (-1) —==• cos(2Trkm/N) (4.1)
m N / . Nk=l
is obtained for the predistorted pulse that is to be applied to the
channel input. Since the sampling process is modeled with an impulse
modulator in z-transform theory, the digital filter unit-impulse
response can be rewritten as
N-l
h*(t) = ^ h(mT) <S(t - mT) . (4.2)
m=0
Consequently, the channel output for a. = 1 is given by
y(t) = h*(t) * c(t)
N-l t (4.3)
Z h(mT) / 6(t - mT) c(t - r)dt .J
m=0 0
71
The limits of integration on the convolution integral can be verified
with the graphical-convolution sketch of Fig. 4-2(a). Applying the
impulse-function sifting property to (4.3) yields
L
y(t) = V h(mT) c(t - mT) . (4.4)
m=0
where
L = <
I[t/T] t < NT
N-l t > NT .
(4.5)
The channel output is obtained by substituting (4.1) into (4.4) i.e.,
H L L R"1 2Hy(t) = — } c(t - mT) + y y (-1) -r:;— cos(2irkm/N) c(t - mT) .
m=0 m=0 k=l .(4.6)
Hence, the output pulse slope is
TT L L R-l _Hn r—« r— r"1 u ztli,x c ' ( t - mT) + ) ) (-1) -rr^ cos(2TTkm/N). c ' ( t - mT)
m=0 m=0 k=l(4.7)
These last two equations are used to calculate constraint equation
coefficients during linear-programming design of frequency-sampling
equalizers.
4.1.2 Transversal Filter
It was shown previously by substituting (2.3) into (2.1) that
the transversal-filter impulse response values are equal to the filter
72
h*(r)
c(t-i)
T 1 T i0 T NT
(a) Functions for (4.3)
0 T t-T t
(b) Functions for (4,12)
Fig. 4-2. Establishing Integration Limitsfor Convolution Integrals.
73
multiplier coefficients. Consequently, the filter unit-impulse
response can be written as
N-l
h*(t) = ) H 6(t - mT) ., (4.8)L i mm=0
where the multiplier coefficients for the transversal filter are now
denoted by .H . Hence, the channel output ism
L
y(t) = h*(t) * c(t) = Y (-I)™ H c(t - mT) > (4-9)/ . mm=0
where the parameter L was defined previously in (4.5). The factor
(-1) has been included because the set {H } will be the solution ofm
a linear-programming problem, and thus must be nonnegative. Without
this factor, only nonnegative impulse response transversal filters
would be designed, and for lowpass channels the output can not be
constrained to have the desired zero crossings. Restricting every
other multiplier coefficient to be negative simplifies the linear-
programming problem of finding a feasible solution. The derivative
of the output pulse is given by
L.
y'(t) = £ (-l)m Hm c'(t - mT) . (4.10)
m=0
Equations (4.9) and (4.10) are the desired expressions to be used
during linear-programming designs of transversal equalizers.
74
4.1.3 Channel Impulse Response
Since the derivative of the total channel impulse response
appears in both (4.7) and (4.10), continuity requirements on c(t)
must be investigated. The D/A converter will be modeled mathe-
matically with a zero-order hold impulse response, i.e.,
gh(t) = u(t) - u(t - T) (4.11)
where u(t) represents the unit-step function. Hence, if the receiver
filter is considered to be included in the channel impulse response
c (t), the total channel response is given by
c(t) = * gh(t) . (4.12)
With the graphical convolution of Fig. 4-2(b), it can then be seen
that
c(t) =<
t
0
t
t-T
c ( r )dTc
c (t)dtc
0 < t < T
(4.13)
t > T .
Therefore, it follows from Leibnitz's rule that the derivative exists
and can be written as
c'(t) =cc(t) 0 < t < T
(4.14)
cc(t) - cc(t - T) t > T ,
if c (t) is continuous over the interval 0 < t < °°. The t = 0 pointc r-
has been excluded in (4.13) and (4.14) because some channels of inter-
est will have a step discontinuity at the origin. However, all channel
75
responses to be considered will be continuous for t > 0 and therefore
(4.14) is valid.
4.2 COMPARISON OF EQUALIZER DESIGNS
Results of various design examples are presented in the remainder,
of this chapter to illustrate some of the distinctive characteristics
of digital-filter channel equalization and guidelines for the use of
linear programming to design these equalizers. The ease of design and
relative performance of the frequency-sampling and transversal equal-
izers are compared by using both techniques to equalize the channel
c (t) = 4TT2t e 2lTt u(t) «-»• G (f) —-=• (4.15)° C (1+ jf)2
Typically, the channel unit-impulse response will not be symmetric
about the response peak. Consequently, unlike the frequency-sampling
filter design examples of Section 3.3, both sides of the pulse must
be constrained for equalizer designs.
4.2.1 Frequency-Sampling Equalizer Design
Since the channel described in (4.15) has a normalized break-
point frequency f, = 1 Hz, which is assumed to equal the Nyquist
bandwidth, l/2t, , it follows that the minimum bit interval, i.e.,
the Nyquist interval, is t, = 0.5 s. Consequently, the waveform
specified for the equalized channel output was the raised-cosine
pulse of Fig. 3.4 with t, = 0.5 s, which resulted in the following
set of constraints:
76
y(0.5) = 0 y(1.5) = 1 y(2.5) = 0 y'(l.O) >_ 0
y(0.75) = 0 y(2.0) = 0 y(3.0) = 0 y'(2.0) <_ 0 (4.16)
y(l.O) = 0 y(2.25) = 0 y'(0.5) 0 y'(2.5) £0 .
The objective function to be maximized is
Z = -y'(0.5) - y'(l.O) + y'(2.0) + y'(2.5) , (4.17)
which attempts to flatten the response on both sides of the pulse peak.
The frequency-sampling equalizer design is also not as straight-
forward as the pulse-shaping filter design in the determination of the
parameters N, T, and R. The point NT/2 corresponding to the equalizer
impulse response peak no longer coincides with the peak of the response
being constrained, namely the channel output, since there is a delay
in passage through the channel. Consequently, the time delay must be
either estimated and subtracted from the time of the constrained peak
to give the proper NT/2 value or it can be obtained by iteration.
The delay was estimated from a sketch of the phase characteristic for
this channel to be approximately 0.25 s resulting in the value NT =
2.5 s. Thus, for an assumed sampling interval of T = 0.2t, the cor-
responding number of impulse response samples is N = 25. The para-
meter R is left as a variable to be determined by iteration.
The impulse-response output of a known transmission channel,
(4.15), which is in cascade with a frequency-sampling equalizer has
now been constrained by (4.16) and (4.17) to have a desired impulse
response. The equalizer consists of a comb filter with 25 delay
elements and a set of R resonators with unknown multiplier coeffi-
cients {R }. The LINPO subroutine can now be used to solve this
linear-programming design problem to give the (H ). However, the
77
coefficients of the unknown {H,} as defined by (4.6) and (4.7) must be
first calculated. Consequently, an auxiliary subroutine called COCAL2,
which is described in Appendix C, is used to prepare equalizer design
problems for a LINPO solution, similar to the way COCAL1 was used for
pulse-shaping filter designs.
The use of COCAL2 and LINPO to solve (4.16) and (4.17) for the
unknown H is presented as an example in Section C.2. Results of that
solution are illustrated in Fig. 4-3 where the 25 discrete values of
the impulse response corresponding to the designed equalizer are
plotted. Also shown is the output of the data channel when this
impulse response is applied to a D/A converter at the channel input.
By comparing the channel output with the constraint set of (4.16) it
can be seen that all constraints are satisfied. Nevertheless, the
pulse shape does not approach the desired characteristic since there
is a large negative overshoot. Also, the channel output peak doesn't
occur exactly at t = 1.5 s since the maximum channel delay is actually
0.159 s rather than the 0.25 s used to calculate the product NT. Con-
sequently, the equalizer parameters N, T, and R were varied in an
attempt to improve the design but no significant improvement could be
obtained over the illustrated design o f N = 2 5 , T = 0.1 s, and R = 12.
The negative overshoot, which is a characteristic of frequency-
sampling equalization, can be rationalized by sketching the graphical
convolution of the equalizer output given in Fig. 4-3(a) with the
channel impulse response as in Fig. 4.2(a). Considering just the six
most significant values of h*(t), it can be seen that the negative
overshoot is formed as c(t) translates past the two negative h*(t)
values to the left of the h*(t) peak. If these two values were not
78
9O.«J
o
I o
*)
I
00c
tn
c3o1
Stv,
9O.«J
' 9O CO
•HU.
•—I
I
CM
79
present, the y(t) pulse peak would be monotonically formed without an
overshoot as c(t) translates past the two positive h*(t) values. Next,
as desired the y(t) pulse would be immediately forced toward zero by
the two negative values on the right of the h*(t) peak. Unfortu-
nately, this desired nonsymmetrical impulse response cannot be
obtained from a frequency-sampling filter with real multiplier coef-
ficients, and thus the negative overshoot will always be present.
4.2.2 Transversal Equalizer Design.
Most of the design problems encountered during the frequency-
sampling equalizer design are eliminated when transversal equalizers
are considered. Since the transversal filter has the same number of
impulse response values as multiplier coefficients, the parameters N
and R are equal; thus, the design problem is simplified by reducing
the number of unknowns that must be defined. Additionally, unlike
the frequency-sampling equalizer, the LINPO requirement of real
multiplier coefficients does not imply that the impulse response for
this filter need be symmetrical. Since this filter also does not
have a characteristic impulse-response peak at NT/2, there is no
need to accurately estimate the delay through the channel to define
the NT product. The discrete input to the channel is the set of
multiplier coefficient values which are applied to the channel in
sequence, one every T seconds. Consequently, the primary require-
ment on the NT product is that the channel's response to the impulse
response values in this time interval be of sufficient length to
span the constrained output interval.
80
As an example, a transversal filter was designed to equalize the
channel described by (4.15) so that the constraint set of (4.16) and
(4.17) would be satisfied. All that remains to be specified for a
LINPO solution are the values for N and T. The same parameters are
used as in the previous example, namely a sampling interval T =
0.2t, , and N = 25 impulse response values. Hence, the resulting NT
product of 2.5 s is approximately equal to the constrained time
interval and should be more than sufficient for the channel output
to satisfy the constraints. It will be shown in Section 4.3 that
the sampling interval has a direct effect on the transmitted energy
requirement and can be optimized to reduce this energy.
The COCAL2 subroutine was used to calculate coefficients defined
by (4.9) and (4.10), and then LINPO was employed to obtain a solution
to the design problem. The solution, which is described in more
detail in Section C.2, is illustrated in Fig. 4-4. The transversal
equalizer requires only three multiplier coefficients as indicated
by the three nonsymmetrical impulse response values in Fig. 4-4(a).
Since the last response value is at t = 1.8 s, the parameter N could
have been reduced to 19 with no effect on the results. However, N
will normally be set to a large value to eliminate the problem of
choosing exactly its minimum possible value. By using this approach,
the LINPO solution will indicate the true number of impulse response
values required and specify the excess values to be zero. Thus, the
multipliers and shift-register delays corresponding to these zero
values need not be implemented, however, the channel response will
occur earlier. The channel output produced by applying the three-
valued impulse response to the channel is plotted in Fig. 4-4(b).
81
sa4J3O
§
§
o
aN
0
I
-N O
4J •>-• i-4>>
m•
O
a
hH
00
9a4J
O
0)N
a)
82
All constraint equations are satisfied and there are no overshoots to
cause jitter problems.
A.2.3 Timing Jitter Sensitivity
The sensitivities to timing' jitter of the two types of digital
equalizers were compared by considering the equalization of channels
with more severe characteristics. Both frequency-sampling and trans-
versal filters were designed to equalize the channels
u(t) n = 3, 4, 5 (4.18)
in the manner of the previous two design examples with the same con-
straint set, T, N, and R values. Channel outputs, y(t), were then
plotted so that the intersymbol interference (ISI) distortion could
be calculated for each design as a function of timing jitter. This
distortion is defined by
D = |y(£tb + tp)| (4.19)
4=0
where the time t is the percentage of the Nyquist interval that the
sampling times at the receiver are displaced by jitter. The distor-
tion was next expressed as a percentage of the pulse peak, y(3t, )b
for each design and plotted in Fig. 4-5 as a function of t . It is
obvious that there is an appreciable advantage in using transversal-
filter equalization for channels where jitter may be present.
Furthermore, even if there was perfect timing, a frequency sampling
equalizer could not be designed with LINPO for the n = 5 channel in
100Z.
83
•a01p-«tn•-i30.
c«owVo,
o
ou(0i-lai—<to
10Z
1Z
0.5Z
0.2Z
0.1Z
n-A
Frequency-Sampling
Transversal
-20Z -10Z 10Z 20Z
Jitter as Percent of Nyquist Interval
Fig. 4-5. Comparison of Timing-Jitter Degradation.
84
(4.18). Since the transversal equalizer has the inherent advantages
of being less sensitive to jitter and easier to design, the remainder
of this chapter will be devoted to its design.
4.3 OTHER TRANSVERSAL-EQUALIZER CONSIDERATIONS
It has been shown that the only unknowns to be defined before
using LINPO for a transversal-equalizer design are a set of constraint
equations; N, the total number of impulse response values; and T, the
sampling interval. The selection of these parameters will now be con-
sidered.
4.3.1 Effect of Constraint Set
Only one constraint-equation set, (4.16), was used in the pre-
vious section to design the transversal equalizer. Consequently,
the effects of other constraint sets on the equalizer design were
determined for the channel of (4.18) with n = 6, for which the
distortion effects were more pronounced. Summarized in Table 4.1
are nine of. the sets of equations that were used. Starting with
the set of seven constraints (NC =7)
y(l.O) = 0 y(1.5) = 1 y(2.0) =0
y(1..25) >_ 0.5 y(1.75)^0.5 y'(1.0)^0 (4.20)
y'(2.0) £ 0 ,
additional constraints were added for each set, usually another time
point at which y(t) was to be forced to zero. The parameters T =
0.1 s and N = 40 were used for all designs. For complete elimina-
tion of ISI distortion, y(t) must be forced to zero at every time
85
TABLE 4.1
CONSTRAINT SETS
EQUATIONS
y(t) = 0
y(t) > .5
y(t) = 1
y'(t) > 0
y'(t) < 0
t
0.50
0.75
1.00
2.00
2.25
2.50
2.75
3.00
3.25
3.50
3.75
4.00
4.25
4.50
1.25
1.75
1.50
0.50
1.00
2.00
2.50
NUMBER OF CONSTRAINTS
7 11 12 13 14 15
X X X X X
X X X X X X
X X X X X X
X X X X X
. X X X X
X X X
X X
X
X X X X X X
X X X X X X
X X X X X X
X X X X X
X X X X X X
X X X X X X
X X X X X
(NC)
16
X
X
X
X
x.
X
X
X
X
X
X
X
X
X
X
X
17
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
21
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
86
point which is an integer multiple of t, from the pulse peak. If
only a finite number of such points are so constrained, some residual
distortion will exist. This is illustrated by the transversal filter
curve (n = 5) in Fig. 4-5, where for zero jitter a 0.2% residual dis-
tortion still exists. Hence, the number of time points at which y(t)
was constrained to be zero was increased until the residual distor-
tion became insignificant. Typical output pulses resulting from the
designs are plotted in Fig. 4-6, with other results summarized in
Table 4.2. The tabulated results for NC = 11 through 15 indicate
that an additional multiplier is required in the equalizer for each
TABLE 4.2
COMPARISON OF EQUALIZER CHARACTERISTICS
Number ofConstraints
71112131415161721
MultipliersRequired
71112131415151720
Residual ISIDistortion
1.2401.7390.2220.0830.0350.0150.0150.0020.000
EnergyTransmitted
75.6120.8149.7150.0150.1150.1344.8554.3556.0
additional time point constrained to zero at an integer multiple of
t, from the peak. However, the energy transmitted to the baseband
channel, i.e.,
« N-l
E = / g2(t)dt = T Y h" 2 » (4.21)T J Z_ m
0 m=0
87
• enSt 4J
in
O
fl
03VIc1-1<g
C-((0
JJa
oooVI>>
. ua>a
ataCO£CO
304
CO
88
where g(t) = h*(t) * gi(t) approaches a constant value. The resid-
ual distortion decreases with each added constraint and is approaching
zero; consequently, the multiplier value h required to satisfy eachm
added constraint also is approaching zero. Therefore, the summation
of (4.21) approaches a constant value. It can be seen from Table 4.1
that the last three constraint sets, NC = 16 through 21, force zeros
at time points between those resulting from the first six sets. These
constraints result in the ISI distortion being reduced to an insig-
nificant value at the cost of additional multipliers and a greatly
increased transmitted energy. Attempting to force y(t) to be zero
at time points this close together requires components of g(t) to be
transmitted at higher frequencies where the channel attenuation is
much greater.
The binary data sequence 101011110010 was transmitted through
the unequalized channel and then through the same channel using the
NC = 15 constraint equalizer to illustrate the improvement obtained
by using this design technique. Since the time between bits of the
data sequence is 0.5 s and the sampling interval of the equalizer
is 0.1 s, four equally-spaced zeros must be applied to the equalizer
between each bit of the sequence so that the proper waveform will be
generated. Comparison of the received waveforms in Fig. 4-7 shows
that the equalized channel output has no intersymbol interference.
Conversely, for the unequalized channel, detection errors are pos-
sible even in the absence of noise.
4.3.2 Effect of Sampling Interval
It has been indicated previously that N, the number of impulse
response values, should be made quite large so as to insure that
89
(a) No Equalization
(b) Transversal-Filter Equalization
Fig. 4-7. Effect of Equalization on DataSequence 101011110010.
90
the product NT spans the constrained output time interval. Only the
pertinent number of shift register stages will be retained in the
final design. This leaves only the effect of the parameter T to be
determined.
The value of T is bounded on the lower end by the available
logic speed and on the upper end by the Nyquist interval, i.e.,
t _<_ T <_ t, , where t is the total time required for any one of theC. """" D C
N multiplications plus one multi-input addition needed to calculate
each transversal filter output sample. Hence, the effect of varying
the parameter T between these limits was observed for equalizers
designed with the NC = 15 constraint set and N = 40. The most sig-
nificant result from these designs was the change in transmitted
energy E defined by (4.21). These changes are displayed in Fig.
4.8 for a number of channels. As T approaches t, in value there is
a great increase in required energy. A small percentage of the
increase is a consequence of multiplying by T in (4.21), but the
primary increase is caused by the reduction in bandwidth of the
g(t) pulse applied to the channel. As T increases, the high
frequency components of g(t) are severely attenuated as a result
of the sin(irfT)/irfT frequency characteristic of the D/A converter.
However, higher frequency components of g(t) must still be trans-
mitted to satisfy the constraints on y(t). Hence, a very large
increase in the transmitted energy. Conversely, as T approaches
zero the bandwidth of the transmitted pulse becomes excessively
large and since there is no energy minimization in the design
constraints, these higher frequency components are not forced to
zero, resulting in a slight increase in the transmitted energy.
91
10'
10
10
r.= 3
0.0 0.2 0.3 O.A 0.5 0.6
Fig. 4-8. Comparison of Transmitted Energy Requirements.
92
It can be observed from the curves of Fig. 4-8 that a ratio of
T/t, ~ 0.4 minimizes the transmitted energy. For example, if the
equalizer with NC = 15 and T = 0.1 s were redesigned using T = 0.2 s
2the transmitted energy would be reduced from 150.1 V s as indicated
2in Table 4.2 to approximately 100 Vs. It was also observed from
the series of equalizer designs that the tails of the received
pulses increased in magnitude as T varied from the minimum energy
value of 0.4t, . The number of multiplier coefficients required did
not change appreciably as T varied.
4.3.3 Location of Equalizer
It has been assumed throughout this chapter that the equalizer
was positioned at the channel input, because there is a speed advan-
tage in using this location for high data-rate applications. If it
is assumed that 0.4t, = T = t then the maximum data rate throughb e
the equalized channel is 1/t, = 0.4/t . For the normal transversalb e
filter with N multipliers, t consists of the time required to
perform one multiplication and one multi-input addition. However,
with the equalizer at the channel input, multiplication is not
required. Only one of two possible bits, a ONE or ZERO, will be
applied to the equalizer input, and eventually to the equalizer
multipliers, during each sampling interval. Therefore, each multi-
plier can be replaced with a storage register which contains the
multiplier coefficient; hence, t is the time required to read and
add the appropriate coefficients. By reducing t , the maximum data
rate has been increased. Multipliers would normally be required
for equalizers at the channel output, since there is a wide range
93
of possible inputs from the analog channel. However, there are
advantages to equalization at the channel output. For example, in
the case of the adaptive equalizer there would be no need to trans-
mit the impulse responce c(t) back to the channel input in order to
update the equalizer coefficients. If equalization is desired at.
the channel output, the linear programming design procedure of this
.chapter -is still valid. This is illustrated by comparing the chan-
nel output of Fig. 4-6(c) with the equalizer output plotted in Fig.
4-9(b). The former response was obtained with a transversal equal-
izer designed and used at the channel input, while the latter is
the output with the equalizer at the receiver.
94
3O.4J
O
g
as
CL4J
O
01e
aN
sr*60
9O.4J
O
>^ o
CHAPTER 5
CONCLUSIONS AND RECOMMENDATIONS
It has been shown that linear programming optimization tech-
niques can be employed effectively in the time domain to design
finite-duration impulse-response digital filters. It has been
further demonstrated that this technique has direct application to
the design of frequency-sampling filters to be used for pulse gen-
eration or matched-filter detection, and both frequency-sampling
and transversal filters to be used for equalization of transmission
channels with known impulse responses.
5.1 CONCLUSIONS
Frequency-sampling filters, which have not been designed pre-
viously in the time domain by any technique, can be defined readily
by using linear programming to specify filter multiplier coefficient
values. It was illustrated with examples that a simple design pro-
cedure which can be employed is to: (1) constrain the impulse
response equation of the filter to have desired values at critical
time points, (2) define the number of impulse-response values, maxi-
mum number of resonators and sampling-interval parameters for the
filter, and (3) solve the resulting set of constraint equations with
a linear programming algorithm. It was also shown that the number
of response values and sampling-interval parameters are defined by
the significant duration and point of symmetry of the filter impulse
95
96
response, whereas the number of resonators are defined by the impulse
response bandwidth, if available, or by iteration. Comparisons of
filter designs with desired pulses indicate that this technique yields
very accurate pulse shapes with minimum hardware requirements.
This design procedure can be extended readily to the design of
digital equalizers for known transmission channels by constraining
the output of an equalizer-channel cascade rather than a filter
impulse response. It has been concluded by studying the equalization
of typical transmission channels that the transversal equalizer is
easier to design, requires considerable less hardware, and is less
sensitive to timing jitter than the frequency-sampling equalizer.
It was further observed from a study of transversal equalizer con-
straint sets that an additional multiplier is required for each
zero specified in the output response when spaced at Nyquist time
intervals, but that the required transmission energy approaches a
constant value. However, if zeros are forced in the response at
closer time intervals, the transmitted energy requirements greatly
increase. Results of varying the sampling interval in a series of
equalizer designs indicate that this energy can be minimized by
proper choice of the ratio of sampling to Nyquist intervals.
The ability developed in this study to work directly from chan-
nel time-domain characteristics allows the effect of both amplitude
and phase distortions to be considered simultaneously. Unlike
frequency-domain designs, which usually require separate filters to
compensate for each source of distortion, one equalizer can be
designed easily to compensate for both impairments. Furthermore,
97
the design technique is valid for equalizers positioned at either the
transmitter or receiver.
5.2 RECOMMENDATIONS FOR FURTHER STUDY
Several possibilities exist for improvement in the equalizer
design technique of this study. The feasibility of modifying or
replacing the linear programming optimization algorithm should be
investigated. For example, if an objective function in the form of
2 2 2Z = c x + c~x + ... + CDX (5.1)X -L i. i. - K. K.
was used, the transmitted energy (4.21) could be minimized directly.
This would require a nonlinear programming routine because of the
nonlinear objective function. Another possibility is to use integer
linear programming, i.e., the variables x. of the problem are inte-
gers. The integer variables would more accurately represent the
possible multiplier coefficients, because the coefficients must be
implemented with a finite number of bits. Thus, only a discrete,
equally-spaced set of values would be possible solutions to the
linear programming problem.
The linear programming technique could be applied to the design
of other classes of recursive digital filters. Since these filters
typically have an infinite impulse response, it may be possible to
minimize the residual intersymbol interference with fewer multiplier
coefficients using less transmitted energy than the transversal
equalizer requires.
Finally, the use of the time-domain linear-programming technique
to design filters should be investigated for other applications. For
98
example, the design of resonators for digital formant synthesizers
would probably be a good application. Since the speech process can
be described as the excitation of resonators by a series of impulses,
specifications for synthesizer designs are often in the form of
desired impulse responses.
APPENDIX A
LINEAR PROGRAMMING FUNDAMENTALS
The general linear-programming problem is to solve for the R
non-negative variables x. which maximize the objective function
Z = c^ + c2x2 + ... + CRXR , (A.I)
subject to the M linear constraint equations
1-1ailxl + ai2X2 + '*' + aiRXR | > f bi i = 1}2 M> (A<2)
One solution to this problem, namely the simplex procedure outlined
in Section 3.2, is the subject of this appendix. Theoretical aspects
of the simplex method are discussed first, followed by an example to
illustrate the method.
The simplex procedure involves a series of iterations, each of
which generates a new basic feasible solution to (A.2) that yields a
greater value of the objective function than the previous solution.
The procedure continues until a finite maximum value of the objective
function is obtained or an unbounded solution is indicated. The
aforementioned terms, e.g., basic feasible solution, were defined in
Section 3.2.
Any inequalities in (A.2) are converted to equalities by the
inclusion of non-negative slack and surplus variables. For example,
99
100
assuming in (A.2) that "_<" holds for U equations, "^" for V-U
equations, and "=" for M-V equations then
R
XR+h = bh h = 1>2>"'^ > <A'3a>
R
£ akjxj - xR+k = bk k - U+1.....V , (A.3b)
andR
a .x. = b p = V+1.....M . (A.3c)
Hence, there are U slack variables x , and V-U surplus variables XR,.,
The addition of these variables will have no effect on the final solu-
tion since they will be added to the objective function with a zero
cost, i.e., a coefficient c. = 0, j = R+l, R+2,...,N.
The M equations (A.3) in N unknowns, N = R+V, can be written in
vector notation* as
Av = V p 4 - + v a = h (A L~\A 3C 1—1 •'• iSxT £. » VA«*U
with the objective function written as
Z - clXl + .. . + c x*, = c^ x (A.5)
It will be assumed that the rank of A is M and that a solution to" (A.4)
*A general matrix, e.g. , A^ will be denoted by a capital letter,whereas a single-row or single-column matrix, called a vector, will bedenoted by a lower-case letter, e.g. ,._x. A column vector will bedenoted by parentheses, e.g., x_ = (x ,x ,... ,-x ) and a row vector bybrackets, e.g. , c_= [c- c ,.. . ,-CN] .
101
exists, i.e., N >_ M. If N = M, there is a unique solution to the prob-
lem and there is no need for linear programming. On the other hand if
N > M there are a number of solutions and linear programming is used to
determine the optimal solution. If either of the two assumptions does
not hold, the simplex method will indicate that either there is no
solution (due to inconsistent constraints) or there is redundancy in
the constraint equations.*
A.I ALGEBRAIC FORMULATION OF SIMPLEX PROCEDURE
The simplex solution of the general linear^programming problem is
an algebraic•technique, which is best described in linear algebra
terminology. Any set of M linearly independent columns of AL forms a
so-called "basis" for the vector space (E ) and the matrix j} formed
from these M columns is called the "basis matrix". Each column of B_
is identical to a column of , but the order of the columns in J3 may
(< - -
be different from A. Corresponding to each basis matrix there exists
a "basic feasible solution", x, to (A.4), i.e.,—D
The elements of the column vector x are called "basic variables" and—D
represent values for M of the N unknown variables x. of (A.4). The
variable x. which corresponds to the basic variable is determined from
the column order of A in the basis matrix ]}, e.g., if the third column
*For a further discussion of inconsistency and redundancy seeSection 4.6 of Hadley [67].
102
of A is the first column of B then x = x_, etc. The remaining— — oX _}
N-M variables will be assigned zero values.
For each basic solution, (A.5) can be written as
Z ~ CB1XB1 + •" + °BMXBM ~ fi -B * (A'?)
The component of c that corresponds to c . is again determined by the— Bi
column order of A in B, e.g., c .. = c_ if the third column of A is— — DJ. j —
the first column of 15. The other N-M coefficients of c_ have no effect
on (A. 7) since they are multiplied by zero-valued variables. The prob-
lem of selecting the columns of _A which constitute the initial basis
matrix will be discussed in Section A. 3.
Each iteration of the simplex procedure consists of replacing one
column of the basis matrix J? with one of the N-M columns of _A not in
the basis at that time. This substitution must result in a feasible
basic solution (not just a basic solution which could contain negative
variables) and increase the value of Z in (A. 7) . Consequently, a pro-
cedure will be discussed in the remainder of this section for deter-
mining the column to remove from J3 so that a feasible solution is
obtained and the column from A to substitute into E_ so that Z is
increased. However, certain variables must be defined first.
Any column of A. can be written as a linear combination of. the
columns of B^ since JJ is a basis matrix. For example, the j column
of A is
a. -yy b1+ ... + yMj J^-B^ . (A.8)
103
The subscript order of the vector y_. components is important. The .
first subscript refers to a column of B^ that the component is multi-
plied by and the second refers to the column of A that is being
expressed as a linear combination. Another function of the vector
_y_^ is to define a parameter, z., where
Zj " yij CB1 + '•' + yMj CBM = B Zj (A'9)
which is used to indicate possible increases in Z.
It has been shown [67] that the column from A. to be inserted
into the basis should be a, where k is defined by*
z, - c, = min {z.-c.;z.-c.<0} /* in\k Tc j j' j j (A.10)
and that the column of B to be removed is b where.— —r
(A.11)
These substitutions will insure a basic feasible solution after each
iteration and will on the average give the largest possible increase
in Z per iteration. The cost parameters, c. in (A.10), are constants
fixed by the objective function, but the parameters z. must be recal-
culated after each iteration. Likewise, the parameters x and y.,
of (A.11) must be recalculated after each iteration. The repetitive
calculations that are required for each iteration can be summarized
as follows:
*The set notation (a^; f(aO} is used to define the set ofelements aj which satisfy some restriction f(aj). Consequently,the element or elements in that set-which have the smallest valueare represented by min {aj, f(aj)}.
104
(1) Calculate the basic solution XD with (A.6) and the new basisB
matrix B^.
(2) Calculate the vector y_. with (A. 8) for every a_. not in theJ . J
basis.
(3) Calculate z. with (A. 9) for every y_. from step (2).
(A) Calculate z. - c. for every result of steps (2) and (3).
(5) Select the column a, to enter the basis with (A. 10).
(6) Calculate the ratio Xg./y., for every y , > 0 of y, .
(7) Select the column b to leave the basis with (A. 11).
(8) Calculate the new basis matrix by substituting a, for b~~~K. ~"TT •
This procedure can end in one of two ways. If z. - c. _>_ 0 for all
a. not in the basis, then the last basic feasible solution is an~3
optimal solution. If there exists some column a_. not in the basis
such that z. - c. < 0 and y <_ 0 for all i = 1,2,...,M then an
unbounded solution exists.
A. 2 EXAMPLE USING SIMPLEX PROCEDURE
The example that was solved by graphical techniques in Section
3.2 will now be worked by the simplex procedure to illustrate the
steps of each iteration. The problem was to maximize
Z =
subject to the constraints
3x + x < 15-JA-. T^ A* ^ J—'
andX;L + 2x2 £ 9
105
After adding one surplus and two slack variables, the appropriate
matrices are given by
" ~ 1 1 - 1 0 0
A = 3 1 0 1 0
1 2 0 0 1
and
b = (2, 15, 9) ,
c = [1, 1, 0, 0, 0]
As will be illustrated in Section A.3 a basis matrix which will give
an initial feasible basic solution is .
"l 0 0~
3 1 0
1 0 1
1 = <*]_» £4. £5
where the corresponding solution is
2LB (2, 9, 7) .
The vectors not in the basis are _a~ and _a_. Hence, from (A. 8)
= B-1
and-1
Z3 = 1 * a3 = (-1, 3, 1)
The solution is not unbounded since at least one y.. > 0 for both
vectors. From (A.9),
and
Since-B
106
and
z 2-c 2 = 1-1 = 0,
= -1 - 0 = -1 ,
it follows from (A.10) that the vector to be entered is y , i.e.,
k = 3. Since two y_ components are positive, it follows from (A.11)
that two ratios must be calculated, i.e.,
B2 9 _ , B3 7 , •- 3 = 3 and J = ? ,
y23 J Y33 -1
which implies r = 2; hence b_2 (or equivalently a,) must be removed.
Thus the second iteration starts with
"l -1 0~
B = (a , . a... a . ) = 30 0
_1 0 1_
Execution of the second repetition yields
XB = (5, 3, 4)
for the basic solution with
= (1/3, - 2/3, 5/3) ,
= (1/3, 1/3, - 1/3) ,
and
z2 - c2 = -2/3 ,
z. - c. = 1/3 ,
for the remaining variables. Consequently, the vector to be.entered
is given by k = 2, while the ratios
107
= 15 and ' 12y!2 y32 = T
imply that b_ = a_^ is replaced with a^. The new basis matrix is
1 = (§.]_» £3' £2
and the corresponding basis solution is
It then follows that
y_4 = (0.4, 0.2, -0.2) ,
v_5 = (-0.2, 0.4, 0,6) ,
z. - c. = 0.2 ,
and
z - c^ = 0.4 .
Since z. - c. 0 for the two vectors not in the basis, the basic
feasible solution is optimal. Hence, the complete solution is
x = (4.2, 2.4, 4.6, 0, 0) ,
and the corresponding maximum value of the objective function is
Z = £3C=6.6.
A.3 PROCEDURE FOR FINDING INITIAL BASIC SOLUTION .
The initial basic feasible solution is obtained by always starting
the procedure with an identity basis matrix, I_. If an M-by-M identity
matrix can be obtained by manipulation of the columns in'A, as would be
108
the case if all M constraint equations require slack variables, these
M columns are used for the first basis matrix. Then
Xg = iT1 b_ = I_ b_ = b_ .
Since b_ is required to be non-negative, the initial basic solution
is feasible.
If a complete I matrix does not appear in , a new set of con-
straint equations are used so that an I matrix will be available,
namely,
A x + I x = b .-- -- a — •
The vector x represents artificial variables that are added to the
original constraint equations with unity coefficients so that an I_
matrix can be formed. The components of the artificial vector that
correspond to constraint equations with slack variables will be zero.
To illustrate the use of artificial variables consider starting
the example in Section A. 2 without being given the initial basisI
matrix. The constraint equations with one artificial variable added
are
Xal ' 2 '
•3,, O- v + v = 1 SJA^ -r A£ 4 '
and
and the expanded coefficient matrix is
A =
1 1 - 1
3 1 0
1 2 0
The initial basis matrix is
0
1
0
0 1
0 0
1 0
109
where &, represents the artificial vector. Then the initial basic
feasible solution is x_, = b. However, this is a solution to the new,— a —
constraint set, not the original set. Any solution to both sets must
have 3£ = 0- Hence, the iterations must drive the nonzero components~~~3>
of x to zero. This can be done with a two-phase objective equation.~~d.
During the first phase, the artificial variables are assigned a
cost of -1 and the other variables a cost of zero. Thus, the first
phase objective function
M
Z* = - xai1=1
will be maximized by the simplex procedure. Since the simplex
procedure prevents variables from becoming negative, the maximum
value of Z* is zero and all artificial variables will be zero when
this maximum is reached. At this point, which is the end of Phase 1,
a basic feasible solution to the original problem is available. If
the maximum value of Z* is negative, the artificial variables cannot
be driven to zero and no feasible solution to the problem exists.
The basic feasible solution which exists at the end of Phase 1,
where max {Z*} = 0, is not optimal. Therefore, Phase 2 consists of
110
assigning the original costs to the legitimate variables and costs of
zero to the artificial variables. The simplex procedure then obtains
the optimal solutions in the normal manner.
Continuing Phase 1 for the example, the columns of A. not in the
first basis are a.. , a , and a_. Since c = (-1, 0, 0), it follows—-L —2. —j —B
that
(1, 3, 1) ,
and
y_3 = (-1, 0, 0)
Then, since all non-artificial variables have zero cost values,
Zl - Cl - -
and
Z3 - C3
Hence, k = 1 and the ratios are
. XB2 _ , *B3 Q= 2, -— = 5, and -— = 9 .'11 '21 31
Since these ratios imply that r = 1, column b_ = e_ is removed from
the basis and replaced with a^ . This gives
B =
1 0 0
3 1 0
1 0 1
and -B = (X1' X4' X5)
Ill
The artificial variable has been removed from the basis. Since any
variable not in the basis is assigned a zero value it follows that
Z*=-
Phase 1 has ended with a basic feasible solution. The resulting B^
matrix is the one that was initially assumed in Section A. 2 to work
the original example, i.e., Phase 2 of the simplex procedure.
APPENDIX B
SUBROUTINE LINPO
LINPO is a double-precision computer subroutine written in Fortran
IV which uses the simplex method of Appendix A to solve the general
linear-programming problem. LINPO is a mnemonic for LINear Program-
ming Optimization. This subroutine was developed by modifying an
existing routine [69] so that the internal calculations of the iter-
ative procedure could be followed and the routine could be used to
design digital filters. Instructions for using the subroutine, an
example solution, a flow-chart, and a program listing are contained
in this appendix.
B.I USER INSTRUCTIONS
The call statement for the subroutine is CALL LINPO(A,B,IE,NEQ,
NVA,NSP,NT) with the required input parameters described in Table B.I.
TABLE B.I
LINPO INPUT PARAMETERS
A: A two-dimensional double-precision array of real numbers repre-senting the objective-function and constraint-equation coeffi-cients. Coefficients of the objective function multiplied by-1 must be placed in the first row with each of the remainingrows containing the coefficients for one constraint equation.
B: A double-precision array of non-negative numbers representingthe right-hand sides of the constraint equations and enteredin the same order as the A array. The first value, which cor-responds to the objective function, must be zero.
112
113
IE: An array of integer constants representing the type of inequalityfor each equation. The constant is one of the integers zerothrough three depending on the type, namely, objective function(IE = 0), less than or equal (IE =1), equal to (IE =2), orgreater than or equal (IE = 3). The integers are entered in thesame order as the B array.
NEQ: Integer constant M + 1 equal to the number of constraint equa-tions including the objective function.
NVA: Integer constant R equal to number of unknowns in the originalconstraint equations.
NSP: Integer constant specifying tableau output, i.e., tableau out-put (NSP = 1), or no tableau output (NSP =0).
NT: Integer constant specifying type of digital filter to be.designed, namely, frequency-sampling filter (NT = 0,1,2,3) ortransversal filter (NT = 4,5,6,7). Furthermore, the LINPO sub-routine can be used for general linear-programming applicationsother than the design of digital filters by setting NT _>_ 8.
B.2 EXAMPLE PROBLEM
The problem chosen to illustrate the use of LINPO is the one
which has been worked by a graphical technique in Section 3.2 and
by hand computation in Section A.2, i.e., to find the maximum value
of Z where
Z = x + x
subject to the constraints
v + v > 7xn -r x_ j' i. ,
3x + x < 15 ,X / ~~ »
and
will now be solved using subroutine LINPO. The main program required
is illustrated in Fig. B-l with the corresponding subroutine output
given in Fig. B-2.
114
DOUBLE PRECISION A(27,50), B(4)DIMENSION IE(4)DATA A/-1.DO,1.DO,3.DO,1.DO,23*0.DO,-1.DO,1.00,1.DO,2.DO,1319*0./DATA B/0.DO,2.DO,15.DO,9.DO/DATA IE/0,3,1,1/DATA NEQ,NVA,NSP,NT/4,2,1,8/CALL LINPO(A,B,IE,NEQ,NVA,NSP,NT)STOPEND
Fig. B-l. Main Program for LINPO Solution.
Information is output in a tableau form, where the tableau
entries are defined in Table B.2. Two rows of the tableau contain
values for z. - c.. For Phase 1 of the simplex method, z. - c.J J J J
values in the last row are used to determine the vector a, to enter
the basis, during which time the first row values are not significant.
Conversely, for Phase 2 the first row values are used and the last row
has no significance. The current objective 'function value is the last
entry in the last row for Phase 1 and the last entry in the first row
for Phase 2. The components of each v_. and the basic solution compo-
nents X^.» i = 1,2,...,M, are contained in the other M rows of the
TABLE B.2
TABLEAU FORMAT
Al A5 XB
z-c . . . z-c Z
Y15 XB1
Y21 Y25 XB2
Y31 735 XB3
zrci • • • Z5-
C5 z*
c c o oC C C CC C C OC C C CC C C CC O C CC Tl C C
O O O C O
C C C C
c d c c.O O C OO C C CC C O C
: c c c cr C C C C .
o C c 5O C C C'
.C C O CC C C Cc c c c
: c c c cf C C C C
O C O C-C «\J -C -4-
O O O O O
O C O « O
O O C C -
;O C C C
rv C C C-Cc c c c.
a o c c o. C O C C
O C c cc c o o
-
: c oc^ c o c
c o — o o
o c o c c
: o -i c c
; o o c c-
.C — C C r-
O O O C C
c c. c c c• o c c o o
C C O O O< C C O O C
c o c o oC O O o Oc c c c o
o c o o
C C1 C CO O C O
T O C O OO C O O
3 o a o oc a o cc c o oO C C O
o c — o p
O C O C C
- o o
S C O
o o o •— o
3a4J
o
fd4)
egH
O O O O O
c. c c c. co o o o o
- o c o o oC C C O C
1 C C C C Co c o o oc o c c oc c c c c.
e
oco — o o o
C c- o C c
116
tableau. Also printed after each iteration are the vectors currently
in the basis and the vectors which were entered and removed to form
that basis. However, the initial vector entered and removed statements
have no significance. All artificial vectors are represented by QO.
Intermediate computer solutions contained in the tableau of Fig.
B-2 agree with the results obtained by hand computation in Appendix A.
for example the last iteration values in Section A.2 were
XB = (4.2, 4.6, 2.4)
y = (0.4, 0.2, -0.2)
£5 = (-0.2, 0.4, 0.6) ,
z4 - c4 = 0.2 ,
7 — c = 0 45 5 '
and Z = 6.6
Each of these values can be found in the appropriate columns of
Tableau 2 of Phase.2.
B.3 FLOWCHART AND PROGRAM LISTING
A flowchart and program listing for the LINPO subroutine are
given in Figs. B-3 and B-4, respectively. The calculations (A.6)
through (A.11), as discussed in Appendix A, make up the right-hand
loop in the flow chart and each passage through the loop represents
one iteration. The results of these calculations can be printed out
at the end of each iteration in the tableau form. The left-hand
loop determines if the solution at the end of Phase 1 is feasible
and if so, sets up the problem for Phase 2. At the end of Phase 2
117
a branch of this loop calculates (from the optimal solution) the
digital filter coefficient values HQ and (-1) , k = 1,2,.. . ,NVA-1,
for a frequency-sampling filter design or (-1) H , m = 0,1,...,NVA-1,m
for a transversal filter design. These coefficient values along with
the optimal solution are then printed. Filter coefficients for a
frequency-sampling and a transversal filter design example are printed
in Figs. C-6 and C-7 respectively.
118
«au
u
3 n rS t-U O
0) *J
— >
M
CO
0)
c
JO
•a a m
CD c njoi *-H Q
•oJi C -Hu fl) <0 m(0 T-I 41-J " U — '
D u-i ^T3 -- -H --J7J O- " M<; ^ u tr]
3 < >l/l
OWl
•§KiO
<8
O
§i-ltt,
OQ
119
SUBROUTINE L IMPfl (b , R, I E ,K r : o,NVA , MSP , NT )CC THIS SUBROUTINE S O L V E S THE GENERAL L INEAR-PROGRC PROBLEM BY THF S I M P L E X METHOD, THE SURROUT IMP A C C E P T SC UP TO 25 C O N S T R A I N T EO'JATIONS AND 40 V A R I A B L E S .C . .
DIMENSION L( 27) , IE ( N E O )DOUBLE PRECIS ION A ( 2 7 , 5 0 ) , W( 2 7 ) , X , XMI N , B (NFO ) ,H ( 40)COMMON /HNAME/ HINTEGER A O A ( 2 0 0 ) f A O A 1 (200) , A O , A N , B M t X M , 8L,OMKJ 1 1 =0D A T A B L / « • /DATA X N / ' X 1 /D A T A A N / ' A 1 /D A T A B N / ' B « /D A T A Q N / « Q « / . ,GO TO 422 •
C W R I T E T A B L E A U HEADINGS AND V A L U E S (THRU S T A T E D ' ENT 42 1 )400 IF ( N S P . E O . O ) GO TO 421
JJJ1=JJJIF ( JJJ .GT.6) JJJl- f t .
K PH=1 • - . . . 'IF (K .EO. l ) KPH=2I F ( K . G T . l ) KPH=1 . :• .W R I T E R 6,401 )KKK ,KPH
A01 F O R M A T J '0' , S IX , ' T A B L E A U ' ,12, IX, ' P H A S E 1 , 12 )IF (KJ1 l.EO.O) GO TO 402"Rt TE ( 6 ,403 ) L ( JK ) ,KJ 11 •GO TO 405
4 0 2 W R T T E ( A , 4 0 4 ) L ( J K ) , K J 1 1403 F O R M A T ( '0' ,20X, ' V E C T O R ENTERED A ', I 2 ,4 IX ,' V E C T O R ' , .
1. ' R E M O V E D A' , 12) '404 FORMAT ( '0' ,20X, ' V E C T O R ENTERED A ', I 2 ,4 IX ,' V E C T O R ',
1 ' R E M O V E D 0' , 12)405 W R I T E ( 6 , 4 0 6 )40ft F O R M A T * '0 ' , ' BA S IS V E C T O R S ')
DO 407 1 = 1, JJJA O A 1 ( I ) = B LA O A ( I ) = A NIF( I .EO.JJJ) A O A 1 ( I ) = X N
407 IF(I.EO.JJJ) A O A ( I ) = B NIF( JJJ.LE.6) GO TO 408 •W R I T E ( 6 , 4 0 9 ) ( A O A 1 ( I ) , AOA ( I ) , I , I = 1 , J J J 1 )GO TO 410 .
40S JJJJJ=JJJ1-1 . 'W R I T E ( 6 , 4 0 9 ) ( A O A K I ) , A O A ( I ) ,1, I = 1,JJJJ J ),
1AOA1 ( JJJ1 ) ,AOM JJJ1 )F O R M A T ( • + ' , 2 4 X , 6 ( 2 A 1 , I2 ,13X) )
Fig. B-4. Program Listing for Subroutine LINPO:
120
410 CONTINUEJJ1=JJJIFUJJ.GT.6) JJ1 = 6DO 411 1 = 1, IIILLL=BLAO = BLIF( I .GT. l ) L L L = L ( ! )IF( I .GT. l ) AO=ANIF (L ( I ) .EO.O.AND. I .GT. l ) AO=ONIF{I .EO.I I I ) LLL=BLIF(I .EO.I I I ) AO=BL
411 W R I T E ( 6 , 4 1 2 ) A O , L L L , ( A ( I , J ) , J = 1 , J J 1 )412 FORMAK ' ' , 4X ,A1 ,12,11X,6(D15.8, 2 X ) )
K1K = 2JJ11=6JJ1=JJ1+1JJJl=JJJ-6
413 IF(JJJ1)421,421,414414 JJ11=JJJ1+JJ11
IF(JJJ1.GT.6) JJ11=6*K1KIF(JJJ1.LE.6) GO TO 415W R I T E ( 6 , 4 1 7 ) ( A O A 1 ( I ) , A O A ( I ) , I , I = JJ 1 , J J 11 )GO TO 418
415 JJ111=JJ11-1IF(JJ1.GT.JJ111) GO TO 416W R I T E ( 6 , 4 1 7 ) (A D A T . ( I ) , A O A ( I ) , I , I = JJ 1 , J Jl 11 ),
1AOAK JJ11) , A O A ( J J 1 1 )GO TO 418
416 W R I T E ( 6 , 4 1 7 ) A O A 1 ( J J 1 1 ) , A O A ( J J 1 1 )417 F O R M A T ( ' 0 « , 2 3 X , 6 ( 2 A 1 , 1 2 , 1 3 X ) )41R DO 419 1=1,1 II419 W R I T E ( 6 , 4 2 0 ) < A ( I ,J ) ,J = JJ1 ,JJ11 )420 F O R M A T ( ' ' , 1 8 X , 6 ( D 1 5 . 8 , 2 X ) )
JJJl=JJJl-6JJ1=JJ11+1K1K=K1K+1GO TO 413
421 CONTINUEI F ( K ) 457,456,457
422 CONTINUE-423 F O R M A T ( 4 7 X , I 4 , D 2 0 . 8 )4 2 4 F O R M A T ? ' 0 ' , 5 6 X , ' F E A S I B L E ' )425 F O R M A T t ' 0 ' , 5 6 X , M N F E A S I B L F 1 )4 2 6 F O R M A T ( 4 6 X , ' V A R I A B L E ' , 7 X , ' V A L U F 1 )427 F O R M A T f I X , / / , 4 5 X , 9 H O P T I M U M Z,D20. f i / / )4 2 8 F O R M A T ( 5 3 X , ' B A S I C S O L U T I O N ' / )429 F O R M A T J I X , 5 5 X , ' U N B O U N D E D ' / / / )430 FORMATdH , ' R O W S E X C E E D A L L O W A B L E M A X I M U M OF 25 '
Fig. B-A (Continued). Program Listing for Subroutine LINPO.
121
1' E Q U A T I O N S 1 / / 1 P R O C E S S I N G T E R M I N A T E D ' )431 F O R M A T * 1 H , 'COLUMNS EXCEED A L L O W A B L E MAXIMUM O F ' ,
1' 40 V A R I A B L E S ' / / ' P R O C E S S I N G T E R M I N A T E D ' )C R E A D INPUT D A T A ( T H R U S T A T E M E N T 447)
II=NEOJJ=NVA+1
432 IF{11-25)434 ,434 ,433433 W R I T E ( 6 , 4 3 0 )
GO TO 507434 IF(JJ- 41)436,436,435435 W R I T E ! 6 , 4 3 1 )
GO TO 507436 II1=11+1
JJJ=JJ+IIDO 437 1 = 1, IIIW ( I ) = 0 . 0L ( I ) = 0DO 437 J=JJ,JJJ
437 A ( I , J )=0 .0DO 438 J= l ,NVA
43R A ( I I I , J )=0 .0JJJ=JJDO 445 1=1,11J K = I E ( I )
439 IF(JK)507,445,440440 IF(JK-3)441,441,507441 JK=JK-2
IF(JK)442,444,443442 A( I , JJJ )=1 .
L ( I ) = J J JJJJ=JJJ+1GO TO 445
443 A(I ,JJJ)=-1.JJJ=JJJ+1
444 L ( I ) = 0445 CONTINUE
DO 446 1=1,11446 A ( I , JJJ )=B{ I )
JJ=JJJC W R I T E D A T A LOADED
W R I T E ( 6 , 4 4 7 )447 F O R M A T ( ' 1 » , 5 4 X , ' D A T A L O A D E D ' )C S T A R T OF SOLUTION PHASE448 KKK=0
JK=1K=0
C ADD ARTIFICIAL VARIABLES TO PROBLEM (THRU STATEMENT 455)449 1=1
Fig. B-4 (Continued). Program Listing for Subroutine LINPO.
122
450 1=1+1IF( I - I I ! )451 ,455,455
4 5 1 I F ( L ( I ) ) 4 5 0 , 4 5 2 , 4 5 0452 DO 454 J=1,JJ
I F ( A ( I , J ) ) 4 5 3 , 4 5 4 , 4 5 3453 A( I I I , J ) = A ( I I I , J ) - A ( I , J )454 CONTINUE
GO TO 450455 GO TO 4004 5 6 K = I I IC DETERMINE VECTOR TO ENTER BASIS (THRU STATEMENT 463)457 J=0
W ( K ) = 0. 0L(K)=0
45B J=J + 1IF(J-JJ)459,462,462
459 I F ( D A 8 S ( A ( K , J ) ).LE.G.1D-08) A ( K , J ) = 0 .I F ( A ( K , J ) ) 4 6 0 , 4 5 8 , 4 5 8
460 T F ( W ( K ) - A ( K , J ) ) 4 5 8 , 4 5 8 , 4 6 14 6 1 W ( K ) = A ( K , J )
L ( K ) = JGO TO 458
462 I F ( L ( K ) )463 ,492 ,463463 K J = L ( K )C DETERMINE IF SOLUTION IS UNBOUNDED
DO 464 1=2,11IF(A( I,KJ) )464,464,465
464 CONTINUEC WRITE UNBOUNDED
WRITE(6,429)GO TO 507
C DETERMINE VECTOR TO LEAVE BASIS (THRU STATEMENT 473)465 1=1
JK=0466 1=1+1
I F ( I - I 1 ) 4 6 7 , 4 6 7 , 4 7 3467 I F ( A ( I , K J ) ) 4 6 6 , 4 6 6 , 4 6 8468 I F ( D A B S ( A ( I , K J ) ) - 0 . I D - O S ) 4 6 9 , 4 6 9 , 4 7 0469 A ( I , K J ) = 0 .
GO TO 466470 X = A ( I , J J ) / A ( I ,KJ)
IF (JK)471 ,472 ,471471 IF (X -XMIN)472 ,466 ,4664 7 2 X M I N = X
J K = IGO TO 466
473 X = A ( J K , K J )KJ11=L (JK)
Fig. B-4 (Continued). Program Listing for Subroutine LINPO.
123
L ( J K ) = K JC CALCULATE MEW TABLEAU VALUES (THRU STATEMENT 491)
DO 474 1=1,111474 H(I ) = A( I,KJ)
IJ=JK-1DO 482 1=1, IJDO 482 J=1,JJI F ( A ( JK ,J ) )475, 482,475
475 I F ( D A B S ( A ( J K , J) )-0. 10-08)476, 476, 477476 A ( J K , J ) = 0 .
GO TO 482477 I F ( W ( I) )478,482,478478 I F ( D A B S ( W ( I ) ) -0 . 10-08)479, 479, 480479 i'MI)=0.
GO TO 482480 A (I,J ) = A( I , J ) - W ( I )*( A ( J K , J ) / X )
IF ( O A B S ( A ( I ,J) )-0.1D-08)481,481,482481 A ( I , J ) = 0 .482 CONTINUE
IJ=JK+1DO 490 I=IJ,IIIDO 490 J=1,JJI F ( A ( J K , J ) )483,490,483
483 I F ( D A B S ( A ( JK,J ) ) -0. 1 D-08 )484 ,484,485484 A ( J K , J ) = 0 .
GO TO 490485 I F ( W ( I ) )486,490,486486 I F ( D A B S ( W ( I ) )-0. 10-08)487, 487, 4884 8 7 W ( I ) = 0 .
GO TO 490488 A( I , J ) = A ( I ,J ) -W ( I ) * ( A { JK , J ) / X )
I F( DABS (A( I, J) )-0.1D-08 1489,489,490489 A( I,J)=0.490 CONTINUE
DO 491 J=1,JJ491 A (JK, J)=A< JK,J )/X
GO TO 400492 TF(K-1 )497,497,493C DETERMINE IF SOLUTION IS FEASIBLE493 IJ=JJ-1
IF (DABS(A(K,JJ) )-0. 10-08)494, 494, 496494 CONTINUEC W R I T E F E A S I B L E
W R I T E (6 ,424)D 0 4 9 5 J = 1 , J J
495 A ( I I I , J )=0 .0
Pig. B-4 (Continued). Program Listing for Subroutine LINPO.
124
KKK=0GO TO 457 .
C W R I T E I N F E A S I B L E496 l-'RITE ( 6 , 4 2 5 )
GO TO 507C WRITE OPTIMUM VALUE OF OBJECTIVE FUNCTION497 WRITE (6,427) A(1,JJ)
WR I T E ( 6 , 42 8 )WRITE (6,426)
C WRITE LIST OF REAL VARIABLESDO 498 1=2,II .
49R WRITE (6,423) L ( I ) ,A(I,JJ )I F (NT.GE.8) GO TO 507WRITE!6,499)
499 FORMAT(///,47X,'DIGITAL FILTER COEFFICIENTS')WRITE(6,500) '
500 FORMAT(«0«,47X,'STAGE',8X,'VALUE')C CALCULATE DIGITAL F ILTER ' COEFFICIENTS (THRU STATEMENT 504)
DO 502 1=1,NVADO 501 J=2,IIIF(L(J).EO.I) H(I)=A(J,JJ)IF(L(J ).EO.I) GO TO 502IF(J.EO.II) H(I)=O.ODO
501 CONTINUE502 CONTINUE
DO 503^I=2,NVA,2503 H(I )=(-!.DO)*(H(I ))
IF (MT.GE.4) GO TO 505DO 504 1=2,NVA
504 H( I ) = (2.0DO)*(H(I) )C WRITE LIST OF FILTER COEFFICIENTS -505 DO 506 1=1,NVA506 WRITE(6,423)I,H( I )507 RETURN
END
Fig. B-4 (Continued). Program Listing for Subroutine LINPO.
APPENDIX C
AUXILIARY SUBPROGRAMS
The linear-programming subroutine LINPO used for the design of
digital filters requires that coefficient arrays be calculated before
the subroutine can be used. Since this procedure can become rather
tedious due to the number and type of calculations required, especially
for the channel equalization application, auxiliary Fortran IV sub-
programs COCAL1 and COCAL2 were developed, where COCAL is a mneomonic
for Coefficient CALculator. COCAL1 is a subroutine for the design of
frequency-sampling filters which are to be used either for generating
pulses to transmit data over ideal channels or for matched filter
detection. COCAL2 is a subroutine for the design of either trans-
versal or frequency-sampling filters which are to be used to equalize
nonideal channels. The nonideal channel must be defined by its unit-
impulse response in a function subprogram. Consequently, a number of
impulse-response equations corresponding to common data transmission
channels have been programmed and are incorporated in a function sub-
program called CC. Also included is a subroutine CHECK to be used
in conjunction with COCAL2 and CC. It calculates the unit-impulse
response of the equalized channel after the design of the digital-
filter equalizer.
125
126
C.I SUBROUTINE COCAL1
The frequency-sampling filter impulse-response envelope was
derived in Section 3.1 and expressed in (3.6) or (3.7) as
H ^ 2Rh(t) = j -+ } (-D -jp cos(2irkt/NT) , (C.I)
k=l
where the upper limit on the sum has been replaced by R-l and the fre-
quency sample IL,/ has been assumed to be zero if N is even. The
derivative of (C.I) is
R-l
h'(t) = -^- V k(-l)k+1 a sin(2irkt/NT) . (C.2)N T k=l
Coefficients of the H, terms must be calculated for the objective
function and every constraint equation of any LINPO frequency-sampling
filter design. Also, for any LINPO design the constraint equations
must be expressed in a form such that all b. as defined in (3.11) are
nonnegative. Furthermore, the objective function must be expressed
as a maximization problem. COCAL1 is a double-precision computer sub-
routine that takes a more general linear-programming design problem
and sets up the proper LINPO input arrays to satisfy these restric-
tions. It also calls the LINPO subroutine to solve the problem.
There are a variety of problems that COCAL1 will accept. The
objective function can be in any of the following forms:
maximize Z = > a. h(t.) , (C.3a)<—' J Jj
127
maximize Z = ) a. h'(t.) , (C.3b)*—• 3 3j
minimize Z = ) a. h(t.) , (C.3c)^—• 3 3
J
minimize Z = V a. h1(t.) , (C.3d)£-^ 3 33
where each a. is either ±1. As many equations of one type as desired
can be combined to form Z. Each individual constraint equation can
be of the h(t) or h'(t) type with either positive, negative, or zero
b..i
C.I.I User Instructions
The call statement for the subroutine is CALL COCAL1(CT,NTYPE,B,
IE,NOBJ,N,T,NEQ,NVA,NSP,NT) where the input parameters IE, NEQ, NVA,
and NSP were defined previously in Table B.I. The other input para-
meters are defined in Table C.I. The parameter NVA was defined as
the number of unknowns in the constraint equations and equaled R in
the constraint equation formulation of Appendix A. For the low-pass
and band-pass filter design problems of Chapters 3 and 4, R and con-
sequently NVA, is equal to the number of unknown multiplier coeffi-
cients to be determined optimally. The value for NT is generated
internally in COCAL1 and is an output parameter.
128
TABLE C.I
COCAL1 INPUT PARAMETERS
CT: A double-precision array of real numbers representing criticaltime points. All time points at which the impulse response isto be constrained must be included. Furthermore, if more thanone constraint equation is written at the same critical time,that time point should be repeated for each of these constraintequations. However, time points that appear in the objectivefunction equation should not be repeated if constraint equa-tions have also been written at those points, as will normallybe the case. If constraint equations have not been written atsome of the objective function time points, those times shouldbe included as the last members of the CT array.
NTYPE: An array of integer constants representing the objective func-tion and constraint equation types. The first value in thearray represents the type of objective function, i.e., "0"for an objective function in the form of (C.3a), "1" for(C.3b), "2" for (C.3c),and "3" for (C.3d). The remainingvalues in the array are in one-to-one correspondence with theconstraint equation time points of CT and represent the typeof each constraint equation, i.e., "0" for an h(t) equationand "1" for an h'(t) equation.
B: A double-precision array of positive or negative real numbersrepresenting the right-hand sides of the constraint equationsand entered in the same order as the NTYPE array. The firstvalue, which corresponds to the objective function, must bezero.
NOBJ: An array of positive and negative integer constants definingthe objective function. The first value is a positive inte-ger equal to the number of equations to be combined to formthe objective function. The signs of the remaining integersdefine the a. of (C.3) while the associated absolute valuesdefine the locations in the CT array of the corresponding t..
N: A double-precision constant equal to the number of impulseresponse values.
T: A double-precision constant equal to the sampling interval.
129
C.I.2 Example Problem
The set of constraint equations that were defined in (3.16) for
the raised-cosine design problem were
h(3t.) = 1 h(5t.) = 0 h'(4t.) < 0b b b —
h(4t.) = 0 ' h(6t.) = 0 h'(5tj < 0b b b —
with the objective function
Z = h' (4t, ) + h' (5t, )b b
to be maximized. A main program is given in Fig. C-l as an example of
the input required for a COCAL1 solution of this problem. The corre-
sponding output of the LINPO subroutine is illustrated in Fig. C-2.
Since NSP = 0 for this example, none of the tableaus were printed
during the linear-programming solution. The results printed first
are the optimum value of Z and the optimal basic solution. The six
values of the basic solution represent the unknown H, , k = 0,...,5.
These values were used to calculate the digital filter coefficients
H and 2(-l) H, , k = 1,...,5 which are printed out last.U K.
DIMENSION NTYPE(7),IE(7),NOBJ(3)REAL*8 CT(6),B(7),N,TDATA CT/3.000,4.ODD,5.000,6.0DO,4.0DO,5.ODD/DATA NTYPE/1,0,0,0,0,1,1/DATA B/0.000,1.000,5*0.ODD/DATA IE/0,2,2,2,2,1,1,/DATA NOBJ/2,2,3/DATA N,T,NEQ,NVA,NSP/60.000,0.100,7,6,O/CALL COCAL1(CT,NTYPE,B,IE,NOBJ,N,T,NEQ,NVA,NSP,NT)STOPEND
Fig. C-l. Main Program for COCAL1 Solution.
130
DATA LOADED
FEASIBLE
OPTIMUM 7. 0.0
BASIC SOLUTION
VARIABLE VALUE5 0.33333336D 011 0.100000000 024 0.50000000D 013 0.666666640 016 0.16666673D 012 0.83333327D 01
DIGITAL FILTER COEFF.IC IENTS
STAGE VALUE1 0.10000000D 022 -0.1.6666665D 023 0.13333333D 024 -0.10000000D 025 0.66666671D 016 -0.33333345D 01
Fig. C-2. LINPO Output for Raised-Cosine Filter Design.
131
C.I.3 Flowchart and Program Listing
A flowchart and program listing for the COCAL1 subroutine are
given in Figs. C-3 and C-4. The left-hand half of the flowchart
consists of two loops which calculate coefficients required for the
LINPO A array. The outer loop (thru statement 210) runs from 1 to
NEQ with the first execution corresponding to the objective function
and the remaining NEQ-1 executions corresponding to the constraint
equations. For each execution of the outer loop, there are NVA
executions of the inner loop (thru statement 208) to calculate the
NVA coefficients of each equation. That set of NVA coefficients
forms one.row of the A array. Since the objective function will
normally be a combination of equations, the appropriate coefficients
of the equations that make up the objective function must be combined
during the first passage through the outer loop. This combining of
coefficients is controlled by the NOBJ array.
The right-hand half of the flowchart represents three operations.
First, the coefficients in the first row of the A array are multiplied
by -1 if the objective function is of the type (C.3c) or (C.3d). As
stated in Table B.I, the objective-function coefficients must be multi-
plied by -1 before a linear-programming solution is obtained, assuming
that the objective-function value Z is to be maximized, which always
occurs internally in the linear-programming subroutine. However, if
the coefficient signs are not changed the value -Z is maximized and is
actually a minimization of Z. Consequently, if Z is to be minimized
the signs are not changed and by default a minimization problem is
changed to a maximization problem. Next, the constraint equations
must be checked to see if the right-hand sides are negative. If they
132
are, both sides of the equation are multiplied by -1 and the ine-
quality changed. This results in all non-negative numbers in its
B array. Finally, LINPO is called to solve the problem which has
now been properly formulated.
133
f Start J
zr:DO 2101=1,NEQDO 208J=1,NVA
MinimizeZ
MaximizeZ
n°
A(I,J)=Jth
Coefficientin h'Ctj)
A(I,J)=Jth
Coefficientin h(tr)
ObjectiveFunction
Combine A(1,J)as Indicated
byNOBJ Array
ConstraintEquation
Multiple I
Equation by-1
Fig. C-3. Flowchart for Subroutine COCAL1.
134
SUBROUTINE COCAL1 (T ,NTYPE,B2 , IE ,NOBJ ,M,T l ,NEO,NVA,NSP,NT)CC THIS SUBROUTINE C A L C U L A T E S AND SETS UP A R R A Y S REQUIREDC FOR THE LINPO DESIGN OF FREQUENCY-SAMPLING F ILTERS.C
DIMENS ION N T Y P E f N E Q ) , I E ( N E G ) , N O B J ( 1 )REAL*8 S U M , B 1 , B 2 ( N E O ) , D C O S , P I , T ( 1 ) , A ( 2 7 , 5 0 ) , M , T l ,
1K,TT,DSINPI=3.1415926DO
C CALCULATE COEFFIC IENTS FOR A R R A Y A (THRU S T A T E M E N T 210)DO 210 I = 1 , N E ONTYP=NTYPE( I )+ lGO TO (200 ,201 ,200 ,201 ) tNTYP
200 NT=0GO TO 202
201 MT=1202 K = O . O D O
I S G N = 1111 = 1I F ( I . E O . l ) I I I = N O B J ( 1 )
C C A L C U L A T E COEFFIC IENTS FOR ROW I OF A R R A Y AC (THRU STATEMENT 208)
DO 208 J=1,NVASUM=O.ODODO 206 I 1=1, IIIJJ=I-1IF ( I . G T . l ) GO TO 203JJ=II+1N B S = I A B S ( N O B J ( J J ) )I S G N = I S I G N ( I t N O B J t J J ) )JJ=NBS
203 T T = T ( J J ) / T 1B1=(2 .0DO*PI *K) /MIF(NT -0)204,204,205
204 SUM=SUM+DCOS(B1#TT)# ISGNGO TO 206
205 S U M = S U M - B 1 # D S I N ( B 1 * T T ) # I S G N206 CONTINUE
A ( I , J )=SUM* (2 .0DO/M)IF (K .EO.O.ODO) Ad , J ) = A ( I ,J ) /2 .0DOK=K+1.000
208 CONTINUEDO 209 J=2,NVA,2
209 A ( I , J ) = - A ( I , J )210 CONTINUEC CONVERT M I N I M I Z A T I O N PROBLEM TO A M A X I M I Z A T I O N PROBLEMC ' (THRU S T A T E M E N T 212)
N T Y P = N T Y P E ( 1 ) + 1
Fig. C-4. Program Listing for Subroutine COCAL1.
135
GO TO (211,211,213,213) ,NTYP211 DO 212 J=1,NVA
A ( 1 , J ) = - A ( 1 , J )212 CONTINUEC CONVERT C O N S T R A I N T EQUATIONS IF RIGHT-HANDED SIDES AREC N E G A T I V E (THRU S T A T E M E N T 218)213 DO 218 1=2,NEO
I F ( B 2 ( I ) )214»218 t 218214 R 2 ( I ) = - B 2 ( I )
DO 215 J=1,NVA215 A( I , J )= -A( I , J )
IF { IE ( I ) - 2 )216 ,218 ,217216 I E ( I ) = 3
GO TO 218217 IE( I ) = 121R CONTINUE
CALL L I N P O ( A , B 2 , I E , N E Q , N V A , N S P , N T )RETURNEND
Fig. C-4 (Continued). Program Listing for Subroutine COCAL1.
136
C.2 SUBROUTINE COCAL2
COCAL2 is a double-precision computer subroutine that formulates
an equalizer design problem for a linear-programming solution in the
same manner that COCAL1 structures a frequency-sampling filter design
problem. The expression which was derived in Section 4.1 for the out-
put of a data channel equalized with a frequency-sampling filter was
H0 £y(t) = — . \ c(t - mT) +
m=0
L , R-l
I Im=0 k=l
(-Di 2Hik k
Ncos (2irkm/N) c(t - mT) (C.4)
and similarly for a transversal equalizer
my(t) = ) (-1)"' H c(t - mT)l_. mm=0
(C.5)
It was also shown that the c(t) values must be obtained from the actual
channel impulse response by
c(t) =
dr
CC(T) dT
0 < t < T
T < t <
(C.6)
t-T
and that the derivatives of (C.4) and (C.5) are formed by replacing
the appropriate c'(t - mT) terms with
137
c'(t) =
c (t) 0 < t < Tc —
c (t) - c (t - T) t > T .c c
(C.7)
During a LINPO design of either type of equalizer, the coefficients of
the H or H terms must be calculated from (C.4) or (C.5) along withk m
(C.6) and (C.7). In addition, other LINPO input arrays must be gener-
ated.
C.2.1 User Instructions
The call statement for the subroutine is CALL COCAL2(CT,NTYPE,B,
IE,NOBJ,N,T,NEQ,NVA,NSP,NT,CC) where, with the following exceptions,
the input parameters have been defined previously in Tables B.I and
C.I. Acceptable forms of the objective function are still defined
by (C.3), with h(t.) replaced by y(t.). The possible values in the
array NTYPE must be expanded to include both frequency-sampling' and
transversal filters. Values of NTYPE from 0 to 3, which previously
identified the type of objective function and constraint equations
for frequency-sampling pulse-shaping filters, now apply to frequency-
sampling digital filter equalizers with the h(t) in Table C.I replaced
by y(t). NTYPE values from 4 through 7 identify transversal-equalizer
designs and are correspondingly defined if each integer in the NTYPE
description is increased by 4, e.g., 0 by 4, 1 by 5, etc. As an
example, if the objective function for a transversal equalizer design
is in the form of (C.3c), i.e., the minimization of a combination of
y(t.) equations, the first value in the array would be NTYPE = 6.
Unlike frequency-sampling filter designs, the number of unknown
multiplier coefficients for a transversal design is equal to the number
138
of impulse-response values. Hence, NVA must be set equal to N for
LINPO designs of transversal filters.
The parameter CC is not an input value but represents an external
function that is called by COCAL2. Consequently, a function subprogram
CC, which will be described in Section C.4, must be used with COCAL2.
C.2.2 Example Problem
An equalizer design problem introduced in Section 4.2.1 was to
determine both frequency-sampling and transversal filters to equalize
O O TT +~
the channel c (t) = 4ir t e u(t) to meet the set of constraintsc
specified by (4.16) and the objective function of (4.17). Filters
with a sampling interval of 0.1 seconds and 25 impulse response
values were specified. For the frequency-sampling filter, 12 multi-
plier coefficients were specified and from the impulse-response speci-
fication, 25 coefficients were allowable for the transversal filter.
The input program required for a COCAL2 solution of this problem is
illustrated in Fig. C-5.
Only one main.program was required for this example since the set
of specifications on the desired pulse shape were the same for both
equalizers. COCAL2 is called twice, first for a frequency-sampling
design and next for a transversal design. The only input-data dif-
ference between the two runs are the set of values for NTYPE and the
value of NVA. Subroutine CHECK which is also called for each run and
its associated input parameters will be described in Section C.3.
The statement NN=2 specifies which channel model in subprogram CC is
being equalized. LINPO outputs for the two runs are illustrated in
Figs. C-6 and C-7. As indicated, the frequency-sampling filter
139
requires 11 multipliers while the transversal filter only requires
three.
DIMENSION NTYPE(13),IE(13),NOBJ(5)REAL*8 CT(12),B(13),N,T,TIN,TM,DTCOMMON NNEXTERNAL CCDATA CT/0.500,0.7500,1,DO,1.500,2.DO,2.2500,2.500,3. DO1,0.500,1.DO,2.DO,2.5DO/DATA NTYPE/1,8*0,4*1/DATA B/4*O.DO,1.DO,8*O.DO/DATA IE/0,8*2,2*3,2*1/DATA NOBJ/4,-1,-3,5,7/DATA N,T,NEQ,NVA,NSP/25.DO,0.100,13,12,0/NN=2DATA TIN,TM,DT/0.DO,3.DO,0.05DO/CALL COCAL2(CT,NTYPE,B,IE,NOBJ,N,T,NEQ,NVA,NSP,NT,CC)CALL CHECK(TIN,TM,DT,N,T,NVA,NT,CC)DO 1 1=1,13
1 NTYPE(I)=NTYPE(I)+4NVA=25CALL COCAL2(CT,NTYPE,B,IE,NOBJ,N,T,NEQ,NVA,NSP,NT,CC)CALL CHECK.(TIN,TM,DT,N,T,NVA,NT,CC)STOPEND
Fig. C-5. Main Program for COCAL2 Solution.
C.2.3 Flowchart and Program Listing
Since COCAL2 performs the same functions using y(t) specifica-
tions as COCAL1 does with h(t) specifications, the flowchart of Fig.
C-3 is still valid for COCAL2, with the exception that the flowchart
statement numbers 208, 210, and 218 are now 316, 322, and 330, re-
spectively. Also, coefficients in y(tT) and y'(tT) are calculated
instead of h'(t ) and h(t ). The COCAL2 program listing is furnished
in Fig. C-8.
140
D A T A
FFASUiLF '
OPT!r.(Ji- : 7. 0.0
HAS 1C SOLUTION"
VAR J A R L F1235478o
.106
11'16
DIGITAL
STAGE1 .2
. 34567r<Q
10111?
VALUE0.1755752200.21980.92900.3B70100800. 89141 R8400.6238295700.9345112200.887938^300.8204707100.7243306600. 98221 P. 7 1.00.366461890
. 0 . 0
FILTER COFFFIC
VALUE0.175575220-0.4396165700.7740 201 60.
-0.1247659100. 178283770-0.1964437400. 1.86902240
"-0. 1775876900. 164094140-0.1448661300.7329237900.0
01 '01 .ni010101010101 .0101 '.
IENTS
0101010202020202020201
Fig. C-6. LINPO Output for Frequency-Sampling Equalizer Design.
141
DATA LOADFD
FEASIBLE
OPTIMUM Z 0. 0
B A S I C SOLUTION
V A R I A B L E549
238
13190
187
2225
VALUE0.00.00.00.00.00.48966586D 010.56444058D 000,00.12696229D 010.00.00.0
DIGITAL FILTER COEFFIC IENTS
STAGE VALUE1 0.02 0.03 0.0\ o.o5 0.06 0.07 0.08 0.09 0.010 0.011 0.012 0.013 0.48966586D 0114 0.0 —15 0.016 0.017 0.018 -0.12696229D 0119 0.56444058D 0020 0.0 .21 0.022 0.023 0.024 0.025 0.0
Fig. C-7. LINPO Output for Transversal Equalizer Design.
142
SUBROUTINE COCAL2{T,NTYPE,B2tIE,NOBJ,M,Tl,NEQ,NVA,MSP,NT1,CC)
CC THIS SUBROUTINE C A L C U L A T E S AND SETS UP A R R A Y S REQUIREDC FOR THE LINPO DESIGN OF FREQUENCY-SAMPLING ORC T R A N S V E R S A L E Q U A L I Z E R S .C
DIMENSION N T Y P E ( NEC ) , I E ( NEQ ) , N O B J ( 1 )R E A L * 8 S U M , B 2 ( N E O ) , C C , D C O S , P I , D , T ( 1 ) , A ( 2 7 , 5 0 ) , Y , M ,
1T1 ,K ,M,X ,ZR E A L * 8 A l ( 2 5 , 4 0 )EXTERNAL CCPI=3.1415926DO
C C A L C U L A T E C O E F F I C I E N T S FOR A R R A Y A (THRU STATEMENT 3 2 2 )DO 322 1=1,NEON T Y P = N T Y P E ( I ) + lGO TO (300,301,300,301,302,303,302,303) ,NTYP
300 N T = 0GO TO 304
301 MT=1GO TO 304
302 N T = 4GO TO 30A
303 N T = 5304 K=O.ODO
I S G N = 1111 = 1I F ( I . E O . l ) I I I = N O B J ( 1 )N V A 1 = NVA 'I F ( N T . G E . 4 ) N V A 1 = 1
C C A L C U L A T E COEFFICIENTS OF ROW I OF A R R A Y AC (THRU STATEMENT 316)
DO 316 J = 1 , N V A 1SUM=O.ODODO 313 11=1,11 IJJ = I-1IF ( I . G T . l ) GO TO 305JJ = I 1 + 1N B S = I A B S ( N O B J ( J J ) )ISGN = IS IGN(1,NOBJ( JJ) )JJ=NBS
305 L=T (JJ ) /T1+1T T L = F L O A T ( L )IF ( D B L E ( T T L ) . G T . M ) L=MN = O . O D O .DO 311 I J = 1 , LX=T(JJ ) -N*T1Z = X - T 1
Fig. C-8. Program Listing for Subroutine COCAL2.
143
I F ( Z ) 306,306,307306 IF(NT.50.0 .0R.NT.E0.4) CALL DOG 1 6 ( O . O D O , X , C C , Y )
IF (NT.EQ.1 .0R.NT.EQ.5 ) Y = C C ( X )GO TO 308
307 I F ( N T . E O . O . O R . N T . E Q . 4 ) CALL D Q G 1 6 ( Z , X , C C , Y )IF fNT.EO. l .OR.NT.E0 .5 ) Y = C C ( X ) - C C ( Z )
308 IF(NT.GE.4) GO TO 309D=(2 .0DO*PI *K*N) /MSUM=ISGN*Y*DCOS(D)+SUMGO TO 310
309 A l ( I I, I J )=Y* ISGN310 N=N+1.0DO311 CONTINUE
IF (NT .LT .4 .0R .L .EO.NVA) GO TO 313LL=L+1DO 312 J I=LL ,MVA
312 A l ( I I , J I ) = O . O D O313 CONTINUE
IF (NT .GE.4 ) GO TO 316A ( I , J ) = S U M * ( 2 . 0 D O / M )
314 I F ( K . E O . O . O D O ) A(I , J ) = A ( I , J ) /2 .000315 K = K + 1 . 0 D O316 CONTINUE
IF (NT .LT .4 ) GO TO 320317 DO 319 IJ=1,NVA
SUM=O.ODODO 318 11 = 1 , I I I
318 SUM=SUM + A 1 ( I I, IJ)319 AU t I J ) = SUM320 CONTINUE
DO 321 J = 2 , N V A , 2321 A ( I , J )=-A( I,J)322 CONTINUEC CONVERT M I N I M I Z A T I O N PROBLEM TO A M A X I M I Z A T I O N P R O B L E MC (THRU STATEMENT 324)
M T Y P = N T Y P E ( 1 ) + lGO T 0 ( 3 2 3 , 3 2 3 , 3 2 5 , 3 2 5 , 3 2 3 , 3 2 3 , 3 2 5 , 3 2 5 ) , N T Y P
323 DO 324 J=1,NVAA ( 1 , J ) = - A ( 1 , J )
324 CONTINUEC CONVERT C O N S T R A I N T EQUATIONS IF RIGHT-HANDED SIDES AREC N E G A T I V E (THRU S T A T E M E N T 330)325 DO 330 1 = 2 , N E O
I F ( B 2 ( I ) ) 3 2 6 , 3 3 0 , 3 3 03 2 6 R 2 ( I ) = - B 2 ( I )
DO 327 J=1,NVA327 A ( I , J ) = - A ( I , J )
I F ( I E ( I ) - 2 ) 3 2 8 , 3 3 0 , 3 2 9
Fig. C-8 (Continued). Program Listing for Subroutine COCAL2.
144
328 IE(I)=3GO TO 330
329 !E(I)=1330 CONTINUE
CALL L I N P O ( A , B 2 , I E , N E Q , N V A , N S P , N T )RETURNEND
Fig. C-8 (Continued). Program Listing for Subroutine COCAL2.
145
C.3 SUBROUTINE CHECK
Equations (C.4) and (C.5) represent the received pulse at the
output of a channel equalized with a frequency-sampling filter and
transversal filter respectively. In order to verify the results of
the LINPO equalizer designs, these equations along with (C.6) were
programmed to form the double-precision computer subroutine called
CHECK which calculates and generates plots of y(t).
The call statement for the subroutine is CALL CHECK(TIN,TM,DT,
N,T,NVA,NT,CC) where the input parameters TIN, TM, and DT are defined
in Table C.2 and the other parameters have been defined previously.
TABLE C.2
CHECK INPUT PARAMETERS
TIN: A double-precision constant equal to the initial timepoint at which y(t) is desired to be evaluated.
TM: A double-precision constant equal to the maximum timepoint at which y(t) is desired to be evaluated.
DT: A double-precision constant equal to the time intervaldesired between consecutive evaluations of y(t).
Filter coefficients H, or H need not be externally entered into the
subroutine since these values are placed in a labeled COMMON block by
LINPO at the completion of the design and are therefore available to
CHECK. The integer constant NT is required by CHECK to determine which
equalizer has been designed, but is generated by COCAL2 and does not
have to be stated in the main program. An example of the use of the
CHECK subroutine in a main program is illustrated in Fig. C-5 with
146
the output plots generated by the subroutine given in Figs. 4-3 (b)
and 4-4(b).
A flowchart and program listing for the subroutine are presented
in Figs. C-9 and C-10 respectively. The primary loop of the program
is executed for each of the NDATA time points at which the function
y(t) is to be evaluated. During each execution, channel impulse-
response values obtained by integrating c (T) from the function sub-
program CC are combined with either the H, or H values from LINPO,K. HI
depending on the values of NT, to form y(t ). After all NDATA values
of y(tj) have been calculated, GRAPH1 [52] is called to plot y(tT>
versus t .
147
( Start J
DO 110
I - l.NDATA
1Evaluatec(t,-mT)from CC(T)
no
tFrequency-Sampling Filter
yes
TransversalFilter '
Calculate
y(tx)
Calculate
IncrementTimetT
Call
GRAPH 1
T End J
Fig. C-9. Flowchart for Subroutine CHECK.
148
SUBROUTINE CHECK(T IN ,TM,DT ,M,T1 ,NVA,NT ,CC)CC THIS SUBROUTINE CALCULATES THE IMPULSE RESPONSE OFC AN EQUALIZED DATA TRANSMISSION CHANNEL. EITHERC T R A N S V E R S A L OR FREQUENCY-SAMPLING DIGITAL FILTERSC MAY BE USED AS EQUALIZERS.C
DOUBLE PRECISION H(40)DIMENSION A ( 5 0 0 ) , Y Y ( 5 0 0 )REAL*8 SUM,CC,DCOS,P I ,D ,V ,Y (200 ) ,M ,T l ,K ,N,X,Z,SUM1REAL*8 T IN,TM,DT,SUM2,TMPCOMMON/HNAME/HEXTERNAL CCPI=3.1415926DOTMP=TINNDATA=(TM-T IN) /DT+1
C CALCULATE VALUE OF Y ( T ) FOR EACH TIME T (THRUC STATEMENT 110)
DO 110 I=1,NDATASUM2=O.ODOA (I ) = SNGL(TIN)L=TIN/T1 + 1T T L = F L O A T ( L )IF ( D B L E ( T T L ) . G T . M ) L=MN=O.ODO
C CALCULATE IMPULSE RESPONSE VALUES OF UNEQUALIZEDC CHANNEL (THRU STATEMENT 104)
DO 104 IJ=1,LX=TIN-N*T1Z=X-T1I F ( Z ) 100,100,101
100 CALL DQG16(O.ODO,X ,CC,V)GO TO 102
101 CALL D Q G 1 6 ( Z , X , C C , V )102 N = N + 1 . 0 D O
I F J N T . L T . 4 ) GO TO 103I F (H ( IJ ) .EQ.O.ODO ) GO TO 104SUM2=SUM2+V*H(IJ)GO TO 104
103 Y ( I J ) = V104 CONTINUEC DETERMINE Y ( T ) FOR T R A N S V E R S A L FILTER
I F ( N T . G E . 4 ) Y Y ( I) = SUM2IF(NT.GE.4) GO TO 109SUM1=O.ODO
105 K=O.ODOC C A L C U L A T E Y ( T ) FOR FREQUENCY-SAMPLING FILTERC (THRU STATEMENT 109)
Fig. C-10. Program Listing for Subroutine CHECK.
149
00 108 J=1,NVAIF ( H ( J ) . E Q . O . O D O ) GO TO 107SUM=O.ODON=O.ODODO 106 IJ=1,LD= (2.0r»0*PI*K*N )/MS U M = Y ( I J ) * D C O S ( D ) + S U MN=N+1.000
106 CONTINUESUM1=SUM1+SUM*H(J)
107 K=K+1.000108 CONTINUE
Y Y ( I ) = S N G L ( S U M 1 / M )109 T I N = T I N + D T110 CONTINUE
TIN=TMPC A L L G R A P H 1 ( A , Y Y , N D A T A , 1 )
,RETURNEND
Fig. C-10 (Continued). Program Listing for Subroutine CHECK.
150
C.4 FUNCTION SUBPROGRAM CC
Function subprogram CC is called by the subroutines COCAL2 and
CHECK to calculate channel impulse- response values. The eight models
of typical channels which are available from the subprogram are listed
in Table C.3. It should be noted that the channels have been normal-
ized in the subprogram to have a unity breakpoint frequency.
TABLE C.3
IMPULSE-RESPONSE CHANNEL MODELS
NN Cc(t) .NN, Cc(t)
u(t) 5 TT) e" U(t)
£..—£. ii L. / . \ f -L / o \ .i_-^ ~ ATTt / _,_ \IT te u(t) 6 - r(2ii) t e u(t)
e 2lTt u(t) 7 e 2lTt sin (2Trt) u(t)
cos (2TTt) u(t)
In order to specify which channel model is desired, the parameter
NN must be declared with a blank COMMON statement and its value given
in the main program that calls either COCAL2 or CHECK. The main program
must also declare the function CC to be external. For example, see
Fig. C-5 where the statement NN = 2 specifies the second channel re-
sponse listed in Table C.3. The CC function program listing is given
in Fig. C-ll.
151
DOUBLE PRECISION FUNCTION CC(T)CC THIS FUNCTION SUBPROGRAM EVALUATES ONE OF EIGHTC POSSIBLE IMPULSE RESPONSE FUNCTIONS FOR THEC TIME POINT T.C
DOUBLE PRECISION T,DEXP,ALPHA,ALPN,AT,TN,PROD,DSIN,DCOSCOMMON NNN=NNALPHA=6.2831852DOAT=ALPHA*TIF (AT.GE.165.DO) GO TO 601IF(N.LE.6) GO TO 603M=N-6GO TO(604 ,605 ) ,M
603 IF(N.EQ.1)GO TO 607IF(T.LT.l.D-9) GO TO 601TN=T**(N-1)ALPN=ALPHA**NGO TO 608
607 TN=1.0DOALPN=1.0DO
608 PROD = 1.0DODO 600 1=2,N
600 PROD=( 1-1 )*PRODC CALCULATE CC < T ) FOR CHANNEL WITH SIMPLE POLES
CC=(DEXP(-AT)*ALPN*TN)/PRODGO TO 602
C CALCULATE C C ( T ) FOR CHANNEL WITH COMPLEX POLES604 C C = D E X P ( - A T ) * D S I N ( A T )
GO TO 602C CALCULATE CC(T) FOR CHANNEL WITH COMPLEX POLESC AND A SIMPLE ZERO605 C C = D E X P ( - A T ) * D C O S ( A T )
GO TO 602601 CC=O.ODO
GO TO 602606 CC=1.0DO602 . RETURN
END
Fig. C-ll. Program Listing for Function CC.
LIST OF REFERENCES
1. R. A. Kaenel, Ed., "Special issue on digital signal processing,"IEEE Trans. Audio and Electroacoustics, vol. AU-18, December 1970.
2. H. Nyquist, "Certain topics in telegraph transmission theory,"Trans. AIEE, vol. 47, pp. 617-644, April 1928.
3. J. M. Wozencraft and I. M. Jacobs, Principles of CommunicationEngineering, New York: John Wiley & Sons, 1967, Chapter 4.
4. H. Nyquist, "Certain factors affecting telegraph speed," BellSystem Tech. J., vol. 3, pp. 324-326, April 1924.
5. W. R. Bennett and J. R. Davey, Data Transmission, New York:McGraw-Hill, 1965.
6. R. W. Lucky, J. Salz, and E. J. Weldon, Jr., Principles ofData Communication, New York: McGraw-Hill, 1968.
7. H. A. Wheeler, "The interpretation of amplitude and phasedistortion in terms of paired echoes," Proc. IRE, vol. 27,pp. 359-385, June 1939.
8. E. D. Sunde, "Theoretical fundamentals of pulse transmission - I,"Bell System Tech. J., vol. 33, pp. 721-788, May 1954.
9. E. D. Sunde, "Theoretical fundamentals of pulse transmission - II,"Bell System Tech. J., vol. 33, pp. 987-1010, July 1954.
10. B. P. Bogert, "Demonstration of delay distortion correction by .time-reversal techniques," IRE Trans. Communication Systems,vol. CS-5, pp. 2-7, December 1957.
11. I. Gerst and J. Diamond, "The elimination of intersymbol inter-ference by input signal shaping," Proc. IRE, vol.. 49, pp. 1195-1203,July 1961.
12. J. M. Aein and J. C. Hancock, "Reducing the effects of intersymbolinterference with correlation receivers," IEEE Trans. InformationTheory, vol. IT-9, pp. 167-175,.July 1963.
13. D. A. George, "Matched filters for interfering signals," IEEETrans. Information Theory, vol. IT-11, pp. 153-154, January 1965.
152
153
14. R. A. Gibby and J. W. Smith, "Some extensions of Nyquist'stelegraph transmission theory," Bell System Tech. J., vol. 44,pp. 1487-1510, September 1965.
15. D. W. Tufts, "Nyquist's problem - the joint optimization oftransmitter and receiver in pulse amplitude modulation," Proc.IEEE, vol. 53, pp. 248-259, March 1965.
16. M. R. Aaron and D. W. Tufts, "Intersymbol interference and errorprobability," IEEE Trans. Information Theory, vol. IT-12, pp.26-34, January 1966.
17. J. W. Smith, "The joint optimization of transmitted signal andreceiving filter for data transmission systems," Bell SystemTech. J^, vol. 44, pp. 2363-2392, December 1965.
18. T. Berger and D. W. Tufts, "Optimum pulse amplitude modulationparts I & II," IEEE Trans. Information Theory, vol. IT-13,pp. 196-216, April 1967.
19. H. B. Voelcker, "Generation of digital signaling waveforms,"IEEE Trans. Communication Technology, vol. COM-16, pp. 81-93,February 1968.
20. P. J. Van Gerwen and P. Van Der Wurf, "Data modems with integrateddigital filters and modulators," IEEE Trans. Communication Tech-nology, vol. COM-18, pp. 214-222, June 1970.
21. D. J. Nowak and P. E. Schmid, "A nonrecursive digital filter fordata transmission," IEEE Trans. Audio and Electroacoustics,vol. AU-16, pp. 343-349, September 1968.
22. A. Croisier and J. D. Pierret, "The digital echo modulation,"IEEE Trans. Communication Technology, vol. COM-18, pp. 367-376,August 1970.
23. D. A. Spaulding, "Synthesis of pulse-shaping networks in the timedomain," Bell System Tech. J., vol. 48, pp. 2425-2444, September1969.
24. R. J. Tracey, "Optimization of pulse shaping filters for datatransmission," 1970 IEEE Conference on Communications Record,vol. 6, pp. 24-7 - 24-12, June 1970.
25. D. A. Shnidman, "Optimum phase equalization of filters for digitalsignals," Bell System Tech. J., vol. 49, pp. 1531-1554, September1970.
26. T. Yamabuchi, T. Takagi, and K. Mano, "Matched filters for rec-tangular, raised cosine, and half sine wave signals," IEEE Trans.Communication Technology, vol. COM-19, pp. 369-371, June 1971.
154
27. A. P. Brogle, "A new transmission method for pulse-code modulationcommunication systems," IEEE Trans. Communications Systems, vol.CS-8, pp. 155-160, September 1960.
28. A. Lender, "The duobinary technique for high-speed data trans-mission," IEEE Trans. Communication and Electronics, vol. 82,pp. 214-218, May 1963.
29. A. Lender, "Correlative level coding for binary-data transmission,"IEEE Spectrum, vol. 3, pp. 104-115, February 1966.
30. J. M. Sipress, "A new class of selected ternary pulse transmissionplans for digital transmission lines," IEEE Trans. CommunicationTechnology. vol. COM-13, pp. 366-372, September 1965.
31. E. ,R. Kretzmer, "Generalization of a technique for binary datacommunication," IEEE Trans. Communication Technology, vol. COM-14,pp. 67-68, February 1966.
32. F. K. Becker, E. R. Kretzmer, and J. R. Sheehan, "A new signalformat for efficient data transmission," Bell System Tech. J.,vol. 45, pp. 755-758, May 1966.
33. R. D. Howson, "An analysis of the capabilities of polybinary datatransmission," IEEE Trans. Communication Technology, vol. COM-13,pp. 312-319, September 1965.
34. F. K. Becker, L. N. Holzman, R. W. Lucky, and E. Port, "Automaticequalization for digital communication," Proc. IEEE, vol. 53,pp. 96-97, January 1965.
35. K. E. Schreiner, H. L. Funk, and E. Hopner, "Automatic distortioncorrection for efficient pulse transmission," IBM J., pp. 20-30,January 1965.
36. R. W. Lucky, "Automatic equalization for digital communication,"Bell System Tech. J., vol. 44, pp. 547-588, April 1965.
37. R. W. Lucky, "Techniques for adaptive equalization of digitalcommunication systems," Bell System Tech. J., vol. 45, pp.255-286, February 1966.
38. C. Kaiteris and W. L. Rubin, "Generalized automatic equalizationfor communication channels," Proc. IEEE, vol. 54, pp. 439-440,March 1966.
39. A. Gersho, "Automatic time-domain equalization with transversalfilters," Proc. National Electronics Conference, vol. 22, pp.928-932, October 1966.
40. H. Rudin, Jr., "Automatic equalization using transversal filters,"IEEE Spectrum, vol. 4, pp. 53-59, January 1967.
155
41. A. Gersho, "Adaptive equalization of highly dispersive channelsfor data transmission," Bell System Tech. J., vol. 48, pp. 55-70,January 1969.
42. M. G. Taylor, "Adaptive digital filtering for PAM data trans-mission," 1970 IEEE Conference on Communications Record, vol. 6,pp. 26-9 - 26-12, June 1970.
43. J. G. Proakis, "Adaptive digital filters for equalization oftelephone channels," IEEE Trans. Audio and Electroacoustics,vol. AU-18, pp. 195-199, June 1970.
44. C. W. Niessen, "Adaptive equalizer for pulse transmission," IEEETrans. Communication Technology, vol. COM-18, pp. 377-395,August 1970.
45. A. Lender, "Decision-directed digital adaptive equalizationtechnique for high-speed data transmission," IEEE Trans. Com-munication Technology, vol. COM-18, pp. 625-632, October 1970.
46. A. Gersho, "Adaptive equalization for data transmission," Proc.National Electronics Conference, vol. 26, pp. 154-157, December1970.
47. W. M. Cowan and J. G. Proakis, "Automatic telephone line equali-zation," 1971 IEEE Conference on Communications Record, vol. 7pp. 38-12 - 38-17, June 1971.
48. H. E, Kallman, "Transversal Filters," Proc. IRE, vol. 28, pp.302-310, July 1940.
49. R. W. Lucky, "Bell turns to MOS/LSI in digital equalizer,"Electronics, vol. 44, p. 39, June 7, 1971.
50. T. G. Stockham, Jr., "High speed convolution and correlation,"AFIPS Proc., 1966 Spring Joint Computer Conference, vol. 28,pp. 229-233, 1966.
51. J. F. Kaiser, "Digital Filters" in Systems Analysis by DigitalComputer, F. F. Kuo and J. F. Kaiser, Eds., New York: John.Wiley& Sons, 1966, pp. 218-285.
52. R. C. Houts and D. W. Burlage, "Computer-aided design of digitalfilters," University of Alabama Bureau of Engineering ResearchTechnical Report No. 128-102, March 1971.
53. M. A. Martin, "Frequency domain applications to data processing,"IRE Trans. Space Electronics and Telemetry, vol. SET-5, pp. 33-41,March 1959.
54. R. J. Graham, "Determination and analysis of numerical smoothingweights," NASA Technical Report No. TR R-179, December 1963.
156
55. E. B. Anders, et al., "Digital filters," NASA Contract ReportNo. CR-136, December 1964.
56. H. -D. Helms, "Nonrecursive digital filters: design methods forachieving specifications on frequency response," IEEE Trans.Audio and Electroacoustics, vol. AU-16, pp. 336-342, September 1968.
57. A. J. Monroe, Digital Processes for Sampled Data Systems, NewYork: John Wiley & Sons, 1962, Chapters 9 and 12.
58. R. K. Cavin, C. H. Ray, and V. T. Rhyne, "The design of optimalconvolutional filters via linear programming," IEEE Trans. Geo-science Electronics, vol. GE-7, pp. 142-145, July 1969.
59. C. M. Rader and B. Gold, "Digital filter design techniques inthe frequency domain," Proc. IEEE, vol. 55, pp. 149-171,February 1967.
60. B. Gold and K. L. Jordan, Jr., "A note on digital filter synthesis,"Proc. IEEE, vol. 56, pp. 1717-1718, October 1968.
61. C. J. Weinstein, "Quantization effects in digital filters," M_.I.T.Lincoln Laboratory Technical Report 468, November 1969, DDC AD706862.
62. B. Gold and K. L. Jordan, Jr., "A direct search procedure fordesigning finite duration impulse response filters," IEEE Trans.Audio and Electroacoustics, vol. AU-17, pp. 33-36, March 1969.
63. L. R. Rabiner, B. Gold, and C. A. McGonegal, "An approach to theapproximation problem for nonrecursive digital filters," IEEETrans. Audio and Electroacoustics, vol. AU-18, pp. 83-106, June1970.
64. L. R. Rabiner, "Techniques for designing finite-duration impulse-response digital filters," IEEE Trans. Communication Technology,vol. COM-19, pp. 188-195, April 1971.
65. G. B. Dantzig, "Maximization of a Linear Function of VariablesSubject to Linear Inequalities" in Activity Analysis of Produc-tion and Allocation, T. C. Koopmans, Ed., New York: John Wiley& Sons, 1951, Chapter XXI.
66. S. T. Gass, Linear Programming, New York: McGraw-Hill, 1964.
67. G. Hadley, Linear Programming, Reading, Mass.: Addison-Wesley,1962.
68. N. Ricker, "Wavelet contraction, wavelet expansion, and thecontrol of seismic resolution," Geophysics, vol. 18, pp. 769-792,October 1953.
69. A. E. Drake and E. Streit, "University of Alabama Statistical Mon-itor," University of Alabama Computer Center Manual, September 1969.
• -/v-v - • ' ; .;' ' . • ; : ; ; : ' ;a t ; "COMPLICATION SYSTEMS GROUP;, . - . - ; . - -v,* '""'*"•<.;
vP,-- • ' .; \ . :• • "•'':^. ' ; ' " ' ' -" ; RECENT REPORTS ' : . ; - . / • ' , , -,j; P./.' ,V
AM-Baseband Telemetry Systems, Vol. 1: Factors Affe'cting a'GommpnPilot System, R. S. Simpson and W. H. Tranter, February, 1968."
', ''\. -" .Waveform. Distortionin'arr FM|FM Telemetry( System, R. S. Simpson, -" R. C. Houts and F.Di Parsons," "June 1968. . , '.'••.
A Digital -Techriique; to Compensate for Time-Base Error in: Magnetic! \>>"Tape Recording, R;. S. Simpson, R.* Ci Houts'and D.VW. Burlage, August,<•
':':" ' 1968.•;'"'.;•• ' r ••••' ', '• .-' .,:'."•''•• •'"•- " " '• .;•>'. "^:--. .\~:"'-.-'"' vt ''.'•'. '•
A S;tudy of Major Coding Techniques for Digital-Communicationi'R. S."Simpson "and J. B. Cain, January, 1969..-/ ^ ;
- <„ - AM-Baseband Telemetry .Systems,, Vol. ,2: i Carrier Synthesis from* AM :Modulated Carriers, R. »S. Simpson and W. H. Tranter,. June * 969 .;
, , , AM-Baseband'Telemetry "Systems,:. Vol. J^3: Cohsiderations'in tfie ;;Use of '! . . . • AGG, R. S. Simpson.- and W. H..f ranter^ July, 19,69. • , ! :?' ':
AM-Baseband Telemetry,Systems, Vol. 4: Problems Relatihgtd^AM^ - >,j Baseband Systemi, R.' S'.' Simpson .arid W. H. Tranter, August,, 1969...,/'•'
V" '" AM-Baseband Telemetry Systeas", Vol; 5: Summary^ R. ,S.' Simpson and,, •/•'.!?..'. W. H. Tranter, August, 1969,;r. ••<:' .- /''•• ••/ - •>'•'• '• •••:'''•''''".' .* ""''. "-" ''• '
StudyNoise
of Correlation Receiver Performarices,in the Presence of Impulse, R., C., Houts .arid;!;., p., Moore,' February'," :19 71. „• '.-' , ''i-:'r':-''• r
.] , ,?i . Computer-Aided Design of -Digital Fiiters, rR. C. Houts and' D:/W., •'"•"'.'_ "-•'• ''"I:-, '*"' Burlage, March, 1971. '•]• .'-f'',: /"'..""' ; • •"' '••'.-•-.• -..'"... . - •".-'.' '"'•;'v', ••„.- '"'•'•' '"'•
Characterizatipn,.of ..impulse -No is e^ and Analysis of Its Effects Upon vCorrelation Receivers, R.-C.VHouts and Jji D. ;Moore> October,' 1971.