Scattering models#
Phase-compenasated distorted wave Born approximation (PCDWBA)#
- echopop.inversion.pcdwba.pcdwba(center_frequencies: ndarray[float], length_mean: float, length_sd_norm: float, length_radius_ratio: float, taper_order: float, radius_of_curvature_ratio: float, theta_mean: float, theta_sd: float, orientation_distribution: dict[str, Any], g: float, h: float, sound_speed_sw: float, frequency_interval: float, n_integration: int, n_wavelength: int, number_density: float, length_distribution: dict[str, Any], **kwargs)#
Phase-Corrected Distorted Wave Born Approximation (PCDWBA) for acoustic scattering.
This function implements the PCDWBA model for computing acoustic backscattering from elongated marine organisms modeled as uniformly bent fluid cylinders with tapered ends. The model accounts for organism size and orientation distributions through numerical integration.
- Parameters:
- center_frequenciesnumpy.ndarray[float]
Array of center frequencies (\(f\), Hz).
- length_meanfloat
Mean cylinder length (\(L\), m)
- length_sd_normfloat
Normalized length standard deviation (\(\\sigma_{L^*}=\\sigma_{L}/\\bar{L}\)).
- length_radius_ratiofloat
Ratio of organism length to equivalent cylindrical radius.
- taper_orderfloat
Parameter controlling the sharpness of body tapering at ends.
- radius_of_curvature_ratiofloat
Ratio describing the radius of an osculating circle relative to the body length, which expresses the degree of curvature in a bent cylinder.
- theta_meanfloat
Mean orientation angle in degrees relative to vertical. Broadside incidence is considered to be 90°.
- theta_sdfloat
Standard deviation of orientation distribution in degrees.
- orientation_distributionDict[str, Any]
Configuration for orientation averaging:
'family' (str):'gaussian'or'uniform''bins' (int):the number of bins in each distribution
- gfloat
Cylinder density (kg \(\\text{m}^{-3}\)) contrast relative to seawater.
- hfloat
Cylinder sound speed (m \(\\text{s}^{-1}\)) contrast relative to seawater.
- sound_speed_swfloat
Sound speed in seawater in (m \(\\text{s}^{-1}\)).
- frequency_intervalfloat
Frequency spacing in Hz for integration over scattering spectrum.
- n_integrationint
Number of integration segments along organism axis.
- n_wavelengthint
Number of integration points per acoustic wavelength.
- number_densityfloat
Volumetric number density in (scatterers \(\\text{m}^{-3}\)).
- length_distributionDict[str, Any]
Configuration for length averaging:
'family' (str):'gaussian'or'uniform''bins' (int):the number of bins in each distribution
- **kwargsdict
Additional arguments passed to subfunctions
- Returns:
- numpy.ndarray[float]
Predicted volume backscattering strength (\(S_\\text{v}\)) in dB re 1 \(\\text{m}^{-1}\) for each input frequency. Array has same length as
center_frequencies.
Notes
The PCDWBA model treats scatterers as fluid-like, weak, uniformly bent cylinders with tapered end. This accounts for simplified body curvature geometry and material properties that satisfy the weak scattering assumption (\(g,\\, h \\approx 1\)). The model also includes phase copmensation for these curved geometries.
The form function corresponds to the linear scattering coefficient (\(f_\\text{bs}\), m) which is defined as:
\[\begin{split}f_{\\text{bs}}(k_f, \\theta_m) = \\frac{h^2 C_b dr_0}{4} \\sum\\limits_{j=1}^{n_f^\\text{int}} \\left[ \\left( \\hat{k}_{f} a_j \\mathscr{T}_j \\right) ^ 2 \\frac{ \\text{J}_1(2(\\hat{k}_{f} a \\mathscr{T}_j \\cos(\\beta_{jm}) }{ 2(\\hat{k}_{f} a \\mathscr{T}_j \\cos(\\beta_{jm}) } \\exp({i\\varphi_{fjm}}) \\right]\end{split}\]where \(k_f\) is the acoustic wavenumber of the surrounding medium (e.g. seawater) at frequency \(f\) (Hz), and \(\\theta\) is the \(m^\\text{th}\) orientation angle (radians) of the cylinder subject to a plane wave where broadside incidence is at \(\\theta_m = \\frac{\\pi}{2}\). The term \(\\text{J}_1\) is the cylindrical Bessel function of the first kind of order 1.
Numerically, the integral is discretized into \(n_f^\\text{int}\) steps; however, the user-defined argument (
n_integration) sets the minimum number of integration points. This enables an adaptive discretization rule that adjusts \(n_f^\\text{int}\) for each defined frequency. This operates in conjunction with \(n_{\\lambda}\), which dictates the number of integration points per wavelength. Furthermore, a bandwidth surrounding the defined center frequencies is based on the variability in body length (\(\\sigma_L\)) bounded by \(\\left[1 - 3.1 * \\sigma_L, 1 + 3.1 * \\sigma_L \\right]\). These new bandwidths are used to compute the effective length:\[\begin{split}k_f L_\\text{max} = \\max_i \\Big(k_f L \\Big) \\left( 1 + 3.1 * \\sigma_L \\right)\end{split}\]When \(k_f L_\\text{max} < n_f^\\text{int}\), then the value for
n_integrationis used. When \(k_f L_\\text{max} \\leq n_f^\\text{int}\), then:\[\begin{split}n_f^\\text{int} = \\left\\lceil \\frac{k_f L_\\text{max} n_{\\lambda}}{2\\pi} \\right\\rceil\end{split}\]The \(j^\\text{th}\) element of the position matrix (\(\\vec{r_0}\)) is expressed by the radius (\(a_j\)), taper coefficient (\(\\mathscr{T}_j\)), and the along-axis tilt angle of the curved cylinder (\(\\beta_{jm}\)) relative to tilt angle \(m\). Variability in the position matrix cartesian coordinates is expressed as \(dr_0\). The cylinder is also characterized by its respective material properties:
\[\begin{split}C_b =\\gamma_\\kappa - \\gamma_\\rho = \\frac{1 - g h^2}{g h^2} - \\frac{g - 1}{g}\end{split}\]where \(g\) and \(h\) are cylinders’ density and sound speed relative to the surrounding medium. This includes the cylinder-specific wavenumber (\(k_f\)) that accounts for \(h\).
Lastly, the phase, \(\\exp(i\\varphi_{fjm})\), is:
\[\begin{split}\\varphi_{fjm} = \\left( \\frac{L_j}{a_j} \\right) k_f a_j \\left( \\frac{\\vec{r_0}_j}{h} \\right) \\cos(\\gamma_j - \\theta_m)\end{split}\]where :math:\gamma_j is the slope between integration points relative to the overall tilt angle \(m\).
The PCDWBA model is valid under the following conditions:
\(L \\ll \\lambda(f)\) as \(\\theta\) approaches end-on incidence, where \(\\lambda(f)\) is the acoustic wavelength at frequency \(f\).
\(|g-1|, |h-1| \\ll 1\) to satisfy for the weak scattering assumption
Sufficient integration points for curved/tapered geometries
While not a crucial assumption, the PCDWBA is particularly well-suited for elongated scatterers like euphausiids in the geometric scattering regime for \(1 \\lesssim ka \\lesssim 10\), where \(k\) is the acoustic wavenumber and \(a\) is the radius at the cylinder’s midpoint.
The volumetric scattering coefficient, \(S_\\text{v}\), is calculated using the forward problem:
\[\begin{split}S_\\text{v} = 10 \\log_{10} \\left( \\rho_\\text{v} \\sigma_\\text{bs} \\right)\end{split}\]where \(\\rho_\\text{v}\) is the scatterer number density (scatterers \(\\text{m}^{-3}\)).
References
[1]Chu, D., and Ye, Z. (1999). A phase-compensated distorted wave Born approximation representation of the bistatic scattering by weakly scattering objects: Application to zooplankton. The Journal of the Acoustical Society of America, 106, 1732-1743. doi: 10.1121/1.428036
Examples
>>> # Typical krill parameters >>> freqs = np.array([38e3, 120e3]) >>> Sv = pcdwba( ... center_frequencies=freqs, ... length_mean=0.025, # 25 mm ... length_sd_norm=0.15, ... length_radius_ratio=18.0, ... taper_order=10.0, ... radius_of_curvature_ratio=3.0, ... theta_mean=90.0, # horizontal ... theta_sd=15.0, ... orientation_distribution={'family': 'gaussian', 'bins': 50}, ... g=1.02, h=1.02, ... sound_speed_sw=1500.0, ... frequency_interval=2000.0, ... n_integration=50, ... n_wavelength=10, ... number_density=1000.0, ... length_distribution={'family': 'gaussian', 'bins': 30} ... )