Skip to content

Constant OverLap-Add (COLA) Property

Context

Given

  • \(x(n)\) : input signal at time \(n\)
  • \(w(n)\) : window function of finite length \(M\)
  • \(R \in \mathbb{Z}^+\) : the hop size between successive chunk of \(x(n)\)

The signal \(x(n)\) can be broken up into chunks, denoted as \(x_m(n)\), where \(m \in \mathbb{Z}\) is the index of the chunk, and

\[ x_m(n) = x(n)w(n - mR) \]

Depending on the values of \(M\) and \(R\), the consecutive \(x_m(n)\) may or may not be overlapped.

The discrete-time short-time Fourier transform (STFT) of \(x_m(n)\) is defined as

\[ \displaystyle \mathbf {STFT} \{x_m(n)\}(f) \equiv X_m(f) = \sum_{n=-\infty}^\infty{x(n)w(n-mR)e^{-j2 \pi f n}} \]

And the sum of the successive DTFTs over time is

\[ \begin{align} \sum_{m=-\infty}^{\infty}{X_m(f)} &= \sum_{m=-\infty}^{\infty} \sum_{n=-\infty}^\infty{x(n)w(n-mR)e^{-j2 \pi f n}} \\ &= \sum_{n=-\infty}^\infty{x(n)e^{-j2 \pi f n}} \sum_{m=-\infty}^{\infty} w(n-mR) \end{align} \]

Meanwhile, the DTFT of the whole \(x(n)\) is

\[ X(f) = \sum_{n=-\infty}^\infty{x(n)e^{-j2 \pi f n}} \]

Problem

When will \(\sum_{m=-\infty}^{\infty}{X_m(f)}\) equals to \(X(f)\)?

Solution

\(\sum_{m=-\infty}^{\infty}{X_m(f)}\) equals to \(X(f)\) when the following equation holds:

\[ \sum_{m=-\infty}^{\infty} w(n-mR) = 1, \ \forall n \in \mathbb{Z} \]

We say the window function \(w(n)\) has the _Constant OverLap-Add (COLA) property _ at hop-size \(R\) if the above equation holds. Or:

\[ w \in \text{COLA}(R) \]

Notes

When \(w \in \text{COLA}(R)\), the following is also true:

\[ x(n) = \sum_{m=-\infty}^{\infty}{ x(n) w(n - mR) } \]

Reference