1 Introduction
1.1 Problem statement
1.2 Motivation
1.3 Related works
1.4 Contributions
2 MIMO-FBMC/OQAM system description
3 Problem formulation
3.1 Representation of FBMC/OQAM in matrix form
3.2 Block frequency spreading approach for FBMC/OQAM
3.3 Formulation of symbol detection
4 Methodology
4.1 Harmony search algorithm
-
One of the elements existing in the first column of the HM matrix is selected, randomly.
-
For the selected component, another random number symbolized by r2 is generated in the range [0, 1].
-
If r2 < PAR, pitch adjustment operation expressed in the Eq. (16) is applied to the selected element. By doing so, a new value adjacent to the related element is produced. The new value produced from the selected element is then assigned to the first dimension of the candidate solution represented by a 1 × D vector.
-
If r2 > PAR, pitch adjusting process is not put into practice and the selected component is directly assigned to the first dimension of the candidate solution vector.
-
Without considering the HM, a totally random value in a predefined range is generated to form the first dimension of the candidate solution vector.
4.2 The proposed discrete harmony search (disHS) algorithm
-
One of the existing solutions is selected from the HM matrix in a random way. The randomly selected solution is defined as follows:where r is a random integer generated in the range [1, P].$$S_{r}^{(d)} = \left[ {h_{r}^{(1)} \,\,,\,\,h_{r}^{(2)} \,\,,\,\,.\,\,.\,\,.\,\,,\,\,h_{r}^{(D)} \,\,,\,\,fit\left( {h_{r}^{(d)} } \right)\,\,,\,\,\alpha_{r} } \right]\,\,\,\,\,,\,\,\,\,\,d = 1\,\,,\,\,2\,\,,\,\,.\,\,.\,\,.\,\,,\,\,D$$(22)
-
One adjacent solution is produced from \(S_{r}^{(d)}\) by utilizing the cyclic bit flipping procedure [41]. To this end, in the first instance, the following bit flipping operation is applied to the selected solution:$$S_{r}^{(d),new} = flip\left( {S_{r}^{(d)} } \right)_{{\alpha_{r} }}$$(23)
-
Fitness value of the new solution is calculated.
-
If the fitness of \(S_{r}^{(d),new}\) is better than that of the population member having the worst fitness quality in the HM matrix, \(S_{r}^{(d),new}\) is replaced by the related worst population member. Otherwise, no changes are made to the HM matrix.
4.3 Discrete harmony search-based ML strategy
5 Results and analysis
Number of subcarriers | M = 64 |
Number of FBMC symbols | N = 30 |
QAM modulation order | Z = 4 |
Prototype filter model | PHYDYAS |
Subcarrier spacing | 15 kHz |
Carrier frequency | 2.5 GHz |
Overlapping factor | 4 |
Antenna configuration | 4 × 4, 6 × 6, 8 × 8 |
Channel model | Cost 207 Hilly Terrain |
Estimation error | e = 25% |
The number of multiplications per fitness evaluation for parameter updating in optimization algorithms | μ = 2 |
5.1 Search complexity analysis
Methods | 4 × 4 | 6 × 6 | 8 × 8 | |
---|---|---|---|---|
BPSO-ML | Number of particles | NP = 20 | NP = 30 | NP = 40 |
Maximum number of iterations | MaxIter = 10 | MaxIter = 25 | MaxIter = 45 | |
Search complexity | SC = NP∙MaxIter = 200 | SC = NP∙MaxIter = 750 | SC = NP∙MaxIter = 1800 | |
BER (SNR = 12 dB) | 0.06047 | 0.05013 | 0.04900 | |
disABC-ML | Colony size | CS = 20 | CS = 30 | CS = 40 |
Maximum number of cycles | MaxCycle = 10 | MaxCycle = 25 | MaxCycle = 45 | |
Search complexity | SC = CS∙MaxCycle = 200 | SC = CS∙MaxCycle = 750 | SC = CS∙MaxCycle = 1800 | |
BER (SNR = 12 dB) | 0.04792 | 0.02831 | 0.02347 | |
DBHS-ML | Number of Harmonies | HarNum = 20 | HarNum = 30 | HarNum = 40 |
Maximum number of searches | MaxSearch = 200 | MaxSearch = 750 | MaxSearch = 1800 | |
Search complexity | SC = MaxSearch = 200 | SC = MaxSearch = 750 | SC = MaxSearch = 1800 | |
BER (SNR = 12 dB) | 0.03237 | 0.01701 | 0.01579 | |
disHS-ML | Population size | P = 20 | P = 25 | P = 30 |
Maximum number of iterations | MNI = 160 | MNI = 400 | MNI = 900 | |
Search complexity | SC = MNI = 160 | SC = MNI = 400 | SC = MNI = 900 | |
BER (SNR = 12 dB) | 0.02148 | 0.01295 | 0.008008 | |
ML | Search complexity | \(SC = Z^{{N_{t} }} = 4^{4} = 256\) | \(SC = Z^{{N_{t} }} = 4^{6} = 4096\) | \(SC = Z^{{N_{t} }} = 4^{8} = 65536\) |
BER (SNR = 12 dB) | 0.01858 | 0.006892 | 0.003672 |
Methods | Parameters | Values |
---|---|---|
BPSO-ML | Cognitive parameter | c1 = 2 |
Social parameter | c2 = 1 | |
Inertia weight | w = 0.9 to 0.4 | |
Maximum velocity | Vmax = 6 | |
disABC-ML | Trial limit | 30 |
DBHS-ML | Harmony memory consideration rate | HMCR = 0.6 |
Pitch adjusting rate | PAR = 0.05 | |
disHS-ML | Harmony memory consideration rate | HMCR = 0.95 |
Pitch adjusting rate | PAR = 0.5 |
5.2 Convergence and BER analysis
5.3 Computational complexity analysis
Methods | 4 × 4 | 6 × 6 | 8 × 8 |
---|---|---|---|
Complexity of ML | \(\begin{gathered} C_{ML} = Z^{{N_{t} }} \cdot \left( {1 + N_{t} } \right) \cdot N_{r} \hfill \\ \,\,\,\,\,\,\,\,\,\, = 4^{4} \cdot \left( {1 + 4} \right) \cdot 4 \hfill \\ \,\,\,\,\,\,\,\,\,\, = 5120 \hfill \\ \end{gathered}\) | \(\begin{gathered} C_{ML} = Z^{{N_{t} }} \cdot \left( {1 + N_{t} } \right) \cdot N_{r} \hfill \\ \,\,\,\,\,\,\,\,\,\, = 4^{6} \cdot \left( {1 + 6} \right) \cdot 6 \hfill \\ \,\,\,\,\,\,\,\,\,\, = 172032 \hfill \\ \end{gathered}\) | \(\begin{gathered} C_{ML} = Z^{{N_{t} }} \cdot \left( {1 + N_{t} } \right) \cdot N_{r} \hfill \\ \,\,\,\,\,\,\,\,\,\, = 4^{8} \cdot \left( {1 + 8} \right) \cdot 8 \hfill \\ \,\,\,\,\,\,\,\,\,\, = 4718592 \hfill \\ \end{gathered}\) |
Complexity of disHS-ML | \(\begin{gathered} C_{disHS - ML} = MNI \cdot \left( {N_{t} \cdot N_{r} + \mu } \right) \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = 160 \cdot \left( {4 \cdot 4 + 2} \right) \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = 2880 \hfill \\ \end{gathered}\) | \(\begin{gathered} C_{disHS - ML} = MNI \cdot \left( {N_{t} \cdot N_{r} + \mu } \right) \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = 400 \cdot \left( {6 \cdot 6 + 2} \right) \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = 15200 \hfill \\ \end{gathered}\) | \(\begin{gathered} C_{disHS - ML} = MNI \cdot \left( {N_{t} \cdot N_{r} + \mu } \right) \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = 900 \cdot \left( {8 \cdot 8 + 2} \right) \hfill \\ \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, = 59400 \hfill \\ \end{gathered}\) |
Complexity gain (%) | 43.750% | 91.164% | 98.741% |
Antenna structure | Method | Search complexity (SC) | Average BER (SNR = 12 dB) | Computational complexity | Complexity gain (%) |
---|---|---|---|---|---|
4 × 4 | BPSO-ML | NP ∙ MaxIter = 20 ∙ 10 = 200 | 0.06047 | CBPSO-ML = 3600 | 60.500 |
disHS-ML | MNI = 79 | 0.06047 | CdisHS-ML = 1422 | ||
6 × 6 | BPSO-ML | NP ∙ MaxIter = 30 ∙ 25 = 750 | 0.05013 | CBPSO-ML = 28,500 | 71.600 |
disHS-ML | MNI = 213 | 0.05013 | CdisHS-ML = 8094 | ||
8 × 8 | BPSO-ML | NP ∙ MaxIter = 40 ∙ 45 = 1800 | 0.04900 | CBPSO-ML = 118,800 | 78.000 |
disHS-ML | MNI = 396 | 0.04900 | CdisHS-ML = 26,136 | ||
4 × 4 | disABC-ML | CS ∙ MaxCycle = 20 ∙ 10 = 200 | 0.04792 | CdisABC-ML = 3600 | 55.000 |
disHS-ML | MNI = 90 | 0.04792 | CdisHS-ML = 1620 | ||
6 × 6 | disABC-ML | CS ∙ MaxCycle = 30 ∙ 25 = 750 | 0.02831 | CdisABC-ML = 28,500 | 65.200 |
disHS-ML | MNI = 261 | 0.02831 | CdisHS-ML = 9918 | ||
8 × 8 | disABC-ML | CS ∙ MaxCycle = 40 ∙ 45 = 1800 | 0.02347 | CdisABC-ML = 118,800 | 71.889 |
disHS-ML | MNI = 506 | 0.02347 | CdisHS-ML = 33,396 | ||
4 × 4 | DBHS-ML | MaxSearch = 200 | 0.03237 | CDBHS-ML = 3600 | 44.000 |
disHS-ML | MNI = 112 | 0.03237 | CdisHS-ML = 2016 | ||
6 × 6 | DBHS-ML | MaxSearch = 750 | 0.01701 | CDBHS-ML = 28,500 | 58.133 |
disHS-ML | MNI = 314 | 0.01701 | CdisHS-ML = 11,932 | ||
8 × 8 | DBHS-ML | MaxSearch = 1800 | 0.01579 | CDBHS-ML = 118,800 | 68.111 |
disHS-ML | MNI = 574 | 0.01579 | CdisHS-ML = 37,884 |