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






Reply via email to