-
Notifications
You must be signed in to change notification settings - Fork 175
Open
Description
The ionospheric map delay is implemented as:
Lines 145 to 159 in a0f0c79
| def get_delay(self, rcv_pos, az, el, sat_pos, time, freq): | |
| # To get a delay from a TEC map, we need to calculate | |
| # the ionospheric pierce point, geometry described here | |
| # https://en.wikipedia.org/wiki/Ionospheric_pierce_point | |
| alpha, beta = get_alpha_beta(rcv_pos, el) | |
| conv = LocalCoord.from_ecef(rcv_pos) | |
| gamma = np.pi - alpha - beta | |
| geocentric_alt = np.linalg.norm(rcv_pos) | |
| ipp_dist = geocentric_alt*np.sin(gamma)/np.sin(beta) | |
| ipp_ned = conv.ecef2ned(sat_pos)*(ipp_dist)/np.linalg.norm(sat_pos) | |
| ipp_geo = conv.ned2geodetic(ipp_ned) | |
| factor = 40.30E16 / (freq**2) * 10**(self.exp) | |
| vertical_delay = self.get_TEC(ipp_geo, time) * factor | |
| slant_delay = get_slant_delay(rcv_pos, az, el, sat_pos, time, freq, vertical_delay) | |
| return slant_delay |
where the factor is 40.30E16 / (freq**2) * 10**(self.exp) , was this tested? Is the constant's exponent correct?
See https://iers-conventions.obspm.fr/content/tn36.pdf equations 9.14 to 9.41.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels