0001 function makeScan(azrange, elval, azParams, outfile)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 azVel = azParams(1);
0018 azAcc = azParams(2);
0019 t2str = azParams(3);
0020
0021
0022 turnTime = abs(azVel/azAcc);
0023
0024 turnTime = ceil(turnTime*1.5);
0025
0026 azVals = [];
0027
0028
0029 azStart(1) = 0;
0030 azVels(1) = 0;
0031 for m=1:turnTime
0032 prevAz = azStart(m);
0033 newVel = azVels(m) + azAcc;
0034 if(newVel> azVel)
0035 newVel = azVel;
0036 end
0037 newAz = prevAz + newVel;
0038
0039 azStart = [azStart; newAz];
0040 azVels = [azVels; newVel];
0041 end
0042 azStart = azStart - max(azStart) + azrange(1);
0043 toGetThere = ones(t2str,1)*azStart(1);
0044 azStart = [toGetThere; azStart];
0045
0046
0047
0048 azBody = azrange(1):azVel:azrange(2);
0049
0050
0051 azBody(1) = [];
0052 azBody(length(azBody)) = [];
0053 azBody = azBody';
0054
0055
0056 azStop(1) = azrange(2);
0057 for m=1:turnTime
0058 prevAz = azStop(m);
0059 newAz = prevAz + azVels(length(azVels)-m+1);
0060
0061 azStop = [azStop; newAz];
0062 end
0063
0064
0065 azVals = [azStart; azBody; azStop];
0066
0067 azVals(azVals<0) = azVals(azVals<0) + 360;
0068 azVals(azVals>=360) = azVals(azVals>=360) - 360;
0069
0070 for m=1:length(azVals)
0071 azTransp(m) = azVals(length(azVals)-m+1);
0072 end
0073 azVals = [azVals; azTransp'];
0074
0075
0076
0077 elVals = ones(size(azVals))*elval;
0078
0079 daVals = zeros(size(elVals));
0080
0081 index = 0:1:(length(azVals)-1);
0082
0083
0084 fid = fopen(outfile, 'w');
0085 fprintf(fid, 'MSPERSAMPLE 1000\n');
0086 for m=1:length(index)
0087 fprintf(fid, '%d \t %3.8f \t %3.f \t 0\n', index(m), azVals(m), elVals(m));
0088 end
0089 fclose(fid);
0090
0091
0092 end
0093
0094