<!-- canonical: https://docs.jmrp.io/phonometry/es/signals/metrology/reciprocity-calibration/ -->
Source: https://docs.jmrp.io/phonometry/es/signals/metrology/reciprocity-calibration/

Un micrófono patrón de laboratorio se calibra sin micrófono de referencia. Se
acoplan acústicamente dos micrófonos, uno actúa como fuente y el otro recibe,
y la impedancia de transferencia eléctrica $Z_{\mathrm{e},12} = U_2/i_1$ que
se mide es el producto de sus dos sensibilidades por la impedancia de
transferencia acústica de lo que los acopla, que se calcula:

$$
M_1 M_2 = \frac{Z_{\mathrm{e},12}}{Z_{\mathrm{a},12}}
$$

En un **acoplador** (IEC 61094-2), $Z_{\mathrm{a},12}$ es la impedancia
acústica de un pequeño volumen de gas encerrado; en **campo libre** (IEC
61094-3) es la de una onda esférica entre los dos centros acústicos. Tres
micrófonos medidos por pares dan tres productos, y cada sensibilidad sale solo
de ellos. Los tres módulos de `metrology` que lo hacen son
`reciprocity_coupler`, `reciprocity_free_field` y `reciprocity_calibration`,
que guarda el resultado y el balance que comparten los dos.

Las lecturas de esta página son sintéticas: impedancias de transferencia
eléctricas construidas a partir de tres sensibilidades que la página conoce,
de modo que cada paso puede contrastarse con ellas.

*Tres micrófonos LS1P calibrados en un acoplador de onda plana (izquierda) y
las correcciones de la impedancia de transferencia de un par (derecha), con el
`.plot()` de los propios resultados.*

## 1. Cómo se hace la medida

Las dos partes usan tres micrófonos, dos de ellos recíprocos, o dos micrófonos
y una fuente sonora auxiliar, uno de ellos recíproco (5.1.1). Cada par se mide
por turno: uno de los micrófonos se excita con una corriente, que se mide como
la tensión en una impedancia calibrada en serie con él, y la tensión en
circuito abierto del otro se lee por la técnica de la tensión de inserción
(5.3). El cociente es la impedancia de transferencia eléctrica. En un
acoplador los dos se enfrentan a través de una cavidad de forma conocida; en
campo libre, sobre sus ejes principales en una cámara anecoica.

*Un par del trío en un acoplador y en campo libre: qué se mide, qué se calcula
y qué hacen con ello las fórmulas de cada parte.*

| Requisito | Valor | Apartado |
| :--- | :--- | :--- |
| Condiciones de referencia | 23,0 °C, 101,325 kPa, 50 % de humedad relativa | 61094-2 y 61094-3, 4 |
| Tensión de polarización | Se recomiendan 200,0 V, y se informa la utilizada | 61094-2, 6.2; 61094-3, 6.2 |
| Acoplador de onda plana | Distancia entre diafragmas de 0,5 a 0,75 veces el diámetro, hasta unos 10 kHz (LS1P) y 20 kHz (LS2P) | 61094-2, C.2 |
| Acoplador de gran volumen | Longitud y diámetro en razón de unos 0,3, hasta unos 2,5 kHz (LS1P) y 5 kHz (LS2P) con una corrección por movimiento ondulatorio | 61094-2, C.3 |
| Distancia en campo libre | Mayor que diez diámetros nominales del micrófono | 61094-3, 7.3 |
| Montaje en campo libre | Sobre un cilindro del diámetro del micrófono de al menos veinte diámetros, con transición gradual al soporte | 61094-3, 6.4 |
| Incertidumbre informada | Expandida, con $k = 2$ (61094-2) o para una probabilidad de cobertura del 95 % (61094-3), en cada frecuencia | 61094-2, 7.5; 61094-3, 7.8 |

## 2. Los micrófonos y el acoplador

Cada micrófono entra en la impedancia de transferencia acústica por su
impedancia acústica y por su cavidad frontal. El Anexo E escribe la
impedancia como una compliancia, una masa y una resistencia concentradas, o
equivalentemente como el volumen equivalente a baja frecuencia, la frecuencia
de resonancia y el factor de pérdidas; el E.4 la da por buena hasta unas 1,3
veces la frecuencia de resonancia. El volumen, la profundidad y el diámetro
medidos de la cavidad frontal salen de los apartados E.2 y E.3. El acoplador
es de onda plana, del diámetro de las cavidades frontales, o de gran volumen,
con las dimensiones nominales de las Tablas C.1 y C.2 en
`metrology.IEC61094_2_TABLE_C1` y `metrology.IEC61094_2_TABLE_C2`. La Figura
C.2 dibuja cada micrófono de un acoplador de gran volumen con su cara a una
distancia F de la cavidad, a través de un taladro del diámetro B de la
cavidad frontal: `LargeVolumeCoupler` toma esa longitud como `port_length_m`,
y los dos taladros del acoplador LS1P suman un 2,4 % a su volumen, una décima
de decibelio en cada sensibilidad.

```python

from phonometry import fluids, metrology

mics = tuple(
    metrology.ReciprocityMicrophone(
        equivalent_volume_m3=v,
        resonance_frequency_hz=f0,
        loss_factor=d,
        front_cavity_volume_m3=0.534e-6,   # medido, E.3
        front_cavity_depth_m=1.95e-3,      # D de la Tabla C.1
        front_cavity_diameter_m=18.6e-3,   # B de la Tabla C.1
    )
    for v, f0, d in ((148e-9, 8200.0, 1.05), (141e-9, 8350.0, 1.00), (152e-9, 8050.0, 1.10))
)
coupler = metrology.PlaneWaveCoupler(
    length_m=7.5e-3,
    diameter_m=18.6e-3,
    capillary=metrology.CapillaryTube(length_m=0.05, radius_m=0.2e-3, count=2),
)
conditions = {"temperature_c": 22.4, "static_pressure_pa": 100200.0, "relative_humidity_percent": 46.0}
f = metrology.exact_frequencies(20, 10000, fraction=3)
check = metrology.check_coupler(f, coupler, mics, **conditions)
print(check.passes, round(check.length_to_diameter_ratio, 3), check.ratio_recommended)   # True 0.613 True

large = metrology.LargeVolumeCoupler(length_m=12.55e-3, diameter_m=42.88e-3, port_length_m=0.80e-3)   # E, C, F de la Tabla C.2
print(round(large.cavity_volume_m3 * 1e9), round(large.closed_volume_m3(mics[:2]) * 1e9))   # 18124 19626 (mm³)
```

`check_coupler` exige al acoplador lo que necesitan sus fórmulas: las
Fórmulas (A.3) y (A.4) «are valid for the frequency range given by
$\omega\rho a^2 > 100\eta$», 3 Hz y 12 Hz en los acopladores LS1P y LS2aP de la
Tabla C.1; la aproximación (A.2) de un acoplador de gran volumen,
$0{,}125 < R < 8$ y $X > 5$; y las condiciones, el dominio que el Anexo F
declara para su aire. Dos cosas se informan sin entrar en el veredicto: la
razón que recomienda el C.2, de 0,5 a 0,75 entre la distancia de los
diafragmas y el diámetro, y una frecuencia por debajo de 20 Hz con la
aproximación, donde el A.2 pide la solución completa «or the corresponding
uncertainty component shall be increased accordingly»
(`full_solution_advised`).

## 3. La impedancia de transferencia acústica y sus correcciones

En el acoplador de onda plana, la Fórmula (4) trata el sistema entero como una
línea de transmisión de longitud $l_0$ entre los diafragmas, el acoplador más
las profundidades de las dos cavidades frontales, terminada en cada extremo
por la impedancia acústica del micrófono en paralelo con el volumen en exceso
de su cavidad frontal (7.3.3.1):

$$
\frac{1}{Z'_{\mathrm{a},12}} = \frac{1}{Z_{\mathrm{a},0}}\left[
\left(\frac{Z_{\mathrm{a},0}}{Z_{\mathrm{a},1}} + \frac{Z_{\mathrm{a},0}}{Z_{\mathrm{a},2}}\right)\cosh\gamma l_0
+ \left(1 + \frac{Z_{\mathrm{a},0}^2}{Z_{\mathrm{a},1} Z_{\mathrm{a},2}}\right)\sinh\gamma l_0\right]
\tag{4}
$$

La conducción térmica y las pérdidas viscosas en la pared cilíndrica entran
por el coeficiente de propagación y la impedancia de onda de las Fórmulas
(A.3) y (A.4), y la conducción térmica en los dos diafragmas por la admitancia
de la Fórmula (A.5). En un acoplador de gran volumen el gas es una compliancia
pura, la Fórmula (3), y la conducción térmica hace que su volumen parezca
mayor en el factor complejo de la Fórmula (A.1),

$$
\Delta_\mathrm{H} = \frac{\kappa}{1 + (\kappa - 1)\,E_V},
\qquad
X = \frac{f\,l^2}{\kappa\,\alpha_t}
$$

con $E_V$ la función de transferencia de temperatura de Gerber del cilindro y
$l$ su razón volumen/superficie. Los tubos capilares que igualan la presión
estática derivan la cavidad, y la Fórmula (6) divide la impedancia de
transferencia por $\Delta_\mathrm{C} = 1 + n Z''_{\mathrm{a},12}/Z_{\mathrm{a,C}}$,
con la impedancia de entrada de un tubo abierto de las Fórmulas (B.1) a (B.3).

```python
pairs = ((0, 1), (1, 2), (2, 0))
za = [metrology.coupler_transfer_impedance(f, coupler, mics[i], mics[j], **conditions) for i, j in pairs]
print(za[0].heat_conduction_correction_db[[1, 16, 25]].round(3))   # [-0.287 -0.051  0.004]
print(za[0].capillary_correction_db[[1, 16, 25]].round(3))         # [-0.213  0.011 -0.   ]
```

A 31,6 Hz la conducción térmica rebaja la impedancia de transferencia en
0,29 dB y los dos tubos en otros 0,21 dB; a 1 kHz las dos son unas pocas
centésimas. Los dos anexos imprimen tablas pensadas para comprobar justo esta
aritmética. `temperature_transfer_function` suma la solución completa de la
referencia [A.1] del anexo, que el A.2 exige por debajo de 20 Hz salvo que se
aumente la componente de incertidumbre, y que da cada entrada de la Tabla A.1
hasta el 0,000 01 que el anexo declara para ellas; la
Fórmula (A.2) es la aproximación, exacta al 0,01 % en módulo para $X > 5$:

```python
print(metrology.temperature_transfer_function(1.0, 100.0).round(5))                          # (0.97179+0.02758j)
print(metrology.temperature_transfer_function(1.0, 100.0, method="approximation").round(5))  # (0.97179+0.02758j)
air = fluids.air(temperature_c=23.0, static_pressure_pa=101325.0, relative_humidity_percent=50.0)
tube = metrology.capillary_tube_impedance([20.0, 1000.0], length_m=0.05, radius_m=1 / 6000, gas=air)
print((tube.impedance_pa_s_m3 / 1e9).round(3))   # [3.015+0.097j 8.331+4.288j]
```

La Tabla B.1 imprime 3,015 y 8,331 GPa·s/m³ para este tubo, y la Tabla B.2,
0,097 y 4,287. El radio que la tabla encabeza como «0,1667 mm» es 1/6 mm: con
0,1667 mm los valores salen un 0,08 % bajos, más allá de la última cifra
impresa (una errata). Aun con 1/6 mm, el aire del Anexo F no da cada entrada
hasta su última cifra: las 186 entradas complejas salen dentro de
0,002 GPa·s/m³, con un residuo que llega a 0,0011 en la parte real y a 0,0018
en la imaginaria cerca de las resonancias de los tubos, y a 0,0005 y 0,0007
de 20 Hz a 250 Hz, como muestra aquí el 4,288.

*La conducción térmica en el acoplador de gran volumen de la Tabla C.2
(izquierda) y la impedancia de un tubo capilar de las Tablas B.1 y B.2 en las
condiciones de referencia para las que se imprimen (derecha).*

La Tabla C.3 imprime las correcciones por movimiento ondulatorio del
acoplador de gran volumen lleno de aire para micrófonos LS1P, que se suman al
nivel de sensibilidad cuando no se determinan para el acoplador concreto; en
hidrógeno, el C.3 escala la frecuencia por la razón de las velocidades del
sonido:

```python
print(metrology.large_volume_wave_motion_correction([1000.0, 2000.0]).correction_db)   # [-0.002 -0.06 ]
```

## 4. Las sensibilidades en presión

La Fórmula (2) da el producto de cada par, y la Fórmula (7) las tres
sensibilidades a partir de los tres productos:

$$
|M_{\mathrm{p},1}| = \left\{\left|\frac{Z_{\mathrm{e},12}Z_{\mathrm{e},31}}{Z_{\mathrm{e},23}}\right|
\left|\frac{Z''_{\mathrm{a},23}}{Z''_{\mathrm{a},12}Z''_{\mathrm{a},31}}\right|
\left|\frac{\Delta_\mathrm{C,12}\Delta_\mathrm{C,31}}{\Delta_\mathrm{C,23}}\right|\right\}^{1/2}
\tag{7}
$$

```python
true = [m0 * m.complex_equivalent_volume_m3(f) / m.equivalent_volume_m3 for m0, m in zip((0.0496, 0.0473, 0.0512), mics)]
ze = [true[i] * true[j] * z.transfer_impedance_pa_s_m3 for (i, j), z in zip(pairs, za)]   # Fórmula (2)

c = metrology.pressure_reciprocity(f, ze, za)
print(c.sensitivity_level_db[:, 16].round(2))    # [-26.03 -26.44 -25.76]
print(c.sensitivity_mv_per_pa[:, 16].round(2))   # [49.93 47.64 51.51]
print(np.abs(c.sensitivity_v_per_pa - true).max() < 1e-15)   # True
```

La fase sale de los mismos productos: se resuelve la sensibilidad compleja,
no solo su módulo. Una medida por reciprocidad fija productos, y un producto
no cambia si todas las sensibilidades cambian de signo a la vez, así que el
signo de la raíz cuadrada es una convención. La biblioteca toma la rama
continua en frecuencia con parte real no negativa en la frecuencia más baja, y
`phase_deg` refiere la fase a 0 a 360° como pide el apartado 5.7.1 de las dos
partes.
Con dos micrófonos y una fuente auxiliar, la razón de sus sensibilidades
medida frente a la fuente sustituye al tercer par, Fórmula (8):

```python
pair = metrology.pressure_reciprocity_pair(f, ze[0], za[0], true[0] / true[1])
print(pair.sensitivity_level_db[:, 16].round(2))   # [-26.03 -26.44]
```

## 5. Una calibración en campo libre

En campo libre el emisor es, visto desde lo bastante lejos, una fuente simple
en su centro acústico. El producto de la Fórmula (7) de la IEC 61094-3 lleva
la distancia $d_{12}$ entre los centros acústicos, la densidad del aire, la
fase de la onda esférica y su atenuación a lo largo de la distancia
$d_{\mathrm{m}12}$ que recorre la onda entre los diafragmas:

$$
M_{\mathrm{f},1} M_{\mathrm{f},2} = -\mathrm{j}\,\frac{2 d_{12}}{\rho f}\,
\frac{U_2}{i_1}\,\mathrm{e}^{\mathrm{j}k d_{12}}\,\mathrm{e}^{\alpha d_{\mathrm{m}12}}
\tag{7}
$$

La atenuación se calcula por los cinco pasos del Anexo B, la ISO 9613-1
ajustada a las magnitudes de la IEC 61094-2, y el número de onda toma la
velocidad del sonido del Anexo F de la IEC 61094-2 con la dispersión de su
NOTA al F.3, a la que remite el B.1.

```python
ff = metrology.exact_frequencies(1000, 40000, fraction=3)
ffc = {"temperature_c": 23.1, "static_pressure_pa": 101100.0, "relative_humidity_percent": 52.0}
att = metrology.reciprocity_air_attenuation(ff, **ffc)
print(att.attenuation_db_per_m[[0, 10, 13, 15]].round(4))   # [0.0053 0.1348 0.4713 0.9877]
```

Tres micrófonos LS2aP a 0,25 m, con centros acústicos a unos milímetros
delante de sus diafragmas que se acercan al diafragma a alta frecuencia (el
Anexo A muestra curvas así; estas son ilustrativas):

```python
ratio = ff / 23000.0
true_ff = [m0 / (1.0 - ratio**2 + 1.3j * ratio) for m0 in (0.0128, 0.0124, 0.0131)]
centre = 4.5e-3 / (1.0 + (ff / 30000.0) ** 2)
ze_ff = [
    metrology.free_field_transfer_impedance(
        ff, true_ff[i], true_ff[j], diaphragm_distance_m=0.25, acoustic_centres_m=(centre, centre), **ffc
    )
    for i, j in pairs
]   # Fórmula (D.1)
cf = metrology.free_field_reciprocity(
    ff, ze_ff, diaphragm_distances_m=(0.25, 0.25, 0.25), acoustic_centres_m=(centre, centre, centre), **ffc
)
print(cf.sensitivity_level_db[:, 10].round(2))   # [-37.76 -38.03 -37.55]
print(np.abs(cf.sensitivity_v_per_pa - true_ff).max() < 1e-15)   # True
```

La Fórmula (8) impresa omite el factor $-\mathrm{j}$ que hereda de los tres
productos de la Fórmula (7), y la Fórmula (9), que el corrigendo convierte en
la sensibilidad compleja, también lo omite. El módulo no cambia; la fase de
las fórmulas impresas queda desplazada 45° a todas las frecuencias, y la
Fórmula (D.1) conserva el factor. La biblioteca sigue la Fórmula (7) (una
errata).

*Tres micrófonos LS2aP calibrados en campo libre (izquierda) y la atenuación
del Anexo B (derecha).*

**El centro acústico** (6.5). Al representar la inversa de la presión acústica
que radia un micrófono, corregida por la atenuación, frente a la distancia a
un punto de referencia en él, se obtiene una recta en el campo lejano, y el
punto en que la recta corta el eje es el centro acústico:

```python
r = np.array([0.15, 0.20, 0.25, 0.30, 0.40, 0.50])
alpha = metrology.reciprocity_air_attenuation([10000.0], **ffc).attenuation_np_per_m[0]
p = 0.85 * np.exp(-alpha * r) / (r - 2.4e-3)     # sus lecturas a una frecuencia
print(round(1000 * metrology.acoustic_centre(r, p, attenuation_np_per_m=alpha).position_m, 2))   # 2.4
```

*El centro acústico a 10 kHz: la recta que pasa por las lecturas inversas
corta el cero 2,4 mm por delante del punto de referencia.*

**La disposición.** `check_free_field_arrangement` exige que la distancia
supere los diez diámetros nominales que recomienda el 7.3, que el cilindro de
soporte alcance los veinte que recomienda el 6.4 y que las condiciones queden
en el dominio en que el B.2 declara su exactitud de ±10 %: su veredicto dice
si la disposición es la recomendada. Informa además de si las distancias
están entre los 150 mm y 500 mm para los que el Anexo A da centros acústicos:

```python
arrangement = metrology.check_free_field_arrangement(
    ff, diaphragm_distances_m=(0.25, 0.25, 0.25), microphone_diameter_m=13.2e-3, support_length_m=0.3, **ffc
)
print(arrangement.passes, arrangement.annex_a_range)   # True True
```

## 6. Los balances de incertidumbre

Las dos partes enumeran las componentes de una calibración en su Tabla 1
(`IEC61094_2_TABLE_1`, `IEC61094_3_TABLE_1`) y piden cada una como
incertidumbre típica en función de la frecuencia. Las componentes de la
impedancia de transferencia acústica se obtienen, como describen las dos,
«by repeating a calculation while the various components are changed one at a
time by their associated uncertainty»: `coupler_parameter_uncertainty` y
`free_field_parameter_uncertainty` hacen eso, moviendo por turno el parámetro
de cada micrófono y combinando los tres cambios en la única fila de la tabla.
Las incertidumbres típicas que mueven van juntas en un
`CouplerInputUncertainties` o en un `FreeFieldInputUncertainties`, un
argumento por magnitud de entrada, y la que se deja en cero no añade
ninguna componente.

```python
pu = metrology.coupler_parameter_uncertainty(
    f, coupler, mics,
    metrology.CouplerInputUncertainties(
        u_coupler_length_m=3e-6, u_coupler_diameter_m=3e-6, u_capillary_radius_m=2e-6,
        u_static_pressure_pa=10.0, u_temperature_k=0.05, u_relative_humidity_percent=2.0,
        u_front_cavity_depth_m=3e-6, u_front_cavity_volume_m3=1e-9, u_equivalent_volume_m3=1e-9,
        u_resonance_frequency_hz=50.0, u_loss_factor=0.03,
    ),
    **conditions,
)
print(pu.components_db["capillary_tube_dimensions"][[1, 16]].round(4))   # [0.0086 0.0002]

x = f / 10000
b = metrology.reciprocity_uncertainty_budget(
    f,
    {
        **pu.components_db,
        "series_impedance": 0.002, "voltage_ratio": 0.003, "cross_talk": 0.001 + 0.004 * x**2,
        "polarizing_voltage": 0.0025, "radial_wave_motion": 0.03 * x**2,
        "heat_conduction_theory": 0.002, "repeatability": 0.004, "rounding": 0.0006,
    },
)
print(b.expanded_uncertainty_db[[1, 16, 25]].round(3))   # [0.023 0.015 0.041]

pf = metrology.free_field_parameter_uncertainty(
    ff,
    metrology.FreeFieldInputUncertainties(
        u_distance_m=0.1e-3, u_acoustic_centre_m=0.5e-3, u_static_pressure_pa=20.0, u_temperature_k=0.1,
        u_relative_humidity_percent=2.0, u_air_attenuation_ratio=0.1 / np.sqrt(3.0),
    ),
    diaphragm_distances_m=(0.25, 0.25, 0.25), acoustic_centres_m=(centre, centre, centre), **ffc,
)
xf = ff / 40000
bf = metrology.reciprocity_uncertainty_budget(
    ff,
    {
        **pf.components_db,
        "series_impedance": 0.002, "voltage_ratio": 0.003, "cross_talk": 0.002 + 0.01 * xf,
        "noise": 0.005, "reflections": 0.01 + 0.02 * xf, "polarizing_voltage": 0.0025, "repeatability": 0.01,
    },
    field="free_field",
)
print(bf.expanded_uncertainty_db[[0, 10, 15]].round(3))   # [0.049 0.054 0.072]
```

La incertidumbre expandida es $k = 2$ veces la raíz de la suma de cuadrados,
como fija el apartado 7.5 de la IEC 61094-2; el 7.8 de la IEC 61094-3 pide el
factor de una probabilidad de cobertura del 95 %, que `coverage_factor` fija
cuando domina el balance una componente con pocos grados de libertad. El
balance en campo libre mueve por turno cada centro acústico 0,5 mm, y la
atenuación el ±10 % que declara el B.2, tomado como una distribución
rectangular. Las componentes de esta página son ilustrativas. Pasado como
`expanded_uncertainty_db`, el balance dibuja la banda de la figura de la
calibración, y su leyenda indica la anchura de la banda.

*Los balances del micrófono 1 de cada trío.*

<details>
<summary>Mostrar el código de estas figuras</summary>

```python

# Las dos calibraciones otra vez, con sus balances como banda.
c = metrology.pressure_reciprocity(f, ze, za, expanded_uncertainty_db=b.expanded_uncertainty_db)
cf = metrology.free_field_reciprocity(
    ff, ze_ff, diaphragm_distances_m=(0.25, 0.25, 0.25), acoustic_centres_m=(centre, centre, centre),
    expanded_uncertainty_db=bf.expanded_uncertainty_db, **ffc,
)

fig, (ax_cal, ax_corr) = plt.subplots(1, 2, figsize=(13.5, 5.6))
c.plot(ax_cal, language="es")
za[0].plot(ax_corr, language="es")
fig.tight_layout()

fh = metrology.exact_frequencies(1, 10000, fraction=3)
heat = metrology.heat_conduction_correction(
    fh[fh >= 2.0],
    volume_m3=large.closed_volume_m3(mics[:2]),
    surface_area_m2=large.closed_surface_m2(mics[:2]),
    length_to_diameter_ratio=large.length_m / large.diameter_m,
    gas=fluids.air(**conditions),
)
curve = metrology.capillary_tube_impedance(np.geomspace(20, 20000, 1500), length_m=0.05, radius_m=1 / 6000, gas=air)
fig, (ax_heat, ax_tube) = plt.subplots(1, 2, figsize=(13.5, 5.6))
heat.plot(ax_heat, language="es")
curve.plot(ax_tube, language="es")
fig.tight_layout()

fig, (ax_cal, ax_air) = plt.subplots(1, 2, figsize=(13.5, 5.6))
cf.plot(ax_cal, language="es")
metrology.reciprocity_air_attenuation(metrology.exact_frequencies(1000, 50000, fraction=3), **ffc).plot(
    ax_air, language="es"
)
fig.tight_layout()

fig, (ax_p, ax_f) = plt.subplots(1, 2, figsize=(14.5, 8.2))
b.plot(ax_p, language="es")
bf.plot(ax_f, language="es")
fig.tight_layout()

fig, ax = plt.subplots(figsize=(7.5, 5.2))
metrology.acoustic_centre(r, p, attenuation_np_per_m=alpha).plot(ax, language="es")
fig.tight_layout()
plt.show()
```

</details>

## Qué cubre esta guía

**IEC 61094-2:2009:** los productos de la Fórmula (2) y las sensibilidades de
las Fórmulas (7) y (8), complejas; la impedancia de transferencia acústica de
un acoplador de gran volumen por la Fórmula (3) y de uno de onda plana por la
Fórmula (4), con el volumen en exceso de cada cavidad frontal (7.3.3.1), la
conducción térmica del Anexo A (la Fórmula (A.1) con la solución completa de
Gerber de [A.1] o la aproximación (A.2), y las Fórmulas (A.3) a (A.5)), y los
tubos capilares de la Fórmula (6) y del Anexo B; la impedancia concentrada
del micrófono y la Fórmula (E.1) del Anexo E; las Tablas C.1, C.2 y C.3 como
datos publicados, y la corrección por movimiento ondulatorio de la Tabla C.3
con el escalado en frecuencia del C.3 para el hidrógeno; la comprobación de
lo que exigen las fórmulas (A.2, A.3, Anexo F); la Tabla 1 y el recálculo
componente a componente del apartado 7.5. Se reproduce la Tabla A.1 hasta su
0,000 01 declarado, y las Tablas B.1 y B.2 dentro de 0,002 GPa·s/m³, más que
su media unidad impresa cerca de las resonancias de los tubos (sección 3).
**IEC 61094-3:2016 con COR1:2016:** los productos de la Fórmula (7), las
sensibilidades de las Fórmulas (8) y (9) con el factor de la (7), la Fórmula
(D.1); la atenuación del Anexo B y la velocidad del sonido con la dispersión
del F.3 de la IEC 61094-2; el centro acústico del apartado 6.5; la
disposición de los apartados 6.4 y 7.3; la Tabla 1 y el recálculo del
apartado 7.8. La Tabla B.1 se reproduce con la ISO 9613-1, como dice su texto
que se calculó.

**La rama de la raíz cuadrada.** La IEC 61094-2 pide la fase «by a similar
procedure from the phase angle of each term» y la IEC 61094-3 la deduce de la
Fórmula (8), las dos referidas a 0 a 2π; la biblioteca toma la rama continua
en frecuencia con parte real no negativa en la frecuencia más baja, y fija
los otros dos micrófonos por los productos. **La dimensión F de la Tabla
C.2** es la longitud del taladro que dibuja la Figura C.2, del diámetro B de
la cavidad frontal, entre la cara de cada micrófono y la cavidad; su volumen y
su pared se suman a los del acoplador. **La superficie de un acoplador de gran
volumen** cerrado por micrófonos es la del cilindro cerrado más la pared de
cada taladro, de cada cavidad frontal y de su rosca, ocupando el diafragma el
lugar del orificio que cierra (7.3.2.2). **La razón del C.2** se
lee sobre la distancia entre los diafragmas, a la que el 5.4 y el C.2 llaman
longitud del acoplador.

Las medidas en sí: la técnica de la tensión de inserción, la diafonía y la
configuración de blindaje a tierra (5.3, 6.3, 7.2). Las correcciones por
movimiento ondulatorio radial de los acopladores de onda plana, que el C.2
deja a la bibliografía, y las correcciones ambientales del Anexo D (IEC
61094-2) y del Anexo C (IEC 61094-3), que son la corrección de primer orden de
la guía de comparación. La determinación de los volúmenes frontal y
equivalente del E.3 y el ajuste de datos del E.4. La relación entre campo
libre y presión de la Fórmula (4) de la IEC 61094-3, que necesita la
impedancia de radiación y el factor de dispersión, y el procesado con
selección temporal del Anexo D, que sigue el Anexo B de la IEC 61094-8. Los
centros acústicos del Anexo A, impresos solo como figura.

## Véase también

- [Calibrar un micrófono por comparación](/phonometry/es/signals/metrology/comparison-calibration/):
  la IEC 61094-5 y la IEC 61094-8, que trasladan la sensibilidad de una
  referencia calibrada por reciprocidad a un micrófono patrón de trabajo, con
  la corrección ambiental del Anexo D.
- [Aire húmedo](/phonometry/es/fluids/humid-air/): el aire del Anexo F de la
  IEC 61094-2 con que se calculan los acopladores y el campo libre.
- [Propagación en exteriores](/phonometry/es/environment/propagation/outdoor-propagation/):
  la ISO 9613-1, con que se calcula la Tabla B.1 de la IEC 61094-3.
- [Incertidumbre de medida](/phonometry/es/signals/metrology/gum-uncertainty/):
  la GUM con que se combinan los balances.
- Referencia de la API: [`metrology.reciprocity_calibration`](/phonometry/es/reference/api/metrology/reciprocity-calibration/),
  [`metrology.reciprocity_coupler`](/phonometry/es/reference/api/metrology/reciprocity-coupler/),
  [`metrology.reciprocity_free_field`](/phonometry/es/reference/api/metrology/reciprocity-free-field/).
