Hi Neal,
Some of this may be obvious to you, but I pass it along for what it's worth.
Please pardon my ASCII. I'd like this to make it through people's spam
filters!
As I'm sure you're aware, the general approach to correlating many
antennas together
tends to favor a triangular processing architecture as shown below.
Grp 0 Grp 1 ... Grp M Grp N
| | | |
| | | |
_____ _____ _____ _____ _______
Grp 0 - | C00 | -> | C01 | -> ... -> | COM | -> | C0N | --> |
|_____| |_____| |_____| |_____| |
| | | |
__|__ __|__ __|__ |
Grp 1 - | C00 | -> | C01 | -> ... -> | COM | --> |
|_____| |_____| |_____| |
| | |
... ... ... | DATA
__|__ __|__ | ACCUM
Grp M - | C00 | -> | C01 | --> |
|_____| |_____| |
__|__ |
Grp N - | C00 | --> |
|_____| |________
M = N-1 above, for notational simplicity
You certainly have too much processing to do in a single ROACH. You will
have to divide and conquer somehow. Grouping the samples from several
antennas
into groups and grouping of smaller correlators into a (at least
conceptually)
triangular array, as shown above would be one approach.
You will probably have to add delay stages for each antenna ahead of
the correlators to align the wavefront. You will also have to find a
way to
initially distribute the signals.
300 MHz is a little fast; you may have to back off to 150 MHz at least
initially by parallelizing the data.
The CASPER way of passing signals around is to use a big Ethernet
switch. That
would take care of all of your interconnects in the triangle above and also
to the data accumulator to the right above.
As an alternative architecture you may want to have a look at powerMx.
See www.powermx.org
Rich