STFT with Modifications
FBS Fixed Modifications
Consider applying a fixed (time-invariant) filter
to
each
before resynthesizing the signal:
![]() |
(10.28) |
where,

![]() |
(10.29) |
Let's examine the result this has on the signal in the time domain:
![\begin{eqnarray*}
y(m) &=& \frac{1}{N} \sum_{k=0}^{N-1} Y_m(\omega_k) e^{j\omega_k m} \\
&=& \frac{1}{N} \sum_{k=0}^{N-1} X_m(\omega_k)H(\omega_k) e^{j\omega_k m} \\
&=& \frac{1}{N} \sum_{k=0}^{N-1} \left\{ \sum_{n=-\infty}^\infty x(n)w(n-m)e^{-j\omega_kn} \right\} H(\omega_k) e^{j\omega_k m} \\
&=& \frac{1}{N} \sum_{n=-\infty}^\infty x(n)w(n-m) \sum_{k=0}^{N-1} H(\omega_k) e^{j\omega_k(m-n)} \\
&=& \sum_{n=-\infty}^\infty x(n) [ w(n-m) h(m-n)] \\
&=& \sum_{n=-\infty}^\infty x(n) [\tilde{w}(m-n)h(m-n)] \\
&=& (x*[\tilde{w} \cdot h])(m) \\
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/sasp2/img1704.png)
We see that the result is
convolved with a windowed version
of the impulse response
. This is in contrast to the OLA technique
where the result gave us a windowed
filtered by
without the
window having any effect on the filter, provided it obeys the COLA
constraint and sufficient zero padding is used to avoid time aliasing.
In other words, FBS gives
![]() |
(10.30) |
while OLA gives (for

![]() |
(10.31) |
- In FBS, the analysis window
smooths the filter frequency response by time-limiting the corresponding impulse response.
- In OLA, the analysis window can only affect scaling.
For these reasons, FFT implementations of FIR filters normally use the Overlap-Add method.
Time Varying Modifications in FBS
Consider now applying a time varying modification.
![]() |
(10.32) |
where
![]() |
(10.33) |



![\begin{eqnarray*}
y(m) &=& \frac{1}{N} \sum_{k=0}^{N-1} Y_m(\omega_k) e^{j\omega_k m} \\
&=& \frac{1}{N} \sum_{k=0}^{N-1} X_m(\omega_k)H_m(\omega_k) e^{j\omega_k m} \\
&=& \frac{1}{N} \sum_{k=0}^{N-1} \left\{ \sum_{n=-\infty}^\infty x(n)w(n-m)e^{-j\omega_kn} \right\} H_m(\omega_k) e^{j\omega_k m} \\
&=& \frac{1}{N} \sum_{n=-\infty}^\infty x(n)w(n-m) \sum_{k=0}^{N-1} H_m(\omega_k) e^{j\omega_k(m-n)} \\
&=& \sum_{n=-\infty}^\infty x(n) [ w(n-m) h_m(m-n)] \\
&=& \sum_{n=-\infty}^\infty x(n) [\tilde{w}(m-n)h_m(m-n)] \\
&=& (x*[\tilde{w} \cdot h_m])(m) \\
\end{eqnarray*}](http://www.dsprelated.com/josimages_new/sasp2/img1711.png)
Hence, the result is the convolution of
with the windowed
.
Points to Note
- We saw that in OLA with time varying modifications and
(a ``sliding'' DFT), the window served as a lowpass filter on each individual tap of the FIR filter being implemented.
- In the more typical case in which
is the window length
divided by a small integer like
-
, we may think of the window as specifying a type of cross-fade from the LTI filter for one frame to the LTI filter for the next frame.
- Using a Bartlett (triangular) window with
% overlap, (
), the sequence of FIR filters used is obtained simply by linearly interpolating the LTI filter for one frame to the LTI filter for the next.
- In FBS, there is no limitation on how fast the filter
may vary with time, but its length is limited to that of the window
.
- In OLA, there is no limit on length (just add more zero-padding), but
the filter taps are band-limited to the spectral width of the window.
- FBS filters are time-limited by
, while OLA filters are band-limited by
(another dual relation).
- Recall for comparison that each frame in the OLA method is filtered
according to
(10.34)
wheredenotes
.
- Time-varying FBS filters are instantly in ``steady state''
- FBS filters must be changed very slowly to avoid clicks and pops (discontinuity distortion is likely when the filter changes)
Next Section:
STFT Summary and Conclusions
Previous Section:
Downsampled STFT Filter Banks