The unit FOURIER contains the fast Fourier transform (FFT) component TFastFourier.
TFastFourier can transform data sets of up to 16 million samples in both directions and provides several of the most important windowing functions (such as Hamming, Blackman, Cosine Square, Triangle, and others). It calculates the real and imaginary parts (xx and quadrature), the power spectrum, the magnitude and the phase spectrum.
Following is a short table of conversion times obtained with an Athlon CPU (1333 MHz). The conversion times have been measured by transforming a random signal (white noise):
Number of data points |
Conversion time [msec] |
Conversions per Second |
Number of data points |
Conversion time [msec] |
Conversions per Second |
|
---|---|---|---|---|---|---|
1024 | 0.3231 | 3095 | 65536 | 52.7 | 19 | |
2048 | 0.5947 | 1681 | 131072 | 276 | 3.62 | |
4096 | 2.174 | 460 | 262144 | 669 | 1.49 | |
8192 | 3.247 | 308 | 524288 | 1161 | 0.86 | |
16383 | 9.93 | 100 | 1048576 | 3270 | 0.31 | |
32768 | 22.16 | 45.1 |
The unit FOURIER is part of the SDL Component Suite. More details can be found in the online help pages.
FourSynt | ![]() |
foursynt.zip
(304 kB) |
FFT Analysis | ![]() |
fft.zip
(320 kB) |
FTFilter | ![]() |
ftfilter.zip
(283 kB) |
FFT60Hz | Simple program showing how to process a 60 Hz sine signal using the FFT component of unit FOURIER. The program shows both the frequency and the integer harmonics. The signal is sampled at 187500 Hz. Sources of the sample program included. | fft60hz.zip
(286 kB) |
What's new:
- Release 10.7 [Aug-24, 2020]
- no changes
- Release 10.6 [Mar-09, 2018]
- no changes
- Release 10.5 [Oct-10, 2016]
- no changes
- Release 10.4 [Jun-02, 2015]
- no changes
- Release 10.3 [Oct-06, 2014]
- none
- Release 10.2 [May-30, 2013]
- no changes
- Release 10.1 [Oct-29, 2012]
- no changes
- Release 10.0 [Oct-4, 2011]
- no changes
- Release 9.7 [May-31, 2010]
- no changes
- Release 9.51 [Dec-01, 2008]
- no changes
- Release 9.5 [Oct-31, 2008]
- new function LineOfFreq transforms frequencies to spectral line indexes
- Release 9.0 [May-28, 2007]
- no changes
- Release 8.5 [Feb-18, 2006]
- new property WgtFunction allows to specify user-defined weighting functions
- Release 8.2 [Nov-03, 2004]
- Blackman-Harris and Blackman-Nuttall weighting window implemented
- bug fix: Magnitude and FourSerSinCoeff deliver now correct values (bug was introduced with version 8.0)
- Release 8.1 [Aug-29, 2004]
- available for Delphi™ 8 for .NET
- Release 8.0 [Apr-15, 2004]
- DataBuffer is replaced by FData
- Release 7.2 [Mar-23, 2003]
- FOURIER is now part of MathPack
- Release 7.0 [Sep-15, 2002]
- available for Delphi™ 7.0
- the unit is now CLX compatible
- Release 6.5 [May-28, 2002]
- available for C++Builder™ 6.0
- Release 6.0 [Aug-06, 2001]
- available for Delphi™ 6.0
- available for Delphi™ 6.0
- Release 5.5 [May-01, 2000]
- available for C++Builder™ 5.0
- available for C++Builder™ 5.0
- Release 5.0 [Oct-09, 1999]
- FOURIER now available for Delphi™ 5.0 (as part of the SDL Component Suite 5.0)
- bug fix: MagniMax and PowerMax deliver now correct values
- Release 1.4. [Mar-27, 1999]
- Delphi™ 1.0 no longer supported
- bug fix: scaling of Fourier spectrum was wrong
- bug fix: accessing PowerSpec after a resize of the spectrum size no longer creates an floating point error
- indexing scheme of PowerSpec, Magnitude, RMS, and Phase properties changed (index 0 is now constant term, index 1 is first harmonic, etc)
- data array may now contain up to 16 million samples
- Release 1.3. [Aug-17, 1998]
- FOURIER is now available for Delphi™ 4.0
- spectra are now scaled
- new properties Magnitude and MagniMax implemented
- new property Phase
- new function FreqOfLine
- new function RMS
- new properties FourSerSinCoeff and FourSerCosCoeff
- bug fix in PowerSpec: PowerSpec delivered wrong values
- Release 1.2 (Apr-13, 1998)
- FOURIER is now available for all versions of Delphi™ (1.0, 2.0, 3.0), and for C++Builder™ (1.0 and 3.0)
- FOURIER is now available for all versions of Delphi™ (1.0, 2.0, 3.0), and for C++Builder™ (1.0 and 3.0)
- Release 1.1 (Aug-12, 1997) :
- Scaling of Inverse FFT now included
- unit DCommon no longer needed for FOURIER
- Direct access to internal data buffer included