BilateralZTransform[expr,n,z]
gives the bilateral Z transform of expr.
BilateralZTransform[expr,{n1,…,nk},{z1,…,zk}]
gives the multidimensional bilateral Z transform of expr.
BilateralZTransform
BilateralZTransform[expr,n,z]
gives the bilateral Z transform of expr.
BilateralZTransform[expr,{n1,…,nk},{z1,…,zk}]
gives the multidimensional bilateral Z transform of expr.
Details and Options
- The bilateral Z transform is the discrete analog of the bilateral Laplace transform and plays an important role in digital signal processing and other fields.
- The bilateral Z transform for a discrete function
is given by
. - The multidimensional bilateral Z transform is given by
. - The sum is computed using numerical methods if the third argument, z, is given a numerical value.
- The bilateral Z transform of
exists only for complex values of
in an annulus given by
. In some cases, the annulus of definition may extend to the exterior or the interior of a disk. - The following options can be given:
-
AccuracyGoal Automatic digits of absolute accuracy sought Assumptions $Assumptions assumptions to make about parameters GenerateConditions True whether to generate answers that involve conditions on parameters Method Automatic method to use PerformanceGoal $PerformanceGoal aspects of performance to optimize PrecisionGoal Automatic digits of precision sought WorkingPrecision Automatic the precision used in internal computations
Examples
open all close allBasic Examples (2)
Define an exponentially decaying sequence:
x[n_] := 2^-Abs[n]Compute its bilateral Z transform:
BilateralZTransform[x[n], n, z]Compute the transform at a single point:
BilateralZTransform[x[n], n, 1.2]Compute the bilateral Z transform of a multivariate function:
BilateralZTransform[UnitStep[n]UnitStep[-m], {n, m}, {z, w}]Scope (8)
Bilateral Z transform of the UnitStep function:
BilateralZTransform[UnitStep[n], n, z]BilateralZTransform[5^-nUnitStep[-n - 1], n, z]Combination of power functions:
x[n_] := 25(1 / 3)^nUnitStep[n] - (1 / 2)^nUnitStep[n + 5]DiscretePlot[x[n], {n, -10, 10}, PlotRange -> All]BilateralZTransform[x[n], n, z]ComplexPlot[%, {z, -1 - I, 1 + I}, Rule[...]]{BilateralZTransform[DiscreteDelta[n], n, z],
BilateralZTransform[DiscreteDelta[n - 1], n, z],
BilateralZTransform[DiscreteDelta[n + 1], n, z]}Discrete-time, finite support function:
x[n_] := Piecewise[{{a^n, -4 ≤ n ≤ 4}}]BilateralZTransform[x[n], n, z]BilateralZTransform[2^nSin[n 5 Pi / 3]UnitStep[n], n, z]ComplexPlot[%, {z, -3 - 3I, 3 + 3I}, Rule[...]]Calculate the bilateral Z transform at a single point:
BilateralZTransform[n 2^-Abs[n], n, -0.6]Alternatively, calculate the transform symbolically:
BilateralZTransform[n 2^-Abs[n], n, z]Then evaluate it for a specific value of
:
% /. z -> -0.6For some functions, the bilateral Z transform can be evaluated only numerically:
F[z_ ? NumericQ] := BilateralZTransform[(Exp[-n^2]/Cos[n]^2 + 1), n, z]F[3.4]Plot the bilateral Z transform using numerical values only:
DiscretePlot[F[k / 100.], {k, -150, 150}, PlotRange -> {-1, 5}]Options (3)
Assumptions (1)
Specify the range for a parameter using Assumptions:
BilateralZTransform[2^k * Abs[n], n, z, Assumptions -> k < 0]GenerateConditions (1)
Set GenerateConditions to False to obtain a result without conditions:
BilateralZTransform[5^nUnitStep[n]Mod[n, 2], n, z, GenerateConditions -> False]WorkingPrecision (1)
Use WorkingPrecision to obtain a result with arbitrary precision:
BilateralZTransform[2^-Abs[10n - 1] + 2Cos[Cos[n]], n, 31 / 5.]BilateralZTransform[2^-Abs[10n - 1] + 2Cos[Cos[n]], n, 31 / 5, WorkingPrecision -> 10]BilateralZTransform[2^-Abs[10n - 1] + 2Cos[Cos[n]], n, 31 / 5, WorkingPrecision -> 20]Applications (2)
Define finite duration signals:
x1[n_] := DiscreteDelta[n] - 2DiscreteDelta[n - 1] + DiscreteDelta[n - 2]
x2[n_] := Piecewise[{{1, 0 <= n <= 5}}]Plot the signals in the time domain:
DiscretePlot[{x1[n], x2[n]}, {n, 0, 5}]To find the convolution, first calculate the product of the transforms:
BilateralZTransform[x1[n], n, z]BilateralZTransform[x2[n], n, z]Then, perform inversion back to the time domain:
InverseBilateralZTransform[%, z, n]Plot the convolution in the time domain:
DiscretePlot[%, {n, 0, 8}]Alternatively, find the convolution using DiscreteConvolve:
DiscreteConvolve[x1[k], x2[k], k, n]//SimplifyDefine infinite duration signals:
x1[n_] := UnitStep[n]
x2[n_] := DiscreteDelta[n] + 2^-nUnitStep[n]Plot the signals in the time domain:
DiscretePlot[{x1[n], x2[n]}, {n, 0, 7}]To find the convolution, first calculate product of the transforms:
BilateralZTransform[x1[n], n, z]BilateralZTransform[x2[n], n, z]Perform the inversion back to the time domain:
InverseBilateralZTransform[%, z, n]Plot the convolution in the time domain:
DiscretePlot[%, {n, 0, 6}]Alternatively, find the convolution using DiscreteConvolve:
DiscreteConvolve[x1[k], x2[k], k, n]//SimplifyProperties & Relations (7)
BilateralZTransform and InverseBilateralZTransform are mutual inverses:
BilateralZTransform[InverseBilateralZTransform[X[z], z, n], n, z]InverseBilateralZTransform[BilateralZTransform[x[n], n, z], z, n]BilateralZTransform is closely related to FourierSequenceTransform:
{BilateralZTransform[UnitStep[n + 1]2^-n, n, Exp[I ω], Assumptions -> ω∈Reals], FourierSequenceTransform[UnitStep[n + 1]2^-n, n, ω]}{BilateralZTransform[3^-Abs[n + 1], n, Exp[I ω], Assumptions -> ω∈Reals], FourierSequenceTransform[3^-Abs[n + 1], n, ω]}BilateralZTransform[a x1[n] + b x2[n], n, z]BilateralZTransform[x[n - 5], n, z]BilateralZTransform[a^nx[n], n, z]BilateralZTransform[DiscreteConvolve[f[k], g[k], k, n], n, z]Differentiation in the
-domain:
BilateralZTransform[n x[n], n, z]Related Guides
History
Text
Wolfram Research (2021), BilateralZTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/BilateralZTransform.html.
CMS
Wolfram Language. 2021. "BilateralZTransform." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BilateralZTransform.html.
APA
Wolfram Language. (2021). BilateralZTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BilateralZTransform.html
BibTeX
@misc{reference.wolfram_2026_bilateralztransform, author="Wolfram Research", title="{BilateralZTransform}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/BilateralZTransform.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_bilateralztransform, organization={Wolfram Research}, title={BilateralZTransform}, year={2021}, url={https://reference.wolfram.com/language/ref/BilateralZTransform.html}, note=[Accessed: 13-June-2026]}