|Ask a Question||Search PSRCHIVE:|
PSRCHIVE user documentation: pcm
1.0 PurposeThe Polarization Calibration Modeling (pcm) program may be used to estimate the polarimetric response of the observing system, as described in van Straten 2004, ApJS 152:129, and van Straten 2013, ApJS 204:13. There are two different modes of operation:
Measurement Equation Modeling (MEM), described in van Straten (2004), uses uncalibrated observations of
Measurement Equation Template Matching (METM), described in van Straten (2013), uses
2.1 Before running pcmIn order to run pcm in MEM mode, you will need Pulsar::Archive files containing:
This last step produces a total integrated profile from which to choose the best pulse phase bins to be used as model constraints. It is best to choose these from a high S/N profile, but integration in both time and frequency will lead to depolarization (primarily due to the variation of differential phase as a function of frequency, and to the time-varying projection of the receptors onto the sky). The preliminary calibration step minimizes this depolarization.
As described in more detail in Section 4.1, it is possible to either manually choose individual phase bins or ranges of pulse phase that make good model constraints, or allow pcm to automatically choose the best pulse phase bins. When choosing phase bins manually, it is best to choose those with the highest polarized flux density and, if selecting more than one pulse phase bin, to choose states that have orthogonal polarization vectors in the Poincare space.
As more phase bins are used as constraints, more time will be required to converge to a solution. For starters, use only four phase bins; pcm will converge more quickly, providing a first order estimate of the instrumental parameters. More phase bins can then be added to descrease the experimental uncertainty of the results.
2.2 Running pcm
2.2.1 MEM modeIn MEM mode, pcm does the following (not necessarily in this order):
In MTM mode, it is possible to fit single sub-integrations to the template or perform a global fit of multiple sub-integrations using a combination of MEM/MTM.
2.2.2 MTM modeWhen run with the -1 option, pcm performs a MTM fit on each input sub-integration and outputs a file for each solution (named *.mtm). Without the -1 option, a single global MEM/MTM fit is performed using all of the input data as constraints.
2.3 Diagnostic outputs
pcm can optionally produce a number of diagnostic outputs. These are enabled with the -D name command line option, where name is any one of:
2.4 Modeling time variationsIntrinsic variations (including interstellar scintillation)
pcm can compensate for intrinsic variations in the intensity of the pulsar signal by normalizing the Stokes parameters of the pulsar observations by the mean invariant: the square root of the mean of the invariant intervals (I^2 - p^2) of a constant selection of on-pulse phase bins.
This feature is enabled with the -s command line option. The on-pulse phase bins are chosen from either the first archive loaded or the archive specified using the -c command line option, then held fixed for all subsequent archives.
When -s is used, the pulsar is put through a signal path with constant gain set to unity, and the free gain parameter is applied only to the calibrator signal path.
pcm can model the observations with an instrumental backend that varies over time. Each of the absolute gain, differential gain, or differential phase may be independently represented as either
-u PAR model PAR with a step at each CAL -o PAR:N model PAR as N degree polyomialWhere PAR is a single-character code:
3.0 Algorithmspcm implements the model of reception and the algorithm for solution described in van Straten, W. 2004, Radio Astronomical Polarimetry and Point-Source Calibration, Astrophys. J. Supp. 152, 129-135. astro-ph/0401536
4.0 Testing and examples
4.1 MEM Example
For this example, suppose that all of the pulsar observations are located in the current working directory and have the extension .ar and that all of your calibrator archives are summarized in the data base, $MYCALS/database.txt.
The simplest way to run pcm is to let it choose the optimal phase bins to use as model constraints. Assuming that calib.TT has been created as described in Section 2.1, run
pcm -d $MYCALS/database.txt -c calib.TT -s -t2 *.arHere, the -s option specifies that the Stokes parameters should be normalized to compensate for temporal flux variations and the -t2 option specifies to use two processing threads (not useful if your machine has only one single-core CPU).
4.2 Manaual selection of phase bins (MEM only)Alternatively, suppose that the Stokes parameters at pulse phases equal to 0.45 and 0.51 look like they will make good constraints. If there are 2048 phase bins, then bin numbers 922 and 1044 are to be used. The command line is:
pcm -b 922 -b 1044 -d $MYCALS/database.txt *.ar
Alternatively, suppose that you would like to select 8 bins between pulse phases 0.39 and 0.51. The command line is:
pcm -p 0.39,0.51 -n 8 -d $MYCALS/database.txt *.ar
In the latter example, pcm will begin with something like:
Pulsar::Archive::Agent::initNote that pcm begins by loading the calibrators. At this stage, you may see error messages like:
Pulsar::ReceptionCalibrator::add_calibrator error adding ichan=0 Error::stack Calibration::ReceptionModel::add_data Error::InvalidParam Error::message source_index=0 ipol=3 variance=0.000000 < 0Or also:
Pulsar::ReceptionCalibrator::add_data discarding ichan=0 ibin=1044Unless all of the data are getting discarded, or appear to be corrupted, these error messages may be ignored; pcm can handle and flag a variety of problems in the data.
After the calibrators have been loaded, pcm will output on stderr lines such as:
Setting 128 channel receiver Pulsar::ReceptionCalibrator::precalibrate pcm: loaded archive: n2003200181319.cfbThese mean that pcm is calibrating the input archives with its current best guess of the receiver before adding their data to the best guess of the input polarizations.
After all the data is loaded, pcm will output something like:
pcm: plotting initial guess of receiver Pulsar::ReceptionCalibrator::solve information: Parallactic angle ranges from -102.621536254883 to 98.1568908691406 degrees Pulsar::ReceptionCalibrator::solve reference epoch: 52839.945158016725522 pcm: plotting uncalibrated pulsar total stokes pcm: plotting uncalibrated CAL pcm: plotting pulsar constraints pcm: nstate=1 ichan=1 istate=1 pcm: nstate=1 ichan=11 istate=1 pcm: nstate=1 ichan=21 istate=1 [...]At this stage, pcm creates a number of postscript files: guess.ps and channel_*.ps. In guess.ps is plotted the first guess of the instrumental response and the Stokes parameters of both the calibrator the pulsar. In channel_*.ps are plotted the variations of the observed Stokes parameters as a function of parallactic angle in a selection of up to 13 frequency channels, which are evenly spaced across the band.
Next, pcm will output lines like:
pcm: solving model Pulsar::ReceptionCalibrator::solve ichan=0 Pulsar::ReceptionCalibrator::solve failure ichan=0 Error::stack Calibration::ReceptionModel::solve Error::InvalidRange Error::message input source 0 with free parameter(s) not observed Pulsar::ReceptionCalibrator::solve ichan=1 Calibration::ReceptionModel::solve converged in 53 iterations. chi_sq=785.590026855469/406=1.93495082855225 Pulsar::ReceptionCalibrator::solve ichan=2 Calibration::ReceptionModel::solve converged in 40 iterations. chi_sq=739.773132324219/406=1.822101354599 Pulsar::ReceptionCalibrator::solve ichan=3 Calibration::ReceptionModel::solve converged in 30 iterations. chi_sq=737.575866699219/406=1.81668937206268 [...] Pulsar::ReceptionCalibrator::solve ichan=36 Calibration::ReceptionModel::solve converged in 5 iterations. chi_sq=593.349975585938/406=1.4614531993866 Pulsar::ReceptionCalibrator::solve ichan=37 Calibration::ReceptionModel::solve converged in 6 iterations. chi_sq=626.255004882812/406=1.54250001907349 Pulsar::ReceptionCalibrator::solve ichan=38 Calibration::ReceptionModel::solve converged in 5 iterations. chi_sq=614.626037597656/406=1.51385724544525Note the error message that arises because channel 0 was corrupted in all of the calibrator archives (the PolnCal Stokes parameters are assigned an input source index of zero). Note also that corruption due to aliasing during downconversion causes slower convergence and a larger reduced chi squared near the leading edge of the passband (which corresponds to the lowest values of ichan shown above). On a 1.2 GHz Pentium III, the solution takes approximately:
5.0 Known bugs and features that require implementation