Example of Gaussian, Lorentian and hyperbolic secant pulses
This example shows how to set-up different types of laser pulses and compare their time-bandwidth products.
Contents
Set up a new Gaussian pulse
10fs gaussian pulse centered at t0 = 1 fs and f0 = 300 THz
p1 = gaussianPulse('units', 'fs', 'fwhm', 5, 't0', 1, 'f0', 0.3);
Set up a new Lorentzian pulse
10fs hyperbolic secant pulse centered at t0 = 1 fs and f0 = 300 THz
p2 = lorentzianPulse('units', 'fs', 'fwhm', 5, 't0', 1, 'f0', 0.3);
Set up a new hyperbolic secant pulse
10fs hyperbolic secant pulse centered at t0 = 1 fs and f0 = 300 THz
p3 = sechPulse('units', 'fs', 'fwhm', 5, 't0', 1, 'f0', 0.3);
Compare time-bandwidth products
fprintf('\ntime-bandwidth product according to several definitions\n') fprintf('------------------------------------------------------------\n') fprintf(' %15s %15s %15s\n', 'intensity fwhm', 'amplitude std', 'intensity std') fprintf('gauss: %15.3f %15.3f %15.3f\n', ... p1.duration * p1.bandwidth, p1.std('time')*p1.std('frequency'), ... p1.std('time',2) * p1.std('frequency',2)); fprintf('lorentz: %15.3f %15.3f %15.3f\n', ... p2.duration * p2.bandwidth, p2.std('time')*p2.std('frequency'), ... p2.std('time',2) * p2.std('frequency',2)); fprintf('sech: %15.3f %15.3f %15.3f\n', ... p3.duration * p3.bandwidth, p3.std('time')*p3.std('frequency'), ... p3.std('time',2) * p3.std('frequency',2));
time-bandwidth product according to several definitions ------------------------------------------------------------ intensity fwhm amplitude std intensity std gauss: 0.442 0.159 0.080 lorentz: 0.168 0.643 0.107 sech: 0.317 0.250 0.083