Index Stars
I (dstn) tried to work out analytically how positional jitter in the positions of the index stars propagates to jitter in the code values. It got pretty hairy so I ended up just simulating it. I placed A and B stars a given distance apart (4.5 arcminutes in the figures below), then sampled C and D stars uniformly in the circle centered at the midpoint of AB. I then computed the true code values, then jittered the stars with Gaussian noise (with variance 2.7 arcseconds in the figures below) and computed the jittered code values.
The first figure just shows that the simulation basically works: code values are distributed uniformly in the circle centered at (0.5,0.5) with radius 1/sqrt(2). Also shown in the box that defines the AB coordinate system; star A would be located at (0,0) and star B would be at (1,1).
http://trac.astrometry.net/browser/trunk/doc/simplot1.png?format=raw
The second plot shows the noise properties in each coordinate of the code independently. This just shows that the noise behaviour is basically sane.
http://trac.astrometry.net/browser/trunk/doc/simplot2.png?format=raw
Next, I combined the C and D coordinates (because they have basically the same behaviour). This plot shows error in the code X coordinate against error in the Y coordinate. We get what looks like a 2D Gaussian.
http://trac.astrometry.net/browser/trunk/doc/simplot3.png?format=raw
Here are the two one-dimensional histograms. Again, they basically look like Gaussians.
http://trac.astrometry.net/browser/trunk/doc/simplot4.png?format=raw
Here are the histograms of the error distance in code space, for quads of three different sizes. Notice that the code error is somewhat larger for smaller quads, as we expect.
http://trac.astrometry.net/browser/trunk/doc/simplot5.png?format=raw
Next, I varied the noise in the star positions and observed how that propagated through to code error. The relationship is basically linear, with larger error on smaller quads (as we expect). The grey line shows a typical code error cutoff value that we use.
http://trac.astrometry.net/browser/trunk/doc/simplot6.png?format=raw
Field Objects
Error in field object positions leads to similar results.
http://trac.astrometry.net/browser/trunk/doc/simplot5b.png?format=raw
http://trac.astrometry.net/browser/trunk/doc/simplot6b.png?format=raw
Another effect to notice is that noise in the positions can cause a valid quad to become an invalid quad for two different reasons: either the AB stars move such that their scale is not within the allowed bounds, or the CD stars move so that they are no longer inside the circle of valid codes.
http://trac.astrometry.net/browser/trunk/doc/simplot7b.png?format=raw
For quads with scale near the limits, a bit of noise can cause quite a few quads to become invalid.
http://trac.astrometry.net/browser/trunk/doc/simplot8b.png?format=raw
For quads with scales at the limits, here are the scales after noise:
http://trac.astrometry.net/browser/trunk/doc/simplot9.png?format=raw
These figures were generated by the Matlab scripts source:trunk/src/quads/runsims.m and source:trunk/src/quads/runsims2.m, which run the code in source:trunk/src/quads/noisesim.c and source:trunk/src/quads/noisesim2.c, respectively.
