Tutorial:Ideal Orbits for Communication Satellites
With the additions in Communications networks in 1.2, getting continious communication in any given system is an important factor. While the exact method of execution depends on personal taste there are fairly easy ways to set up a Comm network, even in early career with only 1.25 Parts at max.
This Tutorial will show two sets of Comm Networks around any given body and shine a little light on the math of it and an easy way to do it. This is a pretty theoretical tutorial. There is no way around this, really. You can skip to the results tho.
For simplicity this guide assumes an occlusion of 1 for planets and a target orbit with an eccentricity of 0. With higher or lower settings your results will differ.
Contents
3-Satellite Constellation
In a 3-Satellite constellation 3 satellites are evenly spaced in a triangle with each one holding a 60° angle towards the other satellites. To work properly they need to be visible to each other; over the horizon. This leads to the question of what altitude is required so the satellites can see each other.
Constellation minimum Altitude
The answer is simple and applies to all bodies. It is one planetary radius or a semi-major axis of the planets diameter, assuming a negligible eccentricity, which should be a given for a commsat constellation.
Why is it one Radius? I have to go into sine/cosine for that a little.
As I said earlier each satellite holds a 60° angle to the others. If you draw a line at mid-angle through each angle to the opposing side where the triangle is touching the circular planet you split the triangle into six smaller triangles with a 30° angle at the satellite, a 60° angle at the planet's center where the lines will cross and a 90° right angle at the horizon point. Thus we now know, that the side adjacent from the 60° angle and opposite from the 30° angle is the planet's radius.
With that we can now apply sine and/or cosine to the problem at hand. Remember here that the sine of an angle is the relation between the opposing (o) and the long side (hypotenuse h) of the triangle while the cosine is relation of the adjacent side (a) to the hypotenuse. Or in math form: sin(x)=o/h cos(x)=a/h The long side hence will also be the distance of the satellite to the center of the planet.
In our case we will use sine and cosine in such form that it will always give us r/h. A scientific Calculator gives us: sin(30)=0.5=1/2 cos(60)=0.5=1/2
This means that for the constellation to work the satellite needs to be twice as far from the center of the planet than its radius. Hence you need to be at an altitude of the radius to be visible.
Yes, it's that simple.
Finding the optimal altitude
Now that we know our minimum altitude we could set up shop there, and it'll work. It's not going to work well, though. For one the satellites will be barely visible to each other, making for a lousy commline. Also the satellites will be rather hard to place as either you need to place them at 60° with some reference or you separate them by launching them all at once and using the orbital period to make sure they have a good separation. I find it easier to use the orbital period, however for example Kerbin's orbital period at 600 km circular altitude is 1h 13m 15s. You could work with that, but it would be rather hard.
So we need a time that is easy to use at a higher altitude. Easy to use here means a time that while a placed satellite in its final orbit will perform 2/3 of that orbit the satellite carrier being parked in a lower orbit with the apoapsis at the target altitude will perform one orbit. Alternatively when coming from a higher orbit the placed satellite might do 1.33 orbits while the carrier makes 1 orbit with its PE at the target altitude.
This requires two steps to work out.
Getting the Period from the semi-major axis
The first step is knowing the period of the minimum orbit at which the satellites will see each other. The period can be calculated from the following formula:
T=2*Pi*(a³/GM)^0.5
- T: Orbital Period in seconds
- Pi: 3.14159...
- a: semi-major axis of the orbit in meters; in the Previous step we have established this to be the diameter or two times the radius of the planet
- GM: the planets standard gravitational parameter in m³/s²
Inserting the semi-major axis derived from the earlier step will give you a time in seconds, which I recommend to convert to HH:MM:SS for ease of use in the next step.
Getting the altitude through the desired period
Now that we know the minimum time satellites visible to each other take for one orbit we can select a higher time interval, and hence a higher orbit, that will allow us to place the satellites evenly. To make it easy it should be a time interval easily dividable by 3. That limits your options to 1.5 hours with 1 hour transfer, 2 hours with 1.33 hours transfer and every 3 hours with 2/3 of that time for transfer (3 with 2, 6 with 4 and so forth). If you convert that time back to seconds you can use the following formula to get a semi major axis for that period time:
a=((GM*T²)/(4*Pi²))^1/3
Subtracting the planet's radius will give you the circular orbital altitude to shoot for.
Individually Spacing Satellites
If you don't mind launching each satellite individually. There are several ways to space the satellites, including the Law of Cosines or the distance formula. Instead of looking at the periods of the orbits, you will look at the distance between satellites. When you target one, it will display the distance between them, from which you can manipulate by altering your apoapsis or periapsis for a couple of orbits. Here's how you use the formula:
a2 = b2 + c2 - 2bc * cos(A)
If you have a circular orbit, the formula can be simplified to:
a2 = 2b2 - 2b2 cos(A)
In both of these formulae, A is 120 degrees or 2π/3 radians, and b is the altitude plus the radius of the planet (600km for Kerbin). a is the desired distance between the satellites. The other way to do it is to use the distance formula, but for that you have to use polar coordinates in order to find the points on the circle that we want to find the distance between. Polar coordinates are methods to find the coordinates of points on the edge of a circle. You don't need a polar coordinate plane, but you can instead convert the points using r*cos(θ) and r*sin(θ) for the x and y, respectively, where r is the altitude plus the radius of the planet and θ is 2π/3 radians. The distance formula,
d2 = (x2-x1)2+(y2-y1)2
can then be used on the coordinates that you calculated. I've already implemented it all here in this Desmos graph for convenience.
4-Satellite constellation
A 4-Satellite constellation has no real benefits over a 3 satellite constellation, when I started though it made things conceptually easier, because instead of working with sine and cosine you work with simple pythagoras. In this constellation the satellites form a perfect square with a minimum side length of the diameter or two times the radius of the planet. Hence it can be divided into four squares with the connecting point at the planet's center and a side length of the radius. And with a²+b²=c² being what it is in such a case the semi-major axis of the target orbit is the radius multiplied by the square root of two with the radius being again subtracted to get the altitude. a=r*2^0.5
To get an optimal altitude from here you proceed just as with 3 satellites, the only difference being that you are looking for periods easily divisible by 4 (1 hour and every even number of hours).
Stationary orbit
Putting comm sats in a stationary orbit is an interesting and challenging choice, however in terms of gameplay it has no benefit. Stationary orbits are great if you have a static directional dish placed on the surface that needs line of sight to a satellite in the very same position in the sky at all time. The antennas in KSP are omnidirectional though, you need not point them. A low orbit is usually an easier choice.
Distance Management
One additional factor that you should be aware of is the distance between the satellites. if their distance is greater than their Range it does not matter if they are in a perfect formation, they won't connect. The distance is easily calculates using the cosine (relation between adjacent side and hypotenuse) of mid angle at the satellite (30° or 45°) and multiplying it with the Semi -Major axis (a). Since this will only give you the distance between the satellite and the horizont point you also need to multiply it by 2. If the following mathematical statement is true the satelites will connect:
- 3 Satellite Constellation: (Satellite A Antenna Rating * Satellite B Antenna Rating)^0.5 >= Cos(30)*a*2
- 4 Satellite Constellation: (Satellite A Antenna Rating * Satellite B Antenna Rating)^0.5 >= Cos(45)*a*2
If your aim is to only create a comm network without nesessarely connecting it to Kerbin, other than for Kerbol or any other body you can always get by with a single HG-5, possibly at the expense of signal strength.
I don't feel like doing the math...
Here is something i prepared earlier. This table will provide you with everything you need to calculate this yourself along with the precalculated results. I suggest you try it yourself though. That's when you learn.
This guide is also available on Steam.