Orbital and Angular Dynamics Analysis of the Small Satellite SAR Mission INFANTE


INFANTE is an ambitious Portuguese project of a small satellite for Earth observation using synthetic aperture radar and multispectral camera. The mission is a precursor and a technology demonstrator for a constellation for home waters coverage. The satellite will be deployed on a relatively low Earth orbit due to the SAR and power budget requirements. The restrictions on the altitude and the stabilization accuracy are relatively tight. Orbital and angular motion simulation results are reported in the paper. The possibility of the mission implementation using available attitude control and determination low-cost hardware is confirmed. Despite the low orbit altitude, the necessity of the orbit maintenance is questioned due to the specific satellite shape.

This is a preview of subscription content, log in to check access.

Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.
Fig. 7.
Fig. 8.
Fig. 9.
Fig. 10.
Fig. 11.


  1. 1

    Braun, H.M. and Knobloch, P.E., SAR on small satellites shown on the SAR-Lupe example, in Proceedings of the International Radar Symposium, Cologne, 2007.

  2. 2

    Naftaly, U. and Levy-Nathansohn, R., Overview of the TECSAR satellite hardware and mosaic mode, IEEE Geosci. Remote Sens. Lett., 2008, vol. 5, no. 3, pp. 423–426.

    ADS  Article  Google Scholar 

  3. 3

    Davies, P., Whittaker, P., Bird, R., Gomes, L., Stern, B., Sweeting, M., Cohen, M., and Hall, D., NovaSAR-S Bringing Radar Capability to the Disaster Monitoring Constellation, in Proceedings of the 4S (Small Satellites Systems and Services) Symposium, Portoroz, Slovenia, 2012.

  4. 4

    Rizki Akbar, P., Tetuko, J., and Kuze, H., A novel circularly polarized synthetic aperture radar (CP-SAR) system onboard a spaceborne platform, Int. J. Remote Sens., 2010, vol. 31, no. 4, pp. 1053–1060.

    ADS  Article  Google Scholar 

  5. 5

    Beletsky, V.V., Motion of an Artificial Satellite about Its Center of Mass, Jerusalem: Israel Program for Scientific Translation, 1966.

    Google Scholar 

  6. 6

    Ovchinnikov, M.Yu., Penkov, V.I., Roldugin, D.S., and Pichuzhkina, A.V., Geomagnetic field models for satellite angular motion studies, Acta Astronaut., 2018, vol. 144, pp. 171–180.

    ADS  Article  Google Scholar 

  7. 7

    Stickler, A.C., A magnetic control system for attitude acquisition, Ithaco, Inc., Rep. no. 90345, 1972.

  8. 8

    Stickler, A.C. and Alfriend, K.T., Elementary magnetic attitude control system, J. Spacecr. Rockets, 1976, vol. 13, no. 5, pp. 282–287.

    ADS  Article  Google Scholar 

  9. 9

    Mashtakov, Y.V., Ovchinnikov, M.Y., and Tkachev, S.S., Study of the disturbances effect on small satellite route tracking accuracy, Acta Astronaut., 2016, vol. 129, pp. 22–31.

    ADS  Article  Google Scholar 

  10. 10

    Ovchinnikov, M.Y., Tkachev, S.S., and Karpenko, S.O., A study of angular motion of the Chibis-M microsatellite with three-axis flywheel control, Cosmic Res., 2012, vol. 50, no. 6, pp. 431–440.

    ADS  Article  Google Scholar 

  11. 11

    Kalman, R.E. and Bucy, R.S., New results in linear filtering and prediction theory, Trans. ASME,J. Basic Eng., 1961, vol. 83, no. 1, pp. 95–108.

    Article  Google Scholar 

  12. 12

    Fundamentals of Astrodynamics and Application, Vallado, D.A. and Wertz, J., Eds., El Segundo: Microcosm, 2001.

    Google Scholar 

  13. 13

    Ovchinnikov, M.Y., Roldugin, D.S., Tkachev, S.S., and Penkov, V.I., B-dot algorithm steady-state motion performance, Acta Astronaut., 2018, vol. 146, pp. 66–72.

    ADS  Article  Google Scholar 

Download references


The work was supported by Project INFANTE – Satellite for marine applications and communications based on constellations, funded by the Portuguese Program COMPETE2020, PORTUGAL2020, and co-funded by the European Structural and Investment Funds.

Author information



Corresponding author

Correspondence to D. S. Roldugin.



Kalman filter is a recursive algorithm that uses dynamical system model and sensor readings for actual motion reconstruction. State vector assumption \({\mathbf{\hat {x}}}{{_{{}}^{ + }}_{{k - 1}}} = {\mathbf{\hat {x}}}\left( {{{t}_{k}}} \right)\) is calculated for each discrete time step \({{t}_{k}}\). Discrete Kalman filter utilizes correction of previous estimate. Consider step \(k - 1\) along with corresponding state vector estimation \({\mathbf{\hat {x}}}{{_{{}}^{ + }}_{{k - 1}}}\) and covariance matrix \({\mathbf{P}}_{{k - 1}}^{ + }\). The goal is to find the state vector estimate for the next step \({\mathbf{\hat {x}}}{{_{{}}^{ + }}_{k}}\). First a priory estimate \({\mathbf{\hat {x}}}{{_{{}}^{ - }}_{k}}\) is formed using straight mathematical model integration. It is corrected using the sensor measurements vector \({{{\mathbf{z}}}_{k}}\) to obtain a posteriori estimate \({\mathbf{\hat {x}}}{{_{{}}^{ + }}_{k}}\). Covariance error matrix \({\mathbf{P}}_{k}^{ - }\) is also constructed from the previous step information using Riccati equation. It is then updated to \({\mathbf{P}}_{k}^{ + }\) using measurements.

Kalman filter is designed for linear mathematical models and allows the best mean-square state vector estimate. It may be adapted for any non-linear mathematical models of both dynamical system and measurements,

$${\mathbf{\dot {x}}}\left( t \right) = {\mathbf{f}}\left( {{\mathbf{x}},t} \right) + {\mathbf{Gw}}\left( t \right),$$
$${\mathbf{\dot {z}}}\left( t \right) = {\mathbf{h}}\left( {{\mathbf{x}},t} \right) + {\mathbf{v}}\left( t \right),$$

where \({\mathbf{w}}\left( t \right)\) is a Gaussian dynamical model error with covariance matrix \({\mathbf{D}}\), \({\mathbf{G}}\) is a matrix of influence of model error on state vector, \({\mathbf{v}}\left( t \right)\) is a Gaussian measurements error with covariance matrix \({\mathbf{R}}\).

Kalman filter requires right-side functions \({\mathbf{f}}\left( {{\mathbf{x}},t} \right)\,\) and \({\mathbf{h}}\left( {{\mathbf{x}},t} \right)\) decomposition into the Taylor series in the vicinity of the current state vector. Only linear terms are used in the filter. Dynamical system and measurements model matrices are

$$\,{{{\mathbf{F}}}_{k}} = {{\left. {\frac{{\partial {\mathbf{f}}\left( {{\mathbf{x}},t} \right)}}{{\partial {\mathbf{x}}}}} \right|}_{{{\mathbf{x}} = {\mathbf{\hat {x}}}_{k}^{ - },\,t = {{t}_{k}}}}},\,\,\,\,{{{\mathbf{H}}}_{k}} = {{\left. {\frac{{\partial {\mathbf{h}}\left( {{\mathbf{x}},t} \right)}}{{\partial {\mathbf{x}}}}} \right|}_{{{\mathbf{x}} = {\mathbf{\hat {x}}}_{k}^{ - },\,t = {{t}_{k}}}}}.$$

Discrete extended Kalman filter uses non-linear dynamical and measurements models for a priory estimate prediction and a posteriori correction.

Prediction phase is

where \({{{\mathbf{Q}}}_{k}}\) is the covariance matrix of discrete-time process noise, it is calculated as

where is a transition matrix between states \(k - 1\) and \(k\). Correction phase is

$$\begin{gathered} {{{\mathbf{K}}}_{k}} = {\mathbf{P}}_{k}^{ - }{\mathbf{H}}_{k}^{T}{{\left( {{\mathbf{H}}_{k}^{{}}{\mathbf{P}}_{k}^{ - }{\mathbf{H}}_{k}^{T} + {{{\mathbf{R}}}_{k}}} \right)}^{{ - 1}}}, \hfill \\ {\mathbf{\hat {x}}}_{k}^{ + } = {\mathbf{\hat {x}}}_{k}^{ - } + {{{\mathbf{K}}}_{k}}\left( {{{{\mathbf{z}}}_{k}} - {\mathbf{h}}\left( {{\mathbf{\hat {x}}}_{k}^{ - },{{t}_{k}}} \right)} \right), \hfill \\ {\mathbf{P}}_{k}^{ + } = \left( {{\mathbf{E}} - {{{\mathbf{K}}}_{k}}{{{\mathbf{H}}}_{k}}} \right){\mathbf{P}}_{k}^{ - } \hfill \\ \end{gathered} $$

where \({\mathbf{E}}\) is an identity matrix, \({\mathbf{K}}\) is a weighing matrix.

We now construct Kalman filter to obtain satellite attitude in orbital reference frame. The state vector is

$${\mathbf{x}} = \left( {{\mathbf{q}},\,{\mathbf{\omega }}} \right).$$

Dynamical model of controlled satellite angular motion is (2), Gaussian disturbance is not taken into account. Quaternion kinematics (6) is used.

Equations of motion should be linearized in the vicinity of current state vector. Rewrite equations (2), (6) as

$$\delta {\mathbf{\dot {x}}}\left( t \right) = {\mathbf{F}}\left( t \right)\delta {\mathbf{x}}\left( t \right),$$

where \(\delta {\mathbf{x}}\left( t \right)\) is a small state vector increment, \({\mathbf{F}}\left( t \right)\) is the matrix of equations of motion linearized in the vicinity of current state. State vector \({\mathbf{x}}\left( t \right)\) can be divided into the estimated part \({\mathbf{\hat {x}}}\left( t \right)\) and misalignment \(\delta {\mathbf{x}}\left( t \right)\),

$${\mathbf{x}}\left( t \right) = {\mathbf{\hat {x}}}\left( t \right) + \delta {\mathbf{x}}\left( t \right).$$

In order to linearize kinematic relations (6) note that quaternion sum in (A.1) actually means sum of rotations. This is represented by quaternion multiplication in Rodrigo-Hamilton parameters

$$\Lambda = \hat {\Lambda } \circ \delta \Lambda .$$

Here \(\hat {\Lambda }\) is the current estimated quaternion. Omitting second order small terms, terms of the order of orbital velocity and assuming unit scalar part for \(\delta \Lambda = \left( {\delta {\mathbf{q}},\,\,\,1} \right)\) we get linearized kinematic relations

$$\delta {\mathbf{\dot {q}}} = {{{\mathbf{W}}}_{{\mathbf{\omega }}}}\delta {\mathbf{q}} + \frac{1}{2}\delta {\mathbf{\omega }},\,\,\,\,\delta {{\dot {q}}_{0}} = 0.$$

Linearization of equations (2) involves gravitational torque (5)

$${{{\mathbf{M}}}_{{{\text{gr}}}}} = 3\omega _{0}^{2}{\mathbf{A}}\left( \Lambda \right){{{\mathbf{e}}}_{3}} \times {\mathbf{JA}}\left( \Lambda \right){{{\mathbf{e}}}_{3}}.$$

We use small rotation in the vicinity of current estimate,

$${\mathbf{A}}\left( \Lambda \right) = {\mathbf{A}}\left( {\hat {\Lambda } \circ \delta \Lambda } \right) = {\mathbf{A}}\left( {\delta \Lambda } \right){\mathbf{A}}\left( {\hat {\Lambda }} \right).$$

This leads to

$$\delta {{{\mathbf{M}}}_{{{\text{gr}}}}} = 3\omega _{0}^{2}\left( {{{{\mathbf{W}}}_{{{{{\mathbf{e}}}_{3}}}}}{\mathbf{J}}{{{\mathbf{W}}}_{{{{{\mathbf{e}}}_{3}}}}} - {{{\mathbf{W}}}_{{{\mathbf{J}}{{{\mathbf{e}}}_{3}}}}}{{{\mathbf{W}}}_{{{{{\mathbf{e}}}_{3}}}}}} \right)\delta {\mathbf{q}}.$$

Finally linearized gravitational torque is

$$\delta {{{\mathbf{M}}}_{{{\text{gr}}}}} = 6\omega _{0}^{2}{{{\mathbf{F}}}_{{{\text{gr}}}}}\delta {\mathbf{q}},$$


$${{{\mathbf{F}}}_{{{\text{gr}}}}} = {{{\mathbf{W}}}_{{{{{\mathbf{e}}}_{3}}}}}{\mathbf{J}}{{{\mathbf{W}}}_{{{{{\mathbf{e}}}_{3}}}}} - {{{\mathbf{W}}}_{{{\mathbf{J}}{{{\mathbf{e}}}_{3}}}}}{{{\mathbf{W}}}_{{{{{\mathbf{e}}}_{3}}}}},$$

\({{e}_{x}},{{e}_{y}},{{e}_{z}}\) are unit radius-vector components in the bound frame.

Linearized gyroscopic torque is

$$\delta {{{\mathbf{M}}}_{{{\text{gir}}}}} = {{{\mathbf{F}}}_{{{\text{gir}}}}}\delta {\mathbf{\omega }},$$


$${{{\mathbf{F}}}_{{gir}}} = \left( {\begin{array}{*{20}{c}} 0&{{{\omega }_{3}}\left( {B - C} \right)}&{{{\omega }_{2}}\left( {B - C} \right)} \\ {{{\omega }_{3}}\left( {C - A} \right)}&0&{{{\omega }_{1}}\left( {C - A} \right)} \\ {{{\omega }_{2}}\left( {A - B} \right)}&{{{\omega }_{1}}\left( {A - B} \right)}&0 \end{array}} \right).$$
$$\frac{d}{{dt}}\delta {\mathbf{x}}\left( t \right) = {\mathbf{F}}\left( t \right)\delta {\mathbf{x}}\left( t \right),$$

where dynamics matrix \({\mathbf{F}}\) is introduced using (A.2), (A.4), and (A.5) as

$${\mathbf{F}} = \left( {\begin{array}{*{20}{c}} {{{{\mathbf{W}}}_{{\mathbf{\omega }}}}}&{\frac{1}{2}{\mathbf{E}}} \\ {{{{\mathbf{J}}}^{{ - 1}}}\left( {6\omega _{0}^{2}{{{\mathbf{F}}}_{{{\text{gr}}}}} - {{k}_{a}}{\mathbf{E}}} \right)}&{ - {{{\mathbf{J}}}^{{ - 1}}}{{k}_{\omega }} + {{{\mathbf{J}}}^{{ - 1}}}{{{\mathbf{F}}}_{{{\text{gir}}}}}} \end{array}} \right).$$

Magnetometer measurements model is

$${\mathbf{z}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{A}}{{{\mathbf{B}}}_{{{\text{orb}}}}} + {{{\mathbf{\eta }}}_{{\mathbf{B}}}}} \\ {{\mathbf{\omega }} + {{{\mathbf{\eta }}}_{{\mathbf{\omega }}}}} \end{array}} \right],$$

where \({{{\mathbf{\eta }}}_{{\mathbf{B}}}}\) is a Gaussian geomagnetic induction vector error with zero mean. Linearized measurements model is

$${\mathbf{z}} = {\mathbf{\hat {z}}} + \delta {\mathbf{z}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{A}}\left( {\hat {\Lambda } \circ \delta \Lambda } \right){{{\mathbf{B}}}_{{{\text{orb}}}}}} \\ {{\mathbf{\hat {\omega }}} + \delta {\mathbf{\omega }}} \end{array}} \right].$$

Using (A.3) and (A.6) we get

$$\delta {\mathbf{z}} = \left[ {\begin{array}{*{20}{c}} { - 2{{{\mathbf{W}}}_{{\delta {\mathbf{q}}}}}{\mathbf{\hat {B}}}} \\ {\delta {\mathbf{\omega }}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} { - 2{{{\mathbf{W}}}_{{{\mathbf{\hat {B}}}}}}\delta {\mathbf{q}}} \\ {\delta {\mathbf{\omega }}} \end{array}} \right].$$

and measurements matrix is

$${\mathbf{H}} = \left[ {\begin{array}{*{20}{c}} { - 2{{{\mathbf{W}}}_{{{\mathbf{\hat {B}}}}}}}&{{{0}_{{3 \times 3}}}} \\ {{{0}_{{3 \times 3}}}}&{{{{\mathbf{E}}}_{{3 \times 3}}}} \end{array}} \right].$$

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Guerman, A.D., Ivanov, D.S., Roldugin, D.S. et al. Orbital and Angular Dynamics Analysis of the Small Satellite SAR Mission INFANTE. Cosmic Res 58, 206–217 (2020). https://doi.org/10.1134/S0010952520030016

Download citation