Re: [casper] On FFTs

2015-12-17 Thread Andrew Martens
Hi Mugundhan

I am including the CASPER list in my reply as there are others who may be
able to give advice.

Most of our blocks are targeted at high bandwidth applications where the
sampling rate is high and the data must be parallelised to allow it to be
processed. The closest thing we have to a single real input FFT are the
fft_biplex_2x and fft_biplex_4x blocks. You may want to look at the Xilinx
FFT in this case.

The spectrometer tutorial may be referring to the fft_wideband_real block
which outputs the spectral channels differently to the fft_biplex_2x block.

Regards and good luck
Andrew




On Wed, Dec 16, 2015 at 7:30 AM, Mugundhan V.  wrote:

> Hello Andrews,
>
> I'm trying to build a spectrometer with Roach and QuadADC. For an initial
> trial, I'm simulating the design. I have set the simulink period to a
> sampling period and set the adc_clk0 as the clock in the mssge block. The
> sampling, the output of the PFB all look good. I'm currently using a biplex
> fft 2x block (as the other blocks keeps throwing up some ititialization
> error), where I use only a single input and make all the other inputs 0.
> From the documentation, I learn that the out1 corresponds to input channel
> streams 0 and 2, while out2 corresponds to input channel streams 1 and 3.
> But from the wideband spectrometer wiki, it says that the *spectral
> channels* out1 outputs the even spectral channels and out2 outputs the odd
> spectral channels. Am I right in understanding this ? So, when multiple
> streams are used, it it like the following for 2 input streams  ?:
>
> clk   out1 out2
>
>  1 inp0;spec chan 0   inp0:spec chan 1
>
> 2 inp1;spec chan 0inp0;spec chan 1
>
> 3   inp0;spec chan 2   inp0:spec chan 3
>
> 4   inp1;spec chan 2   inp1:spec chan 3
>
>
> On a side note, Is there a single FFT block which will give me do fft on a 
> single input real stream?
>
> Thank you !
>
>
> --
> Mugundhan V.
> Junior Research Fellow (J.R.F)
> Gauribidanur Radio Observatory,
> Indian Institute of Astrophysics/Calcutta University
>
>


Re: [casper] Error with snapshot block

2015-12-17 Thread Jack Hickish
Hi Roberto,

I think if you tie the external sync to 1 (so it has no edges), you have to
issue a software sync. You can do this with the man_trig optional argument
of snapshot_get():

roach.snapshot_get('snap_name', man_trig=True)

Hope that helps,
Jack

On Thu, 17 Dec 2015 at 18:58 Roberto F.  wrote:

> Hi there,
>  I'm working on the ROACH II and came across a problem with the snapshot
> block. I put the snapshots to capture the signal from the ADC (adc5g) usign
> the following configuration:
>   -number of samples: 2^16
>   -Data width: 64
>   - check Start delay support and Use DsP48s to implement counters.
>
> The din comes from a bus of length 64, this are all the samples of one of
> the channels of the ADC appended.
> we and trig ports with a constant set to one.
> This configuration has work but recent it started to througth the
> following error:
> Traceback (most recent call last): File "snap_shot_plot.py", line 254, in
>  exit_fail() File "snap_shot_plot.py", line 247, in 
> continuePloting = continuous_plot(fpga) File "snap_shot_plot.py", line 163,
> in continuous_plot adc00, adc01, adc10, adc11, adc20, adc21 = get_data()
> File "snap_shot_plot.py", line 65, in get_data hola =
> numpy.array(adc5g.get_snapshot(fpga, "snapshot0")) File
> "/home/roach/Desktop/Roberto/git/ROACH2_ADC5g_Calibration/python/adc5g/tools.py",
> line 31, in get_snapshot grab = roach.snapshot_get(snap_name,
> man_trig=man_trig, wait_period=wait_period) File
> "/usr/local/lib/python2.7/dist-packages/corr/katcp_wrapper.py", line 946,
> in snapshot_get raise RuntimeError("A snap block logic error occurred or it
> didn't finish capturing in the allotted %2.2f seconds. Reported %i bytes
> captured."%(wait_period,bram_size)) RuntimeError: A snap block logic error
> occurred or it didn't finish capturing in the allotted 2.00 seconds.
> Reported 0 bytes captured.
>
> I tried to seek the error out, but the only thing that i came across is
> that the status register in the snapshot block has value 0.
>
> Could someone give me some advice on this matter?
>
> Greatings,
>   Roberto Fuentes
>