MCPcopy Create free account
hub / github.com/Tong89/smartNode / get_doppler_shift

Method get_doppler_shift

backend/core.py:1149–1175  ·  view source on GitHub ↗

计算卫星到地面站的多普勒频移。 参数 ---- 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)

Source from the content-addressed store, hash-verified

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)

Callers

nothing calls this directly

Calls 2

compute_doppler_shiftFunction · 0.90
getMethod · 0.45

Tested by

no test coverage detected