## 3 The Agent-Weighted RLS Positioning Framework
Subsequently, as epochs are captured, the RLS algorithm is applied to perform recursive estimation of the observations. Using the epochs from the first \(t_{0}\) time to establish the observation equation, assuming there are \(i_{0}\) LEO satellites during this period and the \(i\)-th satellite has \(k_{i}^{0}\) Doppler observation epochs, the observation equation can be written as:  
\[\left[\begin{array}{c}\dot{\boldsymbol{\rho}}_{u}^{1}(1)\\ \vdots\\ \dot{\boldsymbol{\rho}}_{u}^{1}(k_{1}^{0})\\ \dot{\boldsymbol{\rho}}_{u}^{i_{0}}(1)\\ \vdots\\ \dot{\boldsymbol{\rho}}_{u}^{i_{0}}(k_{i_{0}}^{0})\\ \end{  
where \(\Delta\mathbf{F}_{0}\) represents the initial observation vector, \(\mathbf{G}_{0}\) is the initial coefficient matrix, and \(\mathbf{\Delta x}_{0}\) is the initial state vector. Using the minimum variance unbiased estimator (MVUE) for the linear equation, the estimation of \(\mathbf{\Delta x}_{0}\) can be obtained as:  
\[\mathbf{\Delta x}_{0}=\left(\mathbf{G}_{0}^{T}\cdot\mathbf{G}_{0}\right)^{-1} \cdot\mathbf{G}_{0}^{T}\cdot\Delta\mathbf{F}_{0} \tag{13}\]  
Simultaneously, the covariance matrix of the initial state is given by:  
\[\mathbf{P}_{0}=\left[\mathbf{G}_{0}^{T}\cdot\mathbf{G}_{0}\right]^{-1} \tag{14}\]  
In this way, the initial state estimate \(\mathbf{\Delta x}_{0}\) and the initial covariance matrix \(\mathbf{P}_{0}\) are obtained, providing the foundation for subsequent recursive calculations. After obtaining the initial state estimate, each time an epoch is captured, it is added to the equation for an iterative calculation. Suppose that at the \((n-1)\)-th iteration, the state estimate is \(\mathbf{\Delta x}_{n-1}^{\overset{\overset{\overset{\overset{\overset{\overset{ \overset{\overset{\overset{\overset{\overset{\overset{\overset{\overset{\overset{\overset{ \overset}}}}}}}}}}}}}}\) and the error covariance matrix is \(\mathbf{P}_{n-1}\). When a new \(n\)-th epoch is added, the agent determines the weight of the epoch based on the epoch characteristics and GDOP, which can be written as:  
\[w_{n}=Agent(\left[EA,ID_{\text{Sat}},A_{e},A_{a},SRD,R_{\text{SatID}},SNR,f_{d} \right]_{n},GDOP_{n-1}) \tag{15}\]  
where \(EA\) denotes the ephemeris age, \(ID_{\text{Sat}}\) denotes the identification of the Iridium satellite, \(A_{e}\) denotes the elevation angle, \(A_{a}\) denotes the azimuth angle, \(SRD\) denotes the satellite-to-receiver distance, \(R_{\text{SatID}}\) denotes the epoch rank in the satellite, and \(f_{d}\) denotes the estimated Doppler frequency. The new observation value of the epoch is \(\Delta\Delta F_{n}\) and the new observation coefficient matrix is \(\Delta\mathbf{G}_{n}\), expressed as:  
\[ \begin{array}{l}\Delta\Delta F_{n}=\tilde{\boldsymbol{\rho}}_{u}(n)-\widetilde {\widetilde{\boldsymbol{\rho}}}_{u}(n)\\ \Delta\mathbf{G}_{n}=\left[\begin{array}{cc}\frac{\partial\tilde{\boldsymbol {\rho}}_{u}(n)}{\partial x_{u}}&\frac{\partial\tilde{\boldsymbol{\rho}}_{u}(n) }{\partial y_{u}}&\frac{\partial\tilde{\boldsymbol{\rho}}_{u}(n)}{\partial z_ {u}}&c&\ldots&0\end{array}\right]\end{array}  \tag{16}\]  
To obtain the near real-time position estimation, the RLS is employed, which allows for recursive updates of the parameter matrix and state estimate based on existing values, after adding new observations. First, the covariance matrix is updated recursively. When a new observation is added at the \(n\)-th step, the new covariance matrix, based on the covariance matrix from the \((n-1)\)-th step and the weight \(w_{n}\) obtained by the agent, can be written as:  
\[\mathbf{P}_{n}=\mathbf{P}_{n-1}-\mathbf{P}_{n-1}\cdot\Delta\mathbf{G}_{n}^{T} \bigg{(}\mathbf{I}\cdot\frac{1}{w_{n}}+\Delta\mathbf{G}_{n}\cdot\mathbf{P}_{n -1}\cdot\Delta\mathbf{G}_{n}^{T}\bigg{)}^{-1}\cdot\Delta\mathbf{G}_{n}\cdot \mathbf{P}_{n-1} \tag{17}\]  
where \(\mathbf{I}\) denotes the identity matrix.