STFT of COLA Decomposition
To represent practical FFT implementations, it is preferable
to shift the
frame back to the time origin:
![]() |
(9.20) |
This is summarized in Fig.8.11. Zero-based frames are needed because the leftmost input sample is assigned to time zero by FFT algorithms. In other words, a hopping FFT effectively redefines time zero on each hop. Thus, a practical STFT is a sequence of FFTs of the zero-based frames
![$ {\tilde x}_0, {\tilde x}_1, \ldots$](http://www.dsprelated.com/josimages_new/sasp2/img1410.png)
![$ x_0, x_1,
\ldots$](http://www.dsprelated.com/josimages_new/sasp2/img1411.png)
Note that we may sample the DTFT of both
and
,
because both are time-limited to
nonzero samples. The
minimum information-preserving sampling interval along the unit circle
in both cases is
. In practice, we often
oversample to some extent, using
with
instead. For
, we get
where
![$ \omega_k \isdef 2\pi k/N = k\Omega_N$](http://www.dsprelated.com/josimages_new/sasp2/img1418.png)
![$ x_m$](http://www.dsprelated.com/josimages_new/sasp2/img1268.png)
![\begin{eqnarray*}
X_m(\omega_k) &\isdef & \hbox{\sc Sample}_{\Omega_N,k}\left(\hbox{\sc DTFT}(x_m)\right)\\
&\longleftrightarrow& \hbox{\sc Alias}_N(x_m)\\
&\neq& {\tilde x}_m \; \hbox{(in general).}
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/sasp2/img1419.png)
Since
, their transforms are related by the
shift theorem:
![\begin{eqnarray*}
{\tilde X}_m(\omega_k) &=& e^{jmR\omega_k} X_m(\omega_k) \\
\longleftrightarrow\quad
{\tilde x}_m(n) &=& \hbox{\sc Alias}_{N,n+mR}(x_m)\\
&=& x_m(n+mR)_N
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/sasp2/img1421.png)
where
denotes modulo
indexing (appropriate since the
DTFTs have been sampled at intervals of
).
Next Section:
Acyclic Convolution
Previous Section:
COLA Examples