Polyphase Interpolator - 7.2 English - PG149

FIR Compiler LogiCORE IP Product Guide ( PG149)

Document ID
PG149
Release Date
2025-06-11
Version
7.2 English

The following figure shows the polyphase interpolation filter option which implements the computationally efficient 1-to-P interpolation filter.

Figure 1. 1-to-P Polyphase Interpolator

A set of N prototype filter coefficients a0, a1,…, aN-1 is mapped to the polyphase subfilters h0(n), h1(n) … hp-1(n) according to Equation 2, as in the decimation case.

Each new input sample x(n) engages all of the polyphase segments in parallel. For each input sample delivered to the filter, P output samples, one from each segment, are delivered to the filter output port, as indicated by the commutator in the preceding figure.

The output sample rate f ′s is f ′s = f sP where f s is the sample rate of the input data stream (n), n = 0, 1, 2,…. Observe each of the polyphase segments operating at the low input sample rate f s (compared to the high output sample rate f ′s) and a total of operations performed per output point.

Polyphase Interpolator Exploiting Symmetric Pairs

The symmetric pairs technique (see Symmetry Exploitation in Digital Interpolators/Decimators is used to exploit coefficient symmetry when implementing an Interpolation filter in the Systolic Multiply-Accumulator architecture. When P polyphase subfilters are generated from symmetric filter coefficients, not all the subfilters contain a set of coefficients that are themselves symmetric. The symmetric pairs technique observes that adding and subtracting two corresponding non-symmetric phases produces two new phases containing symmetric coefficients.

The following example demonstrates this technique for a 15-tap interpolate by 3 filter. The filter coefficients, a, b, c, d, e, f, g, h, g, f, e, d, c, b, a produce the following subfilters:

h0 = a, d, g, f, c

h1 = b, e, h, e, b

h2 = c, f, g, d, a

Subfilters h0 and h2 are not symmetric. Applying the symmetric pairs technique produces the following subfilters:

h0 = a+c, d+f, d,g, f+d, c+a

h1 = b, e, h, e, b

h2 = c-a, f-d, g-g, d-f, a-c

Now both h0 and h2 are symmetric with h2 being negative symmetric. The filter can now be implemented using symmetry, giving the associated resource savings. The output from subfilters h0 and h2 must be added and subtracted and then scaled by a factor of 0.5 to produce the original filter output. The following figure shows the resulting structure.

Figure 2. Symmetric Pairs
Note: For some configurations an extra DSP Slice is required to implement the recombination of the phases.
Note: When interpolating by 2 with an odd number of symmetric coefficients, this technique is not required as the resulting polyphase subfilters are symmetric.

Coefficient Padding

As with the general symmetric filter case, if the combination of rate and number of filter taps results in a subfilter which is not fully populated with coefficients, the reorganization of the filter coefficients results in a change in the phase response of the filter. The impulse response is shifted by several output samples as a result. In the 14 tap, interpolate by 4 case, padding a zero coefficient to the front of the coefficient response would be required to align the phases such that symmetry can be exploited, resulting in a smaller implementation, but this results in a different phase response for the filter. The methods to avoid this change in response, if such a change cannot be accommodated in your application system, are also similar to the general symmetry case; you can either force non-symmetric structure implementation or make use of the extra coefficients which can be supported in the structure. The following figure shows several example cases in and is extensible to larger filters.

Figure 3. Filter Padding to Facilitate Symmetric Pairing