t = linspace(0,1000e-15, 10000); w_center = 1.37e14*2*pi; delta_t = 14.6e-15; offset1 = 200e-15; # sinusoid with double gaussian envelope pulse = sin( w_center*t) * exp( -(t-offset1)^2/2/delta_t^2 ); ####################################################### # convert into complex valued format required by source # make signal complex valued # fft time signal pulse_w=fft(pulse); w=fftw(t); # set high frequency components to zero # and compensate amplitude n=length(pulse_w); pulse_w((n/2+1):n)=matrix(n/2); pulse_w=pulse_w*2; # inverse fft the signal pulse_final=invfft(pulse_w); t3=fftw(w); # apply a required phase shift pulse_final=pulse_final*1i; ####################################################### # load signal into source switchtolayout; setsourcesignal("source", t3, abs(pulse_final),unwrap(angle(pulse_final)));