FourierTransform[f[t],t,ω]
gives the symbolic Fourier transform of f[t] in the variable t as F[ω] in the variable ω.
FourierTransform[f[t],t,
]
gives the numeric Fourier transform at the numerical value
.
FourierTransform[f[t1,…,tn],{t1,…,tn},{ω1,…,ωn}]
gives the multidimensional Fourier transform of f[t1,…,tn].
FourierTransform
FourierTransform[f[t],t,ω]
gives the symbolic Fourier transform of f[t] in the variable t as F[ω] in the variable ω.
FourierTransform[f[t],t,
]
gives the numeric Fourier transform at the numerical value
.
FourierTransform[f[t1,…,tn],{t1,…,tn},{ω1,…,ωn}]
gives the multidimensional Fourier transform of f[t1,…,tn].
Details and Options
- The Fourier transform and its inverse are a way to transform between the time domain and the frequency domain.
- Fourier transforms are typically used to reduce ordinary and partial differential equations to algebraic or ordinary differential equations, respectively. They are also used extensively in control theory and signal processing. Finally, they have applications in studying quantum mechanical phenomena, noise filtering, etc.
- The Fourier transform of the time domain function
is the frequency domain function
: - The Fourier transform of a function
is by default defined to be
. - The multidimensional Fourier transform of a function
is by default defined to be
or when using vector notation
. - Different choices of definitions can be specified using the option FourierParameters.
- The integral is computed using numerical methods if the third argument,
, is given a numerical value. - The asymptotic Fourier transform can be computed using Asymptotic.
- There are several related Fourier transformations:
-
FourierTransform infinite continuous-time functions (FT) FourierSequenceTransform infinite discrete-time functions (DTFT) FourierCoefficient finite continuous-time functions (FS) Fourier finite discrete-time functions (DFT) - The Fourier transform is an automorphism in the Schwartz vector space of functions whose derivatives are rapidly decreasing and thus induces an automorphism in its dual: the space of tempered distributions. These include absolutely integrable functions, well-behaved functions of polynomial growth and compactly supported distributions.
- Hence, FourierTransform not only works with absolutely integrable functions, but it can also handle a variety of tempered distributions such as DiracDelta to enlarge the pool of functions or generalized functions it can effectively transform.
- The following options can be given:
-
AccuracyGoal Automatic digits of absolute accuracy sought Assumptions $Assumptions assumptions to make about parameters FourierParameters {0,1} parameters to define the Fourier transform GenerateConditions False whether to generate answers that involve conditions on parameters PerformanceGoal $PerformanceGoal aspects of performance to optimize PrecisionGoal Automatic digits of precision sought WorkingPrecision Automatic the precision used in internal computations - Common settings for FourierParameters include:
-
{0,1} 
default setting/physics {1,-1} 
systems engineering/mathematics {-1,1} 
classical physics {0,-2Pi} 
ordinary frequency {a,b} 
general setting - In TraditionalForm, FourierTransform is output using ℱ. »
Examples
open all close allBasic Examples (6)
Compute the Fourier transform of a function:
FourierTransform[UnitBox[t / 2], t, ω]Plot the function and its Fourier transform:
{Plot[UnitBox[t / 2], {t, -2, 2}, Exclusions -> None], Plot[%, {ω, -10, 10}]}FourierTransform[DiracDelta[t], t, ω]For the systems engineering convention, change the parameters:
FourierTransform[DiracDelta[t], t, ω, FourierParameters -> {1, -1}]The Fourier transform of a Gaussian is another Gaussian:
FourierTransform[E ^ (-t ^ 2), t, ω]{Plot[E ^ (-t ^ 2), {t, -5, 5}, PlotRange -> Full], Plot[%, {ω, -5, 5}, PlotRange -> Full]}Compute the Fourier transform of a multivariate function:
FourierTransform[1 / Sqrt[x ^ 2 + y ^ 2], {x, y}, {u, v}]Plot3D[%, {u, -2, 2}, {v, -2, 2}, PlotRange -> {0, 10}, Mesh -> None]Compute the transform at a single point:
FourierTransform[Exp[-t ^ 6] Sin[t ^ 2], t, 0.3]Scope (44)
Basic Uses (4)
Fourier transform of a function for a symbolic parameter
:
FourierTransform[HeavisideTheta[t], t, ω]Fourier transforms of trigonometric functions:
FourierTransform[Sin[α t], t, ω]FourierTransform[Cos[α t], t, ω]Evaluate the Fourier transform for a numerical value of the parameter
:
FourierTransform[Exp[-t ^ 2 + t], t, 0.3]TraditionalForm formatting:
FourierTransform[f[t], t, ω]//TraditionalFormElementary Functions (8)
Fourier transform of a power function:
FourierTransform[t ^ 2, t, ω]FourierTransform[3t ^ 2 + 5t - 7, t, ω]Fourier transform of rational functions:
FourierTransform[1 / (1 + t ^ 2), t, ω]Plot[%, {ω, -5, 5}]FourierTransform[t / (1 + t ^ 3), t, ω]Plot the real and imaginary parts:
ReImPlot[%, {ω, -4, 4}]FourierTransform[1 / Sqrt[Abs[t]], t, ω]Plot[%, {ω, -5, 5}]Expressions involving trigonometric functions:
FourierTransform[Cos[t] ^ 2, t, ω]FourierTransform[Exp[α t] Sin[ β t], t, ω]FourierTransform[Exp[-t ^ 2] Sin[t], t, ω]FourierTransform[(1/2α)(Sin[α t] + α t Cos[α t]), t, ω]FourierTransform[Sin[t] + Cos[t], t, ω]Ratio of sine and linear function:
FourierTransform[(Sin[3 t]/t), t, ω]Plot[%, {ω, -5, 5}, Exclusions -> None]Composition of elementary functions:
FourierTransform[Sin[t ^ 2], t, ω]Plot[%, {ω, -5, 5}]FourierTransform[Log[Abs[t]], t, ω]Plot[%, {ω, -5, 5}]Special Functions (5)
Sinc function:
FourierTransform[Sinc[t], t, ω]Plot[%, {ω, -5, 5}, Exclusions -> None]Expressions involving Bessel functions:
FourierTransform[BesselJ[2, t], t, ω]Plot[%, {ω, -5, 5}]SinIntegral function:
FourierTransform[SinIntegral[t], t, ω, Assumptions -> -1 < ω < 1]FourierTransform[LaguerreL[5, t], t, ω]FourierTransform[AiryAi[t], t, ω]Plot the magnitude of the Fourier transform for complex
:
Plot3D[Abs[%] /. ω -> a + b I, {a, -5, 5}, {b, -5, 5}]Piecewise Functions and Distributions (7)
Fourier transform of a piecewise function:
f[t_] = Piecewise[{{t, 0 ≤ t ≤ 1}, {1, t > 1}}];
Plot[f[t], {t, 0, 3}]FourierTransform[f[t], t, ω]Absolute value using Sign function:
f[t_] = t Sign[t];
Plot[f[t], {t, -2, 2}]FourierTransform[f[t], t, ω]Restriction of a sine function to a half-period:
Plot[Sin[α t]UnitBox[α t / π] /. α -> π, {t, -1, 1}]Simplify[FourierTransform[Sin[α t]UnitBox[α t / π], t, ω], α > 0]f[t_] = Piecewise[{{t, 0 ≤ t ≤ 1}, {2 - t, 1 < t ≤ 2}, {0, 2 < t }}];
Plot[f[t], {t, 0, 4}]FourierTransform[f[t], t, ω]Ramp:
FourierTransform[Ramp[t - α], t, ω]FourierTransform[UnitStep[t - α], t, ω]Product of UnitStep and cosine functions:
FourierTransform[UnitStep[t - π]Cos[t - π], t, ω]GraphicsRow[{Plot[Abs[%], {ω, -5, 5}, ...], Plot[Arg[%], {ω, -5, 5}, ...]}]Periodic Functions (5)
Fourier transform of SquareWave:
Plot[SquareWave[t], {t, 0, 4}, Exclusions -> None]FourierTransform[SquareWave[t], t, ω]Plot[TriangleWave[t], {t, 0, 4}]FourierTransform[TriangleWave[t], t, ω]Plot[SawtoothWave[t], {t, 0, 6}, Exclusions -> None]FourierTransform[SawtoothWave[t], t, ω]Full-wave-rectified function with period
:
Plot[RealAbs[Sin[t]], {t, -2π, 2π}]FourierTransform[RealAbs[Sin[t]], t, ω]f[t_] = Piecewise[{{Sin[t], 0 ≤ Mod[(t/π), 2] ≤ 1}, {0, 1 < Mod[(t/π), 2] < 2}}];
Plot[f[t], {t, 0, 10}]FourierTransform[f[t], t, ω]Generalized Functions (5)
Fourier transform involving HeavisideTheta:
FourierTransform[HeavisideTheta[t], t, ω]FourierTransform[HeavisideTheta[t] HeavisideTheta[1 - t], t, ω]GraphicsRow[{Plot[Abs[%], {ω, -10, 10}, ...], Plot[Arg[%], {ω, -10, 10}, ...]}]FourierTransform[DiracDelta[t], t, ω]Derivative of DiracDelta:
FourierTransform[DiracDelta'[t], t, ω]Plot[HeavisideLambda[t - 1], {t, 0, 4}]FourierTransform[HeavisideLambda[t - 1], t, ω]Plot[HeavisidePi[t - (3/2)], {t, 0, 3}, Exclusions -> None]FourierTransform[HeavisidePi[t - (3/2)], t, ω]Multivariate Functions (5)
Bivariate Fourier transform of a constant:
FourierTransform[1, {x, y}, {u, v}]FourierTransform[Exp[α x + β y], {x, y}, {u, v}]FourierTransform[Cos[x + y + z], {x, y, z}, {u, v, w}]Product of power and exponential:
FourierTransform[(x y z) ^ 3 Exp[-(x ^ 2 + y ^ 2 + z ^ 2)], {x, y, z}, {u, v, w}]Fourier transform of a product of exponential and SquareWave functions:
Plot3D[E ^ (-Abs[x])SquareWave[y / (2π)], {x, -2π, 2π}, {y, -2π, 2π}, PlotRange -> All, Mesh -> None]FourierTransform[E ^ (-Abs[x]) SquareWave[y / (2 Pi)], {x, y}, {u, v}]Formal Properties (3)
Fourier transform of a first-order derivative:
FourierTransform[f'[t], t, ω]Fourier transform of a second-order derivative:
FourierTransform[f''[t], t, ω]Fourier transform threads itself over equations:
FourierTransform[f'[t] == Log[t], t, ω]Numerical Evaluation (2)
Calculate the Fourier transform at a single point:
FourierTransform[(1/Sqrt[t]), t, -.9]Alternatively, calculate the Fourier transform symbolically:
FourierTransform[(1/Sqrt[t]), t, ω]Then evaluate it for the specific value of
:
N[% /. ω -> -.9]Options (6)
AccuracyGoal (1)
The option AccuracyGoal sets the number of digits of accuracy:
exact = FourierTransform[HeavisideLambda[t - 1], t, -9 / 10]FourierTransform[HeavisideLambda[t - 1], t, -.9, AccuracyGoal -> 5] - exactFourierTransform[HeavisideLambda[t - 1], t, -.9] - exactAssumptions (1)
Specify the range of a variable using Assumptions:
FourierTransform[BesselJ[3, t], t, ω, Assumptions -> -1 < ω < 1 ]FourierTransform[BesselJ[3, t], t, ω, Assumptions -> ω > 1 ]FourierTransform[BesselJ[3, t], t, ω, Assumptions -> ω < -1 ]FourierParameters (1)
Fourier transform for the unit box function with different parameters:
params = {{0, 1}, {1, 1}, {-1, 1}, {0, 2 π}};
funs = funs = Table[FourierTransform[UnitBox[t - (1/2)], t, ω, FourierParameters -> p], {p, params}]Create a nicely formatted table of the results:
header = { "Parameters", HoldForm@FourierTransform[UnitBox[t - (1/2)], t, ω]};
Grid[Prepend[Transpose[{params, funs}], header], IconizedObject[«Grid options»]]//TraditionalFormGenerateConditions (1)
Use GenerateConditionsTrue to get parameter conditions for when a result is valid:
FourierTransform[E ^ (-α t ^ 2), t, ω, GenerateConditions -> True]PrecisionGoal (1)
The option PrecisionGoal sets the relative tolerance in the integration:
exact = FourierTransform[8 / (t ^ 2 + 1), t, 1 / 2]FourierTransform[8 / (t ^ 2 + 1), t, .5, PrecisionGoal -> 15] - exactFourierTransform[8 / (t ^ 2 + 1), t, .5] - exactWorkingPrecision (1)
If WorkingPrecision is specified, the computation is done at that working precision:
exact = FourierTransform[8 / (t ^ 2 + 1), t, 1 / 2]FourierTransform[8 / (t ^ 2 + 1), t, .5, WorkingPrecision -> 18] - exactFourierTransform[8 / (t ^ 2 + 1), t, .5] - exactApplications (11)
Signals and Systems (3)
Find the convolution of signals:
h[t_] := UnitStep[t + 1 / 2] - UnitStep[t - 1 / 2];
x[t_] := Cos[π t];The product of their Fourier transforms:
FourierTransform[h[t], t, ω, FourierParameters -> {1, -1}] * FourierTransform[x[t], t, ω, FourierParameters -> {1, -1}]InverseFourierTransform[%, ω, t, FourierParameters -> {1, -1}]Compare with Convolve:
Convolve[h[τ], x[τ], τ, t]Spectrum of the product of two signals, with one given in the frequency domain by:
Plot[UnitTriangle[ω], {ω, -1.2, 1.2}]The Fourier transform of the signal
:
FourierTransform[Cos[2 t], t, ω, FourierParameters -> {1, -1}]The Fourier transform of the product of
with the original signal is the convolution of its transforms:
1 / 2π Convolve[UnitTriangle[t], % /. ω -> t, t, ω]Plot[%, {ω, -5, 5}]Frequency response of an LTI system defined by an ODE:
eqn = y'[t] + y[t] == x'[t];Apply the Fourier transform over the equation:
FourierTransform[eqn, t, ω]Solve for the Fourier transform of
:
Solve[%, FourierTransform[y[t], t, ω]]The frequency response of the LTI system is the ratio of the Fourier transforms of the output function
over the input function
:
%[[1]][[1, 2]] / FourierTransform[x[t], t, ω]Ordinary Differential Equations (1)
Solve a differential equation using Fourier transforms:
eqn = y'[t] + y[t] == Sin[t];Apply the Fourier transform over the equation:
FourierTransform[eqn, t, ω]Solve for the Fourier transform:
SolveValues[%, FourierTransform[y[t], t, ω]]Find the inverse transform to get the solution:
InverseFourierTransform[%[[1]], ω, t]Compare with DSolveValue:
DSolveValue[{eqn, y[0] == -1 / 2}, y[t], t]Partial Differential Equations (1)
Consider the heat equation:
with initial condition
:
eqn = D[u[x, t], t] == α ^ 2 D[u[x, t], x, x];Fourier transform with respect to
:
FourierTransform[eqn, x, ω]DSolveValue[{D[u1[ω, t], t] == -α^2 ω^2 u1[ω, t], u1[ω, 0] == Subscript[ω, 0]}, u1[ω, t], t]Compute the inverse Fourier transform:
InverseFourierTransform[1 / Sqrt[2 π]E ^ (-ω ^ 2α ^ 2t), ω, x]And convolution to get the solution:
Convolve[(E^-(x^2/4 t α^2)/2 Sqrt[π] Sqrt[t α^2]) /. x -> y, u[y, 0], y, x]Consider the special case with initial condition
and
:
% /. {u[y, 0] -> UnitBox[y], α -> 1}Compare with DSolveValue:
DSolveValue[{eqn /. {α -> 1}, {u[x, 0] == UnitBox[x]}}, u[x, t], {x, t}]Plot the initial conditions and solutions for different values of
:
Plot[{UnitBox[x], Evaluate@Table[%, {t, {.005, .1, .3, .8}}]}, {x, -3, 3}, PlotLegends -> {UnitBox[x], .005, .1, .3, .8}, Exclusions -> None]Plot the solution over the
-
plane.
Plot3D[Evaluate[(1/2) (Erf[(1 - 2 x/4 Sqrt[t])] + Erf[(1 + 2 x/4 Sqrt[t])])], {x, -2, 2}, {t, 0, 1}, ...]Evaluation of Integrals (1)
Calculate the following definite integral:
Inactive[Integrate][(u Cos[t u]/1 + u^2), {u, 0, ∞}]Compute the Fourier transform with respect to
and interchange the order of transform and integration:
Inactive[Integrate][FourierTransform[(u Cos[t u]/1 + u^2), t, ω], {u, 0, ∞}]Activate[%]Use the inverse Fourier transform to get the result:
FullSimplify[InverseFourierTransform[%, ω, t], Assumptions -> t > 0]Compare with Integrate:
Integrate[(u Cos[t u]/1 + u^2), {u, 0, ∞}, Assumptions -> t > 0]Other Applications (5)
The power spectrum of a damped sinusoid:
FourierTransform[Sin[10 ^ 3 t]Exp[-t / 10]UnitStep[t], t, ω]LogLogPlot[Evaluate@Abs[%], {ω, 1*^-1, 1*^5}, PlotRange -> All]The Fourier transform of a radially symmetric function in the plane can be expressed as a Hankel transform. Verify this relation for the function defined by:
f[x_, y_] := (x ^ 2 + y ^ 2) E ^ (-Sqrt[x ^ 2 + y ^ 2])Plot3D[f[x, y], {x, -3, 3}, {y, -3, 3}, PlotRange -> All, Mesh -> False]Compute its Fourier transform:
FourierTransform[f[x, y], {x, y}, {u, v}]Obtain the same result using HankelTransform:
HankelTransform[f[x, y] /. {x -> r Cos[m], y -> r Sin[m]}//Simplify, r, s] /. {s -> Sqrt[u^2 + v^2]}Plot3D[%, {u, -3, 3}, {v, -3, 3}, PlotRange -> All, Mesh -> False]Generate a gallery of Fourier transforms for a list of radially symmetric functions:
flist = {(1/Sqrt[r^2 + 1]), (Cos[2 π r]/r), (1/r), E^-r, BesselJ[0, r]^2, E^-r^2};Compute the Hankel transforms for these functions:
tlist = FullSimplify[HankelTransform[flist, r, s], Assumptions -> 0 < s < 2]Generate the gallery of Fourier transforms as required:
(Grid[#1, Alignment -> {{Right, {Left}}, Center}, Spacings -> 0]&)[Table[{...}, {i, 6}]]Calculate the power spectrum of a stationary OrnsteinUhlenbeckProcess:
FourierTransform[CovarianceFunction[OrnsteinUhlenbeckProcess[μ, σ, θ], h], h, ω, FourierParameters -> {1, 1}, Assumptions -> θ > 0]A quick look at the Heisenberg uncertainty principle:
Consider a fixed-area box function as the position space wavefunction of a particle. Its Fourier transform gives the momentum space wavefunction of the particle:
Simplify[FourierTransform[1 / Sqrt[2α]UnitBox[x / (2α)], x, k, Assumptions -> α∈PositiveIntegers], α∈PositiveIntegers]When
is small, the height of the fixed-area box is big, and the position of the particle is almost guaranteed. The momentum space wavefunction is approximately
for values between its two roots closest to zero, which makes it almost impossible to find its momentum. Similarly, vice versa, as seen here:
Manipulate[GraphicsRow[{Plot[1 / Sqrt[2α]UnitBox[x / (2α)], {x, -6.1, 6.1}, ...], Plot[...]}], ...]Properties & Relations (6)
By default, the Fourier transform of
is:
HoldForm[FourierTransform[f[t], t, ω] = HoldForm[1 / Sqrt[2π]] * Integrate[f[t]E ^ (I ω t), {t, -∞, ∞}]]//TraditionalFormFor
, the definite integral becomes:
1 / Sqrt[2π]Integrate[Exp[-t ^ 2]Cos[t]Exp[I ω t], {t, -∞, ∞}]//FullSimplifyCompare with FourierTransform:
FourierTransform[Exp[-t ^ 2]Cos[t], t, ω]//TrigToExp//Factor//SimplifyUse Asymptotic to compute an asymptotic approximation:
Asymptotic[Inactive[FourierTransform][E ^ (-t ^ 2 - t ^ 4), t, x], x -> 0]FourierTransform and InverseFourierTransform are mutual inverses:
InverseFourierTransform[FourierTransform[f[t], t, ω], ω, t]FourierTransform[InverseFourierTransform[G[ ω], ω, t], t, ω]FourierTransform[1 / (t ^ 2 + 1), t, ω]InverseFourierTransform[%, ω, t]FourierTransform and FourierCosTransform are equal for even functions:
FourierTransform[Exp[-t ^ 2], t, ω]FourierCosTransform[Exp[-t ^ 2], t, ω ]FourierTransform and FourierSinTransform differ by for odd functions:
FourierSinTransform[t Exp[-Abs[t]], t, ω]FourierTransform[t Exp[-Abs[t]], t, ω]Possible Issues (1)
Neat Examples (2)
The Fourier transforms of weighted Hermite polynomials have a very simple form:
FourierTransform[Exp[-t ^ 2]HermiteH[10, t], t, ω]InverseFourierTransform[%, ω, t]//FactorCreate a table of basic Fourier transforms:
flist = {t ^ n, E ^ (a t), E ^ (-a t), Exp[-t ^ 2], Sin[a t], t Sin[a t], Sinc[t], DiracDelta[t - a], Log[Abs[t]], UnitStep[t], UnitBox[t], BesselJ[2, a t], BesselY[0, Abs[t]]};Grid[Prepend[{#, Assuming[{a > 0}, Simplify[FourierTransform[#1, t, ω]]]}& /@ flist, {f[t], FourierTransform[f[t], t, ω]}], IconizedObject[«Grid options»]]//TraditionalFormTech Notes
Related Guides
History
Introduced in 1999 (4.0) | Updated in 2025 (14.2)
Text
Wolfram Research (1999), FourierTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/FourierTransform.html (updated 2025).
CMS
Wolfram Language. 1999. "FourierTransform." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/FourierTransform.html.
APA
Wolfram Language. (1999). FourierTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FourierTransform.html
BibTeX
@misc{reference.wolfram_2026_fouriertransform, author="Wolfram Research", title="{FourierTransform}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/FourierTransform.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_fouriertransform, organization={Wolfram Research}, title={FourierTransform}, year={2025}, url={https://reference.wolfram.com/language/ref/FourierTransform.html}, note=[Accessed: 13-June-2026]}