DiscreteChirpZTransform[list]
gives the chirp Z transform of list.
DiscreteChirpZTransform[list,n]
returns a length n chirp Z transform.
DiscreteChirpZTransform[list,n,w]
uses a spiral path on the complex
plane defined by w.
DiscreteChirpZTransform[list,n,w,a]
uses a as the complex starting point.
DiscreteChirpZTransform[list,{n1,n2,…},{w1,w2,…},{a1,a2,…}]
gives the multidimensional chirp Z transform.
DiscreteChirpZTransform
DiscreteChirpZTransform[list]
gives the chirp Z transform of list.
DiscreteChirpZTransform[list,n]
returns a length n chirp Z transform.
DiscreteChirpZTransform[list,n,w]
uses a spiral path on the complex
plane defined by w.
DiscreteChirpZTransform[list,n,w,a]
uses a as the complex starting point.
DiscreteChirpZTransform[list,{n1,n2,…},{w1,w2,…},{a1,a2,…}]
gives the multidimensional chirp Z transform.
Details
- The chirp Z transform is an algorithm for evaluating the list Z transform of a finite duration sequence along a spiral path in the
plane of the form
. With DiscreteChirpZTransform[list,n,w,a], the Z transform is evaluated at points
for integers
from 0 to
. - DiscreteChirpZTransform[list] is equivalent to DiscreteChirpZTransform[list,Length[list]].
- DiscreteChirpZTransform[list,n] is equivalent to DiscreteChirpZTransform[list,n,Exp[2π /n],1].
- DiscreteChirpZTransform[list] is equivalent to Fourier[list,FourierParameters->{1,-1}]. »
Examples
open all close allBasic Examples (1)
Scope (4)
Return a length-16 chirp Z transform:
DiscreteChirpZTransform[{1, 2, 3, 4, 5}, 16]//ChopEvaluate the transform on a spiral path:
DiscreteChirpZTransform[{1, 2, 3, 4, 5}, 16, 0.5 + I]//ChopDiscreteChirpZTransform[{1, 2, 3, 4, 5}, 16, 0.5 + I, I]//ChopCompute multidimensional chirp Z transform:
DiscreteChirpZTransform[{{1, 2, 3}, {3, 2, 1}}, {8, 4}, {0.5 + I, -0.5 - I}, {I, -I}]//ChopApplications (2)
Improve the resolution of the discrete Fourier transform:
sig = {1, 1, 1, 0, 0, 0, 0, 0};
fft = Thread[{Table[(2 π/8)k, {k, 0, 7}], Abs@Fourier[sig, FourierParameters -> {1, -1}]}];
chirp = Thread[{Table[(2 π/64)k, {k, 0, 63}], Abs@DiscreteChirpZTransform[sig, 64]}];Compare the two discrete Fourier spectra:
ListPlot[{chirp, fft}, PlotStyle -> {Automatic, PointSize[Large]}, Filling -> 0]Zoom into a portion of the spectrum, in the range from ω1 to ω2 in steps of Δω:
sig = {1, 1, 1, 0, 0, 0, 0, 0};
Subscript[ω, 1] = π / 4;Subscript[ω, 2 ] = π;Δω = π / 32;
chirp = Thread[{Range[Subscript[ω, 1], Subscript[ω, 2], Δω], Abs@DiscreteChirpZTransform[sig, (Subscript[ω, 2] - Subscript[ω, 1]/Δω) + 1, Exp[I Δω], Exp[I Subscript[ω, 1]]]}];ListPlot[chirp, Filling -> 0, Ticks -> {{Subscript[ω, 1], Subscript[ω, 2]}, Automatic}, PlotRange -> {{0, 2π}, {0, 3}}]Properties & Relations (4)
DiscreteChirpZTransform[list] is equivalent to Fourier[list,FourierParameters->{1,-1}]:
Max[Abs[DiscreteChirpZTransform[{1, 2, 3, 4}] - Fourier[{1, 2, 3, 4}, FourierParameters -> {1, -1}]]]//ChopDiscreteChirpZTransform[list,n] is equivalent to Fourier[PadRight[list,n],FourierParameters->{1,-1}]:
Max[Abs[DiscreteChirpZTransform[{1, 2, 3, 4}, 8] - Fourier[PadRight[{1, 2, 3, 4}, 8], FourierParameters -> {1, -1}]]]//ChopDiscreteChirpZTransform[list,n] is equivalent to evaluating the Z transform of list on a circular path defined by
for k from 0 to n-1:
x = {1, 1, 1, 0, 0, 0, 0, 0};
X[z_] = ListZTransform[x, z];
Max[Abs[X[Exp[I (2 π/16)Range[0., 15.]]] - DiscreteChirpZTransform[x, 16]]]//ChopDiscreteChirpZTransform[list,n,w,a] is equivalent to evaluating the Z transform of list on a spiral path defined by
for k from 0 to n-1:
a = 0.889919 + 0.646564 I;
w = 0.886924 + 0.367376 I;
x = {1, 1, 1, 0, 0, 0, 0, 0};
X[z_] = ListZTransform[x, z];
Max[Abs[DiscreteChirpZTransform[x, 32, w, a] - Table[X[a w^k], {k, 0, 31}]]]path = N[{Re[#], Im[#]}]& /@ Table[a w^k, {k, 0, 31}];
ListLinePlot[path, AspectRatio -> 1]DiscreteChirpZTransform is faster compared to the explicit sampling of the Z transform:
x = {1, 1, 1, 0, 0, 0, 0, 0};
X[z_] = ListZTransform[x, z];
n = 10 ^ 7;
AbsoluteTiming[X[Exp[I (2 π/n)Range[0., n - 1]]];]
AbsoluteTiming[DiscreteChirpZTransform[x, n];]Neat Examples (1)
Define a Z transform of a finite duration constant sequence:
X[z_] = (1/5) + (1/5 z^4) + (1/5 z^3) + (1/5 z^2) + (1/5 z);Compute the chirp Z transform of the sequence and the complex plane contour:
a = 0.889919 + 0.646564 I;w = 0.886924 + 0.367376 I;
mag = Abs@DiscreteChirpZTransform[ConstantArray[1 / 5, 5], 31, w, a];
path = N[{Re[#], Im[#]}]& /@ Table[a w^k, {k, 0, 30}];Plot the magnitude and path of the chirp Z transform on the complex plane:
Show[{ListPointPlot3D[Flatten /@ Thread[{path, mag}], Filling -> 0, FillingStyle -> Directive[{Red, Thickness[Large]}], PlotStyle -> Directive[{Red, PointSize[Large]}], PlotRange -> All, ImageSize -> 300], Graphics3D[{Red, Line[Flatten /@ Thread[{path, mag}]]}], Plot3D[Abs[X[x + I y]], {x, -1, 1}, {y, -1, 1}, PlotStyle -> Opacity[0.6], Mesh -> 0, MeshFunctions -> {(#1 ^ 2 + #2 ^ 2)&}, PlotRange -> {0, 30}]}]Related Guides
History
Text
Wolfram Research (2012), DiscreteChirpZTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/DiscreteChirpZTransform.html.
CMS
Wolfram Language. 2012. "DiscreteChirpZTransform." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/DiscreteChirpZTransform.html.
APA
Wolfram Language. (2012). DiscreteChirpZTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DiscreteChirpZTransform.html
BibTeX
@misc{reference.wolfram_2026_discretechirpztransform, author="Wolfram Research", title="{DiscreteChirpZTransform}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/DiscreteChirpZTransform.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_discretechirpztransform, organization={Wolfram Research}, title={DiscreteChirpZTransform}, year={2012}, url={https://reference.wolfram.com/language/ref/DiscreteChirpZTransform.html}, note=[Accessed: 12-June-2026]}