Hi Edguardo
If I recall right, the tutorial is a 2048 point real PFB + FFT (1024
channels), a 1024x1024 corner turn, and then a 1024 point complex FFT to
give 1M channels. You are right that this isn't exactly the same as a 1M
point FFT. The main difference you'll see is scalloping on the edge
channels, a tooth-like pattern repeating every 1024 channels that arises
due to the filter response of the first FFT.
To explain, this is essentially a clever implementation of a "zoom FFT",
where you select a single channel, form a time series from it, and then
compute another FFT on the time series. Zoom FFTs work as each channel
of an FFT can be thought of as a critically-sampled filter (with complex
output).
If you think of a single channel, the first FFT filters and downsamples
by a factor of 1/1024. We then buffer up 1024 channels, and feed it to a
second FFT, and get very fine channel resolution. The sneaky part is
that as this is implemented on an FPGA, the second FFT is free for
1023/1024 clock cycles. So, we can use the second FFT multiple times for
free -- the corner turn arranges data so that we can continually pump in
more data, getting 1024x1024 channels in total.
Hope that makes sense!
- Danny
Edgardo Huaracán Durán <mailto:[email protected]>
October 10, 2014 at 10:25 AM
Hi all,
I’m trying to understand the approach you use in the 1 M channel
tutorial situated in the old tutorial link
(https://casper.berkeley.edu/wiki/Old_Tutorials) called high
resolution spectrometer.
I've take a look at other similar implementations like ''A 6*320-MHz
1024-Channel FFT Cross-Spectrum Analyzer for Radio Astronomy''
(http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1458140), where
they use the corner turner technique. Basically they implement the
Cooley-Tukey FFT algorithm to have a large DFT coming from two smaller
DFT. They use a first stage of corner turner previous to the first DFT
and acumulate time samples column wise, to then enter to the First DFT
row wise. There is another corner turner stage at the output of the
First DFT and after twiddle factor multiplications the data is input
again to another DFT.
I understand the mathematics behind the above text, but seems to me
that the approach used on your 1 MChannel Spectrometer is a little
different from that treatment. I can't find the twiddle factors in
your model and also you use just one corner turner stage instead of
two. So i'm not able to understand how your tutorial works in a
mathematical or theoretical sense.
Could you give me an advice? where can i find a document to have more
details?
Thanks in advance.
--
/Edgardo Huaracán Durán/
/
/
/Observatorio Astronómico Nacional
/
/
Universidad de Chile/