Dear Dan, Thanks for this input. I didn't think of that! I'll run further tests and check the results.
Thanks, Regards, Mugundhan On Sun 8 Sep, 2019 23:08 Dan Werthimer, <d...@ssl.berkeley.edu> wrote: > > > dear v. mugandhan, > > as you probably know, measuring the spectrum of an adc by terminating it's > input or leaving it open is not very useful: > adc's have a DC offset that changes with temperature. > if the DC offset happens to be near an edge between two ADC staircase > levels, the adc will chatter like crazy between these two levels, > even a few microvolts of noise or RFI will cause the ADC to chatter > between two or three levels, and the spectrum will be dominated > by interleave spurs and RFI. when the offset drifts so it's right between > two levels, the spectral spurs and RFI will be smaller... > if you add a few LSB of noise or signal, then the pattern is not dependent > on the DC offset. > > best wishes, > > dan > > > > > Dan Werthimer > Marilyn and Watson Alberts Chair > Astronomy Dept and Space Sciences Lab > University of California, Berkeley > > > On Fri, Sep 6, 2019 at 9:51 PM Mugundhan vijayaraghavan < > v.vaishnav151...@gmail.com> wrote: > >> Hello, >> >> Since there is an interest here in red pitaya based designs, I present >> here one of my recent trials with the board. I was able to implement a >> single channel autocorrelation spectrometer with a 4096 point (2048 >> positive frequency channels) in the red pitaya (125-14) using a combination >> of the casper signal processing blocks and some HDL. The design is as >> follows: >> >> The ADC data is converted to 2s complement, and this is input to a >> simulink ip block, instantiated in the vivado block design. In simulink, >> the ADC data is polyphase filtered and FFT'd to 4096 points and the FFT >> spectra is accumulated for 4096 (fixed as of now) times, giving an >> effective integration time of ~ 130 ms. The accumulated spectrum and the >> respective data valid is the output of the simulink block. This is then >> generated as an IP repository for the Zynq-7010 FPGA, and is imported as an >> IP to the block design. The data from the spectrometer block is recast as a >> 64 bit word (two spectral points concatenated) using the AXI DWIDTH >> converter block and the data is written into a BRAM using Demin's BRAM >> writer block. There is a status signal which informs the BRAM that the >> samples have been written into the former, and then the PS starts reading >> this BRAM as a memory mapped IP, using Pavel Demin's BRAM reader core. The >> c program needed for the control of the spectrometer is executed in the >> linux running on the RP's PS. >> >> I carried out a preliminary testing using noise signals (attached sample >> spectra). I find that in the spectrum there are spurs at fs/4+/-fs/8, >> fs/4+/-fs/16 and so on, which show up when using a 50 ohm termination at >> the ADC input or keeping the input open. When providing a noise signal of ~ >> -30dBm strength, these spurs disappear, suggesting they are additive in >> nature. I'm investigating the spurs presently ! >> >> Attached with this mail is the github repo that contains the vivado >> project tcls, block diagram files, the slx files for the simulink design >> and the C code for the control and acquisition. I'd be glad if people in >> the community use this and see if they are able to get similar or better >> results ! I'm also working on porting the design to a 2 channel PoCo like >> design, which I'll share here once the preliminary tests are done. >> >> github link: https://github.com/mugundhan1/rp_fft_spectrometer.git >> >> Note: Please include pavel demin's bram axis writer and bram axi reader >> ips to the IP repo path in vivado (from >> https://github.com/pavel-demin/red-pitaya-notes/tree/master/cores). I >> have not uploaded all the files generated by vivado itself as the repo size >> becomes close to a GB then. Any feedback is definitely appreciated ! >> >> >> -- >> V. Mugundhan >> >> -- >> 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/CAD560x%3DaCXKWW5M3ypsHmARDfHrGqW-JMWFDQTSv2Fqc22FFHA%40mail.gmail.com >> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAD560x%3DaCXKWW5M3ypsHmARDfHrGqW-JMWFDQTSv2Fqc22FFHA%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_vFC7g_2Z_hH6jCsgAe1SSLUjzuOwCWmQ1vGTc%3DtYieF7w%40mail.gmail.com > <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAGHS_vFC7g_2Z_hH6jCsgAe1SSLUjzuOwCWmQ1vGTc%3DtYieF7w%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/CAD560xn-a5xU9-6rRkFG%3DWkAukUK7tB706y3sHnH%3DPrQi39-Ww%40mail.gmail.com.