# Blind Source Separation of Intermittent Frequency Hopping Sources over LOS and NLOS Channels +
## 3 Method
### Hidden State Filtering
#### 3.3.2 Individually Most Probable States
```
1:Input: Matrix of complex amplitudes \(\hat{\mathbf{X}}_{d}\) and HMM model parameter \(\Omega\)
2:Output: Inferred state sequence \(\hat{s}_{\text{MAP}}(1:T)\)
3:for each non-zero row of \(\hat{\mathbf{X}}_{d}\)do
4:for\(t=1:T\)do
5:\(z(t)=1_{c}\{\hat{\mathbf{x}}_{d}(t)\}\)
6: Calculate \(\hat{s}_{\text{MAP}}(t)\) from Equation (24)
7:endfor
8:endfor
```
**Algorithm 2** Hidden State Filtering (MAP)

#### 3.3.4 Learning HMM Parameters

The HSF methods discussed previously assume the HMM parameters \(\Omega=(\mathbf{A},\mathbf{B},\pi)\) are known. In practice, however, it cannot be assumed that the model is known in a blind scenario. The goal here is to describe a method by which \(\Omega\) is estimated based on the observed sequences. Here, the observed sequence refers to the observed activity of a source. The HMM parameters are learnt from the observed sequences of the sources detected as active according to \(\hat{\Omega}=\underset{\Omega}{\arg\max}\,P(z(1:T|\Omega)\). For the first active source, the HMM parameter \(\Omega=(\mathbf{A},\mathbf{B},\pi)\) is randomly initialized. For the subsequent active sources, \(\Omega\) obtained from the previous active source is used for initialization. The parameter obtained from the last active source is then used to calculate the hidden state sequences using the MPE and MAP methods. For the purpose of estimating the HMM parameter \(\Omega\), the following quantity is defined:

\[\gamma_{i}(t)=\frac{\alpha_{i}(t)\beta_{i}(t)}{\sum\limits_{j\in\{0,1\}} \alpha_{j}(t)\beta_{j}(t)}. \tag{15}\]3

It can be shown that variable \(\xi_{i,j}(t)\) may be expressed in terms of forward-backward variables [41]:

\[\gamma_{i}(t)=\frac{\alpha_{i}(t)\beta_{i}(t)}{\sum\limits_{j\in\{0,1\}} \alpha_{j}(t)\beta_{j}(t)}. \tag{15}\]4

Utilizing the forward variable \(\alpha_{j}(t)\) defined in Equation (7), the backward variable \(\beta_{i}(t)\) defined in Equation (11), the belief state \(\gamma_{i}(t)\) defined in Equation (14) and the quantity \(\xi_{i,j}(t)\) defined in Equation (25), the HMM parameters are learned in the following steps:

1. Initialization: Randomly initialize \(\Omega=(\mathbf{A},\mathbf{B},\pi)\) for the first active source. 2. For an estimated active source: 1. Use Equations (8)-(10) to calculate \(\alpha_{j}(t)\) and Equations (12) and (13) to calculate \(\beta_{i}(t)\). 2. Use Equation (15) to calculate \(\gamma_{i}(t)\) and Equation (26) to calculate \(\xi_{i,j}(t)\). 3. Update model parameters: \[\gamma_{i}(t)=\frac{\alpha_{i}(t)\beta_{i}(t)}{\sum\limits_{j\in\{0,1\}} \alpha_{j}(t)\beta_{j}(t)}. \tag{15}\]5 (27a) \[\gamma_{i}(t)=\frac{\alpha_{i}(t)\beta_{i}(t)}{\sum\limits_{j\in\{0,1\}} \alpha_{j}(t)\beta_{j}(t)}. \tag{15}\]6 (27b) \[\gamma_{i}(t)=\frac{\alpha_{i}(t)\beta_{i}(t)}{\sum\limits_{j\in\{0,1\}} \alpha_{j}(t)\beta_{j}(t)}. \tag{15}\]7 (27c) Here, \[\gamma_{i}(t)=\frac{\alpha_{i}(t)\beta_{i}(t)}{\sum\limits_{j\in\{0,1\}} \alpha_{j}(t)\beta_{j}(t)}. \tag{15}\]8 is the indicator function, i.e., \[\gamma_{i}(t)=\frac{\alpha_{i}(t)\beta_{i}(t)}{\sum\limits_{j\in\{0,1\}} \alpha_{j}(t)\beta_{j}(t)}. \tag{15}\]9 if \[\hat{s}_{\text{MPE}}(t)=\operatorname*{arg\,max}_{i=0,1}\gamma_{i}(t). \tag{16}\]0 is true, and \[\hat{s}_{\text{MPE}}(t)=\operatorname*{arg\,max}_{i=0,1}\gamma_{i}(t). \tag{16}\]1 otherwise. 4. Set \[\hat{s}_{\text{MPE}}(t)=\operatorname*{arg\,max}_{i=0,1}\gamma_{i}(t). \tag{16}\]2, and repeat step ( 2 ). The last HMM parameters \(\hat{\Omega}=(\hat{\mathbf{A}},\hat{\mathbf{B}},\hat{\pi})\) obtained after running through the observed sequences of all sources is considered as the common model for all sources. The HMM parameter learning is outlined in Algorithm 3. ```
1:Input: Matrix of complex amplitudes \(\hat{\mathbf{X}}_{d}\)
2:Output: Learnt HMM parameters \(\hat{\Omega}=(\hat{\mathbf{A}},\hat{\mathbf{B}},\hat{\pi})\)
3:Initialize \(\Omega=(\mathbf{A},\mathbf{B},\pi)\).