## 3 The Proposed Detector for Uplink GF-NOMA Networks: FROMPUS
### Node A: Fused Modified OMP-Modified SP  
This node is at the initialization stage of the proposed FROMPUS-based MUD. Its inputs are \(\mathbf{Y}=\Big{[}\mathbf{y}^{[1]},\;\mathbf{y}^{[2]},\;\ldots,\;\mathbf{y}^{[T]}\Big{]}\), \(\mathbf{H}=\Big{[}\mathbf{H}^{[1]},\;\mathbf{H}^{[2]},\;\ldots,\;\mathbf{H}^{[T]}\Big{]}\), \(\mathbf{\zeta}_{ini}\), active user side information, \(\Im_{si}\) (assumed known), and the value of \(T\) continuous time slots. This node is presented as Algorithm 1. Each constituent Modified OMP algorithm and Modified SP algorithm (interested readers should consult [27] for their details) generates its corresponding estimated support sets in steps 3 and 4. These are then employed in step 5 in a union/fusion to generate the initial support set, followed by the LS process for the initial estimate of active user signals in step 6. Step 7 is the formation of the set of indices that corresponds to the component of the temporal signal's estimate with \(\Im\) largest amplitude. This is formed as \(supp\left(\widetilde{\mathbf{\tilde{x}}},\ \Im\right)\) in a bid to obtain a refined support set. This refined support set is employed by the \"Forward-Include\" node of the proposed FROMPUS-based MUD.  
```
Input:\(\boldsymbol{Y}=\left[\boldsymbol{y}^{[1]},\ \boldsymbol{y}^{[2]},\ \ldots,\ \boldsymbol{y}^{[T]}\right], \boldsymbol{H}=\left[\boldsymbol{H}^{[1]},\ \boldsymbol{H}^{[2]},\ \ldots,\ \boldsymbol{H}^{[T]}\right]\), \(\boldsymbol{T},\boldsymbol{\xi}_{ini},\ \Im,\Im_{si}\) Output:\(\boldsymbol{\zeta}_{0},\boldsymbol{\tau}_{0}\) Initialization:\(i\gets 1\); \(\boldsymbol{\xi}^{\gamma[i]}\leftarrow\boldsymbol{\zeta}_{ini}\), \(\boldsymbol{\dot{x}}^{[i]}\leftarrow\boldsymbol{0}\) Iteration: Support sets from the Modified SP and Modified OMP [27]:
1. for\(t=1\)to\(T\)do
2. \(i\gets i+1\) \(\boldsymbol{\dot{\xi}}_{\text{MOD-SP}}\gets MOD\_SP(\boldsymbol{Y},\ \boldsymbol{H},\ T,\ \Im,\Im,\boldsymbol{\dot{\zeta}}_{si},\ \boldsymbol{\dot{\xi}}^{[i][i-1]})\) \(\boldsymbol{\dot{\xi}}_{\text{MOD-OMP}}^{[i]}\gets MOD\_OMP(\boldsymbol{Y}, \boldsymbol{H},\ T,\ \Im,\Im,\boldsymbol{\dot{\zeta}}_{si},\ \boldsymbol{\dot{\xi}}^{[i][i-1]})\) Fusion Strategy: 45002
3. \(\boldsymbol{\dot{\xi}}^{[i][i]}\leftarrow\boldsymbol{\dot{\xi}}_{\text{ damaged}}^{[i]}\cup\ \boldsymbol{\dot{\xi}}_{\text{AutoMAP}}^{[i]}\)
4. \(\boldsymbol{\dot{x}}_{\text{F}}^{[i][i]}\leftarrow\left(\boldsymbol{H}^{[i]} \right)_{\boldsymbol{\dot{x}}_{\text{F}}^{[i]}}^{\dagger}\boldsymbol{y}^{[i]} ;\boldsymbol{\dot{x}}_{\boldsymbol{\dot{\xi}}^{[i][i]}}\leftarrow\boldsymbol{0}\)
5. \(\boldsymbol{\dot{\xi}}^{[i][i]}\leftarrow supp(\boldsymbol{\dot{x}}_{\text{F}} ^{[i][i]},\Im)\)
6. \(\boldsymbol{\dot{x}}_{\text{F}}^{[i][i]}\leftarrow\boldsymbol{\dot{x}}_{\text{ F}}^{[i]}\boldsymbol{\dot{x}}_{\text{F}}^{[i][i]}\)
7. \(\boldsymbol{\dot{\xi}}^{[i][i]}\leftarrow supp(\boldsymbol{\dot{x}}_{\text{F}} ^{[i][i]},\Im)\)
8. \(\boldsymbol{\dot{x}}_{\text{F}}^{[i][i]}\leftarrow\boldsymbol{H}^{[i]} \boldsymbol{\dot{x}}_{\text{F}}^{[i]}\boldsymbol{y}^{[i]};\ \boldsymbol{\dot{x}}_{\text{F}}^{[i][i]}\leftarrow\boldsymbol{0}\)
9. \(\boldsymbol{\dot{x}}^{[i][i]}\leftarrow\boldsymbol{\dot{x}}_{\text{F}}^{[i][i]}\)
10. \(\boldsymbol{r}^{[i][i]}\leftarrow\boldsymbol{y}^{[i]}-\boldsymbol{H}^{[i]} \boldsymbol{\dot{x}}^{[i][i]}=\boldsymbol{y}^{[i]}-\boldsymbol{H}^{[i]}( \boldsymbol{H}^{[i]})\underset{\boldsymbol{\dot{\xi}}^{[i][i]}}{\boldsymbol{ \dot{\xi}}^{[i][i]}}\boldsymbol{y}^{[i]}\)
11. \(\boldsymbol{\dot{x}}_{\text{F}}^{[i][i]}\leftarrow\boldsymbol{\dot{x}}_{\text{ F}}^{[i][i]}\)
12. \(\boldsymbol{r}^{[i][i]}[i]\leftarrow\boldsymbol{r}^{[i][i][i-1]}\)
13. \(\boldsymbol{\dot{\zeta}}_{0}\leftarrow\boldsymbol{\dot{x}}_{\text{F}}^{[i][i]}\)
14. \(\boldsymbol{\tau}_{0}\leftarrow\boldsymbol{r}^{[i][i]}\)
15. break
16.  end if
17. endfor
18. return\(\boldsymbol{\dot{\zeta}}_{0},\boldsymbol{\tau}_{0}\)
```  
**Algorithm 1** Fused Modified OMP-Modified SP