Overview

CVS path: LOFAR/Timba/WH/contrib/OMS/fringes

Scripts for simulating data and playing with fringe fitting.

Contents

Main TDL scripts:

Supporting scripts:

Measurement sets:

Results

Fitting fringes at low SNRs

I used TEST.MS for my experiments.

1. Run simul.py with a "two point sources plus random" model. This simulates two 1 Jy point sources at fixed positions, and 25 random fainter sources (~.05-.1 Jy) all over the map, mostly point sources, with a few elliptical gaussians.

2. Run corrupt.py to corrupt the model. Specify 180 degrees for the phase excursion in both freq and time, and add .33 Jy of noise per antenna. So the effective SNR for our two bright sources is only ~3 (or perhaps slightly more? Since the combined noise per-baseline is sqrt(2) lower?)

3. Observe dirty image, we can see nothing except that there are obviously two sources, and phases are all over the place.

ff-observed.jpg

Here's the same image clipped at 99%:

ff-observed1.jpg

4. Now run solve.py with the following options:

This assumes that we only know of the two point sources, and attempts a simultaneous LSQ solution (at 10-minutes intervals) for source flux and phases. Flux is assumed constant; phases are 1-degree polcs in freq and time.

The solution for the first interval is the hardest, since all the phases are completely unaligned. It can take 50+ iterations. Without the flux constraint, it can fail completely (that is, settle at some local minimum with fluxes close to 0). With the constraint in there, it eventually makes its way to the right solutions. Subsequent intervals then converge much quicker (5-8 iterations) since we already have a very close guess for the phases from the previous interval. Total runtime on birch is 4-6 minutes.

Now make the corrected image and enjoy! This is clipped at 99% to bring out the faint sources.

ff-corrected.jpg

It is also interesting to make a residual image, and observe remaining errors. This image is clipped at 99%:

ff-residuals.jpg

The artifacts around the bright sources range from -28mJy to +7.5mJy. Mean residual is about -20uJy. Of course some systematic errors remain, since there are 25 sources in the field that are not part of the fitted model. Despite that, this demonstrates that we can fit fringes even in extremely low-SNR situations.

Other observations

There are other models in models.py that I've played with. Some observations on those:

Some observations on solving in general:

OlegSmirnov/FringeFitting (last edited 2006-04-29 16:00:28 by OlegSmirnov)