# Anomaly Detection in Autonomous Deep-Space Navigation via Filter Bank Gating Networks
## 3 Materials and Methods
### Discussion
For the simulations in this paper, we use a batch size of 1000 measurements, while we use equal batch sizes in this analysis, there is nothing that requires this to be the case. Batches can be split up by other means if preferred (e.g., split by pre-defined data arcs). The only requirement is that the batches are the same for each filter in the bank--e.g., even if some batches of data in a larger data arc contain zero optical measurements, optical-only and radiometric-only filters would still produce weightings for each batch of data in the arc. * Gating network memory: This optimal gating network was designed to retain a memory of previous weightings in order to make it reflect filter performance over time rather than at an instance. The \(\tilde{W}\) parameter controls the strength of the gating network's memory. For the purposes of this analysis we use the following relation: \(\tilde{W}=\sigma_{W}^{2}I_{N\times N}\). This is not a requirement, \(\tilde{W}\) is only required to be a symmetric positive definite matrix. A large value for \(\sigma_{W}\) results in a forgetful gating network, which tends to favor current performance over previous performance. A small value for \(\sigma_{W}\) results in a gating network with a strong memory, which tends to favor filters that have performed over long spans of the measurement arc. For the simulations in this analysis we use \(\sigma_{W}=0.05\). * Gating network reset: Periodically, the user may implement gating network resets, which reset the weights of all the filters to their a priori values. This is normally performed after an anomaly has been detected, characterized, and addressed or any other time that adjustments are made to any of the filters in the filter bank. For the simulations in this analysis, we do not implement gating network resets. It is important to note that this gating network algorithm requires no training being an MME-based algorithm; whereas, training is typically required for MoE-based algorithms. There are some parameters that can be tuned by the user (e.g., \(\tilde{W}\)) to obtain the desired performance for a given application; however, their selection does not require a formal automated training algorithm. Similarly, the filters in the filter bank are assumed to be fully designed by engineers who setup the estimation framework, while the filters could be trained in MoE style, it is ideal to setup the filters in a way that can isolate common errors that could occur up in actual operations. For instance, having filters that process all or a subset of the available measurement types is valuable in identifying and characterizing sensor-specific mismodeling. It is beyond the scope of this article to identify specific filter bank setups that should be used as this is a very problem dependent issue; however, it is left as future work to establish general practices for setting up a filter bank and automating the process for characterizing the source of anomalies based on the population of filters that exist within the filter bank. At present this characterization process still requires an engineer's intuition. Given this work is meant to progress the capabilities of autonomous (i.e., on-board) navigation, it is also important to address the computational impacts of this algorithm. Being an MME-based algorithm, our algorithm requires measurement processing by various filters as part of a filter bank. The number of filters that are a part of that filter bank will be limited by the computational resources on-board; however the advantage of a MME-based algorithm is that the number of filters in the bank is completely tunable by the user and can be adjusted across the mission timeline based on variable computational capabilities. For deep-space applications, our specific area of interest, there are often long observation gaps that would enable many different filters to be run as the spacecraft awaits new measurement information, so this would facilitate more filters in the filter bank.