<< Chapter < Page Chapter >> Page >

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 realizeon-going or continuous convolution [link] , [link] . These notes develop the idea of block processing and shows that it is a generalizationof the overlap-add and overlap-save methods [link] , [link] . They further generalize the idea to a multidimensional formulation ofconvolution [link] , [link] . Moving in the opposite direction, it is shown that, rather than partitioning a string of scalars into blocks andthen into blocks of blocks, one can partition a scalar number into blocks of bits and then include the operation of multiplication in the signalprocessing formulation. This is called distributed arithmetic [link] and, since it describes operations at the bit level, is completely general. These notes try to present a coherent development of theseideas.

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 andmatrices. Because the same data is partitioned and grouped in a variety of ways, it is important to have a consistent notation in order to beclear. The n t h element of a data sequence is expressed h ( n ) or, in some cases to simplify, h n . A block or finite length column vector is denoted h ̲ n with n indicating the n t h block or section of a longer vector. A matrix, square or rectangular, is indicatedby an upper case letter such as H 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 )

where x ( n ) is causal, h ( n ) is causal and of length L , and the time index n 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 )

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 .

The H matrix of impulse response values is partitioned into N by N square sub matrices and the X and Y vectors are partitioned into length- N blocks or sections. This is illustrated for N = 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.
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.

Substituting these definitions into [link] 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

The general expression for the n t h output block is

y ̲ n = k = 0 n H n - k x ̲ k

which is a vector or block convolution. Since the matrix-vector multiplication within the block convolution is itself a convolution, [link] is a sort of convolution of convolutions and the finite length matrix-vector multiplication can be carried out using the FFT or otherfast 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

and the effects of one input block can be written

H 0 H 1 H 2 x ̲ 1 = y ̲ 0 y ̲ 1 y ̲ 2 .

These are generalize statements of overlap save and overlap add [link] , [link] . 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 [link] , [link] , [link] , [link] , [link] . The block form of an IIR filter is developed in much the same way as for the block convolutionimplementation of the FIR filter. The general constant coefficient difference equation which describes an IIR filter with recursivecoefficients a l , convolution coefficients b k , input signal x ( n ) , and output signal y ( n ) is given by

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Digital signal processing and digital filter design (draft). OpenStax CNX. Nov 17, 2012 Download for free at http://cnx.org/content/col10598/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Digital signal processing and digital filter design (draft)' conversation and receive update notifications?

Ask