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.