template class xf::dsp::aie::fir::interpolate_fract_asym::fir_interpolate_fract_asym_graph¶
fir_resampler is an Asymmetric Fractional Interpolation FIR filter
These are the templates to configure the Asymmetric Fractional Interpolation FIR class.
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.
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.|
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.
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
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.
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.
allows the user to select if runtime coefficient reloading should be used.
When defining the parameter:
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
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.
kernel* getKernels ()
Access function to get pointer to kernel (or first kernel in a chained configuration).
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.
|taps||a reference to the std::vector array of taps values of type TT_COEFF.|