0001 function [az, el] = calcAzEl(d)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 utc = d.antenna0.receiver.utc;
0014
0015
0016 Avals = d.antenna0.tracker.refraction(:,1);
0017 Bvals = d.antenna0.tracker.refraction(:,2);
0018 A = interp1(d.array.frame.utc, Avals, utc,'spline');
0019 B = interp1(d.array.frame.utc, Bvals, utc,'spline');
0020
0021 Pvals = d.array.weather.pressure;
0022 Tvals = d.array.weather.airTemperature;
0023 P = interp1(d.array.frame.utc, Pvals, utc,'spline');
0024 T = interp1(d.array.frame.utc, Tvals, utc,'spline');
0025
0026 long=-118.2822;
0027 lat=37.2339;
0028 el=1222.00;
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049 lst = d.antenna0.tracker.lst*15;
0050 indpos = lst > 180;
0051 lst(indpos) = lst(indpos)-360;
0052
0053
0054 lst = interp1(d.array.frame.utc, lst, utc);
0055 indpos = interp1(d.array.frame.utc, indpos, utc, 'nearest');
0056 indpos(isnan(indpos)) = 0;
0057 indpos = logical(indpos);
0058 lst(indpos) = lst(indpos)+360;
0059
0060
0061 ra = interp1(d.array.frame.utc, d.antenna0.tracker.equat_geoc(:,1), utc);
0062 ra = ra*15;
0063 dec = interp1(d.array.frame.utc, d.antenna0.tracker.equat_geoc(:,2), utc);
0064 ha = lst - ra;
0065
0066
0067 HA = ha*pi/180;
0068 de = dec*pi/180;
0069 La = lat*pi/180;
0070
0071 [az, el] = hdl2ae(unwrap(HA),de,La);
0072
0073
0074 R = 0.00452.*P./( (273.15+T ).*tan(el))*pi/180;
0075 el = el+R;
0076
0077 az = az*180/pi;
0078 el = el*180/pi;
0079 az(az<0) = az(az<0)+360;
0080
0081 model = [d.antenna0.tracker.flexure(1,:), d.antenna0.tracker.tilts(1,:), ...
0082 d.antenna0.tracker.fixedCollimation(1,:), ...
0083 d.antenna0.tracker.encoder_off(1,:)];
0084
0085
0086 [az, el] = pointing_model(model, az, el);
0087
0088 return;