### 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 (AP_{k}) 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 **G**_{k,n} and **h**_{n} 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 **h**_{n}. Specifically, the absolute DFO \(\phantom {\dot {i}\!}\phi _{f_{{D_{n}}}}\) and relative DFO **b**_{n} are in channel **h**_{n}. According to (5), the elements of **b**_{l,n} are approximately 1 because the user’s speed *c*_{u} 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 **b**_{l,n}. The main idea is to compensate for the DFO in the LoS path of **h**_{n} 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 **h**_{0}. **h**_{0} 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 **h**_{0} 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 **s**_{k} 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 **h**_{0}. 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 |**h**_{0}| 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 **G**_{k} 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 **H**_{k}^{DFT}=**Γ**_{M}**H**_{k}. The *s*-th element of |*H*_{k}^{DFT}| 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 |**H**_{k}^{DFT}| 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 **G**_{k}. When *φ* is set to different values, channel **G**_{k} is invariant; thus, *α* and *θ* are constants. Therefore, identical beam indices correspond to the maximum value of |**H**_{k}^{DFT}| 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 |**H**_{k}^{DFT}|. 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 **G**_{k},*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, |**H**_{k}^{DFT}| 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 *e*^{jΩ}. 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 **H****t**_{k},**H****t**_{k}=**G**_{k}diag(**h**). Then, we use a sensing vector **v**_{p} to solve (P2) and obtain *φ*. Here, **v**_{p} 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.