Normalizing Gaussian distribution Fit disrupts readout
4 ビュー (過去 30 日間)
古いコメントを表示
Dear Matlab community,
I am trying to simulate optical gaussian signals in time domain, and Full-Width at Half-Maximum (FWHM) is crucial for me. Several pulses with different FWHMs were generated as normalized gaussian functions using a formula:
f(t) =
,
where σ is a standard deviation, and
. Function width is determined by the fwhm during generation.
This formula generates an array of data over a time vector t. I use standard Matlab gaussian fitting to verify obtained fwhm of the gaussian signal in two versions of options, with normalised switched on and off.
The problem is, that not normalized gaussian fit is wrong in terms of curve amplitude, but read fwhm value is reasonable.
In case of normalised gaussian curve fits well, but fwhm value doesn`t correspond to the time axis. Please have a look at those images of a 100 ps fwhm long pulse:

The FWHM is computed according to the fitting to be: around 63 ps

The FWHM is computed according to the fitting to be: 1.3673
Do you know how to properly normalise the fitting, so that I can read fwhm value which corresponds to the time axis?
There must be something peculiar about "normalize" parameter in the fitting options, as if it did something to time axis. Nothing found in the documentation.
Any help would be appreciated :)
Kind regards
% The time vector
fs = 83.2e9; % Sampling frequency in Hz
sample_duration = (1/fs); % in picoseconds
t = 0:sample_duration:(n * sample_duration);
options = fitoptions('gauss1');
%options.Normalize = 'off';
%options.Normalize = 'on';
fitting_time = fit(t(1:length(gaussian_signal)).', gaussian_signal.', 'gauss1', options);
0 件のコメント
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Annotations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!