FUNCTION SYNTH,source_in$,date$,ts,INFO$=info$ ;source_in$='synth:res,frequency,phase' source$ = STRLOWCASE(source_in$) source$ = STRSPLIT(source$,':',/EXTRACT) CASE source$[0] OF 'query': retData = '^synth$' ELSE : BEGIN IF (date$ EQ '0000-00-00/00:00:00')||(date$ EQ 0) THEN BEGIN startTime = 0 ENDIF ELSE BEGIN startTime = TIME_DOUBLE(date$) ENDELSE params = FLOAT(STRSPLIT(source$[1],',',/EXTRACT)) res = params[0] freq = params[1] IF N_ELEMENTS(params) EQ 2 THEN params = [[params], 0] phase = params[2] * (!pi / 180.) tsSec = ts * 60. timeVec = FINDGEN(tsSec / res) * res sig = SIN(2. * !PI * freq * timeVec + phase) timeVec = timeVec + startTime retData = [[timeVec], [sig]] ;Create Information Vector type$ = 'syn' name$ = 'sin(2!7p!X*' + NUMSTR(freq,3) + 't + ' + NUMSTR(phase*(180./!pi),3) + '!Uo!N)' unit$ = 'Units' shortId$ = 'sin(2!7p!X*' + NUMSTR(freq,3) + 't+' + NUMSTR(phase*(180./!pi),3) + '!Uo!N)' info$ = [source_in$, type$, name$, unit$, shortId$] END ENDCASE RETURN,retData END