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

Authors: Dongrui Yang; Xiaosu Xu; Yiqing Yao
Journal: Mathematical Problems in Engineering
 (2020)

---

## Abstract

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.


---

## Body

## 1. 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 dead-reckoning 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]. The 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. Thus, 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–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–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. Then, the navigation errors could be used to calculate the misalignment angles during the fine alignment process. The 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. Then, 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–25]. The 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. The 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.This 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. The rest of this paper is organized as follows: rhe error model of SINS in the navigation frame is introduced in Section2. Then, 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. Then, 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.


## 2. Error Model of SINS

In order to avoid confusion, the different coordinate frames in this paper are defined as follows:Thei-frame is the earth-centred initially fixed orthogonal coordinate frame. The e-frame is the earth-centred earth-fixed (ECEF) orthogonal reference frame. The n-frame is the navigation coordinate frame, aligned with east-north-up (ENU) geodetic axes.Then0-frame is the navigation inertial coordinate frame. It is formed by fixing the n-frame at the beginning of the process.Theb-frame is the orthogonal reference frame aligned with inertial measurement unit (IMU) axes.Theb0-frame is the body inertial coordinate frame. It is formed by fixing the b-frame at the beginning of the process.Then-frame has followed through three Euler angles rotation to b-frame. The rotation transformation relationship between the n-frame and b-frame can be described by the direct cosine matrix (DCM) Cnb [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ϕUT is used to describe the misalignment angle between the n-frame and n′-frame, and the rotation transformation relationship between Cnb and Cn′b is(1)Cnb=Cn′bCnn′.From [26, 27], the attitude error equations and velocity error equations of SINS on swaying base can be simplified as follows:(2)ϕ˙=ϕ×ωinn−δωinn−εn,(3)δV˙n=−ϕ×Cbnfb+δVn×2ωien+ωenn+∇n,where ωinn is the rotating rate of the n-frame with respect to the i-frame, which is projected onto the n-frame, and εn=εEεNεUT=Cbnεb, εb is the gyro drift rate. δVn=δVEδVNδVUT is the velocity error, fb is the accelerometer measurement, ωien=0ωiecosLωiesinLT, and L is the latitude, ωie is the magnitude of Earth rotation rate, and ωenn is the angular rate of n-frame with respect to the e-frame, which is projected onto the n-frame. ∇n=∇E∇N∇U=Cbn∇b and ∇b is the accelerometer bias.


## 3. 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. The attitude relationship between the b-frame and n-frame with the DCM Cnb 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 forward-forward algorithm and forward-backward algorithm, and the design of them is shown in Figure1. During the normal process from t0 to tn, the sensor data is saved, and the normal forward navigation algorithm is performed. Then, the data from t0 to tn is used to do the forward process repeatedly as shown in Figure 1(a), while the backward process is performed with the data from tn to t0 after the forward process in Figure 1(b). The data of time tab means the data at time point ta in the bth iterative period of the process.Figure 1
Two kinds of iterative navigation solution methods: (a) forward-forward process and (b) forward-backward process.
(a)(b)


### 3.1. 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]:(4)C˙bn=Cbnωnbb×,(5)V˙n=Cbnfb−2ωien+ωenn×Vn+gn,where(6)ωnbb=ωibb−Cnbωien+ωenn,and ⋅× denotes the skew symmetric matrix of the vector ″⋅″The 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:(7)C←bn˙=C←bnω←nbb×,(8)V←n˙=C←bnf←b−2ω←ien+ω←enn×V←n+g←n,where the superscript “←” denotes the backward process [23, 25].The backward navigation process is just like the playback of the forward process. The carrier has the same attitude at the same sampling pointtk no matter in the forward or backward process, which is Cbntk=C←bntk. Therefore, 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 ω←ibbtk=−ωibbtk,ω←ientk=−ωientk, and ω←enntk=−ωenntk. Meanwhile, the system should have the same position in the backward process as the forward process at the same sampling point tk, which means the velocity should be converse as V←ntk=−Vntk, and the output of accelerometer should be f←btk=fbtk.Some research studies deal with the output of the gyro and accelerometer similarly in the backward process asω←ibbtk=−ωibbtk and f←btk=−fbtk, which means the velocity in contiguous period of forward-backward navigation process is axisymmetric as V←ntk=Vntk, but the position will change at the same sampling point. This 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.


### 3.2. Simulations for Iterative Navigation Process

The simulation is produced into two stages: (1) error-free sensor data is produced during timet0 to tn 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 forward-forward 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.The attitude and velocity curves of one direction of the two iterative navigation solutions are shown in Figures2 and 3.Figure 2
Attitude curves. (a) Forward-forward process; (b) Forward-backward process.
(a)(b)Figure 3
Velocity curves. (a) Forward-forward process; (b) Forward-backward process.
(a)(b)As shown in Figures2(a) and 3(a), the forward-forward navigation process is the repetition of the normal navigation process with the same saved data from t0 to tn. Each repetition should start with the same initial position and velocity, as well as the attitude. The carrier gets the same attitude and velocity during t0i∼tni as those during t0∼tn.Figures2(b) and 3(b) show that, during the period t01∼tn1 of the backward period, tn1 and t01 are the start and end time, respectively, while t01 is also the start time of the forward period t02∼tn2. The attitude and velocity at tni in the forward process is equal to tni+1 of the backward process, and the attitude and velocity at t0i in the backward process is equal to t0i+1 in the forward process. Velocity and attitude at tni are set as the initial parameters of tni+1, and then the simulation seems to back to the origin and get the same attitude, velocity, and position as those at t0 in the backward process.It would be found from Figure2(b) that the attitude curve of the whole forward-backward process is a coherent curve, while from Figure 3(b), the velocity at tni and t0i+1 are reversed. Different from the forward-backward process, forward-forward process is like combining several same processes.


## 3.1. 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]:(4)C˙bn=Cbnωnbb×,(5)V˙n=Cbnfb−2ωien+ωenn×Vn+gn,where(6)ωnbb=ωibb−Cnbωien+ωenn,and ⋅× denotes the skew symmetric matrix of the vector ″⋅″The 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:(7)C←bn˙=C←bnω←nbb×,(8)V←n˙=C←bnf←b−2ω←ien+ω←enn×V←n+g←n,where the superscript “←” denotes the backward process [23, 25].The backward navigation process is just like the playback of the forward process. The carrier has the same attitude at the same sampling pointtk no matter in the forward or backward process, which is Cbntk=C←bntk. Therefore, 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 ω←ibbtk=−ωibbtk,ω←ientk=−ωientk, and ω←enntk=−ωenntk. Meanwhile, the system should have the same position in the backward process as the forward process at the same sampling point tk, which means the velocity should be converse as V←ntk=−Vntk, and the output of accelerometer should be f←btk=fbtk.Some research studies deal with the output of the gyro and accelerometer similarly in the backward process asω←ibbtk=−ωibbtk and f←btk=−fbtk, which means the velocity in contiguous period of forward-backward navigation process is axisymmetric as V←ntk=Vntk, but the position will change at the same sampling point. This 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.


## 3.2. Simulations for Iterative Navigation Process

The simulation is produced into two stages: (1) error-free sensor data is produced during timet0 to tn 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 forward-forward 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.The attitude and velocity curves of one direction of the two iterative navigation solutions are shown in Figures2 and 3.Figure 2
Attitude curves. (a) Forward-forward process; (b) Forward-backward process.
(a)(b)Figure 3
Velocity curves. (a) Forward-forward process; (b) Forward-backward process.
(a)(b)As shown in Figures2(a) and 3(a), the forward-forward navigation process is the repetition of the normal navigation process with the same saved data from t0 to tn. Each repetition should start with the same initial position and velocity, as well as the attitude. The carrier gets the same attitude and velocity during t0i∼tni as those during t0∼tn.Figures2(b) and 3(b) show that, during the period t01∼tn1 of the backward period, tn1 and t01 are the start and end time, respectively, while t01 is also the start time of the forward period t02∼tn2. The attitude and velocity at tni in the forward process is equal to tni+1 of the backward process, and the attitude and velocity at t0i in the backward process is equal to t0i+1 in the forward process. Velocity and attitude at tni are set as the initial parameters of tni+1, and then the simulation seems to back to the origin and get the same attitude, velocity, and position as those at t0 in the backward process.It would be found from Figure2(b) that the attitude curve of the whole forward-backward process is a coherent curve, while from Figure 3(b), the velocity at tni and t0i+1 are reversed. Different from the forward-backward process, forward-forward process is like combining several same processes.


## 4. The Drawback of Traditional Iterative Alignment Algorithm

The 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 forward-backward 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.


### 4.1. Forward-Forward Process

During the forward-forward process,Cnb will be updated in the first period t01∼tn1 as usual, and Cnbt02 is calculated from Cnbtn1 at time tn1 to run the forward process again. The DCM transferred from the end of period l to the start of period l + 1 could be calculated as follows:(9)Cnbt0l+1=Cnt0l+1bt0l+1=Cbtnlbt0l+1CntnlbtnlCnt0l+1ntnl=Cbb0CnbtnlCnn0T,where Cbb0 is the rotation matrix of the body frame from t0 to tn, Cnn0 is the rotation matrix of the navigation frame from t0 to tn. Cbb0 and Cnn0 are both constant matrices during different iterative periods, which just need to be calculated once during the whole alignment process using ωibb and ωinn as follows:(10)C˙bb0=Cbb0ωibb×,(11)C˙nn0=Cnn0ωinn×=Cnn0ωien+ωenn×,and in the period t0l∼tnl, Cnb is updated by the saved data based on equation (4).The 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 Cbb0 will not be accurate as well, which will cause the transition error between every two periods. The 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.


### 4.2. Forward-Backward Process

FromSection 3, the forward-backward process does not need the transition of Cnb between different periods. The attitude at the end of the forward process is just the attitude at the start of the next backward process, where there is Cnbtnl=C←nbtnl+1. The 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(12)ω˜ibb=ωibb+εb.While in the backward process, it will be(13)ω←˜ibb=−ω˜ibb=−ωibb−εb.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. The ideal form of the output of the gyro with converse angular rate but the same bias in the backward process should be−ωibb+εb. Thus, 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. The 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]. These errors will have a bad effect on the accuracy of the initial alignment.Figure 4
Schematic diagram of gyro error for one process switch.


## 4.1. Forward-Forward Process

During the forward-forward process,Cnb will be updated in the first period t01∼tn1 as usual, and Cnbt02 is calculated from Cnbtn1 at time tn1 to run the forward process again. The DCM transferred from the end of period l to the start of period l + 1 could be calculated as follows:(9)Cnbt0l+1=Cnt0l+1bt0l+1=Cbtnlbt0l+1CntnlbtnlCnt0l+1ntnl=Cbb0CnbtnlCnn0T,where Cbb0 is the rotation matrix of the body frame from t0 to tn, Cnn0 is the rotation matrix of the navigation frame from t0 to tn. Cbb0 and Cnn0 are both constant matrices during different iterative periods, which just need to be calculated once during the whole alignment process using ωibb and ωinn as follows:(10)C˙bb0=Cbb0ωibb×,(11)C˙nn0=Cnn0ωinn×=Cnn0ωien+ωenn×,and in the period t0l∼tnl, Cnb is updated by the saved data based on equation (4).The 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 Cbb0 will not be accurate as well, which will cause the transition error between every two periods. The 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.


## 4.2. Forward-Backward Process

FromSection 3, the forward-backward process does not need the transition of Cnb between different periods. The attitude at the end of the forward process is just the attitude at the start of the next backward process, where there is Cnbtnl=C←nbtnl+1. The 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(12)ω˜ibb=ωibb+εb.While in the backward process, it will be(13)ω←˜ibb=−ω˜ibb=−ωibb−εb.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. The ideal form of the output of the gyro with converse angular rate but the same bias in the backward process should be−ωibb+εb. Thus, 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. The 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]. These errors will have a bad effect on the accuracy of the initial alignment.Figure 4
Schematic diagram of gyro error for one process switch.


## 5. Iterative Alignment Method in the Inertial Frame

FromSections 3 and 4, the main problem of the forward-forward process is the transition error at the start of each period from equation (9). The 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.The inertial frame stays the same during the initial alignment process, which means the DCM of the initial attitudeCbn0 is a constant matrix. Transition using equation (9) is not needed for Cbn0 during different iterative periods. If Cbn0 could be calculated precisely, the alignment process could be fulfilled by a simple transition.


### 5.1. Alignment in the Inertial Frame

We rewrite equation (5) in n0-frame as(14)V˙n0=Cbn0fb−2ωien0+ωen0n0×Vn0+Cnn0gn.However, the calculated results will have some errors. “ ^ ” is used to describe the calculated result, and equation (14) yields as follows:(15)V^˙n0=C^bn0f˜b−2ω^ien0+ω^en0n0×V^n0+C^nn0gn,(16)f˜b=fb+∇b=fb+∇cb+∇rb,(17)C^bn0=I3×3−ϕn0×Cbn0,where ∇cb is the constant bias and ∇rb is the random error. ϕn0 is the misalignment angle in the inertial frame, which could be considered as a small angle after coarse alignment [26]. The attitude matrix C^bn could be calculated by(18)C^bn=C^n0nC^bn0,ω^in0n0=0 as n0 is an inertial frame, and ω^en0n0 could be calculated as follows:(19)ω^en0n0=ω^ein0+ω^in0n0=−ω^ien0.As the period of the alignment process is short, the Earth rotation rate is constant, and the error of latitude is minor.ω^ien is considered accurate in the process, and C^n0n is also accurate as it is updated by ω^ien, which is C^n0n≈Cn0n.Cn0n could be described by a function of the time tk as the rotation vector ωien is constant. The quaternion form of Cn0ntk could be calculated as follows:(20)Qn0ntk=cosωietk2+u⟶u⟶sinωietk2,where u⟶=01tanLT.Using equations (15) and (14) and neglecting the second-order small quantity, the velocity error can be obtained as follows:(21)δV˙n0=C^bn0f˜b×ϕi−ω^ien0×δVn0+C^bn0∇cb+∇rb=C^b0n0C^bb0f˜b×ϕi−Cnn0ωien×δVn0+C^b0n0C^bb0∇cb+∇rb.Asϕn0 is irrelevant with the Earth rotation and carrier motion, equation (2) could be rewritten in the i-frame as(22)ϕ˙n0=−C^b0n0C^bb0εb=−C^b0n0C^bb0εcb+εrb,where εcb is the constant bias of the gyro and εrb is the random error.The update process can be performed with Kalman filter to estimateϕn0. Set the state variable X=ϕn0δVn0εcb∇cb, and the system equation could be obtained from equations (21) and (22) as(23)X˙=00−C^b0n0C^bb0f˜b0C^b0n0C^bb0f˜b×C^nn0ωien×0C^b0n0C^bb00000X+−C^b0n0C^bb0εrbC^b0n0C^bb0∇rb00.The measurement variableZ is set as(24)Z=δVn0=0I3×300X+R,where R is the measurement noise. The velocity of the carrier in the n0-frame could be integrated from equation (15) as(25)V^n0=∫C^bn0f˜b−ω^ien0×V^n0+C^nn0gndt.


### 5.2. The Process of the Forward-Forward Alignment Method in the Inertial Frame

The data during normal timet0 to tn could be used to form the real-time coarse alignment, and the related data could be saved. Then, 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.Figure 5
Process of the alignment based on forward-forward process in inertial frame.Different from normal forward-forward process in then-frame, the original sensor data does not need to be saved with the method above. From equation (23), at sampling time tk during the period l, the information needs to be updated based on the sensor data which is C^bb0tk and C^bb0tkf˜btk, which stay the same during different periods. C^bb0tk could be transformed into quaternion form as Q^bb0tk, which has 4 elements but including all attitude information. And C^bb0tkf˜btk has 3 elements, and thus the elements need to be saved are reduced. During the iterative process, the real-time output of the gyro needs to be used to calculate the rotation matrix Cbtnbtp of the b-frame through equation (10) during time tn to tp.For SINS without linear motion,δVn0=V^n0, which could be calculated from equation (25). ϕn0 is estimated by the Kalman filter. The attitude curves will converge after repeating the process for several times, and then the DCM of the real time tp could be calculated as follows:(26)Cnbtp=CbtnbtpCntnbtnCntnntpT,where the quaternion form of Cntnntp could be calculated as follows:(27)Qntnntp=cosωietp−tn2u⟶u⟶sinωietp−tn2.


## 5.1. Alignment in the Inertial Frame

We rewrite equation (5) in n0-frame as(14)V˙n0=Cbn0fb−2ωien0+ωen0n0×Vn0+Cnn0gn.However, the calculated results will have some errors. “ ^ ” is used to describe the calculated result, and equation (14) yields as follows:(15)V^˙n0=C^bn0f˜b−2ω^ien0+ω^en0n0×V^n0+C^nn0gn,(16)f˜b=fb+∇b=fb+∇cb+∇rb,(17)C^bn0=I3×3−ϕn0×Cbn0,where ∇cb is the constant bias and ∇rb is the random error. ϕn0 is the misalignment angle in the inertial frame, which could be considered as a small angle after coarse alignment [26]. The attitude matrix C^bn could be calculated by(18)C^bn=C^n0nC^bn0,ω^in0n0=0 as n0 is an inertial frame, and ω^en0n0 could be calculated as follows:(19)ω^en0n0=ω^ein0+ω^in0n0=−ω^ien0.As the period of the alignment process is short, the Earth rotation rate is constant, and the error of latitude is minor.ω^ien is considered accurate in the process, and C^n0n is also accurate as it is updated by ω^ien, which is C^n0n≈Cn0n.Cn0n could be described by a function of the time tk as the rotation vector ωien is constant. The quaternion form of Cn0ntk could be calculated as follows:(20)Qn0ntk=cosωietk2+u⟶u⟶sinωietk2,where u⟶=01tanLT.Using equations (15) and (14) and neglecting the second-order small quantity, the velocity error can be obtained as follows:(21)δV˙n0=C^bn0f˜b×ϕi−ω^ien0×δVn0+C^bn0∇cb+∇rb=C^b0n0C^bb0f˜b×ϕi−Cnn0ωien×δVn0+C^b0n0C^bb0∇cb+∇rb.Asϕn0 is irrelevant with the Earth rotation and carrier motion, equation (2) could be rewritten in the i-frame as(22)ϕ˙n0=−C^b0n0C^bb0εb=−C^b0n0C^bb0εcb+εrb,where εcb is the constant bias of the gyro and εrb is the random error.The update process can be performed with Kalman filter to estimateϕn0. Set the state variable X=ϕn0δVn0εcb∇cb, and the system equation could be obtained from equations (21) and (22) as(23)X˙=00−C^b0n0C^bb0f˜b0C^b0n0C^bb0f˜b×C^nn0ωien×0C^b0n0C^bb00000X+−C^b0n0C^bb0εrbC^b0n0C^bb0∇rb00.The measurement variableZ is set as(24)Z=δVn0=0I3×300X+R,where R is the measurement noise. The velocity of the carrier in the n0-frame could be integrated from equation (15) as(25)V^n0=∫C^bn0f˜b−ω^ien0×V^n0+C^nn0gndt.


## 5.2. The Process of the Forward-Forward Alignment Method in the Inertial Frame

The data during normal timet0 to tn could be used to form the real-time coarse alignment, and the related data could be saved. Then, 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.Figure 5
Process of the alignment based on forward-forward process in inertial frame.Different from normal forward-forward process in then-frame, the original sensor data does not need to be saved with the method above. From equation (23), at sampling time tk during the period l, the information needs to be updated based on the sensor data which is C^bb0tk and C^bb0tkf˜btk, which stay the same during different periods. C^bb0tk could be transformed into quaternion form as Q^bb0tk, which has 4 elements but including all attitude information. And C^bb0tkf˜btk has 3 elements, and thus the elements need to be saved are reduced. During the iterative process, the real-time output of the gyro needs to be used to calculate the rotation matrix Cbtnbtp of the b-frame through equation (10) during time tn to tp.For SINS without linear motion,δVn0=V^n0, which could be calculated from equation (25). ϕn0 is estimated by the Kalman filter. The attitude curves will converge after repeating the process for several times, and then the DCM of the real time tp could be calculated as follows:(26)Cnbtp=CbtnbtpCntnbtnCntnntpT,where the quaternion form of Cntnntp could be calculated as follows:(27)Qntnntp=cosωietp−tn2u⟶u⟶sinωietp−tn2.


## 6. Analysis of the Method

In the normal process, the real attitude matrixCnbtk is changing all the time if the carrier is not stationary, which means Cnbtk needs to be updated all the time during the iterative process. The b-frame btk is changing with carrier rotation, and the n-frame ntk 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. This will occupy a large amount of storage and cost much more time for the iterative calculation.Instead of calculatingCbn directly, Cb0n0 is estimated in the method from Section 5. The 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. The 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), C^bb0f˜b and C^bb0 are used during the alignment process, which need to be calculated and saved during the normal time from t0 to tn at 1 Hz, and C^bb0 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.


### 6.1. Simulation for Alignment in the Inertial Frame Based on Forward-Forward Process

The simulation is supposed to be carried out under a swing condition. The errors of sensor are listed in Table1, and the swing parameters are listed in Table 2. The carrier is assumed without linear motion, and the initial latitude, longitude, and height are set as 32°, 118°, and 30 m, respectively. The sensor sampling rate is 200 Hz, while the Kalman Filter resolution cycle is set as 1 s. The simulation is carried out for 120 s, and the measurement data is generated and saved for alignment analysis. The initial attitude errors are set as 2.5°, 2.5°, and 4° for pitch, roll, and heading, respectively. The initial settings for the Kalman filter are given as follows:(28)X0=000000000000T,P0=diag5°5°10°1m/s1m/s1m/s0.1°/h0.1°/h0.1°/h200μg200μg200μg2,R=diag0.1m/s0.1m/s0.1m/s2,where P0 is the initial state covariance matrix. The 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.Table 1
Sensor errors.
Gyro biasAccelerometer errorConstantRandomConstantRandomx-axis0.02°/h0.01°/h50μg20μgy-axis0.02°/h0.01°/h50μg20μgz-axis0.02°/h0.01°/h50μg20μgTable 2
Swing parameters.
PitchRollheadingAmplitude (°)362Frequency (Hz)0.170.130.07Figure 6
Misalignment angle curves of forward-forward process: (a) pitch misalignment angle, (b) roll misalignment angle, and (c) heading misalignment angle.
(a)(b)(c)Table 3
Statistic results of the misalignment angles.
PitchRollheadingCalculated value (°)−0.002770.00282−0.0881Theory value (°)−0.002930.00293−0.0897It is clear to see in Figure6 that the convergent estimation value of the attitude angles can be obtained within five times of the forward process with the saved IMU data. The pitch and roll misalignment angles could reach about ±0.003° in the second period of iterative process, and the 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.As the level angles are easy to converge during the alignment, more simulations are done for the heading angle to test the effect. The simulation is done with different lengths of the saved data and iterative times. The duration of data is set saving asTs, and the number of times of the forward process needed during the alignment is Mf. The simulation chooses Ts=30s,60s,100s,150s, and 200s and Mf=20,10,6,4,2, respectively, where TsMf=600 as the whole times of Kalman filter resolution period in the fine alignment process. The simulation condition is set as same as Tables 1 and 2. The curves of the heading misalignment angle with different Ts are shown in Figure 7.Figure 7
Forward-forward process with differentTs.From Figure7, it could be found that Ts=30s and 60 s is too short for each process to converge. For Ts≥100s, 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.


### 6.2. Turntable Test

Considering engine vibration and angular motion of the carrier, the turntable test is executed to verify the validity of the proposed method. The IMU used in this test is developed by Casic33s as shown in Figure8; 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. The 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.Figure 8
Turntable and IMU.Table 4
Sensor errors.
GyroAccelerometerBias<0.02°/h1σBias<5×10−4gRepetitiveness of bias<0.01°/h1σRepetitiveness of bias<2.5×10−4g1σRandom walk<0.006°/hRepetitiveness of scale factor<3.5×10−4g1σNonlinearity of scale factor≤50 ppm1σTemperature coefficient of scale factor<6×10−5g−40∼40°CA 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. The 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. The swing amplitude and frequency of the turntable are set in Table5.Table 5
Turntable swing parameters.
PitchRollheadingAmplitude (°)464Frequency (Hz)0.1250.10.1The test lasts for 600 s, during which the measurement data of IMU and the attitude of turntable were saved. Three 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). The 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. The 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. The curves of misalignment angles are shown in Figure9 and the RMS values calculated from the last 30 value of the estimation errors are shown in Table 6.Figure 9
Turntable test. (a) Pitch misalignment angle. (b) Roll misalignment angle. (c) Heading misalignment angle.
(a)(b)(c)Table 6
Statistic results of the misalignment angles.
Scheme AScheme BScheme CPitch (°)0.00380.00480.0042Roll (°)0.00190.00140.0024Heading (°)0.00310.04670.0019Alignment time (s)122126600From Figure9, 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. The period of 120 s is not enough for the heading angle to converge under this condition with scheme B. Based on the comparison of 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.


## 6.1. Simulation for Alignment in the Inertial Frame Based on Forward-Forward Process

The simulation is supposed to be carried out under a swing condition. The errors of sensor are listed in Table1, and the swing parameters are listed in Table 2. The carrier is assumed without linear motion, and the initial latitude, longitude, and height are set as 32°, 118°, and 30 m, respectively. The sensor sampling rate is 200 Hz, while the Kalman Filter resolution cycle is set as 1 s. The simulation is carried out for 120 s, and the measurement data is generated and saved for alignment analysis. The initial attitude errors are set as 2.5°, 2.5°, and 4° for pitch, roll, and heading, respectively. The initial settings for the Kalman filter are given as follows:(28)X0=000000000000T,P0=diag5°5°10°1m/s1m/s1m/s0.1°/h0.1°/h0.1°/h200μg200μg200μg2,R=diag0.1m/s0.1m/s0.1m/s2,where P0 is the initial state covariance matrix. The 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.Table 1
Sensor errors.
Gyro biasAccelerometer errorConstantRandomConstantRandomx-axis0.02°/h0.01°/h50μg20μgy-axis0.02°/h0.01°/h50μg20μgz-axis0.02°/h0.01°/h50μg20μgTable 2
Swing parameters.
PitchRollheadingAmplitude (°)362Frequency (Hz)0.170.130.07Figure 6
Misalignment angle curves of forward-forward process: (a) pitch misalignment angle, (b) roll misalignment angle, and (c) heading misalignment angle.
(a)(b)(c)Table 3
Statistic results of the misalignment angles.
PitchRollheadingCalculated value (°)−0.002770.00282−0.0881Theory value (°)−0.002930.00293−0.0897It is clear to see in Figure6 that the convergent estimation value of the attitude angles can be obtained within five times of the forward process with the saved IMU data. The pitch and roll misalignment angles could reach about ±0.003° in the second period of iterative process, and the 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.As the level angles are easy to converge during the alignment, more simulations are done for the heading angle to test the effect. The simulation is done with different lengths of the saved data and iterative times. The duration of data is set saving asTs, and the number of times of the forward process needed during the alignment is Mf. The simulation chooses Ts=30s,60s,100s,150s, and 200s and Mf=20,10,6,4,2, respectively, where TsMf=600 as the whole times of Kalman filter resolution period in the fine alignment process. The simulation condition is set as same as Tables 1 and 2. The curves of the heading misalignment angle with different Ts are shown in Figure 7.Figure 7
Forward-forward process with differentTs.From Figure7, it could be found that Ts=30s and 60 s is too short for each process to converge. For Ts≥100s, 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.


## 6.2. Turntable Test

Considering engine vibration and angular motion of the carrier, the turntable test is executed to verify the validity of the proposed method. The IMU used in this test is developed by Casic33s as shown in Figure8; 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. The 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.Figure 8
Turntable and IMU.Table 4
Sensor errors.
GyroAccelerometerBias<0.02°/h1σBias<5×10−4gRepetitiveness of bias<0.01°/h1σRepetitiveness of bias<2.5×10−4g1σRandom walk<0.006°/hRepetitiveness of scale factor<3.5×10−4g1σNonlinearity of scale factor≤50 ppm1σTemperature coefficient of scale factor<6×10−5g−40∼40°CA 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. The 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. The swing amplitude and frequency of the turntable are set in Table5.Table 5
Turntable swing parameters.
PitchRollheadingAmplitude (°)464Frequency (Hz)0.1250.10.1The test lasts for 600 s, during which the measurement data of IMU and the attitude of turntable were saved. Three 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). The 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. The 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. The curves of misalignment angles are shown in Figure9 and the RMS values calculated from the last 30 value of the estimation errors are shown in Table 6.Figure 9
Turntable test. (a) Pitch misalignment angle. (b) Roll misalignment angle. (c) Heading misalignment angle.
(a)(b)(c)Table 6
Statistic results of the misalignment angles.
Scheme AScheme BScheme CPitch (°)0.00380.00480.0042Roll (°)0.00190.00140.0024Heading (°)0.00310.04670.0019Alignment time (s)122126600From Figure9, 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. The period of 120 s is not enough for the heading angle to converge under this condition with scheme B. Based on the comparison of 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.


## 7. 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 forward-forward 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. The forward-backward 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. The forward-forward process in the inertial frame is used to deal with these problems. Just like the forward-forward 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 theb-frame, which means no transition errors will be added during different periods. The data need to be saved and calculated is also projected to be much less. The simulation and the turntable test both indicate that the proposed method can fulfil the initial alignment effectively, and the alignment accuracy is not decreased.



---

*Source: 8835580-2020-10-13.xml*