Handbook of Digital Signal Processing Engineering Applications This page intentionally left blank Handbook of Digital Signal Processing Engineering Applications Edited by Douglas F Elliott Rockwell International Corporation Anaheim, California ACADEMIC PRESS, INC Harcourt Brace Jovanovich, Publishers San Diego New York Berkeley Boston London Sydney Tokyo Toronto COPYRIGHT © 1987 BY ACADEMIC PRESS, INC ALL RIGHTS RESERVED NO PART OF THIS PUBLICATION MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS, ELECTRONIC OR MECHANICAL, INCLUDING PHOTOCOPY, RECORDING, OR ANY INFORMATION STORAGE AND RETRIEVAL SYSTEM, WITHOUT PERMISSION IN WRITING FROM THE PUBLISHER ACADEMIC PRESS, INC San Diego, California 92101 United Kingdom Edition published by ACADEMIC PRESS LIMITED 24-28 Oval Road, London NW1 7DX Library of Congress Cataloging in Publication Data Handbook of digital signal processing Includes index Signal processing-Digital techniques-Handbooks, manuals, etc I Elliott, Douglas F TK5102.5.H32 1986 621.38'043 86-26490 ISBN 0-12-237075-9 (alk, paper) PRINTED IN THE UNITED STATES OF AMERICA 89 9 Contents Preface Acronyms and Abbreviations Notation XI xiii xvii Chapter Transforms and Transform Properties DOUGLAS F ELLIOTT I II III IV V VI VII VIII IX X XI Introduction Review of Fourier Series Discrete-Time Fourier Transform z-Transform Laplace Transform Table of z-Transforms and Laplace Transforms Discrete Fourier Transform Discrete-Time Random Sequences Correlation and Covariance Sequences Power Spectral Density Summary References 16 24 27 27 41 45 50 51 53 Chapter Design and Implementation of Digital FIR Filters P P VAIDYANATHAN I II HI IV V VI VII VIII IX X XI Appendix A Appendix B Introduction FIR Digital Filter Preliminaries FIR Filter Design Based on Windowing Equiripple Approximations for FIR Filters Maximally Flat Approximations for FIR Filters Linear Programming Approach for FIR Filter Designs Frequency Transformations in FIR Filters Two-Dimensional Linear-Phase FIR Filter Design and Implementation Recent Techniques for Efficient FIR Filter Design Other Useful Types of FIR Filters Summary Design Charts for Digital FIR Differentiators and Hilbert Transformers Program Listings for Linear-Phase FIR Filter Design References 55 56 61 71 90 95 100 112 118 136 146 147 150 170 Chapter Multirate FIR Filters for Interpolating and Desampling FREDERIC J HARRIS I Introduction II Characteristics of Bandwidth-Reducing FIR Filters 173 180 Contents VI HI IV V VI VII Appendix Data Rate Reduction (Desampling) by 1/Af Filters Heterodyne Processing Interpolating Filters Architectural Models for FIR Filters Summary Windows as Narrowband Filters References 208 223 234 245 252 253 286 Chapter MR Digital Fitters NAZIR A PASHTOON I II III IV V VI VII VIII IX X XI Appendix Introduction Preliminaries Stability Digital Filter Realizations Frequency Domain Design Analog Filter Design and Filter Types Frequency Transformations Digital Filter Design Based on Analog Transfer Functions Spectral Transformations Digital Filters Based on Continuous-Time Ladder Filters Summary HR Digital Filter CAD Programs References 289 290 291 295 300 306 331 332 343 344 353 355 355 Chapter Low-Noise and Low-Sensitivity Digital Filters P P VAIDYANATHAN I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI Introduction Binary Numbers—Representation and Quantization Generation and Propagation of Roundoff Noise in Digital Filters Dynamic Range Constraints and Scaling Signal-to-Roundoff-Noise Ratio in Simple HR Filter Structures Low-Noise HR Filter Sections Based on Error-Spectrum Shaping Signal-to-Noise Ratio in General Digital Filter Structures Low-Noise Cascade-Form Digital Filter Implementation Noise Reduction in the Cascade Form by ESS Low-Noise Designs via State-Space Optimization Parameter Quantization and Low-Sensitivity Digital Filters Low-Sensitivity Second-Order Sections Wave Digital Filters The Lossless Bounded Real Approach for the Design of LowSensitivity Filter Structures Structural Losslessness and Passivity Low-Sensitivity All-Pass-Based Digital Filter Structures Digital All-Pass Functions Orthogonal Digital Filters Quantization Effects in FIR Digital Filters Low-Sensitive FIR Filters Based on Structural Passivity Limit Cycles in HR Digital Filters References 359 361 369 373 378 387 395 396 399 402 412 416 419 434 443 444 453 458 460 465 469 475 vii Contents Chapter Fast Discrete Transforms PAT YIP AND K RAMAMOHAN RAO I II III IV V VI VII Appendix A Appendix B Appendix C Introduction Unitary Discrete Transforms The Optimum Karhunen Loeve Transform Sinusoidal Discrete Transforms Nonsinusoidal Discrete Transforms Performance Criteria Computational Complexity and Summary Fast Implementation of DCT via FFT DCT Calculation Using an FFT Walsh-Hadamard Computer Program References 481 482 483 485 499 510 516 517 521 523 523 Chapter Fast Fourier Transforms DOUGLAS F ELLIOTT I II III IV V VI VII VIII IX X XL XII XIII XIV XV Appendix A Appendix B Appendix C Appendix D Appendix E Introduction DFTs and DFT Representations FFTs Derived from the MIR Radix-2 FFTs Radix-3 and Radix-6 FFTs Radix-4 FFTs Small-JVDFTs FFTs Derived from the Ruritanian Correspondence (RC) FFTs Derived from the Chinese Remainder Theorem Good's FFT Kronecker Product Representation of Good's FFT Polynomial Transforms Comparison of Algorithms FFT Word Lengths Summary Small-AT DFT Algorithms FFT Computer Programs Radix-2 FFT Program Prime Factor Algorithm (PFA) Highly Efficient PFA Assembly Language Computer Program References 527 528 532 553 558 564 565 567 571 573 574 579 580 587 595 596 600 602 605 621 630 Chapter Time Domain Signal Processing with the DFT FREDERIC J HARRIS I II III IV V Introduction The DFT as a Bank of Narrowband Filters Fast Convolution and Correlation The DFT as an Interpolator and Signal Generator Summary References 633 639 666 683 698 698 viii Contents Chapter Spectral Analysis JAMES A CADZOW I II HI IV V VI VII VIII IX X XI Introduction Rational Spectral Models Rational Modeling: Exact Autocorrelation Knowledge Overdetermined Equation Modeling Approach Detection of Multiple Sinusoids in White Noise MA Modeling: Time Series Observations AR Modeling: Time Series Observations ARMA Modeling: Time Series Observations ARMA Modeling: A Singular Value Decomposition Approach Numerical Examples Conclusions References 701 702 707 714 716 721 723 724 726 731 739 739 Chapter 10 Deconvolution MANUEL T SILVIA I Introduction II Deconvolution and LTI Systems with No Measurement Noise III Deconvolution and the Identification of DTLTI Systems with Measurement Noise IV Fast Algorithms for Deconvolution Problems V Some Practical Applications of Deconvolution VI Summary Appendix A References for Obtaining Computational Algorithms Appendix B Implementing the Levinson or Toeplitz Recursion Appendix C Implementing the Lattice Form of the Levinson Recursion References 741 746 760 766 777 784 785 786 787 787 Chapter 11 Time Delay Estimation MANUEL T.SILVIA I II III IV Introduction Time Delay Estimation for Active Sensors Time Delay Estimation for Passive Sensors Cross-Correlation and Its Relationship to the Time Delay Estimation Problem V The Implementation of Some Time Delay Estimation Algorithms Using the Fast Fourier Transform (FFT) VI Algorithm Performance VII Summary References 789 793 818 833 837 844 853 853 Chapter 12 Adaptive Filtering NASIR AHMED I II III IV Introduction Some Matrix Operations A Class of Optimal Filters Least-Mean-Squares (LMS) Algorithm 857 858 860 866 Contents IX V LMS Lattice Algorithms VI Concluding Remarks Appendix Four FORTRAN-77 Programs References 882 888 889 896 Chapter 13 Recursive Estimation GENE H HOSTETTER I II III IV V VI VII Introduction Least Squares Estimation Linear Minimum Mean Square Estimation Discrete Kalman Filtering Examples Extensions Some Computational Considerations Summary References 899 900 908 915 922 929 938 938 Chapter 14 Mechanization of Digital Signal Processors LESTER MINTZER I II III IV V VI VII VIII IX Introduction Digital Machine Fundamentals The Essence of Digital Signal Processing Number Representations Hardware Components Microprogramming Keeping Things in Perspective Distributed Arithmetic Summary References 941 942 947 947 950 959 963 964 972 972 Addendum to Chapter Window Generation Computer Program FREDERIC J HARRIS 975 Index 987 Addendum Window Generation Computer Program w 10 10 i = 1,nwndo w0=ww(i)-cl*wl-c2*w2 w -w cont inue w0=-cl*wl-c2*w2 re=w0-wl* fk=sqrt(re*re+im*im) return end 985 This page intentionally left blank Index Acoustic tube model, 778 for deconvolution, 778 reflection coefficients, 779 Acoustic wave equation, 778 model for speech signal processing, 778 Active linear two-sensor array, 798, 799 Active radar and sonar, 837 Adaptive filtering, 857 See also adaptive filters frequency domain, 889 channel equalizer, 889 finite impulse response, 858 forward prediction, 882 infinite impulse response, 889 lattice structure, 882 learning curve, 880 least-squares configuration, 864 line enhancer, 879 misadjustment of weighting vector in, 880 modified algorithm for, 874 noise canceler configuration, 864, 872 predictor configuration, 871, 882 noisy gradient's impact on design of, 868 no-pass phenomena, 880 signal-to-noise ratio, 878 steepest-descent design technique, 866 time constant, 876 Aliasing See spectral aliasing All-pass filters basics, 453 gray and marked structure, 454 structures for, 454 structures based on, 444 trivial all-pass filter, 793, 795 Alternation theorem, 73 Ambiguity function, 842 Amplitude-change function, 110 And gate See gates Angle estimation, 810 by means of matched spatial filter, 810 algorithm for, 810 Arithmetic operations See complex bandshifting, fast Fourier transforms, and operations per output point Array multiplication, 951 Assembly language prime factor algorithm, 621 Attenuation, 60, 305 Autocorrelation, 45, 702, 749, 770 See also correlation unbiased estimate of, 770 Autoregressive (AR) system See also spectral analysis deconvolution, 766 fast algorithm for, 766 lattice filters for, 774 identification with known statistics, 766 with unknown statistics, 770 models, 766, 780 speech signal processing, for, 780 process, 766 direct form block diagram, 766 linear prediction, and, 756 Autoregressive-moving average (ARMA) systems, 752 See also discrete-time linear time-invariant systems and spectral analysis process, 758 deconvolution, 753 double deconvolution algorithm, 754 identification, 758 relationships to AR(N) and MA(M) systems, 752 987 988 INDEX B Backscattered signal, 797 Backscattering model, 811 sphere, for a, 814 stationary point target for, 811 Backward prediction, 775, 882 relationship to linear prediction and lattice filter, 775 BASIC programs, 785-787 Levinson or Toeplitz recursion, direct form, 786 Burg algorithm, lattice filter, 787 Beamforming, 806, 818 Beam pattern, 793, 796, 797, 800 for two-sensor array, 802 for 20-sensor array, 805 Bessel filters See infinite impulse response filters Bias estimation using Kalman filters, 928 Bilinear z-transformations, 337 warping effect, 339 Binary adder, 950 Binary Fourier transform (BIFORE), 503 Binary numbers, 361, 589, 948 fixed-point, 362 floating-point, 362 negative number representation of, 363 one's complement, 365 quantization of, 366, 591 magnitude-truncation, 368 rounding, 368 truncation, 367 two's complement, 364, 948 Bit-reversed order, 553 for an eight-point DIT FFT, 556 Blackman-Tukey spectral analysis method, 705, 721 Boolean algebra, 943 functions of two variables, 946 Box-Jenkins, spectral analysis method, 731 Brick-wall filter characteristics, 301 Broadband signals, 843 Bessel filters See infinite impulse response filters Burg algorithm, 706, 776 lattice form of Levinson or Toeplitz recursion, 776 computer program, 787 Butterworth filters See infinite impulse response filters C matrix transform, 500 Cardinal function dirichlet kernel, 644 in signal reconstruction, 235 Carrier frequency, 799 Cascade realization of IIR filters, 299 Cauchy integral theorem, 18 residue theorem, 19 Channel equalization, 889 Chebyshev filters See infinite impulse response filters Chebyshev polynomials FIR filters applied to, 101, 130 Chinese remainder theorem (CRT) integer respresentation, 571 Circular convolution See convolution Complex analytic signal, 839 in mixing, 839 Complex bandshifting, complex demodulation, complex hetrodyning See frequency shifting Complex-to-real data conversion, 177, 24! Computer programs See BASIC programs and FORTRAN programs Condition number, 762 Congruence See modulo Constant-Q spectrum analysis, 175, 228 Convolution aperiodic, 32 circular, 32, 638, 655, 668, 670, 672, 678, 688 discrete-time sequences, of, 10, 290, 744 fast, 638, 666, 677, 687 arithmetic operations for, 674, 675, 681, 682 forward problem describing, 741, 744 frequency domain, 14, 23 integral, 741 linear, 667, 672, 678 model for DTLTI system corrupted byadditive noise, 760 relationship to backscattering powers, 813 z-plane, 22 Correlation See also autocorrelation, cross-correlation, 674 arithmetic operations, for, 674, 681 INDEX matrix used in AR modeling, 710 properties, 47 vectors, 861 Coupled form structures, 417 conventional, 418 modified, 415 Covariance sequence autocovariance, 46 cross-covariance, 46 properties, 47-49 Covariance matrix, 485, 512 Cramer-Rao lower bound, 847 relationship to time delay estimation performance, 847 Cross-correlation, 46, 513, 822, 833 approximation of, 823 Fourier transform of, 823 locating peak of, 823 mean-square criteria relation to, 836 measure of similarity, 833 relationship to time delay estimation problem, 833 time delay estimation algorithm time domain implementation, 824 frequency domain implementation, 825 Cross-spectral density, 823 Fourier transform of cross-correlation function, 823 Cuttoff frequency, 302 Butterworth filter, 309 Chebyshev filter, 317 Decimation of a data sequence DTFT relationships before and after, 13 z-transforrn relationships before and after, 21 Deconvolution, 741, 751, 757, 762, 813 approximated by modified normal equations, 762 ridge regression, 762 spectral balancing, 763 total least squares, 762 AR(N) process, of, 757 double, 754 filter, 742 discrete-time, 744 frequency domain, performed in, 751, 752 inverse problem, 742, 744 measure of effectives R, 762 minimum phase sources, of, 752 989 minimum phase and minimum delay, relationship to, 751 rational DTLTI systems, of, 751, 752 relationship to backscattering process, 813 seismic, 744 Deconvolution and LTI systems with no measurement noise, 746 Deconvolution and identification of DTLTI systems with measurement noise, 760 with no measurement noise, 451 Deconvolution and linear multiple regression, 761 least-square normal equations, 761 Delta function See Dirac delta function, discrete-time impulse, Kronecker delta function Demodulation See frequency shifting Desampling, 173, 205 See also multirate filters arithmetic operations for, 214 sampling rate reduction using cascaded FIR filters, 215 Differentiators See finite impulse response filters Digit-reversed order (DRO), 535 Digital filter See also finite impulse response and infinite impulse response digital filters, adaptive filters, Kalman filters, recursive filters design specifications, 59, 181, 300 frequency response, 57, 290 infinite impulse response filter building blocks, 295 magnitude response specifications ideal, 59, 301 practical, 57, 303 phase response, 57 Dirac delta function acting as a sampling function, convolution yielding, 742 Direct form structures See also infinite impulse response filter realizations quantization effects in FIR filter, 460 signal-to-noise ratio in second order IIR filter, 383 Discrete cosine transform (DCT), 486 even, 517 inverse, 499 990 INDEX Discrete cosine transform (DCT) (cont.) N-point DCT by a N-point IDFT, 500 N-point DCT by a 2N-point FFT 518 Discrete Fourier transform (DFT) See also fast Fourier transform channelization of signals using, 634, 639, 644, 648, 651, 658 channelizer residual phase rotation, 658 computing a 1-D DFT with 2-D operations, 537, 538, 551 with multidimensional processing, 549 discrete cosine transform developed from DFT, 519 Goertzel algorithm relationship with, 641 inverse 1-D, 30 matrix representation of, 529, 541 multidimensional, 41 one-dimensional, 31 properties, 32-40 systems use of for time domain processing, 634 time delay estimation using, 841 two-dimensional, 532 Winograd's small-N, 565, 596, 616 zoom transform for linear spectral analysis, 174 2-point, 539 3-point, 543 4-point, 547, 551 6-point, 539, 545 8-point, 553 15-point, 577 Discrete sine transforms, 493, 494 inverse DSTs, 499 Discrete-time Fourier transform (DTFT) definition of 1-D, inverse 1-D, properties, 10-14 relationship to linear arrays, 806, 807 spectral analysis with, 701 two-dimensional, 15 Discrete-time impulse, 18 deconvolution using, 744 discrete-time Fourier transform of, 11 Discrete-time linear time-invariant (DTLTI) systems, 746 with nonrandom inputs, 751, 760 deconvolution problem for noisy outputs, 760 with random inputs, 763 deconvolution problem for noisy outputs, 763 with WSS random inputs, 755 output autocorrelation and crosscorrelation, 755 output power spectrum, 755 Discrete-time random sequence (DTRS), 41 jointly distributed sequences, 44 stationary, 44 wide-sense stationary, 45 Discrete-time spectra See power spectral density Discrete W-transform, 486 Discrimination factor, 309 Distributed arithmetic (DA), 964 halving the DA memory, 969 Divergence of Kalman filters, 931 Dolph-Chebyshev polynomials See Chebyshev polynomials Doppler processing, 701 shift, 842 Dot product, 833 relationship to cross-correlation, 833 Double deconvolution algorithm, 754 Doubly-terminated LC structures, 420 Dynamic range analysis, 588 constraints in filters, 373 Eigenvalue distribution in adaptive lattice filter design, 881 maximum and minimum, 762 Elastic wave model, 781 for seismic signal processing, 781 for seismic deconvolution, 781 Elliptic filters See infinite impulse response filters Energy packing efficiency (EPE), 511 Equiripple filters See finite and infinite impulse response filters Equivalent noise bandwidth (ENBN), 256, 695 Ergodic process, 862 sequences, 47 Error covariance matrix, 762 trace of, 762 Error spectrum shaping (ESS), 387, 399 Agarwal-Burrus approach, 394 991 INDEX compromise between single and double precision, 393 in cascade forms, 400 in first order sections, 388 in second order sections, 391 Euler's approximations, 333 Expectation (expected value), 44, 45 Extended Kalman filtering, 928 Fast convolution See convolution Fast algorithms for deconvolution problems, 766 Levinson or Toeplitz, 770 Burg or lattice recursion, 776 Fast Fourier transform (FFT) See also discrete Fourier transform arithmetic operations comparison of algorithms, 580 for a radix-2 FFT, 527, 556 for a six-point FFT, 543 butterfly, 540, 555, 960, 969 butterfly-like structures, 558 efficient microprogramming of, 961 in distributed arithmetic, 968 by means of matrix transpose, 548 Chinese remainder theorem algorithm, 572 computed in nonorthogonal coordinates six-point, 561 3L-point, 561 6L-point, 564 computer programs available, 600 decimination-in-frequency (DIF) algorithm eight-point, 557 four-point, 547 reason for nomenclature, 540 six-point, 539, 545 2L-point, 557 decimination-in-time (DIT) algorithm eight-point, 554 four-point, 547 reason for nomenclature, 540 six-point, 539, 545 2L-point, 556 fast convolution use of, 677 frequency domain adaptive algorithms use of, 889 Good's algorithm, 573 in-order computation, 549 of a four-point FFT, 552 of a twelve-point FFT, 550 that is also in-place, 552 in-place computation, 549 matrix factorization, 530 for a four-point FFT, 531, 548 for a six-point DIT FFT, 541 for a six-point DIF FFT, 542, 545 for an eight-point DIT FFT, 555 mixed-radix integer representation (MIR) algorithms, 532, 664 nested operations, 577 polynomial transform algorithm, 579 prime factor algorithm (PFA), 573, 605 computer programs, 605 in FORTRAN, 606 in assembly language, 621 quantization noise, 591 radix-2, 553, 602 computer program, 602 radix-3, 558 radix-4, 564 radix-6, 558 recursive cyclotomic factorization algorithm, 564 ruritanian correspondence (RC) algorithm, 567 six-point, 570 split-radix algorithm, 558 time delay estimation use of, 842 Winograd's algorithm, 576 word length requirements, 587 Filter configuration in a least squares approximation, 864 Finite impulse response (FIR) digital filter architectural models for, 245 bandwidth reduction using, 180 bounded real structures, 465 building-block extractions, 134 coefficient quantization effects, 460 accuracy estimate, 462 low sensitivity using passivity, 465 complex-to-real data conversion, for, 177 cutoff frequency, 60 deconvolution, used for, 753, 757, 771 desampling using, 215 design specifications, 59 desired response, 61 differentiators, 83 design charts, 147-148 distributed arithmetic mechanization, 966 992 INDEX Finite impulse response (FIR) digital filter (cont.) equiripple approximations, 71 extraripple solution, 76 four basic types, 71 flat-passband equiripple stopband filters, 132 frequency transformations in, 100 halfband filters, 141 Hilbert transformers, 85, 233 design charts, 149 interpolated FIR (IFIR) design approach, 119 interpolating, 173, 234, 241 beamforming, for, 179 length, 68, 76, 77, 183, 210 linear programming approach to design, 95 linear-phase, 57 Sow noise, low sensitivity, 359 magnitude response, 57 maximally flat response design, 91 implementation, 94 McClellan-Parks (MP) algorithm, 79, 180, 183, 210 FORTRAN program, 152 minimum phase, 136, 748 multirate for interpolating and desampling, 173 narrowband filter bank, 642 numerical gain, 202 optimal equiripple, 71 maximally flat, 90 order estimate for window design, 68 quiripple design, 76, 77 phase response, 57 prefilter-equalizer design approach, 125 recursive running sum (RRS), 123 response sharpening, 108 roundoff noise in direct form structures, 460 in cascade form structures, 561 impact of section ordering, 462 scaling, 191 sidelobes, 183, 644 transmission zero placement, 88 two-dimensional, 112 design with McClellan's transformation, 113 weighted error, 71 weighted error function, 78 window design, 61 limitations of, 71 Finite word length See quantization Flip-flop memory elements, 954 Focused beamformer, 830 for time delay estimation, 830 for passive localization, 830 FORTRAN programs See also specific topic McClellan-Parks FIR filter design, 152 prime factor algorithm FFT, 605 radix-2 FFT, 602 window generation, 975 Forward prediction error, 775 relationship to linear prediction and lattice filters, 775 Fourier series one-dimensional, representation of periodic spectra, two-dimensional, used by Gauss, 528 Fractional octave spectrum analyses, 175, 210 Frequency normalized variables/and w and analog variables F and 0, Frequency division multiplexing (FDM), 636, 663, 683, 685, 689 Frequency response, 57, 290, 749 Frequency shifting, 10, 174, 223, 229 See also interpolating filters active radar and sonar using, 839 arithmetic operations for, 225 DFT, accomplished with, 686 in-phase component, 839 relationship to complex analytic signal, 839 Frequency transformation See spectral transformations Frequency weighting functions, 824, 828 for time delay estimation, 824 Frobenius norm, 728 Function generator, 683, 692, 695 Gates, 943 Gauss, Carl Friedrich algorithm for Fourier series, 527 development of least squares estimation, 899, 907 Gaussian density and distribution function, 43 elimination related to Levinson or Toeplitz recursion, 676 function,43 993 INDEX process, 382 Generalized cross-correlation (GCC) algorithms time domain implementation, 826 frequency domain implementation, 827 function, 832 Geometric series summation formula, 17 Gibbs phenomenon explaining overshoot in a square wave Fourier series representation, ripple in a filter response, 62 Goertzel algorithm, 641 Good's algorithm See fast Fourier transform Gradient operator, 859 Gram-Schmidt orthogonalization, 889 Grating lobes, 801 Gray and Markel structures See all-pass filters Group delay, 302 H Haar function, 505 matrices, 505 rationalized, 506 transform, 504 Hadarnard or natural ordered transform, 502 Half-band filters See finite impulse response filters Half-power beamwidth, 801 Hermann's method, 74 Hetrodyning See frequency shifting Hilbert transform pair, 748 transformers See finite impulse response filters Hybrid transform, 508 Hyperbolic location systems, 790 time difference of arrival systems, 790, 79! Loran C navigation, 792 I Identification of FIR filters, 757 moving average MA(M) processes, 757 Impulse function See Dirac delta function, discrete-time impulse, Kronecker delta function Impulse-invariant transformation, 334 Infinite impulse response (IIR) digital filter, 289 See also digital filter, low sensitivity filters Bessel design, 330 Butterworth design cutoff frequency, 309 factored polynomials, 308 magnitude response, 307 pole location, 307 transfer function, 308 Chebyshev design Chebyshev polynomials, 312 magnitude response, 314 order, 317 pole location, 315 tables of characteristic polynomials, 319 comparison with FIR filters, 289, 290 elliptic design magnitude response, 326 transfer function, 327 pole-zero calculation, 327 equiripple magnitude response both in passband and stopband, 324 passband, in, 311 stopband, in, 323 internal signal appearance, 388 inverse Chebyshev design transfer function, 323 poles location, 324 zeros location, 324 limit cycles, 469 low-noise low-sensitivity design, 359 maximally flat design magnitude response, 306 mechanized using distributed arithmetic, 967 order Butterworth, 309 Chebyshev, 316 elliptic, 327 Inverse Chebyshev, 323 realizations, 295 cascade, 299 direct-form 1, 296 direct-form 2, 297 direct-form 2, canonic, 298, 360 parallel, 298 signal-to-noise ratio in, 378 transformations converting analog filters to digital bilinear, 337 impulse-invariant, 334 matched z-transform, 335 Information Kalman filters, 936 In-order and in-place See FFT 994 INDEX Inner product, 834 See also DOT product continuous time waveform for, 834 discrete time waveform for, 834 Integer representations See also binary numbers Chinese remainder theorem, 571 mixed-radix integer representation, 534 Ruritanian correspondence, 567 Interpolating filters, 234 changing sample rate by a rational fraction, 241 increasing the data rate by a given factor, 234 Interpolation, 173 See also desampling and interpolating filters complex-to-real data conversion, for, 177 DFT, using the, 636, 683 merging overlapped data blocks after, 687 by inverse synthesis, 691 time domain beamforming, for, 178 upsampling, 173 increasing data rate by an integer factor, 234 by a rational fraction, 241 Intersensor time delay, 800, 818 for two-sensor array, 818 Inverse problems in See also deconvolution speech, 777 seismic signal processing, 780 Jury's array, 293 stability test, 293 K Kaiser window, 68 Kalman filtering, 908 advantages of, 916 bias estimation using, 928 computer programs for, 918 divergence of, 931 examples of, 916 extended, 928 extensions of, 922 filter equations table, 915 information formulation, 936 linear estimation properties, 911 prediction and correction, 912 relationship to deconvolution, 777 shaping filters for modeling colored noise, 926 square root formulation, 935 steady state, 929 stochastic model, 908 suboptimal, 935 Karhunen-Loeve transform, 483 advantages, 484 disadvantages, 484 Kronecker delta function, product, 503, 575 Kumaresan-Tufts method for spectral analysis, 738 Lagrange multipliers, 725 Laplace transform definition, 24 pairs, 28, 29 properties, 26 representation of IIR filters, 307, 313, 323, 327, 330, 332 Lattice recursion, 774 algorithms for AR(N) decimination, 774 Lattice structures, 455, 770 adaptive filtering, 882 related to Levinson or Toeplitz recursion, 772 minimum and maximum phase filters, 773 tapped cascaded to implement arbitrary transfer functions, 457 Layered media model for 1-D seismic deconvolution, 782 Leapfrog structure, 345 Least-mean-square (LMS) algorithm, 866 filter model, 885 lattice algorithm, 882 modified algorithm, 874 predictor model, 882 Least-squares estimation, 814, 900 approach to time-delay estimation, 814 direct, 900 examples of, 901, 905 probabilistic interpretation of, 907 recursive, 902 time delay of, 814 995 INDEX weighted, 907 Least-squares normal equations, 761 relationship to deconvolution, 761 Legendre, Adrein Marie, 899 Levinson aigorithms, extended, 777 non-Toeplitz system, 777 displacement rank, 777 Levinson or Toeplitz recursion, 766 direct form, 766 relationship to AR(N) process, 766-770 fast algorithm for Yule-Walker equation, 770 Sattice form, 770 Limit cycles, 469 granular or roundoff type, 469 overflow type, 470 limit cycle-free structure, 472 closed form for, 475 Linear array design of, 804 beam pattern, 805 prediction in AR(N) processes, 756 system output in response to a DTRS input, 48 Linear time-invariant system, 741 impulse response, 741, 742 Loran C navigation, 792 hyperbolic location system, 792 Lossless bounded real (LBR) filter design, 434 reduced-order remainder, 438 two-pair, 438 Lossless discrete integrator (LDI), 346 Low noise filters, 359 cascade form, 396 error spectrum shaping, 387, 399 state-space optimized designs, 402 Low sensitivity filters, 359 allpass-based structures, 444 FIR filters, 465 FIRBR filters, 465 lossless bounded real (LBR) design approach, 434 orthogonal filters, 458 second order sections, 416 structural losslessness, 443 wave digital filters, 419 M Main response axis (MRA), 800 Markov-1 model, 510 Matched filter, 816, 817 for course angle estimation, 809, 810 z-transform, 335 Maximally flat filter response See finite and infinite impulse response filters Maximum entropy, 711, 712 Maximum likelihood theory, 810 for angle estimation, 810 Maximum phase filter, 771 McClellan's transformation to convert 1-D filters to 2-D, 113 McClellan-Parks' algorithm, 76 FORTRAN program, 152 Mean-squared criteria, 836 relationship to cross-correlation, 836 error, 513, 756, 761, 765, 860 value of beamformer output, 822, 828 Measurement residuals, 913 Memory in a digital system, 954 Microprogramming, 959 Minimum-norm structures, 473 Minimum delay, 750 phase, 748 filter, 136, 748 Misadjustment of adaptive filter weighting vector, 880 Mixed-radix integer representation (MIR), 534 Mixing See frequency shifting Modified LMS algorithm, 874 Modified normal equations See deconvolution Modulo congruence modulo an integer, 27 representation of an integer mod N, 27 Moving average (MA) systems See also finite impulse response filters and spectral analysis MA(M) process, 757 Multirate filters, 173 See also desampling, interpolating filters, and interpolation Multisensor linear array, 803 Multipath impulse response, 745 N Narrowband signals, 838 Narrowband-to-baseband translation, 839 relationship to 996 Narrowband-to-baseband translation (cont.) complex analytic signal, 839 mixing, 839 Natural order (NO), 535 Nested operations See fast Fourier transform Noise due to quantizing digital words, 591 transfer function, 371, 407 Noise-canceler adaptive filter configuration, 864 Noisy gradient in adaptive filter design, 868 Nonminimum phase systems, 748, 763 Non-orthogonal coordinates, 560 No-pass phenomenon in adaptive filters, 880 Norm L , 375 Lp, 375 of a matrix, 473 Normal form digital filters, 473 Normalized frequency, 9, 60 Normalized structures, 378, 455 Number representations, 361, 947 See also binary numbers, integer representations Nyquist theorem/rate, 209 Omnidirectional sensor, 794 for active case, 794 Operations per output point, 214, 225, 239, 673, 681 Or gate See gates Orthogonal Complex exponential functions, discrete-time random functions, 48 filters, 458 Orthogonality principle, 861, 911, 913 Outer product, 859 Overdetermined equation modeling, 714 Overflow, 374, 382 Overlap processing, 214, 638, 646, 651, 665, 677, 679, 687 Parallel realization of an IIR filter, 298 Partial sum filters, 179, 250 Parseval's theorem DFX 37 INDEX DTFT, 13, 21 Passband, 59 attenuation, 305 edge frequency, 302 Picket fence See scallop/loss Passive localization, 819 with three-sensor array, 819 Passive sonar, 744, 790 Periodogram, 722, 733, 734 Pole stabilization, 294 Pole-crowding, 413 Poles of a function, 17 Polynomial transforms See fast Fourier transform Polyphase filter, 180, 217, 250 Power spectral density (PSD), 50, 701, 749 convergence conditions, 50 cross-power spectral density, 50 properties, 52 Phase modulation, 799 Phased-array radar, 806 Predictor approximation, 348 configuration for adaptive filtering, 860 Prime factor algorithm See fast Fourier transform Q Quadratic sections, 299, 300 Quadratic component, 839 relationship to complex analytic signal, 839 Quadratic mirror filters, 73, 228, 233, 244 Quantization of binary numbers, 366, 591 magnitude-truncation, 368 rounding, 368 truncation, 367 of filter coefficients, 202, 359 of internal signals, 359 R Radar system, 790, 837 Radii of convergence See z-transform Rapid transform, 507 Random variables binomial distributed, 42 definition, 41 Gaussian distributed, 42 INDEX Rate distortion and maximum reducible bits, 514 Rate distribution function, 515 Rational spectral models, 702 Receive beamformer, 808 linear array, 812 Recursive cyclotomic factorization algorithm (RCFA) See fast Fourier transform Recursive least squares (RLS) algorithm, 889, 899 See also Kalman filtering and least squares estimation Reflection coefficients, 775 relationship to lattice filters, 775 acoustic tube model, 779 seismic model, 782 Region of convergence See z-transform Remez exchange procedure, 79 Residual correlation, 512 time series, 713 Ridge regression, 762 Ripple factor, 302 Ruritanian correspondence (RC) integer representation, 567 Sample variance, 775 prediction error backward, 775 forward, 775 Sampling frequency, See also desampling, interpolation changed by a rational fraction, 173 increased by an integer factor, 13, 21, 37, 173 reduced by an integer factor, 13, 121, 173 Scallop loss, 257, 648, 684 Scaling, 373 conservative scaling, 376 L , 375, 407 Lp, 375 state space structures, 408 transfer function, 374, 407 types of policies for, 376 Seismic deconvolution algorithm, 783 for layers of unequal traveltime, 783 detectors, 789 model, 781 997 one-dimensional, 781 layered-medium, 782 signal processing, 780 relationship to deconvolution, 780 waves, 743 Selectivity parameter, 309 Sensitivity measures for filter design, 414 Sensor shading factors, 807 Sequential regression (SER) algorithms, 889 Serial-to-parallel multipliers, 956 Shaping filters for modeling colored noise in Kalman filtering, 926 Sidelobes of sensor arrays, 804, 806 Signal-to-noise ratio (SNR) adaptive filter, in an, 878 deconvolution, impact on, 762 digital filter structures, in, 395 FFTs, in, 588 due to roundoff errors, 591 filter output, at, 372 matched filter, relationship to, 817 roundoff noise in an IIR filter, due to, 378 time delay estimation, impact on, 795, 844 Wiener filter design, in, 514 Simultaneous transforms, 675, 680 Sinusoidal detection, 588, 716 Singular value decomposition in ARMA modeling, 726-731 Slant transform, 506 Sparse matrices, 530 Spatial filter, 793, 794, 797, 800, 804 beam pattern, 793, 796, 797, 800 Spectral analysis, 701 autoregressive (AR) model, 703, 705, 710, 718, 723, 737 overdetermined equation modeling, 714 parameter vector, 710, 714 autoregressive moving average (ARMA) model, 703, 706, 712, 720, 724, 737 Blackman-Tukey method, 705, 721 Box-Jenkins maximum-likelihood ARMA method, 731 Burg autoregressive model, 706 DFT and FFT, use of, 701, 722 fractional octave, 175, 210 system with AGC, 588 moving average (MA) models, 702, 709, 717, 721, 733 periodogram approach, 722, 733 Spectral aliasing cause of, description of, 211 998 Spectral aliasing (cont.) elimination using complex narrowband filtering, 223 resampling after single and two-stage, due to, 216 Spectral balancing, 763 leakage, 39, 644 transformations lowpass to bandpass, 343 lowpass to bandstop, 344 lowpass to highpass, 343 lowpass to lowpass, 343 transformations (in situ) lowpass to highpass, 349 lowpass to bandpass, 349 Speech generation, 742 glottis, 741 vocal tract, 741 signal processing relationship to deconvolution, 777 Square root Kalman filters, 935 Stability, 291, 748 converting poles outside the unit circle to inside, by, 294 tests, 292 State space structures for low-noise filters, 402 analysis, 404 complexity of, 405 impulse response, 404 K and W matrices, 407 minimum noise, 409 roundoff noise, 406 similarity transforms, 405 Stationary sequences See discrete-time random sequence Steady state Kalman filter, 929 Steepest-descent adaptive filter design technique, 866 Stopband, 60, 302 attenuation, 60, 305 edge frequency, 60, 302 Structural boundedness, 435, 443 losslessness and passivity, 443, 448 Subband coding, 143 Switching circuits, 943 Synchronous noise, 697 System identification, 746 AR(N), 756 ARMA(M,N), 758 MA(M), 757 transfer function, 746 INDEX impulse response, 746 rational function, 746 Tempered scale, 176 Three-sensor array, 831 time delay estimation algorithm optimal, 831 suboptimal, 832 Three-sensor linear array, 819 Time delay estimation, 789 active sensors, for, 793, 811 algorithm performance, of, 844 omnidirectional array of, 813 omnidirectional single, 793, 795, 798 omnidirectional, two, 798 algorithms, 824, 831, 837, 844 FFT implementation, 837 numerical example, 848 performance of active sensor, 844 performance of passive sensor, 845 three-sensor array, 831 two-sensor array, 822, 824 correlators, using, 816 least squares, 814-816 linear time-invariant filter, 823, 826 passive sensor for, 818 two-sensor array, 818 three-sensor array, 819 Toeplitz matrix, 510 Total least squares, 762 Transfer function, 24, 56, 290, 291 Transform pair discrete-time Fourier transform, Transition bandwidth, 59, 181, 182, 209 Transmit beam former, 808 linear array, for, 812 Transmitted pulse, 797 narrowband signal, 800 Transmultiplex, 636 Travel time difference, 799, 800 Truth table, 944 Twiddle factor, 537, 544 in nonorthogonal coordinates, 560 Two-dimensional FIR filters, 112 Two pairs, 437 constrained, 436 Two-sensor linear array, 798, 799, 818 bearing estimation, 819 design of active array, 801 passive time delay estimation, 818 999 INDEX Unit circle, 16 Upsampling See interpolation W Walsh-Hadamard function, 501 Walsh-Hadamard transform cal-sal ordered, 500 Hadamard or natural ordered, 502 Paley or dyadic ordered, 503 Warping phenomena using bilinear z-transform, 338 Wave digital filters, 419 Weighted DFT input, 39, 40 Whitening filters, 757 and AR(N) deconvolution, 757 lattice filters, 774 computer program, 787 Wide-sense stationary See also discrete-time random sequence definition, 45 error sequences in filters, 371 sequences in spectral estimation, 701 Widrow-Hoff algorithm, 866 Wiener filtering, 513, 860 Wiener transfer function, 513 Wiener-Hopf equation, 765 Windowed DFT output, 40 Windows, 39, 61, 203, 253, 704 Blackman, 66 Blackman-Harris, 264, 286, 655, 688, 690 Dolph-Chebyshev, 278, 286, 975 Hamming, 66, 262 Hann, 66, 259 Kaiser, 68 Kaiser-Bessel, 264, 280, 286, 688 rectangular, 61, 66 Taylor, 279, 286, 655 triangular, 63 Window folding, 652, 655, 658 Winograd Fourier transform algorithm (WFTA), 576 Winograd small-N DFTs See discrete Fourier transform Yuke-Walker equations, 708, 714, 756 extended, high-order, or modified, 759 Zero extending data sequences, 637, 684 Zero packing data sequences, 237, 636, 687, 689 Zero-padding, 841 for cross-correlation by means of FFT, 841 Zoom transform, 174 z-transform definition of 1-D, 16 inverse 1-D, 18 properties, 20, 21 radii of convergence, 16 region of convergence, 16 right- and left-sided sequence pairs, 20 right-sided sequence pairs, 28, 29 two-dimensional, 23 Zeros of a function, 17 ... - nT) "'' If Tz a(_(z-l) z—e " ir ^ ^ (z ~ e-~afT2 (a - l))(z e ~°T) (l- e - r )z a(z- 1i[ _ te ah]_z - i (a -fe)(z- e"" aT ) r (l-e-" )z a (z - l)(z - e aT) -e z da"~l\z-e~aT T2z(z + 1) (z -. . .Handbook of Digital Signal Processing Engineering Applications This page intentionally left blank Handbook of Digital Signal Processing Engineering Applications Edited by... period N A - {s + a)2 s(s + a)(s + b) \ (s + h) + —— s(s + a) 1 s+a s" s 21 s2 s e~ fl) i / afc\ \*/ '' tp~~Ul> b a- b '' - ã l-e-ô\ a J _ a _ t \ a-b J a-b b l/b \ — ?-? ?(t) + - r + - - - e-" a a a