hi tim,

there's a parameter in the PFB that
i think already does what you want - i think
it's called "width" parameter.   the default setting is one.
if you change this parameter from one,  the sinc function
(times the window function which you can also choose)
set of coefficients are stretched or shrinked in the time domain,
which makes the filter shape in the frequency domain
narrower, or wider, respectively.

best wishes,

dan



On Fri, Dec 13, 2013 at 2: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
>
>
>
>
>
>
>

Reply via email to