## org.das2.qds.math.fft.jnt.RealDoubleFFT

Abstract Class representing FFT's of real, double precision data. Concrete classes are typically named RealDoubleFFT_method, implement the FFT using some particular method.

The physical layout of the mathematical data d[i] in the array data is as follows:

        d[i] = data[i0 + stride*i]

The FFT (D[i]) of real data (d[i]) is complex, but restricted by symmetry:

        D[n-i] = conj(D[i])

It turns out that there are still n `independent' values, so the transformation can still be carried out in-place. However, each Real FFT method tends to leave the real and imaginary parts distributed in the data array in its own unique arrangment.

You must consult the documentation for the specific classes implementing RealDoubleFFT for the details. Note, however, that each class's backtransform and inverse methods understand thier own unique ordering of the transformed result and can invert it correctly.

## RealDoubleFFT( int n )

Create an FFT for transforming n points of real, double precision data.

## backtransform

backtransform( org.das2.qds.math.fft.ComplexArray.Double data ) → void

Compute the (unnomalized) inverse FFT of data, leaving it in place.

### Parameters

data - a ComplexArray.Double

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## backtransform

backtransform( org.das2.qds.math.fft.ComplexArray.Double data, int i0, int stride ) → void

Compute the (unnomalized) inverse FFT of data, leaving it in place.

### Parameters

data - a ComplexArray.Double
i0 - an int
stride - an int

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## inverse

inverse( org.das2.qds.math.fft.ComplexArray.Double data ) → void

Compute the (nomalized) inverse FFT of data, leaving it in place.

### Parameters

data - a ComplexArray.Double

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## inverse

inverse( org.das2.qds.math.fft.ComplexArray.Double data, int i0, int stride ) → void

Compute the (nomalized) inverse FFT of data, leaving it in place.

### Parameters

data - a ComplexArray.Double
i0 - an int
stride - an int

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## normalization

normalization( ) → double

Return the normalization factor. Multiply the elements of the backtransform'ed data to get the normalized inverse.

### Returns:

double
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## transform

transform( org.das2.qds.math.fft.ComplexArray.Double data ) → void

Compute the Fast Fourier Transform of data leaving the result in data.

### Parameters

data - a ComplexArray.Double

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## transform

transform( org.das2.qds.math.fft.ComplexArray.Double data, int i0, int stride ) → void

Compute the Fast Fourier Transform of data leaving the result in data.

### Parameters

data - a ComplexArray.Double
i0 - an int
stride - an int

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]