Fast SINS Initial Alignment Method Based on Iterative Algorithms in Inertial Frame

Iterative algorithms based on saved data have been researched for strapdown inertial navigation system to make the best use of sensor data, and different alignment algorithms can be carried out during the iterative process to fulfil initial alignment. This paper firstly analysed two interactive processes. The forward-backward process needs to change the normal system model in the backward process and have additional error factors. While the forward-forward process is easy to be carried out without changing the system model, the transition error will also decrease the accuracy. In addition, traditional iterative methods always need to save a large amount of data and do redundant computation, which is not highly effective, especially in view of the real-time property. To address these effects, a forward-forward solution in the inertial frame based on Kalman filter is analysed. This method calculates the attitude transfer matrix in the inertial frame to deal with angular disturbances and avoids saving all the original measurement data during the process, which makes the method more stable and faster to fulfil in the real-time system. Simulation and turntable test validates the performance of the proposed method.


Introduction
Strapdown inertial navigation system (SINS) is widely used in the field of navigation and positioning, such as vehicles, ships, submarines, and aircrafts [1]. Different from the Global Navigation Satellite System (GNSS), SINS is a deadreckoning navigation system [2], which does not rely on external reference and is less susceptible to interference. However, SINS cannot be calibrated without reference information and will have error accumulation during the navigation process [3,4]. e performance of SINS highly depends on the accuracy of the initial navigation parameters, among which the initial velocity and position can be easily obtained from external references such as GPS and DVL [5,6]. But normally, the initial attitude needs to be obtained through the initial alignment process by the system, which becomes the main factor that influences the navigation accuracy. High precision of the alignment is of vital importance for inertial navigation and positioning. us, the initial alignment is a key technology for SINS [7,8].
Normally, the initial alignment could be divided into two stages: coarse alignment and fine alignment [9]. Coarse alignment utilizes the analytic method to roughly estimate the rotation matrix between the body frame and navigation frame in a short time. Ideally, the horizontal misalignment angles will be less than one degree, and the heading misalignment angle is constrained in several degrees [10]. Due to the small misalignment angles, the error model of SINS can be approximated to a linear model after coarse alignment. During the fine alignment stage, the misalignment angles will be decreased effectively and sensor errors could be estimated based on the error model of SINS. "Velocity" or "position" matching methods, which are based on Kalman filter (KF), are usually used as fine alignment methods [11][12][13]. KF is known to be an optimal estimator, which is used to estimate the misalignment angles and sensor errors in the alignment process. Many research studies have been done to improve the performance of KF. Hu et al. [14] and Shen et al. [15] applied the nonlinear filtering technology in the integrated navigation system, which are used to improve the adaptiveness, but the alignment time is hard to decrease remarkably. Another fine alignment method is the compass method, which is derived from the platform initial navigation system [16]. Different from KF, the compass method is based on the classical control theory to realize initial alignment. It does not need precise mathematical models and noise models, whereas it cannot estimate the sensor bias.
Precision and time are the most important indexes during the initial alignment process of SINS. Many solutions have been proposed to shorten the alignment time or increase the alignment accuracy [17][18][19][20][21]. However, it is hard to shorten the time while increasing the accuracy as there is contradiction between alignment time and accuracy [22]. For SINS, inertial sensors are installed directly on the carrier, and the mathematical platform is calculated in the navigation process. In this case, the relationship between the carrier and sensors is constant, and different navigation results can be obtained with the same set of sensor data but with different attitude matrixes. en, the navigation errors could be used to calculate the misalignment angles during the fine alignment process. e same set of sensor data of SINS can be transformed to different projected data in the mathematical platform with different attitude matrixes, and these projected data can be used in the alignment method to generate control signals to update the attitude matrix. en, new projected data can be obtained from the new attitude matrix. Based on this, the same set of sensor data can be used in the fine alignment process repeatedly to get a better attitude matrix with less navigation errors.
Fast initial alignment methods for SINS based on the saved data and iterative calculation have been researched a lot in recent years [17,[22][23][24][25]. e iterative process could be divided into forward-forward process and forward-backward process, and then the normal fine alignment algorithm is combined with the iterative process. Under ideal conditions, only a short set of sensor data is enough to fulfil the alignment, but the sensor errors and different motion conditions will have a bad effect on the accuracy of practical application [5]. Normally, a few seconds or several minutes of data will be needed. On the other hand, the normal iterative process needs to save all the measurement data from the inertial sensors to update navigation parameters during each iterative period, which will be a considerable amount of data need to be saved and calculated per second. And during the iterative process, new measurement data also need to be saved to transform the alignment result to the real-time process. e more time used in the iterative process, the more data need to be saved and more errors will be accumulated. It is inefficient with saving all the sensor data, and this will cause redundant calculation.
is paper analyses the typical iterative process and researches the improved alignment method in the inertial frame with forward-forward process. Error model of the inertial frame is adopted to fulfil the alignment, while decreasing the amount of saved data and shortening the time of iterative calculation. e rest of this paper is organized as follows: rhe error model of SINS in the navigation frame is introduced in Section 2. en, iterative process is further analysed, and simulation of the forward-forward process and forward-backward process is given in Section 3. In Section 4, the errors of the alignment method based on iterative process are analysed. en, the alignment method in the inertial frame based on forward-forward process is proposed in Section 5. Simulation and turntable test are done in Section 6 to validate the proposed method. Finally, conclusions are drawn in Section 7.

Error Model of SINS
In order to avoid confusion, the different coordinate frames in this paper are defined as follows: e i-frame is the earth-centred initially fixed orthogonal coordinate frame. e e-frame is the earth-centred earthfixed (ECEF) orthogonal reference frame. e n-frame is the navigation coordinate frame, aligned with east-north-up (ENU) geodetic axes. e n 0 -frame is the navigation inertial coordinate frame. It is formed by fixing the n-frame at the beginning of the process.
e b-frame is the orthogonal reference frame aligned with inertial measurement unit (IMU) axes. e b 0 -frame is the body inertial coordinate frame. It is formed by fixing the b-frame at the beginning of the process. e n-frame has followed through three Euler angles rotation to b-frame. e rotation transformation relationship between the n-frame and b-frame can be described by the direct cosine matrix (DCM) C b n [24]. However, there are several kinds of measurement errors and disturbances in the actual navigation system, so rotational errors usually exist between the calculated navigation coordinate frame (n′frame) and the ideal n-frame. ϕ � ϕ E ϕ N ϕ U T is used to describe the misalignment angle between the n-frame and n′-frame, and the rotation transformation relationship between C b n and C b n′ is From [26,27], the attitude error equations and velocity error equations of SINS on swaying base can be simplified as follows: where ω n in is the rotating rate of the n-frame with respect to the i-frame, which is projected onto the n-frame, and T is the velocity error, f b is the accelerometer measurement, ω n ie � [0 ω ie cosL ω ie sinL] T , and L is the latitude, ω ie is the magnitude of Earth rotation rate, and ω n en is the angular rate of n-frame with respect to the e-frame, which is projected onto the n-frame.

Iterative Navigation Algorithms for SINS
With inertial sensors being directly installed on the carrier of SINS, the mathematical platform in SINS replaces the physical platform in the traditional platform inertial navigation system (PINS) [28]. For SINS, when the carrier is stationary, the measurement data of the ideal error-free inertial sensors stay the same, which means the attitude could be calculated by using one sampling of sensor data repeatedly. e attitude relationship between the b-frame and n-frame with the DCM C b n is determined at the beginning and stays the same through the whole navigation process. As a result, with a period of saved measurement data, the attitude could also be calculated with iterative algorithms [5].
Iterative algorithms could be divided into forwardforward algorithm and forward-backward algorithm, and the design of them is shown in Figure 1. During the normal process from t 0 to t n , the sensor data is saved, and the normal forward navigation algorithm is performed. en, the data from t 0 to t n is used to do the forward process repeatedly as shown in Figure 1(a), while the backward process is performed with the data from t n to t 0 after the forward process in Figure 1(b). e data of time t b a means the data at time point t a in the bth iterative period of the process.

Algorithms of Forward Navigation Process and Backward
Navigation Process. Assuming that the attitude, velocity, and position are all calculated or given at the origin of the inertial navigation, velocity and attitude during the forward navigation process can be updated as follows [28]: where and [·×] denotes the skew symmetric matrix of the vector ″ · ″ e forward process is from the origin to the end, while the backward process is from the end to the origin, which is a reverse process of the normal navigation process. Similarly, the backward navigation process can be obtained by rearranging equations (4) and (5) as follows: where the superscript " ← " denotes the backward process [23,25]. e backward navigation process is just like the playback of the forward process. e carrier has the same attitude at the same sampling point t k no matter in the forward or backward process, which is . erefore, compared with the forward process, the backward process has converse angular velocity. As the attitude is the integration of angular rate, the angular rate could be obtained as ω . Meanwhile, the system should have the same position in the backward process as the forward process at the same sampling point t k , which means the velocity should be converse as V Some research studies deal with the output of the gyro and accelerometer similarly in the backward process as , which means the velocity in contiguous period of forward-backward navigation process is axisymmetric as V ← n (t k ) � V n (t k ), but the position will change at the same sampling point. is approach has little effect on the stationary base, but the position error will have bad effect on the accuracy of the system with position changing or if the iterative process lasts for a long time.

Simulations for Iterative Navigation Process.
e simulation is produced into two stages: (1) error-free sensor data is produced during time t 0 to t n and saved with the ideal navigation parameters, and then the normal forward navigation process is performed; (2) the saved data are used to fulfil the forward or backward navigation of the forwardforward or forward-backward process. Velocity and attitude are changing during the simulation period, which are being updated using the saved measurement data through the whole process. e attitude and velocity curves of one direction of the two iterative navigation solutions are shown in Figures 2 and 3.
As shown in Figures 2(a) and 3(a), the forward-forward navigation process is the repetition of the normal navigation process with the same saved data from t 0 to t n . Each repetition should start with the same initial position and velocity, as well as the attitude. e carrier gets the same attitude and velocity during t i 0 ∼ t i n as those during t 0 ∼ t n .
Figures 2(b) and 3(b) show that, during the period t 1 0 ∼ t 1 n of the backward period, t 1 n and t 1 0 are the start and end time, respectively, while t 1 0 is also the start time of the forward period t 2 0 ∼ t 2 n . e attitude and velocity at t i n in the forward process is equal to t i+1 n of the backward process, and the attitude and velocity at t i 0 in the backward process is equal to t i+1 0 in the forward process. Velocity and attitude at t i n are set as the initial parameters of t i+1 n , and then the simulation seems to back to the origin and get the same attitude, velocity, and position as those at t 0 in the backward process.
It would be found from Figure 2(b) that the attitude curve of the whole forward-backward process is a coherent curve, while from Figure 3(b), the velocity at t i n and t i+1 0 are reversed. Different from the forward-backward process, forward-forward process is like combining several same processes.

The Drawback of Traditional Iterative Alignment Algorithm
e fine alignment methods such as compass method or Kalman filter are used during the navigation process to fulfil alignment for the normal system. Similarly, the fine alignment algorithm could also be added to the iterative process to fulfil the alignment. Different from the normal system using the measurement data in real-time, the forward-forward process is not a continuous process for attitude and velocity between different periods, while the forwardbackward process needs to change the framework of the navigation algorithm compared to the normal process; as a result, the fine alignment method could not be used directly during the iterative process. Meanwhile, the iterative process will also cause other errors besides normal alignment errors.

Forward-Forward Process.
During the forward-forward process, C b n will be updated in the first period t 1 0 ∼ t 1 n as usual, and C b n (t 2 0 ) is calculated from C b n (t 1 n ) at time t 1 n to run the forward process again. e DCM transferred from the end of period l to the start of period l + 1 could be calculated as follows: where C b 0 b is the rotation matrix of the body frame from t 0 to t n , C n 0 n is the rotation matrix of the navigation frame from t 0 to t n . C b 0 b and C n 0 n are both constant matrices during different iterative periods, which just need to be calculated once during the whole alignment process using ω b ib and ω n in as follows: and in the period t l 0 ∼ t l n , C b n is updated by the saved data based on equation (4). e forward-forward process is not a continuous process for calculating the attitude matrix as it needs the transition based on equation (9) between every two periods. Influenced by the sensor bias and measurement errors, the output of gyro is not ideal, and C b 0 b will not be accurate as well, which will cause the transition error between every two periods. e velocity is also not continuous during the whole process as it will be given an initial value (such as 0 on the stationary base) at the start of every period, and as a result, the error of velocity needs to be accumulated from the initial value over again during each period. While the misalignment angles are estimated from the velocity error based on the system error model by the alignment method, this solution is not efficient enough.

Forward-Backward Process.
From Section 3, the forward-backward process does not need the transition of C b n between different periods. e attitude at the end of the forward process is just the attitude at the start of the next backward process, where there is C b . e attitude calculation of the forward-backward process is a continuous process, so the backward period can be considered as an extended process of the forward period. However, as the navigation algorithm is different during the backward process, the alignment algorithm also needs to be changed in the backward process, and the error equations need to be reanalysed [21].
In case of sensor constant errors, the normal output of gyro could be described as While in the backward process, it will be We hope that the form of the errors in the iterative alignment process is similar to the form of the errors comprised in the saved data. e ideal form of the output of the gyro with converse angular rate but the same bias in the backward process should be −ω b ib + ε b . us, there will be 2ε b between the real form and the ideal form as shown in Figure 4. For example, if the ideal gyro output without bias during the saving period is sinusoidal as curve 1 in Figure 4, the real output will be curve 2 due to the gyro bias.
e form of the ideal gyro output during the backward process of alignment was thought to be sinusoidal too, which is represented by curve 3. According to equation (12), the form of the data in the backward process will be curve 5. Curve 4 shows the form of gyro output if more data is sampled as normal. Another thing is the disturbance caused by the oscillatory error and low-frequency noise of sensors in the backward process [20,22]. ese errors will have a bad effect on the accuracy of the initial alignment.

Iterative Alignment Method in the Inertial Frame
From Sections 3 and 4, the main problem of the forwardforward process is the transition error at the start of each period from equation (9). e forward-backward process needs different system model and has different error model in the backward period. Besides, the updating of attitude and velocity based on equations (4)- (8) needs to save all the measurement data of gyros and accelerometers during both forward and backward process. e inertial frame stays the same during the initial alignment process, which means the DCM of the initial attitude C n 0 b is a constant matrix. Transition using equation (9) is not needed for C n 0 b during different iterative periods. If C n 0 b could be calculated precisely, the alignment process could be fulfilled by a simple transition.

Alignment in the Inertial Frame.
We rewrite equation (5) in n 0 -frame as Mathematical Problems in Engineering However, the calculated results will have some errors. "^" is used to describe the calculated result, and equation (14) yields as follows: where ∇ b c is the constant bias and ∇ b r is the random error. ϕ n 0 is the misalignment angle in the inertial frame, which could be considered as a small angle after coarse alignment [26].
e attitude matrix C n b could be calculated by ω n 0 in 0 � 0 as n 0 is an inertial frame, and ω n 0 en 0 could be calculated as follows: As the period of the alignment process is short, the Earth rotation rate is constant, and the error of latitude is minor. ω n ie is considered accurate in the process, and C n n 0 is also accurate as it is updated by ω n ie , which is C n n 0 ≈ C n n 0 . C n n 0 could be described by a function of the time t k as the rotation vector ω n ie is constant. e quaternion form of C n n 0 (t k ) could be calculated as follows: where u → � 0 1 tan L T . Using equations (15) and (14) and neglecting the secondorder small quantity, the velocity error can be obtained as follows: As ϕ n 0 is irrelevant with the Earth rotation and carrier motion, equation (2) could be rewritten in the i-frame as where ε b c is the constant bias of the gyro and ε b r is the random error. e update process can be performed with Kalman filter to estimate ϕ n 0 . Set the state variable X � ϕ n 0 δV n 0 ε b c ∇ b c , and the system equation could be obtained from equations (21) and (22) as e measurement variable Z is set as where R is the measurement noise. e velocity of the carrier in the n 0 -frame could be integrated from equation (15) as

e Process of the Forward-Forward Alignment Method in the Inertial
Frame. e data during normal time t 0 to t n could be used to form the real-time coarse alignment, and the related data could be saved. en, the forward-forward process with Kalman filter in the inertial frame is implemented to fulfil the fine alignment. At the start of each period, the Kalman filter needs to be initialized. Figure 5 shows the process of the whole alignment.
Different from normal forward-forward process in the nframe, the original sensor data does not need to be saved with the method above. From equation (23), at sampling time t k during the period l, the information needs to be updated based on the sensor data which is , which stay the same during different periods.  , which could be calculated from equation (25). ϕ n 0 is estimated by the Kalman filter.
e attitude curves will converge after repeating the process for several times, and then the DCM of the real time t p could be calculated as follows: where the quaternion form of C n(t p ) n(t n ) could be calculated as follows:

Analysis of the Method
In the normal process, the real attitude matrix C b n (t k ) is changing all the time if the carrier is not stationary, which means C b n (t k ) needs to be updated all the time during the iterative process. e b-frame b(t k ) is changing with carrier rotation, and the n-frame n(t k ) is changing with Earth rotation and carrier motion. As a result, the iterative navigation process in n-frame will need to save all the sensor data and the update the attitude with every saved data. If the sensor sampling rate is 200 Hz, the output of the gyro and accelerometer need to be saved at 200 Hz; meanwhile, the attitude and velocity during the iterative process need to be updated at 200 Hz.
is will occupy a large amount of storage and cost much more time for the iterative calculation.
Instead of calculating C n b directly, C n 0 b 0 is estimated in the method from Section 5. e attitude in the inertial frame is steady during the iterative process as the motion and swing have no effect on the velocity and attitude of the inertial frame. e only parameter needs to be updated in the inertial frame during the iterative process is the velocity. If the solution frequency of Kalman filter during the forward-forward process is set as 1 Hz, the system information will be updated at 1 Hz. From equation (23), are used during the alignment process, which need to be calculated and saved during the normal time from t 0 to t n at 1 Hz, and C b 0 b could also be transformed into quaternion form to save the storage space. By this, the data need to be saved is reduced by nearly 200 times compared to normal iterative process.

Simulation for Alignment in the Inertial Frame Based on Forward-Forward Process.
e simulation is supposed to be carried out under a swing condition. e errors of sensor are listed in Table 1, and the swing parameters are listed in Table 2. e carrier is assumed without linear motion, and the initial latitude, longitude, and height are set as 32°, 118°, and 30 m, respectively. e sensor sampling rate is 200 Hz, while the Kalman Filter resolution cycle is set as 1 s. e simulation is carried out for 120 s, and the measurement data is generated and saved for alignment analysis. e initial attitude errors are set as 2.5°, 2.5°, and 4°for pitch, roll, and heading, respectively. e initial settings for the Kalman filter are given as follows: where P 0 is the initial state covariance matrix. e obtained misalignment angles of attitude through the forward-forward alignment method in the inertial frame are shown in Figure 6, and statistic results of the misalignment angles are shown in Table 3.
It is clear to see in Figure 6 that the convergent estimation value of the attitude angles can be obtained within five times of the forward process with the saved IMU data. e pitch and roll misalignment angles could reach about ± 0.003°in the second period of iterative process, and the Normal process, save Q b b0 (t k ) and Figure 5: Process of the alignment based on forward-forward process in inertial frame.   heading misalignment angle converges to about 0.09°after two times of the iterative process. Although the heading angle needs nearly three times of the process to become convergent, the real time needed during the iterative process for the computer is quite little.

Mathematical Problems in Engineering
As the level angles are easy to converge during the alignment, more simulations are done for the heading angle to test the effect. e simulation is done with different lengths of the saved data and iterative times. e duration of data is set saving as T s , and the number of times of the forward process needed during the alignment is M f . e simulation chooses T s � 30 s, 60 s, 100 s, 150 s, and 200 s and M f � 20, 10, 6, 4, 2, respectively, where T s M f � 600 as the whole times of Kalman filter resolution period in the fine alignment process. e simulation condition is set as same as Tables 1 and 2. e curves of the heading misalignment angle with different T s are shown in Figure 7.
From Figure 7, it could be found that T s � 30 s and 60 s is too short for each process to converge. For T s ≥ 100 s, the alignment could fulfil in limited times of the process and has similar accuracy. Even though the saved data could be used for numerous times, the attitude will not converge in each period with too short saved data. In view of different alignment conditions, data lasting for about 100 s∼200 s is usually chosen to be saved to fulfil the fine alignment.

Turntable Test.
Considering engine vibration and angular motion of the carrier, the turntable test is executed to verify the validity of the proposed method. e IMU used in this test is developed by Casic33s as shown in Figure 8; and fibre optic gyros and quartz accelerometers are used in this type of IMU, and the precision parameters of sensors are listed in Table 4. In this IMU, the updating frequency of sensor data is 200 Hz. e experimental environment consists of a turntable, IMU, computer, time-synchronization signal generator, data acquisition card, local area network, serial communication port, and so on. IMU is installed in the turntable with the x, y, and z axes coinciding with the axes of intermediate, inner, and outer frames, respectively.
A time-synchronization signal of 200 Hz is introduced to make the IMU data and turntable data synchronous. Under this experimental environment, once the time-synchronization signal is acting, the current angle information of turntable will be sent to the computer via serial    communication port and be saved at 200 Hz, and then the current sensor data and alignment results will be collected for alignment solution. With the data from turntable and IMU stored in the computer, evaluation can be executed on the alignment results. e algorithms are carried out based on VC++. At first, the inner frame rotates to 6°, the intermediate frame rotates to 357°, and the outer frame rotates to 25°( these values can be selected randomly), which is set as the swing center. e swing amplitude and frequency of the turntable are set in Table 5. e test lasts for 600 s, during which the measurement data of IMU and the attitude of turntable were saved. ree alignment schemes are compared: (1) iterative alignment with Kalman filter in the inertial frame (scheme A); (2) iterative alignment with Kalman filter in the navigation frame (scheme B); and (3) normal alignment process with Kalman filter in the navigation frame (scheme C). e Kalman filter resolution cycle is set as 1 s. 5 iterative navigation solution cycles are required to finish the alignment in scheme A and scheme B with each cycle using the saved data of 120 s. e calculated attitudes of the three schemes are compared with the attitude of the turntable, and then the misalignment angles are calculated. It should be noted that scheme C used 600 s to fulfil the process and update 600 times with Kalman filter, while scheme A and scheme B also update 600 times but use the data in the first 120 s for 5 times.
e curves of misalignment angles are shown in Figure 9 and the RMS values calculated from the last 30 value of the estimation errors are shown in Table 6.
From Figure 9, it could be seen that scheme A and scheme B had oscillation during the iterative process, especially at the switching point. Figure 9(c) shows that during the first 120 s, scheme B and scheme C had the same result as they used the same algorithm, but scheme B is different since 120 s as it had a transition to fulfil the iterative process. For the pitch and roll angles, the three schemes had similar effect. While for the heading angle, scheme B is not stable. e period of 120 s is not    Table 6, it can be seen that the alignment accuracy of scheme A could reach the same level as scheme C but with the least time. As scheme B needs to save all the IMU data during the first 120 s and use all the data to update the attitude at 1 Hz, the alignment time needed for scheme A is less than scheme B.

Conclusion
In this paper, iterative calculation methods, which include forward-forward method and forward-backward method, used in the SINS are discussed. Based on the saved sensor data, the iterative methods could improve the data utilization. For the iterative methods used to fulfil the alignment, the forwardforward process in the navigation frame is easy to carry out but it is also not efficient enough as it needs to deal with the transition errors at the beginning of every period. e forwardbackward process needs to change the system model and use different updating equations, which is hard to carry out, and the sensor errors as well as the oscillation errors will lead to accuracy degradation. e forward-forward process in the inertial frame is used to deal with these problems. Just like the forwardforward process in the navigation frame, this method uses the same updating equations during different periods. Meanwhile, the attitude calculation in the inertial frame is separated from the motion influence of the b-frame, which means no transition errors will be added during different periods. e data need to be saved and calculated is also projected to be much less. e simulation and the turntable test both indicate that the proposed method can fulfil the initial alignment effectively, and the alignment accuracy is not decreased.

Data Availability
e data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.