vss_fft_ifft_1d is a single-channel, decomposed FFT that contains the AIE sub-part of the VSS FFT offering.
These are the templates to configure the single-channel decimation-in-time class.
Parameters:
TT_DATA | describes the type of individual data samples input to and output from the transform function. This is a typename and must be one of the following: cint32, cfloat. |
TT_TWIDDLE | describes the type of twiddle factors of the transform. It must be one of the following: cint16, cint32, cfloat and must also satisfy the following rules:
|
TP_POINT_SIZE | is an unsigned integer which describes the number of samples in the transform. This must be 2^N where N is an integer in the range 4 to 16 inclusive. |
TP_FFT_NIFFT | selects whether the transform to perform is an FFT (1) or IFFT (0). |
TP_SHIFT | selects the power of 2 to scale the result by prior to output. |
TP_API | is an unsigned integer to select window (0) or stream (1) interfaces. When stream I/O is selected, one sample is taken from, or output to, a stream and the next sample from or two the next stream. Two streams minimum are used. In this example, even samples are read from input stream[0] and odd samples from input stream[1]. |
TP_SSR | is an unsigned integer to describe the number of parallel computational paths into which the *implementation will be split to improve the performance. Higher SSR relates to higher performance. |
TP_RND | describes the selection of rounding to be applied during the shift down stage of processing. Although, TP_RND accepts unsigned integer values descriptive macros are recommended where
|
TP_SAT | describes the selection of saturation to be applied during the shift down stage of processing. TP_SAT accepts unsigned integer values, where:
|
TP_TWIDDLE_MODE | describes the magnitude of integer twiddles. It has no effect for cfloat. |
template < typename TT_DATA, typename TT_TWIDDLE, unsigned int TP_POINT_SIZE, unsigned int TP_FFT_NIFFT = 1, unsigned int TP_SHIFT = 0, unsigned int TP_API = 0, unsigned int TP_SSR = 0, unsigned int TP_RND = 4, unsigned int TP_SAT = 1, unsigned int TP_TWIDDLE_MODE = 0 > class vss_fft_ifft_1d_graph: public graph // fields kernel m_fftTwRotKernels[TP_SSR] port_array <input, TP_SSR> front_i port_array <input, TP_SSR> back_i port_array <output, TP_SSR> back_o port_array <output, TP_SSR> front_o fft_ifft_dit_1ch_graph <TT_DATA, TT_TWIDDLE, kPtSizeD1, TP_FFT_NIFFT, kFirstFFTShift, kIntCascLen, kIntDynPtSize, kWindowSizeCalc, TP_API, kIntParPow, kIntUseWidg, TP_RND, TP_SAT, TP_TWIDDLE_MODE> frontFFTGraph[TP_SSR] fft_ifft_dit_1ch_graph <TT_DATA, TT_TWIDDLE, kPtSizeD2, TP_FFT_NIFFT, kSecondFFTShift, kIntCascLen, kIntDynPtSize, kWindowSizeCalc, TP_API, kIntParPow, kIntUseWidg, TP_RND, TP_SAT, TP_TWIDDLE_MODE> backFFTGraph[TP_SSR]