Hi Jon,

This would be great to have if you are willing to share the draft. I am
fairly certain the PFB used in PUPPI is also critically-sampled and so this
work would be applicable.

Cheers,
Nikhil

On Fri, 4 Feb 2022 at 11:54, Jonathan Le Roy Sievers, Prof <
[email protected]> wrote:

> Thanks for the links, Danny - I look forward to reading the papers!
>
> This discussion has reminded me that a summer student of mine worked on
> inverting critically sampled PFBs.  At least for CHIME-type parameters
> (1024 channels, 4-bit quantization), he got a method working where you
> could essentially perfectly invert them with about a 3% overhead in
> bandwidth out of the F-engine.  Would that be of general interest?  He
> started writing up but didn't finish.
>
> Cheers,
>
> Jon
> ------------------------------
> *From:* Danny Price <[email protected]>
> *Sent:* Friday, February 4, 2022 10:02 AM
> *To:* [email protected] <[email protected]>; Nikhil
> Mahajan <[email protected]>; Jonathan Le Roy Sievers, Prof <
> [email protected]>
> *Subject:* Re: [casper] Inverting the Polyphase Filter Bank
>
>
> Hi Nikhil,
>
>
>
> To add to Cynthia/Jon’s response on the actual inversion, the MWA is
> successfully inverting their PFB and have a few publications which detail
> it:
>
>
>
> https://ui.adsabs.harvard.edu/abs/2020JAI.....950004M/abstract
>
> https://ui.adsabs.harvard.edu/abs/2020PASA...37...34M/abstract
>
>
>
> Good luck on your PUPPI inversion quest!
>
>
>
> Cheers,
>
> Danny
>
>
>
> *From: *Hsin Cynthia Chiang, Prof <[email protected]>
> *Date: *Friday, 4 February 2022 at 10:34 pm
> *To: *[email protected] <[email protected]>, Nikhil
> Mahajan <[email protected]>, Jonathan Le Roy Sievers, Prof <
> [email protected]>
> *Subject: *Re: [casper] Inverting the Polyphase Filter Bank
>
> Hi Nikhil,
>
>
>
> I forwarded your message to Jon Sievers, who I'm cc-ing here, and I'm
> passing along a message and attachment from him.
>
>
>
> cheers,
>
> Cynthia
>
>
>
> *-------------------------------*
>
> *From:* Jonathan Le Roy Sievers, Prof <[email protected]>
> <[email protected]>
> *Sent:* Friday, February 4, 2022 9:02 AM
> *To:* [email protected] <[email protected]>
> <[email protected]>
> *Subject:* Re: [casper] Inverting the Polyphase Filter Bank
>
>
>
> Not sure if I'm allowed to post to CASPER since I'm not actually on the
> mailing list (but would be glad to be added!).  Find attached a note on how
> to invert PFBs including Wiener filtering (which you absolutely will want
> if you're working with any quantization post-PFB ).  Very simple python
> code, where window is the window function used in the initial PFB and
> thresh roughly the quantization noise vs PFB RMS (so ~0.1 for 4-bit data)
> is below.  I do have a GPU version in case you're trying to invert huge
> quantities of data - my 3070 will invert gigasamples/second with it.
>
>
>
> def inverse_pfb_fft_filt(dat,ntap,window=pfb.sinc_hamming,thresh=0.0):
>
>     dd=np.fft.irfft(dat,axis=1)
>
>     win=window(ntap,dd.shape[1])
>
>     win=np.reshape(win,[ntap,len(win)//ntap])
>
>     mat=np.zeros(dd.shape,dtype=dd.dtype)
>
>     mat[:ntap,:]=win
>
>     matft=np.fft.rfft(mat,axis=0)
>
>     ddft=np.fft.rfft(dd,axis=0)
>
>     if thresh>0:
>
>         filt=np.abs(matft)**2/(thresh**2+np.abs(matft)**2)*(1+thresh**2)
>
>         ddft=ddft*filt
>
>     return np.fft.irfft(ddft/np.conj(matft),axis=0)
>
>
>
> Cheers,
>
>
>
> Jon
>
>
>
>
>
>
>
> On 2022-02-04 00:09, Nikhil Mahajan wrote:
>
> Dear CASPERites,
>
>
>
> I am a graduate student at the University of Toronto (working with Marten
> van Kerkwijk) and I have some raw baseband data collected using PUPPI
> (Arecibo) - and I am on a quest to invert the polyphase filter bank. I have
> 32 channels of complex-baseband that I would very much like to combine into
> a single 100 MHz bandwidth stream.
>
>
>
> To do this, I would need to understand some of the specifics of the filter
> bank pipeline (so that I can successfully invert each step). This is my
> current understanding of what happened to the data I have:
>
>
>
> 1. Real-valued data sampled at 200 MS/s arrives at the Casper BEE2 board.
>
> 2. This goes through a real-input PFB implementation such as
> `pfb_fir_real` and using a 12-tap, 64-branch polyphase filter (I have the
> filter coefficients that were used here). This step outputs 64 streams of
> real-valued data.
>
> 3. Then, for the DFT step of the filterbank, the 64 real-valued streams
> are passed through the `fft_wideband_real` block to get 32 channels of
> complex-valued data.
>
> 4. This is then saved to disk.
>
>
>
> (I hope someone familiar with PUPPI can correct me here if I am wrong
> about any of the above)
>
>
>
> Step 3 is the step I am confused about. `fft_wideband_real` does not
> appear to be a conventional real-input N-point FFT implementation (Else I
> would have N/2 + 1 channels instead of just N/2). Some documentation on
> this block says that it "computes the real-sampled Fast Fourier Transform
> using the standard Hermitian conjugation trick". What is this standard
> Hermitian conjugation trick? I am totally unfamiliar with this. Would I be
> wrong in guessing it uses some sort of trick to convert 64 real numbers to
> 32 complex numbers and then applies a regular ol' complex-valued FFT on
> them?
>
>
>
> Thank you so much! I appreciate any and all guidance this mailing list can
> provide.
>
>
>
> Cheers,
> Nikhil Mahajan
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "[email protected]" <[email protected]> group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAA39X0%2B3z051d%2B%2BAB0D%3D1LHNHdOSDJp6JEYzzRXatj-ij11_qA%40mail.gmail.com
> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAA39X0%2B3z051d%2B%2BAB0D%3D1LHNHdOSDJp6JEYzzRXatj-ij11_qA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>
>
> --
> You received this message because you are subscribed to the Google Groups "
> [email protected]" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/e7ea3a41-a9a3-86ff-8008-7724da4c8612%40mcgill.ca
> <https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/e7ea3a41-a9a3-86ff-8008-7724da4c8612%40mcgill.ca?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/lists.berkeley.edu/d/msgid/casper/CAA39X0J1RQ5Eh1xq0e2NXR0n1ejSCvvP%3D8bPsSVjckYPYJrQVg%40mail.gmail.com.

Reply via email to