### 3.1. Channel and received signal model

After the transmitted signal is passed through the multipath channel, the circular convolution between signal and channel is induced by the use of a CP. Thus, after removing the CP for the multiuser scenario, the *i* th received time-domain data block at base station can be expressed by

{\mathbf{\text{r}}}_{i}=\sum _{k=1}^{K}{\mathbf{\text{H}}}^{k}{\mathbf{\text{t}}}_{i}^{k}+{\mathbf{\text{n}}}_{i}

(10)

where **H**^{k} is the channel impulse response (CIR) matrix of the *k* th user and **n**_{
i
} is the additive white Gaussian noise (AWGN) vector with zero-mean and variance {\sigma}_{n}^{2}. The *NPK* × *NPK* channel matrix **H**^{k} is a circulant matrix formed by cyclically shifting the zero-padded length-*NPK* vector of the *k* th user CIR {\mathbf{\text{h}}}^{k}={\left[{h}_{0}^{k}\phantom{\rule{0.3em}{0ex}}{h}_{1}^{k}\cdot \cdot \cdot {h}_{L-1}^{k}\right]}^{T}, where *L* is the channel delay spread length. Under slow fading, we assume that **h**^{k} is invariant within a packet, but may vary from packet-to-packet. Since **H**^{k} is a circulant matrix, it has the eigendecomposition **H**^{k} = **Q**^{H}**Λ**^{k}**Q**, where **Q** is the orthogonal FFT matrix. Further, **Λ**^{k} is the diagonal element given by the *NPK*-point FFT of **h**^{k} , i.e., **Λ**^{k} = *diag*(**Qh**^{k} ) with *diag*{·} being the diagonal matrix.

### 3.2. Development of parallel FSOK MC-CDMA receiver

The FSOK MC-CDMA receiver is developed based on the overall block diagram depicted in Figure 1b. The receiver is designed to detect the *P* parallel data substreams for the *K* decoupled users simultaneously. Its operation involves the following steps. First, taking the FFT of **r** _{
i
}, the post-FFT received signal block is given by

{\mathbf{\text{y}}}_{i}=\mathbf{\text{Q}}{\mathbf{\text{r}}}_{i}=\sum _{k=1}^{K}{\Lambda}^{k}{\stackrel{\u0303}{\mathbf{\text{e}}}}_{i}^{k}+{\stackrel{\u0304}{\mathbf{\text{n}}}}_{i}=\sum _{k=1}^{K}diag\left\{\mathbf{\text{Q}}{\mathbf{\text{h}}}^{k}\right\}{\stackrel{\u0303}{\mathbf{\text{e}}}}_{i}^{k}+{\stackrel{\u0304}{\mathbf{\text{n}}}}_{i}

(11)

where {\stackrel{\u0304}{\mathbf{\text{n}}}}_{i}=\mathbf{\text{Q}}{\mathbf{\text{n}}}_{i}. Next, because of the interleaved subcarrier assignment, the post-FFT received signal **y**_{
i
} with *NPK* × 1 vector can be divided into *K* length-*NP* vectors. For the *k* th user, the received vector is

{\stackrel{\u0304}{\mathbf{\text{y}}}}_{i}^{k}={\left[{y}_{i,k}\phantom{\rule{0.3em}{0ex}}{y}_{i,k+K}\cdot \cdot \cdot {y}_{i,k+\left(NP-1\right)K}\right]}^{T}={\stackrel{\u0304}{\Lambda}}^{k}{\stackrel{\u0304}{\mathbf{\text{e}}}}_{i}^{k}+{\stackrel{\u0304}{\mathbf{\text{n}}}}_{i}^{k}

(12)

where {\stackrel{\u0304}{\Lambda}}^{k}=diag\left\{{\Lambda}^{k}\left(k,k\right),{\Lambda}^{k}\left(k+K,k+K\right),\cdot \cdot \cdot ,{\Lambda}^{k}\left(k+\left(NP-1\right)K,k+\left(NP-1\right)K\right)\right\}, such that Λ ^{k} (*k*, *k*) is the (*k*, *k*)th element of **Λ**^{k} and *y*_{
i,k
} is the *k* th element of **y** _{
i
}. Assuming that the channel response vector **h**^{k} in (11) is perfectly estimated, a linear receiver for the *k* th user simply combines {\stackrel{\u0304}{\mathbf{\text{y}}}}_{i}^{k} to obtain

{\mathbf{\text{z}}}_{i}^{k}=diag{\left({\mathbf{\text{w}}}^{k}\right)}^{H}{\stackrel{\u0304}{\mathbf{\text{y}}}}_{i}^{k}

(13)

where **w**^{k} is the combiner weight vector. For the zero-forcing weight vector, {\mathbf{\text{w}}}^{k}={\mathbf{\text{w}}}_{ZF}^{k}={\stackrel{\u0304}{\Lambda}}^{{k}^{-1}}, while in the high SNR scenario, {\mathbf{\text{z}}}_{i}^{k}\approx {\stackrel{\u0304}{\mathbf{\text{e}}}}_{i}^{k}. Thus, the normalized weight vector {\mathbf{\text{w}}}_{ZF}^{k} acts as the one-tap equalizer of the proposed MC-CDMA system without requiring a matrix inversion. Moreover, to combat the noise enhancement problem, we can apply the minimum mean square error (MMSE) weight vector for the linear equalizer, i.e.,

{\mathbf{\text{w}}}^{k}={\mathbf{\text{w}}}_{MMSE}^{k}={\left[{\left({\stackrel{\u0304}{\Lambda}}^{k}\left(1,1\right)+\frac{1}{SNR}\right)}^{-1}{\left({\stackrel{\u0304}{\Lambda}}^{k}\left(2,2\right)+\frac{1}{SNR}\right)}^{-1}\cdot \cdot \cdot {\left({\stackrel{\u0304}{\Lambda}}^{k}\left(NP,NP\right)+\frac{1}{SNR}\right)}^{-1}\right]}^{T}

(14)

where SNR is the received signal-to-noise ratio. Following linear equalization, the equalized block data of the *k* th user can be despread by the *m* th repeated-modulated spreading sequence {\stackrel{\u0303}{\mathbf{\text{c}}}}_{m,p}^{k} of the *p* th substream of the *k* th user, yielding the despread output as follows

\begin{array}{c}{x}_{m,p}^{k}(i)={\stackrel{\u221c}{c}}_{m,p}^{{k}^{H}}{z}_{i}^{k}\\ ={\stackrel{\u221c}{c}}_{m,p}^{{k}^{H}}\left\{diag{({w}^{k})}^{H}{\overline{\Lambda}}^{k}\right\}{\overline{e}}_{i}^{k}+{\stackrel{\u221c}{n}}_{i,m,p}^{k}\\ ={\stackrel{\u221c}{c}}_{m,p}^{{k}^{H}}\left\{diag{({w}^{k})}^{H}{\overline{\Lambda}}^{k}\right\}{\displaystyle \sum _{q=1}^{P}{d}_{i,q}^{k}{\stackrel{\u2322}{c}}_{{m}_{i,p}}^{k}+{\stackrel{\u221c}{n}}_{i,m,p}^{k}}\\ ={d}_{i,p}^{k}{\stackrel{\u221c}{c}}_{m,p}^{{k}^{H}}\left\{diag{({w}^{k})}^{H}{\overline{\Lambda}}^{k}\right\}{\stackrel{\u2322}{c}}_{{m}_{i,p}}^{k}\\ \phantom{\rule{0.5em}{0ex}}+{\stackrel{\u221c}{c}}_{m,p}^{{k}^{H}}\left\{diag{({w}^{k})}^{H}{\overline{\Lambda}}^{k}\right\}{\displaystyle \sum _{\begin{array}{l}q=1\\ q\ne p\end{array}}^{P}{d}_{i,q}^{k}{\stackrel{\u2322}{c}}_{{m}_{i,p}}^{k}+{\stackrel{\u221c}{n}}_{i,m,p}^{k}}\end{array}

(15)

for *m* = 0, 1,..., *N* - 1, where {\stackrel{\u221c}{n}}_{i,m,p}^{k} is the despread noise. In (15), for the high SNR scenario with 1/SNR approaching zero, the composite equalizer-channel matrix \left\{diag{\left({\mathbf{\text{w}}}^{k}\right)}^{H}{\stackrel{\u0304}{\Lambda}}^{k}\right\} approximates the identity matrix. Therefore, in (15), the MSI can effectively be eliminated because of the orthogonality property in (5). Then, the despread output in (15) can be rewritten as

{x}_{m,p}^{k}(i)\stackrel{\begin{array}{c}\text{For}\\ \text{High}\phantom{\rule{0.5em}{0ex}}\text{SNR}\end{array}}{\approx}{d}_{i,p}^{k}{\widehat{c}}_{m,p}^{{k}^{H}}{\widehat{c}}_{{m}_{i,}p}^{k}+{\stackrel{\u221c}{n}}_{i,m,p}^{k}

(16)

Moreover, the direct computation of the *N* correlation outputs in (15) requires O(*N*^{2}) of complex multiplications. To alleviate this, an FFT/IFFT-based despreader is proposed, that is, employing the cyclic shift despreading property and some manipulation, we can express the correlation outputs as

\begin{array}{ll}\hfill {\mathbf{\text{x}}}_{p}^{k}\left(i\right)& ={\left[\begin{array}{ccccc}\hfill {x}_{0,p}^{k}\left(i\right)\hfill & \hfill \cdots \phantom{\rule{0.3em}{0ex}}\hfill & \hfill {x}_{m,p}^{k}\left(i\right)\hfill & \hfill \cdots \phantom{\rule{0.3em}{0ex}}\hfill & \hfill {x}_{N-1,p}^{k}\left(i\right)\hfill \end{array}\right]}^{T}\phantom{\rule{2em}{0ex}}\\ ={\hat{\mathbf{\text{Q}}}}^{H}{\hat{\mathbf{\text{C}}}}_{p}^{{k}^{H}}\hat{\mathbf{\text{Q}}}{\mathbf{\text{z}}}_{i}^{k}\phantom{\rule{2em}{0ex}}\end{array}

(17)

where \stackrel{\u2322}{\mathbf{\text{Q}}} is the *NP* × *NP* FFT matrix and {\stackrel{\u2322}{\mathbf{\text{C}}}}_{p}^{{k}^{H}}=diag{\left({\stackrel{\u2322}{\mathbf{\text{Q}}}\stackrel{\u2322}{\mathbf{\text{c}}}}_{0,p}^{k}\right)}^{H} can be pre-calculated from the FFT of the base repeated-modulated spreading sequence {\stackrel{\u2322}{\mathbf{\text{c}}}}_{0,p}^{k}. Obviously, (17) indicates that by pairwisely multiplying the two FFTs of {\stackrel{\u2322}{\mathbf{\text{c}}}}_{0,p}^{k} and {\mathbf{\text{z}}}_{i}^{k} and then taking the IFFT, we obtain the desired *N* correlator outputs {x}_{m,p}^{k}\left(i\right) for *m* = 0, 1, ..., *N*-1. Moreover, when *N* is large, the computational complexity using (17) will be much lower than that associated with the original *N*-correlator bank in (15). Hence, the complexity (in number of complex multiplications) of the proposed despreader in (17) is reduced to O(*N* log_{2}*N*).

Next, the *i* th QPSK-FSOK symbol with (*R* + 2) bits of the *p* th substream of the *k* th user can be detected by the ML algorithm in [11]. Therefore, for the first *R* bits, the maximizing index of the despread data {x}_{m,p}^{k}\left(i\right) can be found by

{\widehat{m}}_{i}^{k}=\mathrm{arg}\underset{m}{\mathrm{max}}\left\{\left|\mathrm{Re}\left[{x}_{m,p}^{k}(i)\right]\right|+\left|\mathrm{Im}\left[{x}_{m,p}^{k}(i)\right]\right|\right\},\phantom{\rule{0.5em}{0ex}}0\le m\le N-1.

(18)

Based on (18), we can detect the first *R* bits, i.e., {\left[{\u015d}_{i,p}^{k}\left(0\right){\u015d}_{i,p}^{k}\left(1\right)\cdots {\u015d}_{i,p}^{k}\left(R-1\right)\right]}^{T}=\mathsf{\text{dec2bin}}\left\{{\widehat{m}}_{i}^{k}\right\}, where the function dec2bin denotes the conversion of unsigned decimal numbers into binary digits. It is noted that for the high SNR scenario, if {\widehat{m}}_{i}^{k} is a correct decision, i.e., {\widehat{m}}_{i}^{k} is equal to *m*_{
t
} in (2), the maximizing value of the despreader in (15) can be approximated as

{x}_{{\widehat{m}}_{i,}^{k}p}^{k}\left(i\right)\stackrel{\begin{array}{c}\mathsf{\text{For}}\\ \mathsf{\text{High}}\phantom{\rule{0.3em}{0ex}}\mathsf{\text{SNR}}\end{array}}{\approx}Np{d}_{i,p}^{k}+{n}_{i,{\widehat{m}}_{i}^{k},p}^{k}

(19)

Finally, the QPSK slicer is used for the maximal value of \mathsf{\text{Re}}\left\{{x}_{{\widehat{m}}_{i}^{k},p}^{k}\left(i\right)\right\} and \mathsf{\text{Im}}\left\{{x}_{{\widehat{m}}_{i}^{k},p}^{k}\left(i\right)\right\} to detect the other two bits \left[{\u015d}_{i,p}^{k}\left(R\right){\u015d}_{i,p}^{k}\left(R+1\right)\right] of the *k* th user, respectively. From (19), it is clear that a full frequency diversity gain is obtained for the *p* th substream of the *k* th user. As shown in Figure 1b, the data detection scheme can be extended to all the parallel substreams and all the simultaneous users with full diversity gain by employing the different repeated-modulated spreading sequence {\stackrel{\u2322}{\mathbf{\text{c}}}}_{m,q}^{k} and different subcarrier extractions, respectively.

Through the above derivation, we have shown that the proposed transceiver can efficiently be realized and achieve MAI/MSI-free multiuser uplink transmission over multipath fading channel. Next, we verify its superior performance in terms of the matched filter bound (MFB). Assuming perfect MAI/MSI elimination, then each despread signal only contains its desired substream of the desired user and AWGN. Therefore, the matched filter's weight vector of the *k* th user is simply given by the composite signature of the frequency-domain channel response and spreading code sequence, i.e.,

{\mathbf{\text{g}}}_{m,p}^{k}={\Lambda}^{k}{\mathbf{\text{c}}}_{m,p}^{k}

(20)

Based on Equation 20, the maximized output SNR for the *k* th user can be obtained as

{\mathsf{\text{SNR}}}_{o}^{k}=\frac{{\sigma}_{s}^{2}}{{\sigma}_{n}^{2}}\left({\mathbf{\text{c}}}_{m,p}^{{k}^{H}}{\Lambda}^{{k}^{H}}{\Lambda}^{k}{\mathbf{\text{c}}}_{m,p}^{k}\right)

(21)

where {\sigma}_{s}^{2}, {\sigma}_{n}^{2} are the desired signal and noise power, respectively, and {\mathbf{\text{c}}}_{m,p}^{{k}^{H}}{\Lambda}^{{k}^{H}}{\Lambda}^{k}{\mathbf{\text{c}}}_{m,p}^{k} represents the processing gain because of frequency diversity combining and despreading. From the MFB in (21), an error performance bound of the *k* th user can be evaluated and used for the verification of the superior performance of the proposed QPSK-FSOK transceiver.