visualisation
Class FourierTransform

java.lang.Object
  extended by visualisation.FourierTransform

public class FourierTransform
extends java.lang.Object

Hilfsklasse mit Methoden zur Durchführung der FFT und IFFT (Rücktransformation).

Author:
Michael Steppat

Constructor Summary
FourierTransform()
           
 
Method Summary
 void fft(float[] xr, float[] xi, int n)
          Aufruf der FFT.
 void ifft(float[] xr, float[] xi, int n)
          Aufruf der inversen FFT (Rücktransformation).
private  void inversion(float[] xr, float[] xi, int n)
          Sortierung der Eingabewerte
private  void transform(float[] xr, float[] xi, int n, int typ)
          Durchführung der Transformation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FourierTransform

public FourierTransform()
Method Detail

fft

public void fft(float[] xr,
                float[] xi,
                int n)
Aufruf der FFT. Die Transformation ist eine in-place-transformation. Daher werden die Werte in den Eingabepuffern xr, xi mit den Ausgabewerten überschrieben.

Parameters:
xr - Samples der Zeitfunktion (Eingabe), Reelle Spektralwerte (Ausgabe)
xi - Bei der Eingabe sind alle Werte 0, Imaginäre Spektralwerte (Ausgabe)
n - Anzahl der Stützstellen (muss eine Zweierpotenz sein)

ifft

public void ifft(float[] xr,
                 float[] xi,
                 int n)
Aufruf der inversen FFT (Rücktransformation). Die Transformation ist eine in-place-transformation. Daher werden die Werte in den Eingabepuffern xr, xi mit den Ausgabewerten überschrieben.

Parameters:
xr - Reelle Spektralwerte (Eingabe), Zeitfunktion (Ausgabe)
xi - Imaginäre Spektralwerte (Eingabe), Nullfolge (Ausgabe)
n - Anzahl der Stützstellen (muss eine Zweierpotenz sein)

inversion

private void inversion(float[] xr,
                       float[] xi,
                       int n)
Sortierung der Eingabewerte

Parameters:
xr - Reelle Ein- und Ausgabewerte
xi - Imaginäre Ein- und Ausgabewerte
n - Anzahl der Stützstellen (muss eine Zweierpotenz sein)

transform

private void transform(float[] xr,
                       float[] xi,
                       int n,
                       int typ)
Durchführung der Transformation

Parameters:
xr - Reelle Ein- und Ausgabewerte
xi - Imaginäre Ein- und Ausgabewerte
n - Anzahl der Stützstellen (muss eine Zweierpotenz sein)
typ - 0 für FFT, 1 für IFFT