I think the 'sinc bandwidth' feature you mention already exists; it's the "Bin Width Scaling (normal=1)" field, at least in the slightly outdated version of the libraries I'm using.
On Fri, Dec 13, 2013 at 5:37 PM, Madden, Timothy J. <tmad...@aps.anl.gov>wrote: > > > Folks > > I have a feature request for the PFB block, which should be easy to > implement, as it is only a matlab gui and script change, and not a hardware > change. > > > The feature I request is to add one more field to the PFB block GUI > telling the bandwidth of the sinc function. The sinc bandwidth is probably > set by the FFT length field. We could have something like sinc bandwidth > field, and put in a floating point number like 0.5 for 1/2 the bandwidth > (sinc is twice as fat), or 1.0 (sinc in default mode for normal PFB > operation). The only difference would be the values of the stored > coefficients, and no real hard ware changes would be needed. > > Read further to see why I am requesting this. It will allow me to reduce > my FPGA usage by 50%. > > > In reading out MKID's it is common to see a design like the following: > > 1) divide incoming signal into two versions, one of them is delayed by N/2 > samples, where N is FFT length. > 2) We have TWO PFB blocks and two FFT blocks, one for the raw signal, and > one for the delayed signal. > > The reason we must do this is because of the Nyquist theorm. The FFT can > be run every N samples. The bandwidth of each bin is 2pi/N. To sample each > bin in time and retain all the information without aliasing, we must run > the FFT every N/2 samples. This is why we must use two PFBs, a long delay > line, and two FFT's. > The result is that for a ROACH 1 board, the FPGA is filled up and hard to > compile and meet timing specs. > > I have an idea to cut the FPGA usage in half. > > 1. We alter the PFB so the internal sinc function is stretched out to have > the bandwidth of 1/2 bin. Then the windowing function has the bandwindth of > 1/2 bin. > 2. We use only a single FFT and single PFB, and no delay line, and we > sample each bin every N samples. Because the bandwidth of data in the bin > is only 2pi/2N, instead of 2pi/N, we do not violate the Nyquist Criterion. > > > One may say that we are now no longer sampling the entire bandwidth of the > spectrum. That is true. If a MKID resonator falls right on a bin edge, then > one could guess that the system will not see it because it is outside of > 1/2 bin bandwidth. The answer to this is that it will still work. Because > the windowing function is modulated by the MKID stimulus signal, which > should be at resonator center, the 1/2 bin bandwidth captured by the FFT > will always be centered around the MKID resonator. > IN this way, even if the resonance is far off the FFT bin center, we still > see it as long as we stimulate it with the correct frequency. Thinking in > terms of filter banks, by reducing the bandwidth of the sinc function in > the PFB block, we reduce the bandwidth of each filter in the bank, and > allow for slower sampling of each band. But each filter in the bank will > still be centered around our resonator frequencies. > > > Does this make sense or am I crazy? > > > Tim Madden > > > > > > >