Hi all
I do agree. We are routinely doing 16 million channels FFT using
ROACH2+GPU (note you need a 6giga GPU memory to to this), basically to
track RFI. The fact GPU works in floating point simplifies greatly the
design, since you end with huge narrow features. Not easy to deal with
in a fixed point environment.
Another concern may be first stage channel isolation,depending on
what you have in, and what you are looking for. No such concern in a one
shot direct FFT. CUDA has been found efficient for very very long FFT.
Regards
Jean Borsenberger
On 10/03/2020 18:10, Dan Werthimer wrote:
hi molly,
regarding making a large FFT from small FFT's:
as jason pointed out, there's a way to compute a million point
spectrum from lots of small FFT's.
the technique jason described is to implement a course channelization
polyphase filter bank spectrometer to divide the band into 1024 sub-bands,
and then implement a fine channelizer FFT or PFB to divide each of the
sub-bands up into another 1024 channels.
jason also pointed out this technique results in scalloping.
there's also a way to compute a 1M point FFT without scalloping,
mathematically identical to a 1M point FFT,
but composed of 2048 1Kpoint FFT's:
a) fill a 1024 by 1024 complex array with 2^20 complex points
b) do 1024 1K point FFT's on the columns
c) multiply all million points by twiddle factors (complex
coefficients).
d) do 1024 1K point FFT's on the rows
we used this technique for serendip 3 and 4 seti spectrometers.
there are several variations on this theme of computing large FFT's
from small ones -
i can dig probably up some references if you want...
but i think danny prices and my suggestion of shipping raw ADC samples
from your roach2 to a CPU/GPU for spectral analysis
(done in floating point, easy to implement), will make your life more
enjoyable.
there's some good casper open source code for FPGA/GPU spectrometers...
best wishes,
dan
On Mon, Mar 9, 2020 at 11:47 PM Jason Manley <jman...@ska.ac.za
<mailto:jman...@ska.ac.za>> wrote:
On FPGAs, ~million channel spectrometers are typically built by
doing a 1024ch PFB, followed by a matrix transpose (to collect
1024 samples of a single channel together) and another FFT.
Mostly, you'll find you run out of memory if you try to do a
million-channel FFT directly on an FPGA.
There are implications for this 2-D approach, though. If you use a
critically-sampled filterbank in the first stage, your channels
cross-over at -6dB, and so if you input a signal near this
intersection point, you'll get some fraction of the power in each
of the two adjacent channels. After you then do a second FFT on
these two channels, you get a spectrum that has some power in one
channel, and also power in a channel 1024 channels later. So it
now looks like you've got two CW signals going in, 1024 channels
apart, even if you only actually had one CW tone.
There was a million channel spectrometer built this way for a
ROACH1 tutorial at the 2009 CASPER workshop. That used to live on
the CASPER SVN server, but is no longer maintained. On a ROACH2,
with about 1GHz bandwidth, I'd expect you might possibly achieve
something closer to 16M channels, if you wanted (4k by 4k). No
doubt this won't work in modern Simulink toolflows, but it might
be a useful reference... try here:
https://casper.ssl.berkeley.edu/svn/trunk/projects/roach_mspec/
Jason Manley
DSP Manager
SKA-SA
Cell: +27 82 662 7726
Work: +27 21 506 7300
> On 10 Mar 2020, at 08:23, James Smith <jsm...@ska.ac.za
<mailto:jsm...@ska.ac.za>> wrote:
>
> Hello Molly,
>
> We have done something broadly similar using ROACH2 and katADC,
but only 1024 channels:
>
https://github.com/ska-sa/AVNRoachGateware/tree/master/WideBandSpectrometer
>
> What frequency are you looking at? The only thing I'm thinking
is that you might struggle to get the design to meet timing if
you're clocking the board too fast.
>
> Shout if you get stuck.
>
> Regards,
> James
>
>
> On Mon, Mar 9, 2020 at 8:34 PM Molly Smith <molsm...@ucdavis.edu
<mailto:molsm...@ucdavis.edu>> wrote:
> Hello,
>
> I'm new to CASPER and am trying to implement a million channel
spectrometer on ROACH2 with the katADC. Does anyone know of any
useful resources or has done something similar?
>
> I have experience using Vivado for newer FPGA development and am
comfortable with Verilog & VHDL. I'm not familiar with the
Simulink/ISE workflow and have been relying on the tutorials to
come up to speed.
>
> I'm currently trying to modify Tutorial 3 (wideband
spectrometer) to use the katADC instead.
>
> Thanks,
> Molly
>
> --
> You received this message because you are subscribed to the
Google Groups "casper@lists.berkeley.edu
<mailto:casper@lists.berkeley.edu>" group.
> To unsubscribe from this group and stop receiving emails from
it, send an email to casper+unsubscr...@lists.berkeley.edu
<mailto:casper%2bunsubscr...@lists.berkeley.edu>.
> To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/ad7c8afb-5775-401a-b53f-e769ba5d53e1%40lists.berkeley.edu.
>
> --
> You received this message because you are subscribed to the
Google Groups "casper@lists.berkeley.edu
<mailto:casper@lists.berkeley.edu>" group.
> To unsubscribe from this group and stop receiving emails from
it, send an email to casper+unsubscr...@lists.berkeley.edu
<mailto:casper%2bunsubscr...@lists.berkeley.edu>.
> To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAG67D35z5XjBi4mu1s8e7EqCKnnV3NDf7r4UUT%2BQHr9LfF6EkQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google
Groups "casper@lists.berkeley.edu
<mailto:casper@lists.berkeley.edu>" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to casper+unsubscr...@lists.berkeley.edu
<mailto:casper%2bunsubscr...@lists.berkeley.edu>.
To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/8C7473F8-95E1-4A6D-A2E5-E7A4A314EE3D%40ska.ac.za.
--
You received this message because you are subscribed to the Google
Groups "casper@lists.berkeley.edu" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to casper+unsubscr...@lists.berkeley.edu
<mailto:casper+unsubscr...@lists.berkeley.edu>.
To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vHvjkyQ5gbzw%2B8R4Lz-awj%3DZ3%2BKmfeut%2Byp-4sB8nN%3D2g%40mail.gmail.com
<https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vHvjkyQ5gbzw%2B8R4Lz-awj%3DZ3%2BKmfeut%2Byp-4sB8nN%3D2g%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"casper@lists.berkeley.edu" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to casper+unsubscr...@lists.berkeley.edu.
To view this discussion on the web visit
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/2b0d5593-0bf4-45d4-0a2d-6597f37cb639%40obspm.fr.