## 6 Simulation Results
### Validaton of the MASSIVE Test-Bed
#### 6.1.2 Validation of the ME-SSA Receiver and Implementation Loss Analysis
Looking at the cross-correlation values over a given time interval at the first SIC iteration, as depicted in Figure 14a in the case of a high traffic load, the noise plus interference floor of the cross-correlation was rather constant and the cross-correlation peaks emerged clearly. Then, after the cancellation was completed, such floor was not constant anymore but rather had lower values where more cancellations had been performed. The cross-correlation had  
Figure 13: Comparison of Ideal PS vs. Real PS. higher values where cancellation still had to be performed and thus more bursts' power was still concentrated. As a result, the threshold value was affected by this behavior and, if it were not high enough, it could detect several FAs in the correspondence of higher floor values (for instance, in the region around 1.6 s in Figure 14b). In this case, the main source of performance degradation was then the presence of FAs and MDs. Due to the MDs, the MSD algorithm did not operate on all the actual interfering bursts, but only on a subset of them, therefore, only partial information was available when evaluating the weights and estimating the inverse of the correlation matrix via the MSD stages. Furthermore, the FAs actually introduced incorrect information that further degraded the algorithm performance. In order to limit this problem, a modification of the adapting threshold mechanism was adopted. The threshold was then computed by taking the average of only the half most powerful peaks and taking the max between the current values and 0.99 times the former one, i.e.,  
\[\eta_{i}=\max(\xi\cdot\rho_{i},\ 0.99\cdot\eta_{i-1}) \tag{3}\]  
The second cause of performance degradation was identified as the sliding window mechanism and the need for the receiver to work in real-time. Two consecutive sliding (memory) windows had certain overlaps so that bursts that were not fully contained in the preceding window were recovered in the following one. Thus, bursts that were received on the boundary between two consecutive sliding windows may have been detected only in the second window, even though they could also have caused a partial interference to the bursts received in the first window. This is equivalent to a misdetection with the MSD receiver working again with partial information only. The third cause of the non-optimal performance in the case of the ideal PS was due to the behavior of the scheduler block, which was in charge of receiving the outcome of the PS block and preparing appropriate data structures for the demodulator. The normal flow of data at the receiver provides the output of the PS in the form of a chunk. A chunk is a data structure made of the samples received by the radio front-end and the bursts starting points identified by the PS. The length of one chunk is not correlated to the simulation duration and is a constant valued of approximately 1 s. The number of chunks the PS asynchronously emits is not constant. They are received by the scheduler which separates the data sample part from the starting point information and prepares two distinct vectors for the demodulation. At this stage the dispatching of the vectors towards the demodulation block takes place with a \"dispatch if not empty\" logic, meaning that the information is delivered to the demodulator as soon as at least one element is in the vectors. In our case this logic turned out to cause a performance degradation, since a burst may have been delivered to the burst demodulator with a limited number of interfering bursts. Figure 14: (**a**) PS cross-correlation values over a time-interval before first SIC loop; (**b**) PS cross-correlation values over a time-interval before second SIC loop. Again, an effect equivalent to an MD that negatively impacts by definition the intrinsic ability of the MSD algorithm. This consideration led to carrying out the following activities with the purpose of trading-off the SE performance and real-time requirements:  
* The dispatcher logic was replaced with a \"dispatch if full\" logic.