METHOD, SYSTEM, AND MEDIUM FOR PROCESSING SATELLITE ORBITAL INFORMATION USING A GENERATIVE ADVERSARIAL NETWORK
Method, electronic device, system, and computer-readable medium embodiments are disclosed. Some embodiments include a signal processing workflow incorporating a graphical user interface for displaying orbital information for satellites and other spacecraft. In some embodiments, a generative adversarial network (GAN) is employed for evaluating satellite orbital positions, for predicting future orbital movements, for detecting orbital maneuvers of a satellite, and for analyzing such maneuvers for potential nefarious intent.
1 . A computer-implemented method for processing satellite orbital information using a generative adversarial network (GAN), said method comprising:
(a) generating a machine learning discriminator model that takes in a pair of orbital position observations, and returns a boolean indicating whether or not said pair represents a real orbit;
(b) generating a second machine learning generator model that takes in an orbital position observation, a vector encoding a desired timestep, and a randomly generated salt vector, and returns a corresponding propagated orbital position observation at the desired timestep;
(c) training the discriminator model utilizing, as the pair of orbital position observations input thereto, a combination of real orbital position observations and propagated orbital position observations from the generator model; and
(d) training the generator model using as a loss input such propagated orbital position observations that the discriminator model determines do not represent a real orbit, and backpropagating accordingly;
then at least one of:
(i) identifying, using the trained discriminator model, a pair of orbital position observations that do not represent a real orbit; and
(ii) generating, using the trained generator model, and based upon a real orbital position observation, a counterfeit propagated orbital position observation that the discriminator determines to represent a real orbit.
2 . The method of claim 1 , further comprising:
initially training the discriminator model using pairs of actual orbital position observations.
3 . The method of claim 1 , wherein:
the generator model, in step (b), also takes in a second vector representing a simulated orbital maneuver, and the propagated orbital position observation at the desired timestep corresponds to the simulated orbital maneuver; and
the discriminator model takes in the pair of orbital position observations to determine whether an orbital maneuver has taken place, and generates a boolean indicating whether or not an orbital maneuver has taken place.
4 . The method of claim 3 , further comprising:
identifying, using the trained discriminator model, a pair of orbital position observations as corresponding to an orbital maneuver having been performed.
5 . The method of claim 3 , further comprising:
generating, using the trained generator model, a desired maneuver that is below an edge of detection of the discriminator.
6 . A system for processing satellite orbital information using a generative adversarial network (GAN), said system comprising:
an electronic device including a processor and memory;
wherein the electronic device is configured to:
(a) generate a machine learning discriminator model that takes in a pair of orbital position observations, and returns a boolean indicating whether or not said pair represents a real orbit;
(b) generate a second machine learning generator model that takes in an orbital position observation, a vector encoding a desired timestep, and a randomly generated salt vector, and returns a corresponding propagated orbital position observation at the desired timestep;
(c) train the discriminator model utilizing, as the pair of orbital position observations input thereto, a combination of real orbital position observations and propagated orbital position observations from the generator model; and
(d) train the generator model using as a loss input such propagated orbital position observations that the discriminator model determines do not represent a real orbit, and backpropagate accordingly;
then at least one of:
(i) identify, using the trained discriminator model, a pair of orbital position observations that do not represent a real orbit; and
(ii) generate, using the trained generator model, and based upon a real orbital position observation, a counterfeit propagated orbital position observation that the discriminator determines to represent a real orbit.
7 . The system of claim 6 , wherein:
the generator model, in step (b), also takes in a second vector representing a simulated orbital maneuver, and the propagated orbital position observation at the desired timestep corresponds to the simulated orbital maneuver; and
the discriminator model takes in the pair of orbital position observations to determine whether an orbital maneuver has taken place, and generates a boolean indicating whether or not an orbital maneuver has taken place.
8 . The system of claim 7 , further comprising:
identifying, using the trained discriminator model, a pair of orbital position observations as corresponding to an orbital maneuver having been performed.
9 . The system of claim 7 , further comprising:
generating, using the trained generator model, a desired maneuver that is below an edge of detection of the discriminator.
10 . A non-transitory computer-readable storage medium embodying a computer program, the computer program comprising computer readable program code that when executed by one or more electronic processors causes the processor(s) to:
(a) generate a machine learning discriminator model that takes in a pair of orbital position observations, and returns a boolean indicating whether or not said pair represents a real orbit;
(b) generate a second machine learning generator model that takes in an orbital position observation, a vector encoding a desired timestep, and a randomly generated salt vector, and returns a corresponding propagated orbital position observation at the desired timestep;
(c) train the discriminator model utilizing, as the pair of orbital position observations input thereto, a combination of real orbital position observations and propagated orbital position observations from the generator model; and
(d) train the generator model using as a loss input such propagated orbital position observations that the discriminator model determines do not represent a real orbit, and backpropagating accordingly;
then at least one of:
(i) identify, using the trained discriminator model, a pair of orbital position observations that do not represent a real orbit; and
(ii) generate, using the trained generator model, and based upon a real orbital position observation, a counterfeit propagated orbital position observation that the discriminator determines to represent a real orbit.
11 . The non-transitory computer-readable storage medium of claim 10 , wherein:
the generator model, in step (b), also takes in a second vector representing a simulated orbital maneuver, and the propagated orbital position observation at the desired timestep corresponds to the simulated orbital maneuver; and
the discriminator model takes in the pair of orbital position observations to determine whether an orbital maneuver has taken place, and generates a boolean indicating whether or not an orbital maneuver has taken place.
12 . The non-transitory computer-readable storage medium of claim 11 , further comprising:
identifying, using the trained discriminator model, a pair of orbital position observations as corresponding to an orbital maneuver having been performed.
13 . The non-transitory computer-readable storage medium of claim 11 , further comprising:
generating, using the trained generator model, a desired maneuver that is below an edge of detection of the discriminator.
14 . A computer-implemented method for processing satellite orbital information using a generative adversarial network (GAN) for orbital maneuver detection and deceptive maneuver generation, said method comprising:
(a) generating a machine learning discriminator model that takes in a pair of orbital position observations, and returns a boolean indicating whether or not a detected orbital maneuver has occurred;
(b) generating a second machine learning generator model that takes in an orbital position observation, a vector encoding a desired timestep, a randomly generated salt vector, and a second vector representing a simulated maneuver, and returns a propagated orbital position observation at the desired timestep as a result of the simulated maneuver;
(c) training the discriminator model utilizing, as the pair of orbital position observations input thereto, a combination of real orbital position observations and propagated orbital position observations from the generator model; and
(d) training the generator model using as a loss input generated propagated orbital position observations that the discriminator model determines do not represent a maneuver, and backpropagate accordingly;
then at least one of:
(i) detecting, using the trained discriminator model, and based upon a pair of real orbital position observations, whether an orbital maneuver has been performed; and
(ii) generating, using the trained generator model, a deceptive orbital maneuver that is below an edge of detection of the discriminator.
15 . The method of claim 14 , further comprising:
initially training the discriminator model using pairs of actual maneuver-free orbital position observations or generated maneuver-free orbital position observations.