({{, (RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform])[list,ω] 
gives the discrete-time Fourier transform (DTFT) of a list as a function of the parameter ω.}, {, (RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform])[list,ω,k] 
places the first element of list at integer time k on the infinite time axis.}, {, (RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform])[list,{(Subscript[ω, 1]),(Subscript[ω, 2]),…},{(Subscript[k, 1]),(Subscript[k, 2]),…}] 
gives the multidimensional discrete-time Fourier transform}})

OpenersNotesSection(Spacer1)Details and Options

By default, the one-dimensional discrete-time Fourier transform of a list (Subscript[u, r]) of length n is computed as (∑_(r==1)^n)(Subscript[u, r])(e^(-i (r+k-1) ω)).

(RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform])[list,ω] is equivalent to (RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform])[list,ω,0].

(RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform]) takes (RefLink[FourierParameters, paclet:ref/FourierParameters]) option. Common settings for (RefLink[FourierParameters, paclet:ref/FourierParameters]) include:

(RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform])[list,ω,k] effectively computes (RefLink[FourierSequenceTransform, paclet:ref/FourierSequenceTransform])[f[r],r,ω] for a sequence f with f[r-1+k]=list[[r]] for 1<=r<=(RefLink[Length, paclet:ref/Length])[list] and f[r]=0 otherwise.

OpenersPrimaryExamplesSection(Spacer1)Examples  (7)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Discrete-time Fourier transform of a constant vector:

ListFourierSequenceTransform[{(1/5),(1/5),(1/5),(1/5),(1/5)},ω]

Two-dimensional DTFT:

dtft=ListFourierSequenceTransform[(1/16)(({{1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}, {1, 1, 1, 1}})), {u,v}];

Plot3D[Abs[dtft],{u,0,π},{v,0,π},PlotRange->{0,1}]

OpenersExampleSection2(Spacer1)Applications  (1)

Create a lowpass filter:

a=LeastSquaresFilterKernel[{"Lowpass",1},15];

Visualize the frequency response:

Plot[Abs[ListFourierSequenceTransform[a,x]],{x,0,π},PlotRange->All, Exclusions->False]

Apply to a noisy signal:

data=Table[Sin[i^2+i]+RandomReal[{-.2,.3}],{i,0,Pi,0.01}];
ListLinePlot/@{data,ListConvolve[a,data]}

OpenersExampleSection3(Spacer1)Properties & Relations  (4)

Discrete-time Fourier transform of a numeric list is equal to the Fourier sequence transform of a sum of shifted unit samples:

f[n_]:=(1/5)Sum[DiscreteDelta[n-k],{k,0,4}]

FourierSequenceTransform[f[n],n,ω]==Together@ListFourierSequenceTransform[{(1/5),(1/5),(1/5),(1/5),(1/5)},ω]

Inverse of a discrete-time Fourier transform of a list:

dtft=ListFourierSequenceTransform[{(1/5),(1/4),(1/3),(1/2),1},ω]

Table[InverseFourierSequenceTransform[dtft,ω,n],{n,0,Length[dtft]-1}]

(RefLink[Fourier, paclet:ref/Fourier]) of a length-n list returns samples of the (RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform]) at frequencies that are multiples of ((2 π)/n):

dft=Fourier[{(1/5),(1/4),(1/3),(1/2),1}, FourierParameters->{1, -1}]//Chop

dtft=ListFourierSequenceTransform[{(1/5),(1/4),(1/3),(1/2),1},ω]

Table[dtft,{ω, 0, 6, 2Pi/5}]//N

(RefLink[ListFourierSequenceTransform, paclet:ref/ListFourierSequenceTransform]) is equivalent to computing (RefLink[ListZTransform, paclet:ref/ListZTransform]) on the unit circle:

H[z_]=ListZTransform[{(1/5),(1/4),(1/3),(1/2),1},z];
dtft=ListFourierSequenceTransform[{(1/5),(1/4),(1/3),(1/2),1},ω];
H[E^(I ω)]===dtft

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

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