% speed of light m/s
c = 299792458;% pulse duration (T=tau)
FWHM = 30e-15; T = FWHM/(2*(sqrt(log(2)))); % central wavelngth and central angular frequency
lambda0 = 800e-9;w0 = (2*pi*c)/lambda0;% chirp
eta = 2;% time interval
t = -55e-15:.1e-15:55e-15; % spectral phase
phi_t = 0; % length of FFT # of sampling points
nfft = 200; % This is an evenly spaced frequency vector
f = [0:nfft - 1]/nfft; % wavelength interval and angular frequency conversion
lambda = (740e-9:20e-9:860e-9);w = (2.*pi.*c)./lambda;% electric field
E_t = exp((-t.^2/(2*T.^2)) + (-i*w0*t-(1/2)*i*eta*t.^2)); %*phi_t));
% Take fft, padding with zeros so that length(E_w) is equal to nfft
E_w = abs(fftshift(fft(E_t,nfft))); I_w = ((abs(E_w)).^2); I_lambda = I_w.'*((2.*pi.*c)./lambda); (This is where I'm trying to convert to wavelength)% Plot
subplot(2, 1, 1);plot(t, real(E_t));title('Gaussian Pulse Signal'); xlabel('time (s)'); ylabel('E_t'); subplot(2, 1, 2);plot(lambda, E_w); xlabel('\lambda'); ylabel('E_\omega');
MATLAB: How to convert the x-axis of an FFT from frequency to wavelength
convert x-axisfftgaussian
Best Answer