communication systems group - nasa · 3.2 linear-programming optimization algorithm 49 ... b.3...

1

Upload: phambao

Post on 24-Jun-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 2: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 3: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 4: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 5: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 6: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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 7: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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 8: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 9: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 10: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 11: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 12: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 13: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 14: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 15: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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,

Page 16: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 17: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 18: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 19: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 20: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 21: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

< «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

Page 22: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 23: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 24: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 25: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 26: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 27: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 28: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 29: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 30: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 31: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 32: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 33: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

wV

10ooI*

•*.89

MH

00T4Q

I«M

00•HUu

Page 34: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 35: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 36: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 37: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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].

Page 38: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 39: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 40: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 41: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 42: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 43: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

31

J-lOJ

CO04O

§co

•H6C

OCc

0.ETO

COIXuc0)DcrOJ

£N

o•H

Page 44: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 45: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 46: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 47: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 48: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 49: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 50: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 51: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 52: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 53: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 54: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 55: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 56: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

^ ' ^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.

Page 57: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 58: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 59: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 60: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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).

Page 61: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 62: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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 .

Page 63: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 64: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

52

- 15

Fig. 3-3. Graphical Representation of Linear-Programming Problem.

Page 65: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 66: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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)

Page 67: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 68: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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),

Page 69: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 70: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 71: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 72: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 73: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 74: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 75: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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)

Page 76: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 77: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 78: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 79: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 80: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 81: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 82: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 83: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 84: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 85: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 86: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 87: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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:

Page 88: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 89: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 90: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

78

9O.«J

o

I o

*)

I

00c

tn

c3o1

Stv,

9O.«J

' 9O CO

•HU.

•—I

I

CM

Page 91: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 92: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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).

Page 93: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

81

sa4J3O

§

§

o

aN

0

I

-N O

4J •>-• i-4>>

m•

O

a

hH

00

9a4J

O

0)N

a)

Page 94: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 95: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 96: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 97: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 98: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 99: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

87

• enSt 4J

in

O

fl

03VIc1-1<g

C-((0

JJa

oooVI>>

. ua>a

ataCO£CO

304

CO

Page 100: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 101: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

89

(a) No Equalization

(b) Transversal-Filter Equalization

Fig. 4-7. Effect of Equalization on DataSequence 101011110010.

Page 102: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 103: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 104: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 105: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 106: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

94

3O.4J

O

g

as

CL4J

O

01e

aN

sr*60

9O.4J

O

>^ o

Page 107: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 108: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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,

Page 109: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 110: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 111: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 112: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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] .

Page 113: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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].

Page 114: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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)

Page 115: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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)}.

Page 116: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 117: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 118: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 119: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 120: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 121: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 122: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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)

Page 123: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 124: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 125: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 126: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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*

Page 127: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 128: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 129: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 130: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 131: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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:

Page 132: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 133: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 134: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 135: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 136: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 137: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 138: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 139: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 140: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 141: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 142: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 143: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 144: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 145: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

133

f Start J

zr:DO 2101=1,NEQDO 208J=1,NVA

MinimizeZ

MaximizeZ

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.

Page 146: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 147: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 148: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 149: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 150: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 151: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 152: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 153: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 154: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 155: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 156: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 157: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 158: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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 .

Page 159: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 160: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 161: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 162: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 163: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 164: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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

Page 165: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 166: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 167: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 168: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

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.

Page 169: COMMUNICATION SYSTEMS GROUP - NASA · 3.2 LINEAR-PROGRAMMING OPTIMIZATION ALGORITHM 49 ... B.3 FLOWCHART AND PROGRAM LISTING 116 ... Establishing Integration Limits for Convolution

• -/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.