15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FIGURE 42.5 Polyphase filter structures for interpolation and decimation.<br />

T s<br />

FIGURE 42.6 Variable rate interpolation.<br />

Given the coefficients of an FIR decimation or interpolation filter, the structure of choice for the realization<br />

of a decimate by D or an interpolate by D filter is the polyphase structure [12] shown in Fig. 42.5.<br />

The attractiveness of this structure is in the fact that the filter is always operated at the lower sampling<br />

frequency.<br />

N<br />

In many cases it is desirable to resample the signal by a power of 2 . In which case N decimate<br />

(interpolate) by two stages can be cascaded one after the other. Each decimator will consist of a halfband<br />

filter followed by a decimator. The halfband filter could be realized using the polyphase structure to<br />

simplify its implementation. Moreover, these filters are typically very small consisting of anywhere from<br />

7 to 15 taps depending on the specified stopband attenuation and the size of the transition band. Their<br />

implementation can be simplified by exploiting the fact that close to half of the coefficients are zero and<br />

the remainder are symmetric about the main tap due to the linear phase characteristics of the halfband<br />

filter. Finally, since these are fixed-coefficient filters, they can be realized using CSD<br />

coefficients [13].<br />

It is interesting to note that for the special case of a decimate (interpolate) by 2N,<br />

it is possible to reuse<br />

the same hardware element and simply recirculate the data through it. In this architecture, the filter is<br />

run at the highest data sampling rate. The first pass through the filter will use up 1/2 of its computational<br />

resources, the second pass will use up 1/4 of the resources, and so on [14]. Although conceptually<br />

attractive, the clock generation circuit for such an architecture is quite critical and complex and this<br />

approach looses its appeal for recirculating factors greater than 3 or 4.<br />

In cases where the oversampling ratio is large (e.g., narrowband signal) an alternative approach using<br />

a cascaded integrator-comb (CIC) structure can be used to implement a multiplierless decimator. The<br />

interested reader is referred to [15] for a brief overview of a CIC ASIC.<br />

The continuously variable decimator block shown in Fig. 42.2 can resample the input signal by any<br />

factor α in the range of 2–4. The operation of this block is equivalent to that shown in Fig. 42.6, where<br />

the input data x(<br />

n),<br />

originally sampled at 1/ Ts<br />

is resampled to produce an output sequence y(<br />

n)<br />

sampled<br />

at 1/ Ti.<br />

The entire operation is performed digitally.<br />

To better understand the operation of this block, let us define the variable µ k,<br />

to be the time difference<br />

between the output sample y(<br />

k) and the most recent input sample x1. The job of the variable rate<br />

interpolator is to weight the adjacent input samples (…, x0, x1,…), based on the ratio µ k/Ts, and add the<br />

weighted input samples to obtain the value of the output sample, y(k). Mathematically, a number of<br />

interpolation schemes can perform the desired operation; however, many of them, such as sinc-based interpolation,<br />

require excessive computational resources for a practical hardware implementation. For real-time<br />

© 2002 by CRC Press LLC<br />

x(n)<br />

Decimator<br />

Structure<br />

α<br />

T i<br />

x(n)<br />

h 0 , h U , h 2U , ...<br />

h 1 , h U +1 , h 2U +1 , ...<br />

h U -1 , h 2U -1 , h 3U +1 ...<br />

T s<br />

h 0 , h D , h 2D , ...<br />

h 1 , h D +1 , h 2D +1 , ...<br />

Interpolator<br />

Structure<br />

y(n)<br />

h D -1 , h 2D -1 , h 3D -1 , ...<br />

DAC<br />

Continuous<br />

time filter<br />

y(n)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!