Tutorial On Polyphase Transforms
Tutorial On Polyphase Transforms
fred harris
CUBIC Signal Processing Chair
Communication Systems and Signal Processing Institute
San Diego State University, San Diego, California 92182
e-mail: fred.harris@sdsu.edu
1. INTRODUCTION
A polyphase transform is an algorithm for simultaneously (and efficiently) performing the functions required to synthesize a multichannel receiver for digitized
data. These functions entail the spectral translation of each center frequency to
baseband, the bandwidth reduction of the translated spectrum to match the signal bandwidth, and resampling of the output series to match the reduced channel
bandwidth. This process, called channelization or de-multiplexing, is equivalent
to synthesizing a bank of narrowband filters, which span the spectral range of the
input signal. When this process is performed by the polyphase transform, the
center frequencies of the filter bank are equally spaced but otherwise arbitrary
and the spectral shapes of the filters are identical but otherwise arbitrary.
The direct approach to this task is the digital simulation of the bank of conventional homodyne (single) conversion receivers. The three-step process of frequency translation, bandwidth reduction, and resampling is most easily visualized
as separate and sequential operations preformed in the listed order. In the direct
implementation of the homodyne filter bank, the workload required for a single
channel is repeated for each channel. Suppose the workload per channel is N1
(operations/output) and the channel resampling ratio is M (inputs/output) then,
the parameter describing the filter complexity, the per channel workload is the
ratio N1/M (operations/input). To form N2 identical channels the total workload
for the channel bank is N2*N1/M (operations/input).
In the polyphase transform implementation of the channel bank the order of the
three required operations (frequency translation, bandwidth reduction, and resampling) are reversed. At first glance this seems to violate the Nyquist criterion
that in order to avoid aliasing the bandwidth reduction must occur prior to the resampling. For a time invariant linear system this is true. This is not true for the
polyphase transform. In polyphase processing, the resampling of the input is accomplished by partitioning the filter into subfilters (called polyphase segments) to
which the input is sequentially commutated. The sequential commutation performs the resampling and also converts the filter to a "periodically time varying
filter". This description reflects the fact that the impulse response of this partitioned filter depends upon the commutator position when the impulse arrives at
the filter. As strange as it might seem, the aliasing that occurs at the input to the
periodically time varying filter is exactly cancelled at the output of the filter. The
unaliased bandwidth reduction occurs when the aliased terms are cancelled
during the summation of the outputs from the polyphase segments. By performing a phase-shifted summation over the polyphase outputs different aliasing
terms can be selected to survive the summation. This phase shifted summation
performs the heterodyning or frequency selection of the filter bank and is performed by an FFT.
In the polyphase transform a single prototype filter is shared by the entire filter
bank, and the spectral positioning of the filter bank is determined by an FFT after
the resampling and filtering. Note the computational efficiency of this structure.
The workload for the filter is N1/M (operations/input) and the workload for the
transform is (N2*log (N2) ) or log (N2) (operations/output). Since for each input
data block (of length M) the filter bank computes an output block (or length N2)
we can refer the workload to the input data rate to obtain a total workload for the
entire filter bank of [log (N2 ) + N1 /M] (operations/input) as opposed to N2*N1 /M.
For instance, for a filter length N1 = 256, resampling rate M=16, and number of
output channels N2 = 32, the direct implementation would requi4re 512 (operation/input) while the polyphase transform implementation would require only 21
(operations/input).
x(n-1)
x(n-2)
h(0)
h(1)
h(2)
........
x(n-N+1)
x(n-N)
h(N-1)
h(N)
....x(n+1)
........
M:1
......
y(n),....
M:1
h(n)
x(n)
y(n),....
y(nM),....
y(nM),....
Data is delivered to the filter at the input sample rate fs . The filter reduces the
bandwidth by a factor of M hence the filter's output sample rate is reduced by the
same factor to fs/M. A filter normally produces one output for each M inputs.
Since this filter is non-recursive, the resampling is accomplished by computing a
filter output after the arrival of M new inputs. Thus each data point in the filter will
shift M positions between computations of an output point. If we follow a single
data point through the filter we observe that it intersects or engages only a subset of the filter coefficients, namely those that are separated by M points. This is
indicated in figure 2.
If the first coefficient that an input data point engages is h(r) as it shifts through
the filter, it will also engage coefficients h (r+2M, h (r+3M), , h (r+ [L - 1] M). In
general, a given data point will engage those coefficients with a fixed index r1 for
coefficient indices of the form shown in equation 1.
N = r1 + M r2
r1 = 0, 1,2, M 1
r2 = 0, 1, 2, L - 1
(1)
We now partition the filter set into sub-filters called polyphase segments with
each segment identified by the r1 index. This is indicated in equation 2.
r1
The polyphase segments are accessed by delivering the data to their inputs via
an input commutator, which starts at the r1 index M-1 and decrements to index 0.
After the commutator has executed one cycle and has delivered M input samples
to the filter, a single output is taken as the summation of the outputs from the
polyphase segments. This is shown in figure 3.
....x(n+1)
h(r)
h(r+M)
h(r+(L-1)M)
h(r+2M)
........
......
yr(nM)
h (n) = h(r+nM)
r
x(n),....
yr(nM)
h(0+ nM)
y(nM)
n-1
h(1+ nM)
n-2
h(2+ nM)
x(n)
n-3
h(3+ nM)
n-(M-2)
h(M-2+nM)
n-(M-1)
h(M-1+nM)
Note that commutating the input data to the M polyphase segments in figure 3 is
identical to delivering M new samples to the filter shown in figure 1 hence the fi lter outputs must be also be identical.
h (n) e j n
(3)
< - - - - > H ( - )
Thus given the impulse sresponse h (n) of the prototype low pass filter, we form
the impulse response for the carrier centered version by simply multiplying the
coefficients h (n) with the complex terms exp (j n) to obtain new coefficients g(n)
of the form shown in equation 4.
g (n) = h (n) exp (j n)
(4)
j r 1
e j M r2
(5a)
(5b)
We now select the digital frequency to which we translate the prototype filter.
We select so that a single period of the series exp (j n) is harmonically related to M, the depth of the commutated polyphase filter partition; this is indicated
in equation 6.
= k (2/M)
(6)
(7a)
(7b)
Note that the complex exponential multiplying the resampled prototype coefficient
only has one index, the r1 index which identifies the polyphase segment and that
the r2 index which identifies positions within the segment have been eliminated
by the appropriate selection of the sinusoid's period. The remarkable results
indicated in equation 7 is that the resampling of the complex exponential has
resulted in a complex exponential term which is a constant for each polyphase
segment. This constant can be applied after the polyphase segment summation
is performed. This is shown in figure 4 where the first index associated with the
putput indicates time and the second index indicates frequency.
N
M
j0k
h0(n)
e
y(nM,k)
j1 k
h1(n)
e
h2(n)
x(n)
k= 2M
j2k
j3k
h3(n)
e
hM-2(n)
e
j(M-2) k
j(M-1) k
hM-1(n)
FIGURE 4. M-TO-1 RESAMPLED, CARRIER CENTERED POLYPHASE FILTER
h0 (n)
h1 (n)
h2 (n)
x(n)
h3 (n)
y0 (nM)
y(nM,0)
y1 (nM)
y(nM,1)
y2 (nM)
y(nM,2)
y3 (nM)
M
Point
DFT
y(nM,3)
(FFT)
hM-2 (n)
hM-1 (n)
yM-2 (nM)
y(nM,M-2)
yM-1 (nM)
y(nM,M-1)
M was also the resampling ratio. It is not necessary to have the resampling ratio
match the lenghtof the transform. The resampling ratio can be larger than, equal
to, or smaller than the transform length. When they were equal, the commutator
delivered data to all N2 (formally M) polyphase sub filters before the transform
was exercised. For any other resampling ratio say M, which is less than N2, the
cummutation operation becomes slightly more complicated. We can best
examine the additional complexity by way of illustration. For instance, we assume
a filter of lneegth 32 a factor of 3-to-1. The indices of the input data in the
polyphase partition of the linerar fitler are indicated in Table 1. For three
successive output condition. The bold entries in the table indicate the latest three
data points.
h0:
h1:
h2:
h3:
h4:
h5.
h6:
h7:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
FIRST OUTPUT
7
6
5
4
3
2
1
0
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
SECOND OUTPUT
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
11
13
12
11
10
9
8
7
6
THIRD OUTPUT
h0:
h1:
h2:
h3:
h4:
h5:
h6:
h7:
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
INITIAL CONDITION
34 26
33 25
32 24
31
30
29
28
27
18
17
16
23
22
21
20
19
10
9
8
15
14
13
12
11
2
1
0
7
6
5
4
3
34
33
32
31
30
29
28
27
BARREL ROLL
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
Initial
Data
Circular
Shift
Polyphase
Filter
d 0 (n-1)
d 0 (n)
h 0 (n)
y0 (3n)
y1 (3n)
d 1 (n-1)
d 1 (n)
h 1 (n)
d 2 (n-1)
d 2 (n)
h 2 (n)
d 3 (n-1)
d 3 (n)
h 3 (n)
y0 (3n)
y0 (3n)
FFT
d 4 (n-1)
d 4 (n)
h 4 (n)
d 5 (n-1)
d 5 (n)
h 5 (n)
d 6 (n-1)
d 6 (n)
h 6 (n)
d 7 (n-1)
d 7 (n)
h 7 (n)
y0 (3n)
x(n)
y0 (3n)
y0 (3n)
y0 (3n)
One final note is that there is no need for the filter length to be an integer multiple
of the transform length. If they were so related, each polyphase segment would
be of the same length. If they are not so related then there are two lengths for
the polyphase segments and the two differ by one point.
5. BIBLIOGRAPHY
Comparing Traditional FFT Based Frequency Domain Excision with Polyphase
Transform Excision
(with Hana Abusalem)
Institute of Navigation Conference (ION-99), 28-June, 1-July 1999, Boston, MA
On the Relationship between Multirate Polyphase FIR Filters and Windowed, Overlapped, FFT Processing,
23rd Annual Asilomar Conference on Signals, Systems, and Computers,
Pacific Grove, CA., 30 October to 1 November 1989.
Convolution, Correlation, and Narrowband Filtering with the DFT,
IEEE, ESIME Conference Semena de la Ingenieria en Communicaciones Electricas; Mexico City, July 1980.