Professional Documents
Culture Documents
Real-Time Star Identification Using Synthetic Radial Pattern and Its Hardware Implementation
Real-Time Star Identification Using Synthetic Radial Pattern and Its Hardware Implementation
Acta Astronautica
journal homepage: www.elsevier.com/locate/aa
crossmark
Real-time star identication using synthetic radial pattern and its hardware
implementation
A R T I C L E I N F O
A BS T RAC T
Keywords:
Star identication
Star sensor
Radial pattern
Hardware implementation
Star identication algorithm has always been the core strategy of star sensors. For the time being, the
identication speed is becoming the bottleneck of satisfying real-time requirements (e.g. high-speed
maneuvering applications, power breakdown and so on) on the premise of the robustness. To solve this
problem, this paper proposes a novel lost-in-space star identication algorithm based on the synthetic radial
pattern, which is dedicated to the pipelined parallel architecture of FPGAs (Field Programmable Gate Arrays).
The synthetic radial pattern consists of two single radial patterns connected by their two respective polestars. In
the algorithm, the polestar-pair is rstly matched and optimum identication results can be obtained after the
follow-up radial pattern ltering. Then, the number of spurious matches can be reduced to a much less level and
a mathematical model is also developed to demonstrate the eciency compared with conventional radial
algorithms. Simulations show that the approach is very robust towards various noise conditions and the
quantied identication time is less than 1 ms at a low resource cost when it is implemented on FPGA
platforms.
1. Introduction
Autonomous attitude determination devices have rapidly developed
in the past decades as an accurate and fast attitude is more and more
essentially required by almost all ying vehicles. Among many types of
attitude measurement sensors including sun sensors, geo-magnetometers, gyroscopes and star sensors, novel star sensors are the most
accurate and characterized by a high degree of autonomy and fast fault
recovery capability. The autonomous attitude determination process
for a star sensor involves capturing a star image from a star camera,
extraction of the brightness and centroid location of stars from the
image, identication of sensor stars and the nal attitude calculation
[1]. As more and more high-speed maneuvering applications like space
weapons and near space vehicles work at an angular velocity over 10/
s, or a sudden power breakdown, a correct real-time attitude updated
in several milliseconds is more and more essentially needed. This
situation can be dened as a lost-in-space problem where the prior
attitude is nearly unknown. In addition to excellent image sensors, the
typical diculty to solve such problems lies in a highly robust and
ecient full-sky star identication algorithm inside a high-dynamic
star sensor. So, implementing an even faster identication strategy on
the premise of good robustness is a worthy challenge in our study.
Many full-sky autonomous algorithms have been proposed to solve
Corresponding author.
E-mail address: wxg@buaa.edu.cn (X. Wei).
http://dx.doi.org/10.1016/j.actaastro.2016.11.015
Received 4 July 2016; Accepted 6 November 2016
Available online 14 November 2016
0094-5765/ 2016 IAA. Published by Elsevier Ltd. All rights reserved.
the lost-in-space problem [2] and the great majority of them can be
partitioned into two classes [3]. The rst tends to approach star
identication as a subgraph isomorphism. It uses angle separations
or polygons to structure its database. These algorithms include triangle
algorithms [4,5], pyramid algorithm [6], geometric voting algorithm
[7] and iterative algorithm [8]. Typically, two types of angle separation
database lookup methods, the star pair table method [9] and k-vector
approach [10], were proposed and a comparison was also carried out in
[9]. The second class tends to approach this problem as a sort of
pattern recognition. Each star is associated with a unique pattern by
analyzing its geometric distribution in the neighborhood. And then a
match can be achieved by nding the closest pattern in the catalog. The
most representative one is the grid algorithm [11]. Later, the radialpattern-based algorithms, like the polestar algorithm [12], radial and
cyclic features algorithm [3] and log-polar transform strategy in [13].
Compared with the grid algorithm, the radial-pattern-based algorithms
are more accurate to t more situations. Considering the FOV size and
robustness towards sensor measurements, the two kinds of approaches
have their own properties and a detailed comparison was carried out in
[14].
These algorithms are mostly implemented on fast processors like
DSP and ARM. Codes can be easily written and optimized but
complicated and sequential logic operations limit the execution speed.
Y. Zhao et al.
PL
dr
L(m)
np(m)
f(m)
Nomenclature
B
onboard guide star catalog
P
star pair catalog
R
star radial pattern catalog
NC
number of onboard catalog stars in B
NS
number of stars in pattern
s, c
sensor star, catalog star
spat, cpat sensor stars and catalog stars radial pattern
score
similarity between spat and cpat
PR
pattern radius
star interferences. (Binary stars are two stars that seem to be close in
the direction of line-of-sight, and their spots are too close for the
centroid resolution to resolve them separately on the focal plane). A bit
vector cpat(1, m, , PL) of length PL (pattern length) is derived for
the catalog stars pattern. In the vector, there is 1 on bit m if the angle
separation between the pivot and a neighbor satises the equation
m=ceil(/), and other bits are 0. Typically, let PR be FOV, then PL
equals to ceil(FOV/) consequently. (ceil(x) rounds x to the nearest
integer not less than x).
Sensor star radial pattern vectors by spat(1mPL) are derived
for a sensor star s similarly. To identify a sensor star, the idea is to
perform a logic AND operation between cpatI and spati representing
the catalog star cI and the sensor star si respectively, then count the
number of 1. Supposing that there are NC catalog stars in total and
NS sensor stars in a radial pattern, this match is formally given as
PL
score (I , i ) =
NS
(cpatI &spati )t =
t =1
k =1, k i
cpatI (mik )
(1)
where I=1, 2, , NC, i=1, 2, , NS and mik indicates the k-th discrete
angle separation originated from si. The result written score(I, i)
represents the similarity between cI and si. It is obvious that the
catalog star which has the highest score is most likely to be the correct
correspondence.
For matching eciency and memory savings, the two cited radial
algorithms [3,12] use a lookup table (LT) to realize the match. The LT
has PL entries each of which corresponds to a strip in the radial
pattern. The m-th entry contains all catalog stars indices whose m-th
bit in the radial vector is 1. That is, if cpatI(m)=1, cI is added to the mth entry LT.m. We denote the number of dierent stars in the entry
LT.m by L(m). It is known that L(m) is proportional to m and the
greater is, the greater L(m) will be. In the light of LT, Eq. (1) can be
calculated as: in terms of score(I, i) associated with si, it is added by 1
only if cI is found in the mik-th entry.
2.1.2. Disadvantages
In the case of star identication, an angle separation inside a sensor
star pair cannot be precisely obtained due to sensor measurement
errors. Given a sensor star si to be identied and one of its measured
2. Preliminaries
We rst give an overview and some discussions of the conventional
radial-pattern-based algorithms. Then, to analyze the identication
eciency towards various noise conditions, we develop a mathematical
model, with which the identication idea using a synthetic radial
pattern is formulated.
2.1. Overview of conventional radial algorithm
2.1.1. Radial pattern generation and match method
As reliable as the raw angle separation feature, the radial pattern is
rational-invariant and can only be determined by the distribution of its
neighborhood.
Given the pattern radius PR and the discrete ring strip interval ,
the radial pattern is generated for the catalog polestar c as shown in
Fig. 1. The parameter dr is dened for the consideration of the binary
Fig. 1. Radial pattern generation scheme. The m-th bit is set to 1 only if a neighbor
exists in the m-th strip.
Y. Zhao et al.
angle separations ik and its uncertainty , any catalog star which owns
an angle separation in the segment (ik, ik+) should be remained
as a correspondence. That is, the pattern bits from mikstart to mikend in
cpat should be taken into consideration using Eq. (1). mikstart and mikend
are given as
m start = ceil ( ik )
ik
mikend = ceil ( ik + )
NS
(5)
(2)
N (mi , , NS ) NC
l=
C (NS 1, l )
n =1
NS 1
f (mikn )
kn =1
[1 f (mikn )]]}
kn = l +1
(6)
NS
f (mik )
k =1, k i
score (I , i ) =
N (mi , NS 1, NS ) = NC
k =1, k i
(3)
f (mik ) =
(4)
Hence, for a NS stars radial pattern around si, the analytical number of
candidate pairings for si that matches all NS1 angle separations
mi = {mik |k [1, NS ], k i} is expressed as
Fig. 2. Synthetic radial pattern from the synthesis of two single radial patterns.
Y. Zhao et al.
Table 1
Star sensor configurations.
Table 3
Star pair table.
20482048 pixels
(1024, 1024) pixels
44.39 mm
14.514.5
6.0Mv
Table 2
Number of candidate pairings using different patterns (NS=10, =6).
Pattern types
Analytical results
Simulation results
110.6
119.1
6.2
8.3
N (m1, 1, NS ) np (m12 )
]
NC
NC (NC 1)
N (m2 , 1, NS )
[(NC 1)
]
NC
2
NS 1
{
i =1
C (NS 2, l 1)
l=
n =1
l 1
kn = l
[1 f (mikn )]]]}
Star pairs
FOV/
(m1)
FOVFOV
3. Algorithm description
f (mikn )
kn =1
NS 2
Angle separations ()
N (m1, m2 , , NS ) [NC
np (m12 )
Group index
(7)
where the value (1) is because the pair m12 has been matched
leaving (1) pairs to be matched. The value of (NC1) in the third
multiplier is due to the fact that a catalog star that has matched s1 must
be excluded.
To observe the implications of the proposed model, consider the
following typical values: NC=3737 and =0.03. As the positional noise
is deviated by 60 and the magnitude noise is 0.5Mv, and NS are set
to 6 and 10 for a higher identication rate of nearly 100% when the rst
one or two sensor star pairs are taken as polestars. The sensor
congurations in this paper are listed in Table 1. Then, a comparison
between analytical results and simulated results using both a single
radial pattern and a synthetic radial pattern are shown in Table 2.
Results are acquired under 500 random sensor orientations. We are
mainly interested in whether correct pairings are included in the
candidate sets; if so, a simulation is recorded as a successful identication. It can be seen that two kinds of results match moderately well. In
practice, the error rates are always lower than 3% with dierent values
of and NS. Considering the range of the results and partial overlapping star elds where some stars are re-identied, the model is
adequate for a generalized analysis. Especially, error rates and residuals are much smaller as is closer to NS.
Some conclusions can be drawn from above developments. First,
compare Eq. (6) with Eq. (7), it indicates that plenty of spurious
matches can be ltered through a pair match verication and the
number goes down by at least an order of np(m12)/NC (typically 0.1 at
least) once a sensor pair is veried. That is, the number of spurious
matches can be initially decreased by a smaller np(m12) to reach a
faster convergent speed, which corresponds to a smaller angle separation between s1 and s2. Moreover, it can be predicted that the number
of spurious matches must be close to zero if up to two connected
synthetic radial patterns nds true pairings, meaning that a unique and
correct identication is made. Also, that order is related to the
predened values of NS and . The smaller dierence between them,
the less redundant matches are left.
Second, from Table 2, it is known that mean simulated results are
119.1 and 8.3 respectively using the single radial pattern and the
synthetic radial pattern. However, to acquire these 8.3 optimum
pairings, up to 119.1^2 calculations and comparisons of angle separations must be processed in the verication of the polestar algorithm. It
makes the whole identication very time-consuming. In contrast, the
Y. Zhao et al.
score (I , 1) ,
score (J , 2) .
(8)
score (I , 2) ,
score (J , 1) .
(9)
(10)
Verication
1
2
3
4
5
271
278
129
288
(s1, s2): (128, 278), (271, 278)
No match for (s1, s3)
No match for (s2, s3)
(s1, s4): (3503, 3650), (271, 129)
(c278, c129) = 4.6791, (s2, s4 ) = 4.6915, (c278, c129) (s2, s4 ) = 0.0124
7
282
8
277
9
125
10
286
Y. Zhao et al.
brighter stars to be lost in the image. Fig. 5 shows how the identication rate and time change as the brightness accuracy decreases with
position errors deviated by 60. As shown, identication rates and time
of our algorithm keep unchanged above 99.8% and 9.2 ms respectively
as the brightness error increases to 0.5Mv. There is an obvious increase
of the identication time when the brightness error was more than
0.5Mv. It is mainly because the algorithm needs more iterative sensor
pairs as more and more stars which are not included in the catalog are
also imaged. In fact, about 19 unexpected stars on average are imaged
at 1Mv brightness error. The proposed method still shows moderate
robustness towards such conditions and the time cost is acceptable.
3.3.3. Performances towards false stars
The acquired image can contain false stars. In this test, the position
error and brightness error were maintained at 60 and 0.4Mv
respectively. We added 1 or 2 false stars with dierent brightness.
Fig. 6 shows how identication rate and time change with respect to
false stars. Obviously, 1 imaged false star nearly has no inuences on
the identication rate regardless of its brightness. On the contrary, the
algorithm needs more time to deal with 2 imaged false stars cases to
achieve a higher identication rate over 96.62%. Obviously, brighter
false sensor stars are more likely to be used in the star-pair matching
phase and if we test more sensor pairs, the identication rate will be
further improved.
4.1. Components
4.1.1. Star-pair matching component
The centroid results of brighter image spots are taken as inputs of
the angle separation calculation module to obtain discrete angle
results. Actually, the angle separation module serves as an address
generator. As soon as the calculation is completed, m12 is taken as the
group index for P stored in the external RAM #1. From these groups
that start with a pair (I0, J0), catalog pairs (I0, J0), (I1, J1), (I2, J2),
are written into the FIFO subsequently. The FIFO data cache as well as
the FIFO controller is implemented for the consideration of the
asynchronous clock between RAM #1 and the internal component.
The FIFO doesnt need to be deep because it is read nearly immediately
as soon as it becomes non-empty.
Y. Zhao et al.
Y. Zhao et al.
Table 5
Identification time of different implementations.
Algorithm
Platform
Polestar algorithm
Modied triangle algorithm
The proposed algorithm
The proposed algorithm
PC
PC
PC
FPGA
85.28
16.51
9.52
0.48
5. Conclusion
ALMs, 156,373/4,567,040 ( < 4%) block memory bits and 16/150
(11%) DSP Blocks are primarily needed. There should be 60% memory
block resources available when the table R is also included. Apparently,
the proposed algorithm requires suciently small hardware resources.
No complicated calculations are involved and intermediate data hardly
take space as the whole process is pipelined. Such stability and
eciency is due to the proposed parallel architecture.
4.4. Comparison
Since the modied triangle algorithm [5] has been commonly and
successfully veried in space missions and similarities exist between
our algorithm and the polestar algorithm, there is a comparison among
them on dierent platforms, PC and FPGA. They were applied to
identify 500 randomly simulated star images. The maximum error of
the angular distance between a measured star pair and their corresponding catalog pair was 30 and the magnitude error was 0.3Mv. All
images were correctly identied by either method or platform. Time
costs for each kind of implementation are shown in Table 5. It indicates
that the polestar algorithm is very time-consuming and the modied
triangle algorithm also needs 16.51 ms. In contrast, each image costs
about 9.52 ms on average of our algorithm. Moreover, the time cost is
0.48 ms on average and the speedup is close to 20 when our method is
implemented on FPGA. The maximum and the minimum time cost are
0.72 ms and 0.21 ms respectively. Commonly, the time cost will not
exceed 1 ms.
We have also considered about translating the polestar algorithm or
the modied triangle algorithm into hardware descriptions but met
obvious obstacles. That is, the verication scheme of the polestar
algorithm is not easy to implement. If we choose to remain such
candidates, each of whom gets a similarity score above 6, there are
often over 100 candidates for each polestar. Faster verication
strategies can be found in [8,19], where the star-pair table and the
neighboring star table are applied respectively. Neither the time cost
nor the resource cost, if it is implemented in FPGA, will be better than
that in fast sequential processors. In terms of the triangle algorithm, it
is not appropriate because parallel modules cannot be extracted.
Acknowledgements
This work is in part supported by the National Natural Science
Y. Zhao et al.
Table 6
Identification result of six brightest stars.
Sensor star index
1
2
3
4
5
6
a
1535.768
1261.621
617.257
1874.411
1195.424
1667.022
900.979
1001.902
1918.648
719.263
382.706
928.215
Declination (deg)
9113
5016
3345
1619
1318
1078
1810
1524
1525
1815
1808
1812
297.8521
296.5650
296.8470
298.8283
293.5224
298.5619
8.8684
10.6133
18.5343
6.4068
7.3789
8.4614
0.9
2.8
3.8
3.9
4.6
4.9