Top Questions

What is the primary advantage of the fast Fourier transform?

What are some applications of fast Fourier transforms?

How does the fast Fourier transform simplify the computation of a discrete Fourier transform?

What are the two categories of fast Fourier transforms?

fast Fourier transform (FFT), an algorithm for calculating the discrete Fourier transform (DFT), which reduces the number of computations needed for an N-point transform from N2 to N log2(N). FFTs have applications in electrical engineering, digital signal processing, neural networks, and radio interferometry.

FFTs were first conceptualized by mathematician Carl Friedrich Gauss in 1805, but his notes on the topic were published after his death, and only in the 1970s did historians realize that he had described an FFT. The first published work on the FFT as a means to calculate the DFT was by James W. Cooley and John W. Tukey in 1965.

Background

A Fourier transform breaks down a signal in the time domain (that is, a signal that changes with time) into its constituent frequencies. It thus represents the signal in the frequency domain, giving the phase and amplitude of each frequency component in the original signal.

The Fourier transform of a signal function f(x) is calculated as F ( ω ) = f ( x ) e i ω x d x ,

where i is the square root of −1, ω is the frequency of the signal, and eiωx = cos(ωx) − sin(ωx). The Fourier transform of a function f(x) is written as F(ω). This transform is also called the continuous Fourier transform, because it applies to continuous signals.

When a signal is discrete and periodic, the discrete Fourier transform (DFT) can be applied instead. This simplifies the integral transform to a summation transform, as below for a signal an: A k = n = 0 N - 1 a n e - 2 π i k n / N

A DFT is computationally intensive. To calculate the DFT of the signal an over the domain N, each of its values is multiplied by e raised to a function of n, and then the results are summed. This would require N multiplications times N additions, for a total of N2 operations.

Are you a student?
Get a special academic rate on Britannica Premium.

When the number of operations is small, the computation runs quickly, but for a large number of operations the computation can take decades. If N is 109, then 1018 operations are needed. At 1 nanosecond per operation, the computation would take 31.7 years.

Concept

The FFT reduces the computation time of a DFT from N2 operations to N log2(N) operations. For the example above, the FFT would need only 29.9 seconds of computation.

The FFT simplifies the computation by using symmetries in the calculation of the transform. By dividing the summation into smaller sequences, it performs calculations in parallel, significantly reducing the number of computations needed. In its simplest form, called the 2-point DFT, the series is split into odd and even sequences, and the transform is calculated on each in parallel before the results are combined, bringing down the calculation time by a factor of 2 (the combination step takes up negligible computational time as compared with the transforms). Extending this approach, the series can be split further and further, reducing it to groups of two and applying the DFT to each pair. The FFT is fastest when N is a power of 2, allowing for a symmetrical split of sequences for calculation. If N is not a power of 2, the FFT can be run by using a set of points corresponding to the prime factors of N, which is slightly slower.

FFTs fall into two categories: decimation in time, wherein the input elements are first rearranged in bit-reversed order before calculating the output transform, and decimation in frequency, wherein the transform precedes the rearrangement of output values.

Applications

The FFT has applications in precision arithmetic, such as calculating an irrational number to 100 decimal places and multiplying high-degree polynomials, because it helps bring down computation time.

FFTs are extensively used in signal processing, in which they extract information from modulated radio frequency signals. In radar systems, FFTs enable accurate tracking and target detection through faster pulse compression and improved range resolution. FFTs allow for improved wireless data transmission speeds by converting signal data into subcarriers that are orthogonal in the frequency domain, reducing interference. FFTs are also used in signal filtering, noise analysis, and evaluation of antennas. FFT processors are popular components in the very-large-scale integration (VLSI) design of semiconductor chips.

Arrays of radio telescopes use interferometry to gather astronomical data. Each interferometer pair measures one “Fourier component” of the brightness distribution of the radio source. The laborious computational task of doing Fourier transforms to identify frequency components and obtain images from the interferometer data is accomplished with high-speed computers and the FFT.

FFTs have also been used in machine learning as well as improving the computational efficiency of neural networks, which find application in such tasks as image classification, image restoration, and object detection.

Sanat Pai Raikar

function, in mathematics, an expression, rule, or law that defines a relationship between one variable (the independent variable) and another variable (the dependent variable). Functions are ubiquitous in mathematics and are essential for formulating physical relationships in the sciences. The modern definition of function was first given in 1837 by the German mathematician Peter Dirichlet:

If a variable y is so related to a variable x that whenever a numerical value is assigned to x, there is a rule according to which a unique value of y is determined, then y is said to be a function of the independent variable x.

This relationship is commonly symbolized as y = f(x)—which is said “f of x”—and y and x are related such that for every x, there is a unique value of y. That is, f(x) can not have more than one value for the same x. To use the language of set theory, a function relates an element x to an element f(x) in another set. The set of values of x is called the domain of the function, and the set of values of f(x) generated by the values in the domain is called the range of the function. In addition to f(x), other abbreviated symbols such as g(x) and P(x) are often used to represent functions of the independent variable x, especially when the nature of the function is unknown or unspecified.

Common functions

Many widely used mathematical formulas are expressions of known functions. For example, the formula for the area of a circle, A = πr2, gives the dependent variable A (the area) as a function of the independent variable r (the radius). Functions involving more than two variables (called multivariable or multivariate functions) also are common in mathematics, as can be seen in the formula for the area of a triangle, A = bh/2, which defines A as a function of both b (base) and h (height). In these examples, physical constraints force the independent variables to be positive numbers. When the independent variables are also allowed to take on negative values—thus, any real number—the functions are known as real-valued functions.

The formula for the area of a circle is an example of a polynomial function. The general form for such functions is P(x) = a0 + a1x + a2x2+⋯+ anxn, where the coefficients (a0, a1, a2,…, an) are given, x can be any real number, and all the powers of x are counting numbers (1, 2, 3,…). (When the powers of x can be any real number, the result is known as an algebraic function.) Polynomial functions have been studied since the earliest times because of their versatility—practically any relationship involving real numbers can be closely approximated by a polynomial function. Polynomial functions are characterized by the highest power of the independent variable. Special names are commonly used for such powers from one to five—linear, quadratic, cubic, quartic, and quintic for the highest powers being 1, 2, 3, 4, and 5, respectively.

Italian-born physicist Dr. Enrico Fermi draws a diagram at a blackboard with mathematical equations. circa 1950.
Britannica Quiz
Define It: Math Terms

Polynomial functions may be given geometric representation by means of analytic geometry. The independent variable x is plotted along the x-axis (a horizontal line), and the dependent variable y is plotted along the y-axis (a vertical line). When the graph of a relation between x and y is plotted in the x-y plane, the relation is a function if a vertical line always passes through only one point of the graphed curve; that is, there would be only one point f(x) corresponding to each x, which is the definition of a function. The graph of the function then consists of the points with coordinates (x, y) where y = f(x). For example, the graph of the cubic equation f(x) = x3 − 3x + 2 is shown in the figure.

Another common type of function that has been studied since antiquity is the trigonometric functions, such as sin x and cos x, where x is the measure of an angle (see figure). Because of their periodic nature, trigonometric functions are often used to model behaviour that repeats, or “cycles.”

Are you a student?
Get a special academic rate on Britannica Premium.

The exponential function is a relation of the form y = ax, with the independent variable x ranging over the entire real number line as the exponent of a positive number a. Probably the most important of the exponential functions is y = ex, sometimes written y = exp (x), in which e (2.7182818…) is the base of the natural system of logarithms (ln). By definition x is a logarithm, and there is thus a logarithmic function that is the inverse of the exponential function. Specifically, if y = ex, then x = ln y. Nonalgebraic functions, such as exponential and trigonometric functions, are also known as transcendental functions.

Complex functions

Practical applications of functions whose variables are complex numbers are not so easy to illustrate, but they are nevertheless very extensive. They occur, for example, in electrical engineering and aerodynamics. If the complex variable is represented in the form z = x + iy, where i is the imaginary unit (the square root of −1) and x and y are real variables (see figure), it is possible to split the complex function into real and imaginary parts: f(z) = P(x, y) + iQ(x, y).