nlogn - E. A. Robinson’s subroutine to perform radix 2 complex FFT
call nlogn(npts, x, sign)
Basic Seismic
Utilities (BSU) subroutine originally published by Robinson
(1967) which computes a radix 2 Fast Fourier Transform
(FFT). Some minor modifications were made to run it on a
cray, and convert it to Fortran 77. Works on Linux.
Fortran Version.
Arguments
npts (int)
Number of
samples in x
x (complex)
Complex signal to be transformed
sign (float)
-1 = forward transform -->sum{exp(-2pi*i*j*k/npts)} where i=sqrt(-1)
+1 = inverse transform -->(1/npts)*sum{exp(+2pi*i*j*k/npts)} where i=sqrt(-1)
NOTE:
Make sure npts is a power of 2 (see subroutine nrad2 for
example)
nrad2(3), flist(3), bnoise(3)
Robinson, E.A.,
1967, "Multichannel Time Series Analysis
with Digital Computer Programs", Holden-Day, 298p.
No known bugs.
Copyright © 1967 by Holden-Day Inc.
Holden-Day Inc., Liquidation Trust, 1259 S.W. 14th Street Boca Raton, FL 33486 Phone: 561.750.9229 Fax: 561.394.6809
This subroutine is included for distribution with Basic Seismic Utilities (BSU) by joint permission of the author, Enders Robinson, and Holden-Day Inc. Liquidation Trust, Frederick H. Murphy, Trustee. Being part of the BSU package, it is governed by the terms of the GPL license, and is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
E. A. Robinson