1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
<HTML>
<HEAD>
<TITLE>TSP (libtsp/SP) - SPcFFT42</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFACD">
<H2>SPcFFT42</H2>
<HR>
<H4>Routine</H4>
<DL>
<DT>
void SPcFFT42 (float x[], float y[], int N, int Ifn)
</DL>
<H4>Purpose</H4>
<DL>
<DT>
Fast Fourier transform (complex data)
</DL>
<H4>Description</H4>
This subroutine calculates the discrete Fourier transform or the inverse
discrete Fourier transform of a set of complex numbers using the fast Fourier
transform algorithm developed by G. Sande (mixed radix 4 and radix 2).
<DL>
<DT>
Reference:
<DD>
W. M. Gentleman and G. Sande, "Fast Fourier Transforms - For Fun and
Profit", 1966 Fall Joint Computer Conference.
</DL>
The calculation is done in place, that is the output data replaces the input
data. The k-th complex output data point of the N point discrete Fourier
transform is
<P>
<PRE>
N-1 nk
G(k) = SUM g(n) * W , where W = exp(-j*2*pi/N),
n=0
</PRE>
<P>
where j is the imaginary operator, and g(n) is the n-th complex input data
point. The k-th complex output data point of the N point inverse discrete
Fourier transform is
<P>
<PRE>
1 N-1 -nk
g(n) = - SUM G(k) * W .
N k=0
</PRE>
<H4>Parameters</H4>
<DL>
<DT>
<-> float x[]
<DD>
Array of length N containing the real part of the data
<DT>
<-> float y[]
<DD>
Array of length N containing the imaginary part of the data
<DT>
-> int N
<DD>
Number of elements in each of the arrays x and y. N must be a power of
two.
<DT>
-> int Ifn
<DD>
Input parameter, positive for the forward transform and negative for the
inverse transform.
</DL>
<H4>Author / revision</H4>
P. Kabal Copyright (C) 1997
/ Revision 1.13 1997/10/10
<H4>See Also</H4>
<A HREF="SPrFFT.html">SPrFFT</A>,
<A HREF="SPfDCT.html">SPfDCT</A>
<P>
<HR>
Main Index <A HREF="../libtsp.html">libtsp</A>
</BODY>
</HTML>
|