Package org.opensourcephysics.analysis
Class FourierSinCosAnalysis
java.lang.Object
org.opensourcephysics.analysis.FourierSinCosAnalysis
- All Implemented Interfaces:
Data
FourierAnalysis adds gutter points to real data before performing a fast
Fourier transform. Gutter points increase the number points in order to
approximate a nonperiodic function.
The FFT output is phase shifted to account for the fact that the FFT basis
functions are defined on [0, 2*pi].
- Version:
- 1.0
- Author:
- W. Christian
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondouble[]
doAnalysis
(double[] x, double[] y, int gutter) Fourier analyzes the given data y[] after adding gutter points at the start and end of the z[] array.String[]
The column names to be used in the data display tooldouble[][]
Gets the frequencies, power, cos, and sin coefficients.double[][][]
3D data is not available.Some elements (a Group, for instance) do not contain data, but a list of subelements which do.Gets the datasets that contain the result of the last Fourier analysis.Color[]
Fill colors for Data interface.int
getID()
Returns a unique identifier for this Data.Color[]
Line colors for Data interface.getName()
Gets the dataset name.double[]
Gets the frequencies of the Fourier spectrum.double[]
Gets the angular frequencies of the Fourier spectrum.boolean
Gets the radians flag.double[]
repeatAnalysis
(double[] y) Repeats the Fourier analysis of the real data y[] with the previously set scale and gutter.void
setID
(int id) Sets the ID number of this Data.void
Sets a name that can be used to identify the dataset.void
useRadians
(boolean radians) Sets the radians flag for the frequency values of datasets.
-
Field Details
-
datasetID
protected int datasetID
-
-
Constructor Details
-
FourierSinCosAnalysis
public FourierSinCosAnalysis()
-
-
Method Details
-
doAnalysis
public double[] doAnalysis(double[] x, double[] y, int gutter) Fourier analyzes the given data y[] after adding gutter points at the start and end of the z[] array.- Parameters:
x
- double[]y
- double[]gutter
- int- Returns:
- double[] the Fourier spectrum
-
getDataList
Some elements (a Group, for instance) do not contain data, but a list of subelements which do. This method is used by Data displaying tools to create as many pages as needed.- Specified by:
getDataList
in interfaceData
- Returns:
- A list of DataInformation elements, null if the element itself is a DataInformation
-
repeatAnalysis
public double[] repeatAnalysis(double[] y) Repeats the Fourier analysis of the real data y[] with the previously set scale and gutter.- Parameters:
y
- double[]- Returns:
- double[] the Fourier sin/cos coefficients
-
getNaturalOmega
public double[] getNaturalOmega()Gets the angular frequencies of the Fourier spectrum.- Returns:
- double[]
-
getNaturalFreq
public double[] getNaturalFreq()Gets the frequencies of the Fourier spectrum.- Returns:
- double[]
-
useRadians
public void useRadians(boolean radians) Sets the radians flag for the frequency values of datasets. Dataset x-values are either frequencies (cycles) or angular frequencies (radians) depending on the value of the radians flag.- Parameters:
radians
- boolean
-
isRadians
public boolean isRadians()Gets the radians flag. Radians is true if the dataset uses angular frequency as the x-coordinate.- Returns:
- boolean
-
getDatasets
Gets the datasets that contain the result of the last Fourier analysis. The power spectrum is contained in the first dataset. Sine coefficients are contained in the second dataset. Cosine coefficients are in the third dataset. Dataset x-values are either frequencies (cycles) or angular frequencies (radians) depending on the value of the radians flag.- Specified by:
getDatasets
in interfaceData
- Returns:
- list of Datasets
-
setName
Sets a name that can be used to identify the dataset.- Parameters:
name
- String
-
getColumnNames
The column names to be used in the data display tool- Specified by:
getColumnNames
in interfaceData
- Returns:
-
getName
Gets the dataset name. -
getLineColors
Line colors for Data interface.- Specified by:
getLineColors
in interfaceData
- Returns:
-
getFillColors
Fill colors for Data interface.- Specified by:
getFillColors
in interfaceData
- Returns:
-
getData2D
public double[][] getData2D()Gets the frequencies, power, cos, and sin coefficients. -
getData3D
public double[][][] getData3D()3D data is not available. -
setID
public void setID(int id) Sets the ID number of this Data. -
getID
public int getID()Returns a unique identifier for this Data.
-