## Weighted Overlap Add

In the *weighted overlap add* (WOLA) method, we apply a
*second window* after the inverse DFT [49]
and prior to the final overlap-add to create the output signal. Such
a window can be called a ``synthesis window,'' ``postwindow,'' or
simply ``output window.''

Output windows are important in *audio compression* applications
for minimizing ``blocking effects.'' The synthesis window ``fades out''
any spectral coding error at the frame boundaries, thereby suppressing
audible discontinuities.

Output windows are *not* used in simple FFT convolution
processors because the input frames are *supposed* to be expanded
by the convolution, and a synthesis window would ``pinch off'' the
``filter ringing'' from each block, yielding incorrect results.
Output windows can always be used in conjunction with spectral
modifications made by means of the ``filter bank summation'' (FBS)
method, which is the subject of the next chapter.

The WOLA method is most useful for nonlinear ``instantaneous'' FFT processors such as

- perceptual audio coders,
- time-scale modification, or
- pitch-shifters.

*artifacts*caused by nonlinear spectral modifications. Another common factor in these applications is that filtering effects are not desired, so no provision for ``ringing'' in the time domain is necessary. In other words, WOLA is good for ``instantaneous nonlinear spectral processing.''

### WOLA Processing Steps

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

- Extract the
th windowed frame of data
,
(assuming a length
causal window
and hop
size
).
- Take an FFT of the
th frame translated to time zero,

, to produce the th spectral frame

, . - Process
as desired to produce
.
- Inverse FFT
to produce
,
.
- Apply a
*synthesis window*to to yield a*weighted*output frame , . - Translate the
th output frame to time
as
and add to the accumulated output signal
.

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

which is true if and only if

(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

(9.45) |

We can say that -shifts of the window 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
by

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:**

Review of Zero Padding

**Previous Section:**

Time Varying OLA Modifications