
Write different super gaussian function with same fwhm but different order
7 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
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!