# Differential Characteristics Based Iterative Multiuser Detection for Wireless Sensor Networks
## 3 Multiuser Detection Based on Differential Characteristics
### Error Bit Correction  
In Section 3.2 we recognize the wrong bits only by the absolute value of \(L(\mathbf{b})\), which sometimes may regard some correct bits as wrong bits and decrease the BER performance of the system. Section 3.2 cannot get the optimal threshold, therefore further processing method need to be taken to lower BER.  
As analyzed in Section 3.1, when the \(i\)th bit of b is wrong, from (16) and (17) we get:  
\[L(b_{i})\,\sim N(2A_{i}^{2}b_{i},\frac{A_{i}^{2}N_{0}}{2}) \tag{25}\]  
\[L(b_{k})\,\sim N(2A_{i}A_{k}\rho_{ik}b_{k},\frac{A_{k}^{2}N_{0}}{2})\quad k=1, 2,\cdots,K\,\,\,\,k\
eq i \tag{26}\]  
Let \(f(x)\) and \(g(x)\) be the probability density function of \(\mid L(b_{i})\mid\) and \(\mid L(b_{k})\mid\), respectively. We can get that:  
\[f(x)=\begin{cases}0&x\leq 0\\ \frac{1}{A_{i}\sqrt{\pi N_{0}}}\left\{\exp\left[-\frac{\left(x-2A_{i}^{2} \right)^{2}}{A_{i}^{2}N_{0}}\right]+\exp\left[-\frac{\left(x+2A_{i}^{2}\right) ^{2}}{A_{i}^{2}N_{0}}\right]\right\}&x>0\end{cases} \tag{27}\]  
\[g(x)=\begin{cases}0&x\leq 0\\ \frac{1}{A_{k}\sqrt{\pi N_{0}}}\left\{\exp\left[-\frac{\left(x-2A_{i}A_{k}\rho _{ik}\right)^{2}}{A_{k}^{2}N_{0}}\right]+\exp\left[-\frac{\left(x+2A_{i}A_{k} \rho_{ik}\right)^{2}}{A_{k}^{2}N_{0}}\right]\right\}&x>0\end{cases} \tag{28}\]  
Similar as (23), let \(f(x)=g(x)\), we can get the optimal threshold \(x_{0}\). And we can get the probability that \(\mid L(b_{i})\mid\,>>\,\mid L(b_{k})\mid\):  
\[\mathrm{P}(\mid L(b_{i})\mid\,>\,\mid L(b_{k})\mid)=\int_{x_{0}}^{+\infty}[f( x)-g(x)]\mathrm{d}x \tag{29}\]  
However, from (27) and (28) we find that the optimal \(x_{0}\) is not easy to calculate. Besides, the integral in (29) is hard to calculate even when we get the accurate value of \(x_{0}\). As is known \(1>>\rho_{ij}\), \((i\
eq j)\), the probability density function curves of \(\mid L(b_{i})\mid\) and \(\mid L(b_{k})\mid\) is shown in Figure 4.  
From (29) and Figure 4 we can conclude that \(\mid L(b_{i})\mid\,>>\,\mid L(b_{k})\mid\), \(k=1,2,\,\ldots,K,\,k\
eq i\) with a large probability. Thus the bits which are recognized as wrongly received in Section 3.2 can be further detected. When the \(i\)th received bit \(b_{i}\) is judged as wrongly received bit in Section 3.2, we can calculate  
Figure 4: The probability density function curves of \(\mid L(b_{i})\mid\) and \(\mid L(b_{k})\mid\).  
\(\left|\,{L(-b_{i})}\,\right|\). If \(\left|\,{L(-b_{i})}\,\right|>\left|\,{L(b_{i})}\,\right|\),we conclude that the value of \(i\)th bit is \(b_{i}\), else we conclude that the value of \(i\)th bit is \(-b_{i}\).  
After the above three stage process procedure, there may still exists wrongly judged bits. Thus the differential characteristics calculation, threshold detection and error bit correction process are iterated as shown in Figure 1 to further lower the BER.  
Now we discuss the computational complexity of the proposed multiuser detection algorithm. From (11) and (12), we can conclude that the computational complexity of differential characteristics function \(\left|\,{L(\mathbf{b})}\,\right|\) is linear to number of users \(K\). The second stage is threshold detection, in which only \(K\) comparisons are needed. The third stage recalculates the differential characteristics function for those potential wrongly received bits, so this computational complexity of this stage is much lower than the first stage, especially at high SNR. For this proposed iterative receiver, the total computational complexity is then linear to \(nK\), where \(n\) is the number of iterations and \(K\) is the number of users.