Menu

#69 dspsr - folding filterbank containing Stokes.

version_1.0
open
nobody
None
7
2018-05-25
2018-05-24
Ramesh
No

Hi Willem, DSPSR experts,

Note sure if this is a bug - this is more a question regarding dspsr usage.

How do I tell dspsr that a filterbank file contains the four Stokes instead of the four coherence products? I have dspsr built with SIGPROC support, and the header of the filterbank file looks sane. However if I create a filterbank from baseband files using digifil, the resulting filterbank folds nicely.

Thanks in advance for your help.

Cheers,
Ramesh

Discussion

  • Paul Demorest

    Paul Demorest - 2018-05-24

    hi Ramesh,

    I don't think there is any way to distinguish stokes vs coherence in the
    filterbank headers. If you are using dspsr for folding I think the easiest
    thing to do is add "-j 'e state=Stokes'" to the dspsr command line. This
    will update the headers in the folded output file to say Stokes params.

    I think the only tricky thing to look out with multi-poln filterbank files
    are issues regarding signed vs unsigned ints. For 8 and 16-bit data, the
    sigproc reader in dspsr currently assumes all data are unsigned and
    subtracts an offset equal to half the full integer range from polns 2 and 3
    only. For less than 8 bits I'm not sure what happens but I'd be surprised
    if it works correctly. If you are using floating-point (32-bit) filterbank
    files you don't need to worry about any of this.

    Cheers,
    Paul

     

    Last edit: Willem van Straten 2018-07-04
  • Ramesh

    Ramesh - 2018-05-25

    Hi Paul,

    Thanks - that does the trick. I am 32-bits - so no overflows or scaling issues. While this folds correctly (I believe!), 'pacv -d' shows weird plots on the resulting folded archive (the filterbank contains a 1Hz noise diode signal and I adjusted the archive's header to have "type=PolnCal" and correct receiver basis).

    The problem could have been in the way data was created in hardware (Stokes IQUV are computed under the assumption of linear feeds, but the signal came from a feed sensing the two hands of the circular polarisation). I tried to rectify this by rearranging the data so as to reflect circular feeds before folding with 'dspsr -j "-e state=Stokes"' - this shows (with 'pacv -d') nothing similar to the baseband signal from the same receiver, but processed by digifil/dspsr.

    Am I overseeing something?

    Cheers,
    Ramesh

     

Log in to post a comment.

MongoDB Logo MongoDB