计算卫星到地面站的多普勒频移。 参数 ---- sat_pos : dict 含 lat/lon/alt(m)的卫星位置。 sat_vel : dict 含 vx/vy/vz(km/s)的 ECEF 速度矢量。 gs_pos : dict 含 lat/lon 的地面站,可选 alt(m)。 carrier_freq_hz : float 载波频率(Hz),默认 Ka 波段 20.2 GHz。 返回 ---- dict doppler_h
(self, sat_pos, sat_vel, gs_pos, carrier_freq_hz=20.2e9)
| 1147 | ) |
| 1148 | |
| 1149 | def get_doppler_shift(self, sat_pos, sat_vel, gs_pos, carrier_freq_hz=20.2e9): |
| 1150 | """计算卫星到地面站的多普勒频移。 |
| 1151 | |
| 1152 | 参数 |
| 1153 | ---- |
| 1154 | sat_pos : dict 含 lat/lon/alt(m)的卫星位置。 |
| 1155 | sat_vel : dict 含 vx/vy/vz(km/s)的 ECEF 速度矢量。 |
| 1156 | gs_pos : dict 含 lat/lon 的地面站,可选 alt(m)。 |
| 1157 | carrier_freq_hz : float 载波频率(Hz),默认 Ka 波段 20.2 GHz。 |
| 1158 | |
| 1159 | 返回 |
| 1160 | ---- |
| 1161 | dict doppler_hz / radial_vel_km_s / slant_range_km |
| 1162 | """ |
| 1163 | gs_alt = gs_pos.get("alt", 0.0) |
| 1164 | return compute_doppler_shift( |
| 1165 | sat_lat=sat_pos["lat"], |
| 1166 | sat_lon=sat_pos["lon"], |
| 1167 | sat_alt_m=sat_pos["alt"], |
| 1168 | sat_vx_km_s=sat_vel.get("vx", 0.0), |
| 1169 | sat_vy_km_s=sat_vel.get("vy", 0.0), |
| 1170 | sat_vz_km_s=sat_vel.get("vz", 0.0), |
| 1171 | gs_lat=gs_pos["lat"], |
| 1172 | gs_lon=gs_pos["lon"], |
| 1173 | gs_alt_m=gs_alt, |
| 1174 | carrier_freq_hz=carrier_freq_hz, |
| 1175 | ) |
| 1176 | |
| 1177 | def _resource_busy_by_other(self, resource_type, resource_id, req_id): |
| 1178 | return self.scheduler.resource_busy_by_other(resource_type, resource_id, req_id) |
nothing calls this directly
no test coverage detected