Programs for digital signal processing - IEEE Xplore

0 downloads 0 Views 342KB Size Report
Programs for Digital Signal Processing-Edited by the Digital Signal. Processing ... Among these algorithms, one can fmd a program suited to one's needs, whether the ... instruments; (b) Windowed linear phase filter design; (c) Maximally flat.
856

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 7, JULY 1981

Book Reviews The following reviews were selected from those recently published in and GrouplSociety Magazines and Newsvarious IEEE TRANSACTIONS letters. They are reprinted here to make them conveniently available to the many readers who otherwise might not have ready access to them. Eoch review is followed by an identification of its original source.

Programs for Digital Signal Processing-Edited by the Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society (New York: IEEE Press, 1979, $7.95to IEEE members,magnetic tape $50.00). Reviewed by R. B. Luke,Department of Biometry, Case-Western Reserve University, Cleveland,OH. The ASSP Society has produced an important book which is of great value to teachers, students, researchers, and instrument designers. This book contains a collection of 33 Fortran programs for digital signal processing, all well explained, carefully reviewed, and prepared to be easily transportable to a wide variety of computers. Best of all is that a l l the programs are available in machinereadable from (magnetic tape) from (magnetic tape) from the IEEE Service Center. The programs adhere to standards which require a particula~portable subset ofANSI FORTRAN (PFORT). Machine-dependence has been minimized by use of BellLab’sPORT FORTRAN subprograms. The resulting programs are very likely to produce the same results on a wide variety of computers. Test programs are included, so that eachprogram’s performance may be validated when transported. Eachprogram is precededby a succinct description, its purpose, method, usage and testing. Included are goodbibliographiesciting original work andalternative methods, fast Fourier transforms. A wide variety of FFT subroutines are presented: Slower, but clearly explained algorithms; Fast algorithms, consumptive ofmain memory and more complex; Algorithms for real and for complex data; Algorithms for data having special symmetries; Algorithms for data lengths which are powers of 2 and for data lengths which are not; Optimized one- and two-dimensional mass storage FFT’s, where data too extensive for main memory resides in mass storage. These algorithms should be very useful with the newer solid-state replacements for disk memories. Among these algorithms, one can fmd a program suited to one’s needs, whether the requirement be for clarity, speed, minimal memory usage, or multidimensional signal analysis. Time and storage estimates are given and, with a little effort, one could estimate the actual time and storage requirements for a specific computer system. Several prog r a m s require more storage than is available in the typical minicomputer, requiring use of overlays. Convolution, correlation, power spectral analysis, and coherence. Various routines support convolution, correlation, power spectral analysisand coherence: Power spectral viaaveragedperiodograms: Auto- and crossconelation: Power spectra via windowed correlation functions: Crosspower spectra, coherence, and generalized crosscorrelation functions, including impulse response and transfer function. These programs are generally useful in modelling signalcharacteristics and in the representation of multivariable systems. The power spectra programs produce output written on the standard FORTRAN output device, which may then be postprocessed to produce graphic displays. The coherence and cross speprogram can provide results via line printer histograms. The processing methods in this section are not converted to true subroutines as easily as many of the other routines are. The test programs do, however, enable one to achieve the desiredprocessing by following the model program andsubroutines provided. High-speed Convolution One general purpose utility program is designed for digital filtering of large amounts of data from mass storage. A digital filter, defined by its impulse response, it applied to the input data with ’the program handling aJl data blocking and buffering. Applications such as removal of 60-Hz artifact, low-pass filtering, andremovalof long-term drift from recorded signals are facilitated by this program.

Linear Redictibn Analysis Linear prediction is applied primarily in speech analysis. Four subprograms support the computation of l i n a predictive analyses via

covariance, autocorrelation, andcovariance lattice methods. Another program supports transformation among parameter sets used to describe the filters of linear predictive analysis. These programs should tempt the biomedical researcher to investigate their wider application to linear, all-pole, nonstationary physiologic models; and the instrument designer to consider their use in real-time signal processing. finite Impulse Response Filter Design and Synthesis Thefour programs included in this section support; (a) Optimal Chebyshev linear phase filter design, of interest to designers who incorporate charge-coupled devices and surface-acoustic-wavefilters into instruments; (b) Windowed linear phase filter design; (c) Maximallyflat linear phaselow-pass filters; and (d) Finite wordlength (fued-point) realization of linear phase filters. Similar programs serve in designing digital filters for estimating signal derivatives in feature identifcation and in selecting low-passffiters for signal smoothing. Infinite Impulse ResponseFilter Design The difficult, nonlinear problems of recursive (IIR) digital filter design are supported by three programs in this section; (a) Finite wordlength digital filters based on classical closed-fromdesigns, including optimized noise performance; (b) Optimizing filter designsaccording to two different types of error criteria; (c) Finite wordlengh designs if cascade61ter implementations based on an infiniteprecision initial design. The design procedures are nonlinear and require use of dynamic programming or search methods for their solutions. Convergence to a unique optimal solution is not certain. IIR filters offer frequencyand time-domain characteristics that may be difficult to obtain with finite impulseresponse implementations. These IIR designprograms are large and may require some work to fit onto a typical laboratory minicomputer system.

Cepstral Analysis Cepstral analysis is a nonlinear signal analysis technique based upon the inverse Fourier transform of complex log of the data’s Fourier transform, or upon the inverse transform of the log of the magnitude of the data’s transform. The cepstrum has proven useful where the understructural periodicities, echoes, periodic lying physicalsystemhas perturbations in behavior.Twoprograms in this section provide:(a) Complex cepstral analysis, including phase ‘‘unwrapping;’ and (b) Real cepstral analysis, yielding the minimum-phase reconstruction of a nonminimum-phase signal. Interpolation and Decimation Interpolation and decimation are standard tools for digital signal processing. With them, one can effect a change in sample rate, can estimate intersample data, and can effect narrow band filtering. The underlying concept is that of a digital filter with differing input and output sample rates. The three programs of this section support designof interpolating and decimating fiters over a wide range of input/output sample rate ratios.

Discussion Signal processing programs, in portable machine-readable collections such as these, are likely to become standard methods of teaching and publication in the field. Editors of journals would do well to encourage authors to use these programs so that their work might be more easily repeated by others. Writers of textbooks in the field should consider basing exercises upon the use of these programs. In teaching, the availability of these programs in machine-readable from promotes classroom use of more complicated analysis. Conceptual development of physiologic models should move from an art toward a science as the techniques represented by these programs are more widely used Plan now to phase these algorithms into your research, where appropriate. We have in this text an example of the “software tools” concept-a set of portable, proven programs suitable for a wide variety of applications. These programs comprisea journeyman’s toolkit; a master craftsman may well choose to shape his/her own tools to a particular task as required. Yet the novice, the apprentice, and the journeyman all have ready access to tools which they can trust. The kit of tools is sufficient for many tasks, but is far from complete; Walsh-Hadamard. maximum entropy, and Karhunen-Loeve transformations are missing. Perhaps ASSP will consider these for a second edition.

PROCEEDINGS OF THE IEEE, VOL. 69, NO. 7, JULY 1981

We experienced some difficulty reading the magnetic tape as received from IEEE Service Center. Five fdes have from one character to 10 lines unreadable, an uncommon occurrence in a computer facility that often handles “foreign” tapes. The missing information was, however, reconstructed easily from the source listing in the book. The programs using mass storage may require some user-written subroutines to adapt them to a particular operating system.Even so, I estimate that all programs that do not require overlays could be transported from tape to tested, working programs in two days. There is an error in the test data for program WINDOW: on page 5.2-8, the first integer 0 in Table 1 should be 5 1. I encourage everyone who uses or teaches digital signal processing to get a copy of the book and its accompanying magnetic tape. Reprinted from TheNewsletter 1980.

of the IEEE ASSP Society, June

Computer Networks and Their Rotocds-D. W. Davies, D. L. A. Barber, W. L. Price, and C. M. Solomonides (New York: Wiley, 1979,487 pp., $43.95). Reviewed by G. R. Redinbo, Rensselaer Polytechnic Institute, Troy, N Y . This book presents the design philosophy for many aspects of computer communication systems. Its focus is principally on packet networks, and virtually all levels of packet switching are treated. It provides an overview of such systems which is important to have before specializing to one particular facet of the system. This book clearly demonstrates that many parts of these complex networks are tightly interrelated and that each piece must be placed in proper perspective in order to achieve successful designgoals. The importance of protocol design is emphasized throughout the latter half of the book. The authors give an international view of computer communication systems bydiscussing current systems from several countries, e.g., the U.S. ARPA network, the French TRANSPAC and CYCLADES networks, the Canadian Datapac, and the European Informatics Network PIN). In fact, oneof the coauthors is the Director of EIN. This is an enjoyable book to read because most of the results are presented in a qualitative form. There are only about 25 equations in the whole book, including several that are embedded directly in the text. Quantitative results are conveyed by graphs and tables, and there are no detailed queueing analyses. Every chapter has a set of current references that elaborate upon the specificsofmany of its topics. There is an adequate glossary at the end of the book, but theinclusion of a separate listing for the prodigious number of acronyms appearing in the text would have been helpful. The chapters are not highly dependent on one another,and it is possible to use this book as a reference source with a minimum consultation ofprevious chapters. However, the virtue of t h i s book is its treatment of the whole as opposed to its development of detailed topics in computer communication systems. The presentation is uniform throughout, and it isimpossible to tell which of the four coauthors was responsible for a given section or chapter. The material can be d ~ d e dinto roughly two parts. One group of chapters is primarily concerned with the communication aspects of the overall system, while the remaining ones deal with the protocols necek sary for sharing computing resources throughout the network. After an introductory chapter that paints a picture of the future telecommunications world, the next four chapters concentrate on the communication subsystem in a network. The major subject of the book, packet switching, is discussed in detail in Chapter 2; a number of terms are defined. The two topics, routing and flow control and congestion avoidance, are assignedindividual chapters. Various approaches to routing are defined and discussed, contrasting their advantagesand difficulties. Flow control to reduce overloading specific components in the network is distinguished from the avoidance of congestion in the network as a whole which leads to blockages of aggregate functions. Flow control between various levels is discussed, whilethe role of queueing theory in congestion analysis is displayed in several figures. The fifth chapter on packet broadcast systems completes the first part of the material. These systems are introduced and exemplified by an extensive discussion of the ALOHANET.Again, results from queueing analyses are quoted, and the relevant figures contrast the performance relationships between pertinent parameters. Chapter 6 begins the discussion on the protocol part of the material. Communication protocols and the interfaces between levels in a network are treated in a long chapter. The procedures for exchanging messages at all levels are discussed and the general structures of such protocols are examined. Link level as well as high-level data link con-

851

trol (HDLC) procedures are treated in succession. The role of error control and the use of windowing for preserving packet sequencing are both discussed in detail. Typical frame formats are presented, and a general discussion of HDLC procedures is given before the CCITT X.25 interface recommendations are covered in an extensive section. A short Appendix demonstrates the fundamentals of error detection via cyclic redundancy checks. The high-level protocols necessary to truly talk of dismiuted processing are outlined in Chapter 7. The concept of transport services and their ‘interfacesand protocols are a major part of the topics, but as the authors accurately note, a great deal of future work needs to be done on the subject of interprocess communications. In the following chap ter, the authors return from high-level topics to the major human access instrument in any network, the terminal. Terminal handling facilities that convert character strings into packets through a packet-assembler/ disassembler (PAD) according to CCITT Recommendation X.3 are discussed. The interactions covered by Recommendations X.28 and X.29 are also described. The remaining portion of the chapter treats the concept of a virtual terminal and the necessary levels of protocol for it to be a useful tool in a network. These are general discussions because the role of such devicesis s t i l l evolving. Data security and message authentication in computer networks are placed in perspectiveby a delightful Chapter 9 that gives the basic properties of several solutions to both problems. The underlying system principles of the Data Encryption Standard (DES) are covered in one section, while public-key cryptosystems and their uses for authentication are introduced in another section. The final chapter is a shallow excursion into network design and some of its optimization problems. This is such an extensive topic that almost anything smaller than a whole text seems perfunctory. Nevertheless, most relevant problems are at least mentioned, and the references point the way to more thorough treatments. Reprinted from IEEE Communications Magazine, September 1980.

Number Theory in Digital Signal Processing-James H. McClellan and Charles M. Rader (Englewood Cliffs, NJ: Prentice-Hall, 1979, 288 pp., $19.95). Reviewed by J. K. Wolf,Univem’tyof~as~chusetts, Amherst, MA. This is a unique book, both in the technical material it covers and in its format. Since the format is easier to descriie, I wiIl discuss it first. The book contains two parts (actually there are three labeled parts in the table of contents, but Part Three is a computer program). Part Two contains 165 pages comprising reprints of 13 papers on number theoretical approaches to digital signal processing. A ten-page Introduction to this section gives a short description of each of the papers. This format should be very familiar to the readers of this review as there are many books already published which are a collection of reprints on a particular subject. What makes this book different is the 78-page Part One, which is a tutorial presentation of the background technical material essential to the understanding of the reprinted papers. This is a very clever idea, and for the most part succeeds in accomplishing its aim-to make the papers in a new research area both available andreadable to a wide audience. However, there are some flaws in the presentation of Part One which prevent the book from totally achieving this objective. This review is based upon a careful reading of Part One and some of the papers in Part Two with three employees of Linkabit Corporation, Dov Andelman, Mark Dankberg, and Ray Kahn. Some of the following comments are a composite of reactions of the four of us, although the blame for any misconceptions or inaccuracies in this review must lie with me. The main theme of the book is a discussion of some new algorithms for achieving the discrete Fourier transform of a finite data sequence or the convolution of two f f i t e data sequences. The understanding of these algorithms requires some knowledge ofnumber theory. Part One, whichconsistsofseven chapters and an Appendix, discussesvarious aspects of number theory. The title of Chapter I, ‘‘The Discrete Fourier Transform and Circular Convolution,” descnies its contents. Specific topics include the definition of a linear shift invariant system, the impulse response for such a system, the Z-transform, the cross correlation between two sequences, Parsevel’s theorem, the discrete Fourier transform, and the relationship between ordinary convolution and circular convolution of sequences. Several editorial and typographical errors mar this chapter. Specifically, LTI on page 4 should be LSI, the coefficients a& and bk in equations (1.7) and (1.8) are not defined, and although the Preface states that “we use the notation f [ n ] to represent the nth term of the sequences