Example of four wave mixing simulation with LaserPulse class
Contents
New pulse in time domain
% pulse parameters n = 2^12; dt = 0.2; s = 10; t0 = 10; f0 = 0.4; % time array t = (-n/2:n/2-1).' * dt; % electric field Et = exp(-(t-t0).^2/s^2 -2i*pi*t*f0); % LaserPulse object p1 = LaserPulse(t, 'ns', Et); p1.normalize()
Four wave mixing
Combining the power and the complex conjugate operators it is possible to simulate many types of nonlinear signals.
The four-wave-mixing (FWM) signal is defined as:
pfwm = p1.^2 .* conj(p1);
Plot fields
figure(); plot(p1.frequencyArray,p1.spectralIntensity, ... pfwm.frequencyArray,pfwm.spectralIntensity*100, ... 'LineWidth', 1.5); xlabel(['frequency (', p1.frequencyUnits, ')']); ylabel('abs(Ef).^2'); axis([0.2 0.5 0 30]) legend('laser', 'FWM*100');
