fft_window is utility to apply a windowing (scaling) function such as Hamming to a frame of data samples.
These are the templates to configure the function.
Parameters:
TT_DATA | describes the type of individual data samples input to the function. This is a typename and must be one of the following: cint16, cint32, cfloat. |
TT_COEFF | describes the type of weights in the FFT window. This is a typename and must be one of the following: int16, int32, float. TT_DATA and TT_COEFF must be both integer types or both float types. |
TP_POINT_SIZE | describes the number of samples in the frame to be windowed. |
TP_WINDOW_VSIZE | describes the number of samples to be processed in each call to this function. It must be an integer multiple of TP_POINT_SIZE. |
TP_SHIFT | described the number of bits to downshift after the scaling by the window value. e.g. for a TT_COEFF of int16 and a window value of 16384 meaning 1.000, a TP_SHIFT value of 14 is appropriate. |
TP_API | described whether to use streams (1) or windows (0). |
TP_SSR | describes the number of kernels to use in parallel to perform the windowing function. |
TP_DYN_PT_SIZE | describes whether to support run-time selectable point size for the frames of data within the AIE window to be processed. |
template < typename TT_DATA, typename TT_COEFF, unsigned int TP_POINT_SIZE, unsigned int TP_WINDOW_VSIZE, unsigned int TP_SHIFT, unsigned int TP_API, unsigned int TP_SSR, unsigned int TP_DYN_PT_SIZE = 0 > class fft_window_graph: public graph // fields static constexpr int kMaxSSR static constexpr int kHeaderBytes static constexpr int kStreamsPerTile static constexpr int kAPIFactor static constexpr int kKernelPtSize static constexpr int kKernelWindowVsize port_array <input, kAPIFactor*TP_SSR> in port_array <output, kAPIFactor*TP_SSR> out kernel m_kernels[TP_SSR] std::array <std::array <TT_COEFF, kKernelPtSize* (1+TP_DYN_PT_SIZE)>, TP_SSR> kernel_weights