# Inverse Solution Error Analysis and Correction of Beam Steering System Based on Risley Prisms
## 4 Simulation and Experiment  
### Simulation  
The parameters of the system used in the simulation experiment are shown in Table 1. The process of the simulation experiment is as follows:  
1. Given the values or expressions \(E_{0}\) of the systemic prism errors, substituting them into the error model to obtain a series of prism rotation angles \(\left(\theta_{1},\theta_{2}\right)\) and their corresponding outgoing beam positions \(\left(K,L,M\right)_{error}\). The ideal beam-pointing position \(\left(K,L,M\right)_{ideal}\) corresponding to \(\left(\theta_{1},\theta_{2}\right)\) is obtained through the ideal model. 2. Using the parameter identification method, the error values or expressions \(E_{1}\) are fitted by the data obtained in process 1. Then \(E_{1}\) is substituted into the error model to calculate the outgoing beam position \(\left(K,L,M\right)_{correct}\) corresponding to the same rotation angle \(\left(\theta_{1},\theta_{2}\right)\). The forward solution errors before and after correction are calculated by \(e_{forward}=\arccos[\left(K,L,M\right)_{ideal}\cdot\left(K,L,M\right)_{ error}]\) and \(e_{forward2}=\arccos[\left(K,L,M\right)_{correct}\cdot\left(K,L,M\right)_{ error}]\), respectively. 3. Given a series of target point positions \(\left(K,L,M\right)_{target}\), the two-step method and the correction method are used to solve the corresponding prism rotation angles \(\left(\theta_{1},\theta_{2}\right)_{two-step\ method}\) and \(\left(\theta_{1},\theta_{2}\right)_{correct\ method}\). Substituting \((\theta_{1},\theta_{2})_{two-step\ method}\) and \((\theta_{1},\theta_{2})_{correction\ method}\) into the error model, the outgoing beam positions \((K,L,M)_{two-step\ method}\) and \((K,L,M)_{correction\ method}\) can be obtained. The inverse solution errors before and after correction are calculated by \(e_{inverse1}=\arccos\left[(K,L,M)_{two-step\ method}\cdot(K,L,M)_{target}\right]\) and \(e_{inverse2}=\arccos\left[(K,L,\)\(M)_{correction\ method}\cdot(K,L,M)_{target}\right]\), respectively. The ranges of \(\theta_{1}\) and \(\theta_{2}\) are both \(1^{\circ}\) to \(360^{\circ}\), and we generate a total of 129,600 pointing positions at \(1^{\circ}\) intervals, of which 144 positions are selected for fitting. Figure 9 shows the forward solution error before and after error fitting. Table 3 shows the maximum value, RMS value and descent rate of forward solution error before and after error fitting. It can be seen that the pointing error of the outgoing beam is significantly reduced after the error fitting. The maximum value and RMS of the beam-pointing error are reduced from \(0.4099^{\circ}\) and \(0.2455^{\circ}\) to \(0.0064^{\circ}\) and \(0.0015^{\circ}\), respectively. Next, the simulation of the inverse solution error correction is performed. Figure 10a,b show the pointing error before and after correction in the whole pointing field, respectively. Figure 10c,d show the maximum error at each deflection angle, respectively. The maximum error drops from \(0.4122^{\circ}\) to \(0.07873^{\circ}\) and the RMS value of error drops from \(0.2266^{\circ}\) to \(0.0291^{\circ}\). Table 4 shows the maximum value, RMS value and descent rate of inverse solution error before and after error correction. It can be seen that this method has a good effect on the pointing position correction of small deflection angles, but the residuals are larger for large deflection angles. The maximum error can meet the coarse tracking accuracy requirement of laser communication. \begin{table}
\begin{tabular}{c c c} \hline \hline  & **Pointing Error** & \\ \cline{2-3}  & **Maximum** & **RMS** \\ \hline
**Before correction** & \(0.4099^{\circ}\) & \(0.2455^{\circ}\) \\
**After correction** & \(0.0064^{\circ}\) & \(0.0015^{\circ}\) \\
**Descent rate** & \(98.44\%\) & \(99.34\%\) \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Simulation results of forward solution error correction. Figure 9: Simulation results of forward solution error correction. (**a**) Pointing error from forward solution before error fit.