ppops.detector
Handles detector signal and noise calculations.
This module includes functions to compute the expected signal and noise levels for a detector based on the hardware specifications.
Constants: - ELEMENTARY_CHARGE: Electron charge (C) - ANODE_RADIANT_SENSITIVITY: Anode radiant sensitivity (A/W) - DARK_CURRENT: Dark current noise (A) - BANDWIDTH: Bandwidth (Hz) - INPUT_CURRENT_NOISE: Preamplifier input current noise (A/√Hz)
Functions: - laser_power_density(laser_power, beam_major, beam_minor): Computes the laser power density at the aerosol stream. - estimate_signal_noise(truncated_csca, laser_power): Estimates signal and noise levels for a given truncated scattering cross section and laser power.
Citations: - Gao, R.S., et al. 2016. A light-weight, high-sensitivity particle spectrometer for PM2.5 aerosol measurements. Aerosol Science and Technology 50, 88-99. https://doi.org/10.1080/02786826.2015.1131809 - Thor Labs. TIA60 Transimpedance Amplifier Datasheet. https://www.thorlabs.com/drawings/c627bb63fbc792f9-BE0A1D53-FE71-D4E9-369F32E2683F2FB6/TIA60-SpecSheet.pdf - Hamamatsu Photonics. H10720 Series Photomultiplier Tube Datasheet. https://www.hamamatsu.com/content/dam/hamamatsu-photonics/sites/documents/99_SALES_LIBRARY/etd/H10720_H10721_TPMO1062E.pdf
Attributes
Functions
|
Return the anode radiant sensitivity of the PMT in A/W. |
|
Return the laser peak power density at the aerosol stream. |
|
Return signal and noise estimates. |
Module Contents
- ppops.detector.anode_radiant_sensitivity(PMT_control_voltage)[source]
Return the anode radiant sensitivity of the PMT in A/W.
- Parameters:
PMT_control_voltage (float) – Control voltage of the PMT in volts.
- Returns:
Anode radiant sensitivity in A/W.
- Return type:
float
- ppops.detector.laser_peak_power_density(laser_power, beam_major=6, beam_minor=0.054)[source]
Return the laser peak power density at the aerosol stream. Assumes a Gaussian beam profile and that the beam is focused at the aerosol stream. Also assumes that the aerosol passes through the center of the beam where the power density is highest.
The initial beam dimensions are taken from Gao et al. 2016 and the beam waist at the aerosol stream is estimated below assuming a Gaussian beam profile. The laser power density is then calculated as the laser power divided by the beam area at the aerosol stream.
Horizontal beam waist at aerosol stream: spot_diameter = 4M² * λ * L / (π * w_initial) = 0.054 mm where λ = 405 nm, L = 75 mm, w_initial_horizontal = 1 mm, M² = 1.4 (assumed).
Vertical beam waist at aerosol stream: spot_diameter = 2M² * λ * L / (π * w_initial) where L = 25 mm, w_initial_vertical = 3 mm. DOF = 2 * π * (spot_diameter / 2)² / (M² * λ) beam_diameter = spot_diameter * sqrt(1 + (distance_from_lens - L)² / (DOF/2)²) = 6 mm
- Parameters:
laser_power (float) – Laser power in mW.
beam_major (float, optional) – Length of major axis of the oval laser beam at the aerosol stream in millimeters. Default is 6.
beam_minor (float, optional) – Length of minor axis of the oval laser beam at the aerosol stream in millimeters. Default is 0.054.
- Returns:
power_density – Optical power density (W/µm^2).
- Return type:
float
References
Gao, R.S., et al. 2016. A light-weight, high-sensitivity particle spectrometer for PM2.5 aerosol measurements. Aerosol Science and Technology 50, 88-99. https://doi.org/10.1080/02786826.2015.1131809
Laser spot size and beam waist calculator and formulas. Gentec. (n.d.). https://www.gentec-eo.com/laser-calculators/beam-waist-spot-size
- ppops.detector.estimate_signal_noise(ops, truncated_csca)[source]
Return signal and noise estimates.
Computes signal and noise estimates for a given truncated single scattering cross section and laser power. This function uses the maximum gain settings for the PMT and preamplifier. This is expected to be larger than the actual signal and noise levels in typical operation, but provides a useful upper bound.
- Parameters:
ops (OpticalParticleSpectrometer) – Instance of the OpticalParticleSpectrometer class.
truncated_csca (float or np.ndarray) – Truncated scattering cross section in units of µm².
- Returns:
signal (float or ndarray) – Estimated signal current (A).
noise (float or ndarray) – Estimated noise (A).
- Return type:
tuple[float | numpy.typing.NDArray[numpy.float64], float | numpy.typing.NDArray[numpy.float64]]