The input sequence, x[n], is in natural order, and the output transform is in the packed form used by Sorensen et al. (1987) for conjugate symmetric transforms:
__0_____1_____2_____3_____..._______N/2-1______N/2_______N/2+1______N/2+2____...____N-1
Xr(0)_Xr(1)_Xr(2)_Xr(3)___..._____Xr(N/2-1)__Xr(N/2)___Xi(N/2-1)__Xi(N/2-2)__...___Xi(1)
where Xr is the real part of the transform and Xi is the imaginary part.
As long as the transform size does not change, the RDFT object does not need to be reinstantiated. Consequently, the data arrays can be reloaded and the evaluate method invoked to compute additional DFTs without incurring the cost of RDFT object instantiation.
The inverse DFT is calculated with a call to evaluateInverse():
Xfm.evaluateInverse( X, x );
The input transform, X, is in conjugate symmetric packed form and the output sequence, x, is in natural order.
This class also contains a convenience method to support convolution and correlation via the FFT.
See "Real-valued Fast Fourier Transform Algorithms", Sorensen, H. V., et al., IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, VOL. ASSP-35, NO. 6, JUNE 1987, pp. 849-863.
@author David B. Harris, Deschutes Signal Processing LLC
|
|
|
|
|
|