
Write different super gaussian function with same fwhm but different order
11 views (last 30 days)
Show older comments
Hi,
I consider a gaussian pulse :
how do I define
in order to have
. I did solve :
leading to
.





But when I plot and measure my fwhm I get varying values of the fwhm meanwhile the value at MAXpower/3 does not change... Where did I go wrong?
Here is my code :
%%Definition des parametres d'entree de la source%%%%%%%%%%%%%%%%%%%%%%%%%%
freq_pulse=400e3;
T_pulse=1/freq_pulse;
Pmoy=40e-6;
tau0=55e-12;
E0=Pmoy/freq_pulse;
pulse_form=0;% ->0 : gaussien 1: sech
Chirp=0;
lambda0=1030e-9;
ResolutionSSF=100;
Nsamples=2^16;
TimeWindow=15;
betterfactor=10;
Timewin=tau0*TimeWindow; %sqrt(Nsamples)*
dtau=Timewin/Nsamples; %time sep samples
Fs=1/dtau; %frequence d'echantillonage
dF=1/Timewin; %sep freq d'echantillonage
domega=2*pi*dF; %angular freq
%%Definition de l'espace temporel
tau=(-Nsamples/2:(Nsamples/2)-1)*dtau*1e12;
%%Definition de l'espace frequentiel
Dfreq=(-Nsamples/2:1:(Nsamples/2)-1)*dF;
%%Definition de l'espace spectral
omega0=2*pi*3e8/lambda0;
dL=2*pi*3e8/omega0^2*domega*1e9;
Domega=(-Nsamples/2:Nsamples/2-1)*domega;
Lambda=((-Nsamples/2:Nsamples/2-1)*dL+lambda0*1e9);
%tau0=tau0;
Pmoy=200e-6;
for degGauss=3
tausupG=tau0/(2^(3/2)*log(2)^(1/(2*degGauss)));
%tau0=tau0/(2*sqrt(2*log(2)));
%u_gauss=exp(-log(2)*(4*(tau*1e-12).^2./(tau0.^2)).^degGauss);
u_gauss=exp(-((tau*1e-12).^2./(2*tau0.^2)).^degGauss);
end
Thanks

0 Comments
Accepted Answer
David Goodmanson
on 6 Feb 2025
Edited: David Goodmanson
on 6 Feb 2025
Hi Hugo,
There seems to be some confusion as to whether the constant that is used as the reference constant between various values of m is fwhm or t0. If it's t0 (fwhm still being constant) then:
tau_m = tau1*log(2)^((m-1)/(2*m)) % I renamed tau0 to tau1 since it corresponds to m = 1.
Adding the following to the end of your code
Pmoy=200e-6;
tau1 = tau0;
u_gauss = [];
for m = 1:3
taum = tau1*log(2)^((m-1)/(2*m));
u_gaussm = exp(-(((tau*1e-12).^2./(2*taum.^2))).^m);
u_gauss = [u_gauss;u_gaussm];
end
figure(1)
plot(tau,u_gauss)
grid on
results in

(saving by concatenation is certainly not recommended for variables with a large number of elements (it can be slow) and is a bad habit to get into in general but in a case like this it's fine).
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!