Pseudo-Voigt Profile
A linear combination of Gaussian and Lorentzian functions providing high-speed approximation of Voigt profile line shapes.
Mathematical Formulation
y = y0 + A * [eta * L(x, mu, gamma) + (1 - eta) * G(x, mu, gamma)]Parameters & Physical Meanings
Detailed parameter breakdown, standard units, valid mathematical constraints, and initial guess heuristic algorithms.
| Symbol | Name | Unit | Constraints | Physical Interpretation | Initial Guess Heuristic |
|---|---|---|---|---|---|
| $y_0$ | Baseline Offset | Intensity a.u. | unconstrained | Constant background intensity | min(y) |
| $A$ | Integrated Peak Area | Intensity · x-unit | A > 0 | Total integrated intensity under the combined profile | (max(y) - y0) * gamma_init |
| $\mu$ | Peak Center | Diffraction Angle (2θ) / Wavenumber (cm⁻¹) | min(x) <= mu <= max(x) | Centroid of the diffraction reflection or vibrational mode | x[argmax(y)] |
| $\gamma$ | Shared FWHM | 2θ degrees / cm⁻¹ | gamma > 0 | Full Width at Half Maximum shared by both Gaussian and Lorentzian components | Measured width at (max(y) - y0)/2 |
| $\eta$ | Lorentzian Fraction (Shape Factor) | Dimensionless (0 to 1) | 0 <= eta <= 1 | Fractional Lorentzian character. η = 0 is pure Gaussian; η = 1 is pure Lorentzian. | 0.5 (equal initial mixture) |
When to Choose This Model
- Fitting XRD diffraction patterns to separate crystallite size (Lorentzian) from microstrain (Gaussian)
- High-throughput deconvolution of overlapping Raman and FTIR bands where full convolution is too slow
- X-ray photoelectron spectroscopy (XPS) core level deconvolution with mixed instrumental and core-hole lifetimes
Typical Scientific Applications
- XRD Rietveld structural analysis
- Raman line shape and crystallite confinement analysis
- XPS surface chemical state deconvolution
- Synchrotron radiation line shape characterization
Expected Fit Profile & Curve Morphology
Shape: peakExample Dataset & Expected Fit Output
Synthetic 21-point XRD diffraction peak (eta = 0.52) with mixed crystallite and microstrain broadening
Expected Converged Parameters
- y020.450
- A194.200
- mu40.000
- gamma0.620
- eta0.520
Sample Experimental Vectors (15 points)
| # | x (Independent) | y (Observed) |
|---|---|---|
| 1 | 38.000 | 21.400 |
| 2 | 38.500 | 25.600 |
| 3 | 39.000 | 38.900 |
| 4 | 39.400 | 82.400 |
| 5 | 39.600 | 142.800 |
| 6 | 39.800 | 235.100 |
| 7 | 39.900 | 284.600 |
| 8 | 40.000 | 305.200 |
| + 7 more points available in AltaiPlot preset | ||
Python / SciPy Reference Implementation
Reference library: lmfit (Levenberg-Marquardt).Exact parameterization parity verified.
import numpy as np
from scipy.optimize import curve_fit
def pseudo_voigt_model(x, y0, A, mu, gamma, eta):
# Normalized Gaussian with FWHM gamma
g_part = (2.0 * np.sqrt(np.log(2)) / (np.sqrt(np.pi) * gamma)) * np.exp(-4.0 * np.log(2) * ((x - mu) / gamma)**2)
# Normalized Lorentzian with FWHM gamma
l_part = (2.0 / (np.pi * gamma)) / (1.0 + 4.0 * ((x - mu) / gamma)**2)
return y0 + A * (eta * l_part + (1.0 - eta) * g_part)
y0_init = np.min(y_data)
mu_init = x_data[np.argmax(y_data)]
peak_height = np.max(y_data) - y0_init
half_idx = np.where(y_data >= y0_init + peak_height / 2.0)[0]
gamma_init = max(np.max(x_data[half_idx]) - np.min(x_data[half_idx]), 1e-4) if len(half_idx) > 1 else (np.max(x_data) - np.min(x_data)) / 10.0
A_init = peak_height * gamma_init * 1.2
p0 = [y0_init, A_init, mu_init, gamma_init, 0.5]
bounds = ([-np.inf, 0, np.min(x_data), 1e-12, 0.0], [np.inf, np.inf, np.max(x_data), np.inf, 1.0])
popt, pcov = curve_fit(pseudo_voigt_model, x_data, y_data, p0=p0, bounds=bounds)Comparative & Alternative Models
Key decision trade-offs between this model and related functional alternatives:
Gaussian Peak Profile
The fundamental symmetric bell-shaped peak model describing thermal Doppler broadening and instrumental slit resolution.
Lorentzian (Cauchy-Lorentz) Profile
The characteristic heavy-tailed peak profile describing natural radiative lifetime broadening and collisional damping.
Frequently Asked Questions (Pseudo-Voigt Profile)
What is the physical meaning of the eta parameter in XRD analysis?
In X-ray diffraction, eta represents the fraction of Lorentzian profile character. Higher eta values indicate dominant finite crystallite size broadening (Scherrer effect), while lower eta values indicate dominant microstrain broadening from lattice defects.
Scientific References & Citations
- Ida, T., Ando, M., & Toraya, H. (2000). Extended pseudo-Voigt function for approximating the Voigt profile. Journal of Applied Crystallography, 33(6), 1311-1316.[Source / DOI]