Files
RadioTestApi/app/services/fresnel.py
T
2026-06-17 13:26:35 +03:00

20 lines
492 B
Python

from __future__ import annotations
import math
def fresnel_radius_m(d1_m: float, d2_m: float, d_total_m: float, freq_mhz: float) -> float:
if d_total_m <= 0 or freq_mhz <= 0:
return 0.0
f_ghz = freq_mhz / 1000.0
return 17.3 * math.sqrt((d1_m * d2_m) / (f_ghz * d_total_m))
def clearance_m(
los_height_m: float,
total_height_m: float,
fresnel_radius_m: float,
fresnel_factor: float,
) -> float:
return los_height_m - total_height_m - fresnel_radius_m * fresnel_factor