template class xf::dsp::aie::fir::interpolate_fract_asym::fir_interpolate_fract_asym_graph¶
#include "fir_interpolate_fract_asym_graph.hpp"
Overview¶
fir_resampler is an Asymmetric Fractional Interpolation FIR filter
These are the templates to configure the Asymmetric Fractional Interpolation FIR class.
Parameters:
TT_DATA  describes the type of individual data samples input to and output from the filter function. This is a typename and must be one of the following: int16, cint16, int32, cint32, float, cfloat. 
TT_COEFF  describes the type of individual coefficients of the filter taps. It must be one of the same set of types listed for TT_DATA and must also satisfy the following rules:

TP_FIR_LEN  is an unsigned integer which describes the number of taps in the filter. 
TP_INTERPOLATE_FACTOR  is an unsigned integer which describes the interpolation factor of the filter. TP_INTERPOLATE_FACTOR must be in the range 3 to 16. 
TP_DECIMATE_FACTOR  is an unsigned integer which describes the decimation factor of the filter. TP_DECIMATE_FACTOR must be in the range 2 to 16. The decimation factor should be less that the interpolation factor and should not be divisible factor of the interpolation factor. 
TP_SHIFT  describes power of 2 shift down applied to the accumulation of FIR terms before output. TP_SHIFT must be in the range 0 to 61. 
TP_RND  describes the selection of rounding to be applied during the shift down stage of processing. TP_RND must be in the range 0 to 7 where

TP_INPUT_WINDOW_VSIZE  describes the number of samples in the window API used for input to the filter function. The number of values in the output window will be TP_INPUT_WINDOW_VSIZE multipled by TP_INTERPOLATE_FACTOR and divided by TP_DECIMATE_FACTOR. In the instance this would lead to a fraction number of output samples, this would be rounded down. Note: Margin size should not be included in TP_INPUT_WINDOW_VSIZE. 
TP_CASC_LEN  describes the number of AIE processors to split the operation over. This allows resource to be traded for higher performance. TP_CASC_LEN must be in the range 1 (default) to 9. 
TP_USE_COEFF_RELOAD  allows the user to select if runtime coefficient reloading should be used. When defining the parameter:

TP_NUM_OUTPUTS  sets the number of ports to broadcast the output to. Note: when used, optional port: 
template < typename TT_DATA, typename TT_COEFF, unsigned int TP_FIR_LEN, unsigned int TP_INTERPOLATE_FACTOR, unsigned int TP_DECIMATE_FACTOR, unsigned int TP_SHIFT, unsigned int TP_RND, unsigned int TP_INPUT_WINDOW_VSIZE, unsigned int TP_CASC_LEN = 1, unsigned int TP_USE_COEFF_RELOAD = 0, unsigned int TP_NUM_OUTPUTS = 1 > class fir_interpolate_fract_asym_graph: public graph // fields port <input> in port <output> out
Fields¶
port <input> in
The input data to the function. This input is a window API of samples of TT_DATA type. The number of samples in the window is described by TP_INPUT_WINDOW_VSIZE. Note: Margin is added internally to the graph, when connecting input port with kernel port. Therefore, margin should not be added when connecting graph to a higher level design unit. Margin size (in Bytes) equals to TP_FIR_LEN rounded up to a nearest multiple of 32 bytes.
port <output> out
A window API of TP_INPUT_WINDOW_VSIZE*TP_INTERPOLATE_FACTOR/TP_DECIMATE_FACTOR samples of TT_DATA type.
Methods¶
getKernels¶
kernel* getKernels ()
Access function to get pointer to kernel (or first kernel in a chained configuration).
fir_interpolate_fract_asym_graph¶
fir_interpolate_fract_asym_graph (const std::vector <TT_COEFF>& taps)
This is the constructor function for the asymmetrical decimator FIR graph with static coefficients.
Parameters:
taps  a reference to the std::vector array of taps values of type TT_COEFF. 