How can I measure the interferometric autocorrelation of an electric field

3 次查看(过去 30 天)
I am trying to evaluate the interferometric autocorrelation of an electric pulse. This means to evaluate
IAC(tau) = \int( (E(t) +E(t+tau))^2)^2 dt
where E is my electric field. I am trying to do that straightforward just by integrating my function E and its copy shifted in time. Has anyone an idea of how to that in a clever manner?
What I do is here:
if true
n = length(E);
n_tau = 2*n; % 2* length vector
E_tau_app = zeros(1,n_tau); % temporary variable
E_long = [zeros(1,round(n/2)), E, zeros(1,round(n/2))];
IAC = zeros(n,1); % Interferometric Autocorrelation
for i=1:n;
E_tau = E_tau_app; % The Delay tau is the independent variable
E_tau(i:n+i-1) = E;
IAC(i) = sum(((E_tau(2:n_tau-1)+E_long(2:n_tau-1)).^2).^2)*dt + ...
0.5*((E_tau(1)+E_long(1))^4+(E_tau(n_tau)+E_long(n_tau))^4)*dt; % integral with trapezoidal method
end
Thank you in advance!
L.

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by