Matlab for the DPSS Window
The function dpss in the Matlab Signal Processing Tool Box^{4.10} can be used to compute them as follows:
w = dpss(M,alpha,1); % discrete prolate spheroidal sequencewhere is the desired window length, and can be interpreted as half of the window's timebandwidth product in ``cycles''. Alternatively, can be interpreted as the highest bin number inside the main lobe of the window transform , when the DFT length is equal to the window length . (See the next section on the Kaiser window for more on this point.)
Some examples of DPSS windows and window transforms are given in Fig.3.29.
Kaiser Window Beta Parameter
The parameter of the Kaiser window provides a convenient continuous control over the fundamental window tradeoff between sidelobe level and mainlobe width. Larger values give lower sidelobe levels, but at the price of a wider main lobe. As discussed in §5.4.1, widening the main lobe reduces frequency resolution when the window is used for spectrum analysis. As explored in Chapter 9, reducing the side lobes reduces ``channel cross talk'' in an FFTbased filterbank implementation.
The Kaiser beta parameter can be interpreted as 1/4 of the ``timebandwidth product'' of the window in radians (seconds times radianspersecond).^{4.13} Sometimes the Kaiser window is parametrized by instead of . The parameter is therefore half the window's timebandwidth product in cycles (seconds times cyclespersecond).
Kaiser Windows and Transforms
Figure 3.24 plots the Kaiser window and its transform for . Note how increasing causes the sidelobes to fall away from the main lobe. The curvature at the main lobe peak also decreases somewhat.
Figure 3.25 shows a plot of the Kaiser window for various values of . Note that for , the Kaiser window reduces to the rectangular window.
Figure 3.26 shows a plot of the Kaiser window transforms for . For (top plot), we see the dB magnitude of the aliased sinc function. As increases the mainlobe widens and the side lobes go lower, reaching almost 50 dB down for .
Figure 3.27 shows the effect of increasing window length for the Kaiser window. The window lengths are from the top to the bottom plot. As with all windows, increasing the length decreases the mainlobe width, while the sidelobe level remains essentially unchanged.
Figure 3.28 shows a plot of the Kaiser window sidelobe level for various values of . For , the Kaiser window reduces to the rectangular window, and we expect the sidelobe level to be about 13 dB below the main lobe (upperlefthand corner of Fig.3.28). As increases, the dB sidelobe level reduces approximately linearly with mainlobe width increase (approximately a 25 dB drop in sidelobe level for each mainlobe width increase by one sincmainlobe).
Minimum Frequency Separation vs. Window Length
The requirements on window length for resolving closely tuned sinusoids was discussed in §5.5.2. This section considers this issue for the Kaiser window. Table 3.1 lists the parameter required for a Kaiser window to resolve equalamplitude sinusoids with a frequency spacing of rad/sample [1, Table 89]. Recall from §3.9 that can be interpreted as half of the timebandwidth of the window (in cycles).

Kaiser and DPSS Windows Compared
Figure 3.29 shows an overlay of DPSS and Kaiser windows for some different values. In all cases, the window length was . Note how the two windows become more similar as increases. The Matlab for computing the windows is as follows:
w1 = dpss(M,alpha,1); % discrete prolate spheroidal seq. w2 = kaiser(M,alpha*pi); % corresponding kaiser window
The following Matlab comparison of the DPSS and Kaiser windows illustrates the interpretation of as the bin number of the edge of the critically sampled window main lobe, i.e., when the DFT length equals the window length:
format long; M=17; alpha=5; abs(fft([ dpss(M,alpha,1), kaiser(M,pi*alpha)/2])) ans = 2.82707022360190 2.50908747431366 2.00652719015325 1.92930705688346 0.68469697658600 0.85272343521683 0.09415916813555 0.19546670371747 0.00311639169878 0.01773139505899 0.00000050775691 0.00022611995322 0.00000003737279 0.00000123787805 0.00000000262633 0.00000066206722 0.00000007448708 0.00000034793207 0.00000007448708 0.00000034793207 0.00000000262633 0.00000066206722 0.00000003737279 0.00000123787805 0.00000050775691 0.00022611995322 0.00311639169878 0.01773139505899 0.09415916813555 0.19546670371747 0.68469697658600 0.85272343521683 2.00652719015325 1.92930705688346
Finally, Fig.3.30 shows a comparison of DPSS and Kaiser window transforms, where the DPSS window was computed using the simple method listed in §F.1.2. We see that the DPSS window has a slightly narrower main lobe and lower overall sidelobe levels, although its side lobes are higher far from the main lobe. Thus, the DPSS window has slightly better overall specifications, while Kaiserwindow side lobes have a steeper roll off.
Next Section:
Matlab for the DolphChebyshev Window
Previous Section:
Matlab for the HannPoisson Window