1 Introduction

Constellations of satellites have been used extensively for the last 40 years for a wide variety of applications including global navigation, communications, Earth observation, interferometric observations, and radio-occultation missions, to mention the most popular. However, as outlined in Draim (2004), “constellation design still remains more an art than a science.” The high dimensionality of the design space, coupled with the complexities of the interactions between and among satellites and ground-sites has kept researchers searching for improved methods for optimal constellation design.

Two distinct design strategies have emerged as the leading approaches to constellation design. The first is the streets-of-coverage design (Lüders 1961; Lüders and Ginsberg 1974; Rider 1986a, b), typically involving satellites in polar orbits with the separation between orbital planes selected such that the ground coverage of satellites in adjacent planes overlaps to provide full coverage. The second is Walker/Mozhaev constellations (Walker 1971, 1977; Mozhaev 1972, 1973), consisting of evenly distributed satellites in evenly distributed planes in circular orbits. An example of an alternative approach to build constellations using circular orbits derived from Walker/Mozhaev constellations is in Lucarelli et al. (1998), while thorough surveys of the history of constellation design appears in Draim (2004) and Dutruel-Lecohier and Mora (1998).

Flower Constellations (FCs) (Mortari et al. 2004) were initially proposed as an alternative design strategy to those described above, and focused on placing all satellites on the same trajectory in a rotating reference frame (e.g., Earth-Centered Earth-Fixed). The main reason was that this capability makes it easy to design constellations for continuous or persistent observation of Earth sites and regions. When viewed from the rotating frame, the common space-track trajectory of the satellites also coincides and appears as multi-petaled “flowers”, hence the name.

The capability to design uniform distributions of satellites, either in inertial (Walker) or in rotating (Flower) reference frames, is of particular interest for many applications such as global navigation and global observation systems. In general, this is obtained by satellite configurations characterized by symmetric distributions. To obtain this, a subset of the FCs (so-called Harmonic Flower Constellations, HFCs), characterized by filling all the admissible locations with satellites, was introduced (Mortari and Wilkins 2008; Wilkins and Mortari 2008). The minimum-parameter representation of these constellations, which exhibit symmetric distributions of satellites, is the main focus of this paper. Unexpectedly and surprisingly, these satellite configurations clearly show that it is possible to obtain satellite distributions forming time-invariant shapes in some specific rotating frames. Unfortunately, the combination of design parameters to obtain HFCs using the initial theory of FCs is quite complicated (Mortari et al. 2004), and this makes the optimization process computationally intensive.

To overcome this problem, the Lattice Flower Constellations (LFCs) (Avendaño et al. 2010), a new minimum-parameter description of HFCs, is introduced. This is done by showing that the HFCs can be mathematically described using the theory of lattices. However, even though the lattice theory can be used to generate uniform constellations using elliptical orbits, circular orbits are adopted and suggested. The general elliptical orbits case is restricted to the Keplerian unperturbed case or to equatorial or critically inclined orbits as, in this latter cases, the \(J_2\) perturbation does not destroy the symmetry.

The theory presented in this work uses Keplerian unperturbed orbits. The purpose of this work is to present the mathematical theory of LFCs while Davis et al. (2010) and the companion article (Davis et al. 2013) contain the extension of this theory to elliptical orbits under \(J_2\) perturbations and at any inclination. Long term stability and associated maintenance costs caused by other perturbations are not considered as this task is meaningful when an estimate of the constellation is already available.

This article is organized as follows: first, a brief summary of the original FCs theory is presented, with special emphasis on the HFCs subset. Then, it is shown that the HFCs satellite phasing can be described by a minimal set of three integer parameters whose physical meaning are explained. These parameters are shown to be the elements of the Hermite normal form matrix, a minimum-parametrization of a lattice matrix. The resulting LFCs framework is presented along with the connection to the Walker/Mozhaev constellations.

2 Original theory of Flower Constellations

A Flower Constellation, as defined in Mortari and Wilkins (2008), Wilkins and Mortari (2008), is a set of \(N_s\) satellites following the same (closed) trajectory with respect to a rotating frame. This condition implies that:

  1. 1.

    The orbital period, \(T_p\), of each satellite is a rational multiple of the period of rotating frame, \(T_d\). That is,

    $$\begin{aligned} N_p\,T_p = N_d\,T_d \end{aligned}$$
    (1)

    for some positive, coprime integers \(N_d\) and \(N_p\).

  2. 2.

    The semimajor axis, a, eccentricity, e, inclination, \(i\), and argument of the perigee, \(\omega \), are all identical for all the satellite orbits.

  3. 3.

    The mean anomaly, \(M_k\), and the right ascension of the ascending node, \(\varOmega _k\), of each satellite (\(k = 1, \ldots , N_s\)) satisfy

    $$\begin{aligned} N_p \, \varOmega _k + N_d \, M_k = \mathrm{constant} \; \mathrm{mod}\,{(2\pi )} \end{aligned}$$
    (2)

    that is equivalent to \(N_p \, (\varOmega _k -\varOmega _1) + N_d \, (M_k - M_1) = 0 \; \mathrm{mod}\,{(2\pi )}\). The values of the \([\varOmega _k, M_k]\) pairs, solutions of Eq. (2), are initial values (i.e. \(t=t_0\)).

The first item guarantees that the trajectory in the rotating frame is closed. The second and third items are necessary and sufficient conditions to have all the satellites on the same relative trajectory (a complete proof of this fact is given in Avendaño and Mortari 2009). Under Keplerian orbit assumption, the following procedure (Mortari and Wilkins 2008) can be used to generate constellations satisfying the three conditions above:

  1. 1.

    Choose any pair of coprime positive integers, \(N_d\) and \(N_p\), as the compatibility (or resonant) parameters. This determines the orbital period, \(T_p = N_d T_d/N_p\), since the period of the rotating frame (e.g., the Earth) is known, and it also determines the semimajor axis \(a = \root 3 \of {\mu T_p^2/(2\pi )^2}\).

  2. 2.

    Select the orbital parameters \(e \in [0, 1),\,i \in [0, \pi ]\), and \(\omega \in [0, 2\pi )\) that are common to all the satellites.

  3. 3.

    Select the right ascension of the ascending node \(\varOmega _1 \in [0, 2\pi )\) and mean anomaly \(M_1 \in [0,2\pi )\) of the first satellite.

  4. 4.

    Choose any pair of coprime positive integers, \(F_d\) and \(F_n\), and any sequence of integers, \(F_h (k),\,k \in [1, N_s]\).

  5. 5.

    Compute the angles \(\varOmega _k\) and \(M_k\) using a recursive formula

    $$\begin{aligned} \left\{ \begin{array}{l} \varOmega _k = \varOmega _{k-1} + 2\pi \dfrac{F_n}{F_d} \; \mathrm{mod}\,{(2\pi )} \\ M_k = M_{k-1} - 2\pi \dfrac{N_p F_n + F_d F_h(k)}{F_d N_d}\;\mathrm{mod}\,{(2\pi )}\end{array}\right. \end{aligned}$$
    (3)

    where \(k = 2, \ldots , N_s\).

It is easy to show that this procedure always outputs pairs \((\varOmega _k, M_k)\) consistent with Eq. (2) and therefore, it produces FCs. Typically we consider \(F_h =\) constant for simplicity in which case, Eq. (3) reduces to

$$\begin{aligned} \left\{ \begin{array}{l} \varDelta \varOmega _k = \varOmega _k - \varOmega _1 = 2\pi k \dfrac{F_n}{F_d} \mathrm{mod}\,{(2\pi )} \\ \varDelta M_k = M_k - M_1 = - 2\pi k \dfrac{N_p F_n + F_d F_h}{F_d N_d}\,\mathrm{mod}\,{(2\pi )}. \end{array}\right. \end{aligned}$$
(4)

Thus, a Flower Constellation can be specified by six integer parameters \((N_d, N_p, F_d, F_n,\,F_h, N_s)\) and five continuous parameters \((e, i, \omega , \varOmega _1, M_1)\). This is the approach followed in Mortari et al. (2004), Mortari and Wilkins (2008), Wilkins and Mortari (2008) as well as in the simulation and visualization software FCVAT (Bruccoleri and Mortari 2005).

Since the satellites in a FC have the same orbital parameters (\(a,\,e,\,i\), and \(\omega \)), we can simply visualize the constellation in a two-Dimensional plot with \(\varOmega \) and M axes and coordinates ranging from 0 to \(2\pi \). This pair of axes is called the \((\varOmega , M)\)-space. This space can also be shown using variations with respect to the first satellite, i.e. the pairs \((\varOmega _k - \varOmega _1, M_k - M_1)\). This alternative representation is called the \((\varDelta \varOmega , \varDelta M)\)-space. Two HFCs are said to be equivalent if and only if their \((\varDelta \varOmega , \varDelta M)\) representations coincide or equivalently if they coincide in the \((\varOmega ,M)\)-space up to a rigid translation.

Avendaño and Mortari (2009) have shown that the number of satellites in a FC cannot exceed \(N_s^{\max } = N_d F_d/G\), where \(G = \gcd (N_d, N_p F_n + F_d F_h)\). A FC with \(N_s^{\max }\) satellites has been called Secondary Path (if \(G \ne 1\)) in Wilkins and Mortari (2008) and HFC in Avendaño and Mortari (2009). These constellations have all the satellites in \(F_d\) inertial orbits, with \(N_{so} = N_d/G\) satellites per orbit. In each inertial orbit, the \(N_{so}\) satellites are evenly spaced in mean anomaly. The \(F_d\) inertial orbits are uniformly distributed in space around the spin axis of the rotating frame. Moreover, the locations of the satellites in the \((\varDelta \varOmega , \varDelta M)\)-space depend, as shown in Avendaño and Mortari (2009), only on \(F_d,\,N_{so}\), and on an integer, \(N_c \in [0, F_d)\), called the configuration number, defined as follows

$$\begin{aligned} N_c = E_n \, \dfrac{N_p \, F_n + F_d \, F_h}{G}\,\mathrm{mod}\,{(F_d)} \end{aligned}$$
(5)

where \(E_n\) and \(E_d\) are any integers satisfying the equation \(E_n F_n + E_d F_d = 1\).

3 Lattice theory of Flower Constellations

Two HFC and HFC\(^\prime \), are equivalent in the \((\varDelta \varOmega ,\varDelta M)\)-space if and only if \(F_d = F_d^{\prime },\,N_{so} = N_{so}^{\prime }\), and \(N_c = N_c^{\prime }\), where these parameters can be computed from the original parameters \((N_d, N_p, F_d, F_n, F_h)\) as explained in the previous section. This provides a simple criteria to determine when two HFCs are equivalent. However, a simple procedure for computing the pairs \((\varOmega _k, M_k)\) from \(F_d,^{\prime }N_{so}\), and \(N_c\) is missing. The approach proposed in Avendaño and Mortari (2012) was rather indirect: first recover the set of original parameters from \(F_d,\,N_{so}\), and \(N_c\) using a long and complicated algorithm, and then use the recursive formulas for \(\varOmega _k\) and \(M_k\) to get the locations of the satellites.

Avendaño et al. (2010) have shown that the computation of the \((\varOmega , M)\)-space of the satellites of a HFC can be done in following a more simple, elegant, and intrinsic way as a solution of the system of equations

$$\begin{aligned} \begin{bmatrix} F_d&0\\ N_c&N_{so}\end{bmatrix} \begin{Bmatrix} \varDelta \varOmega \\ \varDelta M\end{Bmatrix} \equiv \begin{Bmatrix} 0\\ 0\end{Bmatrix}\,\mathrm{mod}\,{(2\pi )}. \end{aligned}$$
(6)

The matrix ruling Eq. (6) always has a zero in the top-right corner. The proposed lattice theory generalizes the notion of HFC using any \(2\times 2\) matrix of integers, \(L \in \mathbb Z ^{2\times 2}\), with \(\det (L) \ne 0\). Given a lattice matrix, \(L\), and the design parameters (\(a, e, i, \omega , \varOmega _1, M_1\)) the constellation consists of a set of satellites, one for each solution of the equation

$$\begin{aligned} L \, \begin{Bmatrix} \varDelta \varOmega _k \\ \varDelta M_k\end{Bmatrix} = \begin{bmatrix} l_{11}&\quad l_{12}\\ l_{21}&\quad l_{22}\end{bmatrix} \, \begin{Bmatrix} \varDelta \varOmega _k \\ \varDelta M_k\end{Bmatrix} \equiv \begin{Bmatrix} 0\\ 0\end{Bmatrix}\,\mathrm{mod}\,{(2\pi )}, \end{aligned}$$
(7)

with orbital elements \((a, e, i, \omega , \varOmega _k, M_k)\). These constellations are called LFCs, and are denoted by \(\text{ LFC }(L, a, e, i, \omega , \varOmega _1, M_1)\).

Figure 1 shows the location of the nine satellites in the LFC corresponding to matrix \(L = \begin{bmatrix} 2&1\\ -1&4\end{bmatrix}\) and initial parameters \(\varOmega _1 = M_1 = 0\). The location of the satellites are obtained by intersecting the solid lines \(2\varOmega + M = 2\pi n\) with \(n \in \mathbb Z \) and the dashed lines \(-\varOmega + 4M = 2\pi m\) with \(m \in \mathbb Z \). The grid identifies the lattice pattern in the \([0, 2\pi )\times [0, 2\pi )\) torus as both axes repeats every \(2\pi \). This is consistent with the fact that the angles \(\varOmega \) and M are defined modulo \((2\pi )\).

Fig. 1
figure 1

Lattice defined by \(2\varOmega + M \equiv - \varOmega + 4 M \equiv 0\,\mathrm{mod}\,{(2\pi )}\)

3.1 Invariant operations on lattice matrix

An integer row operation on a matrix of integers is either switching two rows, multiplying a row by \(-1\), or adding (an integer multiple of) one row to another. Performing these integer row operations on the matrix L does not change the solutions of Eq. (7). Applying any of these operations to a matrix \(L \in \mathbb Z ^{2\times 2}\) can be regarded as a transformation \(L^{\prime } = U L\) where \(U\) is one of the following matrices

$$\begin{aligned} U_{\mathrm{switch}} = \begin{bmatrix} 0&\quad 1\\ 1&\quad 0\end{bmatrix}, \quad U_{\mathrm{neg1}} = \begin{bmatrix} -1&\quad 0\\ 0&\quad 1\end{bmatrix}, \quad \text{ and } \quad U_{\mathrm{add12}} = \begin{bmatrix} 1&\quad 0\\ 1&\quad 1\end{bmatrix}. \end{aligned}$$

The multiplication of the second row by \(-1\) (matrix \(U_{\mathrm{neg2}}\)) can be obtained as \(U_{\mathrm{neg2}} = U_{\mathrm{switch}} U_{\mathrm{neg1}} U_{\mathrm{switch}}\) while adding the second row to the first (matrix \(U_{\mathrm{add21}}\)) can be obtained as \(U_{\mathrm{add21}} = U_{\mathrm{switch}} U_{\mathrm{add12}} U_{\mathrm{switch}}\). Therefore, the three matrices above are enough to generate any integer admissible row operation. All these basic transformation matrices have a determinant equal to \(\pm 1\). It is possible to demonstrate that any matrix with integer coefficients and determinant \(\pm 1\) can be obtained as a product of some of the above matrices. This provides an elementary solution to the equivalence problem for LFCs.

Two LFCs given by matrices \(L\) and \(L^{\prime }\) are equivalent if and only if

$$\begin{aligned} L^{\prime } L^{-1} = U \in \mathbb Z ^{2\times 2} \quad \mathrm{and} \quad \det (U) = \pm 1 \end{aligned}$$
(8)

The proof of Eq. (8) is provided in Avendaño et al. (2010) where it has been shown that it is possible to obtain \(L^{\prime }\) from L by performing a sequence of integer row operations.

4 The minimum parameter representation: the Hermite normal form

Among all the integer matrices satisfying Eq. (8), there exists a unique matrix, \(U_H\), that reduces L into a unique, lower triangular matrix, made of integers, \(H = L\,U_H\), where \(\det (L) \ne 0\), such that \(h_{12} = 0,\,h_{11} \ge 1,\,h_{22} \ge 1\), and \(h_{21} \ge 0\). This reduced H matrix provides the same LFC as L and is called the Hermite normal form of L.

The entries of H are meaningful physical invariants of the constellation: \(h_{11} = N_o\) is the number of inertial orbits (this comes from the equation \(h_{11} \varOmega \equiv 0 \, \mathrm{mod}\,{(2\pi )}\) corresponding to the first row of H), \(h_{22} = N_{so}\) is the number of satellites per orbit (for a given \(\varOmega \), the equation \(h_{22} M \equiv - h_{21} \varOmega \) has \(h_{22}\) solutions), and \(h_{21} = N_c\) is the configuration number, that controls the phasing of the satellites between orbits. Similarly, we can reduce L to an upper triangular matrix \(\tilde{H}\), whose entries carry the following meaning: \(\tilde{h}_{22} = N_m\) is the number of different mean anomalies, \(\tilde{h}_{11} = N_{sm}\) is the number of inertial orbits containing satellites with a given mean anomaly, and \(\tilde{h}_{12} = N_c^{\prime }\) is the dual configuration number. The lower and upper Hermite normal forms are

$$\begin{aligned} H = \begin{bmatrix} h_{11}&\quad 0\\ h_{21}&\quad h_{22}\end{bmatrix} = \begin{bmatrix} N_o&\quad 0\\ N_c&\quad N_{so}\end{bmatrix}\quad \mathrm{and} \quad \tilde{H} = \begin{bmatrix} \tilde{h}_{11}&\quad \tilde{h}_{12}\\ 0&\quad \tilde{h}_{22}\end{bmatrix} = \begin{bmatrix} N_{sm}&\quad N_c^{\prime }\\ 0&\quad N_m\end{bmatrix}. \end{aligned}$$

Figure 2 shows the same LFC defined by its lower and upper Hermite normal form. Consequently, two LFCs are equivalent if and only if they have the same (lower or upper) Hermite normal form (Avendaño and Mortari 2012).

Fig. 2
figure 2

The same LFC obtained from the lower and upper Hermite normal forms. The parameters are \(N_o = 5,\,N_{so} = 3,\,N_c = 2,\,N_{m} = 15,\,N_{sm} = 1\), and \(N_c^{\prime } = 9\)

General constellation design parameters can be computed directly from the lattice matrix L. In fact, let \(L \in \mathbb Z ^{2\times 2}\) with \(\det (L) \ne 0\) be a lattice matrix of LFC, then

$$\begin{aligned} N_s = |\det (L)|, \quad N_{so} = |\gcd (l_{12}, l_{22})|, \quad \mathrm{and} \quad N_{sm} = |\gcd (l_{11}, l_{21})|. \end{aligned}$$
(9)

To validate Eq. (9), let H be the Hermite normal form of L. Since integer row operations do not change the right hand side of any of these identities, then Eq. (9) can be obtained for the two cases of \(L = H\) and \(L = \tilde{H}\). The determinant of H is \(h_{11} h_{22}\), i.e. the number of inertial orbits times the number of satellites per orbit (\(N_s = |\det (L)|\)). Moreover, the greatest common divisor (gcd) of the numbers in the second column of H is \(h_{22}\) since \(h_{12} = 0\), and this gives \(N_{so} = |\gcd (l_{12}, l_{22})|\). Similarly, \(N_{sm} = |\gcd (l_{11}, l_{21})|\) follows by taking the gcd of the first column of \(\tilde{H}\).

In general, H can be computed from L by standard Gaussian elimination (via integer row operations). However, since we are in the two-Dimensional (\(\varOmega \)-\(M\)) space, a much simpler procedure is available. Given \(L \in \mathbb Z ^{2\times 2}\) we can compute the number of satellites \(N_s\) and the number of satellites per orbit \(N_{so}\) using Eq. (9). Then we immediately have \(h_{22} = N_{so} = \gcd (l_{12}, l_{22})\) and \(h_{11} = N_s/N_{so} = |\det (L)|/h_{22} = N_o\). The configuration number \(h_{21}\) requires first the two integers, \(\alpha \) and \(\beta \), such that \(\alpha \, l_{12} + \beta \, l_{22} = h_{22}\), which can be obtained by the extended gcd algorithm, and then simply \(h_{21} = \gcd (\alpha \, l_{11} + \beta \, l_{21}, h_{11})\). This equation can be proven using Eq. (8) by showing that the product \(L H^{-1}\) is a matrix with determinant \(\pm 1\) and integer coefficients. Algorithm 1 summarizes the procedure to compute \(H\) from \(L\).Footnote 1

figure a

Similarly, it is possible to compute the upper Hermite normal form of \(L\) using Eq. (9). The number of satellites with same mean anomaly is \(\tilde{h}_{11} = N_{sm} = \gcd (l_{11}, l_{21})\), the number of different mean anomalies is \(\tilde{h}_{22} = N_s/N_{sm} = |\det (L)|/\tilde{h}_{11}\), and the dual configuration number \(\tilde{h}_{12}\) can be computed as \(\gcd (\alpha \, l_{12} + \beta \, l_{22}, \tilde{h}_{22})\), where \(\alpha \) and \(\beta \) are integers such that \(\tilde{h}_{11} = \alpha \, l_{11} + \beta \, l_{21}\). This procedure is given in Algorithm 2.

figure b

Once the lower Hermite normal form is computed, the location of the satellites in the \((\varOmega , M)\)-space can be found using Algorithm 3.

figure c

The external loop splits the interval \([0, 2\pi )\) in \(N_o = h_{11}\) regularly spaced points \(\varOmega \), that correspond with the \(N_o\) different inertial orbits. This guarantees that the equation \(h_{11} \varOmega \equiv 0 \mathrm{mod}\,{(2\pi )}\) corresponding to the first row of H is satisfied no matter how M is selected. The inner loop finds the values of M for the given \(\varOmega \) by solving the equation \(h_{12}\varOmega + h_{22} M \equiv 0 \mathrm{mod}\,{(2\pi )}\) corresponding to the last row of H. A similar procedure that finds the satellites given the upper Hermite normal form \(\tilde{H}\) can be easily derived.

5 Compatibility of lattice Flower Constellations

In the lattice theory, the parameters \(a,\,e,\,i\), and \(\omega \) are identical for all orbits and are free to be chosen. However, in order to use compatible orbits the period of revolution of the rotating frame \(T_d\) and the orbital period \(T_p\) of the satellites must satisfy Eq. (1). The condition that all the satellites belong in the same relative trajectory upon which the original theory has been developed, is completely removed in the lattice theory. In fact, when using compatible orbits the lattice theory of FCs places the \(N_s\) satellites in \(N_{rt}\) distinct relative trajectories. These trajectories are all identical and evenly distributed around the constellation axis of symmetry, each one accommodating \(N_s/N_{rt}\) satellites.

The number of satellites belonging to a single relative trajectory, \(N_{sr}\), and the number of distinct relative trajectories, \(N_{rt}\), can be computed by

$$\begin{aligned} \left\{ \begin{array}{l} N_{rt} = \gcd \left( \det [L], \; \det \begin{bmatrix} l_{11} &{}\quad l_{12}\\ N_p &{}\quad N_d\end{bmatrix}, \; \det \begin{bmatrix} l_{21} &{}\quad l_{22}\\ N_p &{}\quad N_d\end{bmatrix}\right) \\ N_{rs} = \dfrac{N_s}{N_{rt}} = \dfrac{|\det [L]|}{N_{sr}}\quad \mathrm{where} \quad L = \begin{bmatrix} l_{11} &{}\quad l_{12} \\ l_{21} &{}\quad l_{22}\end{bmatrix}\end{array}\right. \end{aligned}$$
(10)

The proof of Eq. (10) is as follows: satellites belonging to the same relative trajectory satisfy Eqs. (7) and (2). Both equations can be merged as

$$\begin{aligned} \begin{bmatrix} l_{11}&\quad l_{12}\\ l_{21}&\quad l_{22}\\ N_p&\quad N_d\end{bmatrix} \begin{Bmatrix} \varOmega \\ M\end{Bmatrix} = \begin{Bmatrix} 0\\ 0\\ 0\end{Bmatrix} \; \mathrm{mod}\,{(2\pi )}. \end{aligned}$$

Integer row (or column) operations in this system does not change the number of solutions (although the actual solutions can be different). In particular, these operations do not change the gcd of the determinants of the three \(2\times 2\) sub-matrices either. A reduced system like

$$\begin{aligned} \begin{bmatrix} \alpha&\quad 0\\ 0&\quad \beta \\ 0&\quad 0\end{bmatrix} \begin{Bmatrix} \varOmega ^{\prime }\\ M^{\prime }\end{Bmatrix} = \begin{Bmatrix} 0\\ 0\\ 0\end{Bmatrix} \; \mathrm{mod}\,{(2\pi )} \end{aligned}$$

has exactly \(\alpha \, \beta \) solutions and the gcd of the determinants is also \(\alpha \, \beta \). This shows that the number of satellites in the same relative trajectory is exactly \(N_{sr}\). The symmetry of the LFCs implies that all the other relative trajectories contain the same number of satellites. Therefore, the number of different relative trajectories is \(N_{rt} = N_s/N_{sr}\).

If the number of relative trajectories, \(N_{rt}\), must decrease then Eq. (10) states that \(N_{sr}\) must increase. The minimum is obtained for \(N_{sr} = N_s\) and \(N_{rt} = 1\). This happens if \(N_s\) divides the three sub-determinants. Since \(|\det (L)| = N_s\), then the attention must be given to the other sub-determinants. An approach would be to select \(N_p\) and \(N_d\) as a linear combination of the rows of \(L\) using integer coefficients. This choice gives sub-determinants divisible by \(N_s\), but, unfortunately, the numbers \(N_p\) and \(N_d\) obtained by this procedure are not necessarily coprime (original FC theory required \(N_p\) and \(N_d\) be coprime). This problem can be partially fixed by first taking the linear combination and then reducing the pair \(N_d\) and \(N_p\) by dividing by the gcd.

To do so, let \(\lambda \) and \(\mu \) be two integers (not both zero) and set \(N_p^{\prime } = \lambda \, l_{11} + \mu \, l_{21}\) and \(N_d^{\prime } = \lambda \, l_{12} + \mu \, l_{22}\). Now take \(g = \gcd (N_d^{\prime }, N_p^{\prime })\) and reduce \(N_d = N_d^{\prime }/g\) and \(N_p = N_p^{\prime }/g\). Then,

$$\begin{aligned} N_{rt} = \dfrac{g}{\gcd (\lambda , \mu )} \quad \mathrm{and} \quad N_{sr} = \dfrac{N_s}{N_{rt}}. \end{aligned}$$
(11)

To prove Eq. (11), first note that \(\det \begin{bmatrix} l_{11}&l_{12}\\ N_p&N_d\end{bmatrix} = \pm \dfrac{\mu N_s}{g}\) and \(\det \begin{bmatrix} l_{21}&l_{22}\\ N_p&N_d\end{bmatrix} = \pm \dfrac{\lambda N_s}{g}\). Then, by Eq. (10) we have \(g N_{sr} = \gcd (g N_s, \mu N_s, \lambda N_s) = N_s \gcd (g, \mu , \lambda )\). Since \(\gcd (\mu , \lambda )\) divides \(g = \gcd (N_p^{\prime }, N_d^{\prime }) = \gcd (\lambda \, l_{11} + \mu \, l_{21}, \lambda \, l_{12} + \mu \, l_{22})\), then \(\gcd (g, \mu , \lambda ) = \gcd (\mu , \lambda )\) and, therefore, \(N_{rt} = \dfrac{N_s}{N_{sr}} = \dfrac{g}{\gcd (\mu ,\lambda )}\), proving Eq. (11).

It is important to note that \(g = \gcd (N_d^{\prime }, N_p^{\prime })\) is always divisible by the product of \(\gcd (\lambda , \mu )\) and \(\gcd (l_{11}, l_{12}, l_{21}, l_{22})\), thus \(N_{rt} = g/\gcd (\lambda , \mu )\) is an integer multiple of the gcd of the entries of \(L\). Therefore, a necessary condition to have all the satellites in the same relative trajectory (as in the original theory of FCs) is to have \(\gcd (l_{11}, l_{12}, l_{21}, l_{22}) = 1\). However, this condition is not sufficient. The new configurations in the lattice theory are all those associated with \(N_{rt}\ne 1\).

6 Flower Mean Anomaly and Flower Nodal Angle

In the lattice theory of FCs two angles, \(\varLambda _k\) and \(\varGamma _k\), describe the distributions of the relative trajectories and where (within a particular relative trajectory) a satellite is located. To compute these two angles, let \(C_p\) and \(C_d\) be any integers satisfying the equation, \(C_p \, N_p + C_d \, N_d = 1\). Then,

$$\begin{aligned} \left\{ \begin{array}{l} \varGamma _k = C_p \, \varDelta \varOmega _k - C_d \, \varDelta M_k \pmod {2\pi }\\ \\ \varLambda _k = N_p \, \varDelta \varOmega _k + N_d \, \varDelta M_k \pmod {2\pi } \end{array}\right. \end{aligned}$$
(12)

The angle \(\varGamma _k\in [0,2\pi )\) is called the Flower Mean Anomaly (Avendaño and Mortari 2012) and describes the position of the satellite in its relative trajectory. The angle \(\varLambda _k\in [0,2\pi )\) is called the Flower Nodal Angle and provides the rotation angle between the relative trajectories of the k-th satellite and of the first satellite. This means that the i-th and j-th satellites are in the same relative trajectory if and only if they have the same Flower Nodal Angle, \(\varLambda _i = \varLambda _j\).

6.1 Example

The algorithm on how to map the design parameters of the original FC into the 2-D lattice FC is provided here. The selected numerical example is the “Lone-Star” FC, characterized by \(N_p = 38,\,N_d = 23,\,F_n = 23,\,F_d = 77\), and \(F_h = 0\). The steps are the following:

  1. 1.

    The number of inertial orbits \(N_o=F_d=77\). Compute the number of satellites per orbit, \(N_{so}\). This is done by dividing the total number of satellites \(N_s=N_dF_d/\gcd (N_d, N_p F_n + F_d F_h)\) (see details in Sect. 2) by the number of orbits \(F_d\):

    $$\begin{aligned} N_{so} = \dfrac{N_s^{\max }}{F_d} = \dfrac{N_d}{\gcd (N_d, N_p F_n + F_d F_h)} = \dfrac{23}{\gcd (23, 874)} = 1. \end{aligned}$$
  2. 2.

    Solve the equation, \(E_n F_n + E_d F_d = 1\), and compute the condition number using Eq. (5). In our example

    $$\begin{aligned} E_n =-10, \quad E_d = 3, \quad \mathrm{and} \quad N_c = -10 \dfrac{874}{1} \mathrm{mod}\,{(77)} = 5 \end{aligned}$$
  3. 3.

    Using Eq. (10) check if the number of distinct relative trajectories, \(N_{rt}\), is equal to one (as required by the original FC theory). In our example

    $$\begin{aligned} N_{rt} = \gcd (N_o N_{so}, \, N_o N_d, \, N_c N_d) = \gcd (77, \, 1771, \, 115) = 1 \end{aligned}$$
  4. 4.

    Build the Hermite normal form

    $$\begin{aligned} H = \begin{bmatrix} N_o&\quad 0 \\ N_c&\quad N_{so}\end{bmatrix} = \begin{bmatrix} 77&\quad 0 \\ 5&\quad 1\end{bmatrix} \end{aligned}$$

7 The relative trajectory in different rotating frames

Assume the LFC has its design parameters already assigned, i.e. the lattice matrix \(L \in \mathbb Z ^{2\times 2}\), semimajor axis a, inclination i, eccentricity e, and argument of perigee \(\omega \) are given. In general, this constellation is not necessarily compatible with respect to the Earth, since \(T_p = 2\pi \sqrt{a^3/\mu }\) is not necessarily a rational multiple of a day. However, there are infinitely many rotating frames compatible with the constellation. Any of these rotating frames have a rotation period \(T_d = N_p \, T_p / N_d\) for some coprime integers pair, \(N_d\) and \(N_p\). In any of these rotating frames, all the satellites follow a closed relative trajectory. The total number of different relative trajectories, \(N_{rt}\), and the number of satellites in each of them, \(N_{sr}\), can still be computed using Eq. (10). The union of these trajectories, denoted \(X(L, a, e, i, \omega , N_d, N_p)\), is static in the rotating frame, but it rotates with angular velocity \(\omega _d = \dfrac{2\pi \, N_d}{N_p \, T_p}\) with respect to the inertial frame. All the satellites of this generic constellation lie at any time on the union of the relative trajectories, set \(X(L, a, e, i, \omega , N_d, N_p)\).

Under the above assumption, the number of relative apogees (or relative perigees) of the set \(X(N_d, N_p)\) is equal to \(N_p\). The collection of different sets \(X(N_d, N_p)\), each of them rotating with a different angular velocity, contain valuable information about the constellation. Any satellite in the constellation belongs simultaneously to all these rotating sets, so it is (theoretically) possible to recover the dynamics of all the satellites by intersecting these sets. To understand the difference between these sets, consider a lattice constellation with \(a = 25,000\) km, \(e = 0.5,\,i = \omega = 0\), and lattice and Hermite normal form matrices,

$$\begin{aligned} L = \begin{bmatrix} 69&\quad -5\\ -26&\quad 3\end{bmatrix}, \quad H = \begin{bmatrix} 77&\quad 0\\ 17&\quad 1\end{bmatrix}, \quad \mathrm{and} \quad \tilde{H} = \begin{bmatrix} 1&\quad 68\\ 0&\quad 77\end{bmatrix}. \end{aligned}$$

Figure 3 shows two relative trajectories of a 2-D lattice FC. These two relative trajectories are fixed in the rotating frames being considered. These two plots are meant to show that by looking from different rotating frames different satellite trajectories will be seen. Both these rotating frames are compatible (with different values of \(N_p\) and \(N_d\)) with the orbital period.

Fig. 3
figure 3

Example of compatible lattice FC: \(X(5, 8)\) on the left and \(X(1, 17)\) on the right

According to Eq. (10), this constellation has all the satellites in one single static closed trajectory in a rotating frame that completes a revolution in time \(T_d = 8 \, T_p/5\) with respect to the inertial frame. This trajectory is the set \(X(5, 8)\) that in the inertial frame completes a revolution in the same time as \(T_d\). Similarly, the set \(X(1, 17)\) consists of one single closed trajectory that completes a revolution in time \(17 \, T_p\) with respect to the inertial frame. The sets \(X(5, 8)\) and \(X(1, 17)\) at time \(t = 0\) are plotted in Fig. 3 (left and right, respectively). All the satellites of the constellation lie, simultaneously, on these two rotating sets at any time t. Whereas both sets accurately represent the constellation, the human eye more readily sees the path described by \(X(5, 8)\) when viewing the motion of the constellation in the inertial frame. Whether these visualizations are useful to the constellation designer, and how to compute the rotating set that best matches human intuition, remain open questions.

8 Walker delta patterns

This section shows that a LFC using circular orbits is mathematically equivalent to a Walker delta pattern (Walker 1971, 1977, 1978).

A delta pattern is a constellation of T satellites, with S satellites in each of P orbital planes, so that \(T = S \, P\); thus P and S may each equal any factor of T. Moreover, all the P orbital planes have the same inclination and are distributed uniformly in space. All the orbits are circular with the same radius, and the satellites within each orbit are evenly spaced. We will change this assumption and allow elliptic orbits with the same semi-major axis, eccentricity and argument of perigee. In this case, satellites evenly spaced in the orbit are located at evenly spaced mean anomalies. A phasing parameter F, an integer that may have any value from 1 to P, was also introduced to control the phasing of satellites from orbit to orbit. More precisely, if there is a satellite with mean anomaly M in one orbital plane, then in the next orbital plane there is a satellite with mean anomaly \(M + 2\pi F/T\). Assume that the orbital planes have an index of \(k = 1, \ldots , P\) and that the S satellites in each orbital plane have an index of \(l = 1, \ldots , S\). Then the location of the satellite \((k, l)\) in the \((\varOmega ,M)\)-space is given by \(\varOmega _{kl} = 2\pi k/P\) and \(M_{kl} = 2\pi l/S + 2\pi k F/T\). Note that this is exactly the same configuration that Algorithm 3 produces for \(h_{11} = P,\,h_{22} = S\) and \(h_{21} =-F\). This implies that when circular orbits are used, any Walker constellation can be regarded as a LFC by setting \(N_o = P,\,N_{so} = S\), and \(N_c = - F \mathrm{mod}{(P)}\), and that any LFC can be obtained as a Walker constellation by setting \(P = N_o,\,S = N_{so}\), and \(F = - N_c \mathrm{mod}{(N_o)}\).

In Walker (1971, 1978), also gave a simple formula for the number of ground tracks, assuming that a satellite completes L orbital periods in M revolutions of the Earth. If \(G = S L + F M\) and \(J = \gcd (S, M)\), then the number of ground tracks is \(T/\gcd (G, P J)\). It is also possible to derive this formula using the theory of LFCs. In fact, for a constellation with lattice matrix \(l_{11} = P,\,l_{12} = 0,\,l_{21} =-F\), and \(l_{22} = S\), and resonant parameters \(N_d = M\) and \(N_p = L\), Eq. (10) gives

$$\begin{aligned} N_{sr} = \gcd (PS, P M, F M + S L) = \gcd (P \gcd (S, M), F M + S L) = \gcd (P J, G) \end{aligned}$$

and therefore \(N_{rt} = T/N_{sr} = T/\gcd (G, P J)\).

9 Conclusions

The original Flower Constellations theory was developed to take advantage of having all satellites on the same trajectory on a rotating frame (e.g., Earth-Centered Earth-Fixed). Subsequent analysis showed the existence of a subset of this original constellation set that provided uniformly distributed constellations, dubbed HFCs.

This paper has reformulated the HFCs into a new framework—the LFCs—and proven that LFCs describe all HFCs as well as some other uniform constellations not found in the original HFC framework. Opposite to HFC, the LFCs theory is described by a minimum number of design parameters. While the HFC framework uses compatible orbits (from which the satellite phasing is derived), the LFC framework directly provides the satellite phasing while the orbit compatibility becomes optional. This allows designing LFCs with non-repeating ground-tracks or with multiple, independent, repeating ground-tracks. This new framework is also demonstrated mathematically equivalent to the Walker constellations when circular orbits are used.

The mathematical formalism of the LFCs provides a solid basis for further expanding on the Flower and Walker constellations as researchers seek newer, better methods for optimal constellation design.