--- title: "Losmandy GM811G Unguided Tracking" author: "Michael A. Covington" date: "2023 December 4" date-format: "YYYY MMMM DD" format: pdf editor: visual --- # Introduction This is a test of the unguided tracking performance of my GM811G in early November, 2023, aimed high in the sky, using an iOptron iGuider (120mm focal length, 6.45 arc-seconds per pixel) with PHD2 (guiding corrections turned off). # Data I extracted the relevant portion from the PHD2 guide log. It is a CSV file and looks like this: ``` Frame,Time,mount,dx,dy,RARawDistance,DECRawDistance,RAGuideDistance,DECGuideDistance,RADuration,RADirection,DECDuration,DECDirection,XStep,YStep,StarMass,SNR,ErrorCode 1,1.749,"Mount",-0.007,0.075,-0.074,-0.016,0.000,0.000,0,,0,,,,1527,27.11,0 2,3.331,"Mount",0.490,-0.037,-0.008,0.491,0.000,0.491,0,,0,,,,1548,27.44,0 3,4.914,"Mount",0.395,-0.125,0.088,0.407,0.000,0.407,0,,0,,,,1497,26.96,0 4,6.504,"Mount",0.502,0.031,-0.077,0.495,0.000,0.495,0,,0,,,,1498,26.91,0 5,8.095,"Mount",0.141,-0.116,0.102,0.154,0.000,0.154,0,,0,,,,1473,26.62,0 6,9.647,"Mount",0.192,-0.101,0.082,0.202,0.000,0.202,0,,0,,,,1499,26.93,0 ``` with, of course, many lines of data following. # First look at the data ```{r} d = read.csv("GuideLogExtract.csv") dd = data.frame(Frame=d$Frame, RA_Error=6.45*d$RARawDistance) # 6.45 arcsec per pixel is in calibration data from PHD2 ``` ```{r} require(ggplot2) ggplot(dd, aes(Frame,RA_Error)) + geom_line() ``` Clearly, something bumped the telescope somewhere around the 20th frame, so let's cut off the first 25 frames and try again: ```{r} ddd = dd[seq(25,nrow(dd)),] ggplot(ddd, aes(Frame,RA_Error)) + geom_line() ``` Now we see a steady downward trend, caused by polar axis misalignment, flexure, refraction, or some combination of the three, and we need to remove it. # Detrending We can fit a line to the data using linear regression: ```{r} model = lm(RA_Error ~ Frame, data=ddd) ddd$Trend = predict(model, newdata=ddd) ``` Let's look at it: ```{r} ggplot(ddd, aes(Frame,RA_Error)) + geom_line() + geom_line(color="red",aes(Frame,Trend)) ``` That looks good. Now subtract it: ```{r} ddd$Detrended_RA_Error = ddd$RA_Error - ddd$Trend ggplot(ddd, aes(Frame,Detrended_RA_Error)) + geom_line() + ylim(c(10,-10)) ``` That is the quantity we actually want to study. It is about 10 arc-seconds peak-to-peak. If it were a sine wave, its RMS value would be $10 / (2 \sqrt{2}) = 3.5$ arc-seconds. But in fact most of it is flatter than a sine wave, so let's do the calculation that we set out to. The RMS error is simply the standard deviation: ```{r} sd(ddd$Detrended_RA_Error) ``` Right, a whopping 1.62 arc-seconds RMS! That is definitely good enough for my 200-mm lens (4-arc-second pixel size) and probably also for my AT65EDQ (about 2-arc-second pixel size). Drift due to misalignment and flexure will affect the image before tracking roughness does. And it's supposed to get even better when I upgrade to Gemini Level 6.