Post date: Oct 20, 2009 5:41:11 AM
In this step, the core part of the digital interferometry process is performed. Since I am implementing a digital, wide band cross correlator, data generated from it is compatible with most modern, professional interferometer data processing systems such as CASA, AIPS, AIPY, etc.
Importantly, correlator data exists as complex visibilities, both phase and amplitude information can be extracted. The Python code described here represents a FX correlator. This type of correlator takes IQ data and does a FFT on it (F), then cross multiplies 1D FFT arrays (X) for three antennas, producing three baseline data products. Cross correlated, time averaged baseline data represents the currency for most modern interferometers. In Python/NumPy, datasets are contained in 2D complex number arrays with frequency bins on one axis and time on the other axis.
Configuration of the FX correlator can vary according to the number of frequency bins and time averaging. Most pros doing low frequency interferometry seem to like averaging data over ~10 seconds with ~1 kHz frequency channels. The high frequency resolution is done to remove RFI. Once RFI is removed, it is o.k. to bin frequency channels together.
If you are interested in seeing an example from a professional operation (the PAPER Array), check out this link.
https://safe.nrao.edu/wiki/pub/Software/CalIm09Program/parsons_aipy.pdf
My correlation spectrograms are configured in a way that is compatible with the AIPY project. Another example of mine utilizing 15 MHz of bandwidth and three baselines is shown below.