<!-- canonical: https://jmrplens.github.io/phonometry/es/environment/propagation/ground-barriers/ -->
Source: https://jmrplens.github.io/phonometry/es/environment/propagation/ground-barriers/

El [método general ISO 9613-2](/phonometry/es/environment/propagation/outdoor-propagation/)
pliega los términos de suelo y barrera en correcciones tabuladas basadas en
energía. Esta página cubre la acústica ondulatoria subyacente en
`phonometry.environment.propagation.ground_barriers`: el **coeficiente de reflexión de
onda esférica** de un suelo de impedancia finita (Weyl-Van der Pol) y la
**difracción por teoría ondulatoria** de una pantalla, ambos en una atmósfera
homogénea (sin refracción ni turbulencia). Son el núcleo físico de los modelos
de suelo y barrera de Nord2000 y CNOSSOS, y resuelven la estructura de
interferencia dependiente de la frecuencia que los términos $A_\mathrm{gr}$/$D_z$
por banda de octava suavizan.

## 1. Efecto suelo de onda esférica (Weyl-Van der Pol)

El campo sonoro de una fuente puntual sobre un suelo de reacción local es la
suma de una onda directa y una onda reflejada ponderada por el **coeficiente de
reflexión de onda esférica** $Q$ (Attenborough Ec. 2.40a; Salomons Ec. 3.2):

$$
p = \frac{e^{ikR_1}}{4\pi R_1} + Q\,\frac{e^{ikR_2}}{4\pi R_2},
$$

con $R_1$ la distancia fuente-receptor y $R_2$ la distancia de la fuente
imagen. El coeficiente (Attenborough Ec. 2.40c; Salomons Ec. D.58) corrige el
coeficiente de onda plana $R_\mathrm{p}$ por la curvatura del frente de onda:

$$
Q = R_\mathrm{p} + (1 - R_\mathrm{p})\,F(w), \qquad
R_\mathrm{p} = \frac{Z\cos\theta - 1}{Z\cos\theta + 1},
$$

$$
F(w) = 1 + i\sqrt{\pi}\,w\,e^{-w^2}\operatorname{erfc}(-iw), \qquad
w = \sqrt{\tfrac{i k R_2}{2}}\left(\cos\theta + \tfrac{1}{Z}\right).
$$

Aquí $Z$ es la impedancia superficial del suelo normalizada por $\rho c$,
$\theta$ es el ángulo de incidencia desde la normal al suelo
($\cos\theta = (h_\mathrm{s} + h_\mathrm{r})/R_2$) y el factor de pérdida por frontera $F(w)$
se escribe mediante la función de error complementaria escalada
$e^{-w^2}\operatorname{erfc}(-iw)$, es decir, la función de Faddeeva
`scipy.special.wofz`. El segundo término de $Q$ es la *onda de suelo* que
mantiene finito el campo en incidencia rasante, donde $R_\mathrm{p} \to -1$ y un
modelo de onda plana predeciría silencio (Salomons Ecs. D.57, D.59, D.60).

El nivel sonoro relativo (la *atenuación en exceso*, dB respecto al campo libre)
es (Salomons Ec. 3.4):

$$
\Delta L = 20\log_{10}\!\left|\,1 + Q\,\frac{R_1}{R_2}\,e^{i k (R_2 - R_1)}\,\right|.
$$

```python

from phonometry import ground_effect

bands = np.array([63., 125., 250., 500., 1000., 2000., 4000., 8000.])

# Pradera (resistividad al flujo efectiva sigma = 200 kPa.s/m^2), fuente a 1 m y
# receptor a 1.5 m de altura, separados 50 m. La impedancia procede del modelo
# poroso de Delany-Bazley de phonometry.materials (suelo semiinfinito).
# Orden de los argumentos: frecuencias, source_height, receiver_height, distancia.
res = ground_effect(bands, 1.0, 1.5, 50.0, flow_resistivity=2e5)
print(res.excess_attenuation)     # la caída del suelo (dB re campo libre)
print(res.reflection_coefficient) # Q complejo por banda
res.plot()                        # atenuación en exceso frente a frecuencia
```

La impedancia del suelo se deriva de una `flow_resistivity` efectiva (con el
modelo `delany_bazley` o `miki` de
[`phonometry.materials`](/phonometry/es/materials/absorbers/porous-absorbers/), que modelan
un suelo poroso semiinfinito) o se suministra directamente como una `impedance`
compleja normalizada (un escalar, un vector por banda o un `PorousMediumResult`).
Un valor de `impedance` directo se toma en el convenio $e^{-i\omega t}$ de
Salomons, en el que un suelo pasivo tiene $\operatorname{Im}(Z) > 0$; los
modelos porosos de `phonometry.materials` trabajan en el convenio opuesto
$e^{+j\omega t}$ ($\operatorname{Im}(Z) < 0$), así que todo lo obtenido de
ellos (una `flow_resistivity` o un
`PorousMediumResult`) se conjuga internamente antes de entrar en las fórmulas
de Weyl-Van der Pol.

*Cuanto más blando es el suelo, más profunda es la caída y a menor frecuencia:
la caída sigue a la resistividad al flujo efectiva a lo largo de más de una
década, y solo el asfalto se mantiene cerca del límite de suelo rígido de +6 dB
en todo el rango de la voz. Ojo a la unidad: la resistividad al flujo es una
resistividad en Pa·s/m², no una presión.*

<details>
<summary>Ver el código de esta figura</summary>

```python

from phonometry import ground_effect

freqs = np.geomspace(50.0, 4000.0, 400)
grounds = [
    ("Nieve reciente (10 kPa·s·m⁻²)", 10e3, "#2ca02c"),
    ("Suelo forestal (50 kPa·s·m⁻²)", 50e3, "#9467bd"),
    ("Pradera (200 kPa·s·m⁻²)", 200e3, "#1f77b4"),
    ("Asfalto (20 000 kPa·s·m⁻²)", 20000e3, "#d62728"),
]
fig, ax = plt.subplots(figsize=(11, 6.4))
for label, sigma, color in grounds:
    res = ground_effect(freqs, 1.0, 1.5, 50.0, flow_resistivity=sigma)
    ax.plot(freqs, res.excess_attenuation, color=color, label=label)
ax.axhline(6.0, color="k", ls=":", label="Límite de suelo rígido (+6 dB)")
ax.axhline(0.0, color="k", lw=0.8)
ax.set_xscale("log")
ax.set_xlabel("Frecuencia [Hz]")
ax.set_ylabel("Nivel respecto al campo libre [dB]")
ax.legend()
plt.show()
```

</details>

**Límites que reproduce la implementación** (cada uno un test o ancla de
conformidad fijados): un suelo acústicamente rígido ($|Z| \to \infty$) da
$R_\mathrm{p} \to 1$, $|w| \to 0$, $F \to 1$ y $Q \to 1$, de modo que $\Delta L$
alcanza +6 dB en fase; la resistividad al flujo efectiva $\sigma \to \infty$
tiende a ese suelo rígido; la incidencia rasante ($h_\mathrm{s}, h_\mathrm{r} \to 0$) da
$R_\mathrm{p} \to -1$; y el efecto suelo es recíproco al intercambiar las alturas de
fuente y receptor.

La onda de suelo se ve mejor llevando la geometría hacia la incidencia
rasante y mirando cómo se separan $R_\mathrm{p}$ y $Q$.

*A 3 m de altura los dos coeficientes coinciden dentro de un pequeño porcentaje y
la onda de suelo es irrelevante. A 0,02 m, $R_\mathrm{p}$ ya ha llegado a $-1$
(módulo 0,993 a 179,6°) y un modelo de onda plana predice $-40,1$ dB, casi el
silencio. El coeficiente esférico llega en cambio a $|Q| = 1,26$ y el campo se
asienta en $-11,9$ dB. Esos 28 dB son lo que compra el término de Faddeeva
$F(w)$, y son la razón de que una trayectoria exterior rasante sea audible
siquiera.*

<details>
<summary>Ver el código de esta figura</summary>

```python

# `ground_effect` se importa en el fragmento de arriba.
alturas = np.geomspace(3.0, 0.02, 60)
c0, f, d = 343.0, 500.0, 50.0
k = 2 * np.pi * f / c0
q_mod, rp_mod, dl_q, dl_p = [], [], [], []
for h in alturas:
    res = ground_effect([f], h, h, d, flow_resistivity=2e5, model="miki")
    rp = res.plane_reflection_coefficient[0]
    q = res.reflection_coefficient[0]
    fase = np.exp(1j * k * (float(res.r_reflected) - float(res.r_direct)))
    razon = float(res.r_direct) / float(res.r_reflected)
    rp_mod.append(abs(rp))
    q_mod.append(abs(q))
    dl_q.append(20 * np.log10(abs(1 + q * razon * fase)))
    dl_p.append(20 * np.log10(abs(1 + rp * razon * fase)))

fig, (izq, der) = plt.subplots(1, 2, figsize=(11, 4.6))
izq.semilogx(alturas, rp_mod, label="|Rp| (onda plana)")
izq.semilogx(alturas, q_mod, label="|Q| (onda esférica)")
izq.invert_xaxis()
izq.set(xlabel="Altura de fuente = receptor [m]", ylabel="Módulo")
izq.legend()
der.semilogx(alturas, dl_q, label="con Q")
der.semilogx(alturas, dl_p, label="solo con Rp")
der.invert_xaxis()
der.set(xlabel="Altura de fuente = receptor [m]",
        ylabel="Nivel respecto al campo libre [dB]")
der.legend()
plt.show()
```

</details>

### Elección de la impedancia del suelo

Ambos modelos de un parámetro se están evaluando muy **por debajo** de su
rango de ajuste publicado para cualquier suelo exterior, y el
`PorousAbsorberWarning` que emiten estas llamadas lo dice: el rango es
$0{,}01 < X < 1$ con $X = \rho_0 f/\sigma$, y la pradera de arriba se sitúa en
$X = 3{,}8\times10^{-4}$ a 63 Hz y 0,024 a 4 kHz; la curva del asfalto de la
figura no llega a entrar en el rango en ningún punto. Por debajo del rango, la
regresión de Delany-Bazley es una extrapolación cuyo fallo clásico es una parte
real negativa de la impedancia de superficie; **Miki** es el reajuste con
restricción de pasividad que conviene preferir ahí (ver el párrafo del rango de
ajuste en [Absorbentes porosos](/phonometry/es/materials/absorbers/porous-absorbers/)).
La elección no es cosmética: en el caso de arriba, `model="miki"` mueve la
atenuación en exceso hasta 3,6 dB (banda de 250 Hz: 0,43 dB con Delany-Bazley,
−3,18 dB con Miki).

Resistividades al flujo **efectivas** típicas, los rangos que ilustra la figura
de arriba: nieve reciente ≈ 10, suelo forestal ≈ 50, pradera y pasto
≈ 150-300, tierra compactada y grava ≈ 1000-3000, asfalto y
hormigón > 20 000 kPa·s/m².

Para un emplazamiento real, $\sigma$ se ajusta a una medida de diferencia de
niveles a corta distancia entre dos alturas de micrófono sobre la superficie
(el método de plantillas de ANSI/ASA S1.18). El valor ajustado es un parámetro
*efectivo y ligado al modelo*: hay que citarlo junto con el modelo de
impedancia con el que se ajustó, y no es la resistividad al flujo de aire de
EN 29053 del mismo material.

## 2. Difracción de barreras avanzada

`barrier_insertion_loss` y sus piezas dan tres niveles de apantallamiento más
allá del término $D_z$ de ISO 9613-2.

**Forma cerrada de Kurze-Anderson.** La pérdida por inserción de una pantalla
fina en función del número de Fresnel $N = (2/\lambda)(A + B - d)$ (Bies
Ec. 5.134, con $A$ y $B$ los dos tramos del camino más corto
fuente-borde-receptor y $d$ la distancia recta) es (Bies Ec. 5.138; Kurze y
Anderson 1971):

$$
\Delta = 5 + 20\log_{10}\!\left(\frac{\sqrt{2\pi N}}{\tanh\sqrt{2\pi N}}\right)\;\text{dB},
$$

que tiende a 5 dB en el límite de sombra $N \to 0$ y aproxima la curva de
fuente puntual de Maekawa dentro de unos 1,5 dB.

El clip de abajo es esa fórmula convertida en campo. Es el
[esquema FDTD 2D](/phonometry/es/simulation/fdtd-simulation/) ejecutado dos veces
sobre un mismo semiespacio de 12 × 7 m sobre suelo rígido con una pantalla
rígida delgada de 2,5 m de alto, una vez a 100 Hz y otra a 500 Hz, cada una con
una simulación de referencia sin barrera sobre el mismo suelo para que la
pérdida por inserción anotada sea una pérdida real. La geometría fija la
diferencia de caminos en 1,06 m para el receptor que marca, así que el número
de Fresnel es $N = 0{,}62$ a 100 Hz y $N = 3{,}1$ a 500 Hz (la misma pantalla,
un factor cinco de diferencia en $N$ solo porque ha cambiado $\lambda$), y el
campo enseña lo que eso compra: unos 8 dB frente a unos 17 dB. Hay dos cosas
que merece la pena mirar. El borde de la región iluminada que baja desde lo
alto de la pantalla es la frontera de sombra, el lugar geométrico $N \to 0$
donde la fórmula toca fondo en 5 dB; y dentro de la sombra el campo es una onda
cilíndrica centrada en lo alto de la pantalla, que es el aspecto que tiene «el
borde actúa como fuente secundaria». Una advertencia: el suelo del clip es
perfectamente rígido, así que muestra difracción sola y nada del efecto suelo
de impedancia finita de la sección 1; el modelo coherente de cuatro caminos de
más abajo sí lo añade, y su curva oscila decenas de decibelios donde esta es
suave.

Los métodos de pantalla delgada comparten las mismas tres magnitudes
geométricas: los dos segmentos difractados sobre el borde y el camino recto
al que sustituyen. Dibujados sobre la pantalla de 4 m de los ejemplos,
difieren en solo 0,15 m.

```python
from phonometry import barrier_insertion_loss, kurze_anderson_attenuation

kurze_anderson_attenuation(0.0)     # 5.0 dB en el límite de sombra

# Una barrera de 4 m a 50 m de una fuente a 1 m, receptor a 1.5 m y 100 m.
il = barrier_insertion_loss(bands, 1.0, 50.0, 4.0, 100.0, 1.5,
                            method="kurze_anderson")
il.plot()                           # pérdida por inserción frente a frecuencia
```

**Semiplano rígido exacto.** Con `method="exact"` se usa la pérdida por
inserción por teoría ondulatoria de una pantalla fina rígida: la forma compacta
en integrales de Fresnel de la solución de MacDonald / Hadden y Pierce
(Attenborough Ecs. 9.19-9.20), construida con las funciones de Fresnel
auxiliares. Da 6 dB en el límite de sombra (el campo se reduce a la mitad, el
límite de cuña plana) y sigue a Kurze-Anderson en la zona de sombra.

**Barreras gruesas.** Un `thickness` (ancho superior $e$) desplaza aguas abajo el
segundo borde de difracción y alarga el camino difractado a $A + e + B$, el
número de Fresnel de doble borde $N = (2/\lambda)(A + B + e - d)$ de Bies
Ec. 5.157. La mejora es monótona, pero es pequeña, y la razón es geométrica: $B$
se mide ahora desde el borde *lejano*, así que casi todo lo que el ancho superior
añade lo devuelve también. Sobre la pantalla de 4 m de esta página, un ancho
superior de 4 m vale **0,08 dB** a 500 Hz y 0,14 dB a 8 kHz; incluso 30 m de
ancho solo llegan a 1,2 dB.

*El efecto de la longitud del camino, por sí solo, vale una fracción de decibelio
a distancias de tráfico rodado. La ISO 9613-2 concede a un doble borde bien
separado un factor aparte $C_3$ que sube de 1 hacia 3, hasta
$10\log_{10}3 \approx 4,8$ dB, que el modelo ondulatorio de aquí no incluye: para
ese mismo ancho superior de 4 m, $D_z$ pasa de 7,6 dB a 9,0 dB a 500 Hz. Ninguna
de las dos cifras autoriza a construir un caballón y esperar la bonificación de
ISO con el modelo de esta página.*

<details>
<summary>Ver el código de esta figura</summary>

```python

# `barrier_insertion_loss` se importa en el fragmento de arriba.
anchos = np.linspace(0.0, 30.0, 40)
fig, ax = plt.subplots()
for freq in (250.0, 500.0, 1000.0):
    delgada = float(barrier_insertion_loss(
        [freq], 1.0, 50.0, 4.0, 100.0, 1.5, method="exact").insertion_loss[0])
    ganancia = [0.0 if e == 0.0 else float(barrier_insertion_loss(
        [freq], 1.0, 50.0, 4.0, 100.0, 1.5, method="exact",
        thickness=e).insertion_loss[0]) - delgada for e in anchos]
    ax.plot(anchos, ganancia, label=f"{freq:g} Hz")
ax.set_xlabel("Ancho superior e [m]")
ax.set_ylabel("Ganancia sobre la pantalla delgada [dB]")
ax.legend()
plt.show()
```

</details>

**Barrera coherente sobre el suelo.** Con una `ground_impedance` (o una
`ground_flow_resistivity`) se combinan coherentemente los cuatro caminos
difractados fuente-imagen / receptor-imagen, ponderando cada reflexión en el
suelo por el coeficiente de onda esférica $Q$ anterior (Attenborough cap. 9;
Bies sec. 5.3.5). Esto expone la estructura de interferencia suelo-barrera que
una suma puramente energética de $A_\mathrm{gr}$ y $D_z$ no puede. Como
simplificación de primer orden, un único $Q$ (sobre la geometría global
fuente-receptor) pondera
todos los rebotes en lugar de un coeficiente por camino imagen; el modelo es
coherente y recíproco pero no una solución completa por elementos de contorno.

```python
il = barrier_insertion_loss(bands, 1.0, 50.0, 4.0, 100.0, 1.5,
                            method="exact", ground_flow_resistivity=2e5)
il.ground        # True: se aplicó el modelo coherente de cuatro caminos
il.plot()
```

Los tres modelos lado a lado sobre la misma geometría cuentan toda la
historia: el ajuste de Kurze-Anderson y el semiplano exacto se siguen a menos
de 1,5 dB a lo largo de dos décadas de número de Fresnel, mientras que el
modelo coherente con suelo oscila decenas de decibelios alrededor de ellos,
hacia arriba donde la barrera elimina el valle del efecto suelo del camino sin
apantallar, hacia abajo donde los cuatro caminos difractados interfieren
destructivamente.

*Los dos modelos de pantalla delgada nunca se separan más de unos 1,5 dB, así que
elegir entre ellos apenas importa. La curva coherente con suelo es un objeto de
otra clase: oscila desde por encima de +45 dB cerca de 230 Hz, donde la barrera
elimina el propio valle del efecto suelo del camino sin apantallar, hasta por
debajo de −10 dB cerca de 550 Hz, donde los cuatro caminos difractados se
cancelan. Los dos extremos son de banda estrecha y ninguno es un valor de
diseño.*

<details>
<summary>Ver el código de esta figura</summary>

```python

from phonometry import barrier_insertion_loss

# La barrera de 4 m de los fragmentos anteriores, en una malla fina de frecuencia.
freqs = np.geomspace(50.0, 5000.0, 240)
il_ka = barrier_insertion_loss(freqs, 1.0, 50.0, 4.0, 100.0, 1.5,
                               method="kurze_anderson")
il_ex = barrier_insertion_loss(freqs, 1.0, 50.0, 4.0, 100.0, 1.5,
                               method="exact")
il_gr = barrier_insertion_loss(freqs, 1.0, 50.0, 4.0, 100.0, 1.5,
                               method="exact", ground_flow_resistivity=2e5)
fig, ax = plt.subplots(figsize=(11, 6.4))
ax.semilogx(freqs, il_ka.insertion_loss, "--", label="Kurze-Anderson (pantalla delgada)")
ax.semilogx(freqs, il_ex.insertion_loss, label="Semiplano rígido exacto")
ax.semilogx(freqs, il_gr.insertion_loss, label="Exacto + suelo coherente (cuatro caminos)")
ax.axhline(5.0, color="k", ls=":", label="Límite rasante de Kurze-Anderson (5 dB)")
ax.set(xlabel="Frecuencia [Hz]", ylabel="Pérdida por inserción [dB]")
ax.legend()
plt.show()
```

</details>

Las tres curvas comparten la misma geometría base, y `.plot_geometry()` la
dibuja a escala: a estas distancias de tráfico rodado la pantalla de 4 m es
una lámina. En las curvas de pantalla delgada la diferencia de caminos de
0,15 m se combina con la longitud de onda en el número de Fresnel; la curva
de suelo coherente depende además de la impedancia del suelo y de la
interferencia de los caminos imagen.

*Dibujada a escala, la pantalla casi desaparece: el camino difractado sobre
el borde es solo 0,15 m más largo que el directo bloqueado, y esa diferencia
es la entrada geométrica del número de Fresnel $N = (2/\lambda)(A + B - d)$
del que dependen los métodos de pantalla delgada de arriba.*

<details>
<summary>Ver el código de esta figura</summary>

```python

from phonometry import barrier_insertion_loss

freqs = np.geomspace(50.0, 5000.0, 240)
il = barrier_insertion_loss(freqs, 1.0, 50.0, 4.0, 100.0, 1.5)

# Una línea: la sección a escala, con la diferencia de caminos anotada.
il.plot_geometry(language="es")
plt.show()
```

</details>

### Parámetros de `ground_effect()` y `barrier_insertion_loss()`

Las dos entradas toman sus distancias **a lo largo del suelo desde la fuente**, y
ninguna toma una distancia desde la barrera. Esa es la trampa que conviene
nombrar: en `barrier_insertion_loss(bands, 1.0, 50.0, 4.0, 100.0, 1.5)` el
receptor está a 100 m de la *fuente*, es decir 50 m más allá de la pantalla, no
100 m más allá. Las dos funciones escriben además la misma opción de forma
distinta (`model=` en `ground_effect`, `ground_model=` en
`barrier_insertion_loss`) y ordenan su geometría de otra manera, y por eso las
dos llamadas posicionales de esta página no son paralelas.

| Parámetro de `ground_effect` | Tipo / forma | Unidades | Rango / def. | Notas |
| :--- | :--- | :--- | :--- | :--- |
| `frequencies` | escalar o array 1D | Hz | > 0 | Banda estrecha: sin suavizado por bandas |
| `source_height` | float | m | ≥ 0 | $h_\mathrm{s}$ |
| `receiver_height` | float | m | ≥ 0 | $h_\mathrm{r}$ (**antes** de la distancia) |
| `distance` | float | m | > 0 | Distancia horizontal fuente-receptor |
| `impedance` | array, `PorousMediumResult` o None | — | `None` | $Z$ normalizada en el convenio $e^{-i\omega t}$ |
| `flow_resistivity` | float o None | Pa·s/m² | `None` | $\sigma$ efectiva; alimenta el modelo poroso |
| `model` | `"delany_bazley"` \| `"miki"` | — | `"delany_bazley"` | Prefiere `"miki"` por debajo del rango de ajuste |
| `speed_of_sound` / `air_density` | float | m/s, kg/m³ | 343.0 / 1.205 | |

| Parámetro de `barrier_insertion_loss` | Tipo / forma | Unidades | Rango / def. | Notas |
| :--- | :--- | :--- | :--- | :--- |
| `frequencies` | escalar o array 1D | Hz | > 0 | |
| `source_height` | float | m | ≥ 0 | $h_\mathrm{s}$ |
| `barrier_distance` | float | m | > 0 | De la fuente al borde (cercano), sobre el suelo |
| `barrier_height` | float | m | > 0 | Altura del borde sobre el suelo |
| `receiver_distance` | float | m | > `barrier_distance` (+ `thickness`) | Medida **desde la fuente** |
| `receiver_height` | float | m | ≥ 0 | $h_\mathrm{r}$ (**después** de la distancia) |
| `method` | `"kurze_anderson"` \| `"exact"` | — | `"exact"` | `"exact"` es el semiplano rígido |
| `thickness` | float o None | m | `None` | Ancho superior $e$; doble borde |
| `ground_impedance` | array, `PorousMediumResult` o None | — | `None` | Selecciona el modelo coherente de cuatro caminos |
| `ground_flow_resistivity` | float o None | Pa·s/m² | `None` | Lo mismo, a partir de una $\sigma$ efectiva |
| `ground_model` | `"delany_bazley"` \| `"miki"` | — | `"delany_bazley"` | Ojo al nombre: no es `model=` |
| `speed_of_sound` / `air_density` | float | m/s, kg/m³ | 343.0 / 1.205 | |

Un argumento de suelo exige `method="exact"`; `method="kurze_anderson"` con
suelo lanza `ValueError`.

### Elegir un modelo, y qué no modela ninguno

**Cuál usar.** Kurze-Anderson para una estimación de ingeniería por bandas de
octava, donde sus ±1,5 dB frente a la solución exacta quedan muy dentro de la
incertidumbre de todo lo demás de la cadena. El semiplano rígido exacto cuando
importa el comportamiento junto a la frontera de sombra (ahí da 6 dB frente a los
5 dB de Kurze-Anderson, y los 6 dB son el campo reducido a la mitad,
físicamente correcto). El modelo coherente de cuatro caminos solo cuando la
pregunta es la estructura de interferencia en banda estrecha, nunca en bruto como
valor de diseño.

**La curva coherente hay que promediarla antes de que signifique nada.** Es un
resultado coherente, de banda estrecha y completamente determinista. La
turbulencia atmosférica real descorrelaciona los cuatro caminos, una fuente real
tiene ancho de banda y un receptor real se mueve; las tres cosas borran los
extremos. Una pérdida por inserción de +45 dB en banda estrecha no es una barrera
que quite 45 dB, es una frecuencia en la que el camino *sin apantallar* caía
justo en su propio valle de efecto suelo. Promedia la curva por bandas, o léela
como estructura y no como un nivel.

**Los cuatro modelos son pantallas bidimensionales infinitas.** Una barrera real
de longitud finita deja que el sonido la flanquee por los extremos, y dos
barreras paralelas a ambos lados de una vía se reflejan entre sí y pierden varios
decibelios de su prestación nominal. Ninguno de los dos efectos existe en ningún
modelo de esta página.

**La difracción es el límite de apantallamiento, no el realizado.** La pérdida
por inserción que entrega una barrera construida es la menor entre el resultado
de difracción y el índice de reducción sonora del propio panel, y el obstáculo
tiene que cualificar antes como barrera: masa por unidad de superficie, una
superficie cerrada y una extensión horizontal normal a la trayectoria mayor que
la longitud de onda. Esas reglas de cualificación están enunciadas en el
[apartado de errores habituales con barreras de Propagación del sonido en exteriores](/phonometry/es/environment/propagation/outdoor-propagation/);
aquí se aplican sin cambios.

## Relación con ISO 9613-2

La pérdida por inserción de Kurze-Anderson que aquí se escribe $\Delta$ es la
misma magnitud que la ISO 9613-2 llama $D_z$, y los dos segmentos difractados
llamados aquí $A$ y $B$ son sus $d_\mathrm{ss}$ y $d_\mathrm{sr}$. Los términos tabulados
$A_\mathrm{gr}$ y $D_z$ del
[método ISO
9613-2](/phonometry/es/environment/propagation/outdoor-propagation/) son
ajustes de
ingeniería por banda de octava basados en energía; `ground_effect` y
`barrier_insertion_loss` son sus contrapartes de banda estrecha por acústica
ondulatoria. Sobre suelo rígido ambos coinciden en el realce de +6 dB y en el
límite de barrera rasante de 5 dB, pero solo los modelos ondulatorios resuelven
las caídas de interferencia que se mueven con la geometría, la frecuencia y la
impedancia del suelo, lo que los hace la infraestructura natural de los esquemas
meteorológicos de Nord2000 y CNOSSOS.

## Qué cubre esta guía

El coeficiente de reflexión de onda esférica de Weyl-Van der Pol para el suelo
(`ground_effect`, Attenborough Ec. 2.40a/c, Salomons Ec. 3.2/D.58, el factor
de pérdida por frontera mediante la función de Faddeeva), con sus límites de
suelo rígido (+6 dB), incidencia rasante y reciprocidad anclados como tests.
La difracción de barrera por teoría ondulatoria (`barrier_insertion_loss`): la
forma cerrada de Kurze-Anderson (`kurze_anderson_attenuation`, Bies Ec.
5.138), el semiplano rígido exacto (MacDonald / Hadden y Pierce, Attenborough
Ecs. 9.19-9.20), las barreras gruesas mediante el número de Fresnel de doble
borde (Bies Ec. 5.157), y el modelo coherente de barrera sobre suelo de cuatro
caminos ponderado por el coeficiente de reflexión de `ground_effect`.

Ambos modelos suponen una atmósfera homogénea, sin refracción ni turbulencia;
un gradiente vertical de velocidad del sonido es el objeto de la guía separada
de [refracción
atmosférica](/phonometry/es/environment/propagation/atmospheric-refraction/).
El modelo coherente de barrera sobre suelo pondera los cuatro caminos
difractados con un único coeficiente de reflexión $Q$ calculado sobre la
geometría global fuente-receptor, en lugar de un coeficiente distinto por
camino imagen, así que es coherente y recíproco pero no una solución completa
por elementos de contorno.

## Véase también

- [Propagación del sonido en exteriores](/phonometry/es/environment/propagation/outdoor-propagation/): los ajustes por bandas de octava de ISO 9613-2 bajo los que se sitúan estos modelos, y la regla que un obstáculo tiene que cumplir para ser barrera siquiera.
- [Refracción atmosférica: rayos y GFPE](/phonometry/es/environment/propagation/atmospheric-refraction/): el gradiente vertical de velocidad del sonido que los dos modelos de aquí dan por inexistente.
- [Absorbentes porosos](/phonometry/es/materials/absorbers/porous-absorbers/): los modelos de Delany-Bazley y de Miki que hay detrás de `flow_resistivity`, y su rango de ajuste.
- Teoría: [Propagación en exteriores](/phonometry/es/reference/theory/environment-transport/#propagación-en-exteriores-iso-9613-12): los términos de suelo y de barrera de ISO 9613-2 en el contexto de toda la suma de atenuaciones.
- Referencia de la API: [`environment.propagation.ground_barriers`](/phonometry/es/reference/api/environment/ground-barriers/).
