English
Language : 

PDSP16116 Datasheet, PDF (14/18 Pages) Mitel Networks Corporation – 16 X 16 Bit Complex Multiplier
PDSP16116/A/MC
Control of the FFT
To enable the block floating point hardware to keep track
of the data, the following signals are provided :
SOBFP - start of the FFT
EOPSS - end of current pass
These inform the PDSP16116/A when an FFT is starting
and when each pass is complete. Fig.7 shows how these
signals should be used and a commentary is provided below.
To commence the FFT, the signal EOPSS should be set
high (where it will remain for the duration of the pass). SOBFP
should be pulled low during the initial cycle when the first data
words A and B are presented to the inputs of the butterfly
processor. The following cycle SOBFP must be pulled high
where it should remain for the duration of the FFT. New data
is presented to the processor each successive cycle until the
end of the first pass of the FFT. On the last cycle of the pass,
the signal EOPSS should be pulled low and remain low for a
minimum of five cycles *, the time required to clear the pipeline
of the butterfly processor so that all the results from one pass
are obtained before commencing the following pass. On the
initial cycle of each new pass, the signal EOPSS should be
pulled high and it should remain high until the final cycle of that
pass, when it is pulled low again.
* Should a longer pause be required between passes - to
arrange the data for the next pass, for example, then EOPSS
may be kept low as long as necessary - the next pass cannot
commence until it is brought high again.
CLK
SOBFP
EOBFP
EOPSS
A, B, W, WTA, WTB
A', B', WTOUT
GWR
1
2
3
4
5
67
1
2
3
n-1 n
1
2
3
45
6
7
n-5 n-4 n-3 n-2 n-1 n
1
2
start of first pass
end of first pass / start of next pass
(minimum number of lay cycles shown)
- period between other intermediate passes
is similar
Figure 8 - Use of the BFP Control Signals
1 = first cycle of
data in pass
n = last cycle of
data in pass
FFT Output Normalisation
When an FFT system outputs a series of FFT results for
display, storage or transmission, it is essential that all results
are compatible, i.e. with the binary point in the same position.
However, in order to preserve the dynamic range of the data
in the FFT calculation, the PDSP1601/A employs a range of
different weightings. Therefore, data must be re-formatted at
the end of the FFT to be pre-determined common weighting.
This can be done by comparing the exponent of given data
word with the pre-determined unversial exponent and then
shifting the data word by the difference. The PDSP1601/A,
with its multifunction 16 bit barrel shifter, is ideally suited to this
task.
What value should the Unversal Exponent take? Well,
according to theory, the largest possible data result from an
FFT is N times the largest input data. This means that the
binary point can move a maximum of log2(N) places to the
right. Hence, if we choose the Unverisal Exponent to be
log2(N) this should give us sufficient range to represent all
data points faithfully.
In practice, data output may never approach the theoreti-
cal maximum. Hence, it may be worthwhile to try various
Unverisal Exponents and choose the one best suited to the
particular application.
Data is output from the butterfly processor with a two-part
exponent: the 5-bit GWR applicable to all data words from a
given FFT and a 2-bit WTOUT associated with each individual
data word. To find the complete exponent for a given word, the
GWR for that FFT must be modified by its WTOUT as shown
in Table 6. The result is the number of places the binary point
has shifted to the right during the course of the FFT.
This value must be compared with the Unversial Exponent
to determine the shift required. This is done by subtracting it
from the Unversial Exponent. The number of places to be
shifted is equal to the difference between the two exponents.
The shift can be implemented in a PDSP1601/A. The shift
value is fed into the SV port.
14