TIME <==> FREQUENCY DOMAIN FFT:
+-------------------------------------------------------------------+
PURPOSE : Evaluate the simple FT of a function from time to frequency.
+-------------------------------------------------------------------+
FAST FOURIER TRANSFORM FUNCTIONS:
+-------------------------------------------------------------------+
PURPOSE : Evaluate forward 1-DIM FFT using FFTPACK 5.1 routines.
out is :
[y(0), y(1), ..., y(N/2), y(-N/2+1), ..., y(-1)] if N is even
[y(0), y(1), ..., y((N-1)/2), y(-(N-1)/2), ..., y(-1)] if N is odd
where:
y(j) = sum[k=0..N-1] x[k] * exp(-xij k 2 pi/N), j = 0..N-1
For index JINC+1 where J=0,...,N-1 (that is, for the Jth
element of the sequence):
N-1
C(J INC+1) = SUM C(KINC+1) EXP(-XIJ K2 PI/N)
K=0
+-------------------------------------------------------------------+
+-------------------------------------------------------------------+
PURPOSE : Evaluate 1-DIM backward FFT using FFTPACK 5.1 routines.
The returned real/complex array contains y(0), y(1),..., y(n-1) where
y(j) = sum_{k=-N/2,...,N/2-1}(x(k) * exp(2pi XIj k/N))
For index JINC+1 where J=0,...,N-1,
N-1
C(J INC+1) = SUM C(KINC+1) EXP(XIJ K2 PI/N)
K=0
+-------------------------------------------------------------------+
+-------------------------------------------------------------------+
PURPOSE : Shift the zero-frequency to the center of the 1-DIM array
output of the forward-FFT is:
[y(0), y(1), ..., y(N/2), y(-N/2+1), ..., y(-1)] if N is even
[y(0), y(1), ..., y((N-1)/2), y(-(N-1)/2), ..., y(-1)] if N is odd
using *shift produces:
[y(-N/2+1), ..., y(-1), y(0), y(1), ..., y(N/2)] if N is even
[y(-(N-1)/2), ..., y(-1), y(0), y(1), ..., y((N-1)/2)] if N is even
+-------------------------------------------------------------------+
module~~sf_fft_fftpack~~UsesGraph
module~sf_fft_fftpack
SF_FFT_FFTPACK
module~sf_arrays
SF_ARRAYS
module~sf_fft_fftpack->module~sf_arrays
module~sf_constants
SF_CONSTANTS
module~sf_fft_fftpack->module~sf_constants
module~sf_integrate
SF_INTEGRATE
module~sf_fft_fftpack->module~sf_integrate
module~gauss_quadrature
GAUSS_QUADRATURE
module~sf_integrate->module~gauss_quadrature
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
module~~sf_fft_fftpack~~UsedByGraph
module~sf_fft_fftpack
SF_FFT_FFTPACK
module~scifor
SCIFOR
module~scifor->module~sf_fft_fftpack
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Interfaces
private function d_FT_direct(ft, t, w) result(fw)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(in),
dimension(:)
::
ft
real(kind=8),
intent(in),
dimension(size(ft))
::
t
real(kind=8),
intent(in),
dimension(:)
::
w
Return Value
real(kind=8), dimension(size(w))
private function c_FT_direct(ft, t, w) result(fw)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(in),
dimension(:)
::
ft
real(kind=8),
intent(in),
dimension(size(ft))
::
t
real(kind=8),
intent(in),
dimension(:)
::
w
Return Value
complex(kind=8), dimension(size(w))
private function d_FT_inverse(fw, t, w) result(ft)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(in),
dimension(:)
::
fw
real(kind=8),
intent(in),
dimension(:)
::
t
real(kind=8),
intent(in),
dimension(size(fw))
::
w
Return Value
real(kind=8), dimension(size(t))
private function c_FT_inverse(fw, t, w) result(ft)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(in),
dimension(:)
::
fw
real(kind=8),
intent(in),
dimension(:)
::
t
real(kind=8),
intent(in),
dimension(size(fw))
::
w
Return Value
complex(kind=8), dimension(size(t))
private function d_FFT_signal(ft, dt) result(fw)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
ft
real(kind=8)
::
dt
Return Value
real(kind=8), dimension(size(ft))
private function c_FFT_signal(ft, dt) result(fw)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
ft
real(kind=8)
::
dt
Return Value
complex(kind=8), dimension(size(ft))
private function d_iFFT_signal(fw, dt) result(ft)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
fw
real(kind=8)
::
dt
Return Value
real(kind=8), dimension(size(fw))
private function c_iFFT_signal(fw, dt) result(ft)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
fw
real(kind=8)
::
dt
Return Value
complex(kind=8), dimension(size(fw))
private subroutine d_tfft(func_in, func_out)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
func_in
real(kind=8),
optional,
dimension(size(func_in))
::
func_out
private subroutine c_tfft(func_in, func_out)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
func_in
complex(kind=8),
optional,
dimension(size(func_in))
::
func_out
private subroutine d_itfft(func_in, func_out)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
func_in
real(kind=8),
optional,
dimension(size(func_in))
::
func_out
private subroutine c_itfft(func_in, func_out)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
func_in
complex(kind=8),
optional,
dimension(size(func_in))
::
func_out
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:,:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:,:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:,:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:,:)
::
func
public subroutine rfft_nd_forward (func, N, lot)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
public subroutine cfft_nd_forward (func, n, lot)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
n
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
n
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
public subroutine cost_nd_forward (func, N, lot)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
public subroutine sint_nd_forward (func, N, lot)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
public function rfft_1d_shift (fin) result(fout)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
fin
Return Value
real(kind=8), dimension(size(fin))
public function cfft_1d_shift (fin) result(fout)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
fin
Return Value
complex(kind=8), dimension(size(fin))
public function rfft_1d_ishift (fin) result(fout)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
fin
Return Value
real(kind=8), dimension(size(fin))
public function cfft_1d_ishift (fin) result(fout)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
fin
Return Value
complex(kind=8), dimension(size(fin))
public subroutine rfft_1d_ex (func)
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
func
public subroutine cfft_1d_ex (func)
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
func
Functions
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
fin
Return Value
real(kind=8), dimension(size(fin))
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
fin
Return Value
complex(kind=8), dimension(size(fin))
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
fin
Return Value
real(kind=8), dimension(size(fin))
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
fin
Return Value
complex(kind=8), dimension(size(fin))
Arguments
Type
Intent Optional Attributes
Name
integer
::
L
real(kind=8)
::
dt
Return Value
real(kind=8)
Arguments
Type
Intent Optional Attributes
Name
integer
::
L
real(kind=8)
::
dt
Return Value
real(kind=8)
Arguments
Type
Intent Optional Attributes
Name
integer
::
L
real(kind=8)
::
dt
Return Value
real(kind=8), dimension(L)
Arguments
Type
Intent Optional Attributes
Name
integer
::
L
real(kind=8)
::
dt
real(kind=8),
optional
::
df
Return Value
real(kind=8), dimension(L)
Subroutines
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:,:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:,:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
n
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:,:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:,:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
n
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
intent(inout),
dimension(:)
::
func
integer,
intent(in)
::
N
integer,
intent(in)
::
lot
Arguments
Type
Intent Optional Attributes
Name
real(kind=8),
dimension(:)
::
func
Arguments
Type
Intent Optional Attributes
Name
complex(kind=8),
dimension(:)
::
func