Super Sample Rate - Interpolation polyphases - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

In addition to the method described above, Super Sample Rate, FIR can decompose the interpolation process into multiple parallel polyphases using template parameter: TP_PARA_INTERP_POLY.

When used a TP_PARA_INTERP_POLY number of output paths will be created.

Note

Total number of output paths will be the result of multiplication of: NUM_OUTPUT_PORTS  = TP_PARA_INTERP_POLY x TP_SSR.

The polyphases are executed in parallel and output data produced by each polyphase directly becomes the filter’s output. TP_PARA_INTERP_POLY does not affect the number of input data paths. It is only useful when the filter has an interpolation factor greater than 1.

For example, when TP_SSR = 1, and TP_PARA_INTERP_POLY = 3, the input stream would look like this:

in[0] = i0, i1, i2, i3, i4, i5, i6, i7, i8, ...

And the output stream would look like this :

out[0] = o0, o3, o6, o9, o12, o15, ...
out[1] = o1, o4, o7, o10, o13, o16, ...
out[2] = o2, o5, o8, o11, o14, o17, ...

When TP_SSR = 1, TP_PARA_INTERP_POLY = 4, the input stream would still be the same as before, because TP_PARA_INTERP_POLY only affects the number of output streams. The output stream would look like:

out[0] = o0, o4, o8, o12, ...
out[1] = o1, o5, o9, o13, ...
out[2] = o2, o6, o10, o14, ...
out[3] = o3, o7, o11, o15, ...

And when TP_SSR = 2, TP_PARA_INTERP_POLY = 3, the input stream would need to look like this:

in[0] = i0, i2, i4, i6, i8, i10, ...
in[1] = i1, i3, i5, i7, i9, i11, ...

The output stream would produce data in this form:

out[0] = o0, 06, o12, o18, o24, ...
out[1] = o1, o7, o13, o19, o25, ...
out[2] = o2, o8, o14, o20, o26, ...
out[3] = o3, o9, o15, o21, o27, ...
out[4] = o4, o10, o16, o22, o28, ...
out[5] = o5, o11, o17, o23, o29, ...

We see that we can think of TP_SSR x TP_PARA_INTERP_POLY as an effective OUT_SSR which gives us the maximum output sample rate of the filter.