KSP-RO / RealAntennas

KSP Mod to add better antenna / link calculations to CommNet.
2 stars 5 forks source link

Skopos ground stations have no atmosphere/pointing noise applied #38

Closed Capkirk123 closed 3 months ago

Capkirk123 commented 3 months ago

Partner issue to https://github.com/mockingbirdnest/Skopos/issues/15, as resolving it may demand changes from both mods

image As shown in this screenshot of the connection debugger, no atmospheric noise is applied to receiving ground station, even with the antenna pointing a mere 0.9 degrees above the horizon.

Possibly related to https://github.com/KSP-RO/RealAntennas/issues/14, which also appears to stem from RealAntennas not quite realizing Skopos ground stations are ground stations and treating them as vessel antennas instead (vessel antennas do not have atmospheric noise calculations applied)

eggrobin commented 3 months ago

Discussed in #devtalk; this one is mostly an RA issue (though some work in Σκοπός will be needed to tell RA the station is actually on the ground).

[02:26]egg: So, for atmospheric noise, the issue is that this is gated on rxHome. https://github.com/KSP-RO/RealAntennas/blob/d8e6dda9440b442140a90884b10de0c9db665f12/src/RealAntennasProject/Precompute/Jobs.cs#L111 [02:27]egg: Since rxHome means « rx is a science sink », that is inappropriate. We need a new rxIsOnTheGround. [02:27]Kirk (He/Him): I concur [02:27]egg: Same as I did for rxTracking split from rxHome. [02:28]Kirk (He/Him): It'd probably make for a much cleaner resolution of the AMWTemp issue too [02:28]egg: Having a parent node that has a parent body seems reasonable for a station that is actually affixed to the ground, so I should figure out how to do that. In principle rxIsOnTheGround could also apply to, say, landed vessels, though. [02:30]DRVeyl: The "only ground station computes this" was a simplification to not computing weighted distance thru atmosphere for all possible segments. [02:30]egg: Wait until Σκοπός makes you run signals through the atmosphere to measure things about the atmosphere :-p [02:31]DRVeyl: Id be happy for that. [02:31]DRVeyl: And probably need someone like you that will be familiar with appropriate algorithms here:) [02:31]egg: (But yes, that seems like a reasonable optimization. And landed vessels might be an easy way to get a better approximation without having to get into doing that right for a U-2 in flight.) [02:32]DRVeyl: And to your point yes this also needs to be extracted from isHome [02:32]DRVeyl: Less isOnGround and more shouldComputeForAtmosphere [02:34]egg: Does it take the altitude into account? If it assumes low altitude, it is at least isDeepInTheAtmosphere [02:36]DRVeyl: I think it did. [02:36]DRVeyl: You probably get silly results where the approximation is bad if you get too high up [such that it's appreciably more than -1 degrees to the horizon] [02:37]egg: This is the logic: https://github.com/KSP-RO/RealAntennas/blob/d8e6dda9440b442140a90884b10de0c9db665f12/src/RealAntennasProject/Physics.cs#L94-L103 [02:39]DRVeyl: Ok, I don't see anything for altitude in there at all. [02:39]DRVeyl: Then again, since "surface" is probably limited to about 1km, I don't suppose the difference in air mass at <1km matters much.

eggrobin commented 3 months ago

though some work in Σκοπός will be needed to tell RA the station is actually on the ground

That seems to work fine already, the ParentBody is set (see https://discord.com/channels/319857228905447436/512556346869284864/1274847578529468567).