The Filter Bank Summation (FBS) Interpretation of the Short Time
Fourier Transform (STFT)
Downsampled STFT Filter Banks
Constant-Overlap-Add (COLA) Cases
Periodic-Hamming OLA from Poisson Summation FormulaSearch Spectral Audio Signal Processing
Would you like to be notified by email when Julius Orion Smith III publishes a new entry into his blog?
Matlab code:
ff = 1/R; % frame rate (fs=1) N = 6*M; % no. samples to look at OLA sp = ones(N,1)*sum(w)/R; % dc term (COLA term) ubound = sp(1); % try easy-to-compute upper bound lbound = ubound; % and lower bound n = (0:N-1)'; for (k=1:R-1) % traverse frame-rate harmonics f=ff*k; csin = exp(j*2*pi*f*n); % frame-rate harmonic % find exact window transform at frequency f Wf = w' * conj(csin(1:M)); hum = Wf*csin; % contribution to OLA "hum" sp = sp + hum/R; % "Poisson summation" into OLA % Update lower and upper bounds: Wfb = abs(Wf); ubound = ubound + Wfb/R; % build upper bound lbound = lbound - Wfb/R; % build lower bound end
In this example, the overlap-add is theoretically a perfect constant
(equal to
) because the frame rate and all its harmonics
coincide with nulls in the window transform (see
Fig.9.24). A plot of the steady-state
overlap-add and that computed using the Poisson Summation Formula (not
shown) is constant to within numerical precision. The
difference between the actual overlap-add and that computed
using the PSF is shown in Fig.9.23. We verify that the
difference is on the order of
, which is close enough to
zero in double-precision (64-bit) floating-point computations. We
thus verify that the overlap-add of a length
Hamming window using
a hop size of
samples is constant to within machine
precision.
Figure 9.24 shows the zero-padded DFT of the
modified Hamming window we're using (
) with the
frame-rate harmonics marked.
In this example (
), the upper half of the main lobe
aliases into the lower half of the main lobe. (In fact,
all energy above the folding frequency
aliases into the
lower half of the main lobe.) While this window and hop size still
give perfect reconstruction under the STFT, spectral modifications
will disturb the aliasing cancellation during reconstruction. This
``undersampled'' configuration is suitable as a basis for
compression applications.
Note that if we were to cut
in half to
, then the folding
frequency in Fig.9.24 would coincide with the
first null in the window transform. Since the frame rate and all its
harmonics continue to land on nulls in the window transform,
overlap-add is still exact. At this reduced hop size, however, the
STFT becomes much more robust to spectral modifications, because all
aliasing in the effective downsampled filter bank is now weighted by
the side lobes of the window transform, with no aliasing
components coming from within the main lobe. This is the central
result of [10].
