ground reflections

class description

ground_reflections.ground_reflections(settings: Dict[str, Any], data: pyNA.src.data.Data, r: numpy.float64, beta: numpy.float64, x_obs: numpy.ndarray, c_bar: numpy.float64, rho_0: numpy.float64) → numpy.ndarray[source]

Compute the ground reflection coefficients.

Parameters
  • settings (Dict[str, Any]) – pyna settings

  • data (Data) – pyna noise data

  • r (np.float64) – distance source to observer [m]

  • beta (np.float64) – elevation angle [deg]

  • x_obs (np.ndarray) – observer location [m, m, m]

  • c_bar (np.float64) – average ambient speed of sound between observer and source [m/s]

  • rho_0 (np.float64) – ambient density [kg/m3]

Returns

G

Return type

np.ndarray

theory

Ground absorption and reflection effects}

The Chien-Soroka method is used to assess ground reflections and ground attenuation. The method accounts for the amplification and attenuation of noise when two signals, the direct and reflected signal, arrive at the microphone with a phase shift. Firstly, the path length of the reflected signal is computed:

\[r_r = \sqrt{r^2 + 4 z_{\textrm{obs}}^2 + 4rz_{\textrm{obs}}\sin\beta}\]

where \(\beta\) is the elevation angle of the source at the observer. The difference between the direct and the reflected wave path is denoted by \(\Delta r = r_r - r\). The wavenumber, \(k\), and dimensionless frequency, \(\eta\), of the sound wave are computed using:

\[\begin{split}\begin{aligned} k &= \frac{2\pi f_{sb}}{\bar{c}} \\ \eta &= \frac{2\pi \rho_0 f_{sb}}{\sigma} \end{aligned}\end{split}\]

where \(\sigma\) is the specific flow resistance of ground. The cosine of the incidence angle of the reflected signal is:

\[\cos \theta = \frac{r \sin \beta + 2 z_{\textrm{obs}}}{r_r}\]

The empirical complex specific ground admittance, \(\nu\), is computed using:

\[\nu = \frac{1}{\left[ 1 + (6.86\eta)^{-0.75}\right] + (4.36 \eta)^{-0.73} j}\]

where \(j\) denotes the imaginary unit. The complex spherical wave reflection coefficient, \(Z\), is computed using:

\[Z = \Gamma + (1-\Gamma)F\]

where:

\[\begin{split}\begin{aligned} \Gamma &= \frac{\cos \theta - \nu}{\cos \theta + \nu} \\ F &= -2 \sqrt{\pi} U[-Re(\tau)] \tau \exp(\tau^2) + \frac{1}{2\tau^2} - \frac{3}{(2\tau^2)^2} \end{aligned}\end{split}\]

The coefficient \(\tau\) is given by:

\[\tau = (\cos \theta + \nu) \sqrt{\frac{k r_r}{2j}}\]

and the unit step function, \(U\), is given by:

\[\begin{split}U = \begin{cases} 1 \quad & \textrm{if} \quad -\textrm{Re}(\tau) > 0 \\ 1/2 \quad & \textrm{if}\quad -\textrm{Re}(\tau) = 0 \\ 0 \quad & \textrm{if}\quad -\textrm{Re}(\tau) < 0 \\ \end{cases}\end{split}\]

The ground reflection factor, \(G\), is computed using:

\[G = 1 + R^2 + 2R\exp\left(-(a_{coh} k \Delta r) ^ 2\right) \cos(\alpha + k \Delta r) \frac{\sin(\epsilon k \Delta r)}{\epsilon k \Delta r}\]

where \(R\) and \(\alpha\) are the magnitude and angle of the complex spherical wave reflection coefficient, i.e. \(R \exp(\alpha j) = Z\). The constants \(K\) and \(\epsilon\) are given by:

\[\begin{split}\begin{aligned} K &= 2^{1/(6N_b)} \\ \epsilon &= K - 1 \\ \end{aligned}\end{split}\]

Finally, the ground absorption and reflection effects are applied to the mean-square acoustic pressure of each sub-band \(j\) using:

\[<p^2_{\textrm{ground-effects}}>_j \ = G <p^2_{\textrm{absorb}}>_j\]