Skip to content Skip to navigation Skip to collection information

OpenStax-CNX

You are here: Home » Content » Digital Signal Processing and Digital Filter Design (Draft) » Block, Multi-rate, Multi-dimensional Processing and Distributed Arithmetic

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • NSF Partnership display tagshide tags

    This collection is included inLens: NSF Partnership in Signal Processing
    By: Sidney Burrus

    Click the "NSF Partnership" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • Featured Content

    This collection is included inLens: Connexions Featured Content
    By: Connexions

    Click the "Featured Content" link to see all content affiliated with them.

Also in these lenses

  • UniqU content

    This collection is included inLens: UniqU's lens
    By: UniqU, LLC

    Click the "UniqU content" link to see all content selected in this lens.

  • Lens for Engineering

    This module and collection are included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Block, Multi-rate, Multi-dimensional Processing and Distributed Arithmetic

Module by: C. Sidney Burrus. E-mail the author

Introduction

The partitioning of long or infinite strings of data into shorter sections or blocks has been used to allow application of the FFT to realize on-going or continuous convolution [40], [25]. These notes develop the idea of block processing and shows that it is a generalization of the overlap-add and overlap-save methods [40], [22]. They further generalize the idea to a multidimensional formulation of convolution [1], [10]. Moving in the opposite direction, it is shown that, rather than partitioning a string of scalars into blocks and then into blocks of blocks, one can partition a scalar number into blocks of bits and then include the operation of multiplication in the signal processing formulation. This is called distributed arithmetic [9] and, since it describes operations at the bit level, is completely general. These notes try to present a coherent development of these ideas.

Block Signal Processing

In this section the usual convolution and recursion that implements FIR and IIR discrete-time filters are reformulated in terms of vectors and matrices. Because the same data is partitioned and grouped in a variety of ways, it is important to have a consistent notation in order to be clear. The nthnth element of a data sequence is expressed h(n)h(n) or, in some cases to simplify, hnhn. A block or finite length column vector is denoted h̲nh̲n with nn indicating the nthnth block or section of a longer vector. A matrix, square or rectangular, is indicated by an upper case letter such as HH with a subscript if appropriate.

Block Convolution

The operation of a finite impulse response (FIR) filter is described by a finite convolution as

y ( n ) = k = 0 L - 1 h ( k ) x ( n - k ) y ( n ) = k = 0 L - 1 h ( k ) x ( n - k )
(1)

where x(n)x(n) is causal, h(n)h(n) is causal and of length LL, and the time index nn goes from zero to infinity or some large value. With a change of index variables this becomes

y ( n ) = k = 0 n h ( n - k ) x ( k ) y ( n ) = k = 0 n h ( n - k ) x ( k )
(2)

which can be expressed as a matrix operation by

y 0 y 1 y 2 = h 0 0 0 0 h 1 h 0 0 h 2 h 1 h 0 x 0 x 1 x 2 . y 0 y 1 y 2 = h 0 0 0 0 h 1 h 0 0 h 2 h 1 h 0 x 0 x 1 x 2 .
(3)

The HH matrix of impulse response values is partitioned into NN by NN square sub matrices and the XX and YY vectors are partitioned into length-NN blocks or sections. This is illustrated for N=3N=3 by

H 0 = h 0 0 0 h 1 h 0 0 h 2 h 1 h 0 H 1 = h 3 h 2 h 1 h 4 h 3 h 2 h 5 h 4 h 3 etc. H 0 = h 0 0 0 h 1 h 0 0 h 2 h 1 h 0 H 1 = h 3 h 2 h 1 h 4 h 3 h 2 h 5 h 4 h 3 etc.
(4)
x ̲ 0 = x 0 x 1 x 2 x ̲ 1 = x 3 x 4 x 5 y ̲ 0 = y 0 y 1 y 2 etc. x ̲ 0 = x 0 x 1 x 2 x ̲ 1 = x 3 x 4 x 5 y ̲ 0 = y 0 y 1 y 2 etc.
(5)

Substituting these definitions into Equation 3 gives

y ̲ 0 y ̲ 1 y ̲ 2 = H 0 0 0 0 H 1 H 0 0 H 2 H 1 H 0 x ̲ 0 x ̲ 1 x ̲ 2 y ̲ 0 y ̲ 1 y ̲ 2 = H 0 0 0 0 H 1 H 0 0 H 2 H 1 H 0 x ̲ 0 x ̲ 1 x ̲ 2
(6)

The general expression for the nthnth output block is

y ̲ n = k = 0 n H n - k x ̲ k y ̲ n = k = 0 n H n - k x ̲ k
(7)

which is a vector or block convolution. Since the matrix-vector multiplication within the block convolution is itself a convolution, Equation 8 is a sort of convolution of convolutions and the finite length matrix-vector multiplication can be carried out using the FFT or other fast convolution methods.

The equation for one output block can be written as the product

y ̲ 2 = H 2 H 1 H 0 x ̲ 0 x ̲ 1 x ̲ 2 y ̲ 2 = H 2 H 1 H 0 x ̲ 0 x ̲ 1 x ̲ 2
(8)

and the effects of one input block can be written

H 0 H 1 H 2 x ̲ 1 = y ̲ 0 y ̲ 1 y ̲ 2 . H 0 H 1 H 2 x ̲ 1 = y ̲ 0 y ̲ 1 y ̲ 2 .
(9)

These are generalize statements of overlap save and overlap add [40], [22]. The block length can be longer, shorter, or equal to the filter length.

Block Recursion

Although less well-known, IIR filters can be implemented with block processing [20], [12], [42], [7], [8]. The block form of an IIR filter is developed in much the same way as for the block convolution implementation of the FIR filter. The general constant coefficient difference equation which describes an IIR filter with recursive coefficients alal, convolution coefficients bkbk, input signal x(n)x(n), and output signal y(n)y(n) is given by

y ( n ) = l = 1 N - 1 a l y n - l + k = 0 M - 1 b k x n - k y ( n ) = l = 1 N - 1 a l y n - l + k = 0 M - 1 b k x n - k
(10)

using both functional notation and subscripts, depending on which is easier and clearer. The impulse response h(n)h(n) is

h ( n ) = l = 1 N - 1 a l h ( n - l ) + k = 0 M - 1 b k δ ( n - k ) h ( n ) = l = 1 N - 1 a l h ( n - l ) + k = 0 M - 1 b k δ ( n - k )
(11)

which can be written in matrix operator form

1 0 0 0 a 1 1 0 a 2 a 1 1 a 3 a 2 a 1 0 a 3 a 2 h 0 h 1 h 2 h 3 h 4 = b 0 b 1 b 2 b 3 0 1 0 0 0 a 1 1 0 a 2 a 1 1 a 3 a 2 a 1 0 a 3 a 2 h 0 h 1 h 2 h 3 h 4 = b 0 b 1 b 2 b 3 0
(12)

In terms of NN by NN submatrices and length-NN blocks, this becomes

A 0 0 0 0 A 1 A 0 0 0 A 1 A 0 h ̲ 0 h ̲ 1 h ̲ 2 = b ̲ 0 b ̲ 1 0 A 0 0 0 0 A 1 A 0 0 0 A 1 A 0 h ̲ 0 h ̲ 1 h ̲ 2 = b ̲ 0 b ̲ 1 0
(13)

From this formulation, a block recursive equation can be written that will generate the impulse response block by block.

A 0 h ̲ n + A 1 h ̲ n - 1 = 0 for n 2 A 0 h ̲ n + A 1 h ̲ n - 1 = 0 for n 2
(14)
h ̲ n = - A 0 - 1 A 1 h ̲ n - 1 = K h ̲ n - 1 for n 2 h ̲ n = - A 0 - 1 A 1 h ̲ n - 1 = K h ̲ n - 1 for n 2
(15)

with initial conditions given by

h ̲ 1 = - A 0 - 1 A 1 A 0 - 1 b ̲ 0 + A 0 - 1 b ̲ 1 h ̲ 1 = - A 0 - 1 A 1 A 0 - 1 b ̲ 0 + A 0 - 1 b ̲ 1
(16)

This can also be written to generate the square partitions of the impulse response matrix by

H n = K H n - 1 for n 2 H n = K H n - 1 for n 2
(17)

with initial conditions given by

H 1 = K A 0 - 1 B 0 + A 0 - 1 B 1 H 1 = K A 0 - 1 B 0 + A 0 - 1 B 1
(18)

ane K=-A0-1A1K=-A0-1A1. This recursively generates square submatrices of HH similar to those defined in Equation 4 and Equation 6 and shows the basic structure of the dynamic system.

Next, we develop the recursive formulation for a general input as described by the scalar difference equation Equation 11 and in matrix operator form by

1 0 0 0 a 1 1 0 a 2 a 1 1 a 3 a 2 a 1 0 a 3 a 2 y 0 y 1 y 2 y 3 y 4 = b 0 0 0 0 b 1 b 0 0 b 2 b 1 b 0 0 b 2 b 1 0 0 b 2 x 0 x 1 x 2 x 3 x 4 1 0 0 0 a 1 1 0 a 2 a 1 1 a 3 a 2 a 1 0 a 3 a 2 y 0 y 1 y 2 y 3 y 4 = b 0 0 0 0 b 1 b 0 0 b 2 b 1 b 0 0 b 2 b 1 0 0 b 2 x 0 x 1 x 2 x 3 x 4
(19)

which, after substituting the definitions of the sub matrices and assuming the block length is larger than the order of the numerator or denominator, becomes

A 0 0 0 0 A 1 A 0 0 0 A 1 A 0 y ̲ 0 y ̲ 1 y ̲ 2 = B 0 0 0 0 B 1 B 0 0 0 B 1 B 0 x ̲ 0 x ̲ 1 x ̲ 2 . A 0 0 0 0 A 1 A 0 0 0 A 1 A 0 y ̲ 0 y ̲ 1 y ̲ 2 = B 0 0 0 0 B 1 B 0 0 0 B 1 B 0 x ̲ 0 x ̲ 1 x ̲ 2 .
(20)

From the partitioned rows of Equation 21, one can write the block recursive relation

A 0 y ̲ n + 1 + A 1 y ̲ n = B 0 x ̲ n + 1 + B 1 x ̲ n A 0 y ̲ n + 1 + A 1 y ̲ n = B 0 x ̲ n + 1 + B 1 x ̲ n
(21)

Solving for y̲n+1y̲n+1 gives

y ̲ n + 1 = - A 0 - 1 A 1 y ̲ n + A 0 - 1 B 0 x ̲ n + 1 + A 0 - 1 B 1 x ̲ n y ̲ n + 1 = - A 0 - 1 A 1 y ̲ n + A 0 - 1 B 0 x ̲ n + 1 + A 0 - 1 B 1 x ̲ n
(22)
y ̲ n + 1 = K y ̲ n + H 0 x ̲ n + 1 + H ˜ 1 x ̲ n y ̲ n + 1 = K y ̲ n + H 0 x ̲ n + 1 + H ˜ 1 x ̲ n
(23)

which is a first order vector difference equation [7], [8]. This is the fundamental block recursive algorithm that implements the original scalar difference equation in Equation 11. It has several important characteristics.

  1. The block recursive formulation is similar to a state variable equation but the states are blocks or sections of the output [8], [28], [46], [47].
  2. The eigenvalues of KK are the poles of the original scalar problem raised to the NN power plus others that are zero. The longer the block length, the “more stable" the filter is, i.e. the further the poles are from the unit circle [7], [8], [46], [4], [6].
  3. If the block length were shorter than the denominator, the vector difference equation would be higher than first order. There would be a non zero A2A2. If the block length were shorter than the numerator, there would be a non zero B2B2 and a higher order block convolution operation. If the block length were one, the order of the vector equation would be the same as the scalar equation. They would be the same equation.
  4. The actual arithmetic that goes into the calculation of the output is partly recursive and partly convolution. The longer the block, the more the output is calculated by convolution and, the more arithmetic is required.
  5. It is possible to remove the zero eigenvalues in KK by making KK rectangular or square and N by N This results in a form even more similar to a state variable formulation [35], [8]. This is briefly discussed below in The Z-Transform.
  6. There are several ways of using the FFT in the calculation of the various matrix products in Equation 22 and in Equation 24 and Equation 25. Each has some arithmetic advantage for various forms and orders of the original equation. It is also possible to implement some of the operations using rectangular transforms, number theoretic transforms, distributed arithmetic, or other efficient convolution algorithms [8], [46], [3], [11], [45], [36].
  7. By choosing the block length equal to the period, a periodically time varying filter can be made block time invariant. In other words, all the time varying characteristics are moved to the finite matrix multiplies which leave the time invariant properties at the block level. This allows use of z-transform and other time-invariant methods to be used for stability analysis and frequency response analysis [31], [32]. It also turns out to be related to filter banks and multi-rate filters [30], [29], [14].

Block State Formulation

It is possible to reduce the size of the matrix operators in the block recursive description Equation 23 to give a form even more like a state variable equation [35], [8], [47]. If KK in Equation 23 has several zero eigenvalues, it should be possible to reduce the size of KK until it has full rank. That was done in [8] and the result is

z ̲ n = K 1 z ̲ n - 1 + K 2 x ̲ n z ̲ n = K 1 z ̲ n - 1 + K 2 x ̲ n
(24)
y ̲ n = H 1 z ̲ n - 1 + H 0 x ̲ n y ̲ n = H 1 z ̲ n - 1 + H 0 x ̲ n
(25)

where H0H0 is the same NN by NN convolution matrix, N1N1 is a rectangular LL by NN partition of the convolution matrix HH, K1K1 is a square NN by NN matrix of full rank, and K2K2 is a rectangular NN by LL matrix.

This is now a minimal state equation whose input and output are blocks of the original input and output. Some of the matrix multiplications can be carried out using the FFT or other techniques.

Block Implementations of Digital Filters

The advantage of the block convolution and recursion implementations is a possible improvement in arithmetic efficiency by using the FFT or other fast convolution methods for some of the multiplications in Equation 7 or Equation 22 [33], [34]. There is the reduction of quantization effects due to an effective decrease in the magnitude of the eigenvalues and the possibility of easier parallel implementation for IIR filters. The disadvantages are a delay of at least one block length and an increased memory requirement.

These methods could also be used in the various filtering methods for evaluating the DFT. This the chirp z-transform, Rader's method, and Goertzel's algorithm.

Multidimensional Formulation

This process of partitioning the data vectors and the operator matrices can be continued by partitioning Equation 7 and Equation 21 and creating blocks of blocks to give a higher dimensional structure. One should use index mapping ideas rather than partitioned matrices for this approach [1], [10].

Periodically Time-Varying Discrete-Time Systems

Most time-varying systems are periodically time-varying and this allows special results to be obtained. If the block length is set equal to the period of the time variations, the resulting block equations are time invariant and all to the time varying characteristics are contained in the matrix multiplications. This allows some of the tools of time invariant systems to be used on periodically time-varying systems.

The PTV system is analyzed in [44], [14], [13], [31], the filter analysis and design problem, which includes the decimation–interpolation structure, is addressed in [17], [32], [30], and the bandwidth compression problem in [29]. These structures can take the form of filter banks [41].

Multirate Filters, Filter Banks, and Wavelets

Another area that is related to periodically time varying systems and to block processing is filter banks [41], [21]. Recently the area of perfect reconstruction filter banks has been further developed and shown to be closely related to wavelet based signal analysis [14], [16], [19], [41], [5]. The filter bank structure has several forms with the polyphase and lattice being particularly interesting. Further work on multirate filters can be found in [27], [15], [2], [26], [37], [18].

An idea that has some elements of multirate filters, perfect reconstruction, and distributed arithmetic is given in [23], [24]. Parks has noted that design of multirate filters has some elements in common with complex approximation and of 2-D filter design [38], [39] and is looking at using Tang's method for these designs.

Distributed Arithmetic

Rather than grouping the individual scalar data values in a discrete-time signal into blocks, the scalar values can be partitioned into groups of bits. Because multiplication of integers, multiplication of polynomials, and discrete-time convolution are the same operations, the bit-level description of multiplication can be mixed with the convolution of the signal processing. The resulting structure is called distributed arithmetic [9], [43]. It can be used to create an efficient table look-up scheme to implement an FIR or IIR filter using no multiplications by fetching previously calculated partial products which are stored in a table. Distributed arithmetic, block processing, and multi-dimensional formulations can be combined into an integrated powerful description to implement digital filters and processors. There may be a new form of distributed arithmetic using the ideas in [23], [24].

References

  1. Agarwal, R. C. and Burrus, C. S. (1974, February). Fast One-Dimensional Digital Convolution by Multi-Dimensional Techniques. [also in IEEE Press DSP Reprints II, 1979; and Number Theory in DSP, by McClellan and Rader, Prentice-Hall, 1979]. IEEE Transactions on Acoustics, Speech, and Signal Processing, ASSP-22(1), 1–10.
  2. Ansari, Rashid and Liu, Bede. (1993). Multirate Signal Processing. In Mitra, Sanjit K. and Kaiser, James F. (Eds.), Advanced Topics in Signal Processing. (p. 981–1084). New York: John Wiley & Sons.
  3. Burrus, C. S. and Agarwal, R. C. (1973, November, 5). Efficient Implementation of Recursive Digital Filters. In Proceedings of the Seventh Asilomar Conference on Circuits and Systems. (p. 280–284). Pacific Grove, CA
  4. Barnes, C. W. (1979, March). Roundoff–Noise and Overflow in Normal Digital Filters. IEEE Transactions on Circuit and Systems, CAS-26, 154–155.
  5. Burrus, C. Sidney and Gopinath, Ramesh A. and Guo, Haitao. (1998). Introduction to Wavelets and the Wavelet Transform. Upper Saddle River, NJ: Prentice Hall.
  6. Barnes, C. W. and Shinnaka, S. (1980, August). Block Shift Invariance and Block Implementation of Discrete-Time Filters. IEEE Transactions on Circuit and Systems, CAS-27(4), 667–672.
  7. Burrus, C. S. (1971, November). Block Implementation of Digital Filters. IEEE Transactions on Circuit Theory, CT-18(6), 697–701.
  8. Burrus, C. S. (1972, October). Block Realization of Digital Filters. IEEE Transactions on Audio and Electroacoustics, AU-20(4), 230–235.
  9. Burrus, C. S. (1977, December). Digital Filter Structures Described by Distributed Arithmetic. IEEE Transactions on Circuit and Systems, CAS-24(12), 674–680.
  10. Burrus, C. S. (1977, June). Index Mapping for Multidimensional Formulation of the DFT and Convolution. IEEE Transactions on Acoustics, Speech, and Signal Processing, ASSP-25(3), 239–242.
  11. Burrus, C. S. (1977, May). Recursive Digital Filter Structures Using New High Speed Convolution Algorithms. In IEEE International Conference on Acoustics, Speech, and Signal Processing. (p. 363–365). Hartford, CT
  12. Chanoux, D. (1970, June). Synthesis of Recursive Digital Filters using the FFT. IEEE Transactions on Audio and Electroacoustics, AU-18, 211–212.
  13. Claasen, T. A. C. M. and Mecklenbraüker, W. F. G. (1982, March). On Stationary Linear Time–Varying Systems. IEEE Trans. on Circuits and Systems, 29(3), 169–184.
  14. Crochiere, R. E. and Rabiner, L. R. (1983). Multirate Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall.
  15. Crochiere, R. E. and Rabiner, L. R. (1988). Multirate Processing of Digital Signals. In Lim, J. S. and Oppenheim, A. V. (Eds.), Advanced Topics in Signal Processing. (p. 123–198). Upper Saddle River, NJ: Prentice Hall.
  16. Daubechies, Ingrid. (1992). Ten Lectures on Wavelets. [Notes from the 1990 CBMS-NSF Conference on Wavelets and Applications at Lowell, MA]. Philadelphia, PA: SIAM.
  17. Franasek, P. A. and Liu, B. (1967). On a Class of Time–Varying Filters. IEEE Trans. on Information Theory, 13, 477.
  18. Fliege, F. J. (1994). Multirate Digital Signal Processing: Multrirate Systems, Filter Banks, and Wavelets. New York: Wiley & Sons.
  19. Gopinath, R. A. and Burrus, C. S. (1992). Wavelet Transforms and Filter Banks. In Chui, Charles K. (Ed.), Wavelets: A Tutorial in Theory and Applications. (p. 603–655). [Volume 2 in the series: Wavelet Analysis and its Applications]. San Diego, CA: Academic Press.
  20. Gold, B. and Jordan, K. L. (1968, October). A Note on Digital Filter Synthesis. Proceedings of the IEEE, 56, 1717–1718.
  21. Gopinath, Ramesh A. (1992, August). Wavelets and Filter Banks – New Results and Applications. Ph. D. Thesis. Rice University, Houston, Tx.
  22. Gold, B. and Rader, C. M. (1969). Digital Processing of Signals. New York: McGraw-Hill.
  23. Ghanekar, S. P. and Tantaratana, S. and Franks, L. E. (1992). High-Precision Multiplier–Free FIR Filter Realization with Periodically Time–Varying Coefficients. In Paper Summaries for the 1992 DSP Workshop. (p. 3.3.1). Starved Rock Lodge, Utica, Ill.
  24. Ghanekar, S. P. and Tantaratana, S. and Franks, L. E. (1995). A Class of High-Precision Multiplier–Free FIR Filter Realizations with Periodically Time–Varying Coefficients. IEEE Transactions on Signal Processing, 43(4), 822–830.
  25. Helms, H. D. (1967, June). Fast Fourier Transform Method of Computing Difference Equations and Simulating Filters. IEEE Trans. on Audio and Electroacoustics, AU-15, 85–90.
  26. Herley, Cormac and Nayebi, Kambiz. (1998). Time Frequency and Multirate Signal Processing. In Madisetti, V. K. and Williams, Douglas B. (Eds.), The Digital Signal Processing Handbook. Boca Raton, New York: CRC Press, IEEE Press.
  27. j. harris, frederic. (1987). Multirate FIR Filters for Interpolating and Desampling. In Elliott, Douglas F. (Ed.), Handbook of Digital Signal Processing. (p. 173–288). San Diego: Academic Press.
  28. Loeffler, C. M. and Burrus, C. S. (1981, April). Equivalence of Block Filter Representations. In Proceedings of the 1981 IEEE International Symposium on Circuits and Systems. (pp. 546-550). Chicago, IL
  29. Loeffler, C. M. and Burrus, C. S. (1982, May). Periodically Time–Varying Bandwidth Compressor. In Proceedings of the IEEE International Symposium on Circuits and Systems. (p. 663–665). Rome, Italy
  30. Loeffler, C. M. and Burrus, C. S. (1984, October). Optimal Design of Periodically Time Varying and Multirate Digital Filters. IEEE Transactions on Acoustics, Speech, and Signal Processing, ASSP-32(5), 991-924.
  31. Meyer, R. A. and Burrus, C. S. (1975, March). A Unified Analysis of Multirate and Periodically Time Varying Digital Filters. IEEE Transactions on Circuits and Systems, CAS-22(3), 162–168.
  32. Meyer, R. A. and Burrus, C. S. (1976, February). Design and Implementation of Multirate Digital Filters. IEEE Transactions on Acoustics, Speech, and Signal Processing, ASSP-24(1), 53–58.
  33. Mitra, S. K. and Gransekaran, R. (1977, July). A Note on Block Implementation of IIR Digital Filters. IEEE Transactions on Circuit and Systems, CAS-24(7),
  34. Mitra, S. K. and Gransekaran, R. (1978, April). Block Implementation of Recursive Digital Filters – New Structures and Properties. IEEE Transactions on Circuit and Systems, CAS-25(4), 200–207.
  35. Meek, J. W. and Veletsos, A. S. (1972, March). Fast Convolution for Recursive Digital Filters. IEEE Transactions on Audio and Electroacoustics, AU-20, 93–94.
  36. Pitas, I. and Burrus, C. S. (1983, March). Time and Error Analysis of Digital Convolution by Rectangular Transforms. Signal Processing, 5(2), 153–162.
  37. Proakis, John G. and Rader, Charles M. and Ling, Fuyun and Nikias, Chrysostomos L. (1992). Advanced Digital Signal Processing. New York: Macmillan.
  38. Shenoy, R. G. and Burnside, Daniel and Parks, T. W. (1992, September). Linear Periodic Systems and Multirate Filter Design. (GEO-002-92-16b). Technical report. Schlumberger–Doll Research Note.
  39. Shenoy, R. G. and Parks, T. W. and Burnside, Daniel. (1992). Fourier Analysis of Linear Periodic Systems and Multirate Filter Design. In Paper Summaries for the 1992 DSP Workshop. (p. 2.4.1). Starved Rock Lodge, Utica, Ill.
  40. Stockham, T. G. (1966). High Speed Convolution and Correlation. In AFIPS Conf. Proc. (Vol. 28, p. 229–233). 1966 Spring Joint Computer Conference.
  41. Vaidyanathan, P. P. (1992). Multirate Systems and Filter Banks. Englewood Cliffs, NJ: Prentice-Hall.
  42. Voelcker, H. B. and Hartquist, E. E. (1970, June). Digital Filtering via Block Recursion. IEEE Transactions on Audio and Electroacoustics, AU-18, 169–176.
  43. White, S. A. (1989, July). Applications of Distributed Arithmetic to Digital Signal Processing. IEEE ASSP Magazine, 6(3), 4–19.
  44. Zadeh, L. A. (1950). Frequency Analysis of Variable Networks. Proceeding of the IRE, 38(3), 291–299.
  45. Zalcstein, Y. (1971, June). A Note on Fast Convolution. IEEE Transactions on Computers, C-20, 665.
  46. Zeman, Jan and Lindgren, Allen G. (1981, July). Fast Digital Filters with Low Round–Off Noise. IEEE Transactions on Circuit and Systems, CAS-28, 716–723.
  47. Zeman, Jan and Lindgren, Allen G. (1981, October). Fast State–Space Decimator with Very Low Round–off Noise. Signal Processing, 3(4), 377–388.

Collection Navigation

Content actions

Download:

Collection as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Module as:

PDF | More downloads ...

Add:

Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks