PMBIRDIE_HUNTER
pmbirdie_hunter now zaps frequencies that are intermodulations between the 135 and 100 Hz
birdies so that they are eliminated before pmbirdie_summary ever sees the data. This
means that these annoying high frequency birdies will not be included either among
pmbirdie_summary filters, nor in candidate lists down the line. To see the difference,
look at the following data for pointings 1-11 for PM0009. Pointings 7, 8 and 9 are
contaminated by the intermodulation frequencies -- this is
clear in the pmbirdie_summary output.
Note there are many of these frequencies listed among the necessary filters
(e.g. 1804.9, 994.9,1520.1,574.9, 774.9 Hz etc). Look now at the
the same output but after the
new pmbirdie_hunter has been used . The offending signals are now clearly
gone in the greyscale (which shows the unfolded spectrum post zapping) and
are also gone from the filter list. This has been achieved while zapping
only an additional 616 fourier bins.
Two remaining concerns is that in the revised version pmbirdie_summary is reporting
two birdies that were not present in the previous larger filter list, and has
reduced the number of harmonics on one filter that should be unrelated. I am
still investigating this, but note that for the first problem, those birdies
definitely are there -- the question is why it wasn't finding them before.
So the strategy is to zap these inn birdie_hunter so they don't get reported
by birdie_summary, and then again to zap them in minifind (it uses the same
routine) so that it doesn't report them as candidates.
I am now running on psr1913 at Jodrell to test on a different tape, PM0013.
I hope to have solved the above problem and finished all tests tomorrow.
pmbirdie_hunter is a program to identify birdies in a single beam
of pm survey data by identifying peaks in the zero DM raw and harmonically
folded power spectrum. It takes as input a .zerodm file as created by
sc_td. Its output is a .s. file (binary format) that
can be viewed with pms_plot ; an example
can be seen here. Normally, the output
.s. files are synthesized using pmbird ,
a script that is careful to first throw away pointings that have
large amounts of interference, or with pmbirdfiles,
a script that runs the code pmbirdie_summary
directly.
Note that the environment variable searchdir, pointing to the location of
the standard filters file "bhbird," must be set, otherwise
pmbirdie_hunter will crash after it finds the power spectrum.
Note also that pmbirdie_hunter, as well as all the other birdie scripts
and codes, require the standard form of the pm data file name for input files.
WHAT PMBIRDIE_HUNTER DOES
PMBIRDIE_HUNTER USAGE INSTRUCTIONS
UNDERSTANDING PMBIRDIE_HUNTER OUTPUT: PMS_PLOT
ORGANIZING PMBIRDIE_HUNTER OUTPUT: PMBIRD
WHAT PMBIRDIE_HUNTER DOES:
pmbirdie_hunter was adapted from birdie_hunter. The significant
changes I have made are to the birdie zapping routines. Jon Bell made
some modifications essential to the use of pm data. Dan Sheppard
made modifications for identifying aliased signals, as well as for
allowing beam-dependent filters.
- Reads in zerodm data, finds running mean, subtracts it, finds power spectrum,
normalizes it.
- Reads in standard birdies from file bhbird, whose location is specified by
the searchdir environment variable, notes them in the .accu file.
- Does harmonic summing, but in two passes (my modification). The first pass is to determine the maximum frequency ranges of the birdies, since their locations are more
accurately known after folding.
The birdie zapping is done in the second pass.
- For each harmonic fold, it finds peaks in the spectrum in the locations specified
by the initial birdie list. During the second pass, it zaps any signal higher than
noise within the specified birdie ranges. If the specified number of harmonics
in bhbird is negative, it zaps every range regardless.
- Reports highest candidates remaining in the power spectrum at each fold
after the zapping has been done.
PMBIRDIE_HUNTER USAGE INSTRUCTIONS
pmbirdie_hunter does not take command line arguments; instead it
is interactive, although csh scripts can easily be written to bypass
this nuisance.
- beam name -- (beam).zerodm
- data disk -- ./ (where the input is)
- scratch disk1 -- ./ (unused)
- scratch disk2 -- ./ (unused)
- bookkeeping disk -- ./ (where the output goes)
- Input power of two for transform: power of 2 transform size
- Read ascii accu files? (y/n, def=n) : n