GMM-Based Adaptive Extended Kalman Filter Design for Satellite Attitude Estimation under Thruster-Induced Disturbances

Star images from star trackers are usually defocused to capture stars over an exposure time for better centroid measurements. While a satellite is maneuvering, the star point on the screen of the camera is affected by the satellite, which results in the degradation of centroid measurement accuracy. Additionally, this could result in a worse star vector outcome. For geostationary satellites, onboard thrusters are used to maintain or change orbit parameters under orbit disturbances. Since there is misalignment in the thruster and torque is generated by an impulsive shape signal from the torque command, it is difficult to generate target torque; in addition, it also impacts the star image because the impulsive torque creates a sudden change in the angular velocity in the satellite dynamics. This makes the noise of the star image non-Gaussian, which may require introducing a method for dealing with non-Gaussian measurement noise. To meet this goal, in this study, an adaptive extended Kalman filter is implemented to predict measurement vectors with predicted states. The GMM (Gaussian mixture model) is connected in this sequence, giving weighting parameters to each Gaussian density and resulting in the better prediction of measurement vectors. Simulation results show that the GMM-EKF exhibits a better performance than the EKF for attitude estimation, with 30% improvement in performance. Therefore, the GMM-EKF could be a more attractive approach for use with geostationary satellites during station-keeping maneuvers.


Introduction
This paper introduces a method for adaptively improving the performance of an attitude extended Kalman filter with a star tracker and gyroscope under thruster-induced disturbance onboard a geostationary satellite.
Due to external disturbances such as the influence of the Moon, the Sun and the noncentrality of the Earth's gravitational field, satellite orbit parameters change with time and, therefore, the orbit ceases to be geostationary [1].Thrusters onboard geostationary satellites are used to maintain orbit parameters.However, misalignment in the thrusters' setup produces additional disturbances to the satellite.These problems result in unnecessary fuel consumption during mission mode [2].Moreover, the torque command from the attitude control law is converted into an impulse shape signal.The pulse width modulator (PWM) impacts the attitude estimation carried out with an extended Kalman filter because star tracker images are directly influenced by the thruster-induced disturbance.In this environment, the noise of a star vector is not white Gaussian noise, but rather is considered to be non-Gaussian noise.Special care should be taken when dealing with non-Gaussian noise if an EKF is the estimator.However, previous research about station-keeping maneuvering for geostationary satellites has not included precise attitude determination under non-Gaussian noise when using star tracker as an attitude sensor [3,4].Star images are Sensors 2023, 23, 4212 2 of 22 usually generated by defocusing the camera images in order to precisely acquire the centroids of stars.When the satellite is maneuvering, the star image is blurred during the star tracker's exposure time and the centroid measurements of the star tracker will have degraded accuracy.
There are two categories of solutions when the blurring occurs in the star images.One is to remove the blur directly from the image; the other is to measure the star vector of the blurred image and apply it to the attitude Kalman filter considering a non-Gaussian noise process.
There have already been substantial efforts to remove the blurring effect of star images when under the dynamical conditions of satellites.Most researchers have concentrated on modeling the PSF as accurately as possible and applied it to the deblurring algorithms.The authors of [5] employed a correlation filter to conduct denoising and improve the signal for deblurring star images, considering the angular velocity of the spacecraft to be a constant speed.In addition, the authors of [6] proposed a method to model the PSF of star images and compensate for it under a constant angular velocity and nonfixed angular velocity.Meanwhile, [7] developed a method to simulate multiple blurred star images with uniform and nonuniform blur.Another approach involved restoring blurred star images using maximum likelihood estimation with the aid of microelectromechanical systems (MEMS) gyroscopes [8].The authors of [9] proposed a motion blur model for the real star tracker that accounts for composite motion beyond uniform and nonuniform motions, and simulated blurred star images under rotations and angular vibrations.Finally, a study by [10] implemented a Kalman filter to estimate the centroids of star images, which improves performance by proposing the covariance prediction equation, adaptive tuning process, and measurement noise matrices depending on the star light magnitude or star existence in the image.
A lot of work has also been done on using the extended Kalman filter (EKF) to estimate the satellite attitude with the star vector measurement as well as recovering blurry images.Ref. [11] represented the algorithm of attitude EKF using a quaternion parameter.Ref. [12] expanded the algorithm of [11] to have the multiplicative error quaternion to avoid a constraint of the quaternion.Since the attitude EKF in [11] assumed a zero-mean Gaussian white-noise process, an adaptive Kalman filter should be used to adaptively tune the parameters in real time if the measurement noise is the non-Gaussian noise process.
The adaptive Kalman filter has been widely studied to tune the process noise matrix and the measurement noise matrix.There are various methods for making the Kalman filter adaptive [13].A covariance matching algorithm is one of the techniques that is tracking the innovation profile of the filter.It could be divided into the R-adaptation and the Q-adaptation.A multiple model-based adaptive estimation (MMAE) method is also the technique of the adaptive Kalman filter that constructs the Kalman filters with different models and merges the estimates of all filters using the probability that each model is true [14].
However, these techniques have not reflected the non-Gaussian noise process of the measurement.In order to deal with the non-Gaussian noise process, the GMM could be adopted for the prediction of measurement noise with the state of the filter and it provides desirable estimation results [15].In addition, the GMM has been previously used to compensate for non-Gaussian process noise in the system [16].Ref. [17] used the GMM to capture the nonlinearities of the light-curve measurement model with the adaptive unscented Kalman filter for the attitude determination.Therefore, the GMMbased extended Kalman filter is applied to predict the non-Gaussian process noise under the blurred star image in this paper.
In this paper, our focus is on increasing the performance of attitude estimation based on star vector measurements with the aid of a gyroscope.The attitude EKF is introduced to carry out the vector measurements via attitude prediction (a priori attitude), utilizing the angular velocity estimate.Since the attitude EKF only considers a measurement model with Gaussian noise, a method that deals with the PSF (point spread function) in star images should be used.A PSF under a small angular velocity would not be a problem for attitude estimation; however, the attitude estimation performance may deteriorate under fast maneuvering or complicated dynamics.
The rest of the paper is organized as follows: Section 2 presents a star image generation method with the PSF, demonstrates thruster modeling, and describes the influence of thruster-induced disturbance on the star image using a simulation example.Section 3 introduces the attitude extended Kalman filter with an error quaternion.Sections 4 and 5 detail GMM implementation with the extended Kalman filter to predict the non-Gaussian measurement noise.The simulation results of the EKF and GMM-EKF are compared and discussed.These comparisons show that the accuracy of the attitude estimation of the GMM-EKF is around 30% better than that of the EKF.

Star Image Generation with PSF 2.1. Pinhole Camera Model of Star Tracker
The star tracker measurement method is modeled using a pinhole camera model shown in Figure 1.Star points are generated in the focal plane through the optical lens system.
Sensors 2023, 21, x FOR PEER REVIEW 3 of 23 to carry out the vector measurements via attitude prediction (a priori attitude), utilizing the angular velocity estimate.Since the attitude EKF only considers a measurement model with Gaussian noise, a method that deals with the PSF (point spread function) in star images should be used.A PSF under a small angular velocity would not be a problem for attitude estimation; however, the attitude estimation performance may deteriorate under fast maneuvering or complicated dynamics.The rest of the paper is organized as follows: Section 2 presents a star image generation method with the PSF, demonstrates thruster modeling, and describes the influence of thruster-induced disturbance on the star image using a simulation example.Section 3 introduces the attitude extended Kalman filter with an error quaternion.Sections 4 and 5 detail GMM implementation with the extended Kalman filter to predict the non-Gaussian measurement noise.The simulation results of the EKF and GMM-EKF are compared and discussed.These comparisons show that the accuracy of the attitude estimation of the GMM-EKF is around 30% better than that of the EKF.

Pinhole Camera Model of Star Tracker
The star tracker measurement method is modeled using a pinhole camera model shown in Figure 1.Star points are generated in the focal plane through the optical lens system.The relationship between the inertial frame and the star tracker frame of a star position coordinate system was obtained from [18], such that where O xyz − is the frame system of the star tracker, ( ) 0 0 , x y is a point where the boresight axis intersects the focal plane, f is the focal length, b represents the ob- served star vector in the star tracker frame, r is the reference star vector in the star cata- logue that the star tracker is equipped with, and ( ) , Λ  is the right ascension and The relationship between the inertial frame and the star tracker frame of a star position coordinate system was obtained from [18], such that b = 1 The rest of the paper is organized as follows: Section 2 presents a star image generation method with the PSF, demonstrates thruster modeling, and describes the influence of thruster-induced disturbance on the star image using a simulation example.Section 3 introduces the attitude extended Kalman filter with an error quaternion.Sections 4 and 5 detail GMM implementation with the extended Kalman filter to predict the non-Gaussian measurement noise.The simulation results of the EKF and GMM-EKF are compared and discussed.These comparisons show that the accuracy of the attitude estimation of the GMM-EKF is around 30% better than that of the EKF.

Pinhole Camera Model of Star Tracker
The star tracker measurement method is modeled using a pinhole camera model shown in Figure 1.Star points are generated in the focal plane through the optical lens system.The relationship between the inertial frame and the star tracker frame of a star position coordinate system was obtained from [18], such that The rest of the paper is organized as follows: Section 2 presents a star image generation method with the PSF, demonstrates thruster modeling, and describes the influence of thruster-induced disturbance on the star image using a simulation example.Section 3 introduces the attitude extended Kalman filter with an error quaternion.Sections 4 and 5 detail GMM implementation with the extended Kalman filter to predict the non-Gaussian measurement noise.The simulation results of the EKF and GMM-EKF are compared and discussed.These comparisons show that the accuracy of the attitude estimation of the GMM-EKF is around 30% better than that of the EKF.

Pinhole Camera Model of Star Tracker
The star tracker measurement method is modeled using a pinhole camera model shown in Figure 1.Star points are generated in the focal plane through the optical lens system.The relationship between the inertial frame and the star tracker frame of a star position coordinate system was obtained from [18], such that r is the reference star vector in the star cata- logue that the star tracker is equipped with, and ( ) ,  is the right ascension and n sin attitude estimation; however, the attitude estimation performance may deteriorate under fast maneuvering or complicated dynamics.
The rest of the paper is organized as follows: Section 2 presents a star image generation method with the PSF, demonstrates thruster modeling, and describes the influence of thruster-induced disturbance on the star image using a simulation example.Section 3 introduces the attitude extended Kalman filter with an error quaternion.Sections 4 and 5 detail GMM implementation with the extended Kalman filter to predict the non-Gaussian measurement noise.The simulation results of the EKF and GMM-EKF are compared and discussed.These comparisons show that the accuracy of the attitude estimation of the GMM-EKF is around 30% better than that of the EKF.

Pinhole Camera Model of Star Tracker
The star tracker measurement method is modeled using a pinhole camera model shown in Figure 1.Star points are generated in the focal plane through the optical lens system.The relationship between the inertial frame and the star tracker frame of a star position coordinate system was obtained from [18], such that r is the reference star vector in the star cata- logue that the star tracker is equipped with, and ( ) ,  is the right ascension and where O − xyz is the frame system of the star tracker, (x 0 , y 0 ) is a point where the boresight axis intersects the focal plane, f is the focal length, b represents the observed star vector in the star tracker frame, r is the reference star vector in the star catalogue that the star tracker is equipped with, and Λ, to carry out the vector measurements via attitude prediction (a priori attitude), utilizing the angular velocity estimate.Since the attitude EKF only considers a measurement model with Gaussian noise, a method that deals with the PSF (point spread function) in star images should be used.A PSF under a small angular velocity would not be a problem for attitude estimation; however, the attitude estimation performance may deteriorate under fast maneuvering or complicated dynamics.The rest of the paper is organized as follows: Section 2 presents a star image generation method with the PSF, demonstrates thruster modeling, and describes the influence of thruster-induced disturbance on the star image using a simulation example.Section 3 introduces the attitude extended Kalman filter with an error quaternion.Sections 4 and 5 detail GMM implementation with the extended Kalman filter to predict the non-Gaussian measurement noise.The simulation results of the EKF and GMM-EKF are compared and discussed.These comparisons show that the accuracy of the attitude estimation of the GMM-EKF is around 30% better than that of the EKF.

Pinhole Camera Model of Star Tracker
The star tracker measurement method is modeled using a pinhole camera model shown in Figure 1.Star points are generated in the focal plane through the optical lens system.The relationship between the inertial frame and the star tracker frame of a star position coordinate system was obtained from [18], such that cos cos sin cos , sin where O xyz − is the frame system of the star tracker, ( ) 00 , xy is a point where the boresight axis intersects the focal plane, f is the focal length, b represents the ob- served star vector in the star tracker frame, r is the reference star vector in the star cata- logue that the star tracker is equipped with, and ( ) ,  is the right ascension and is the right ascension and declination of the observed star defined in the celestial sphere.The reference star vector and observed star vector have a relationship with the attitude direction cosine matrix A(q), which is defined by two coordinate systems written as b = A(q)r, where A(q) is the direction cosine matrix for the attitude quaternion q given by q = ς T q 4 T , (4) where ς corresponds to a vector part of q and q 4 is a scalar part of q.

Star Tracker Image Generation
Once the star position is determined, the star's light distribution around the center of the star spot should be calculated.In order to facilitate the determination of the centroids with subpixel accuracy, the optics of the star tracker need to be slightly defocused so that the star light is spread out over several pixels [19].The most accurate centroiding algorithms rely on fitting a PSF to the measured pixel data [20].In [21], the star spot PSF is defined by where σ lens is the Gaussian PSF radius, which is related to the spread scale of the optical lens.In addition, the star's light distribution for a star spot is defined by where n flux is the incident flux of the star on the image plane and T exp is the exposure time.
In order to obtain the centroid from the star's light distribution, the center of gravity is evaluated around the star spot as given by [22] where x pi and y pi are the pi th pixel integer coordinates.

Thruster Modeling
In general, six thrusters are needed to allow for attitude maneuvers in space; although, some highly sophisticated systems claim to achieve the same space maneuvers with only four thrusters that are strategically located on the satellite body.For various practical reasons six or more thrusters are necessary to complete a reaction control system [23].Therefore, six thrusters were chosen as the number of thruster units in this paper.
For a single thruster unit, the torque components were derived by considering the setup location, direction of the thruster, and elevation and azimuth angles defined in the coordinate system of the thruster [23].Figure 2 presents a single thruster's setup direction with regard to the satellite body axis and sequences of rotation of the thruster's frame.In this paper, the system of rotation of each thruster unit is the same as the system in reference [23].First, the y B axis is rotated based on the amount of β thr , and then the z B axis is rotated based on the amount of α thr .Hence, the resultant force components are given by F thr,x = F lev cos(α thr ) cos(β thr ), F thr,y = F lev sin(α thr ), F thr,z = F lev cos(α thr ) sin(β thr ), (9) where F thr,x , F thr,y , and F thr,z are components of the unit thruster force vector F thr , and F lev represents the thruster level.
where  The misalignment of the thruster setup is considered in this paper, which leads to where ∆α thr and ∆β thr are misalignment angles of the unit thruster setup.By considering the position of the unit thruster r thr , the torque τ thr from the unit thruster is given by r thr,y sin(β thr,mis ) cos(α thr,mis ) − r thr,z sin(α thr,mis ) r thr,z cos(α thr,mis ) cos(β thr,mis ) − r thr,x cos(α thr,mis ) sin(α thr,mis ) r thr,x sin(α thr,mis ) − r thr,y cos(α thr,mis ) cos(β thr,mis ) where ∆x th,arm , ∆y th,arm , and ∆z th,arm represent the equivalent torque arms of the thruster τ thr for the three-axis satellite body frame, and r thr,x , r thr,y , and r thr,z are the three-axis components of position vector r thr measured from the center of the mass of the satellite.In addition, α thr,mis and β thr,mis are rotation angles for considering misalignments given by α thr,mis = α thr + ∆α thr ,

Thruster Torque Command Generation with Pulse Width Modulation
Reaction controllers can be used in a quasilinear mode by modulating the width of the activated reaction pulse proportionally to the level of the torque command that is input into the controller, which is the often-used pulse width modulation (PWM) principle [23].Torque from the thruster is generated based on the ratio between the time that the thruster is on and the thruster sampling time.The activating time for each thruster is derived using the thruster set-up model, which is shown in Figure 3.All thruster setups for each thruster location and rotation direction, as well as all equations in this section, were obtained from [23].
the activated reaction pulse proportionally to the level of the torque command that is input into the controller, which is the often-used pulse width modulation (PWM) principle [23].Torque from the thruster is generated based on the ratio between the time that the thruster is on and the thruster sampling time.The activating time for each thruster is derived using the thruster set-up model, which is shown in Figure 3.All thruster setups for each thruster location and rotation direction, as well as all equations in this section, were obtained from [23].The relationship between the three-axis torque command from the control law and the ratio is given by where ratio,i  The relationship between the three-axis torque command from the control law and the ratio is given by where r ratio,i represents the i th (i = 1, 2, . . ., 6) ratio and G x B ,i , G y B ,i , and G z B ,i are i th torque constants written as where, ∆x th,arm,i , ∆y th,arm,i , and ∆z th,arm,i are the i th torque arms of the three-axis satellite body frame.Using the thruster setup in Figure 3, the torque constants are defined as where ∆x th,arm,ex , ∆y th,arm,ex , and ∆z th,arm,ex represent the torque arms of the three-axis satellite body frame, and the torque constants for each axis are represented as G x B ,ex , G y B ,ex , and G z B ,ex , as shown in Figure 3.Then, Equation ( 13) can be rewritten as After normalization of the command torques, Equation ( 16) becomes τcmd,x = Sensors 2023, 23, 4212 7 of 22 where τcmd,x , τcmd,y , and τcmd,z are the normalized torques for each axis.The first and second normalized torques from Equation ( 17) can be rewritten in a matrix form as By evaluating a pseudoinverse, the above equation can be rewritten as The thruster on-time for each thruster could be found to be negative based on the three-axis torque command, which is not physically possible.In order to solve this problem, the thruster unit which has a negative on-time is turned off and replaced with the one which has a positive on-time, enabling it to provide the same torque.The operational logic is shown in Algorithm 1 [23].

Star Image Implementation under Thruster-Induced Disturbance
In this section, a star image under thruster-induced disturbance is simulated to model the smearing effect and is compared with a situation where the satellite is stationary.For the simulation, the thruster setup is the same as that shown in Figure 3. Thruster specifications are presented in Table 1 and star tracker specifications are provided in Table 2.The star tracker boresight axis is aligned with the z B axis of the satellite body frame.The satellite is assumed to be initially stationary, and the goal of this simulation is to maintain its attitude as zero.To control the satellite attitude, a quaternion feedback PD control law is applied in a form obtained from [24] as given by where ω is an angular velocity vector of the body frame relative to the reference frame and [ω×] is a skew symmetric matrix of ω.J represents the moment of inertia of the satellite and q e is the error of the current and target quaternion defined by where K D and K P are control gains which are written as where d gain and k gain are designed to be in the form of where ξ dam is a damping ratio and ω n is a natural frequency given by where t s is a settling time.The rigid satellite model and controller gain information is presented in Table 3.
Three stars were captured by the star tracker at the initial attitude in the simulation.The magnitudes of each star were 4.24, 3.03, and 4.52.The simulation time was 100 s, and these three stars were continuously captured in the camera of the star tracker.During the simulation, the true quaternion and true angular velocity were used for attitude control without sensor data since the goal was to examine the smearing effect with the angular velocity induced by thruster disturbance.
Euler angle error, angular velocity, and thruster torque are described in Figures 4-6, respectively.Figure 4 shows that the Euler angle has a steady state error, which is related to the thruster's sampling time and the closed-loop bandwidth.The angular velocity has an oscillatory profile in Figure 5 because the output of each thruster is generated in an impulse form, with the sampling time of the thruster as shown in Figure 6a.
The smearing effect due to the thruster torque is described in Figures 7 and 8.At the initial time, since the angular velocity is 0.01 • /s for each axis, the star image is not blurred as much by the angular motion as it is in the thruster-operating case.In Figure 8, each star spot is more influenced by the angular motion than in Figure 7.
Sensors 2023, 21, x FOR PEER REVIEW 11 of 23 Figure 4 shows that the Euler angle has a steady state error, which is related to the thruster's sampling time and the closed-loop bandwidth.The angular velocity has an oscillatory profile in Figure 5 because the output of each thruster is generated in an impulse form, with the sampling time of the thruster as shown in Figure 6a.
The smearing effect due to the thruster torque is described in Figures 7 and 8.At the initial time, since the angular velocity is 0.01°/s for each axis, the star image is not blurred as much by the angular motion as it is in the thruster-operating case.In Figure 8, each star spot is more influenced by the angular motion than in Figure 7.In order to reduce the smearing effect, an attitude extended Kalman filter will be introduced in the next section that predicts measurement noise based on the PSF information.Figure 4 shows that the Euler angle has a steady state error, which is related to the thruster's sampling time and the closed-loop bandwidth.The angular velocity has an oscillatory profile in Figure 5 because the output of each thruster is generated in an impulse form, with the sampling time of the thruster as shown in Figure 6a.
The smearing effect due to the thruster torque is described in Figures 7 and 8.At the initial time, since the angular velocity is 0.01°/s for each axis, the star image is not blurred as much by the angular motion as it is in the thruster-operating case.In Figure 8, each star spot is more influenced by the angular motion than in Figure 7.In order to reduce the smearing effect, an attitude extended Kalman filter will be introduced in the next section that predicts measurement noise based on the PSF information.In order to reduce the smearing effect, an attitude extended Kalman filter will be introduced in the next section that predicts measurement noise based on the PSF information.

Extended Kalman Filter for Attitude Determination
In this section, an extended Kalman filter for spacecraft attitude determination is introduced.Observations from multiple stars are used to carry out measurements with the EKF and angular velocity measurements from the gyroscope are used for the propagation of states and covariances of the EKF.The quaternion parameter is chosen to represent the spacecraft attitude because it is free from singularities for all attitudes.In addition, the quaternion features the lowest dimensional attitude parameterization compared to all other alternatives.However, the quaternion has a normalization constraint which may be violated during the update sequence of the standard EKF.Instead of using the quaternion as a state, a multiplicative error quaternion-based extend Kalman filter is selected because the four-component quaternion can effectively be replaced by a three-component error vector [25].

Multiplicative Quaternion Formulation
A multiplicative quaternion-based extended Kalman filter, made by Lefferts et al. [12], has been used to implement an attitude determination filter.This section briefly introduces the derivation and configuration of this filter by referring to [12] and [25].The derivation of the multiplicative extended Kalman filter begins with a quaternion kinematics model described as where and q is a quaternion where q = ς T q 4 T .Because of the normalization constraint of the quaternion, error quaternion kinematics is adopted for the extended Kalman filter.First, an error quaternion is defined as where δq = δς T δq 4 T and ⊗ is an operator for quaternion multiplication.Error quaternion kinematics is written as Following first-order approximation, it is given by A rate-integrating gyro is a commonly used sensor for measuring angular velocity and its observation model is defined as where ω is a gyroscope measurement, β is a bias vector, and η v and η u are zero-mean Gaussian white-noise processes with covariances given by σ 2 v I 3×3 and σ 2 u I 3×3 , respectively [25].The estimated angular velocity and the time derivative of the bias vector are as follows: with Equations ( 30) and (31), and δω = ω − ω, Equation (29) yields where ∆β = β − β.The small angle approximation, δς = δα/2, gives where δα is the components of the roll, pitch, and yaw angles for any rotational sequence.Using Equations ( 30) and ( 32), the extended Kalman filter error model is described as where T , and F( x(t), t).Additionally, G(t) and Q(t) are given by The discrete time-star vector observation matrix is defined using the current quaternion and reference star vector in the star catalogue and is given by where k is a sample index, ỹk is a measurement matrix, A(q) is a direction cosine matrix of the current attitude, r n is the reference vector in the star catalogue of the n th observed vector, and ν n is a zero-mean Gaussian white-noise process of the n th observed vector with a covariance of σ 2 n I 3×3 , which leads to a measurement covariance matrix such that The sensitivity matrix for the star vector measurements has the form The estimate output is given by Then, the error-state update is written as where and K k is given by Using Equation (42), the bias and quaternion updates are given by where Renormalization of the quaternion update should be applied to the result of Equation (45).
The propagation of the state and covariance is outlined below.The readers are referred to [25] for detailed derivations.The propagated quaternion is given by with where The bias propagation and postupdate angular velocity are given as Sensors 2023, 23, 4212

of 22
The propagation of the covariance is given by with where The process noise covariance is given by

Non-Gaussian Measurement Noise Modeling
The multiplicative extended Kalman filter introduced in Section 3 assumes that the noise of the observed star vector is a zero-mean Gaussian white-noise process.Due to thruster-induced disturbance, the star images are blurred, which means this assumption is untrue and leads to the necessity of modeling the measurement error as non-Gaussian noise.
One of the methods for modeling non-Gaussian noise is the GMM.Based on the Wiener approximation theorem, any non-Gaussian noise distribution can be expressed as, or approximated sufficiently well by, a finite sum of known Gaussian distributions [15].
Lemma 1 [7].Any density f (g) associated with an m dimensional vector g can be approximated as closely as desired by a density of the form For some integer l and positive scalars a where ζ is a Gaussian distribution index, det(•) is the matrix determinant and • is the inner product in the Euclidean space R m .
If the number of Gaussian densities increases, the density function f C (g) may converge and the covariance of each density will approach a zero matrix [15].
GMM-based predicted star vector measurements are constructed by adding µ ζ to the predicted star vector measurement (yellow circle), and these are marked with four (l = 4) green circles in Figure 9.
If the number of Gaussian densities increases, the density function ( ) C f g may converge and the covariance of each density will approach a zero matrix [15].
GMM-based predicted star vector measurements are constructed by adding ζ μ to the predicted star vector measurement (yellow circle), and these are marked with four ( 4 l = ) green circles in Figure 9.

GMM-Based Adaptive Extended Kalman Filter
In the previous section, a Gaussian point generation method for non-Gaussian observed vectors was introduced.Using Equation (55), the non-Gaussian observed vectors can be approximated as a weighted Gaussian mixture.For the configuration of an EKF using the GMM, it is important to find out the optimal Gaussian approximation for the mixture.For this purpose, the linear adaptive Kalman filter algorithm proposed by Plataniotis et al. [15] was referred to for implementing the adaptive attitude estimation extended Kalman filter.For each propagated vector from the observed vectors, the extended Kalman filter is implemented in parallel.Then, based on the interim results from these dedicated Kalman filters, we can obtain a Bayesian a posteriori approximation of the Gaussian mixture required in the filtering process [15].Finally, the optimal Gaussian approximation for the mixture is obtained by an adaptive algorithm with a weighting evaluation.The equations for the GMM-EKF are introduced below.
In the multiplicative quaternion-based EKF described in Section 3.1, after propagating the states and covariance matrix with the postupdate states and covariance matrix, the innovation and Kalman gain are the next parameters to be obtained.Given the non-Gaussian measurement noise, we have to evaluate the parameters for each Gaussian point and

GMM-Based Adaptive Extended Kalman Filter
In the previous section, a Gaussian point generation method for non-Gaussian observed vectors was introduced.Using Equation (55), the non-Gaussian observed vectors can be approximated as a weighted Gaussian mixture.For the configuration of an EKF using the GMM, it is important to find out the optimal Gaussian approximation for the mixture.For this purpose, the linear adaptive Kalman filter algorithm proposed by Plataniotis et al. [15] was referred to for implementing the adaptive attitude estimation extended Kalman filter.For each propagated vector from the observed vectors, the extended Kalman filter is implemented in parallel.Then, based on the interim results from these dedicated Kalman filters, we can obtain a Bayesian a posteriori approximation of the Gaussian mixture required in the filtering process [15].Finally, the optimal Gaussian approximation for the mixture is obtained by an adaptive algorithm with a weighting evaluation.The equations for the GMM-EKF are introduced below.
In the multiplicative quaternion-based EKF described in Section 3.1, after propagating the states and covariance matrix with the postupdate states and covariance matrix, the innovation and Kalman gain are the next parameters to be obtained.Given the non-Gaussian measurement noise, we have to evaluate the parameters for each Gaussian point and adaptively assemble these parameters before computing the innovation covariance and Kalman gain.
The estimate measurement output is given by where h k,sum is a weighted sum of each estimate measurement output with propagated quaternions, h k,ζ is the ζ th GMM-based predicted measurement, and γ k,ζ is a weight for the ζ th Gaussian density.In addition, h k,ζ is defined as Here, each group of elements, h k,ζ (3κ − 2 : 3κ), κ = 1, 2, . . .n, should be renormalized because of the constraint that a unit star vector has.
The innovation covariance is given by with where and R k,ζ is a measurement covariance matrix for the ζ th propagated quaternion.Moreover, γ k,ζ is given by where a ζ represents the initial weighting coefficients defined in Equation (55) and c k is a normalization factor given by Then, the Kalman gain is obtained by with where h k,sum (3n − 2 : 3n) denotes a [3 × 1] matrix from h k,sum , of which the elements are evaluated using the n th reference vector.Then, the state update begins with where The final processes of the states update are as follows: The logic of the GMM-EKF is presented in Algorithm 2.
Algorithm 2: GMM-EKF algorithm Input : Update: Computation of H k as in (40)

Simulation Study
In this section, the GMM-based EKF is implemented using the profile of the quaternion, angular velocity, gyroscope, and star tracker measurements generated for the simulation in Section 2.3.1.The performance of the GMM-EKF and EKF is compared with the same profiles.The gyroscope and filter conditions are shown in Tables 4-6.

GMM-EKF Simulation Results
The proposed algorithm was simulated under thruster-induced disturbance.Since the measurement noise is non-Gaussian, a weighted sum of Gaussian densities was introduced to predict the measurement.In this simulation, four Gaussian densities were chosen and added to the predicted measurement with the a priori quaternion.Since quaternion prediction is obtained using the angular velocity estimate, reducing bias from the angular velocity is also important.For each Gaussian density with mean values selected, the pixel errors of the centroid were considered to widely cover the measurement noise.The process noise matrix Q k from Equation (54) was chosen as 10Q k due to its better performance.The accuracy of the GMM-EKF estimation error was evaluated using the root mean square error (RMSE), as shown in Equation (69).

RMSE
where n total represents the total number of estimates, xk represents the estimated state, and x k is the true state.
In Figure 10a, the Euler angle estimate error from the GMM-EKF is shown, in which the RMSE is [3.43, 3.89, 4.86] arcsec.This RMSE corresponds to an almost 0.20-pixel error and is improved compared to the raw pixel error.In Figure 10b, the bias estimate error from the GMM-EKF is shown, in which the RMSE is [6.96, 8.03, 8.21] × 10 −4• /s.
A Monte Carlo simulation was conducted to verify the convergence of the GMM-EKF.One hundred sets of initial conditions were simulated, with the initial Euler estimation errors ranging from −0.5 to 0.5 • and initial bias estimation errors ranging from −4.2 × 10 −3• /s to 4.2 × 10 −3• /s. Figure 11 shows the attitude and bias estimation errors for all 100 cases, and it can be observed that all cases converged successfully.
where total n represents the total number of estimates, ˆk x represents the estimated state, and k x is the true state.
In Figure 10a, the Euler angle estimate error from the GMM-EKF is shown, in which the RMSE is [3.43, 3.89, 4.86] arcsec.This RMSE corresponds to an almost 0.20-pixel error and is improved compared to the raw pixel error.In Figure 10b, the bias estimate error from the GMM-EKF is shown, in which the RMSE is [6.96, 8.A Monte Carlo simulation was conducted to verify the convergence of the GMM-EKF.One hundred sets of initial conditions were simulated, with the initial Euler estimation errors ranging from −0.5 to 0.5 ° and initial bias estimation errors ranging from −4.2 × 10 °/s to 4.2 × 10 °/s. Figure 11 shows the attitude and bias estimation errors for all 100 cases, and it can be observed that all cases converged successfully.

Comparison between GMM-EKF and EKF Performance
The GMM-EKF and EKF are compared in this section.Since the EKF only considers the measurement noise as Gaussian, the predicted measurement is only made with an a priori quaternion.It cannot cover non-Gaussian measurement noise.After tuning the EKF parameters, the process noise k Q was chosen as 10 k Q , and the measurement noise matrix k R was set as 5 k R due to their better performance.k R was changed in order to make the estimation error stay within the three-sigma boundary.In Figure 12, the RMSE of the Euler angle estimate of the EKF is [5.48, 5.71, 6.09] arcsec, which is equivalent to an almost 0.30-pixel error.Figure 13 shows the attitude estimation error profiles from the GMM-EKF and EKF.Therefore, the GMM-EKF performs better than the EKF under thruster-induced disturbance.

Comparison between GMM-EKF and EKF Performance
The GMM-EKF and EKF are compared in this section.Since the EKF only considers the measurement noise as Gaussian, the predicted measurement is only made with an a priori quaternion.It cannot cover non-Gaussian measurement noise.After tuning the EKF parameters, the process noise Q k was chosen as 10Q k , and the measurement noise matrix R k was set as 5R k due to their better performance.R k was changed in order to make the estimation error stay within the three-sigma boundary.In Figure 12, the RMSE of the Euler angle estimate of the EKF is [5.48, 5.71, 6.09] arcsec, which is equivalent to an almost 0.30-pixel error.Figure 13 shows the attitude estimation error profiles from the GMM-EKF and EKF.Therefore, the GMM-EKF performs better than the EKF under thruster-induced disturbance.
Sensors 2023, 23, 4212 20 of 22 matrix k R was set as 5 k R due to their better performance.k R was changed in order to make the estimation error stay within the three-sigma boundary.In Figure 12, the RMSE of the Euler angle estimate of the EKF is [5.48, 5.71, 6.09] arcsec, which is equivalent to an almost 0.30-pixel error.Figure 13 shows the attitude estimation error profiles from the GMM-EKF and EKF.Therefore, the GMM-EKF performs better than the EKF under thruster-induced disturbance.

Conclusions
Because of misalignments in the thrusters of geostationary satellites and the impulse characteristic of their torque, the performance of vector measurements taken with a star tracker decreases as the PSF of the star image is blurred.Thruster modeling and PSF characteristics were investigated and implemented to examine the influence of the thrusterinduced disturbance on star images.The blurring effect on images could be seen from our simulation, and thus, this study implemented an attitude extended Kalman filter.In order to handle the non-Gaussian noise of the star vector measurements, the GMM was introduced and implemented with an attitude extended Kalman filter to predict the measurement noise with the aid of a priori knowledge of the attitude quaternion.Four Gaussian densities were chosen by considering the pixel noise from the thruster-induced disturbance and weights for each mixture and were automatically updated depending on the innovation covariance between the star vector measurements and the predicted measurement from the GMM.Simulation results indicate that the GMM-EKF produces a better performance than the EKF in regard to attitude estimation.Therefore, the GMM-EKF could be considered as a potential approach in geostationary satellite missions for attitude estimation under thruster firing.

Conclusions
Because of misalignments in the thrusters of geostationary satellites and the impulse characteristic of their torque, the performance of vector measurements taken with a star tracker decreases as the PSF of the star image is blurred.Thruster modeling and PSF characteristics were investigated and implemented to examine the influence of the thrusterinduced disturbance on star images.The blurring effect on images could be seen from our simulation, and thus, this study implemented an attitude extended Kalman filter.In order to handle the non-Gaussian noise of the star vector measurements, the GMM was introduced and implemented with an attitude extended Kalman filter to predict the measurement noise with the aid of a priori knowledge of the attitude quaternion.Four Gaussian densities were chosen by considering the pixel noise from the thruster-induced disturbance and weights for each mixture and were automatically updated depending on the innovation covariance between the star vector measurements and the predicted measurement from the GMM.Simulation results indicate that the GMM-EKF produces a better performance than the EKF in regard to attitude estimation.Therefore, the GMM-EKF

Figure 1 .
Figure 1.A pinhole camera model of star tracker.

Figure 1 .
Figure 1.A pinhole camera model of star tracker.

Figure 1 .
Figure 1.A pinhole camera model of star tracker.
− is the frame system of the star tracker, ( ) 00 , xy is a point where the boresight axis intersects the focal plane, f is the focal length, b represents the ob- served star vector in the star tracker frame, r is the reference star vector in the star cata- logue that the star tracker is equipped with, and ( ) ,  is the right ascension and n sin Λ n cos fast maneuvering or complicated dynamics.

Figure 1 .
Figure 1.A pinhole camera model of star tracker.
− is the frame system of the star tracker, ( ) 00 , xy is a point where the boresight axis intersects the focal plane, f is the focal length, b represents the ob- served star vector in the star tracker frame,

Figure 1 .
Figure 1.A pinhole camera model of star tracker.
− is the frame system of the star tracker, ( ) 00 , xy is a point where the boresight axis intersects the focal plane, f is the focal length, b represents the ob- served star vector in the star tracker frame,

Figure 1 .
Figure 1.A pinhole camera model of star tracker.

F
, thr,y F , and thr,z F are components of the unit thruster force vector thr F , and lev F represents the thruster level.

Figure 2 .
Figure 2. Single thruster's setup direction regarding body axis.The misalignment of the thruster setup is considered in this paper, which leads to thr, lev thr thr thr thr thr, lev thr thr thr, lev thr thr thr thr z Δ represent the equivalent torque arms of the thruster thr τ for the three-axis satellite body frame, and thr,x r , thr,y r , and thr,z r are the three-axis components of position vector thr r measured from the center of the mass of

Figure 3 .
Figure 3. Example thruster setup for a satellite (featuring six thruster units).

i
torque arms of the three-axis sat- ellite body frame.Using the thruster setup in Figure3, the torque constants are defined as

Figure 3 .
Figure 3. Example thruster setup for a satellite (featuring six thruster units).

Figure 6 .
Figure 6.(a) Thruster force profile of each thruster unit; (b) Three-axis torque profile.Figure 6.(a) Thruster force profile of each thruster unit; (b) Three-axis torque profile.

Figure 9 .
Figure 9. GMM distribution of non-Gaussian noise of star vector measurement.

Figure 9 .
Figure 9. GMM distribution of non-Gaussian noise of star vector measurement.
of h k,ζ as in (58) Computation of H k,ζ as in (61) Computation of P z − k,ζ as in (60) Computation of c k , γ k,ζ as in (62) and (63) Computation of h k,sum as in (57) Computation of P z − k as in (59) Computation of H k,sum as in (65) K k,sum = P − k H T k,sum P z − k −1

Figure 12 .
Figure 12.(a) Euler estimate error profile of EKF; (b) Bias estimate error profile of EKF.Figure 12. (a) Euler estimate error profile of EKF; (b) Bias estimate error profile of EKF.

Figure 12 .
Figure 12.(a) Euler estimate error profile of EKF; (b) Bias estimate error profile of EKF.Figure 12. (a) Euler estimate error profile of EKF; (b) Bias estimate error profile of EKF.Sensors 2023, 21, x FOR PEER REVIEW 22 of 23

Table 1 .
Thruster specifications for simulation.

Table 2 .
Star tracker specifications for simulation.

Table 3 .
Satellite model and parameters of quaternion feedback PD control law.

Table 4 .
Gyroscope specifications for simulation.

Table 5 .
Filter conditions for simulation.

Table 6 .
Filter initial states.