hi franco,

are you looking for an FFT with a real input and complex output?

you mentioned you are connected the unused inputs of the the biplex_real-4x
to ground.
this is useful, as the compiler should remove all the unused parts of the
FFT,
although it's probably not as resource efficient as a dedicated single
input real to complex FFT.

if you need further reduction in resources,
nitish recently developed a single stream complex to complex fft.
nitish's posting on casper's snap slack channel is appended below .

you could modify nitish's design to compute  two reals in one complex FFT,
or a single real of N points in an N/2 complex FFT.

best wishes,

dan

------------------------------
new messages
Nitish <https://app.slack.com/team/UMWDNQD7W> 10:54 PM
<https://casper-astro.slack.com/archives/CMNK6V19Q/p1576911266004700>
Hi, in reference to our previous discussion concerning the complex FFT of a
single stream of samples, we wanted to share the piece of the design which
worked, might prove useful to someone. So, we clock the SNAP at 250 MHz and
ADC is done at 250 MSps, thus one sample per clock cycle. We wished to
perform complex FFT, which would require a block taking 1 stream at 1
sample per clock. The blocks available could only take powers of 2 samples
in parallel from a given stream, thus we had to find another way. Thanks to
Jack Hickish, we managed to make a small design with the FFT internal
blocks which performs the job. Please find attached. Channels 1 and 2 are
two separate streams (two distinct signals) coming from the mixer and they
contain 1 complex sample per clock cycle. The example shows a 2048 points
FFT. The unscrambler block is needed to put some order in the frequency
channels output. The channels from any one output have to be put in order
using this small code for example:

for i in range(0, 1024):
    spectrum1.append(channels1[i])
    spectrum1.append(channels1[2047 - i])

(edited)
Single_stream_complex_FFT.jpg
[image: Single_stream_complex_FFT.jpg]
<https://files.slack.com/files-pri/THU1J9JDC-FRYDQAY5S/single_stream_complex_fft.jpg>





On Mon, Dec 30, 2019 at 9:31 AM Franco <francocuro...@gmail.com> wrote:

> Hello everyone,
>
> Is there an FFT block in the CASPER library (ROACH2) that can be used as 1
> input -> 1 output? The closest thing I've found is the 'fft' block which
> has a minimum of 2 inputs.
>
> For now I'm using the fft_biplex_real-4x and zeroing 3 of the 4 inputs,
> but that's wasteful. I've also tried the Xilinx FFT block, but it has a
> strange problem where the noise floor increase considerably when injecting
> a tone at the middle point between two FFT bins.
>
> Thanks,
>
> Franco Curotto
>
> --
> 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/CACBfcEnPcxk-k4oFTD__%2BVYkTsGTSc%2B85uiLqejdEUthdGXwLA%40mail.gmail.com
> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CACBfcEnPcxk-k4oFTD__%2BVYkTsGTSc%2B85uiLqejdEUthdGXwLA%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/CAGHS_vFeEcLgYhcYLfL8KuYM4%3DzcDkmk4yC%2BgWWqc%2BttDi40pA%40mail.gmail.com.

Reply via email to