KaiserWindow[x]
represents a Kaiser window function of x.
KaiserWindow[x,α]
uses the parameter α.
KaiserWindow
KaiserWindow[x]
represents a Kaiser window function of x.
KaiserWindow[x,α]
uses the parameter α.
Details
- KaiserWindow is an adjustable window function typically used for finite impulse response (FIR) filter design and spectral analysis.
- Window functions are used in applications where data is processed in short segments and have a smoothing effect by gradually tapering data values to zero at the ends of each segment.
- KaiserWindow[x,α] is equivalent to
for -
≤x≤
and 0 otherwise. - KaiserWindow[x] is equivalent to KaiserWindow[x,3].
- KaiserWindow automatically threads over lists.
Examples
open all close allBasic Examples (3)
Plot[KaiserWindow[x], {x, -1, 1}, Exclusions -> None]Plot3D[KaiserWindow[x]KaiserWindow[y], {x, -1, 1}, {y, -1, 1}, PlotRange -> All, Exclusions -> None]Extract the continuous function representing the Kaiser window:
FunctionExpand[KaiserWindow[x]]FunctionExpand[KaiserWindow[x, α]]Scope (8)
KaiserWindow[0.1]Shape of a 1D Kaiser window using a specified parameter:
Plot[KaiserWindow[x, 4], {x, -1, 1}, Exclusions -> None]Translated and dilated Kaiser window:
Plot[KaiserWindow[(x - 1) / 2], {x, -1, 3}, Exclusions -> None]Variation of the shape as a function of the parameter α:
Plot3D[KaiserWindow[x, α], {α, 0, 5}, {x, -1, 1}, Exclusions -> None]Plot3D[KaiserWindow[x]KaiserWindow[y], {x, -1, 1}, {y, -1, 1}, PlotRange -> All, Exclusions -> None]Two-dimensional Kaiser window with a circular support:
Plot3D[KaiserWindow[Sqrt[x ^ 2 + y ^ 2]], {x, -1, 1}, {y, -1, 1}, PlotRange -> All, Exclusions -> None]Discrete Kaiser window of length 15:
ListPlot[Array[KaiserWindow, 15, {-1 / 2, 1 / 2}], Filling -> Axis]Discrete 15×10 2D Kaiser window:
ListPointPlot3D[Array[KaiserWindow[#1] KaiserWindow[#2]&, {15, 10}, {{-1 / 2, 1 / 2}}], Filling -> Axis]Applications (5)
Use the Kaiser window to diminish the effect of signal partitioning when computing the spectrogram:
Labeled[Spectrogram[\!\(\*AudioBox[""]\), 512, Automatic, #, ImageSize -> 200, FrameTicks -> None], Text[#]]& /@ {KaiserWindow, None}Create a lowpass FIR filter with cutoff frequency of
and length 15:
h = LeastSquaresFilterKernel[{"Lowpass", π / 5}, 15]Apply a Kaiser window to the filter to improve stopband attenuation:
fir = h * Array[KaiserWindow, Length[h], {-1 / 2, 1 / 2}];Log-magnitude plot of the power spectra of the two filters:
Plot[Evaluate[20Log10[Abs@ListFourierSequenceTransform[#, ω]]& /@ {h, fir}], {ω, 0.1, π}, PlotRange -> All, GridLines -> Automatic]Filter a white noise signal using the Kaiser window method:
a = AudioGenerator["White", 1, SampleRate -> 8000];
Periodogram[{a, LowpassFilter[a, 8000 π / 3, 21, KaiserWindow]}]Use a window specification to calculate sample PowerSpectralDensity of an ARMA process:
proc = ARMAProcess[1, {.5}, {.3}, 1];
data = RandomFunction[proc, {50}];spec = PowerSpectralDensity[data, w, KaiserWindow];Compare to spectral density calculated without a windowing function:
sd = PowerSpectralDensity[data, w];sd === specThe plot shows that window smooths the spectral density:
Plot[{sd, spec}, {w, -π, π}, PlotRange -> All, PlotLegends -> {"no window", "with window"}]Compare to the theoretical spectral density of the process:
Plot[{spec, Evaluate@PowerSpectralDensity[proc, w]}, {w, -π, π}, PlotLegends -> {"data", "process"}]Use a window specification for time series estimation:
data = RandomFunction[ARMAProcess[1, {.3}, {.4}, 1], {200}];Specify window for spectral estimator:
EstimatedProcess[data, ARMAProcess[1, 1], ProcessEstimator -> {"SpectralEstimator", "Window" -> KaiserWindow}]Properties & Relations (8)
The area under the Kaiser window:
area = NIntegrate[KaiserWindow[x], {x, -∞, ∞}]Normalize to create a window with unit area:
Plot[{KaiserWindow[x], KaiserWindow[x] / area}, {x, -1, 1}]Fourier transform of the Kaiser window:
f = FourierTransform[KaiserWindow[x], x, w]Power spectrum of the Kaiser window:
LogLinearPlot[20 Log[10, Abs[f]], {w, .1, 80}]Fourier transform of the parametrized Kaiser window:
f = FourierTransform[KaiserWindow[x, α], x, ω]Variation of the magnitude spectrum as a function of the parameter α:
Plot3D[Abs@f, {ω, -30, 30}, {α, 0, 5}, PlotRange -> All, PlotPoints -> 50]Discrete Kaiser window of length 15:
Array[KaiserWindow, 15, {-0.5, 0.5}]Normalize so the coefficients add up to 1:
% / Total[%]Discrete-time Fourier transform of a normalized discrete Kaiser window of length 15:
(win = Array[KaiserWindow, 15, {-0.5, 0.5}];
f = ListFourierSequenceTransform[win / Total[win], ω])Plot[Abs@f, {ω, 0, π}, PlotRange -> All]Power spectra of the default Kaiser and rectangular windows:
tab = Table[(h = Array[win, 15, {-0.5, 0.5}];
20Log10[Abs@ListFourierSequenceTransform[h / Total[h], ω]]), {win, {KaiserWindow, DirichletWindow}}];Plot[tab, {ω, 0, π}, PlotRange -> {5, -80}, PlotLegends -> {KaiserWindow, DirichletWindow}]Power spectra for three different window lengths:
tab = Table[(win = Array[KaiserWindow, n, {-0.5, 0.5}];
20Log10[Abs@ListFourierSequenceTransform[win / Total[win], ω]]), {n, {11, 21, 31}}];Plot[tab, {ω, 0, π}, PlotRange -> {5, -60}, PlotLegends -> {11, 21, 31}]Power spectra for three different values of the shape parameter α:
tab = Table[(win = Array[KaiserWindow[#, α]&, 21, {-0.5, 0.5}];
20Log10[Abs@ListFourierSequenceTransform[win / Total[win], ω]]), {α, {1, 3, 5}}];Plot[tab, {ω, 0, π}, PlotRange -> {5, -60}, PlotLegends -> {1., 3., 5.}]Possible Issues (1)
Two-dimensional sampling of Kaiser window will use a different parameter for each row of samples when passed as a symbol to Array:
Array[KaiserWindow, {30, 30}, {{-1 / 2, 1 / 2}}]//ListPlot3DArray[KaiserWindow[#1] KaiserWindow[#2]&, {30, 30}, {{-1 / 2, 1 / 2}}]//ListPlot3DRelated Guides
History
Text
Wolfram Research (2012), KaiserWindow, Wolfram Language function, https://reference.wolfram.com/language/ref/KaiserWindow.html.
CMS
Wolfram Language. 2012. "KaiserWindow." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/KaiserWindow.html.
APA
Wolfram Language. (2012). KaiserWindow. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/KaiserWindow.html
BibTeX
@misc{reference.wolfram_2026_kaiserwindow, author="Wolfram Research", title="{KaiserWindow}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/KaiserWindow.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_kaiserwindow, organization={Wolfram Research}, title={KaiserWindow}, year={2012}, url={https://reference.wolfram.com/language/ref/KaiserWindow.html}, note=[Accessed: 12-June-2026]}