通信距离是一个动态变化的值,通常在计算链路预算时,我们需要考虑两种极端或典型场景:过顶(天顶)场景和最低可用仰角(视界边缘)场景。
以下是具体的计算方法和数值:
计算代码
importnumpyasnpdefcalculate_slant_range(h_km,epsilon_deg,R_e_km=6371.0):""" Calculates the slant range (communication distance) between a ground station and a satellite. Parameters: h_km (float): Satellite orbit altitude in kilometers. epsilon_deg (float): Elevation angle in degrees. R_e_km (float): Earth radius in kilometers (default is 6371.0 km). Returns: float: Slant range in kilometers. """# Convert elevation angle from degrees to radiansepsilon_rad=np.radians(epsilon_deg)# Slant range formulaterm1=(R_e_km**2)*(np.sin(epsilon_rad)**2)term2=2*R_e_km*h_km term3=h_km**2d=np.sqrt(term1+term2+term3)-R_e_km*np.sin(epsilon_rad)returnd# Parametersorbit_height=200.0# kmelevation_angle=16.0# degrees# Calculationdistance=calculate_slant_range(orbit_height,elevation_angle)print(f"When the elevation angle is{elevation_angle}°, the communication distance is:{distance:.2f}km")