4.1 AIRS-assisted Doppler compensation
First, we explain how to use the AIRS to conduct Doppler compensation. The received signal at the user in the n-th CT is
$$ \begin{array}{l} {y_{n}} = \mathbf{\mathbf{{h}}}_{n}^{\mathrm{H}}\mathbf{V} \mathbf{\mathbf{G}}_{1,n}^{\mathrm{H}}{{\boldsymbol{\zeta }}_{\mathrm{1}}}\sqrt {P{\eta_{1}}} x{\mathrm{ + }}\mathbf{{h}}_{n}^{\mathrm{H}}\mathbf{V} \mathbf{\mathbf{G}}_{2,n}^{\mathrm{H}}{{\boldsymbol{\zeta }}_{\mathrm{2}}}\sqrt {P{\eta_{2}}} x +,\\ \ldots, + \mathbf{{\mathbf{h}}}_{n}^{\mathrm{H}}\mathbf{V} \mathbf{\mathbf{G}}_{K,n}^{\mathrm{H}}{{\boldsymbol{\zeta }}_{K}}\sqrt {P{\eta_{K}}} x + \varepsilon \\ = \sum\limits_{k = 1}^{K} {\mathbf{{\mathbf{h}}}_{n}^{\mathrm{H}}\mathbf{V} \mathbf{\mathbf{G}}_{k,n}^{\mathrm{H}}{{\boldsymbol{\zeta }}_{\mathrm{{k}}}}\sqrt {P{\eta_{k}}} x} {\mathrm{ + }}\varepsilon \end{array} $$
(6)
Here, x is the information-bearing signal [27]. ζk is the beamforming vector of the k-th AP; ε is additive white Gaussian noise (AWGN); ηk is the power allocation coefficient of the k-th AP (APk) and satisfies \(\sum \limits _{k = 1}^{K} {{\eta _{k}}} = 1\); P is the total transmit power of all Aps; V is the reflection coefficient matrix; \(\mathbf {V}=\text {diag}(\mathbf {{v}}), \mathbf {{v}}=\left [{e^{j{\varsigma _{1}}}}{\mathrm {,}}{e^{j{\varsigma _{2}}}}{\mathrm {,}}...{\mathrm {,}}{e^{j{\varsigma _{N}}}}\right ]^{\mathrm {T}}\) is the reflection coefficient vector; ςn is the phase shift coefficient of the n-th element at the AIRS.
As discussed earlier, the LoS path is much stronger than the NLoS paths; since the channels are dominated by the former in ground-to-air communication, we focus on the LoS path. For the convenience of analysis, we simplify channels Gk,n and hn as
$$ {{\mathrm{\mathbf{G}}}_{k,n}} = {e^{j{\phi_{n}}}}{\beta_{{{\mathrm{\mathbf{G}}}_{k,n}}}}{{\mathrm{\mathbf{a}}}_{\mathrm{{M}}}}\left({\alpha_{_{k,n}}}\right){\mathrm{\mathbf{a}}}_{\mathrm{{N}}}^{\mathrm{H}}\left({\theta_{_{k,n}}}\right) $$
(7)
$$ {{\mathbf{h}}_{n}} = {e^{j\left({\phi_{n}} + {\phi_{{f_{{D_{n}}}}}}\right)}}{\beta_{{\mathbf{{h}}_{n}}}}{{\mathrm{\mathbf{a}}}_{\mathrm{{N}}}}\left({\varphi_{_{n}}}\right) \odot {{\mathrm{\mathbf{{b}}}}_{n}} $$
(8)
Equations (7) and (8) indicate that the DFO only exists in channel hn. Specifically, the absolute DFO \(\phantom {\dot {i}\!}\phi _{f_{{D_{n}}}}\) and relative DFO bn are in channel hn. According to (5), the elements of bl,n are approximately 1 because the user’s speed cu is much slower than the speed of light c. Therefore, we can mainly compensate the absolute DFO \(\phantom {\dot {i}\!}\phi _{f_{{D_{n}}}}\). However, for completeness, we compensate for both \(\phantom {\dot {i}\!}\phi _{f_{{D_{n}}}}\) and bl,n. The main idea is to compensate for the DFO in the LoS path of hn by setting the reflection coefficients of the AIRS elements. Inserting (7) and (8) into (6), we obtain
$$ \begin{array}{l} {y_{n}} = \sum\limits_{k = 1}^{K} {\mathbf{{\mathbf{h}}}_{n}^{\mathrm{H}}\mathbf{V} \mathbf{\mathbf{G}}_{k,n}^{\mathrm{H}}{{\boldsymbol{\zeta }}_{k}}\sqrt {P{\eta_{k}}} x} {\mathrm{ + }}\varepsilon \\ = \mathbf{{\mathbf{h}}}_{n}^{\mathrm{H}}\mathbf{V} \sum\limits_{k = 1}^{K} {\mathbf{\mathbf{G}}_{k,n}^{\mathrm{H}}{{\boldsymbol{\zeta }}_{k}}\sqrt {P{\eta_{k}}} x} {\mathrm{ + }}\varepsilon \\ = \mathbf{{\mathbf{h}}}_{n}^{\mathrm{H}}\boldsymbol{\Psi} \boldsymbol{\Xi} \sum\limits_{k = 1}^{K} {\mathbf{\mathbf{G}}_{k,n}^{\mathrm{H}}{{\boldsymbol{\zeta }}_{k}}\sqrt {P{\eta_{k}}} x} {\mathrm{ + }}\varepsilon \\ \end{array} $$
(9)
Here, we divide the reflection coefficient matrix V into two parts: one part for the Doppler compensation and the other for the transmission. We define V=ΨΞ, where Ψ is a Doppler compensation matrix; Ξ is a reflection matrix to assist the transmission, and \(\boldsymbol {\Xi } = \text {diag}\left ({e^{j{\omega _{1}}}},...,{e^{j{\omega _{n}}}}\right)\); ωn is the reflection phase shift for transmission. We use Ψ to compensate for the DFO and Ξ to optimize the AIRS-aided transmission. To this end, we must obtain \(\phantom {\dot {i}\!}{f_{{D_{n}}}}\). Then, we can calculate \(\phantom {\dot {i}\!}\phi _{f_{{D_{n}}}}\). Note that \(\phantom {\dot {i}\!}{f_{{D_{l,n}}}} = \frac {c_{u}}{\lambda }\cos \left ({\varphi _{_{l,n}}}\right)\). In this paper, we consider that the user’s speed is constant and known by the CPU. If we obtain φn in each CT, the absolute DFO can be calculated. Then, we set Ψ as
$$ \mathbf{\Psi} {\mathrm{ = }}{e^{j{\phi_{{f_{D}}}}}}\text{diag}\left(1,{e^{j2\pi \frac{{dv}}{{\lambda c}}{{\cos }^{2}}(\varphi)}}{\mathrm{,}}...{\mathrm{,}}{e^{j2\pi \frac{{dv}}{{\lambda c}}(N - 1){{\cos }^{2}}(\varphi)}}\right) $$
(10)
which compensates for the DFO.
The key idea is to obtain the AoA of the LoS path in channel h in each CT and set Ψ as (10) to compensate for the DFO for the LoS path. Following compensation, we can use the angle information to find an optimal Ξ for the downlink transmission. Therefore, the acquisition of user angle φ becomes the key work in this paper.
4.2 Angle-sensing strategy
In this subsection, we introduce how to use the AIRS to perceive the user angle φ. We find that the traditional AoA estimation method in a massive MIMO system is not applicable to this system. Then, we analyse the angle-domain characteristic of the AIRS reflecting channel, turn the angle estimation into an optimization problem, and propose an angle-sensing strategy to estimate φ.
First, we review the traditional methods of AoA estimation and discuss the feasibility of the direct application of AoA estimation in AIRS-assisted systems. In massive MIMO systems, we can estimate the AoA of the channel by discrete Fourier transform (DFT). Due to the angle expansion and sparsity of the channel, the energy of the channel is concentrated at only a few points following the DFT application.
Suppose that a channel from a single antenna user to an AP is h0. h0 only consists of one path and can be expressed as \(\phantom {\dot {i}\!}{{\mathbf {h}}_{0}} = \beta {\mathbf {a}_{M_{0}}}(\psi)\). We define ΓM as the DFT matrix.
$$ {\mathbf{\Gamma}_{M}} = \left[ {\begin{array}{llll} 1&1&{...}&1\\ 1&{{e^{- j2\pi \frac{1}{M}}}}&{...}&{{e^{- j2\pi \frac{1}{M}(M - 1)}}}\\ {...}&{...}&{...}&{...}\\ 1&{{e^{- j2\pi \frac{1}{M}(M - 1)}}}&{...}&{{e^{- j2\pi \frac{1}{M}{{(M - 1)}^{2}}}}} \end{array}} \right] $$
(11)
The DFT of h0 can be expressed as
$$ \begin{array}{l} {\mathbf{s}} = {\mathbf{\Gamma}_{{M_{0}}}}{h_{0}}\\ = \beta \left[ {\begin{array}{llll} 1&1&{...}&1\\ 1&{{e^{- j2\pi \frac{1}{{{M_{0}}}}}}}&{...}&{{e^{- j2\pi \frac{1}{{{M_{0}}}}({M_{0}} - 1)}}}\\ {...}&{...}&{...}&{...}\\ 1&{{e^{- j2\pi \frac{1}{{{M_{0}}}}({M_{0}} - 1)}}}&{...}&{{e^{- j2\pi \frac{1}{{{M_{0}}}}{{({M_{0}} - 1)}^{2}}}}} \end{array}} \right]\\ \left[ {\begin{array}{lll} 1\\ {{e^{j2\pi \frac{d}{\lambda }\cos (\psi)}}}\\ {...}\\ {{e^{j2\pi \frac{d}{\lambda }({M_{0}} - 1)\cos (\psi)}}} \end{array}} \right] \end{array} $$
(12)
The k-th element in |s| is
$$ \begin{array}{l} {[|{\mathbf{s}}|]_{k}} = \\ \left|\beta {e^{j2\pi \frac{{{M_{0}} - 1}}{2}\left(\frac{d}{\lambda }\cos (\psi) - \frac{{k - 1}}{{{M_{0}}}}\right)}}\frac{{\sin \left(2\pi \frac{{{M_{0}}}}{2}\left(\frac{d}{\lambda }\cos (\psi) - \frac{{k - 1}}{{{M_{0}}}}\right)\right)}}{{\sin \left(2\pi \frac{1}{2}\left(\frac{d}{\lambda }\cos (\psi) - \frac{{k - 1}}{{{M_{0}}}}\right)\right)}}\right| \end{array} $$
(13)
Equation (13) indicates that sk takes the maximum value only if \(\frac {d}{\lambda }\cos (\psi) - \frac {{k - 1}}{{{M_{0}}}} = 0\).
In Fig. 2, we present an example for the DFT of h0. We set the true AoA as ψ=25∘,45∘ and 75∘. The AP is equipped with 30 antennas, and the antenna spacing is 0.5. For different angles of ψ, the maximum value of |h0| corresponds to different beam indices in the x-label. In other words, we can distinguish different AOAs by the DFT method due to the difference in x-label.
Then, we consider how to obtain the user’s angle φ in an AIRS-aided system. First, we apply the DFT method directly to obtain φ. In this case, the channel from the user to the k-th AP can be written as
$$ \begin{array}{l} {\mathbf{H_{k} = \mathbf{G}_{k}}}\mathbf{V} {\mathbf{h}}\\ ={\mathbf{G}_{k}}\text{{diag}}({\mathbf{h}})\mathbf{{v}}\\ = \\ \beta {e^{2\pi \cos (\varphi)}}\left[ {\begin{array}{ll} {\sum\limits_{n = 1}^{N} {{e^{j{\varsigma_{n}} + j2\pi \frac{d}{\lambda }(n - 1)(\cos (\varphi) - \cos (\theta))}}} }\\ \sum\limits_{n = 1}^{N} e^{j{\varsigma_{n}} + j2\pi \frac{d}{\lambda }\left[\cos (\alpha) + (n - 1)(\cos (\varphi) - \cos (\theta))\right]} \\ {...}\\ \sum\limits_{n = 1}^{N} e^{j\varsigma_{n} + j2\pi \frac{d}{\lambda }\left[(M - 1)\cos (\alpha) + (n - 1)(\cos (\varphi) - \cos (\theta))\right]} \end{array}} \right] \end{array} $$
(14)
where β is the product of complex gain in channels Gk and h. Here, we set ωn=0,n=1,...,N to study the influence of different user angles φ on the DFT. We set θ=30∘,α=60∘, and φ=[0∘,20∘,30∘,40∘,50∘,60∘],M=20 and \({\frac {d}{\lambda }}=0.5\). As shown in Fig. 3, following the DFT application, identical beam indices correspond to the maximum values of different values of φ. Hence, we cannot use the conventional DFT method to estimate φ because we cannot distinguish different angles in the x-label. Thus, we must find another method to obtain φ. We define HkDFT=ΓMHk. The s-th element of |HkDFT| can be expressed as
$$ \begin{array}{ll} {{{\left[|{{\mathbf{H}_{k}}^{{\text{DFT}}}}|\right]}_{s}}}\\ \\ { = {{\left[|\mathbf{\Gamma}_{M} {\mathbf{H}_{k}}|\right]}_{s}}}\\ { =|\beta {e^{j2\pi \cos (\varphi)}}BC|} \end{array} $$
(15)
where
$$ B = \sum\limits_{n = 1}^{N} {{e^{j{\varsigma_{n}} + j2\pi \left[\frac{d}{\lambda }(n - 1)\left(\cos (\varphi) - \cos (\theta)\right)\right]}}} $$
(16)
$$ C = {e^{j\pi (M - 1)X}}\frac{{\sin (\pi MX)}}{{\sin (\pi X)}} $$
(17)
and
$$ X = \frac{d}{\lambda }\cos (\alpha) - \frac{{s - 1}}{M} $$
(18)
Equation (15) - (18) reveal that after the DFT transformation, the maximum value of |HkDFT| is obtained if and only if X=0. X is only related to the angle α, not to angles φ or θ. Here, α is the AoA of channel Gk. When φ is set to different values, channel Gk is invariant; thus, α and θ are constants. Therefore, identical beam indices correspond to the maximum value of |HkDFT| in different φ after the DFT implementation. In this time, channel h becomes a coefficient of C. Different values of φ only change B, which is the amplitude of |HkDFT|. Therefore, we cannot use the DFT method to directly obtain φ in an IRS-aided communication system.
In this paper, we propose an angle-sensing algorithm to estimate φ. In the AIRS-aided CF massive MIMO system, the positions of all APs are usually fixed. The AIRS is controlled by the CPU, so the location of the AIRS is also known. We can assume that the angle information of channel Gk,k=1,...,K is known. This assumption is reasonable and has been used in many IRS-related studies. From (16), we can find the maximum value of B if we find a set of optimal AIRS reflection coefficients ςn,n=1,...,N. When B reaches the maximum value, |HkDFT| also reaches the maximum value. In this case, the following equation holds:
$$ \begin{array}{l} j{\varsigma_{n}} + j2\pi \left[\frac{d}{\lambda }(n - 1)(\cos (\varphi) - \cos (\theta))\right] = j\Omega \\ n = 1,...,N \end{array} $$
(19)
where Ω∈[0,2π) is an alignment angle. To obtain the maximum value, all additions of B should have the same phase ejΩ. For ease of argument, we set Ω=0. When we find ςn to maximize B, we have the following equation:
$$ {\varsigma_{n}} = 2\pi \left[\frac{d}{\lambda }(n - 1)(\cos (\theta) - \cos (\varphi))\right] $$
(20)
Then, we can obtain φ. To find the optimal ςn,n=1,...,N, we construct the optimization problem as
$$ \begin{array}{l} {\mathrm{P1}}:\\ \begin{array}{ll} {\mathop {\max }\limits_{{\varsigma_{n}}} \sum\limits_{n = 1}^{N} {{e^{j{\varsigma_{n}} + j2\pi \left[\frac{d}{\lambda }(n - 1)(\cos (\varphi) - \cos (\theta))\right]}}} {e^{j\pi (M - 1)X}}}\\ {\;\;\;\;\;\; \times \frac{{\sin (\pi MX)}}{{\sin (\pi X)}}{e^{j2\pi \cos (\varphi)}}}\\ {\;\;\;\;\;\;s.t.\;\;{\varsigma_{n}} \in [0,2\pi),n = 1,...,N;}\\ {\;\;\;\;\;\;\;\;\;\;\;\;X = \frac{d}{\lambda }\cos (\alpha) - \frac{{s - 1}}{M};}\\ \end{array} \end{array} $$
(21)
From (19), we find that the optimal set of ςn has the form of an arithmetic sequence, and ς0=0. Thus, we set \({\varsigma _{n}} = (n - 1)\vartheta, \vartheta \in \left [ - 2\pi \frac {d}{\lambda },2\pi \frac {d}{\lambda }\right ]\), where X=0 is the reference point. Then, (P1) can be rewritten as
$$ \begin{array}{l} {\mathrm{P2}}:\\ \mathop {\max }\limits_{\vartheta} {\mathrm{ }}\sum\limits_{n = 1}^{N} {{e^{j(n - 1)\vartheta + j2\pi \left[\frac{d}{\lambda }(n - 1)(\cos (\varphi) - \cos (\theta))\right]}}} \\ {\mathrm{~~~~~~s}}{\mathrm{.t}}{\mathrm{. }}\vartheta \in \left[ - 2\pi \frac{d}{\lambda },2\pi \frac{d}{\lambda }\right] \end{array} $$
(22)
Note that
$$ \begin{array}{l} \sum\limits_{n = 1}^{N} {{e^{j(n - 1)\vartheta + j2\pi \left[\frac{d}{\lambda }(n - 1)(\cos (\varphi) - \cos (\theta))\right]}}} \\ = \sum\limits_{n = 1}^{N} {{e^{j(n - 1)\left[\vartheta + 2\pi \frac{d}{\lambda }(\cos (\varphi) - \cos (\theta))\right]}}} \\ = {e^{j2\pi \frac{{N - 1}}{2}}}\frac{{\sin (N\pi \chi)}}{{\sin (\pi \chi)}}\\ \end{array} $$
(23)
where \(\chi = \left [\vartheta + 2\pi \frac {d}{\lambda }(\cos (\varphi) - \cos (\theta))\right ]\). When χ=0, (P2) can be solved, leading to
$$ {\vartheta_{{opt}}} = 2\pi \frac{d}{\lambda }\left[\cos (\theta) - \cos (\varphi)\right] $$
(24)
Here, the key idea is to find \(\vartheta \in \Upsilon, \Upsilon = \left [ - 2\pi \frac {d}{\lambda },2\pi \frac {d}{\lambda }\right ]\) to solve (P2). Then, we can obtain φ by (24). To find 𝜗, we perform a one-dimensional search in Υ with an appropriate search accuracy ΔFootnote 3.
We do not truly adjust the reflection coefficient ςn at the AIRS but simply match the angle at the CPU. Specifically, we first estimate the cascade channel Htk,Htk=Gkdiag(h). Then, we use a sensing vector vp to solve (P2) and obtain φ. Here, vp is defined as
$$ \mathbf{{v}}_{p} = \left[1,e^{j\vartheta},...,e^{j(N-1)\vartheta}\right]^{\mathrm{T}} $$
(25)
The specific algorithm implementation is summarized in Algorithm 1. When φ is obtained, we can construct Ψ by (10) to compensate for the DFO.