A Fast Star Identiﬁcation Algorithm of Star Sensors in the LIS Mode

: In the South Atlantic Anomaly (SAA) area, due to the inﬂuence of transient noise caused by space radiation, a star sensor can easily stay in the lost-in-space (LIS) mode for a long time. To solve this problem, this paper proposes a fast star identiﬁcation (FSI) algorithm. First, a noise suppression method based on scale assessment and neighborhood comparison is developed. Next, a fast and accurate search technique of multiple main stars based on the k-vector technique is used to realize star identiﬁcation. The search technique builds a self-deﬁned attribute database of stars, and a fast search method of a repeated star identity is proposed to realize the positioning of the main star. Lastly, the ﬁnal main stars are obtained through the comparison of ﬁeld of view and veriﬁcation of angular distance. The experimental results showed that when the star sensor works at a speed of 0.1 ◦ /s and the level of transient noise signals is lower than 900, the successful identiﬁcation rate is higher than 70%. In addition, compared with the triangle algorithm, match group algorithm, and multi-pole algorithm (MPA), the proposed FSI algorithm has the advantages of a higher successful identiﬁcation rate and a faster execution speed.


Introduction
A star sensor is a high-precision attitude measurement device [1]. However, when a star sensor works on a satellite, it is susceptible to the influence of space radiation [2,3]. In general, the space radiation will reduce the signal-to-noise ratio of star image and cause single event upsets on the digital circuit. For example, the Galileo Avionica company have faced the problem in several missions and the space radiation affected the normal working of star sensors. The South Atlantic Anomaly (SAA) [4,5] area is a well-known radiation area, and when a star sensor enters this area, space radiation causes a transient effect [6] to imaging devices (e.g., CMOS detectors). The transient effect means that when energetic particles enter into the sensitive layer of an imaging device, the energy is absorbed, and an electron-hole pair is produced, so that transient noise is generated in a detector. Depending on the incident direction of the energetic particles, the transient noise can appear in different forms on a CMOS detector. For instance, the more vertical the incident angle, the closer the noise shape is to the star; the more inclined the incident angle, the longer the trailing is of noise.
As shown in Figure 1, transient noise can have different shapes. In the SAA area, transient noise has the characteristics of randomness and transience [7]. The appearance of transient noise brings many difficulties to star identification by a star sensor. In the SAA area, a star sensor can easily stay in the lost-in-space (LIS) [8] mode for a long time, and it may be difficult to enter the tracking mode because the effective attitude cannot be The classic star identification algorithms include the triangle [9,10], grid [11,12], match group [13,14], singular value decomposition [15], and neural network algorithms [16,17]. Among them, the triangle algorithm has been one of the earliest and most widespread star identification algorithms. However, due to the limitation on feature dimension, good redundancy matching has always been a severe defect of the triangle algorithm. Compared with the triangle algorithm, the grid algorithm is faster and less sensitive to deviations, but its identification algorithm strongly relies on the number of observed stars and has higher requirements on the angle of view and detection ability. The match group algorithm has been one of the most widely used identification algorithms in recent years. However, due to the unfixed size of a match group, it can use only the angular distance as a basic parameter, and the deviation of angular distance can easily affect the result of identification, which can cause uncertainty in the identification process. In the singular value decomposition algorithm, the selection of a matching threshold has a great influence on the identification success rate because the invariants of the recognition feature differ slightly between different modes. The neural network algorithm usually requires retraining when the star sensor works on orbit. Therefore, it requires a larger memory and requires more time than other algorithms. The abovementioned identification algorithms can achieve a high identification success rate in the case of less transient noise. In recent years, a number of methods have been proposed to improve the star identification algorithms' performances in the presence of vast transient noise. Kolomenkin [18] proposed a geometric voting algorithm that can achieve a high star identification rate when the number of false objects is up to three times the number of cataloged stars. Schiattarella [19] proposed a novel three-step algorithm, named the multi-poles algorithm (MPA), which can realize star identification when the number of false objects is up to six times the number of cataloged stars. However, in a harsh environment, such as the SAA area, with the emergence of a large amount of transient noise, the occurrence of false identification increases. The algorithms mentioned above cannot guarantee effective star identification when they encounter a large amount of transient noise, and some of them require considerable time for the identification process.
In this paper, a fast star identification (FSI) algorithm is proposed. The proposed FSI algorithm increases a star sensor's performance under the interference of transient noises.
The main innovations of the FSI algorithm can be summarized as follows. First, based on the scale assessment and neighborhood comparison, the noise suppression method is proposed to eliminate the transient noise. This method removes the line-like noise using the scale information and the star-like noise by comparing the position and energy The classic star identification algorithms include the triangle [9,10], grid [11,12], match group [13,14], singular value decomposition [15], and neural network algorithms [16,17]. Among them, the triangle algorithm has been one of the earliest and most widespread star identification algorithms. However, due to the limitation on feature dimension, good redundancy matching has always been a severe defect of the triangle algorithm. Compared with the triangle algorithm, the grid algorithm is faster and less sensitive to deviations, but its identification algorithm strongly relies on the number of observed stars and has higher requirements on the angle of view and detection ability. The match group algorithm has been one of the most widely used identification algorithms in recent years. However, due to the unfixed size of a match group, it can use only the angular distance as a basic parameter, and the deviation of angular distance can easily affect the result of identification, which can cause uncertainty in the identification process. In the singular value decomposition algorithm, the selection of a matching threshold has a great influence on the identification success rate because the invariants of the recognition feature differ slightly between different modes. The neural network algorithm usually requires retraining when the star sensor works on orbit. Therefore, it requires a larger memory and requires more time than other algorithms. The above-mentioned identification algorithms can achieve a high identification success rate in the case of less transient noise. In recent years, a number of methods have been proposed to improve the star identification algorithms' performances in the presence of vast transient noise. Kolomenkin [18] proposed a geometric voting algorithm that can achieve a high star identification rate when the number of false objects is up to three times the number of cataloged stars. Schiattarella [19] proposed a novel three-step algorithm, named the multi-poles algorithm (MPA), which can realize star identification when the number of false objects is up to six times the number of cataloged stars. However, in a harsh environment, such as the SAA area, with the emergence of a large amount of transient noise, the occurrence of false identification increases. The algorithms mentioned above cannot guarantee effective star identification when they encounter a large amount of transient noise, and some of them require considerable time for the identification process.
In this paper, a fast star identification (FSI) algorithm is proposed. The proposed FSI algorithm increases a star sensor's performance under the interference of transient noises.
The main innovations of the FSI algorithm can be summarized as follows. First, based on the scale assessment and neighborhood comparison, the noise suppression method is proposed to eliminate the transient noise. This method removes the line-like noise using the scale information and the star-like noise by comparing the position and energy information of adjacent star points in different frames. It also realizes the initial suppression of transient noises. Second, based on the k-vector [20]  the new search technique, the analysis of repeated star identity is performed to obtain the position of the main stars instead of using the traditional angular distance match method. For this reason, a self-defined star attribute database [21,22] was constructed. In addition, based on the address index, a fast search method of repeated star identity in the star pairs is also proposed. The fast search method and the k-vector technique can accelerate the execution speed of the algorithm. The final main stars are determined by double screening, including the comparison of the field of view and the verification of angular distance. The experimental results showed that the proposed FSI algorithm can improve the identification ability of a star sensor under the influence of transient noise in the SAA area. Moreover, compared with the triangle algorithm, match group algorithm, and multi-pole (MPA) algorithm, the FSI algorithm has a higher successful identification rate and faster execution speed under the same level of noise. Accordingly, the proposed FSI algorithm has a great application value in the engineering field.
The remainder of this paper is organized as follows: Section 2 introduces the proposed FSI algorithm; Section 3 presents the experimental results; Section 4 discusses the results; Section 5 concludes the paper and presents future directions for work.

FSI Algorithm
The block diagram of the proposed FSI algorithm is displayed in Figure 2. As shown in Figure 2, the first step in the FSI algorithm is noise suppression, and the second step is the multi-main-star search. The two steps are described in detail in the following. information of adjacent star points in different frames. It also realizes the initial suppression of transient noises. Second, based on the k-vector [20] technique, the proposed FSI algorithm uses a new search technique of multiple main stars to complete the final star identification. In the new search technique, the analysis of repeated star identity is performed to obtain the position of the main stars instead of using the traditional angular distance match method. For this reason, a self-defined star attribute database [21,22] was constructed. In addition, based on the address index, a fast search method of repeated star identity in the star pairs is also proposed. The fast search method and the k-vector technique can accelerate the execution speed of the algorithm. The final main stars are determined by double screening, including the comparison of the field of view and the verification of angular distance. The experimental results showed that the proposed FSI algorithm can improve the identification ability of a star sensor under the influence of transient noise in the SAA area. Moreover, compared with the triangle algorithm, match group algorithm, and multi-pole (MPA) algorithm, the FSI algorithm has a higher successful identification rate and faster execution speed under the same level of noise. Accordingly, the proposed FSI algorithm has a great application value in the engineering field. The remainder of this paper is organized as follows: Section 2 introduces the proposed FSI algorithm; Section 3 presents the experimental results; Section 4 discusses the results; Section 5 concludes the paper and presents future directions for work.

FSI Algorithm
The block diagram of the proposed FSI algorithm is displayed in Figure 2. As shown in Figure 2, the first step in the FSI algorithm is noise suppression, and the second step is the multi-main-star search. The two steps are described in detail in the following.

Noise Suppression
When a star sensor enters the SAA area, due to the influence of space radiation, a large number of energetic particles will enter into the surface of a detector, thus introducing much transient noise. The transient noise can have different shapes, including star shape and oblique-line shape. If the transient noise is not suppressed timely, the successful identification rate can decrease due to the noise influence. Moreover, a star sensor may stay in the LIS mode for a long time. Therefore, to address this problem, this paper proposes a noise suppression method. The noise suppression method can be mainly divided into two steps: scale assessment and neighborhood comparison.

Scale Assessment
The transient noise caused by space radiation can be expressed as follows:

Noise Suppression
When a star sensor enters the SAA area, due to the influence of space radiation, a large number of energetic particles will enter into the surface of a detector, thus introducing much transient noise. The transient noise can have different shapes, including star shape and oblique-line shape. If the transient noise is not suppressed timely, the successful identification rate can decrease due to the noise influence. Moreover, a star sensor may stay in the LIS mode for a long time. Therefore, to address this problem, this paper proposes a noise suppression method. The noise suppression method can be mainly divided into two steps: scale assessment and neighborhood comparison.

Scale Assessment
The transient noise I noise caused by space radiation can be expressed as follows: where I p represents the noise similar to the star, and I l represents the noise similar to the oblique line. The scale assessment is mainly aimed at eliminating the noise I l . The clustering method is used to calculate the target scale and eliminate the noise I l in a single image. After clustering targets in a single image, the scale information can be obtained.
Assume that the leftmost and rightmost pixel coordinates of a target are (x l , y l ), and (x r , y r ), respectively. Then, the scale information of the target in two vertical directions can be expressed as follows: If D x > 10 or D y > 10, the target can be regarded as noise and eliminated directly; otherwise, the target can be retained for the moment. Therefore, through the scale assessment of a single image, the part of transient noise with an abnormal scale can be removed.

Neighborhood Comparison
The shape of transient noise I p is similar to a star, and I p cannot be removed by the scale assessment. Considering that transient noise is generally difficult to maintain for a frame time, in this study, the positions of remaining objects in adjacent frames after the scale assessment are compared. Assume that F i−1 represents the image in frame (i − 1), and F i represents the image in frame i. Then, the suspicious star at the position (x 0 , y 0 ) meets the condition of F i (x 0 , y 0 ) = 1.
The movement distance of the star between adjacent image frames is up to n pixels, where n is defined by the motion speed, exposure time, and frame frequency. When F i (x 0 , y 0 ) = 1, it is judged whether F i−1 (x 0 + dx, y 0 + dy) is equal to one or not, where −n ≤ dx, dy ≤ n. In addition to the judgment on the location factor, it is also necessary to calculate the difference between Sum i−1 and Sum i , where Sum i−1 and Sum i represent the energy accumulations of the previous and current suspected stars, respectively. If where T e is the energy difference threshold, then it can be regarded as a star; otherwise, it is regarded as noise and removed accordingly.
Through the scale assessment and neighborhood comparison, the majority of the transient noise with isolated positions or special shapes can be removed. As shown in Figure 3, the position of noise is random in adjacent frames. If the star extraction is conducted in a single frame without noise suppression, the position of transient noise will be regarded as a real star position. However, by applying noise suppression, the majority of the transient noise can be filtered out. From Figure 3c, it can be seen that the position of the extracted star is accurate. This indicates that the noise suppression method is beneficial to the subsequent search of the main star.

Multi-Main-Star Search Technique
The multi-main-star search technique is used to realize the positioning of the main star. In this technique, the analysis of repeated star identity is proposed to obtain the position of the main stars instead of using the traditional angular distance match method. The k-vector technique is mainly used to establish function k(x), which provides a rapid search of the self-defined star attribute database. In addition, a fast and effective search method of the repeated star identity is developed. The k-vector technique and the search method of repeated star identity are beneficial to improving the execution speed of the FSI algorithm. Lastly, the final main stars are determined through the comparison of the field of view and the coordinate system. The multi-main-star search technique includes the search strategy of the star attribute database and the search process of the multiple main stars. Remote Sens. 2022, 14, x 5 of 20

Multi-Main-Star Search Technique
The multi-main-star search technique is used to realize the positioning of the main star. In this technique, the analysis of repeated star identity is proposed to obtain the position of the main stars instead of using the traditional angular distance match method. The k-vector technique is mainly used to establish function ( ), which provides a rapid search of the self-defined star attribute database. In addition, a fast and effective search method of the repeated star identity is developed. The k-vector technique and the search method of repeated star identity are beneficial to improving the execution speed of the FSI algorithm. Lastly, the final main stars are determined through the comparison of the field of view and the coordinate system. The multi-main-star search technique includes the search strategy of the star attribute database and the search process of the multiple main stars.

Search Strategy of Star Attribute Database
As shown in Figure 4, 2324 selected stars are distributed in a celestial sphere. The number of stars is determined based on the field of view and requirements for detection ability. Based on the selected stars, a self-defined star attribute database is constructed. The star attribute database is shown in Table 1, where there are three columns of attribute information in the self-defined star attribute database. Each row in the star attribute database refers to a pair of stars. The angular distance between two stars is , where ≤ ≤ ≤ ⋯ ≤ . The identities of the two stars are and , which satisfy the angular distance . The right ascension and declination of the star identity or can be searched in the search table of the right ascension and declination, and the search table is constructed by the star identity and right ascension and declination. The search table is usually stored in the memory.

Search Strategy of Star Attribute Database
As shown in Figure 4, 2324 selected stars are distributed in a celestial sphere. The number of stars is determined based on the field of view and requirements for detection ability. Based on the selected stars, a self-defined star attribute database is constructed. The star attribute database is shown in Table 1, where there are three columns of attribute information in the self-defined star attribute database. Each row in the star attribute database refers to a pair of stars. The angular distance between two stars is A n , where The identities of the two stars are X n and Y n , which satisfy the angular distance A n . The right ascension RA n and declination DE n of the star identity X n or Y n can be searched in the search table of the right ascension and declination, and the search table is constructed by the star identity and right ascension and declination. The search table is usually stored in the memory.

Angular Distance Star Identity Star Identity
The angular distance A n in the star attribute database is shown in Figure 5, where the straight line y(x) is drawn according to the angular distance, and can be expressed as follows: where A max and A min denote the maximum and minimum angular distances in the star attribute database, respectively; n is the number of angular distances, and n = 39, 233.

… … …
The angular distance in the star attribute database is shown in Figure 5, where the straight line ( ) is drawn according to the angular distance, and can be expressed as follows: where and denote the maximum and minimum angular distances in the star attribute database, respectively; is the number of angular distances, and = 39,233. According to the angular distance A n and y(x), the k-vector function k(x) can be defined. The construction of k(x) can be expressed as follows. First, as shown in Figure 5 and Table 1, the angular distance A n is arranged in ascending order. The angular distance in the j-th row of the star attribute database can be named A j . Second, the angular distance A j can be set as the value of y(x), and we can calculate the x value according to the function y(x). Therefore, one j can correspond to one x. Third, combining the j and x, which correspond to the angular distances in the star attribute database, we can construct the k-vector function k(x).
The k-vector function k(x) is used as an index in the star attribute database, which is beneficial in obtaining rapidly the position of the angular distance in the star attribute database. The k-vector function is defined by: where x is the index, and j is the number of rows in the star attribute database. The curve of the k-vector function k(x) is shown in Figure 6. The k-vector function k(x) is used to find rapidly the corresponding star pairs of angular distance A n in the star attribute database.
where is the index, and is the number of rows in the star attribute database. The curve of the k-vector function ( ) is shown in Figure 6. The k-vector function ( ) is used to find rapidly the corresponding star pairs of angular distance in the star attribute database. The specific steps of the search strategy of the corresponding star pairs are as follows: (1). Calculate the angular distance between star and star in the measuring coordinate system; (2). Calculate the k-index value = . Since is usually not an integer, calculate the neighboring integers as follows: where is the first integer number less than x, and is the first integer number larger than ; (3). Substitute the k-index values and into the k-vector function ( ) and obtain the row numbers and in the star attribute database as follows: The specific steps of the search strategy of the corresponding star pairs are as follows: (1). Calculate the angular distance A ij between star X i and star Y j in the measuring coordinate system; a . Since x is usually not an integer, calculate the neighboring integers as follows: where x d is the first integer number less than x, and x u is the first integer number larger than x; (3). Substitute the k-index values x d and x u into the k-vector function k(x) and obtain the row numbers j d and j u in the star attribute database as follows: (4). Consider the deviation of angular distance A ij and set the row numbers j d and j u as the center number, respectively; calculate the offset numbers (j d − 1), (j d + 1), (j u -1), and (j u + 1). Therefore, the corresponding star pairs in these six-row numbers of the star attribute database are obtained.

Multi-Main-Star Search Method
The process of multi-main-star search can be mainly divided into three steps. The first step is to obtain the statistics data on the repeated star identity, which is used to count the repeated number of star identities in the star pair, corresponding to the angular distance, and realize the primary positioning of the main star. The second step is the analysis of the field of view, which is used to eliminate stars that are out of the field. The third step is angular distance verification, which compares the angular distance in the measuring coordinate system with that in the inertial coordinate system. The three steps are described in the following.
Step 1: Statistics analysis of repeated star identity. As shown in Figure 7, first, N brightest stars are selected as candidate stars from the remaining stars after the noise suppression; in Figure 7, N = 10. analysis of the field of view, which is used to eliminate stars that are out of the field. The third step is angular distance verification, which compares the angular distance in the measuring coordinate system with that in the inertial coordinate system. The three steps are described in the following.
Step 1: Statistics analysis of repeated star identity.
As shown in Figure 7, first, brightest stars are selected as candidate stars from the remaining stars after the noise suppression; in Figure 7, = 10. Then, star 1 is selected as the main star, and the angular distance between 1 and other stars is calculated by: where, where ( , ) indicates the coordinates of star 1; ( , ) denotes the coordinates of star ; ( , ) represents the coordinates of the intersection point between the optical center and the detector; is the pixel size of the detector; is the focal length of the detector; ∈ (2,3,4,5, 6,7,8,9,10).
Next, the k-vector technique is used to search the corresponding star pairs in the star attribute database. This process has been described in the search strategy of the star attribute database. In Table 2, the star pairs corresponding to star 1 are displayed. Considering the possibility of repeated row number, the number of star pairs for each angular distance varies from three to six. Then, star S1 is selected as the main star, and the angular distance A 1j between S1 and other stars Sj is calculated by: where, where (x 1 , y 1 ) indicates the coordinates of star S1; x j , y j denotes the coordinates of star Sj; (x m , y m ) represents the coordinates of the intersection point between the optical center and the detector; P is the pixel size of the detector; f is the focal length of the detector; j ∈ (2, 3, 4, 5, 6, 7, 8, 9, 10). Next, the k-vector technique is used to search the corresponding star pairs in the star attribute database. This process has been described in the search strategy of the star attribute database. In Table 2, the star pairs corresponding to star S1 are displayed. Considering the possibility of repeated row number, the number of star pairs for each angular distance varies from three to six. Further, the statistics data on the repeated star identity are obtained. The direct search method of repeated data is to compare data samples one by one and perform many iterations. Unlike that method, a fast search method of repeated star identity based on the address mapping is proposed in this study. The address mapping table for the celestial sphere is presented in Figure 8, where there are R stars, and R = 2324.
( 1 5 , 8 1 ) Further, the statistics data on the repeated star identity are obtained. The direct search method of repeated data is to compare data samples one by one and perform many iterations. Unlike that method, a fast search method of repeated star identity based on the address mapping is proposed in this study. The address mapping table for the celestial sphere is presented in Figure 8, where there are stars, and = 2324. In the address mapping table, the star identity represents the address, while the number assigned with a specific address denotes the corresponding number of repeated star identities. Initially, each address corresponds to zero repeated star identity by default. As shown in Figure 8, it is necessary to perform two search iterations. In the first iteration, the search method starts from star pair ( , ) corresponding to and moves to star pair ( , ) corresponding to , while reading the data from the address corresponding to the star identity. Then, the value of one is added to the read data value, and the newly obtained value is written into the address. When the first search iteration is finished, the numbers of repetitions are recorded in the address mapping table. After that, the second search iteration is performed. During the searching process, the data values in the addresses are arranged in descending order.
Finally, the result obtained after two search iterations is shown in Table 3. Assuming that the number of angular distances corresponding to each main star is , the total number of search steps in the direct search method is at least 18 × − 18 × , whereas the total number of search steps in the proposed search method is 12 × t. Thus, In the address mapping table, the star identity represents the address, while the number assigned with a specific address denotes the corresponding number of repeated star identities. Initially, each address corresponds to zero repeated star identity by default. As shown in Figure 8, it is necessary to perform two search iterations. In the first iteration, the search method starts from star pair M 12 S i , S j corresponding to A 12 and moves to star pair M 110 S i , S j corresponding to A 110 , while reading the data from the address corresponding to the star identity. Then, the value of one is added to the read data value, and the newly obtained value is written into the address. When the first search iteration is finished, the numbers of repetitions are recorded in the address mapping table. After that, the second search iteration is performed. During the searching process, the data values in the addresses are arranged in descending order.
Finally, the result obtained after two search iterations is shown in Table 3. Assuming that the number of angular distances corresponding to each main star is t, the total number of search steps in the direct search method is at least 18 × t 2 − 18 × t, whereas the total number of search steps in the proposed search method is 12 × t. Thus, the proposed search method of repeated star identity is much faster than the traditional direct search method of repeated data. This is beneficial in reducing the execution time of searching the repeated star identity.
When the maximum number of repetitions is larger than three, the star identity is marked as a valid identity of the current main star. For instance, as shown in Table 3, the star identity of 77 is recognized as a valid identity of star S1.
As shown in Figure 9, star S2 is selected as the main star in a new search. Similarly, the star pairs corresponding to star S2 are searched, and the maximum number of repeated star identities is determined. In the new search, to prevent the wrong calculation, the star identity confirmed by S1 is not considered. If the maximum number of repetitions is less than three, the star will be excluded from the subsequent search. After that, another search is performed, where S3 is the main star. star identity of 77 is recognized as a valid identity of star 1.
As shown in Figure 9, star 2 is selected as the main star in a new search. Similarly, the star pairs corresponding to star 2 are searched, and the maximum number of repeated star identities is determined. In the new search, to prevent the wrong calculation, the star identity confirmed by 1 is not considered. If the maximum number of repetitions is less than three, the star will be excluded from the subsequent search. After that, another search is performed, where 3 is the main star. After performing the search process for all 10 main stars, effective star identities can be obtained, and their corresponding right ascension and declination in the inertial coordinate system can be searched in the search table of the right ascension and declination directly, as mentioned above.
Step 2: Field of view analysis In this step, the stars outside the field of view are removed. Assume 5 is selected as the main star, and the angular distances between 5 and other stars inside the field of view are calculated, as shown in Figure 10. As shown in Figure 10, the angular distances between star 1 and stars 2, 3, and 4 are similar to the angular distances between star 5 and stars 6, 3, and 7, respectively. Therefore, star 1, which is outside the field of view, will be incorrectly recognized as a star identity of star 5. After performing the search process for all 10 main stars, effective star identities can be obtained, and their corresponding right ascension and declination in the inertial coordinate system can be searched in the search table of the right ascension and declination directly, as mentioned above.
Step 2: Field of view analysis In this step, the stars outside the field of view are removed. Assume S5 is selected as the main star, and the angular distances between S5 and other stars inside the field of view are calculated, as shown in Figure 10. As shown in Figure 10, the angular distances between star E1 and stars E2, E3, and E4 are similar to the angular distances between star S5 and stars S6, S3, and S7, respectively. Therefore, star E1, which is outside the field of view, will be incorrectly recognized as a star identity of star S5.
As shown in Figure 9, star 2 is selected as the main star in a new search. Similarly, the star pairs corresponding to star 2 are searched, and the maximum number of repeated star identities is determined. In the new search, to prevent the wrong calculation, the star identity confirmed by 1 is not considered. If the maximum number of repetitions is less than three, the star will be excluded from the subsequent search. After that, another search is performed, where 3 is the main star. After performing the search process for all 10 main stars, effective star identities can be obtained, and their corresponding right ascension and declination in the inertial coordinate system can be searched in the search table of the right ascension and declination directly, as mentioned above.
Step 2: Field of view analysis In this step, the stars outside the field of view are removed. Assume 5 is selected as the main star, and the angular distances between 5 and other stars inside the field of view are calculated, as shown in Figure 10. As shown in Figure 10, the angular distances between star 1 and stars 2, 3, and 4 are similar to the angular distances between star 5 and stars 6, 3, and 7, respectively. Therefore, star 1, which is outside the field of view, will be incorrectly recognized as a star identity of star 5. To deal with this phenomenon, the difference in declination between the stars searched in the first step is introduced, and it is calculated by: where DE i is the declination value of a star i; DE j is the declination value of a star j; T A is the angle of view; if star i is fixed and the count cnt j of star j is larger than two, then star i can be considered to be outside the field of view and thus should be removed.
Step 3: Angular distance verification As shown in Figure 11, the angular distance is verified in both the measuring coordinate system and the inertial coordinate system.
where is the declination value of a star ; is the declination value of a star ; is the angle of view; if star is fixed and the count of star is larger than two, then star can be considered to be outside the field of view and thus should be removed.
Step 3: Angular distance verification As shown in Figure 11, the angular distance is verified in both the measuring coordinate system and the inertial coordinate system. Figure 11. Verification of the angular distance in different coordinate systems: (a) the inertial coordinate system; (b) the measuring coordinate system.
In the previous two steps, coordinates in the measuring coordinate system ( , ) and the corresponding coordinates in the inertial coordinate system ( , ) are obtained. Then, the angular distance in the inertial coordinate system can be obtained by: = cos( ) × cos( ) × cos × cos + sin( ) × cos( ) × sin × cos + sin( ) × sin .
The angular distance in the measuring coordinate system is given by Equation (7).
If acos ( ) − acos ( ) < , where is the angular distance threshold, the coordinate system mapping is correct, and stars and can be marked as the final correct star pair.
As shown in Figure 12, through the above-presented three steps, error stars 5 and 10 have been eliminated after the double screening. Thus, the final star identity and its corresponding right ascension and declination are obtained correctly. Figure 11. Verification of the angular distance in different coordinate systems: (a) the inertial coordinate system; (b) the measuring coordinate system.
In the previous two steps, coordinates in the measuring coordinate system (x i , y i ) and the corresponding coordinates in the inertial coordinate system (ra i , de i ) are obtained. Then, the angular distance A ij in the inertial coordinate system can be obtained by: The angular distance in the measuring coordinate system A ij is given by Equation (7).
If acos(A ij ) − acos A ij < T α , where T α is the angular distance threshold, the coordinate system mapping is correct, and stars i and j can be marked as the final correct star pair.
As shown in Figure 12, through the above-presented three steps, error stars S5 and S10 have been eliminated after the double screening. Thus, the final star identity Sn and its corresponding right ascension Sn ra and declination Sn de are obtained correctly. Then, the coordinate information on each effective star point in the inertial system can be obtained by: Finally, the attitude matrix of a star sensor can be constructed. The steps of the FSI algorithm are concluded in Algorithm 1.  Then, the coordinate information on each effective star point in the inertial system can be obtained by: cos Sn ra cos Sn de , sin Sn ra cos Sn de , sin Sn de . (11) Finally, the attitude matrix A si of a star sensor can be constructed. The steps of the FSI algorithm are concluded in Algorithm 1. The operating platform included a 1.8-GHz Intel(R) Core(TM) I7-8565U CPU, and the software was VS2019. The operating system was Windows 10.
The video sequence used in this experiment was taken at the Gaomeigu site in Lijiang. As shown in Figure 13, the image acquisition device was installed onto a three-axis rotation table. When the three-axis rotation table operated at the speed of zero (the actual star was still moving slowly due to the rotation of the Earth), 0.1°/s, 0.2°/s, and 0.5°/s, respectively, video sequences were simultaneously collected. The detector was CMV4000, and the image resolution was 2048 × 2048. The angle of view was 20°× 20°, and the focal length was 24 mm. The frame frequency was 4 Hz, and the exposure time was 50 ms; according to the empirical results, we set = 100, = 20°, and = 0.00032 rad.

② Superposition of transient noise
To simulate a harsh environment like the SAA area, transient noise was added to the video sequence. According to the transient noise analysis, the transient noise shape was categorized into two classes-similar to the star, and similar to the oblique line-and they had proportions of 10% and 90% (according to the analysis of the on-orbit star image), respectively. The noise position was random.
The model functions [23] of the noise with two noise shapes were defined by: where, Figure 13. The image acquisition device.
When the three-axis rotation table operated at the speed of zero (the actual star was still moving slowly due to the rotation of the Earth), 0.1 • /s, 0.2 • /s, and 0.5 • /s, respectively, video sequences were simultaneously collected. The detector was CMV4000, and the image resolution was 2048 × 2048. The angle of view was 20 • × 20 • , and the focal length was 24 mm. The frame frequency was 4 Hz, and the exposure time was 50 ms; according to the empirical results, we set T e = 100, T A = 20 • , and T α = 0.00032 rad. 2

Superposition of transient noise
To simulate a harsh environment like the SAA area, transient noise was added to the video sequence. According to the transient noise analysis, the transient noise shape was categorized into two classes-similar to the star, and similar to the oblique line-and they had proportions of 10% and 90% (according to the analysis of the on-orbit star image), respectively. The noise position was random.
The model functions [23] of the noise with two noise shapes were defined by: where, where f 1 (x, y) corresponds to the noise similar to the star, and f 2 (x, y) corresponds to the noise similar to the oblique line; (x 0 , y 0 ) represents the central position of noise; σ is the Gaussian radius; I 0 is the noise energy; v x and v y represent the velocities in the horizontal and vertical directions, respectively; t1 is the trailing time.

Successful identification rate
The successful identification should meet the two following conditions: Condition 1: There should be at least three correct stars after the final search; Condition 2: The calculated attitude angle should satisfy the threshold condition of: where O ra and O de are the right ascension and declination of the optical axis in the current frame; O ra and O de are the estimated right ascension and declination of the optical axis in the current frame, which are based on the velocity and the optical axis orientation in the previous frame; T ra and T de are the thresholds of the right ascension and declination, respectively, and T ra = 10 cos(O de ) and T de = 10. Monte Carlo analysis was used to calculate the successful identification rate for 1000 successive frames of a video sequence.
Four experiments were performed to verify the ability of the proposed FSI algorithm, as presented in Section 3.2.

Successful Identification Rate at Different Levels of Transient noise
In this experiment, the video sequence at the speed of zero was selected, and the transient noise was added to it. The successful identification rate was analyzed at different levels of the transient noise.
The successful identification rate results obtained at different noise levels are shown in Table 4. In Table 4, the first column denotes the noise level, the second column indicates the number of wrong identifications, and the third column denotes the successful identification rate for 1000 frames. The corresponding curve of the successful identification rate is displayed in Figure 14.
where and are the right ascension and declination of the optical axis in the current frame; and are the estimated right ascension and declination of the optical axis in the current frame, which are based on the velocity and the optical axis orientation in the previous frame; and are the thresholds of the right ascension and declination, respectively, and = ( ) and = 10.
Monte Carlo analysis was used to calculate the successful identification rate for 1000 successive frames of a video sequence.
Four experiments were performed to verify the ability of the proposed FSI algorithm, as presented in Section 3.2.

Successful Identification Rate at Different Levels of Transient noise
In this experiment, the video sequence at the speed of zero was selected, and the transient noise was added to it. The successful identification rate was analyzed at different levels of the transient noise.
The successful identification rate results obtained at different noise levels are shown in Table 4. In Table 4, the first column denotes the noise level, the second column indicates the number of wrong identifications, and the third column denotes the successful identification rate for 1000 frames. The corresponding curve of the successful identification rate is displayed in Figure 14.  Based on the results in Table 4 and Figure 14, when the noise level was lower than 80, the successful identification rate was always 100%. When the noise level increased to 500, the successful identification rate was still as high as 98%. When the noise level was up to 900, the successful identification rate decreased to 75.1%, which was still higher than 70%. However, when the noise level increased to 1000, the success identification rate decreased to less than 10%. According to the presented results, the proposed FSI algorithm had high identification accuracy when the noise level was lower than 900.
The analysis results indicated that the main reason for the decline in the successful identification rate was as follows. As the noise level increased, more and more noises appeared in the same position in adjacent frames, and more and more noise overlapped with stars, which resulted in the star centroid extraction deviation. Therefore, with the increase in the noise level, the successful identification rate decreased.

Successful Identification Rate at Different Main Star Numbers
The influence of the main star number on the successful identification rate was analyzed under different levels of transient noise at zero-speed, as shown in Figure 15. with stars, which resulted in the star centroid extraction deviation. Therefore, with the increase in the noise level, the successful identification rate decreased.

Successful Identification Rate at Different Main Star Numbers
The influence of the main star number on the successful identification rate was analyzed under different levels of transient noise at zero-speed, as shown in Figure 15. In Figure 15, denotes the number of main stars selected for the process of multimain star search. When was five, the successful identification rate was always zero, and the star sensor was always in the LIS mode. When was between seven and 15, the successful identification rate improved significantly. When equaled 10, the successful identification rate was higher than for other N values. When equaled 20, the successful In Figure 15, N denotes the number of main stars selected for the process of multi-main star search. When N was five, the successful identification rate was always zero, and the star sensor was always in the LIS mode. When N was between seven and 15, the successful identification rate improved significantly. When N equaled 10, the successful identification rate was higher than for other N values. When N equaled 20, the successful identification rate descended obviously. Therefore, the successful identification rate was the highest when N equaled 10 under all noise levels.
Based on the analysis results, an appropriate number of main stars in the search process should be selected. When the number of main stars was small, it was difficult to obtain an appropriate number of repeated star identities due to fewer star pairs. However, when the number of main stars was too large, interference could be easily caused due to the addition of noise, which could yield wrong identification results. Therefore, an appropriate number of main stars for a specific scenario should be determined.

Successful Identification Rate at Different Dynamic Speeds
In this experiment, the influence of the dynamic speed of a star sensor on the successful identification rate was analyzed. The result is shown in Figure 16. identification rate descended obviously. Therefore, the successful identification rate was the highest when equaled 10 under all noise levels. Based on the analysis results, an appropriate number of main stars in the search process should be selected. When the number of main stars was small, it was difficult to obtain an appropriate number of repeated star identities due to fewer star pairs. However, when the number of main stars was too large, interference could be easily caused due to the addition of noise, which could yield wrong identification results. Therefore, an appropriate number of main stars for a specific scenario should be determined.

Successful Identification Rate at Different Dynamic Speeds
In this experiment, the influence of the dynamic speed of a star sensor on the successful identification rate was analyzed. The result is shown in Figure 16. As shown in Figure 16, when the noise level was lower than 150, the successful identification rate was almost the same for all considered dynamic speeds. When the noise level reached 500, the successful identification rate was 97% at the speed of 0.1°/s, which As shown in Figure 16, when the noise level was lower than 150, the successful identification rate was almost the same for all considered dynamic speeds. When the noise level reached 500, the successful identification rate was 97% at the speed of 0.1 • /s, which was slightly lower than 98% at zero-speed. When the dynamic speed of the star sensor reached 0.2 • /s, the successful identification rate was still larger than 90%. When the dynamic speed of the star sensor reached 0.5 • /s, the successful identification rate was only 42.1%, which was less than half of that at the speed of 0.2 • /s. When the noise level was between 500 and 900, the successful identification rate at the speed of 0.1 • /s was higher than 70%, which was acceptable for the SAA area. When the noise level reached 1000, the successful identification rates under different dynamic speeds were almost lower than 20%.
Based on the analysis, higher dynamic speed means a lower successful identification rate. This is because when the speed of a star sensor increases, the centroid extraction precision of the star sensor decreases, which results in the angular distance deviation. When a satellite runs in a low orbit, the dynamic speed of a star sensor is usually 0.06 • /s. Under such a dynamic speed, the proposed FSI algorithm can achieve a high successful identification rate similar to that at the speed of 0.1 • /s.

Comparison with Other Algorithms
To verify the performance of the proposed FSI algorithm further, it was compared with other algorithms in terms of the successful identification rate and the execution time. In the comparison experiment, the video sequence speeds of zero and 0.5 • /s were selected, and different levels of the transient noise were added to the video sequences. The compared algorithms included the triangle, match group, and MPA algorithms. The triangle and match group algorithms have been typical and widely used identification algorithms, whereas the MPA algorithm has been a common identification algorithm for the harsh environment in recent years. The successful identification rate results of different algorithms at zero-speed are presented in Figure 17. and different levels of the transient noise were added to the video sequences. The compared algorithms included the triangle, match group, and MPA algorithms. The triangle and match group algorithms have been typical and widely used identification algorithms, whereas the MPA algorithm has been a common identification algorithm for the harsh environment in recent years. The successful identification rate results of different algorithms at zero-speed are presented in Figure 17. As shown in Figure 17, the successful identification rate of the triangle algorithm decreased rapidly when the noise level was up to 30, and it was far lower than those of the FSI and MPA algorithms. The successful identification rate of the triangle algorithm was close to that of the match group algorithm. This result indicated that the triangle and match group algorithms had poor efficiency in the SAA area. When the noise level was lower than 200 or higher than 1,000, the successful identification rates of the FSI and MPA algorithms were similar. However, when the noise level was higher than 200 but lower than 1,000, the successful identification rate of the FSI algorithm was higher than that of the MPA algorithm.
The results of different algorithms for the star sensor speed of 0.5°/s are presented in Figure 18. As shown in Figure 17, the successful identification rate of the triangle algorithm decreased rapidly when the noise level was up to 30, and it was far lower than those of the FSI and MPA algorithms. The successful identification rate of the triangle algorithm was close to that of the match group algorithm. This result indicated that the triangle and match group algorithms had poor efficiency in the SAA area. When the noise level was lower than 200 or higher than 1000, the successful identification rates of the FSI and MPA algorithms were similar. However, when the noise level was higher than 200 but lower than 1000, the successful identification rate of the FSI algorithm was higher than that of the MPA algorithm.
The results of different algorithms for the star sensor speed of 0.5 • /s are presented in Figure 18.  Figure 18, the successful identification rate of the FSI algorithm was still the highest among all algorithms. For both the FSI algorithm and the MPA algorithm, the successful identification rate decreased significantly with increasing noise level. In addition, the successful identification rates of the match group and triangle algorithms were worse than that at the zero-speed, and they could not guarantee the normal operation in this situation.

As shown in
Compared to the other algorithms, the proposed FSI algorithm achieved a better identification rate under the interference of transient noise at different video sequence speeds.
The average execution times of different algorithms are presented in Table 5, where it can be seen that the average execution time of the FSI algorithm was far shorter than those of the triangle and match group algorithms and slightly better than that of the MPA algorithm. Thus, the proposed FSI algorithm achieved a faster execution speed than the other algorithms.

Discussion
The experimental results indicated that the proposed FSI algorithm had a high successful identification rate when transient noise level was less than 900 and the star sensor speed was 0.1°/s. The successful identification rate of the proposed FSI algorithm at the speed of 0.1°/s was higher than 70%, which was acceptable for the SAA area.
Compared with other algorithms, regardless of the speed, the FSI algorithm had a higher successful identification rate at the same noise level. In addition, among all algorithms, the FSI algorithm had the shortest execution time in general. Particularly, the execution time of the FSI algorithm was nearly one-thousandth of those of the match group and triangle algorithm, and it was nearly half of that of the MPA algorithm.
Due to the noise suppression and the comparison of the field of view and the coordinate system, the successful identification rate of the proposed algorithm was obviously improved. Additionally, the k-vector-based search method of the self-defined star attribute database and the fast search method of repeated star were beneficial for the  Figure 18, the successful identification rate of the FSI algorithm was still the highest among all algorithms. For both the FSI algorithm and the MPA algorithm, the successful identification rate decreased significantly with increasing noise level. In addition, the successful identification rates of the match group and triangle algorithms were worse than that at the zero-speed, and they could not guarantee the normal operation in this situation.

As shown in
Compared to the other algorithms, the proposed FSI algorithm achieved a better identification rate under the interference of transient noise at different video sequence speeds.
The average execution times of different algorithms are presented in Table 5, where it can be seen that the average execution time of the FSI algorithm was far shorter than those of the triangle and match group algorithms and slightly better than that of the MPA algorithm. Thus, the proposed FSI algorithm achieved a faster execution speed than the other algorithms.

Discussion
The experimental results indicated that the proposed FSI algorithm had a high successful identification rate when transient noise level was less than 900 and the star sensor speed was 0.1 • /s. The successful identification rate of the proposed FSI algorithm at the speed of 0.1 • /s was higher than 70%, which was acceptable for the SAA area.
Compared with other algorithms, regardless of the speed, the FSI algorithm had a higher successful identification rate at the same noise level. In addition, among all algorithms, the FSI algorithm had the shortest execution time in general. Particularly, the execution time of the FSI algorithm was nearly one-thousandth of those of the match group and triangle algorithm, and it was nearly half of that of the MPA algorithm.
Due to the noise suppression and the comparison of the field of view and the coordinate system, the successful identification rate of the proposed algorithm was obviously improved. Additionally, the k-vector-based search method of the self-defined star attribute database and the fast search method of repeated star were beneficial for the improvement in the execution speed. Lastly, the experimental results proved that the proposed FSI algorithm had better identification ability in the SAA area and a faster execution speed than the other algorithms.
However, the FSI algorithm has certain limitations. Namely, at the same noise level, it cannot work well when the speed of a star sensor is higher than 0.5 • /s due to the trail of stars, which can cause deviations in the centroid extraction. Usually, the trail of stars can be weakened by the decrease of the exposure time, but it will also weaken the energy of the stars. Therefore, further research is necessary to deal with the trail of stars and further improve the precision of centroid extraction. We will carry out more research on the modeling of the trail and try some effective methods to restore the star, so as to improve the precision of centroid extraction.

Conclusions
This paper proposes the FSI algorithm for star sensors. Compared to the existing algorithms, the FSI algorithm has two main innovations. First, a method of noise suppression and a verifying method of the field of view and the coordinate system are proposed to eliminate the transient noise and improve the successful identification rate. Second, an analysis method of repeated star identity is proposed to obtain the position of the main stars instead of the traditional angular distance match method. According to the analysis method, a fast search method of repeated star identity in the star pairs is developed. Combined with the k-vector method, the fast search method of repeated star identity is beneficial to promote the execution speed.
The proposed FSI algorithm was verified by experiments and compared with other algorithms. The experimental results indicate that the proposed FSI algorithm has better identification ability in the SAA area and a faster execution speed than the other algorithms.
In the future, the identification ability of a star sensor could be improved with two aspects in mind: one to optimize the centroid extraction accuracy and ensure high-precision angular distance; the other to complete the on-orbit application of the FSI algorithm and optimize the algorithm parameters through on-orbit testing.