({{, (RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list] 
gives the chirp Z transform of list.}, {, (RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n] 
returns a length n chirp Z transform.}, {, (RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n,w] 
uses a spiral path on the complex z plane defined by w.}, {, (RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n,w,a]
uses a as the complex starting point.}, {, (RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,{(Subscript[n, 1]),(Subscript[n, 2]),…},{(Subscript[w, 1]),(Subscript[w, 2]),…},{(Subscript[a, 1]),(Subscript[a, 2]),…}]
gives the multidimensional chirp Z transform. }})

OpenersNotesSection(Spacer1)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 z plane of the form z==a (w^k). With (RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n,w,a], the Z transform is evaluated at points a (w^k) for integers k from 0 to n-1.

(RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list] is equivalent to (RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,(RefLink[Length, paclet:ref/Length])[list]].

(RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n] is equivalent to (RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n,(RefLink[Exp, paclet:ref/Exp])[2π i/n],1].

(RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list] is equivalent to (RefLink[Fourier, paclet:ref/Fourier])[list,(RefLink[FourierParameters, paclet:ref/FourierParameters])->{1,-1}]. »

OpenersPrimaryExamplesSection(Spacer1)Examples  (11)

OpenersExampleSection0(Spacer1)Basic Examples  (1)

Chirp Z transform of a list:

DiscreteChirpZTransform[{1,2,3,4,5}]//Chop

OpenersExampleSection1(Spacer1)Scope  (3)

Return a length 16 chirp Z transform:

DiscreteChirpZTransform[{1,2,3,4,5},16]//Chop

Evaluate the transform on a spiral path:

DiscreteChirpZTransform[{1,2,3,4,5},16,0.5+I]//Chop

Specify a starting point:

DiscreteChirpZTransform[{1,2,3,4,5},16,0.5+I,I]//Chop

OpenersExampleSection3(Spacer1)Applications  (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 (Subscript[ω, 1]) to (Subscript[ω, 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}}]

OpenersExampleSection4(Spacer1)Properties & Relations  (4)

(RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list] is equivalent to (RefLink[Fourier, paclet:ref/Fourier])[list,(RefLink[FourierParameters, paclet:ref/FourierParameters])->{1,-1}]:

Max[Abs[DiscreteChirpZTransform[{1,2,3,4}]-Fourier[{1,2,3,4}, FourierParameters->{1,-1}]]]//Chop

(RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n] is equivalent to (RefLink[Fourier, paclet:ref/Fourier])[PadRight[list,n],(RefLink[FourierParameters, paclet:ref/FourierParameters])->{1,-1}]:

Max[Abs[DiscreteChirpZTransform[{1,2,3,4},8]-Fourier[PadRight[{1,2,3,4},8],FourierParameters->{1,-1}]]]//Chop

(RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n] is equivalent to evaluating the Z transform of list on a circular path defined by exp(((i 2 π k)/n)) 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]]]//Chop

(RefLink[DiscreteChirpZTransform, paclet:ref/DiscreteChirpZTransform])[list,n,w,a] is equivalent to evaluating the Z transform of list on a spiral path defined by a (w^k) 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}]]]

Visualize the spiral path a (w^k):

path=N[{Re[#],Im[#]}]&/@Table[a (w^k),{k,0,31}];
ListLinePlot[path,AspectRatio->1]

(RefLink[DiscreteChirpZTransform, paclet:ref/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];]

OpenersExampleSection5(Spacer1)Neat Examples  (1)

Define 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}]}]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[Fourier, paclet:ref/Fourier])  ▪  (RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform])  ▪  (RefLink[InverseFourierSequenceTransform, paclet:ref/InverseFourierSequenceTransform])  ▪  (RefLink[ListZTransform, paclet:ref/ListZTransform])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Signal Processing, paclet:guide/SignalProcessing])}, {▪(RefLinkPlain[Summation Transforms, paclet:guide/SummationTransforms])}})}})