Skip to main content

Table 2 The proposed greedy relay pair selection algorithm

From: Buffer-aided distributed space-time coding schemes and algorithms for cooperative DS-CDMA systems

%Choose a single relay with the highest SINR that

corresponds to a specific base relay q

\(\mathrm {SINR^{base}_{q}}=\text {max} \{\mathrm {SINR_{sr_{p}}}, \mathrm {SINR_{r_{p}d}}\}, p\in [1,L]\)

For p=1:L % all relay pairs associated with relay q

if p≠q

Ω relaypair=[p,q]

% when the links belong to the source-relay phase

\(\text {SINR}_{sr_{p,q}}=\frac {\sum \limits _{k=1}^{K} \mathbf {w}_{s_{k}r_{p}}^{H} \rho _{s_{k}r_{p}} \mathbf {w}_{s_{k}r_{p}}+\mathbf {w}_{s_{k}r_{q}}^{H} \rho _{s_{k}r_{q}} \mathbf {w}_{s_{k}r_{q}} }{\sum \limits _{k=1}^{K} \sum \limits _{\substack {l=1\\l\neq p,q}}^{L} \mathbf {w}_{s_{k}r_{l}}^{H} \rho _{s_{k}r_{l}} \mathbf {w}_{s_{k}r_{l}} + \sigma ^{2}\mathbf {w}_{s_{k}r_{p}}^{H} \mathbf {w}_{s_{k}r_{p}}+ \sigma ^{2}\mathbf {w}_{s_{k}r_{q}}^{H} \mathbf {w}_{s_{k}r_{q}}},\)

% when the links belong to the relay-destination phase

\(\text {SINR}_{r_{p,q}d}=\frac {\sum \limits _{k=1}^{K} (\mathbf {w}_{r_{p}d}^{k})^{H} \rho _{r_{p}d}^{k} \mathbf {w}_{r_{p}d}^{k}+(\mathbf {w}_{r_{q}d}^{k})^{H} \rho _{r_{q}d}^{k} \mathbf {w}_{r_{q}d}^{k}}{\sum \limits _{k=1}^{K} \sum \limits _{\substack {l=1\\l\neq p,q}}^{L} (\mathbf {w}_{r_{l}d}^{k})^{H} \rho _{r_{l}d}^{k} \mathbf {w}_{r_{l}d}^{k} + \sigma ^{2}(\mathbf {w}_{r_{p}d}^{k})^{H} \mathbf {w}_{r_{p}d}^{k}+ \sigma ^{2}(\mathbf {w}_{r_{q}d}^{k})^{H} \mathbf {w}_{r_{q}d}^{k}},\)

% record each calculated relay pair SINR

end

end

\(\phantom {\dot {i}\!}\mathrm {SINR_{n,q}}= \text {max} \{ \text {SINR}_{sr_{p,q}} \, \ \text {SINR}_{r_{p,q}d} \}\)

if%Reception mode

if the buffers entries are not full

\(\phantom {\dot {i}\!}\mathbf {y}_{sr_{n,q}}(2i-1)=\sum \limits _{k=1}^{K} \mathbf {h}_{s_{k}r_{n,q}} b_{k}(2i-1)+\mathbf {n}(2i-1),\)

\(\mathbf {y}_{sr_{n,q}}(2i)=\sum \limits _{k=1}^{K} \mathbf {h}_{s_{k}r_{n,q}}b_{k}(2i)+\mathbf {n}(2i).\)

%Apply the detectors at relay n and relay q to obtain

\(\phantom {\dot {i}\!}\hat {b}_{r_{n,q}d,k}(2i-1)\) and \(\hat {b}_{r_{n,q}d,k}(2i)\) and store them

in the corresponding buffer entries

else %choose another link with the second highest SINR

\(\phantom {\dot {i}\!}\mathrm {SINR^{pre}_{q}}=\mathrm {SINR^{base}_{q}}\)

\(\phantom {\dot {i}\!}\mathrm {SINR^{base}_{q}} \in \text {max} \{\mathrm {SINR_{sr_{p}}}, \mathrm {SINR_{r_{p}d}} \} \setminus \mathrm { SINR^{pre}_{q}}\)

%Repeat the above greedy relay pair selection process

end

else%Transmission mode

if the buffers entries are not empty

\(\phantom {\dot {i}\!}\mathbf {y}_{r_{n,q}d,k}(2i-1)= \mathbf {h}_{r_{n}d}^{k} \hat {b}_{r_{n}d,k}(2i-1)+\mathbf {h}_{r_{q}d}^{k} \hat {b}_{r_{q}d,k}(2i)+\mathbf {n}(2i-1),\)

\(\phantom {\dot {i}\!}\mathbf {y}_{r_{n,q}d,k}(2i)= \mathbf {h}_{r_{q}d}^{k} \hat {b}^{*}_{r_{n}d,k}(2i-1)-\mathbf {h}_{r_{n}d}^{k} \hat {b}^{*}_{r_{q}d,k}(2i)+\mathbf {n}(2i).\)

%Apply the detectors/ML at the destination for detection

else%choose another link with the second highest SINR

\(\phantom {\dot {i}\!}\mathrm {SINR^{pre}_{q}}=\mathrm {SINR^{base}_{q}}\)

\(\phantom {\dot {i}\!}\mathrm {SINR^{base}_{q}} \in \text {max} \{\mathrm {SINR_{sr_{p}}}, \mathrm {SINR_{r_{p}d}} \} \setminus \mathrm { SINR^{pre}_{q}}\)

%Repeat the above greedy relay pair selection process

end

end

%Repeat the above greedy relay pair selection process