WOLA Processing Steps

The sequence of operations in a WOLA processor can be expressed as follows:

  1. Extract the $ m$ th windowed frame of data $ x_m(n)=x(n)w(n-mR)$ , $ n=mR,\ldots,mR+N-1$ (assuming a length $ M\leq N$ causal window $ w$ and hop size $ R$ ).

  2. Take an FFT of the $ m$ th frame translated to time zero,
    $ {\tilde x}_m(n)=x_m(n+mR)$ , to produce the $ m$ th spectral frame
    $ {\tilde X}_m(\omega_k)$ , $ k=0,\ldots,N-1$ .

  3. Process $ {\tilde X}_m(\omega_k)$ as desired to produce $ {\tilde Y}_m(\omega_k)$ .

  4. Inverse FFT $ {\tilde Y}_m$ to produce $ {\tilde y}_m(n)$ , $ n=0,\ldots,N-1$ .

  5. Apply a synthesis window $ f(n)$ to $ {\tilde y}_m(n)$ to yield a weighted output frame $ {\tilde y}^f_m(n) = {\tilde y}_m(n)f(n)$ , $ n=0,\ldots,N-1$ .

  6. Translate the $ m$ th output frame to time $ mR$ as $ y^f_m(n) =
{\tilde y}^f_m(n-mR)$ and add to the accumulated output signal $ y(n)$ .

(The overlap-add method discussed previously is obtained from the above procedure by deleting step 5.)

To obtain perfect reconstruction in the absence of spectral modifications, we require

\begin{eqnarray*}
x(n) &=& \sum_{m=-\infty}^{\infty} x(n) w(n-mR)f(n-mR) \\
&=& x(n) \sum_{m=-\infty}^{\infty} w(n-mR)f(n-mR),
\end{eqnarray*}

which is true if and only if

$\displaystyle \zbox {\sum_m w(n-mR)f(n-mR) = 1, \,\forall n\in{\bf Z}.}$ (9.44)

Choice of WOLA Window

The synthesis (output) window in weighted overlap-add is typically chosen to be the same as the analysis (input) window, in which case the COLA constraint becomes

$\displaystyle \zbox {\sum_m w^2(n-mR) = \hbox{constant}\,\forall n\in{\bf Z}.}$ (9.45)

We can say that $ R$ -shifts of the window $ w$ in the time domain are power complementary, whereas for OLA they were amplitude complementary.

A trivial way to construct useful windows for WOLA is to take the square root of any good OLA window. This works for all non-negative OLA windows (which covers essentially all windows in Chapter 3 other than Portnoff windows). For example, the ``root-Hann window'' can be defined for odd $ M$ by

\begin{eqnarray*}
w(n) &=& w_R(n) \sqrt{\frac{1}{2} + \frac{1}{2} \cos( 2\pi n/M) } \\
&=& w_R(n) \cos(\pi n/M),
\; n= -\frac{M-1}{2},\ldots,\frac{M-1}{2}
\end{eqnarray*}

Notice that the root-Hann window is the same thing as the ``MLT Sine Window'' described in §3.2.6. We can similarly define the ``root-Hamming'', ``root-Blackman'', and so on, all of which give perfect reconstruction in the weighted overlap-add context.


Next Section:
Overlap-Add (OLA) Interpretation of the STFT
Previous Section:
Length L FIR Frame Filters