Basic Orbital Dynamics

There has been a recent surge in interest in a software package written by Cees Bassa known as ‘strf’, Sattools Radio Frequency.  Once over the initial installation and basic usage hump users quickly reach a wall about how to use the software because of a limited understanding of orbital dynamics.  I hope this brief post will help users understand some of the basic concepts so they can use strf as a tool.

The Necessity of Invention…  Need!

Strf was developed in 2014 to resolve a daunting problem facing myself and Cees at the time.  How to manage large amounts of Doppler data we were generating while studying the orbital behaviour of classified military satellites.

We were collecting Doppler data from classified military missions to support the location and tracking of these payloads optically to precisely constrain their orbits after orbital maneuvers.  Groups before us had done great work doing this such the Kettering Group and others.  However, the techniques had not evolved since the 1960s.  With the advent of fast personal computers, software defined radios and the Internet there was no reason a more technology based solution to the problem by amateurs couldn’t be developed.  One barrier was developing a tool to translate the satellite’s Doppler whisperings into information that could be related to the orbital elements of the satellite.

Our early methods involved using a radio receiver to plot data to a computer and create a waterfall image file of that data to keep the storage requirement to a minimum.  Unfortunately compressing the data in this format made analysis extremely difficult and to boot we didn’t have a worked out means to analyze the data apart from estimating the time of closest approach of the signal and comparing what we observed over multiple orbits to a list of satellites overhead to eliminate all other doppelgangers until only one spacecraft remained.  So we didn’t have much search capability and where strangled with the data we had.

Around this time I encountered an unidentified satellite on S-band.  After exhaustive analysis it turned out to be USA 225 a secretive radiation sensing mission in a 1100km high circular polar orbit but we couldn’t constrain the orbit precisely we needed better tools… You can find out more about USA 225 here.

Through these experiences we identified a new tool was needed to do the following:

  • Efficiently record time vs frequency data to allow for expansive searches of spectrum in a quantitative manner.
  • Allow for the sifting of large amounts of data to identify new targets and catalog those targets identified.
  • Develop an orbital model based on Doppler data alone to allow for a effective optical search so orbits could be constrained precisely once optical data was obtained.

Canon-balls in Space!

In order to understand the basics of how to use strf as an analytic tool one needs to understand orbital mechanics to some degree.  By understanding how an orbit works and then delving into some details of the Doppler effect the user will understand the power and limitations of the tool.

Issac Newton used a thought experiment to explain how an object could be placed into an orbit around the Earth.  Put a powerful enough canon on the highest mountain, ignore the effects of an atmosphere and fire it toward the horizon and one of three things can happen:

  1. You didn’t use enough energy and the canon ball falls back to Earth at some point.
  2. You use just the right amount of energy and the canon ball tries to fall back to earth but keeps missing and goes into orbit around it.
  3. You use so much energy to fire the canon ball that it flies off into deep space out of the influence of Earth’s gravity.


No matter the endgame for our canon ball in any of the three examples, only the energy of the gun powder used to fire it is realistically available for it to follow the trajectory its put on.  Once the energy is imparted on the canon ball the only thing left (in our simple model) is the force of the Earth’s gravity.  So if you know the location and speed of the canon ball at any point in time after firing and the characteristics of the Earth’s gravity field then you can predict the orbit that the canon ball will follow by describing the position and velocity to some convenient reference using seven unique indices:

  • time at which the object is at the following parameters (epoch),
  • X position,
  • Y position,
  • Z position,
  • X velocity,
  • Y velocity,
  • Z velocity.

This is called an orbital state vector.

As you can see it’s not very intuitive, i.e. human readable, but as we will see, understanding that one can describe an orbit like this is critical to understanding how we can analyze a Doppler curve.

As long as you model the gravitational field and other perturbations accurately in your model you can accurately predict an orbit with a known state vector.  However, if the satellite accelerates (or de-accelerates) than you need a new state vector once the acceleration ends to properly describe the orbit.

Kepler studied the orbit’s of the planets and came up with a much more human readable way of describing orbital motion that is equivalent to using a state vector.

The basic elements of an orbit are really three practical things.

  • The plane of the orbit,
  • the shape of the orbit,
  • when and where in the orbit the object is.


The plane of the orbit of our canon ball’s above are fixed to the stars.  That is to say ignoring that stars do move a little (relative to us) that if we treat them as really good references over practical time frames the plane of the orbit will remain fixed to them.  But wait!  Doesn’t a satellite move around and that is why we need to track it?  Yes it does appear to move around but in reality the satellite is in a fixed plane and the object the observer is on is rotating under neigh the satellite’s orbital plane.  So for our canon ball in orbit around the Earth we are moving 15 degrees an hour under its orbital plane and will see it from different perspectives depending on the time of day or not at all if the satellite is in too low an orbit and where it is in that orbit.

An orbital plane is described by:

  • Inclination – the angle to the Earth’s equator of the orbit often referred to as the ’tilt’ of the orbit.
  • Right Ascension of Ascending Node (RAAN) – The angle with respect to the spot on the reference stars (vernal equinox).  It is often referred to as the ‘swivel’ of the orbit.
  • Argument of Periapsis – This element describes the location of the perigee (lowest point in the orbit) with respect to the reference direction.  With this final plane element the orientation of the orbital plane with respect to the stars is completely described.

Size and Shape

No orbit is really a circle, as that is an idealized special case.  All orbits have some unique shape to them best described as an ellipse.  The size of that ellipse describes the orbital shape.

The orbital shape is described by:

  • Semi-major Axis – most causal satellite trackers or users of amateur satellites may not have heard of this parameter.  But it is by far the most important orbital element of the lot.  It describes the size of the orbit and by definition the period of the orbit.  Kepler’s third law shows that the period squared of an orbit in our solar system is proportional to the semi-major axis cubed.  Therefore, if you know the period of the orbit or how many revolutions (Mean Motion) it makes around its center of gravity you know the size of the orbit.
  • Eccentricity – This is a factor describing the obliqueness of the shape of the orbital ellipse.  Zero is defined as a perfect circle and 0.999999 as a highly squished and  stretched ellipse. An eccentricity of >1 could describe the trajectory our canon ball that escaped Earth would follow.

Time and Place

Next the satellite needs to be somewhere within that orbit as it’s not everywhere at once.  So we need to describe its location along the orbital plane and when it was there.

We describe the location of a body in an orbit with:

  • Epoch – While not considered a ‘true’ orbital element the time at which the element set is true is required to propagate an accurate prediction of the location of the satellite. The usual convention is to use the time the satellite crosses the equator on its ascending node as the epoch.
  • True Anomaly – The angle from the argument of periapsis that locates the satellite within the orbital plane.  Like the semi-major axis this element may be alien to causal observers when most orbital elements provided are given with
  • Mean Anomaly – The later is an angle provided as above but made on the assumption the orbit is circular so the angular motion in the element set remains linear.


If you add up the parameters needed for a state vector and compare them to the total number of elements needed to describe an orbit you’ll notice they are the same.  That’s because they describe the same thing just in different and alternatively useful ways depending on your perspective.

What does the Doppler Effect have to do with Orbital Elements?

Everyone knowingly or not has experienced the Doppler effect.  The classical example is of a train whistle sounding as it races past a railway crossing.  We hear the pitch of the sound emitted change as the train races toward and away from us.

As the train races toward us the sound waves are moving at the speed they are allowed to in the medium they are in and have the velocity of the train relative to us added to them algebraically to provide a pitch that will be higher than the actual emitted note until the train passes us and begins to recede.  At that special point where it is at closest to us the relative velocity is zero and the pitch we hear is the real pitch of the train’s whistle.  As the train recedes from us the pitch decreases as the waves spread out and the relative velocity of observer and the train increases again.

The same thing happens with radio waves emitted from a satellite in orbit.


The key concept is there is a relationship with relative velocity and frequency of the received radio waves that can be quantified.   So we can convert the received time and frequency information to describe the relative velocity that an object would have to be moving at to produce that signal at the observer.  If you account for all the relative motion between the emitter and the observer you can measure the velocity of the moving object.

So the observer could take a measurement of the emitted signal’s frequency vs time characteristics and then compare them to a list of known moving objects and see which one fits the data the best.  This is exactly what strf does, nothing more, nothing less.

This also points out the a major operational concern of using strf to identify satellites and predict orbits.  Only the velocity components of the orbit are really being measured.  So we are not measuring the positional aspects of the state vector. So we don’t know everything about the orbit based on the Doppler effect on the radio signal.  These unknown quantities lead to the inability to constrain the position of the satellite from purely Doppler data without some other information to allow us to constrain our guessing.

Fortunately, there are many practical ways to mitigate this concern but users should be keenly aware of these limitations when attempting to use strf for analysis of satellite signals.  The most practical is to ensure that relatively recent orbital elements are used for making identifications and careful post analysis of the residuals issued by srtf and independent information such as frequency lists, historical records or other means of satellite observation are used to constrain the information to a point where it can be accepted.

Therefore, strf is a tool to be used in conjunction with other satellite observation means to collect information about their orbits and identities.  Strf was developed to allow a visual observer to have a good enough guess to locate a satellite visually so that the full orbital elements of that satellite could be developed as illustrated in the USA 225 example provided earlier.

Fitting Orbits

Strf allows the user to use either an orbit from an existing catalog or a ‘template’ orbit by using the ‘t’ command.

Catalog Orbits

By supplying a known orbit from a catalog to compare your Doppler data to or finding a cataloged orbit that best fits the data by using the identify function one can make adjustments to that orbit to better fit the data.  Usually one fits Mean Anomaly (MA) first.  As described above it provides the element with the location of the object within the orbit and this parameter is the most common element type to change over time due to various factors.

Common uses for a MA fit:

  • Correctly a pre-launch guess orbit for a recent launch to correct for actual time heard of the satellite.
  • Correctly an orbit that has aged a bit
  • Correctly an orbit that is low and influenced significantly by atmospheric drag.

The next element to try and fit could be RAAN and Mean Motion (MM) and usually work well.  Multiple orbit data is preferred for RAAN and MM corrections to ensure accuracy but often has little effect on known good orbits.

The best fits and data reliably come from ‘long arc’ observations so measurement errors and subtle trends in the data average out.  Think of it this way, the more and more you hear something the more and more that pattern becomes unique.  Given then the uncertainty of not having all the state vector indices this helps to greatly constrain the worthiness of the corrections you apply or the quality of the guess strf offers you.

Template Orbits

Using the ‘t’ selection the user can cycle through a number of template orbits.  These are here to allow a user to fit data from an unknown satellite to a template and start the process of refining the orbit as much as possible.

It is always better if you know or have a really good hunch of what you are observing to use a catalog orbit as your seed to correct against vs using a template orbit.

To try fitting an object to a template and see what challenges you will encounter identify a known polar orbiting object after collecting some data.  Save the data and load up rffit with just your data and no catalog.  Press ‘t’ until you have the template for a low Earth orbiting 90 degree inclination orbit with a 14 rev/day MM.  Using the number keys you can select the element to fit.  It turns red when it is in the fitting queue.  It is recommended to only fit one element at a time and allow them to accumulate to the point where the fitting breaks down.  Then start again by resetting and iterate until you get something that just makes sense before you take the next step that breaks the fitting down.

As you can see from the following slide show all goes great fitting this data to MA, RAAN and MM.  They it starts to degrade rapidly as I select Eccentricity, Arg of Perigee and finally Inclination.  Once I force it to fit to Eccentricity it blows up and deviates wildly away from the actual trajectory of the object being tracked.  Things just get worse as I try to fit AoP and Inclination to the point that the fit is jumping around randomly…


This slideshow requires JavaScript.

This demonstrate shows that the less a parameter has to do with timing the poorer strf can handle fitting that elements to data.  Inclination being the worst.  The usual strategy with inclination is to make an educated guess and leave it fixed.

Conversely if you where to catch a glimpse of an orbiting satellite visually for a few seconds and record the positions and times accurately you would only really be able to tell the inclination from that data.  Fortunately, the inclination is often the most unlikely element to change for a satellite due to the energy required to make a plane change. Also, most satellites in service you common ranges of inclinations due to the nature of their missions.  This gives the astute analysis the ability to constrain most of the other elements with Doppler and not need to play with inclination much to get orbits that will allow for visual recovery.

If you want to become a Doppler whisperer then you need to really pay attention to how elements affect the fit and devise strategies to test your theories and collect a lot of data so you have more and more to go on.

Recommended Casual Uses of strf

Strf for users not really interested in visual satellite observations is a handy tool to do the following tasks:

  • Identify unknown satellites,
  • Constrain a newly launched satellite’s orbit so it can be tracked on the next pass with directional antennas,
  • Identify closely spaced objects.

Even these tasks require care and attention to detail to ensure your analysis is accurate.

I hope this provides some level of insight into why strf exists and how to understand what it can do for you.  It’s not magic and with knowledge of how it works from an orbital dynamic perspective you can effectively figure out the operational details of the software to help solve some of satellite tracking’s routine problems.







Author: Scott Tilley

Amateur visual and radio astronomer, radio amateur VE7TIL

5 thoughts on “Basic Orbital Dynamics”

  1. Hi Scott,

    Very good introduction to orbital dynamics and how they can be applied to the use of STRF.

    I’ve never understood the argument of periapsis as defining the orbital plane. For me the orbital plane is defined by the inclination an RAAN alone (mathematically, a plane passing through the centre of the Earth is defined by only two parameters). I would consider the argument of periapsis as defining the orbital shape (or perhaps the orientation of said shape within the orbital plane). Indeed, some people consider the eccentricity vector, which is a pair of numbers and is equivalent to specifying the (scalar) eccentricity and the argument of periapsis.

    Something else that I find confusing is the sentence “The usual convention is to use the time the satellite crosses the equator on its ascending node as the epoch.” For me, the epoch could be anything. The only thing that ties the epoch to the rest of the Keplerian parameters is that the mean/true anomaly is specified at the epoch (and also that the rest of the orbital parameters are supposed to be accurate only for a certain timespan around the epoch, if we’re talking about perturbing forces, rather than the simple Keplerian model).

    Liked by 1 person

    1. Hi Daniel

      Thanks for taking the time to comment.

      I agree with you that the definition of where to place the argument of periapsis is subject to discussion. In my prep for this paper there was a number of schools of thought I perused but I choose plane for a reason. I have felt like you that it is more a shape rather than plane perimeter but over the years I’ve grown to consider it as part of the plane family from a tracking perspective. When you consider that it orientates the shape of the plane then there is an argument (pun intended) for it to be in the plane grouping. A good example of why I feel this way is frozen orbits like a molniya. It anchors the AoP and doesn’t let the plane process form north to south…

      Finally, I find during Doppler fitting that AoP tends to be one of the least used parameters much like inclination as the Doppler data doesn’t seem to convey it well.

      Again this is my opinion and it doesn’t really affect the meaning of the element.

      On Epoch, you are of course correct. You can use anytime to define when the orbit ‘was’ correct. The “convention” used by many (particularity the USAF) is to state the epoch at the time of ascending node beginning. But this is not required, just an interesting convention to be aware of that most of the TLEs we have access to are affected by this convention.

      I’ve even found myself doing this to help keep the visualization straight in my head when developing an orbital model particularly from Doppler data when the orientation of the plane can be uncertain.

      Finally, yes a TLE is only a snapshot of reality at a particular moment. The point of this paper as a discussion of basic orbital dynamics was to explain the mechanism on which strf is based and to point out its limitations not to get into the specifics of every detail about orbital dynamics. Perhaps I should have spelled that out to avoid confusion in the text.

      One of strf strengths is to allow the user to model the dynamics of the changes to an aging TLE to allow for accurate tracking to continue. Particularly without access to visual observations during a period of time when that is not available due to sun angles, weather or man made issues.


      Liked by 1 person

    1. Yes! Strf allows that to happen and we have done so in the past. Have a look at my post on IMAGE ‘Space Strikes Back’. Myself and Cees simultaneously view dynamics in IMAGE’s signal disproving a theory NASA had about the cause of the issue.

      Liked by 2 people

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: