# Co-Efficient Vector Based Differential Distributed Quasi-Orthogonal Space Time Frequency Coding
## 3 Co-Efficient Vector Differential Procedure
### Differential Encoding Using Co-Efficient Vectors  
The STF coded data vector \(\boldsymbol{x}_{k+1}\) to be transmitted by the source node in the \((k+1)\)th block was generated from the STF coded data vector \(\boldsymbol{x}_{k}=[x_{k}(1),\ldots,x_{k}(P\Gamma)]^{T}\) transmitted by the source node in the \(k\)th block. We first discussed how the data vector in the \((k+1)\)th block was generated using the co-efficient vector and the information signals transmitted in the \(k\)th block. The first step was for the source node to compute the \(\Gamma\times 1\) data vector  
Figure 2: Co-efficient Vector Differential Encoder. \(\overline{x}_{k+1}\) for the \((k+1)\)th block using the transmitted information signals in the \(k\)th block and the selected co-efficient vector as follows:  
\[\overline{x}_{k+1}=\mathbf{X}_{k}\overline{v}_{k+1} \tag{8}\]  
where \(\overline{v}_{k+1}=\left[v_{1,l},\dots,v_{\Gamma,i}\right]^{T}\) and \(\mathbf{X}_{k}\) was the'reference' quasi-orthogonal signal matrix that was generated by the \(P\) relay nodes in the \(k\)th block. It was assumed that the source node had prior knowledge of the relay matrices \(\{\mathbf{M}_{1},\dots,\mathbf{M}_{J},\mathbf{M}_{J+1},\dots,\mathbf{M}_{P}\}\). The source node also knew \(\overline{x}_{k}=\left[x_{k}(1),\dots,x_{k}(\Gamma)\right]^{T}\); hence, it could compute \(\mathbf{X}_{k}=\left[\mathbf{M}_{1}\overline{x}_{k},\dots,\mathbf{M}_{J}\overline{x}_{k},\mathbf{M}_{J+1}\overline{x}_{k}{}^{*},\dots,\mathbf{M}_{P}\overline{x}_{k}{}^{*}\right]\) in (8). Then, finally, using \(\overline{x}_{k+1}\) in (8), the source node constructed the \(P\Gamma\times 1\) data vector \(\mathbf{x}_{k+1}=\left[x_{k+1,l,n}(1),\dots,x_{k+1,l,n}(P\Gamma)\right]^{T}\); note that \(x_{k+1,l,n}(i),i\leq\Gamma\) represented the original symbols while \(x_{k+1,l,n}(i),i>\Gamma\) were replicas of the original symbols, which would be forwarded by the relay nodes. \[\left[v_{1},\dots,v_{\Gamma}\right]^{T}=\overline{x}_{k+1}\mathbf{X}_{k}{}^{H} \tag{9}\]  
The selected coefficient vector could be represented using (9), such that given all the possible outcomes of \(\overline{x}_{k+1}\), there existed \(2^{\Gamma m}\) corresponding coefficient vectors. In other words, there was a one-to-one mapping between the coefficient vectors and the input bits. Note that there was no difference between the differentially encoded symbols generated by our co-efficient vector design in (8) and those generated by the unitary matrices design in [29; 30] for example. Provided that the differential scheme was designed such that all nodes in the network have prior knowledge of the co-efficient vector set \(\mathbf{v}\) and the mapping scheme \(P(\cdot)\), the relay nodes could simply recover the elements of the co-efficient vector set using (10) and then using (8) for differential encoding:  
\[\left[\widetilde{v}_{1},\dots,\widetilde{v}_{\Gamma}\right]=\text{arg}min \left|\mathbf{r}_{k+1,p}\mathbf{r}_{k,p}{}^{T}-\left|\mathbf{f}_{k,p}\right|^{2}\left[v_{ 1},\dots,v_{N}\right]\right|^{2} \tag{10}\]  
where \(\mathbf{r}_{k+1,p}=\sqrt{E_{S}P}\Gamma\mathbf{x}_{k+1}\odot\mathbf{f}_{k+1,p}+\mathbf{n}_{k+1,p}\) was the signal received at the \(p\)th relay node in the \(\left(k+1\right)_{th}\) block. The differential decoding protocol employed by our scheme relied on the assumption that the channel co-efficients remain unchanged for transmissions in consecutive blocks; in other words, \(\mathbf{f}_{k,p}\cong\mathbf{f}_{k+1,p}\). In our proposed scheme, the relay nodes only recovered the elements of the co-efficient vector set as implemented in (10), without recovering the original information bits. This approach ensured that the computational complexity of the encoder was reduced because the relay nodes avoided the mapper block and co-efficient vector generator block in Figure 2. To be precise, the number of comparisons \(c\) at each relay node was reduced by \(1\leq c\leq 2^{Pm}\). This issue is further explained in the simulation section.