gosfft

module
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 24, 2024 License: MPL-2.0

README

gosfft

Build status Coverage Status Go Report Card

Simple FFT (SFFT) is a simple FFT library that is based on Gonum's FFT routine. It implements a simple interface for 1D, 2D and 3D transforms.

Examples

Below is a selection of examples whoen

1D fourier transform

Fourier transform of a square pulse

Signal 1D Fourier Transform

2D fourier transform

Fourier transform of a square

Signal 2D Fourier Transform

3D fourier transform

Fourier transform of a 3D cube

Parallelization

GOSFFT implements parallel versions of the multidimensional FFTs. In the following testcase a 2D 128 x 128 matrix is Fourier Transformed. The following results where obtained (Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz)

Number of workers Execution time per FFT
1 1.34 ms
2 0.85 ms
4 0.67 ms
8 0.45 ms

The testcase runs a similar test in 3D for 128 x 128 x 128 dataset. The timing results are shown below

Number of workers Execution time per FFT
1 280 ms
2 146 ms
4 87 ms
8 68 ms

Directories

Path Synopsis
cmd
examples
Package sfft provides a set of method to simplify calculations of 2D and 3D FFTs.
Package sfft provides a set of method to simplify calculations of 2D and 3D FFTs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL