Most of the content that I helped to create for various satellite projects is not in the public domain, unfortunately.

Vision Payload with Radiation Tolerant CMOS Sensor
Gravitational Potential and Spacecraft Orbits
International Geomagnetic Reference Field
Attitude Stabilization with Magnetic Actuation
God knows what happens now.
Hopefully worldwide discussion, debates, and reforms...
I want people to see the truth...
because without information,
you cannot make informed decisions as a public.
Bradley Manning

International Geomagnetic Reference Field

field lines on Jan 1, 2010

The Working Group V-MOD of the International Association of Geomagnetism and Aeronomy (IAGA) maintains an International Geomagnetic Reference Field (IGRF) for the period from 2010 until 2015. The magnetic field above the surface of Earth is modelled up to an altitude of 600 km. The vector field is approximated using spherical harmonic expansion. The coefficients are given up to order 13.

IAGA provides an open-source, efficient C implementation to compute of the magnetic field vectors given the following input: longitude, latitude, altitude (up to 600 km), and time stamp (between Jan 1, 2010 and Jan 1, 2015). I have ported the implementation to Matlab, which you can download below.

Caution: I don't recommend the use of the geomag70 executable (as provided on the V-MOD website) because of serious flaws: 1) a single coordinate around the poles causes all subsequent coordinates to be indeterminate, 2) the source code in the archive does not correspond to the executable, and 3) the bug history is scary.

International Geomagnetic Reference Field (for Matlab) 70 kB

Sharing knowledge is the greatest of all callings.
There's nothing like it in the land.
The Satire on the Trades


If the position of a satellite is known (longitude, latitude, and altitude), and the satellite is equipped with a magnetic field sensor, the measurements from the sensor are compared to the International Geomagnetic Reference Field. The transformations that match these two vectors help to narrow down the attitude of the satellite body.

A satellite might be equipped with magnetic actuators, such as coils. The interaction of the magnetic moment generated by current through a coil and the Earth magnetic field generally creates a torque that affects the rotational rate of the satellite. Depending on the mass distribution of the satellite (interia tensor) and the magnetic field generated by the actuators, the resulting torque changes the angular momentum over time. The geomagnetic reference field helps to accurately simulate the effects of the actuators onboard, as well as to predict times for stabilization, and current consumption of the attitude control algorithm.

Magnetic field amplitude contour
evolution between 2010 and 2015 sampled at an altitude of 350 km
(values range between 20.0e-6 T and 55.0e-6 T)
All people are animals first before they are persons;
without having his most basic animal needs - of food, water, shelter and safety - met first,
even the most brilliant man is no better than a monkey dressed in a fancy suit.
TED talk

Attitude Stabilization with Magnetic Actuation

Satellites in low-Earth orbit can utilize the geomagnetic field of the Earth for attitude control using magnetic torquers. Electrical current flow through a coil generates a magnetic moment. The cross-product of a) the magnetic moment with b) the external magnetic field equals the torque that is acting on the satellite. The geometric arrangement of 3 or more coils should ideally enable the control algorithm to generate an overall magnetic moment in any direction.

In order for the control to be effective, the direction of the geomagnetic field of the Earth needs to be measured, and estimated correctly. However, while the magnetic coils are active, the external magnetic field cannot be measured. Aditionally, due to the presence of electrical instruments, and ferromagnetic components on-board, the external magnetic field is difficult to establish accurately.

The control algorithm, that we present and simulate in the document repeats the following control loop:

Our simulations show that the control is stable, if the initial angular rate is below a certain threshold. Specific to the current limits and satellite inertia tensor chosen, we assume that the satellite is not rotating faster than 30 deg/sec.

Attitude Stabilization with Magnetic Actuation (source) * attitude_stab...nb 560 kB
Attitude Stabilization with Magnetic Actuation attitude_stab...pdf 280 kB
* notebook for Mathematica 8

Current flow through the coils affects

In the absence of external torque, Mathematica integrates the differential equations subject to preservation of angular momentum over any period of time. For that reason, we employ Mathematica to carry out all the calculations.

Non-conformity is the only real passion
worth being ruled by.
Julian Assange