Hi All – Thanks for the responses – so it all works as I thought (which is reassuring).
Regards, Richard From: Aaron Parsons [mailto:apars...@berkeley.edu] Sent: Monday, December 05, 2016 10:58 AM To: Jayanth Chennamangalam <jayan...@gmail.com>; Richard Prestage <rpres...@nrao.edu> Cc: casper@lists.berkeley.edu Subject: Re: [casper] VEGAS PFB / FFT The CASPER PFB uses a sample NTAPS times, using a sliding window that jumps by NCHAN time samples. On Mon, Dec 5, 2016 at 7:33 AM Jayanth Chennamangalam <jayan...@gmail.com<mailto:jayan...@gmail.com>> wrote: Hi Richard, In the VEGAS LBW modes, a sliding window is implemented. As you've pointed out, the existence of a pre-filtering stage does not change the rate of availability of spectra at the output. Perhaps someone else can clarify how it's implemented on the FPGA. Cheers, Jayanth On 5 December 2016 at 20:09, Richard Prestage <rpres...@nrao.edu<mailto:rpres...@nrao.edu>> wrote: Hi All – [ Long time CASPER groupie, first time posting. ☺ ] I am trying to understand the VEGAS implementations of the PFB/FFT technique, both in the FPGA and the CPU. For simplicity, I will use the example on the CASPER wiki page, https://casper.berkeley.edu/wiki/The_Polyphase_Filter_Bank_Technique, and specifically Figure 3, to pose my question. In the FFT-only approach, I would take the FFT of 256 samples, running from i = 384 to 639. Let us refer to the time this operation takes as T. In this case, the PFB/FFT approach makes use of 1024 samples, but still only produces the equivalent of a 256 point FFT. My initial assumption was that VEGAS would slide the 1024 window by 256 points, each time. Thus, every T seconds, it would generate a new FFT, and each one would correspond to the conventional approach, but with the window function centered on it, hence reducing spectral leakage. This is how Joe Brandt believes the GPU code works. But, Randy McCullough understands that in the FPGA implementation, each sample is only used once. That would imply that one FFT comes out every P x T seconds. These two approaches are not the same. For example, imagine a large RFI spike at i = 896. If we do not use a sliding window, then the value of the window function w(896) will be quite small, and the RFI will be attenuated. The next spectrum will correspond to I = 1024 – 2047, and there will be no RFI present. If we use a sliding window, keeping the same origin for I, then when the window runs from I = 512 to 1535, w(896) will have a high value, and so the RFI would be obvious in the corresponding spectrum. This seems intuitively correct to me. Can someone definitively explain what is actually implemented in the FPGA (HBW modes), and the GPU (LBW modes) for VEGAS? If it does not use a sliding window, then is my above example correct, and the RFI would be attenuated? If not, can you explain that also? Thanks, Richard Richard Prestage Scientist Green Bank Observatory Green Bank, WV 24944, USA