DSPRelated.com
Free Books

Dolph-Chebyshev Window

The Dolph-Chebyshev Window (or Chebyshev window, or Dolph window) minimizes the Chebyshev norm of the side lobes for a given main-lobe width $ 2\omega_c$ [61,101], [224, p. 94]:

$\displaystyle \displaystyle \hbox{min}_{w,\sum w=1} \left\Vert\,\hbox{sidelobes($W$)}\,\right\Vert _\infty \isdefs \hbox{min}_{w,\sum w=1} \left\{\hbox{max}_{\omega>\omega_c} \left\vert W(\omega)\right\vert\right\}$ (4.43)

The Chebyshev norm is also called the $ L-infinity$ norm, uniform norm, minimax norm, or simply the maximum absolute value.

An equivalent formulation is to minimize main-lobe width subject to a side-lobe specification:

$\displaystyle \displaystyle \left. \min_{w,W(0)=1}(\omega_c) \right\vert _{\,\left\vert W(\omega)\,\right\vert \leq\, c_\alpha,\; \forall \vert\omega\vert\geq\omega_c}$ (4.44)

The optimal Dolph-Chebyshev window transform can be written in closed form [61,101,105,156]:

\begin{eqnarray*}
W(\omega_k) &=& \frac{\cos\left\{M\cos^{-1}\left[\beta\cos\left(\frac{\pi k}{M}\right)
\right]\right\}}{\cosh\left[M\cosh^{-1} (\beta)\right]},
\qquad k=0,1,2,\ldots,M-1 \\
\beta &=& \cosh \left[\frac{1}{M}\cosh^{-1}(10^\alpha)\right], \qquad (\alpha\approx 2,3,4).
\end{eqnarray*}

The zero-phase Dolph-Chebyshev window, $ w(n)$ , is then computed as the inverse DFT of $ W(\omega_k)$ .4.14 The $ \alpha $ parameter controls the side-lobe level via the formula [156]

Side-Lobe Level in dB$\displaystyle = -20\alpha.$ (4.45)

Thus, $ \alpha=2$ gives side-lobes which are $ 40$ dB below the main-lobe peak. Since the side lobes of the Dolph-Chebyshev window transform are equal height, they are often called ``ripple in the stop-band'' (thinking now of the window transform as a lowpass filter frequency response). The smaller the ripple specification, the larger $ \omega_c$ has to become to satisfy it, for a given window length $ M$ .

The Chebyshev window can be regarded as the impulse response of an optimal Chebyshev lowpass filter having a zero-width pass-band (i.e., the main lobe consists of two ``transition bands''--see Chapter 4 regarding FIR filter design more generally).

Matlab for the Dolph-Chebyshev Window

In Matlab, the function chebwin(M,ripple) computes a length $ M$ Dolph-Chebyshev window having a side-lobe level ripple dB below that of the main-lobe peak. For example,

w = chebwin(31,60);
designs a length $ M=31$ window with side lobes at $ -60$ dB (when the main-lobe peak is normalized to 0 dB).


Example Chebyshev Windows and Transforms

Figure 3.31 shows the Dolph-Chebyshev window and its transform as designed by chebwin(31,40) in Matlab, and Fig.3.32 shows the same thing for chebwin(31,200). As can be seen from these examples, higher side-lobe levels are associated with a narrower main lobe and more discontinuous endpoints.

Figure: The length $ 31$ Dolph-Chebyshev window with ripple (side-lobe level) specified to be $ -40$ dB.
\includegraphics[width=\twidth]{eps/cheb31R40}

Figure: The length $ 31$ Dolph-Chebyshev window with ripple (side-lobe level) specified to be $ -200$ dB.
\includegraphics[width=\twidth]{eps/cheb31R200}

Figure: The length $ 101$ Dolph-Chebyshev window with ripple (side-lobe level) specified to be $ -40$ dB.
\includegraphics[width=\twidth]{eps/cheb101R40}

Figure 3.33 shows the Dolph-Chebyshev window and its transform as designed by chebwin(101,40) in Matlab. Note how the endpoints have actually become impulsive for the longer window length. The Hamming window, in contrast, is constrained to be monotonic away from its center in the time domain.

The ``equal ripple'' property in the frequency domain perfectly satisfies worst-case side-lobe specifications. However, it has the potentially unfortunate consequence of introducing ``impulses'' at the window endpoints. Such impulses can be the source of ``pre-echo'' or ``post-echo'' distortion which are time-domain effects not reflected in a simple side-lobe level specification. This is a good lesson in the importance of choosing the right error criterion to minimize. In this case, to avoid impulse endpoints, we might add a continuity or monotonicity constraint in the time domain (see §3.13.2 for examples).


Chebyshev and Hamming Windows Compared

Figure 3.34 shows an overlay of Hamming and Dolph-Chebyshev window transforms, the ripple parameter for chebwin set to $ 42$ dB to make it comparable to the Hamming side-lobe level. We see that the monotonicity constraint inherent in the Hamming window family only costs a few dB of deviation from optimality in the Chebyshev sense at high frequency.

\begin{psfrags}
% latex2html id marker 9837\psfrag{freq}{$\omega T$\ (radians per sample)}\begin{figure}[htbp]
\includegraphics[width=\twidth]{eps/chebHammingC}
\caption{}
\end{figure}
\end{psfrags}


Dolph-Chebyshev Window Theory

In this section, the main elements of the theory behind the Dolph-Chebyshev window are summarized.

Chebyshev Polynomials

Figure 3.34:
\includegraphics[width=\twidth]{eps/first-even-chebs-c}

The $ n$ th Chebyshev polynomial may be defined by

$\displaystyle T_n(x) = \left\{\begin{array}{ll} \cos[n\cos^{-1}(x)], & \vert x\vert\le1 \\ [5pt] \cosh[n\cosh^{-1}(x)], & \vert x\vert>1 \\ \end{array} \right..$ (4.46)

The first three even-order cases are plotted in Fig.3.35. (We will only need the even orders for making Chebyshev windows, as only they are symmetric about time 0.) Clearly, $ T_0(x)=1$ and $ T_1(x)=x$ . Using the double-angle trig formula $ \cos(2\theta)=2\cos^2(\theta)-1$ , it can be verified that

$\displaystyle T_n(x) = 2x T_{n-1}(x) - T_{n-2}(x)$ (4.47)

for $ n\ge 2$ . The following properties of the Chebyshev polynomials are well known:
  • $ T_n(x)$ is an $ n$ th-order polynomial in $ x$ .
  • $ T_n(x)$ is an even function when $ n$ is an even integer, and odd when $ n$ is odd.
  • $ T_n(x)$ has $ n$ zeros in the open interval $ (-1,1)$ , and $ n+1$ extrema in the closed interval $ [-1,1]$ .
  • $ T_n(x)>1$ for $ x>1$ .


Dolph-Chebyshev Window Definition

Let $ M$ denote the desired window length. Then the zero-phase Dolph-Chebyshev window is defined in the frequency domain by [155]

$\displaystyle W(\omega) = \frac{T_{M-1}[x_0 \cos(\omega/2)]}{T_{M-1}(x_0)}$ (4.48)

where $ x_0>1$ is defined by the desired ripple specification:

$\displaystyle \vert W(\omega)\vert \le r = \frac{1}{T_{M-1}(x_0)}, \quad \forall\vert\omega\vert\ge\omega_c,$ (4.49)

where $ \omega_c$ is the ``main lobe edge frequency'' defined by

$\displaystyle \omega_c \isdefs 2\cos^{-1}\left[\frac{1}{x_0}\right].$ (4.50)

Expanding $ W(\omega)$ in terms of complex exponentials yields

$\displaystyle W(\omega) = \sum_{n=-M_h}^{M_h} w(n) e^{-j \omega n}$ (4.51)

where $ M_h\isdef (M-1)/2$ . Thus, the coefficients $ w(n)$ give the length $ M$ Dolph-Chebyshev window in zero-phase form.


Dolph-Chebyshev Window Main-Lobe Width

Given the window length $ M$ and ripple magnitude $ r$ , the main-lobe width $ 2\omega_c$ may be computed as follows [155]:

\begin{eqnarray*}
x_0 &=& \cosh\left[\frac{\cosh^{-1}\left(\frac{1}{r}\right)}{M-1}\right]\\
\omega_c &=& 2\cos^{-1}\left(\frac{1}{x_0}\right)
\end{eqnarray*}

This is the smallest main-lobe width possible for the given window length and side-lobe spec.


Dolph-Chebyshev Window Length Computation

Given a prescribed side-lobe ripple-magnitude $ r$ and main-lobe width $ 2\omega_c$ , the required window length $ M$ is given by [155]

$\displaystyle M = 1 + \frac{\cosh^{-1}(1/r)}{\cosh^{-1}[\sec(\omega_c/2)]}.$ (4.52)

For $ \omega_c\ll\pi$ (the typical case), the denominator is close to $ \omega_c/2$ , and we have

$\displaystyle M \approx 1 + \frac{2}{\omega_c}\cosh^{-1}\left(\frac{1}{r}\right)$ (4.53)

Thus, half the time-bandwidth product in radians is approximately

$\displaystyle \beta \isdefs (M-1) \omega_c\approx 2\cosh^{-1}\left(\frac{1}{r}\right),$ (4.54)

where $ \beta $ is the parameter often used to design Kaiser windows3.9).


Next Section:
Gaussian Window and Transform
Previous Section:
Kaiser Window