# SMA 12.4 GHz Phase Monitor

### Time scales of structures in DSM

 Array index PHASE_STRUCT_V10_V19_F RMS_PHASE_V10_V12_D 0 1 1 1 2 2 2 4 4 3 8 8 4 16 16 5 32 32 6 64 64 7 128 128 8 256 256 9 512 512 10 768 1024 11 1024 2048 12 1280 - 13 1536 - 14 1792 - 15 2048 - 16 2304 - 17 2560 - 18 2816 -

For the phase structure function data the intervals for a single baseline are calculated for Bob's structure function with the following:
```for (t = 1, nsfp = 0; t < ANALYZE_LEN / 2 && nsfp < NUMSFP - 1;) {

sf[nsfp].span = t;
t = (t < 256) ? t * 2 : t + 256;
nsfp++;
}
```

Where ANALYZE_LEN = 6000 (10 minutes of data) and NUMSFP = 21;

so the intervals are 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2304, 2560, 2816

The call to Bob's structure function is:
```strfn(phase_struct_points, NPOINTS, sf, nsfp, baseline);
```
phase_struct_points = array of 6000 atmospheric phase points
NPOINTS = 100
sf = pointer to structure function
nsfp = 19 from above for loop
baseline = baseline

### Bob Wilson's description of strfn.c

'> /* strfn calculates the structure function of an array of phase points.
'> * Each call to strfn should pass npoints of new phase data in the array
'> * points. The new points will be put in the local buffer. If at least
'> * ANALYZE_LEN points have been acquired, strfn returns true, calculates the
'> * structure function and puts the results in the array of sfp structures.
'> * nsfp is the number of spans to be calculated. The spans to be calcualted
'> * must be passed to strfn in the sfp array. After the first call,
'> * structure function will be calculated incrementally unless nsfp is
'> * changed, so the array of nsf structures should not be changed between
'> * calls unless nsfp is also changed forcing a complete recalculation.
'> * If fewer than ANALYZE_LEN points have been acquired, strfn returns
'> * zero and does no calculation.
'> */

-- ToddHunter - 2011-02-13

Topic attachments
I Attachment Action Size Date Who Comment
pdf 26193.1321558836.txt.report.pdf manage 1 MB 2011-11-17 - 16:08 ToddHunter Oct 19-23, 2011 solutions
pdf Estimating_the_noise_floor_of_an_API_given_the_signal_to_noise_of_the_received_satellite_signal.pdf manage 29 K 2012-03-12 - 16:31 ToddHunter Kim's sensitivity derivation
txt fitsix.py.txt manage 22 K 2017-12-04 - 12:53 ToddHunter script to take up to 10 baselines of data (correlated amplitude, unwrapped phase, temperature) and determine I/Q gain factor model and the subsequent temperature dependence of the residual from the model
pdf phaseErrorByBobWilson.pdf manage 1 MB 2012-03-08 - 09:40 ToddHunter Bob Wilson's writeup on the expected sensitivity
txt plotJuly2010.py.txt manage 1 K 2012-03-09 - 18:17 ToddHunter script that creates Figure 5 of the API paper
EXT solutions manage 874 bytes 2011-02-14 - 00:08 ToddHunter fitted solutions from July 2010
c strfn.c manage 3 K 2012-01-05 - 12:56 ToddHunter Bob's phase structure function subroutine
This topic: Main > TWikiUsers > ToddHunter > SMAPhaseMonitor
Topic revision: 2017-12-04, ToddHunter
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback