Fast Fourier Transforms

C# FFT

FFT refers to Fast Fourier Transforms.

NMath from CenterSpace Software is a .NET class library that provides general vector and matrix classes, complex number classes, numerical integration and differentiation methods, minimization and root finding classes, along with correlation, convolution, and fast fourier transform classes for signal processing.

Periodogram of sun spot data.
Periodogram of sunspot data.

The NMath fast fourier transform framework contains classes for both 1D and 2D FFT’s in both single and double precision. Further, NMath contains classes for forward, backward, real or complex FFT’s, all of which efficiently support arbitrary length input data. All FFT implementations use best in class algorithms for excellent performance on single and multicore machines. Ease of use and memory efficiency are achieved by using standard symmetric signal compression for forward real FFT’s while providing reader classes that make reading compressed results as easy as iterating through an array. The performance of the NMath FFT algorithms is world class (see blog article for numbers) and perform optimally on Intel processors. This functionality can be used from any .NET language including VB.NET and F#.

Fast Fourier Transform Documentation

Complete documentation for all NMath libraries is available online. For general background on the FFT class library, see the FFT chapter the NMath Users’s Guide.

API documentation for the FFT classes is available in the NMath Reference Guide, outlined in the table below. Note that all FFT classes are also available in the analogous single precision form.  Compute only with the precision needed as the single precision FFT classes can be more than twice as fast as the double precision classes.

Class
Description
Computes double precision, real, forward, FFT’s in 1 and 2 dimensions.
Computes double precision, complex, forward and backward FFT’s in 1 and 2 dimensions.
Computes backward, real, FFT’s of a symmetric signals, generated by a forward real 1D FFT.
An advanced, flexible, 1D FFT class which can operate on offset and strided data sets.
A FFT configuration class used to configure the general FFT classes.
Helper classes, generated and returned by the real forward FFT classes themselves, to aid in reading compact complex-conjugate symmetric signals.

Fast Fourier Transform Code Examples

All NMath libraries include extensive code examples in both C# and Visual Basic.NET. Studying these examples is one of the best ways to learn how to use NMath libraries. For more information on the NMath FFT classes, download and try out these examples:

  • Examples using the 1D FFT classes [C#]  [VB.NET]
  • Examples using the 2D FFT classes [C#]  [VB.NET]

Try a Free Evaluation

If you are interested in evaluating the FFT classes in NMath, we offer a free trial version, for a 30-day evaluation period. This trial version is a fully featured distribution of NMath with no limitations. In only a few minutes you can be enjoying the power of NMath.

Buy Now

Orders may be placed through our secure online store. Our sales staff would be happy to help you with any questions that you may have about our products.  We are looking forward to working with you!
Top