4.1. Problem Formulation and Solving
By collecting the received signals at all subcarriers of the
nth symbol, we obtain
where
,
,
,
and
denotes a matrix or vector. Considering all
OFDM symbols in one frame, we formulate the objective function as
Similarly to
Section 3, we transform the optimization problem into a real-valued representation, which is given by
where
, , and .
According to (
27)–(
29), (
26) is further expanded as
Since
is independent of the transmitted signal, and the traces of
and
are equal, we transform the objective function into
denotes the
all-one matrix, and ⊗ denotes the Kronecker product, we can express (
31) in a more concise form as
By further defining matrices
we can obtain the final objective function as
Consequently, we construct
As in
Section 3, by defining the matrix
we can transform (
41) into the following Riemannian optimization problem:
The Euclidean gradient of
can be calculated as
With (
44), we can apply the Riemannian conjugate gradient algorithm to solve (
43).
Let
denote the solution of (
43). Then, according to (
32), (
34), (
37), and (
42), we can obtain estimation of the transmitted signal as
where
denotes the estimation of the transmitted signal after real–virtual separation.
From (
43) and (
44), it is observed that the objective function and gradient function contain channel matrix
. Here, we assume that the channels can be estimated based on a small number of pilots by, for example, using GAN-based channel estimation methods [
17,
18]. Let
denote the initial estimation of
. According to (
29) and (
39), we can obtain the initial estimation of
, i.e.,
. Given
, we can also use ZF detection and hard-decisioning to obtain the initial estimation of the transmitted signal as
After that, we can obtain the initial estimation of
, i.e.,
, according to (
32), (
34), (
37), and (
42).
The whole procedure of the proposed method is summarized in Algorithm 2.
Algorithm 2 The proposed manifold optimization-based data detection algorithm for MIMO-OFDM systems under time-varying channels. |
- 1:
- 2:
- 3:
(1) Obtain the initial channel estimation by using GAN-based methods; - 4:
(2) Obtain the initial estimation of the transmitted signal according to ( 46); - 5:
(3) Obtain according to ( 29) and ( 39), according to ( 33), and ( 35), ( 38), and according to ( 32), ( 34), ( 37), and ( 42); - 6:
(4) Solve ( 43) by using the Riemannian conjugate gradient algorithm to obtain the solution ; - 7:
(5) Obtain according to ( 32), ( 34), ( 37), and ( 42), and then the estimated transmission signal according to ( 45).
|
4.2. Improved Algorithm with Less Complexity
Note that the dimensions of
,
, and
may be large. Thus, directly solving (
43) will result in high computational complexity. To reduce the complexity, we can divide the data frame into
subframes, each containing
B OFDM symbols, and bringing subframes one by one to solve the problem. Since the reduction in the dimension of
,
, and
from
to
, from
to
, and from
to
, respectively, the computational complexity will be greatly reduced. However, directly reducing the matrix dimension will also deteriorate the algorithm performance.
To maintain the performance of the algorithm, we further propose an improved algorithm that reuses the pilot symbols. Specifically, we compare the pilots obtained by solving the optimization problem with the real pilots to control when the iteration ends and thus maintain the performance of the estimation. When the two kinds of pilots are equal, the iteration is terminated. It should be pointed out that the pilot allocation in the proposed method is different from that in
Section 3, where all pilots are placed at the first
OFDM symbols within one frame. In the proposed method, the pilots are discretely distributed within one frame.
Let
denote the set of the pilot positions at the
pth transmit antenna in the
ith subframe and
denote the corresponding transmitted pilot symbols, where
,
, and
. In the simulation, we set the position of the guide frequency as follows:
In practice, we actually use the values of , , and . Instead of using the complete OFDM symbols as the pilots when performing pilots, the pilots are inserted in OFDM symbols spaced at several fixed positions.
The procedure of the proposed less-complex algorithm is summarized in Algorithm 3.
In Algorithm 3, we estimate the signals from each subframe successively. Specifically, after solving the optimization problem to obtain the estimation of the transmit signals in the current subframe, we compare the symbols at the pilot positions with the true pilots. If the two kinds of pilots are equal, we continue to estimate the transmit signals of the next subframe. Otherwise, we take the estimated signal as a starting point and continue to estimate transmit signals of this subframe by solving the optimization problem. We repeat this process until the two kinds of pilots are equal.
The flow diagram corresponding to Algorithm 3 is shown in
Figure 1.
Next, we analyze the computational complexity of Algorithms 2 and 3. We use the number of complex multiplications to represent computational complexity. The biggest difference between Algorithms 2 and 3 lies in the number of iterations required in the Riemannian conjugate gradient algorithm, as well as the different dimensions of the matrices optimized in each iteration. The amount of computation of solving the optimization problem mainly comes from the calculation of the objective function and its gradient , where most of the computations involve matrix multiplications. Therefore, the difference in computational complexity between the two algorithms mainly lies in the computational complexity and number of calculations required for and .
We analyze the complexity of
and
in Algorithm 2 first. Some matrix multiplications appear repeatedly in different calculations, so they can be calculated only once. The required computational operations and their corresponding computational complexity are listed in
Table 1. The most frequently occurring multiplication is
, which has a complexity of
. The multiplication
has a complexity of
. The multiplication
also has a complexity of
. Therefore, the complexity of calculating
is
. For
, since the multiplication
has already been analyzed and does not need to be repeated, we only need to consider the remaining multiplications. The multiplication
has a complexity of
. The multiplication
also has a complexity of
. Therefore, the complexity of calculating
is
. Let
denote the number of iterations of the Riemannian conjugate gradient algorithm in Algorithm 2. The overall complexity of calculating these steps in Algorithm 2 is
.
Similarly to Algorithm 2, the complexity of calculating
is
and the complexity of calculating
is
in Algorithm 3. Let
denote the number of iterations of the Riemannian conjugate gradient algorithm in Algorithm 3. Since we divide one data frame of
symbols into subframes of
B symbols each for computation, the overall complexity of calculating these steps in Algorithm 3 is
.
Algorithm 3 The proposed less-complex algorithm. |
- 1:
- 2:
- 3:
(1) The same as step (1) in Algorithm 2; - 4:
(2) The same as step (2) in Algorithm 2; - 5:
(3) Divide the data frame into subframes; - 6:
for to do - 7:
(i) Set ; - 8:
(ii) Similar to Algorithm 2, construct matrices , , and according to , , and ; - 9:
(iii) Solve ( 43) to obtain the solution , where , , and are replaced by , , and , respectively; - 10:
(iv) Similarly to Algorithm 2, obtain the estimated transmission signal , and then obtain the estimated pilot symbols ; - 11:
if , then - 12:
(a) Set and ; - 13:
(b) Return to (iii). - 14:
end if - 15:
end for
|
After observing a large number of simulation experiments, we can conclude that
is usually around 7 times and
is usually around 10 times during the simulation process. In summary, when
, the computational complexity of Algorithm 2 and the three Algorithms 3 taking different subframe lengths is shown in
Table 2. Under the condition of
and
, the complexity of calculating the above steps is
in Algorithm 2 and
in Algorithm 3. So the complexity of the improved Algorithm 3 is
of Algorithm 2.