DRVeyl / RealAntennas

KSP Mod to add better antenna / link calculations to CommNet.
29 stars 22 forks source link

Feature Request: Freq Band Channels #59

Open thunder175 opened 2 years ago

thunder175 commented 2 years ago

Looking to see if it would be possible to implement separate channels per freq band to segregate and isolate different constellations of spacecraft and associated ground station infrastructure much like the current iteration of CommNet Constellations mod does it, but of course using RA's excellent and more accurate radio performance. I was thinking this would be especially useful for omni-directional antennas in order to prevent everyone from being on the same net.

I was looking at the config files (not the code) and thinking how to do this in the current architecture. For each BandInfo block, maybe add a FreqLow and FreqHigh setting to allow setting the exact frequency range of that band. Maybe keep the current ChannelWidth setting as is, but use it to determine number of available channels per band? So if I take UHF for example from the RO config and use FreqHigh = 480 and FreqLow = 220 then:

Number of channels = (FreqHigh - FreqLow) / ChannelWidth Number of channels = (480 - 220) / 31.5 Number of channels = 8 (always round down to nearest whole number)

So I could have 8 UHF nets in this example. The user could select the channel much like the power and tech level in the PAW window in the VAB/SPH. You could even then add a new tech level upgrade for frequency agile radios, allowing the user to change frequencies once on orbit.

Obviously this doesn't get into guard bands, actual channel spacing, or anything like that but is just a minimum way to implement channelization of frequency bands.

DRVeyl commented 2 years ago

Entirely possible, but not sold on the benefit.

Would ground stations, similar to their special code carve-outs to not require a fixed orientation, also be treated as being on all channels simultaneously?

(The real-world benefits of channelization are a long way off. While RA does some neat things with noise calculations, one thing it isn't aware of is the noise generated by [vessel] emitters.)

thunder175 commented 2 years ago

Main benefits I see are the ability to isolate constellations on the same band on separate channels. For example, in the stock RA on L band, I can have a separate channel for just GNSS services. RemoteTech had this same disadvantage of all or nothing comms, so thats why TaxiService came up with CommNet Constellations. Right now all craft on a band will be basically on the same network allowing them to close the link if the math works out. With all radios basically being able to act as relays, this also has the drawback that a satellite can act as a comm relay even if its not its intended purpose. Although not a RSS player myself, I would see a role-playing benefit here as well since you can isolate nations craft from each other. CommNet Constellations does this very well with a very nice GUI. In my perfect world I'd be able to combine CC and RA.

Interesting thought about the ground stations. Maybe being able to listen to all defeats the purpose given my statement above, so you'd probably have to have a GUI menu like the current antenna selection for the ground stations in order to set what channels its listening on its set band. I'd have to do the math, but it would be neat that the more channels I select the lower the sensitivity of the receiver given that its no a wideband transceiver instead of focusing its energy on a specific channel center freq. Or alternatively add multichannel wideband ops as an upgrade option to the ground stations per a given tech level. Just trying to balance out the real aspects of satellite ground stations versus what would be possible and 'fun' in the context of KSP.

CommNet Constellations here: https://forum.kerbalspaceprogram.com/index.php?/topic/158851-111-commnet-constellation-v157-10-january-2021/

thunder175 commented 1 year ago

Just revisiting this suggestion. Any thoughts on implementation in a future version? I thought about this again when I was doing some research for patching BDB antennas and found the below link, which made me think about this again.

https://deepspace.jpl.nasa.gov/dsndocs/810-005/201/201C.pdf