HTML conversions sometimes display errors due to content that did not convert correctly from the source. This paper uses the following packages that are not yet supported by the HTML conversion tool. Feedback on these issues are not necessary; they are known and are being worked on.

  • failed: cuted

Authors: achieve the best HTML results from your LaTeX submissions by selecting from this list of supported packages.

License: arXiv.org perpetual non-exclusive license
arXiv:2312.08214v1 [cs.IT] 13 Dec 2023

A Precoding for ORIS-Assisted MIMO Multi-User VLC System

Mahmoud Atashbar, Hamed Alizadeh Ghazijahani, Yong Liang Guan, , and Zhaojie Yang This paper was produced by the IEEE Publication Technology Group. They are in Piscataway, NJ.
Abstract

In this paper, we study a multi-user visible light communication (VLC) system assisted with optical reflecting intelligent surface (ORIS). Joint precoding and alignment matrices are designed to maximize the average signal-to-interference plus noise ratio (SINR) criteria. Considering the constraints of the constant mean transmission power of LEDs and the power associated with all users, an optimization problem is proposed. To solve this problem, we utilize an alternating optimization algorithm to optimize the precoding and alignment matrices. The simulation results demonstrate that the resultant SINR of the proposed method outperforms ZF and MMSE precoding algorithms.

Index Terms:
VLC, Precoding, ORIS, Multi-user, MIMO.
publicationid: pubid: IEEE

I Introduction

Communicating data using visible light is an attractive optical communication system that utilizes the visible region of the optical spectrum. As an emerging technology in 6G, visible light communication (VLC) combines communication with lighting and is a promising technique for providing indoor internet access. VLC offers several significant advantages, such as license-free spectrum, high security, high data rates, low cost, and no hazardous electromagnetic radiation[1].

Multiple-input multiple-output (MIMO) technology is becoming popular in VLC systems. In a multi-user MIMO VLC (MU-MIMO-VLC) system, the transmitter is an array of transmitting LEDs that simultaneously supports multiple users equipped with single or multiple photodiodes (PD). To mitigate inter-user interference, the signals associated with the users undergo precoding prior to transmission[2]. The main objective of precoding is to maximize the signal-to-interference plus noise ratio (SINR) at the receivers. By directing the transmitted signals toward the intended users, it becomes feasible to alleviate the impacts of multi-user interference in MU-MIMO-VLC systems such as zero-forcing (ZF) and minimum mean square error (MMSE) precoding algorithms.

On the other hand, reflecting intelligent surface (RIS) technology opens a wide insight into wireless communications that enables cost-energy and spectral-efficient communications [3]. Often, in radio frequency communications (RF), these surfaces incorporate phase shifters to reflect electromagnetic waves with specific phases according to specific inputs or requirements. To get the benefits of deploying RISs in wireless networks, the RIS parameters such as phase shift values and network resource allocation like precoding, must be optimized jointly [4]. In the VLC system, the optical RISs (ORIS) are utilized that reflect the incident signals intelligently [5]. The ORIS can compensate for path loss and improve the overall signal strength at the receivers. From the physics standpoint, the principal classifications of ORISs comprise the intelligent meta-surface reflector, intelligent mirror array, and liquid crystal-based ORIS [6].

Some works address MIMO-VLC in the presence of ORIS. The authors in [7] designed jointly the precoding and detection matrices for a multi-PD single user by minimizing the receiver MMSE. In [8] the transmit power of LEDs and the location of mirrors are designed based on maximizing SINR for a multi-user scenario. The alignment matrix between LEDs and ORIS elements and transmit power are designed by maximizing the achievable rate for multi-user scenario in [9]. Another work presents a codebook-assistant precoding for an omni-digital ORIS with single user case [10].

In this paper, we design precoding and alignment matrices jointly for the ORIS-assisted MU-MIMO-VLC system that maximizes the mean SINR of users under the following constraints. Each element in ORIS reflects the light to only one user, so the mean alternative current (AC) power of LEDs and the allocated power of all users are the same. To solve the proposed optimization problem, we propose an alternating algorithm. By supposing a known alignment matrix, the gradient ascent method that is projected on Manifolds is utilized to design the precoding matrix. Considering a known precoding matrix, the alignment matrix is designed using a low-complexity method.

II System Model

In this work, we consider a room with a rectangular LED array on the ceiling and a rectangular ORIS panel with M𝑀Mitalic_M elements installed on the wall to model a MU-MIMO VLC system, shown in Fig. 1. The LED array with Ntsubscript𝑁𝑡N_{t}italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT LEDs supports K𝐾Kitalic_K single-PD users placed on the work plane simultaneously. Each user receives the optical signal from the line-of-sight (LOS) channel emitted from the LED panel and the signal is reflected from the ORIS panel, as a non-LOS (nLOS) channel. The LOS channel between i𝑖iitalic_ith LED and k𝑘kitalic_kth user follows the well-known Lambertian model as [1]

hi,k(los)=Ap(m+1)2πdi,k2cosm(ϕi,k)cos(θi,k)TG,subscriptsuperscript𝑙𝑜𝑠𝑖𝑘subscript𝐴𝑝𝑚12𝜋superscriptsubscript𝑑𝑖𝑘2superscript𝑚subscriptitalic-ϕ𝑖𝑘subscript𝜃𝑖𝑘𝑇𝐺h^{(los)}_{i,k}=\frac{A_{p}(m+1)}{2\pi d_{i,k}^{2}}\cos^{m}(\phi_{i,k})\cos(% \theta_{i,k})TG,italic_h start_POSTSUPERSCRIPT ( italic_l italic_o italic_s ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT = divide start_ARG italic_A start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_m + 1 ) end_ARG start_ARG 2 italic_π italic_d start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG roman_cos start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ( italic_ϕ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT ) roman_cos ( italic_θ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT ) italic_T italic_G , (1)

in which ϕi,ksubscriptitalic-ϕ𝑖𝑘\phi_{i,k}italic_ϕ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT is the emitting angle, θi,ksubscript𝜃𝑖𝑘\theta_{i,k}italic_θ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT denotes the incident angle from the i𝑖iitalic_ith LED to k𝑘kitalic_kth user, m𝑚mitalic_m is Lambert’s mode number expressing directivity of the source beam, Apsubscript𝐴𝑝A_{p}italic_A start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT denotes the area of the receiver PD, the T𝑇Titalic_T represents the signal transmission coefficient of an optical filter, G𝐺Gitalic_G denotes the concentrator gain, and di,ksubscript𝑑𝑖𝑘d_{i,k}italic_d start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT is the distance between i𝑖iitalic_ith LED to k𝑘kitalic_kth user [1]. Note that (1) is valid for 0<θi,k<θ00subscript𝜃𝑖𝑘subscript𝜃00<\theta_{i,k}<\theta_{0}0 < italic_θ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT < italic_θ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT with θRsubscript𝜃𝑅\theta_{R}italic_θ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT as semi-angle of the PD field-of-view.

The nLOS channel for the signal transmitted from i𝑖iitalic_ith LED, reflected from r𝑟ritalic_rth element of ORIS, and received with k𝑘kitalic_kth user is indicated as [11]

hi,r,k(nlos)=αAp(m+1)2π(di,r+dr,k)2cosm(ϕi,r)cos(θr,k)TG,subscriptsuperscript𝑛𝑙𝑜𝑠𝑖𝑟𝑘𝛼subscript𝐴𝑝𝑚12𝜋superscriptsubscript𝑑𝑖𝑟subscript𝑑𝑟𝑘2superscript𝑚subscriptitalic-ϕ𝑖𝑟subscript𝜃𝑟𝑘𝑇𝐺h^{(nlos)}_{i,r,k}=\alpha\frac{A_{p}(m+1)}{2\pi(d_{i,r}+d_{r,k})^{2}}\cos^{m}(% \phi_{i,r})\cos(\theta_{r,k})TG,italic_h start_POSTSUPERSCRIPT ( italic_n italic_l italic_o italic_s ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_r , italic_k end_POSTSUBSCRIPT = italic_α divide start_ARG italic_A start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_m + 1 ) end_ARG start_ARG 2 italic_π ( italic_d start_POSTSUBSCRIPT italic_i , italic_r end_POSTSUBSCRIPT + italic_d start_POSTSUBSCRIPT italic_r , italic_k end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG roman_cos start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ( italic_ϕ start_POSTSUBSCRIPT italic_i , italic_r end_POSTSUBSCRIPT ) roman_cos ( italic_θ start_POSTSUBSCRIPT italic_r , italic_k end_POSTSUBSCRIPT ) italic_T italic_G , (2)

where 0<α<10𝛼10<\alpha<10 < italic_α < 1 is the reflective index of the ORIS.

Refer to caption
Figure 1: The MIMO-VLC system model with an ORIS installed on a wall.

Supposing 𝒔=[s1,s2,,sK]TRK×1𝒔superscriptsubscript𝑠1subscript𝑠2subscript𝑠𝐾𝑇superscript𝑅𝐾1\boldsymbol{s}=\left[s_{1},s_{2},\ldots,s_{K}\right]^{T}\in R^{K\times 1}bold_italic_s = [ italic_s start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_s start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_s start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ∈ italic_R start_POSTSUPERSCRIPT italic_K × 1 end_POSTSUPERSCRIPT is the transmitted signal vector where sisubscript𝑠𝑖s_{i}italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT indicates the transmitted symbol to k𝑘kitalic_kth user. At first, the transmitted signal vector is multiplied by the precoding matrix 𝑷ϵRNt×K𝑷italic-ϵsuperscript𝑅subscript𝑁𝑡𝐾\boldsymbol{P}\epsilon R^{N_{t}\times K}bold_italic_P italic_ϵ italic_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT × italic_K end_POSTSUPERSCRIPT with 𝑷=[𝒑1,𝒑2,,𝒑K]𝑷subscript𝒑1subscript𝒑2subscript𝒑𝐾\boldsymbol{P}=\left[\boldsymbol{p}_{1},\boldsymbol{p}_{2},\ldots,\boldsymbol{% p}_{K}\right]bold_italic_P = [ bold_italic_p start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , bold_italic_p start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , bold_italic_p start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ] where 𝒑ksubscript𝒑𝑘\boldsymbol{p}_{k}bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is the precoding vector associated with k𝑘kitalic_kth user to generate the LEDs’ transmission signal vector. Then, the DC offset is summed up with the precoded signal to guarantee the non-negative transmission signal of LED’s.

On the receiver side, the received signal of the k𝑘kitalic_kth user after removing the DC value is

yk=(𝒉k(los )+𝑯k(nlos)𝒇k)𝑻𝑷𝒔+nk,subscript𝑦𝑘superscriptsuperscriptsubscript𝒉𝑘los superscriptsubscript𝑯𝑘nlossubscript𝒇𝑘𝑻𝑷𝒔subscript𝑛𝑘y_{k}=\left(\boldsymbol{h}_{k}^{(\text{los })}+\boldsymbol{H}_{k}^{(\mathrm{% nlos})}\boldsymbol{f}_{k}\right)^{\boldsymbol{T}}\boldsymbol{P}\boldsymbol{s}+% n_{k},italic_y start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = ( bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( los ) end_POSTSUPERSCRIPT + bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT bold_italic_T end_POSTSUPERSCRIPT bold_italic_P bold_italic_s + italic_n start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , (3)

where nksubscript𝑛𝑘n_{k}italic_n start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is the zero-mean Gaussian noise parameter with variance σn2superscriptsubscript𝜎𝑛2\sigma_{n}^{2}italic_σ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT and 𝒉k(los)=[h1,k(los),h2,k(los),hNt,k(los)]Tsuperscriptsubscript𝒉𝑘lossuperscriptsuperscriptsubscript1𝑘lossuperscriptsubscript2𝑘lossuperscriptsubscriptsubscript𝑁𝑡𝑘los𝑇\boldsymbol{h}_{k}^{(\mathrm{los})}=\left[h_{1,k}^{(\mathrm{los})},h_{2,k}^{(% \mathrm{los})},\ldots h_{N_{t},k}^{(\mathrm{los})}\right]^{T}bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT = [ italic_h start_POSTSUBSCRIPT 1 , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT , italic_h start_POSTSUBSCRIPT 2 , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT , … italic_h start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT and 𝑯k(nlos)𝒇ksuperscriptsubscript𝑯𝑘nlossubscript𝒇𝑘\boldsymbol{H}_{k}^{(\mathrm{nlos})}\boldsymbol{f}_{k}bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT are LOS and nLOS components of the channel vector, respectively where 𝑯k(nlos)superscriptsubscript𝑯𝑘nlos\boldsymbol{H}_{k}^{(\mathrm{nlos})}bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) end_POSTSUPERSCRIPT is the channel matrix associated with LED and ORIS arrays for k𝑘kitalic_kth user as 𝑯k(nlos )=[𝒉1,k(nlos) ,𝒉2,k(nlos) ,,𝒉Nt,k(nlos) ]T\boldsymbol{H}_{k}^{(\text{nlos })}=\left[\boldsymbol{h}_{1,k}^{(\text{nlos) }% },\boldsymbol{h}_{2,k}^{\text{(nlos) }},\ldots,\boldsymbol{h}_{N_{t},k}^{\text% {(nlos) }}\right]^{T}bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( nlos ) end_POSTSUPERSCRIPT = [ bold_italic_h start_POSTSUBSCRIPT 1 , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( nlos) end_POSTSUPERSCRIPT , bold_italic_h start_POSTSUBSCRIPT 2 , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (nlos) end_POSTSUPERSCRIPT , … , bold_italic_h start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (nlos) end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT, with 𝒉i,k(nlos )=[hi,1,k(nlos) ,hi,2,k(nlos ),hi,M,k(nlos )]Tsuperscriptsubscript𝒉𝑖𝑘nlos superscriptsuperscriptsubscript𝑖1𝑘(nlos) superscriptsubscript𝑖2𝑘nlos superscriptsubscript𝑖𝑀𝑘nlos 𝑇\boldsymbol{h}_{i,k}^{(\text{nlos })}=\left[h_{i,1,k}^{\text{(nlos) }},h_{i,2,% k}^{(\text{nlos })},\ldots h_{i,M,k}^{(\text{nlos })}\right]^{T}bold_italic_h start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( nlos ) end_POSTSUPERSCRIPT = [ italic_h start_POSTSUBSCRIPT italic_i , 1 , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (nlos) end_POSTSUPERSCRIPT , italic_h start_POSTSUBSCRIPT italic_i , 2 , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( nlos ) end_POSTSUPERSCRIPT , … italic_h start_POSTSUBSCRIPT italic_i , italic_M , italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( nlos ) end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT. It is supposed that any element in ORIS is aligned with a user and correspondingly each user receives the nLOS component of signals via determined elements of ORIS that are aligned with. Define 𝒇k=[f1,k,f2,k,,fM,k]Tsubscript𝒇𝑘superscriptsubscript𝑓1𝑘subscript𝑓2𝑘subscript𝑓𝑀𝑘𝑇\boldsymbol{f}_{k}=\left[f_{1,k},f_{2,k},\ldots,f_{M,k}\right]^{T}bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = [ italic_f start_POSTSUBSCRIPT 1 , italic_k end_POSTSUBSCRIPT , italic_f start_POSTSUBSCRIPT 2 , italic_k end_POSTSUBSCRIPT , … , italic_f start_POSTSUBSCRIPT italic_M , italic_k end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT as an alignment binary vector associated with k𝑘kitalic_kth user, where fr,k{0,1}subscript𝑓𝑟𝑘01f_{r,k}\in\{0,1\}italic_f start_POSTSUBSCRIPT italic_r , italic_k end_POSTSUBSCRIPT ∈ { 0 , 1 } for r=1,2,,M𝑟12𝑀r=1,2,...,Mitalic_r = 1 , 2 , … , italic_M. If element r𝑟ritalic_r of ORIS is aligned with k𝑘kitalic_kth user, fr,k=1subscript𝑓𝑟𝑘1f_{r,k}=1italic_f start_POSTSUBSCRIPT italic_r , italic_k end_POSTSUBSCRIPT = 1, otherwise fr,k=0subscript𝑓𝑟𝑘0f_{r,k}=0italic_f start_POSTSUBSCRIPT italic_r , italic_k end_POSTSUBSCRIPT = 0. Considering Mksubscript𝑀𝑘M_{k}italic_M start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT as the number of ORIS elements aligned with k𝑘kitalic_kth user, we have r=1Mfr,k=Mksuperscriptsubscript𝑟1𝑀subscript𝑓𝑟𝑘subscript𝑀𝑘\sum_{r=1}^{M}f_{r,k}=M_{k}∑ start_POSTSUBSCRIPT italic_r = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT italic_f start_POSTSUBSCRIPT italic_r , italic_k end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT besides k=1KMk=Msuperscriptsubscript𝑘1𝐾subscript𝑀𝑘𝑀\sum_{k=1}^{K}M_{k}=M∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_M start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_M.

III Proposed Precoding Method

III-A proposed optimization problem

We propose an optimization problem to joint design the precoding matrix 𝐏𝐏\mathbf{P}bold_P and alignment matrix 𝑭=[𝒇𝟏,𝒇𝟐,,𝒇𝑲]𝑭subscript𝒇1subscript𝒇2subscript𝒇𝑲\boldsymbol{F}=[\boldsymbol{f_{1}},\boldsymbol{f_{2}},...,\boldsymbol{f_{K}}]bold_italic_F = [ bold_italic_f start_POSTSUBSCRIPT bold_1 end_POSTSUBSCRIPT , bold_italic_f start_POSTSUBSCRIPT bold_2 end_POSTSUBSCRIPT , … , bold_italic_f start_POSTSUBSCRIPT bold_italic_K end_POSTSUBSCRIPT ]. To this end, we reformulate the (3) as

yk=(𝒉k(los) +𝑯k(nlos) 𝒇k)𝑻𝒑kskmain term +j=1jkK(𝒉k(los) +𝑯k(nlos) 𝒇k)T𝒑jsjinterference term +nk.\displaystyle\begin{split}y_{k}=&\underbrace{\left(\boldsymbol{h}_{k}^{\text{(% los) }}+\boldsymbol{H}_{k}^{(\text{nlos) }}\boldsymbol{f}_{k}\right)^{% \boldsymbol{T}}\boldsymbol{p}_{k}s_{k}}_{\text{main term }}\\ &+\underbrace{\sum_{\begin{subarray}{c}j=1\\ j\neq k\end{subarray}}^{K}\left(\boldsymbol{h}_{k}^{(\text{los) }}+\boldsymbol% {H}_{k}^{(\text{nlos) }}\boldsymbol{f}_{k}\right)^{T}\boldsymbol{p}_{j}s_{j}}_% {\text{interference term }}+n_{k}.\end{split}start_ROW start_CELL italic_y start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = end_CELL start_CELL under⏟ start_ARG ( bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (los) end_POSTSUPERSCRIPT + bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( nlos) end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT bold_italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_ARG start_POSTSUBSCRIPT main term end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + under⏟ start_ARG ∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 1 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_k end_CELL end_ROW end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( los) end_POSTSUPERSCRIPT + bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( nlos) end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG start_POSTSUBSCRIPT interference term end_POSTSUBSCRIPT + italic_n start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT . end_CELL end_ROW (4)

In (4), the first term is the target signal we aim to receive at user k𝑘kitalic_k and the second one is the interference signal associated with other users. Assuming that users’ signals are independent of each other and noise, the k𝑘kitalic_kth user SINR can be written as

SINRk=(𝒉k(los)+𝑯k(nlos)𝒇k)T𝒑k2j=1jkK(𝒉k(los)+𝑯k(nlos)𝒇k)T𝒑j2+𝝈n2.subscriptSINR𝑘superscriptnormsuperscriptsuperscriptsubscript𝒉𝑘lossuperscriptsubscript𝑯𝑘nlossubscript𝒇𝑘𝑇subscript𝒑𝑘2superscriptsubscript𝑗1𝑗𝑘𝐾superscriptnormsuperscriptsuperscriptsubscript𝒉𝑘lossuperscriptsubscript𝑯𝑘nlossubscript𝒇𝑘𝑇subscript𝒑𝑗2superscriptsubscript𝝈𝑛2\text{SINR}_{k}=\frac{\left\|\left(\boldsymbol{h}_{k}^{(\mathrm{los})}+% \boldsymbol{H}_{k}^{(\mathrm{nlos})}\boldsymbol{f}_{k}\right)^{T}\boldsymbol{p% }_{k}\right\|^{2}}{\sum_{\begin{subarray}{c}j=1\\ j\neq k\end{subarray}}^{K}\left\|\left(\boldsymbol{h}_{k}^{(\mathrm{los})}+% \boldsymbol{H}_{k}^{(\mathrm{nlos})}\boldsymbol{f}_{k}\right)^{T}\boldsymbol{p% }_{j}\right\|^{2}+\boldsymbol{\sigma}_{n}^{2}}.SINR start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = divide start_ARG ∥ ( bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT + bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 1 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_k end_CELL end_ROW end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ∥ ( bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT + bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) end_POSTSUPERSCRIPT bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + bold_italic_σ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG . (5)

In the proposed optimization problem, the idea is to design a precoding and an alignment matrix to maximize the SINR under the constraints of the alignment matrix. The overall SINR is defined as the mean SINR value of users as

SINR=1Kk=1KSINRk.SINR1𝐾superscriptsubscript𝑘1𝐾subscriptSINR𝑘\text{SINR}=\frac{1}{K}\sum_{k=1}^{K}\text{SINR}_{k}.SINR = divide start_ARG 1 end_ARG start_ARG italic_K end_ARG ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT SINR start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT . (6)

To achieve a higher power efficiency of the amplifiers used to drive the LED array, it is needed that the mean transmitted AC powers of the signals associated with all LEDs be the same. According to the unit mean power assumption of vector 𝒔𝒔\boldsymbol{s}bold_italic_s elements, the declared constraint becomes k=1Kpi,k=1,i=1,2,Ntformulae-sequencesuperscriptsubscript𝑘1𝐾subscript𝑝𝑖𝑘1for-all𝑖12subscript𝑁𝑡\sum_{k=1}^{K}{p}_{i,k}=1,\forall{i=1,2,...N_{t}}∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_p start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT = 1 , ∀ italic_i = 1 , 2 , … italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT where pi,ksubscript𝑝𝑖𝑘p_{i,k}italic_p start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT represents the i𝑖iitalic_ith element of 𝒑ksubscript𝒑𝑘\boldsymbol{p}_{k}bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. This constraint can be expressed in the matrix form as diag(𝑷𝑷)=𝑰Ntdiag𝑷superscript𝑷subscript𝑰subscript𝑁𝑡\text{diag}\left(\boldsymbol{P}\boldsymbol{P}^{\text{H }}\right)=\boldsymbol{I% }_{N_{t}}diag ( bold_italic_P bold_italic_P start_POSTSUPERSCRIPT H end_POSTSUPERSCRIPT ) = bold_italic_I start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_POSTSUBSCRIPT, where 𝑰Ntsubscript𝑰subscript𝑁𝑡\boldsymbol{I}_{N_{t}}bold_italic_I start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_POSTSUBSCRIPT is Nt×Ntsubscript𝑁𝑡subscript𝑁𝑡N_{t}\times N_{t}italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT × italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT identity matrix. Moreover, the constant associated power with all users is considered as another constraint that leads to i=1Ntpi,ksuperscriptsubscript𝑖1subscript𝑁𝑡subscript𝑝𝑖𝑘\sum_{i=1}^{N_{t}}{p}_{i,k}∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_p start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT being constant for all users. Simply it can be shown that the referred constant value is NtKsubscript𝑁𝑡𝐾\frac{N_{t}}{K}divide start_ARG italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_ARG start_ARG italic_K end_ARG. The resultant constraint in matrix form is diag(𝑷𝑷)=NtK𝑰Kdiagsuperscript𝑷𝑷subscript𝑁𝑡𝐾subscript𝑰𝐾\text{diag}\left(\boldsymbol{P}^{\text{H }}\boldsymbol{P}\right)=\frac{N_{t}}{% K}\boldsymbol{I}_{K}diag ( bold_italic_P start_POSTSUPERSCRIPT H end_POSTSUPERSCRIPT bold_italic_P ) = divide start_ARG italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_ARG start_ARG italic_K end_ARG bold_italic_I start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT. Consequently, the proposed optimization problem is summarized as

(P1): max𝑷,𝑭 SINR,subscript𝑷𝑭 SINR,\displaystyle\max_{\boldsymbol{P,F}}\text{ SINR,}roman_max start_POSTSUBSCRIPT bold_italic_P bold_, bold_italic_F end_POSTSUBSCRIPT SINR, (7a)
s.t. fkmϵ{0,1},subscript𝑓𝑘𝑚italic-ϵ01\displaystyle f_{km}\epsilon\{0,1\},italic_f start_POSTSUBSCRIPT italic_k italic_m end_POSTSUBSCRIPT italic_ϵ { 0 , 1 } , (7b)
m=1Mfkm=Mk,superscriptsubscript𝑚1𝑀subscript𝑓𝑘𝑚subscript𝑀𝑘\displaystyle\sum_{m=1}^{M}f_{km}=M_{k},∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT italic_f start_POSTSUBSCRIPT italic_k italic_m end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , (7c)
k=1KMk=M,superscriptsubscript𝑘1𝐾subscript𝑀𝑘𝑀\displaystyle\sum_{k=1}^{K}M_{k}=M,∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_M start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_M , (7d)
diag(𝑷𝑷)=𝑰Nt,diag𝑷superscript𝑷subscript𝑰subscript𝑁𝑡\displaystyle\text{diag}\left(\boldsymbol{P}\boldsymbol{P}^{\text{H }}\right)=% \boldsymbol{I}_{N_{t}},diag ( bold_italic_P bold_italic_P start_POSTSUPERSCRIPT H end_POSTSUPERSCRIPT ) = bold_italic_I start_POSTSUBSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_POSTSUBSCRIPT , (7e)
diag(𝑷𝑷)=NtK𝑰K.diagsuperscript𝑷𝑷subscript𝑁𝑡𝐾subscript𝑰𝐾\displaystyle\text{diag}\left(\boldsymbol{P}^{\text{H }}\boldsymbol{P}\right)=% \frac{N_{t}}{K}\boldsymbol{I}_{K}.diag ( bold_italic_P start_POSTSUPERSCRIPT H end_POSTSUPERSCRIPT bold_italic_P ) = divide start_ARG italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_ARG start_ARG italic_K end_ARG bold_italic_I start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT . (7f)

Subsequently, we will propose a method to solve (P1).

III-B solving the optimization problem

Note that (P1) is an NP-hard problem. Solving this optimization problem to find precoding and alignment matrices jointly is very difficult. Therefore, we propose an alternating optimization algorithm in this paper to solve the problem so 𝑭𝑭\boldsymbol{F}bold_italic_F and 𝑷𝑷\boldsymbol{P}bold_italic_P are iteratively optimized. In the optimization algorithm, assuming that the value of one of the matrices is fixed, we optimize the other one, and in the next step, vice versa. We repeat this procedure until the algorithm converges. Supposing an initialization random precluding matrix, the general algorithm for joint precoding and alignment matrices design is as algorithm 1.

Algorithm 1 General optimization algorithm.
  Input: 𝒉k(los),𝑯k(nlos)k=1,2,Kformulae-sequencesuperscriptsubscript𝒉𝑘(los)superscriptsubscript𝑯𝑘(nlos)for-all𝑘12𝐾\boldsymbol{h}_{k}^{\text{(los)}},\boldsymbol{H}_{k}^{\text{(nlos)}}\forall{k=% 1,2,...K}bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (los) end_POSTSUPERSCRIPT , bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (nlos) end_POSTSUPERSCRIPT ∀ italic_k = 1 , 2 , … italic_K
  Initialize: PϵRNt×K𝑃italic-ϵsuperscript𝑅subscript𝑁𝑡𝐾\boldsymbol{P}\epsilon R^{N_{t}\times K}bold_italic_P italic_ϵ italic_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT × italic_K end_POSTSUPERSCRIPT
  repeat
      run the alignment matrix design algorithm (Algorithm 2)
      run the precoding matrix design algorithm (Algorithm 3)
  until convergence
  Output: 𝑷𝑷\boldsymbol{P}bold_italic_P, 𝒇kk=1,2,Ksubscript𝒇𝑘for-all𝑘12𝐾\boldsymbol{f}_{k}\forall{k=1,2,...K}bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∀ italic_k = 1 , 2 , … italic_K

III-B1 Alignment matrix design

Considering the precoding matrix 𝑷𝑷\boldsymbol{P}bold_italic_P is given, the optimization problem (P1) is simplified into the following sub-problem

(P2): max𝑭 SINR, (P2): subscript𝑭 SINR, \text{(P2): }\max_{\boldsymbol{F}}\text{ SINR, }(P2): roman_max start_POSTSUBSCRIPT bold_italic_F end_POSTSUBSCRIPT SINR, (8)
s.t. (7b), (7c) and (7d).

According to the constraint of the problem (P2), 𝑭𝑭\boldsymbol{F}bold_italic_F is a binary matrix, so each row contains only a single element with the value of ”1”, and column k𝑘kitalic_k consists of Mksubscript𝑀𝑘M_{k}italic_M start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT elements with the value of ”1”. The classical method to find such a binary matrix is to try all possible matrices and choose the best one that maximizes the SINR. Such a solution suffers from computational complexity due to the huge number of possible states. The number of all possible alignment matrices according to the constraints (7b), (7c), and (7d) is KMsuperscript𝐾𝑀K^{M}italic_K start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT which leads to KM+1superscript𝐾𝑀1K^{M+1}italic_K start_POSTSUPERSCRIPT italic_M + 1 end_POSTSUPERSCRIPT times calculating (5). For instance, let the number of users be K=4𝐾4K=\text{4}italic_K = 4 and there are M=36𝑀36M=\text{36}italic_M = 36 ORIS elements, so the SINR must be checked 4.7e+21 times. We propose a method to solve (P2) to cope with this complexity.

In the proposed method, r𝑟ritalic_rth element of ORIS is associated with k𝑘kitalic_kth user so that the SINRksubscriptSINR𝑘\text{SINR}_{k}SINR start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT related to this element given in (9) is maximum.

SINRk,r=𝒉k(los)T𝒑k𝒑kT𝒉k(los)+𝟐[𝑯k(nlos)T𝒑k𝒑kT𝒉k(los)]𝒓+[𝑯k(nlos)T𝒑k𝒑kT𝑯k(nlos)]r,𝒓j=1jkK(𝒉k(los)T𝒑j𝒑jT𝒉k(los)+𝟐[𝑯k(nlos)T𝒑i𝒑iT𝒉k(los)]r+[𝑯k(nlos)T𝒑i𝒑iT𝑯k(nlos)]𝒓,𝒓)+𝝈𝒏2.subscriptSINR𝑘𝑟superscriptsubscript𝒉𝑘los𝑇subscript𝒑𝑘superscriptsubscript𝒑𝑘Tsuperscriptsubscript𝒉𝑘los2subscriptdelimited-[]superscriptsubscript𝑯𝑘nlos𝑇subscript𝒑𝑘superscriptsubscript𝒑𝑘Tsuperscriptsubscript𝒉𝑘los𝒓subscriptdelimited-[]superscriptsubscript𝑯𝑘nlos𝑇subscript𝒑𝑘superscriptsubscript𝒑𝑘Tsuperscriptsubscript𝑯𝑘nlos𝑟𝒓superscriptsubscript𝑗1𝑗𝑘𝐾superscriptsubscript𝒉𝑘los𝑇subscript𝒑𝑗superscriptsubscript𝒑𝑗Tsuperscriptsubscript𝒉𝑘los2subscriptdelimited-[]superscriptsubscript𝑯𝑘nlos𝑇subscript𝒑𝑖superscriptsubscript𝒑𝑖Tsuperscriptsubscript𝒉𝑘los𝑟subscriptdelimited-[]superscriptsubscript𝑯𝑘nlos𝑇subscript𝒑𝑖superscriptsubscript𝒑𝑖Tsuperscriptsubscript𝑯𝑘nlos𝒓𝒓superscriptsubscript𝝈𝒏2\text{SINR}_{k,r}=\frac{\boldsymbol{h}_{k}^{(\mathrm{los})T}\boldsymbol{p}_{k}% \boldsymbol{p}_{k}^{\mathrm{T}}\boldsymbol{h}_{k}^{(\mathrm{los})}+\mathbf{2}% \left[\boldsymbol{H}_{k}^{(\mathrm{nlos})T}\boldsymbol{p}_{k}\boldsymbol{p}_{k% }^{\mathrm{T}}\boldsymbol{h}_{k}^{(\mathrm{los})}\right]_{\boldsymbol{r}}+% \left[\boldsymbol{H}_{k}^{(\mathrm{nlos})T}\boldsymbol{p}_{k}\boldsymbol{p}_{k% }^{\mathrm{T}}\boldsymbol{H}_{k}^{(\mathrm{nlos})}\right]_{r,\boldsymbol{r}}}{% \sum_{\begin{subarray}{c}j=1\\ j\neq k\end{subarray}}^{K}\left(\boldsymbol{h}_{k}^{(\mathrm{los})T}% \boldsymbol{p}_{j}\boldsymbol{p}_{j}^{\mathrm{T}}\boldsymbol{h}_{k}^{(\mathrm{% los})}+\mathbf{2}\left[\boldsymbol{H}_{k}^{(\mathrm{nlos})T}\boldsymbol{p}_{i}% \boldsymbol{p}_{i}^{\mathrm{T}}\boldsymbol{h}_{k}^{(\mathrm{los})}\right]_{r}+% \left[\boldsymbol{H}_{k}^{(\mathrm{nlos})T}\boldsymbol{p}_{i}\boldsymbol{p}_{i% }^{\mathrm{T}}\boldsymbol{H}_{k}^{(\mathrm{nlos})}\right]_{\boldsymbol{r},% \boldsymbol{r}}\right)+\boldsymbol{\sigma}_{\boldsymbol{n}}^{2}}.SINR start_POSTSUBSCRIPT italic_k , italic_r end_POSTSUBSCRIPT = divide start_ARG bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT + bold_2 [ bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT ] start_POSTSUBSCRIPT bold_italic_r end_POSTSUBSCRIPT + [ bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) end_POSTSUPERSCRIPT ] start_POSTSUBSCRIPT italic_r , bold_italic_r end_POSTSUBSCRIPT end_ARG start_ARG ∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 1 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_k end_CELL end_ROW end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT + bold_2 [ bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_los ) end_POSTSUPERSCRIPT ] start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT + [ bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_T end_POSTSUPERSCRIPT bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( roman_nlos ) end_POSTSUPERSCRIPT ] start_POSTSUBSCRIPT bold_italic_r , bold_italic_r end_POSTSUBSCRIPT ) + bold_italic_σ start_POSTSUBSCRIPT bold_italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG . (9)

Considering \mathcal{R}caligraphic_R as the set of unassigned ORIS elements indices, we have

r*=argmaxr SINRk,r.superscript𝑟𝑟argmaxsubscript SINR𝑘𝑟r^{*}=\underset{r\in\mathcal{R}}{\operatorname{argmax}}\text{ SINR}_{k,r}.italic_r start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = start_UNDERACCENT italic_r ∈ caligraphic_R end_UNDERACCENT start_ARG roman_argmax end_ARG SINR start_POSTSUBSCRIPT italic_k , italic_r end_POSTSUBSCRIPT . (10)

Afterward, we set the r*superscript𝑟r^{*}italic_r start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPTth element of 𝒇ksubscript𝒇𝑘\boldsymbol{f}_{k}bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT to one. Consequently, the proposed algorithm to design the alignment matrix is summarized in Algorithm 2. Using this algorithm, it is needed M(M+1)2𝑀𝑀12\frac{M(M+1)}{2}divide start_ARG italic_M ( italic_M + 1 ) end_ARG start_ARG 2 end_ARG times calculating (9).

Algorithm 2 Design the Alignment Matrix.
  Input: 𝑷,𝒉k(los),𝑯k(nlos)k=1,2,Kformulae-sequence𝑷superscriptsubscript𝒉𝑘(los)superscriptsubscript𝑯𝑘(nlos)for-all𝑘12𝐾\boldsymbol{P},\boldsymbol{h}_{k}^{\text{(los)}},\boldsymbol{H}_{k}^{\text{(% nlos)}}\forall{k=1,2,...K}bold_italic_P , bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (los) end_POSTSUPERSCRIPT , bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (nlos) end_POSTSUPERSCRIPT ∀ italic_k = 1 , 2 , … italic_K
  Initialize: ={1,2,M},fk=𝟎M×1k=1,2,Kformulae-sequenceformulae-sequence12normal-…𝑀subscript𝑓𝑘subscript0𝑀1for-all𝑘12normal-…𝐾\mathcal{R}=\{1,2,...M\},\boldsymbol{f}_{k}=\boldsymbol{0}_{M\times 1}\forall{% k=1,2,...K}caligraphic_R = { 1 , 2 , … italic_M } , bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = bold_0 start_POSTSUBSCRIPT italic_M × 1 end_POSTSUBSCRIPT ∀ italic_k = 1 , 2 , … italic_K
  for r=1:M:𝑟1𝑀r=1:Mitalic_r = 1 : italic_M do
        for k=1:K:𝑘1𝐾k=1:Kitalic_k = 1 : italic_K do
           solve (10) to find r*superscript𝑟r^{*}italic_r start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT
           set the r*superscript𝑟r^{*}italic_r start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPTth element of 𝒇ksubscript𝒇𝑘\boldsymbol{f}_{k}bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT to one
           ={r*}superscript𝑟\mathcal{R}=\mathcal{R}-\{r^{*}\}caligraphic_R = caligraphic_R - { italic_r start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT }
        end for
  end for
  Output: 𝒇kk=1,2,Ksubscript𝒇𝑘for-all𝑘12𝐾\boldsymbol{f}_{k}\forall{k=1,2,...K}bold_italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∀ italic_k = 1 , 2 , … italic_K

III-B2 Precoding matrix design

Considering the alignment matrix 𝑭𝑭\boldsymbol{F}bold_italic_F is given, the optimization problem (P1) is simplified into the following sub-problem

(P3): max𝑷 SINR,(P3): subscript𝑷 SINR,\text{(P3): }\max_{\boldsymbol{P}}\text{ SINR,}(P3): roman_max start_POSTSUBSCRIPT bold_italic_P end_POSTSUBSCRIPT SINR, (11)
s.t. (7e) and (7f).

In (P3), SINR is the sum of fractional programming (FP) in which each is a non-convex function. To deal with this difficulty, we use quadratic transform [12] to solve the problem (P3). As our problem is the sum of K𝐾Kitalic_K multiple-ratio terms, the idea of decoupled optimization of numerators and denominators to the sum-of-ratio problem must be applied and use a straightforward extension of Dinkelbach’s transform which leads to the following optimization problem

(P4): max𝑷,𝜸g(𝑷,𝜸),(P4): subscript𝑷𝜸𝑔𝑷𝜸\text{(P4): }\max_{\boldsymbol{P},\boldsymbol{\gamma}}g(\boldsymbol{P},% \boldsymbol{\gamma}),(P4): roman_max start_POSTSUBSCRIPT bold_italic_P , bold_italic_γ end_POSTSUBSCRIPT italic_g ( bold_italic_P , bold_italic_γ ) , (12)
 s.t. (7e) and (7f),\text{ s.t. (\ref{cons4}) and (\ref{cons5}}),s.t. ( ) and ( ) ,

in which

g(𝑷,𝜸)=k=1K(2γk|𝒉kT𝒑k|γk2j=1jkK𝒉kT𝒑j2γk2σn2)𝑔𝑷𝜸superscriptsubscript𝑘1𝐾2subscript𝛾𝑘superscriptsubscript𝒉𝑘𝑇subscript𝒑𝑘superscriptsubscript𝛾𝑘2superscriptsubscript𝑗1𝑗𝑘𝐾superscriptnormsuperscriptsubscript𝒉𝑘𝑇subscript𝒑𝑗2subscriptsuperscript𝛾2𝑘subscriptsuperscript𝜎2𝑛g(\boldsymbol{P},\boldsymbol{\gamma})=\sum_{k=1}^{K}(2\gamma_{k}\left|% \boldsymbol{h}_{k}^{T}\boldsymbol{p}_{k}\right|-\gamma_{{k}}^{2}\sum_{\begin{% subarray}{c}j=1\\ j\neq k\end{subarray}}^{K}\left\|\boldsymbol{h}_{k}^{T}\boldsymbol{p}_{j}% \right\|^{2}-{\gamma^{2}_{k}}{\sigma^{2}_{n}})italic_g ( bold_italic_P , bold_italic_γ ) = ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ( 2 italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | - italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 1 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_k end_CELL end_ROW end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ∥ bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - italic_γ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ) (13)

and 𝜸=[γ1,γ2,γK]T𝜸superscriptsubscript𝛾1subscript𝛾2subscript𝛾𝐾𝑇\boldsymbol{\gamma}=\left[\gamma_{1},\gamma_{2},\ldots\gamma_{K}\right]^{T}bold_italic_γ = [ italic_γ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_γ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … italic_γ start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT is a temporary vector that is updated iteratively.

Recently, geometric solutions have been used to solve various optimization problems. One type of solution that is commonly employed in constrained optimization problems is manifold-based geometry [13]. This approach is favored due to its relative simplicity and optimality. The constraints in constrained optimization problems can be interpreted as isolated points in the space in manifold forms such as Stiefel, Grassmann, Riemannian, etc [13, 14]. Accordingly, the optimum points are searched in the space inside the manifold. As both the constraints in problem (P4) are in the form of a Grassmann manifold, we propose a gradient ascent method projected on the manifold to solve the problem. In this way, 𝑷𝑷\boldsymbol{P}bold_italic_P and 𝜸𝜸\boldsymbol{\gamma}bold_italic_γ are calculated iteratively as

𝑷new=𝑷old+μ𝑷g(𝑷,𝜸),subscript𝑷newsubscript𝑷old𝜇subscript𝑷𝑔𝑷𝜸\boldsymbol{P}_{\text{new}}=\boldsymbol{P}_{\text{old}}+\mu\nabla_{{}_{% \boldsymbol{P}}}g(\boldsymbol{P},\boldsymbol{\gamma}),bold_italic_P start_POSTSUBSCRIPT new end_POSTSUBSCRIPT = bold_italic_P start_POSTSUBSCRIPT old end_POSTSUBSCRIPT + italic_μ ∇ start_POSTSUBSCRIPT start_FLOATSUBSCRIPT bold_italic_P end_FLOATSUBSCRIPT end_POSTSUBSCRIPT italic_g ( bold_italic_P , bold_italic_γ ) , (14a)
𝜸new=𝜸old+μ𝜸g(𝑷,𝜸),subscript𝜸newsubscript𝜸old𝜇subscript𝜸𝑔𝑷𝜸\boldsymbol{\gamma}_{\text{new}}=\boldsymbol{\gamma}_{\text{old}}+\mu\nabla_{% \boldsymbol{\gamma}}g(\boldsymbol{P},\boldsymbol{\gamma}),bold_italic_γ start_POSTSUBSCRIPT new end_POSTSUBSCRIPT = bold_italic_γ start_POSTSUBSCRIPT old end_POSTSUBSCRIPT + italic_μ ∇ start_POSTSUBSCRIPT bold_italic_γ end_POSTSUBSCRIPT italic_g ( bold_italic_P , bold_italic_γ ) , (14b)

where 𝑷subscript𝑷\nabla_{{}_{\boldsymbol{P}}}∇ start_POSTSUBSCRIPT start_FLOATSUBSCRIPT bold_italic_P end_FLOATSUBSCRIPT end_POSTSUBSCRIPT and 𝜸subscript𝜸\nabla_{{}_{\boldsymbol{\gamma}}}∇ start_POSTSUBSCRIPT start_FLOATSUBSCRIPT bold_italic_γ end_FLOATSUBSCRIPT end_POSTSUBSCRIPT represent the gradients of a function with respect to 𝑷𝑷\boldsymbol{P}bold_italic_P and 𝜸𝜸\boldsymbol{\gamma}bold_italic_γ, respectively and μ𝜇\muitalic_μ is the step size. Accordingly, it can be shown that the k𝑘kitalic_kth column of 𝑷g(𝑷,𝜸)subscript𝑷𝑔𝑷𝜸\nabla_{{}_{\boldsymbol{P}}}g(\boldsymbol{P},\boldsymbol{\gamma})∇ start_POSTSUBSCRIPT start_FLOATSUBSCRIPT bold_italic_P end_FLOATSUBSCRIPT end_POSTSUBSCRIPT italic_g ( bold_italic_P , bold_italic_γ ) and k𝑘kitalic_kth element of vector 𝜸g(𝑷,𝜸)subscript𝜸𝑔𝑷𝜸\nabla_{\boldsymbol{\gamma}}g(\boldsymbol{P},\boldsymbol{\gamma})∇ start_POSTSUBSCRIPT bold_italic_γ end_POSTSUBSCRIPT italic_g ( bold_italic_P , bold_italic_γ ) are

[𝑷g(𝑷,𝜸)]k=γk|𝒉kT𝒑k|𝒉k𝒉kT𝒑k2j=1jkKγi2𝒉i𝒉iT𝒑k,subscriptdelimited-[]subscript𝑷𝑔𝑷𝜸𝑘subscript𝛾𝑘superscriptsubscript𝒉𝑘𝑇subscript𝒑𝑘subscript𝒉𝑘superscriptsubscript𝒉𝑘𝑇subscript𝒑𝑘2superscriptsubscript𝑗1𝑗𝑘𝐾superscriptsubscript𝛾𝑖2subscript𝒉𝑖superscriptsubscript𝒉𝑖𝑇subscript𝒑𝑘\left[\nabla_{{}_{\boldsymbol{P}}}g(\boldsymbol{P},\boldsymbol{\gamma})\right]% _{k}=\frac{\gamma_{k}}{\left|\boldsymbol{h}_{k}^{T}\boldsymbol{p}_{k}\right|}% \boldsymbol{h}_{k}\boldsymbol{h}_{k}^{T}\boldsymbol{p}_{k}-2\sum_{\begin{% subarray}{c}j=1\\ j\neq k\end{subarray}}^{K}\gamma_{i}^{2}\boldsymbol{h}_{i}\boldsymbol{h}_{i}^{% T}\boldsymbol{p}_{k},[ ∇ start_POSTSUBSCRIPT start_FLOATSUBSCRIPT bold_italic_P end_FLOATSUBSCRIPT end_POSTSUBSCRIPT italic_g ( bold_italic_P , bold_italic_γ ) ] start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = divide start_ARG italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_ARG start_ARG | bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | end_ARG bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - 2 ∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 1 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_k end_CELL end_ROW end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_γ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT bold_italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , (15a)
γkg(𝑷,𝜸)=2|𝒉kT𝒑k|2γkj=1jkK𝒉kT𝒑j22γkσn2.subscriptsubscript𝛾𝑘𝑔𝑷𝜸2superscriptsubscript𝒉𝑘𝑇subscript𝒑𝑘2subscript𝛾𝑘superscriptsubscript𝑗1𝑗𝑘𝐾superscriptnormsuperscriptsubscript𝒉𝑘𝑇subscript𝒑𝑗22subscript𝛾𝑘subscriptsuperscript𝜎2𝑛\nabla_{\gamma_{k}}g(\boldsymbol{P},\boldsymbol{\gamma})=2\left|\boldsymbol{h}% _{k}^{T}\boldsymbol{p}_{k}\right|-2\gamma_{k}\sum_{\begin{subarray}{c}j=1\\ j\neq k\end{subarray}}^{K}\left\|\boldsymbol{h}_{k}^{T}\boldsymbol{p}_{j}% \right\|^{2}-2{\gamma_{k}}\sigma^{2}_{n}.∇ start_POSTSUBSCRIPT italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_g ( bold_italic_P , bold_italic_γ ) = 2 | bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT | - 2 italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT start_ARG start_ROW start_CELL italic_j = 1 end_CELL end_ROW start_ROW start_CELL italic_j ≠ italic_k end_CELL end_ROW end_ARG end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT ∥ bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - 2 italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT . (15b)

To satisfy 𝑷𝑷\boldsymbol{P}bold_italic_P on Grassman manifolds of constraints (7e) and (7f), in each iteration of the gradient ascent algorithm 𝑷newsubscript𝑷new\boldsymbol{P}_{\text{new}}bold_italic_P start_POSTSUBSCRIPT new end_POSTSUBSCRIPT is projected on the intersection of two manifolds. The projections onto the manifold (7e) and (7f) are as below, respectively.

𝒫𝔾1(𝑷)=(diag(𝑷𝑷H))12𝑷,subscript𝒫𝔾1𝑷superscriptdiag𝑷superscript𝑷𝐻12𝑷\mathcal{P}_{\mathbb{G}1}(\boldsymbol{P})=\left(\operatorname{diag}\left(% \boldsymbol{P}\boldsymbol{P}^{H}\right)\right)^{-\frac{1}{2}}\boldsymbol{P},caligraphic_P start_POSTSUBSCRIPT blackboard_G 1 end_POSTSUBSCRIPT ( bold_italic_P ) = ( roman_diag ( bold_italic_P bold_italic_P start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT ) ) start_POSTSUPERSCRIPT - divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT bold_italic_P , (16)
𝒫𝔾2(𝑷)=NtK𝑷(diag(𝑷H𝑷))12.subscript𝒫𝔾2𝑷subscript𝑁𝑡𝐾𝑷superscriptdiagsuperscript𝑷𝐻𝑷12\mathcal{P}_{\mathbb{G}2}(\boldsymbol{P})=\sqrt{\frac{N_{t}}{K}}\boldsymbol{P}% \left(\operatorname{diag}\left(\boldsymbol{P}^{H}\boldsymbol{P}\right)\right)^% {-\frac{1}{2}}.caligraphic_P start_POSTSUBSCRIPT blackboard_G 2 end_POSTSUBSCRIPT ( bold_italic_P ) = square-root start_ARG divide start_ARG italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_ARG start_ARG italic_K end_ARG end_ARG bold_italic_P ( roman_diag ( bold_italic_P start_POSTSUPERSCRIPT italic_H end_POSTSUPERSCRIPT bold_italic_P ) ) start_POSTSUPERSCRIPT - divide start_ARG 1 end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT . (17)

Projection onto the intersection of two manifolds is given by[15]

𝒫𝔾1𝔾2(𝑷)=𝒫𝔾1(𝒫𝔾2(𝒫𝔾1(𝒫𝔾2(𝑷)))).subscript𝒫𝔾1𝔾2𝑷subscript𝒫𝔾1subscript𝒫𝔾2subscript𝒫𝔾1subscript𝒫𝔾2𝑷\mathcal{P}_{\mathbb{G}1\cap\mathbb{G}2}(\boldsymbol{P})=\mathcal{P}_{\mathbb{% G}1}(\mathcal{P}_{\mathbb{G}2}(...\mathcal{P}_{\mathbb{G}1}(\mathcal{P}_{% \mathbb{G}2}(\boldsymbol{P})))).caligraphic_P start_POSTSUBSCRIPT blackboard_G 1 ∩ blackboard_G 2 end_POSTSUBSCRIPT ( bold_italic_P ) = caligraphic_P start_POSTSUBSCRIPT blackboard_G 1 end_POSTSUBSCRIPT ( caligraphic_P start_POSTSUBSCRIPT blackboard_G 2 end_POSTSUBSCRIPT ( … caligraphic_P start_POSTSUBSCRIPT blackboard_G 1 end_POSTSUBSCRIPT ( caligraphic_P start_POSTSUBSCRIPT blackboard_G 2 end_POSTSUBSCRIPT ( bold_italic_P ) ) ) ) . (18)

Equation (18) shows that the projection of manifolds proceeds alternatively until convergence is reached. Generally, in practice convergence is satisfied in the first five iterations. Algorithm 3 summarizes the design of the matrix 𝑷𝑷\boldsymbol{P}bold_italic_P procedure.

Algorithm 3 Design the Precoding Matrix.
  Input: 𝒇𝒌,𝒉k(los),𝑯k(nlos)k=1,2,Kformulae-sequencesubscript𝒇𝒌superscriptsubscript𝒉𝑘(los)superscriptsubscript𝑯𝑘(nlos)for-all𝑘12𝐾\boldsymbol{f_{k}},\boldsymbol{h}_{k}^{\text{(los)}},\boldsymbol{H}_{k}^{\text% {(nlos)}}\forall{k=1,2,...K}bold_italic_f start_POSTSUBSCRIPT bold_italic_k end_POSTSUBSCRIPT , bold_italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (los) end_POSTSUPERSCRIPT , bold_italic_H start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT (nlos) end_POSTSUPERSCRIPT ∀ italic_k = 1 , 2 , … italic_K
  Initialize: PϵRNt×K𝑃italic-ϵsuperscript𝑅subscript𝑁𝑡𝐾\boldsymbol{P}\epsilon R^{N_{t}\times K}bold_italic_P italic_ϵ italic_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT × italic_K end_POSTSUPERSCRIPT and 𝜸ϵR+K×1𝜸italic-ϵsubscriptsuperscript𝑅𝐾1\boldsymbol{\gamma}\epsilon R^{K\times 1}_{+}bold_italic_γ italic_ϵ italic_R start_POSTSUPERSCRIPT italic_K × 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT + end_POSTSUBSCRIPT
  repeat
       calculate gradients in (15a) and (15b)
       update 𝑷𝑷\boldsymbol{P}bold_italic_P and 𝜸𝜸\boldsymbol{\gamma}bold_italic_γ using (14a) and (14b)
       project 𝑷𝑷\boldsymbol{P}bold_italic_P on intersection of manifolds as (16-18)
  until convergence
  Output: 𝑷𝑷\boldsymbol{P}bold_italic_P

IV Simulation, Results, and Discussion

To investigate the performance of the proposed algorithm, we consider SINR criteria and compare the results of the proposed method with ZF and MMSE precoding algorithms. We project the resultant precoding matrices of ZF and MMSE on the Manifolds (7e) and (7f) to have a fair comparison with the proposed algorithm. To have the impact of RIS in our proposed algorithm, we simulate another scenario without ORIS, namely ”proposed without ORIS”. In this scenario, an all-zero matrix is considered as the alignment matrix. The room dimensions are considered 4444, 4444, and 3333 meters for width, length, and height, respectively. The LED array is mounted in the center of the room ceiling with Nt=25subscript𝑁𝑡25N_{t}=25italic_N start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = 25 LEDs arranged in a rectangular form. Also, the ORIS panel with various values of Mϵ{24,40,64}𝑀italic-ϵ244064M\epsilon\{24,40,64\}italic_M italic_ϵ { 24 , 40 , 64 } is placed at just the wall center. The users’ locations are chosen randomly with a uniform distribution on the work plane and we calculate the SINRs by averaging over 1000 iterations. The other simulation parameters are summarized in table I.

TABLE I: Simulation parameters
symbol description value
Apsubscript𝐴𝑝A_{p}italic_A start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT PD area 1 cm21superscript cm21\text{ cm}^{2}1 cm start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
m𝑚mitalic_m Lambert’s mode 1111
θRsubscript𝜃𝑅\theta_{R}italic_θ start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT PD semi-angle π3𝜋3\frac{\pi}{3}divide start_ARG italic_π end_ARG start_ARG 3 end_ARG
T𝑇Titalic_T signal transmission coefficien 1111
G𝐺Gitalic_G concentrator gain 5555
α𝛼\alphaitalic_α reflective index of ORIS elements 0.90.90.90.9
μ𝜇\muitalic_μ step size 5e45𝑒45e-45 italic_e - 4

Figure 2 shows the SINR curves versus SNR for K=4𝐾4K=4italic_K = 4 and 6. As seen, the proposed algorithm outperforms significantly the others. For instance, for SNR=5 dBSNR5 dB\text{SNR}=5\text{ dB}SNR = 5 dB, the SINR values are 52.22,42.62,1.18,and4.35 dBs52.2242.621.18and4.35 dBs52.22,42.62,1.18,\text{and}-4.35\text{ dBs}52.22 , 42.62 , 1.18 , and - 4.35 dBs for proposed, proposed without ORIS, MMSE, and LS precoding algorithms under the presence of 4 users, which shows the 9.6 dB9.6 dB9.6\text{ dB}9.6 dB improvement of proposed compared with proposed without ORIS as the impact of ORIS. The poor performance of ZF and MMSE is because these algorithms have not been designed to satisfy the constraints (7e) and (7f). The SINR curves for K=6𝐾6K=6italic_K = 6 are placed below those corresponding to K=4𝐾4K=4italic_K = 4 since the total interference is increased by increasing user numbers. Moreover, as we expected, the presence of ORIS leads to higher SINR. For further investigation of the ORIS impact on SINR, the simulation results under various numbers of ORIS elements for the proposed precoding algorithm besides without ORIS one are shown in fig. 3. As one can see, increasing N𝑁Nitalic_N leads to better SINR. The larger number of ORIS elements improves signal strength at the receiver.

Refer to caption
Figure 2: The SINR curves for the number of users K=4,6𝐾46K=4,6italic_K = 4 , 6 for proposed, proposed without ORIS, MMSE, and ZF precoding algorithms.
Refer to caption
Figure 3: The SINR curves under the number of ORIS elements M={24,40,64}𝑀244064M=\{24,40,64\}italic_M = { 24 , 40 , 64 } for the proposed (and without ORIS) precoding algorithm.

V Conclusion

In this paper, we present an optimization problem to design precoding and alignment matrices jointly for the MU-MIMO VLC system in the presence of ORIS. To solve this problem we employed an alternative optimization algorithm, in which the gradient ascent projected on manifolds is used to design the precoding matrix. The simulation results show the better performance of the proposed algorithm in contrast to ZF and MMSE precoding algorithms from the SINR point of view.

References

  • [1] Z. Wang, Q. Wang, W. Huang, and Z. Xu, Visible light communications: modulation and signal processing.   John Wiley & Sons, 2017.
  • [2] C. Wang, Y. Yang, Z. Yang, C. Feng, J. Cheng, and C. Guo, “Joint sic-based precoding and sub-connected architecture design for mimo vlc systems,” IEEE Transactions on Communications, vol. 71, no. 2, pp. 1044–1058, 2022.
  • [3] M. Mohammadi, Z. Mobini, D. Galappaththige, and C. Tellambura, “A comprehensive survey on full-duplex communication: Current solutions, future trends, and open issues,” IEEE Communications Surveys & Tutorials, 2023.
  • [4] Y. Liu, X. Liu, X. Mu, T. Hou, J. Xu, M. Di Renzo, and N. Al-Dhahir, “Reconfigurable intelligent surfaces: Principles and opportunities,” IEEE communications surveys & tutorials, vol. 23, no. 3, pp. 1546–1577, 2021.
  • [5] G. Singh, A. Srivastava, and V. A. Bohara, “Visible light and reconfigurable intelligent surfaces for beyond 5g v2x communication networks at road intersections,” IEEE Transactions on Vehicular Technology, vol. 71, no. 8, pp. 8137–8151, 2022.
  • [6] S. Aboagye, A. R. Ndjiongue, T. M. Ngatched, O. A. Dobre, and H. V. Poor, “Ris-assisted visible light communication systems: A tutorial,” IEEE Communications Surveys & Tutorials, 2022.
  • [7] S. Sun, F. Yang, J. Song, and R. Zhang, “Intelligent reflecting surface for mimo vlc: joint design of surface configuration and transceiver signal processing,” IEEE Transactions on Wireless Communications, 2023.
  • [8] S. I. Mushfique, A. Alsharoa, and M. Yuksel, “Mirrorvlc: Optimal mirror placement for multielement vlc networks,” IEEE Transactions on Wireless Communications, vol. 21, no. 11, pp. 10 050–10 064, 2022.
  • [9] S. Sun, N. An, F. Yang, J. Song, and Z. Han, “Capacity characterization analysis of optical intelligent reflecting surface assisted miso vlc,” IEEE Internet of Things Journal, 2023.
  • [10] A. R. Ndjiongue, T. M. Ngatched, O. A. Dobre, H. Haas, and H. Shin, “Double-sided beamforming in vlc systems using omni-digital reconfigurable intelligent surfaces,” IEEE Communications Magazine, 2023.
  • [11] A. M. Abdelhady, A. K. S. Salem, O. Amin, B. Shihada, and M.-S. Alouini, “Visible light communications via intelligent reflecting surfaces: Metasurfaces vs mirror arrays,” IEEE Open Journal of the Communications Society, vol. 2, pp. 1–20, 2020.
  • [12] K. Shen and W. Yu, “Fractional programming for communication systems—part i: Power control and beamforming,” IEEE Transactions on Signal Processing, vol. 66, no. 10, pp. 2616–2630, 2018.
  • [13] P.-A. Absil, R. Mahony, and R. Sepulchre, Optimization algorithms on matrix manifolds.   Princeton University Press, 2008.
  • [14] J. H. Manton, “Geometry, manifolds, and nonconvex optimization: How geometry can help optimization,” IEEE Signal Processing Magazine, vol. 37, no. 5, pp. 109–119, 2020.
  • [15] A.-A. Lu, X. Gao, X. Meng, and X.-G. Xia, “Omnidirectional precoding for 3d massive mimo with uniform planar arrays,” IEEE Transactions on Wireless Communications, vol. 19, no. 4, pp. 2628–2642, 2020.