function [delay, amp] = modeDelayFFT(lambda, spec_lambda,fibre_length) % Input wavelength range/nm, spectral interference/fW and fibre length/m % output complex amplitutde % redistribution in frequency freq= 3e5./lambda; % change lambda to frequency/THz freq = fliplr(freq); spec_f = fliplr(spec_lambda); % interpolation points = length(freq); freq_modified = linspace(freq(1),freq(points), points); spec_f_modified = spline(freq,spec_f,freq_modified); %data interpolation % FFT amp = fft(spec_f_modified); % delay caculation sampling_f = 1/(freq_modified(2)-freq_modified(1)); % ps delay = linspace(0, sampling_f, points)/fibre_length; % ps/m