Next |
Prev |
Up |
Top
|
Index |
JOS Index |
JOS Pubs |
JOS Home |
Search
Improving the Channel Filters
Recall that each FFT bin can be viewed as a sample from a bandpass
filter whose frequency response is a frequency-shift of the FFT-window
Fourier transform (§9.3). Therefore, the frequency
response of a channel filter obtained by summing Nk adjacent FFT
bins is given by the sum of Nk window transforms, one for each FFT
bin in the sum. As a result, the stop-band of the channel-filter
frequency response is a sum of Nk window side lobes, and by
controlling window side-lobe level, we may control the stop-band gain
of the channel filters.
The transition width from pass-band to stop-band, on the other
hand, is given by the main-lobe width of the window transform
(§5.5.1). In the previous subsection, by zero-padding
the band (line (1) above), we implicitly assumed a transition
width of one bin. Only the length N rectangular window can be
reasonably said to have a one-bin transition from pass-band to
stop-band. Since the first side lobe of a rectangular window transform
is only about 13 dB below the main lobe, the rectangular window gives
poor stop-band performance, as illustrated in
Fig.10.33. Moreover, we often need FFT data
windows to be shorter than the FFT size N (i.e., we often need
zero-padding in the time domain) so that the frame spectrum will be
oversampled, enabling various spectral processing such as linear
filtering (Chapter 8).
One might wonder how the length N rectangular window can be all that
bad when it gives the perfect reconstruction property, as demonstrated
in the previous subsection. The answer is that there is a lot of
aliasing in the channel signals, when downsampled, but this aliasing
is exactly canceled in the reconstruction, provided the channel
signals were not modified in any way.
Going back to §10.7.3, we need to replace the zero-padded band (1)
by a proper filtering operation in the frequency domain (a ``spectral
window''):
BandK2 = Hk .* X;
x(k,:) = ifft(BandK2); % full rate
BandK2a = alias(BandK2,Nk);
xd{k} = ifft(BandK2a); % crit samp
where the channel filter frequency response Hk may be prepared in
advance as the appropriate weighted sum of FFT-window transforms:Hideal = [z1,ones(1,Nk),z2];
Hk = cconvr(W,Hideal); % circ. conv.
where z1 and z2 are the same zero vectors defined in
§10.7.3, and cconvr(W,H) denotes the circular
convolution of two real vectors having the same length [264]:function [Y] = cconvr(W,X)
wc=fft(W); xc=fft(X);
yc = wc .* xc;
Y = real(ifft(yc));
Note that in this more practical case, the perfect reconstruction
property no longer holds, since the operationBandK2a = alias(Hk .* X, Nk);
is not exactly invertible in general.11.18However, we may approach perfect reconstruction arbitrarily closely by
only aliasing stop-band intervals onto the pass-band, and by increasing
the stop-band attenuation of Hk as desired. In contrast to the PR
case, we do not rely on aliasing cancellation, which is valuable when
the channel signals are to be modified.
The band filters Hk can be said to have been designed by the
window method for FIR filter design [224].
(See functions fir1 and fir2 in Octave and/or the Matlab
Signal Processing Toolbox.)
Next |
Prev |
Up |
Top
|
Index |
JOS Index |
JOS Pubs |
JOS Home |
Search
[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]