public class FFT extends Object
Constructor and Description |
---|
FFT() |
Modifier and Type | Method and Description |
---|---|
static double[] |
autoCorrelate(double[] signal)
Compute the autocorrelation of a signal, by inverse transformation of its power spectrum.
|
static double[] |
autoCorrelateWithZeroPadding(double[] signal)
Compute the autocorrelation of a signal, by inverse transformation of its power spectrum.
|
static double[] |
computeAmplitudeSpectrum_FD(double[] fft)
From the result of the FFT (in the frequency domain), compute the absolute value for each positive frequency, i.e.
|
static double[] |
computeAmplitudeSpectrum(double[] signal)
Convenience method for computing the absolute amplitude spectrum of a real signal.
|
static double[] |
computeLogAmplitudeSpectrum_FD(double[] fft)
From the result of the FFT (in the frequency domain), compute the log amplitude for each positive frequency.
|
static double[] |
computeLogAmplitudeSpectrum(double[] signal)
Convenience method for computing the log amplitude spectrum of a real signal.
|
static double[] |
computeLogPowerSpectrum_FD(double[] fft)
From the result of the FFT, compute the log (dB) power for each positive frequency.
|
static double[] |
computeLogPowerSpectrum(double[] signal)
Convenience method for computing the log (dB) power spectrum of a real signal.
|
static double[] |
computePhaseSpectrum_FD(double[] fft)
From the result of the FFT (in the frequency domain), compute the phase spectrum for each positive frequency.
|
static double[] |
computePowerSpectrum_FD(double[] fft)
From the result of the FFT (in the frequency domain), compute the power for each positive frequency.
|
static double[] |
computePowerSpectrum(double[] signal)
Convenience method for computing the absolute power spectrum of a real signal.
|
static double[] |
convolve_FD(double[] signal1,
double[] fft2)
Compute the convolution of two signals, by multiplying them in the frequency domain.
|
static double[] |
convolve_FD(double[] signal1,
double[] fft2,
double deltaT)
Compute the convolution of two signals, by multiplying them in the frequency domain.
|
static double[] |
convolve(double[] signal1,
double[] signal2)
Compute the convolution of two signals, by multiplying them in the frequency domain.
|
static double[] |
convolve(double[] signal1,
double[] signal2,
double deltaT)
Compute the convolution of two signals, by multiplying them in the frequency domain.
|
static double[] |
convolveWithZeroPadding(double[] signal1,
double[] signal2)
Compute the convolution of two signals, by multipying them in the frequency domain.
|
static double[] |
convolveWithZeroPadding(double[] signal1,
double[] signal2,
double deltaT)
Compute the convolution of two signals, by multipying them in the frequency domain.
|
static double[] |
correlate(double[] signal1,
double[] signal2)
Compute the correlation of two signals, by multiplying the transform of signal2 with the conjugate complex of the transform
of signal1, in the frequency domain.
|
static double[] |
correlateWithZeroPadding(double[] signal1,
double[] signal2)
Compute the correlation of two signals, by multipying them in the frequency domain.
|
static void |
main(String[] args) |
static void |
realTransform(double[] data,
boolean inverse)
Calculates the Fourier transform of a set of n real-valued data points.
|
static void |
transform(double[] realAndImag,
boolean inverse)
Carry out the FFT or inverse FFT, and return the result in the same arrays given as parameters.
|
static void |
transform(double[] real,
double[] imag,
boolean inverse)
Carry out the FFT or inverse FFT, and return the result in the same arrays given as parameters.
|
public static double[] computeLogPowerSpectrum(double[] signal)
signal
- the real signal for which to compute the power spectrum.public static double[] computeLogPowerSpectrum_FD(double[] fft)
fft
- the array of real and imag parts of the complex number array, fft[0] = real[0], fft[1] = real[N/2], fft[2*i] =
real[i], fft[2*i+1] = imag[i] for 1≤i<N/2public static double[] computePowerSpectrum(double[] signal)
signal
- the real signal for which to compute the power spectrum.public static double[] computePowerSpectrum_FD(double[] fft)
fft
- the array of real and imag parts of the complex number array, fft[0] = real[0], fft[1] = real[N/2], fft[2*i] =
real[i], fft[2*i+1] = imag[i] for 1≤i<N/2public static double[] computeLogAmplitudeSpectrum(double[] signal)
signal
- the real signal for which to compute the power spectrum.public static double[] computeLogAmplitudeSpectrum_FD(double[] fft)
fft
- the array of real and imag parts of the complex number array, fft[0] = real[0], fft[1] = real[N/2], fft[2*i] =
real[i], fft[2*i+1] = imag[i] for 1≤i<N/2public static double[] computeAmplitudeSpectrum(double[] signal)
signal
- the real signal for which to compute the power spectrum.public static double[] computeAmplitudeSpectrum_FD(double[] fft)
fft
- the array of real and imag parts of the complex number array, fft[0] = real[0], fft[1] = real[N/2], fft[2*i] =
real[i], fft[2*i+1] = imag[i] for 1≤i<N/2public static double[] computePhaseSpectrum_FD(double[] fft)
fft
- the array of real and imag parts of the complex number array, fft[0] = real[0], fft[1] = real[N/2], fft[2*i] =
real[i], fft[2*i+1] = imag[i] for 1≤i<N/2public static void transform(double[] real, double[] imag, boolean inverse)
real
- in "forward" FFT: as input=the time-domain signal to transform, as output=the real part of the complex
frequencies; in inverse FFT: as input=the real part of the complex frequencies, as output= the time-domain
signal.imag
- in "forward" FFT: as input=an empty array, as output=the imaginary part of the complex frequencies; in inverse
FFT: as input=the imaginary part of the complex frequencies, as output= not used.inverse
- whether to calculate the FFT or the inverse FFT.public static void transform(double[] realAndImag, boolean inverse)
realAndImag
- the array of complex numbers to transforminverse
- whether to calculate the FFT or the inverse FFT.public static void realTransform(double[] data, boolean inverse)
data
- datainverse
- inversepublic static double[] convolveWithZeroPadding(double[] signal1, double[] signal2, double deltaT)
signal1
- signal 1signal2
- signal 2deltaT
- , the time difference between two samples (= 1/samplingrate)public static double[] convolveWithZeroPadding(double[] signal1, double[] signal2)
signal1
- signal 1signal2
- signal 2public static double[] convolve(double[] signal1, double[] signal2, double deltaT)
signal1
- signal 1signal2
- signal 2deltaT
- , the time difference between two samples (= 1/samplingrate)IllegalArgumentException
- if the two input signals do not have the same length.public static double[] convolve(double[] signal1, double[] signal2)
signal1
- signal 1signal2
- signal 2IllegalArgumentException
- if the two input signals do not have the same length.public static double[] convolve_FD(double[] signal1, double[] fft2, double deltaT)
signal1
- the first input signal, in the time domainfft2
- the complex transform of the second signal, in the frequency domain fft[0] = real[0], fft[1] = real[N/2],
fft[2*i] = real[i], fft[2*i+1] = imag[i] for 1≤i<N/2deltaT
- , the time difference between two samples (= 1/samplingrate)IllegalArgumentException
- if the two input signals do not have the same length.public static double[] convolve_FD(double[] signal1, double[] fft2)
signal1
- the first input signal, in the time domainfft2
- the complex transform of the second signal, in the frequency domain fft[0] = real[0], fft[1] = real[N/2],
fft[2*i] = real[i], fft[2*i+1] = imag[i] for 1≤i<N/2IllegalArgumentException
- if the two input signals do not have the same length.public static double[] correlateWithZeroPadding(double[] signal1, double[] signal2)
signal1
- signal 1signal2
- signal 2public static double[] correlate(double[] signal1, double[] signal2)
signal1
- signal 1signal2
- signal 2IllegalArgumentException
- if the two input signals do not have the same length.public static double[] autoCorrelate(double[] signal)
signal
- signalpublic static double[] autoCorrelateWithZeroPadding(double[] signal)
signal
- signalCopyright © 2000–2016 DFKI GmbH. All rights reserved.