Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.Distributed.Cuda
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.FSharp
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.Generic.LinearAlgebra
    • Extreme.Mathematics.Generic.LinearAlgebra.Implementation
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers
    • Extreme.Mathematics.Generic.SignalProcessing
    • Extreme.Mathematics.Implementation
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Complex
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IO
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.LinearAlgebra.Providers
    • Extreme.Mathematics.LinearAlgebra.Sparse
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.Genetic
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Numerics.FSharp
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.IO
    • Extreme.Statistics.Linq
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Random
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics.SignalProcessing
    • ComplexConjugateSignalMatrix Class
    • ComplexConjugateSignalMatrix(T) Class
    • ComplexConjugateSignalVector Class
    • ComplexConjugateSignalVector(T) Class
    • Fft Class
    • Fft(T) Class
    • Fft2D Class
    • Fft2D(T) Class
    • FftBase Class
    • FftBase(T) Class
    • FftDomain Enumeration
    • FftProvider Class
    • FftProvider(T) Class
    • Filter Class
    • ManagedFft Class
    • ManagedFft2D Class
    • ManagedFft2DOfSingle Class
    • ManagedFftOfSingle Class
    • ManagedFftProvider Class
    • ManagedFftProviderOfSingle Class
    • Padding Enumeration
    • RealFftFormat Enumeration
    • SingleComplexConjugateSignalMatrix Class
    • SingleComplexConjugateSignalVector Class
    • SingleFft Class
    • SingleFft2D Class
    • SingleFftBase Class
    • SingleFftProvider Class
    • SingleManagedFft Class
    • SingleManagedFft2D Class
    • SingleManagedFftProvider Class
    • Smoothing Class
    • WindowFunction Class
    • WindowFunctions Class
    • WindowSampling Enumeration
  • Fft Class
    • Fft Constructor
    • Fft Properties
    • Methods
Fft ClassExtreme Optimization Numerical Libraries for .NET Professional
Represents a discrete one-dimensional Fourier Transform implementation.
Inheritance Hierarchy

SystemObject
  Extreme.Mathematics.SignalProcessingFftBaseDouble
    Extreme.Mathematics.SignalProcessingFft
      Extreme.Mathematics.SignalProcessingManagedFft

Namespace: Extreme.Mathematics.SignalProcessing
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
Syntax

C#
VB
C++
F#
Copy
public abstract class Fft : FftBase<double>
Public MustInherit Class Fft
	Inherits FftBase(Of Double)
public ref class Fft abstract : public FftBase<double>
[<AbstractClassAttribute>]
type Fft =  
    class
        inherit FftBase<float>
    end

The Fft type exposes the following members.

Constructors

  NameDescription
Protected methodFft
Constructs a new FFT transform implementation.
Top
Properties

  NameDescription
Public propertyBackwardScaleFactor
Gets or sets the scale factor used in forward transforms.
(Inherited from FftBaseT.)
Public propertyBackwardScaleFactor
Gets or sets the scale factor used in forward transforms.
(Inherited from FftBase.)
Public propertyCommitted
Gets whether the FFT implementation has committed to its current property values.
(Inherited from FftBaseT.)
Public propertyDimension
Gets or sets the dimension of the FFT.
(Inherited from FftBaseT.)
Public propertyDomain
Gets or sets the domain of the FFT.
(Inherited from FftBaseT.)
Public propertyForwardScaleFactor
Gets or sets the scale factor used in forward transforms.
(Inherited from FftBaseT.)
Public propertyForwardScaleFactor
Gets or sets the scale factor used in forward transforms.
(Inherited from FftBase.)
Public propertyInPlace
Gets or sets whether the transform should be performed in place.
(Inherited from FftBaseT.)
Top
Methods

  NameDescription
Public methodBackwardTransform(ComplexConjugateSignalVector)
Computes the discrete Fourier transform of a real signal and returns the result.
Public methodBackwardTransform(ComplexVector)
Computes the discrete Fourier transform of a complex signal and returns the result..
Public methodBackwardTransform(ArraySliceDoubleComplex, ArraySliceDoubleComplex)
Computes the discrete Fourier transform of a complex signal.
Public methodBackwardTransform(ArraySliceDoubleComplex, ArraySliceDouble)
Computes the discrete Fourier transform of a real signal.
Public methodBackwardTransform(ComplexConjugateSignalVector, DenseVector)
Computes the discrete Fourier transform of a real signal.
Public methodBackwardTransform(ComplexDenseVector, ComplexDenseVector)
Computes the discrete Fourier transform of a complex signal.
Public methodBackwardTransform(ComplexVector, ComplexVector)
Computes the discrete Fourier transform of a complex signal.
Public methodBackwardTransform(ComplexVector, Vector)
Computes the discrete Fourier transform of a real signal.
Public methodBackwardTransform(ComplexVector, Vector, RealFftFormat)
Computes the inverse discrete Fourier transform of a real signal.
Public methodBackwardTransformInPlace(ArraySliceDoubleComplex)
Computes the inverse discrete Fourier transform of a complex signal in place.
Public methodBackwardTransformInPlace(ComplexDenseVector)
Computes the inverse discrete Fourier transform of a complex signal in place.
Public methodBackwardTransformInPlace(ComplexVector)
Computes the inverse discrete Fourier transform of a complex signal in place.
Protected methodCommit
Commits the implementation.
(Inherited from FftBaseT.)
Public methodStatic memberCreateComplex
Creates a Fast Fourier Transformer for one-dimensional real data.
Public methodStatic memberCreateReal
Creates a Fast Fourier Transformer for one-dimensional real data.
Public methodDispose
Implements the IDisposable interface.
(Inherited from FftBaseT.)
Protected methodDispose(Boolean)
Implements the Dispose pattern.
(Inherited from FftBaseT.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodForwardTransform(ComplexVector)
Computes the discrete Fourier transform of a complex signal and returns the result.
Public methodForwardTransform(Vector)
Computes the discrete Fourier transform of a real signal and returns the result.
Public methodForwardTransform(ArraySliceDoubleComplex, ArraySliceDoubleComplex)
Computes the discrete Fourier transform of a complex signal.
Public methodForwardTransform(ArraySliceDouble, ArraySliceDoubleComplex)
Computes the discrete Fourier transform of a real signal.
Public methodForwardTransform(ComplexDenseVector, ComplexDenseVector)
Computes the discrete Fourier transform of a complex signal.
Public methodForwardTransform(ComplexVector, ComplexVector)
Computes the discrete Fourier transform of a complex signal.
Public methodForwardTransform(DenseVector, ComplexConjugateSignalVector)
Computes the discrete Fourier transform of a real signal.
Public methodForwardTransform(Vector, ComplexVector)
Computes the discrete Fourier transform of a real signal.
Public methodForwardTransform(Vector, ComplexVector, RealFftFormat)
Computes the discrete Fourier transform of a real signal.
Public methodForwardTransformInPlace(ArraySliceDoubleComplex)
Computes the discrete Fourier transform of a complex signal in place.
Public methodForwardTransformInPlace(ComplexDenseVector)
Computes the discrete Fourier transform of a complex signal in place.
Public methodForwardTransformInPlace(ComplexVector)
Computes the discrete Fourier transform of a complex signal in place.
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetLength
Returns the length of the transform for the specified dimension.
(Inherited from FftBaseT.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

Use the Fft class to perform one or more discrete Fourier Transforms of a specific length. An FFT implementation must be created for each length of FFT and domain. The FftDomain property is an FftDomain value and can be real or complex. The length is an integer greater than 0. It can be accessed through the [!:FftBase`1.GetLength] method.

Some implementations use unmanaged resources. To ensure that all resources are released properly, you should call the [!:FftBase`1.Dispose()] method when you are done with the object.

This class is abstract and cannot be instantiated. Instead, use one of the methods of an FftProvider to construct an Fft object from that provider.

Version Information

Numerical Libraries

Supported in: 5.x, 4.x
See Also

Reference

Extreme.Mathematics.SignalProcessing Namespace

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2018, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.