\(\renewcommand\AA{\unicode{x212B}}\)
PseudoVoigt¶
Description¶
The Pseudo-Voigt function is an approximation for the Voigt function, which is a convolution of Gaussian and Lorentzian function. It is often used as a peak profile in powder diffraction for cases where neither a pure Gaussian or Lorentzian function appropriately describe a peak.
Instead of convoluting those two functions, the Pseudo-Voigt function is defined as the sum of a Gaussian peak \(G(x)\) and a Lorentzian peak \(L(x)\), weighted by a fourth parameter \(\eta\) (values between 0 and 1) which shifts the profile more towards pure Gaussian or pure Lorentzian when approaching 1 or 0 respectively:
Both functions share three parameters: Height (height of the peak at the maximum), PeakCentre (position of the maximum) and FWHM (full width at half maximum of the peak).
Thus the Pseudo-voigt function can be expressed as
where \(G'(x, \Gamma)\) and L’(x, Gamma) are normalized Gaussian and Lorentzian. And \(\Gamma\) is FWHM.
In Fullprof notation, \(H\) is used for FHWM instead of \(\Gamma\). In the code, gamma is used for FWHM in order to avoid confusion with peak height \(h\). To be in line with it, we prefer to use \(\Gamma\) for FWHM here.
Native peak parameters¶
Pseudo-voigt function in Mantid has the following native parameters
Peak intensity \(I\): shared peak height between Gaussian and Lorentzian.
Peak width FWHM \(\Gamma\) (or \(H\)): shared FWHM be between Gaussian and Lorentzian
Peak position \(x_0\)
Gaussian ratio \(\eta\): ratio of intensity of Gaussian.
From given FWHM
Gaussian part \(G'(x, \Gamma)\)
where
Lorentzian part \(L'(x, \Gamma)\)
Thus both \(G'(x)\) and \(L'(x)\) are normalized.
Effective peak parameters¶
Peak height \(h\):
\(\sigma\):
Derivative¶
With respect to mixing parameter \(\eta\)
With respect to intensity \(I\)
With respect to peak centre \(x_0\)
With respect to peak width \(\Gamma\)
For Gaussian part:
For Lorentzian part:
Set peak parameters¶
Peak parameters can be estimated from observation. But some peak parameters are correlated, because peak height is not a basic parameter of Pseudo-voigt.
Here is the summary:
Peak width (FWHM \(\Gamma\)): Peak height will be re-calculated.
Peak intensity: Peak height will be re-calculated.
Peak height: Peak intensity, mixing pamameter or FWHM can be re-calculated depending on user’s choice.
Peak centre: No other parameter will be affected.
Mixing parameter \(\eta\): Peak height will be re-calculated.
Estimating mixing parameter¶
Mixing parameter \(eta\) can be estimated from the observed value of peak’s height, FWHM and intensity.
About previous implementation¶
Before Mantid release v3.14, the equation of Pseudo-Voigt is defined as
This equation has several issues:
It does not have normalized Gaussian and Lorentzian.
At \(x = x_0\), \(pV(x_0) = h\). By this definition, the mixing ratio factor \(\eta\) between Gaussian and Lorentzian is the the intensity ratio at \(x = x_0\). But it does not make sense with other \(x\) value. According to the literature or manual (Fullprof and GSAS), \(\eta\) shall be the ratio of the intensities between Gaussian and Lorentzian.
The figure below shows data together with a fitted Pseudo-Voigt function, as well as Gaussian and Lorentzian with equal parameters. The mixing parameter for that example is 0.7, which means that the function is behaving more like a Gaussian.
Properties (fitting parameters)¶
Name |
Default |
Description |
---|---|---|
Mixing |
0.5 |
|
Intensity |
1.0 |
|
PeakCentre |
0.0 |
|
FWHM |
1.0 |
Categories: FitFunctions | Peak
Source¶
C++ header: PseudoVoigt.h
C++ source: PseudoVoigt.cpp