On the performance of optical phased array technology for beam steering

Optical phased arrays are of strong interest for beam steering in telecom and LIDAR applications. A phased array ideally requires that the field produced by each element in the array (a pixel) is fully controllable in phase and amplitude (ideally constant). This is needed to realize a phase gradient along a direction in the array, and thus beam steering in that direction. In practice, grating lobes appear if the pixel size is not sub-wavelength, which is an issue for many optical technologies. Furthermore, the phase performance of an optical pixel may not span the required $2\pi$ phase range, or may not produce a constant amplitude over its phase range. These limitations result in imperfections in the phase gradient, which in turn introduce undesirable secondary lobes. We discuss the effects of non-ideal pixels on beam formation, in a general and technology-agnostic manner. By examining the strength of secondary lobes with respect to the main lobe, we quantify beam steering quality, and make recommendations on the pixel performance required for beam steering within prescribed specifications. By applying appropriate compensation strategies, we show that it is possible to realize high-quality beam steering even when the pixel performance is non-ideal, with intensity of the secondary lobes be two orders of magnitude smaller than the main lobe.


Optical phased array technologies
Optical phased arrays (OPAs) are of strong interest for applications requiring random-access pointing, multiple beam forming, and dynamic beam generation and steering, such as light detection and ranging (LIDAR) technology for autonomous machines, self-driving cars, smart antennas, and inter-satellite communications [1][2][3][4]. LIDARs require a beam steering function to enable ranging over a scan area of interest. Some commercial LIDARs implement this function by mechanic rotation [5]. However, mechanic systems are bulky, not easy to integrate without compromising the aesthetics, and slow for self-driving vehicles. An OPA is a 2D array of pixels, and the steering function is implemented by creating a phase gradient over the surface via electronic control. Pixels can be coherent light emitters or scatterers.
Pixels based on emitters may be implemented, e.g, as vertical-cavity surface-emitting lasers (VCSELs) [6][7][8], while pixels based on scatterers modify the properties of light upon reflection or transmission. Conventionally, a reflective phased array may be implemented in liquid crystal on silicon (LCoS) [9] technology (often termed spatial light modulators), where each pixel reflects the incident light with a variable phase. However, the requirement to re-orient molecules in a liquid by applying an electric field makes LCoS technology slow (response time of the order of milliseconds) [10][11][12][13]. Solutions based on microelectromechanical systems (MEMS) mirrors have also made much progress allowing microsecond response time [14][15][16][17][18]. Pixels in LCoS and MEMS can provide high reflectance and 2π phase range. However, they are large, thus leading to grating lobes and a limited angular range of operation, also known as field-of-view (FoV).
Silicon photonics and photonic integrated circuits (PIC) offer a promising platform for OPAs by allowing full electronic control and high tuning speed, which is required in LIDAR for real-time applications [1,2,[19][20][21]. Waveguide gratings in silicon-on-insulator (SOI) technology have been extensively studied for 1D [22,23] and 2D [24][25][26][27][28][29][30] beam steering. In waveguide arrays, 2D beam steering is generally realized by exploiting two different physical principles: phase tuning of the waveguides for steering along one axis, and wavelength tuning of a laser source in conjunction with a grating, for steering along the other axis [25,27,31,32]. In waveguide arrays, the pitch is typically large to avoid crosstalk between adjacent waveguides. Recently, silicon nitride waveguides have been proposed for high field confinement and crosstalk reduction [33], including for operation in the visible range [34].
Contrary to phased arrays in the microwave regime, where pixels can be ideal (i.e., sub-wavelength, and controllable in amplitude and phase), pixels for OPAs have yet to provide such level of control. Thus, a study of the effects of pixel limitations on beam steering quality is well-motivated and timely. All phased array technologies can be studied in terms of beam steering quality by using the phased antenna array theory, which is reviewed in this paper in Section 2. Beam formation depends on the array geometry -such as the distance between pixels (i.e., pitch), the array shape, and the array size (number of pixels) -and the radiation properties of a single pixel. We describe in detail all the sources of secondary lobes in a general and technology-agnostic manner -our results and conclusions apply to OPAs implemented in any technology. In Section 3, we study the impact on beam steering performance of array properties such as pitch, shape and size for ideal pixels (i.e., pixels that are fully controllable in amplitude and phase). In Section 4, we study how the properties of individual pixels and their imperfections affect the quality of the steered beam for perfect array conditions (i.e., sub-wavelength pitch and ideal shape and size). In Section 5, we describe a Python code to evaluate beam steering quality in optical phased arrays, which we are making publically available [61]. In Section 6 we give concluding remarks.

Phased array theory
In this section we review the theory for optical phased arrays. The framework is general and valid for arrays operated either in transmission or in reflection [62], sender or receiver [63], or arrays composed of coherent light sources, where each pixel is driven to emit light with a specific amplitude and phase. We consider an array of pixels in the xz−plane of size (2N x + 1) × (2N z + 1), as shown in Fig. 1(a). We assume pixels are immersed in a dispersionless material, for example, air or glass, of refractive index n 1 . The approach is valid for pixels of size a x × a z , but for simplicity we assume a square pixel, and a x = a z = a will be referred to as the array pitch. For generality, the pitch is normalised to the wavelength λ, with λ = λ 0 n 1 and λ 0 the vacuum wavelength. Thus all sizes are dimensionless, and the results are applicable over a broad range of the electromagnetic spectrum, e.g., from radio waves to visible.
The light emission from each pixel is modelled as originating from a coherent set of radiating dipoles (yellow arrows in Fig. 1(a)). We describe the radiation pattern of this array by using spherical coordinates (θ, φ), as shown in Fig.  1(a). Each pixel is assumed to emit a complex electric field originating from its dipole source, written in phasor notation as E(p, q) = E(p, q) e jψ(p,q) , where (p, q) is the position of the pixel in the array, and ψ the phase of the pixel at that location. The power radiation pattern of the array can be expressed as [62,64] where A is the array factor, and F is the radiation pattern of the single pixel. Throughout the paper, we will consider dipole emitters oriented along z (as sketched in Fig. 1(a)), with Beam steering is described using a second spherical coordinate system (θ s , φ s ), as shown in Fig. 1(b), where θ s is the steering angle and φ s is the angle between the steering direction and the x-axis. By enforcing a phase gradient along a desired direction identified by φ s in the xz-plane, beam steering is realized in the φ s -plane. For example, a phase gradient along x (φ s = 0 ○ ) and z (φ s = 90 ○ ) produces steering in the xy-plane and yz-plane, respectively.
We use Eqs. (1)-(3) to determine far-field array performance in the sections that follow by considering steering in the xy-plane -the steering angle θ s for this scenario is illustrated in Fig. 1(b). In the xy-plane, F (π 2) = 1, which makes our study independent of pixel radiation pattern. However, all the results can be adapted to steering in the yz-plane, where F depends on θ (see Eq. (3)). Furthermore, the Python code [61] is general and can take into account any steering direction, array size and shape, pixel size, and pixel radiation pattern, such as a dipole emitter arbitrarily oriented in the xz-plane, or a more complex pixel radiation pattern (non-dipolar) input by the user.   A finite array size leads to side lobes, a too large pitch leads to grating lobes, and a missing phase range (ψ max < 2π) leads to long-period grating lobes.
To steer a beam towards a specific direction, we must produce a phase gradient across the array along that direction. For example, in order to steer in the xy-plane, a phase gradient along x is needed -deriving the formulas for other steering directions is straightforward. The ideal phase distribution is continuous and is given by ψ(x) = ψ ′ (x)x, as shown in Fig. 2 (dotted black line), where ψ ′ (x) = ∂ψ(x) ∂x is the phase gradient -we also show its modulo 2π (dashed black line), that is what is implemented in practice [11]. For ψ ′ (x) > 0 we have steering in the right direction, i.e., towards a direction with x > 0 (θ s > 0), and for ψ ′ (x) < 0 we have steering in the left direction, i.e., towards a direction with x < 0 (θ s < 0). In fact, the term e iψ introduces a delay in the time-domain signal for ψ > 0, and ψ ′ (x) > 0 means that the field is progressively delayed along x, thus producing steering in the same direction. In the case of a phase profile discretized with a pitch a, we obtain ψ ′ (x) = 2π d = ∆ψ x a, where ∆ψ x is the phase difference between two adjacent pixels along x, i.e., ∆ψ x = ψ(p + 1, q) − ψ(p, q), and d is the sawtooth period or "long-period", that is large compared to the pitch, as illustrated in Fig. 2. Without loss of generality, we simply indicate the phase difference between adjacent pixels as ∆ψ. The steering angle θ s can be found from the generalized law of reflection [65]: where k = 2πn 1 λ 0 is the wavenumber in the medium in which the steered beam propagates. An ideal phase gradient for steering a plane wave requires an infinite array of infinitely small pixels with fully controllable phase and amplitude. However, this is not possible in reality, and a non-ideal phase gradient produces secondary lobes that are undesirable in LIDAR applications because they may cause interfering signal returns. A finite array of size smaller than the incident beam produces side lobes (similarly to an aperture); such a finite size is indicated in Fig. 2. A realistic phase gradient is also discretized because a pixel pitch is not infinitely small, as indicated in Fig. 2. However, if the pixel pitch is too large, it results in side lobes due to aliasing, in this case termed grating lobes, which may have similar strength as the main lobe. Most pixels proposed to date for optical phased arrays are non-ideal, i.e., they exhibit a limited phase range (the maximum phase achievable ψ max is less than 2π), as well as a pixel amplitude that varies with its phase. Such non-ideal pixels introduce imperfections in the phase gradient with periodicity equal to the long-period, as sketched in Fig. 2, where the red horizontal band highlights the missing phase range, and the vertical grey bands indicate the pixel locations where a compensation strategy for the missing phases is needed. These long-period imperfections produce another set of side lobes, that we term "long-period grating lobes" (LPGLs).
In the following sections, we describe three types of secondary lobes, i.e., side lobes, grating lobes and LPGLs, and we discuss strategies to minimize them.

Effect of array limitations
In this section, we consider ideal pixels which are controllable in phase over a 2π range, and we focus on how the properties of the array, such as shape and size, and pixel pitch affect the beam steering performance. We consider square arrays of size N × N , assuming a uniform amplitude from each pixel (i.e., E(p, q) = 1) to which we apply windowing strategies.

Array size and shape
It is knows that increasing the size of the array reduces the distance between nulls and sharpens the main lobe, thus reducing the beam width and making the radiation pattern more directive. A large array is also important for increasing resolution, as the number of phase shifters is approximately the same as the number of spots that can be resolved in the far-field [18]. Fig. 3(a) shows the radiation patterns for different values of N , with pitch a = 0.5λ and steering angle θ s = 10 ○ . These computations model either a finite array of coherent emitters, or an infinite plane wave incident on a finite reflect-or transmittarray. The side lobes are caused, effectively, by diffraction from a square aperture since the array is square and finite. We also observe that the level of the highest side lobe (identified by a star "*") is nearly constant for varying N , and this applies also to the second highest, and so on.
The side lobes in Fig. 3(a) are rather high at almost 10 −1 of the main lobe, which may be too high for LIDAR applications. We now consider different array illumination patterns and shapes, also known as windowing, to improve on this performance. Windowing is useful for beam steering at the transmitter or at the receiver (or both). At the transmitter, windowing may be used to improve the radiation diagram when steering a Gaussian beam that is larger than the array area. At the receiver, the illumination will be a plane wave, so windowing is essential to reducing the side lobe levels before detection. Here, we describe the effect of circular and Gaussian (apodization) windowing. A circular window can be implemented as a circular aperture stop placed in front of the array or by realising a circular array rather than a square one. A Gaussian window can be implemented as a graduated neutral density filter placed in front of the array or by using a Gaussian beam as the incident wave instead of a plane wave (passive apodization [66]). Such circular and Gaussian windows can be combined straightforwardly. Apodization can also be realized by actively modulating the amplitudes of the pixels across the array [67]. However, controlling the amplitude via light attenuation decreases the power efficiency, and algorithms such as those used in holography (e.g., Gerchberg-Saxton) can be used to steer a beam only by tuning the pixel phase across the array [68].
To facilitate comparisons with different windowing functions, we re-plot the radiation pattern of Fig. 3(a) in Fig. 3(b) for the case N = 101. We then use windowing, which is implemented by multiplying the field E(p, q) at each pixel by a circular window, a Gaussian window, or both, where N x = (N − 1) 2. Note that windowing only affects the field amplitude at each pixel, and not the phase. We quantify the beam steering quality by calculating the sidelobe-to-peak ratio (spr), i.e., the ratio between the intensity of the highest side lobe (identified by a star "*") and that of the main lobe. In Fig. 3(c) we show the case where a circular window of diameter equal to the size of the square array was applied. We note a lower spr relative to the square case, given that diffraction by a circular aperture is comparatively weaker. If we apply a Gaussian window with σ = 0.75 to the two cases of Figs. 3(b) and 3(c), we obtain the radiation patterns in Figs. 3(d) and 3(e), and note that the case where W c and W g are combined provides the best result in terms of side lobe level (spr lower than 10 −3 ). All the radiation patterns in this paper are normalized with respect to the total power emitted by the array, obtained by squaring the sum of all the pixel amplitudes. Without this normalization, for example, the level of the lobes in Fig. 3(b) would be higher than in Fig. 3(c), because the total power emitted by a square array completely illuminated is higher than that of an array with a non-uniform illumination.  In the remainder of the paper, we assume operation of the phased array at the transmitter, and we use combined circular and Gaussian windows. Also, we will assume N = 201 to reduce the beam width, and σ = 0.5 to further reduce the side lobe level.

Pitch and field-of-view
The pitch of an optical phased array is often large, due to the size of the pixel, as in phased VCSELs, or to avoid mutual coupling between pixels, such as in waveguide arrays. A large pitch produces grating lobes, and since they may have similar amplitudes as the main beam, they are undesirable in LIDAR applications. In particular, the well known condition a < 0.5λ, that ensures steering up to θ s,max = 90 ○ without grating lobes, may be difficult to achieve for a particular technology. Strategies have recently been reported to suppress grating lobes, such as by engineering a subwavelength pitch [67,69], adopting a non-uniform spacing between emitters [70][71][72][73], via design of a random array [8], and by suppressing the inter-channel coupling or crosstalk [23,74].
In this section, we review how the pitch affects the emergence and growth of grating lobes, and thus the FoV. For steering at an angle θ s , the grating diffraction equation is where m is the order of the grating lobe (positive or negative integer). In practical applications, the FoV is usually symmetric around θ s = 0 ○ and defined as FoV= ±θ s,max , where θ s,max is the desired maximum steering angle such that there are not grating lobes in the FoV. However, certain applications may benefit of an asymmetric FoV. Furthermore, the FoV can be limited in the case the radiation pattern of the single pixel is narrow, such as in VCSEL pixels. The condition a < a max , where the upper limit for a is ensures that only the main lobe exists within the FoV. This equation shows that when θ s,max (i.e., FoV) decreases, a max increases. Thus, in applications where a smaller FoV is needed, the requirements for a < a max are relaxed. For example, for a desired θ s,max = 5 ○ , a max = 5.74λ is required; for θ s,max = 10 ○ , 20 ○ , 30 ○ and 50 ○ , then a max is 2.88λ, 1.46λ, λ and 0.65λ, respectively. This is confirmed in Fig. 4 by computing the radiation diagram for different cases of a and θ s,max . In each sub-figure, the FoV is highlighted by a grey band and we also show the ideal steered beam for a = 0.5λ (black dashed line). In the insets, we show the ideal phase profile (black dashed line) and the realistic one (coloured line) over a portion of the array of length 20λ for illustration convenience. For θ s,max = 5 ○ , all a values are smaller than 5.74λ, and we do not see grating lobes in the FoV. For θ s,max = 10 ○ , the case a = 5.44λ does not satisfy the condition a < a max , and we see a grating lobe in the FoV. For θ s,max = 50 ○ , only the case a = 0.62λ satisfies the condition a < a max , and we see grating lobes in the FoV for all the other a values.

Effect of pixel limitations
Ideally, beam steering requires full control of all pixels in the array, that is, full control over E(p, q). However, in practice, optical pixels have limitations that preclude such full control. For example, they may not provide a full 2π phase range, or they may not provide control of the amplitude (or even maintain a constant amplitude) over the phase range. Such limitations will lead to other types of secondary lobes. In what follows, we investigate the effect of several common pixel limitations, while assuming the best array configuration possible, i.e., circular and Gaussian (σ = 0.5) windows, and a = 0.5λ.

Pixels with limited phase range
Here, we study how a limited pixel phase range (max{∠E(p, q)} = ψ max < 2π) affects the main lobe and the characteristics of secondary lobes. As illustrated in Fig. 2, beam steering requires that a phase gradient be created along the steering direction. In practical applications, a realistic phase gradient is implemented by using pixels of finite size as shown in Fig  2. Also, what is implemented in applications is the modulo 2π of the continuous phase, resulting in a sawtooth phase profile of period d,   where the second term is obtained by using Eq. (4), and M is the number of pixels per sawtooth period (which is also the number of pixels contained within 2π), In previous literature, M has been considered as an integer [11,12,51]. However, M can be any real number, and in this section we discuss both cases. We can rewrite Eq. (9) as Examining Eq. (11), we notice that a λ depends on the technology, and M determines the steering angles that can be obtained. Thus, only considering integer M would lead to a discrete set of steering angles, rather than a continuous beam steering. When ψ max < 2π, the discretized sawtooth phase profile cannot be fully achieved because some phase values are not available, as illustrated in Fig. 2. This results in a sawtooth with defects. These defects follow the periodicity d of the sawtooth, which we also call "long-period" because greater than the pitch. The secondary lobes due to the defects in the sawtooth are named "long-period grating lobes" (LPGLs). Writing the grating diffraction equation in terms of the long-period d, we obtain: where we used Eq. (9), and where l = 1 + l ′ is the diffractive order of a LPGL. The maximum order for an LPGL, l max , emerges when sin θ (lmax) s = 1, giving The number of LPGLs is 2l max , which increases as the steering angle θ s decreases. Also, l varies between −l max and l max , and l = 1 identifies the main lobe at θ s , that is not counted as an LPGL. Note that LPGLs caused by missing phase values are more tightly spaced than grating lobes produced by a too-large pitch. Thus, they cannot generally be avoided by restricting the desired maximum steering angle, i.e., the FoV. The number M is important also in the case of pixels with limited phase range. In fact, ideal steering (with no LPGLs) can be obtained even when the pixel phase does not cover the 2π range. Given an integer M , ideal steering at θ s is possible if ψ max ≥ 2π ⋅ M (M + 1) based on Eq. (11). For example, for a = 0.5λ and M = 14 (M = 4), we can steer at θ s = 8.21 ○ (θ s = 30 ○ ) without LPGLs given that ψ max ≥ 336 ○ (ψ max ≥ 288 ○ ).
As already discussed in Fig. 2(b), a limited phase range requires compensation strategies for the missing phase values. We investigate four compensation strategies, as shown in Fig. 5: (i) replacing the missing phases with ψ max ("replace by ψ max "); (ii) replacing the missing phases with 2π ("replace by 2π"); (iii) replacing one half of the missing phases with ψ max and the other half with 2π ("replace half-half"); and (iv) skipping the missing phases and restart the sawtooth immediately to ψ = 0 ○ . Optimization algorithms and artificial intelligence can also be used to find non-intuitive phase compensations.
We plot in Fig. 6 the computed radiation patterns that result from our compensation strategies. We also add in each case the radiation pattern produced by the ideal phase gradient as the black dashed curves. The strategies already introduced in Fig. 5, are illustrated in the insets of each sub-figure of Fig. 6, where we consider different values of ψ max , i.e., ψ max = 240 ○ , 270 ○ , 300 ○ , and 330 ○ , and we use an integer number of pixels to discretize d, i.e., M = 14, thus resulting in θ s = 8.21 ○ . This steering angle produces 2l max = 14 LPGLs, following Eq. (13). We fix E(p, q) = 1 (before windowing), so that the secondary lobes are only due to the limited pixel phase range.
For each sub-figure in Fig. 6, we also report the spr (the largest LPGL is identified by "*"). We see that the spr decreases with increasing ψ max for all compensation strategies, and that the "replace half-half" strategy is best. This is not surprising, as it best approximates the phase gradient in the range where the phase values are missing. The "replace by ψ max " strategy gives smaller spr than "replace by 2π", while the "skip" strategy gives the worst result. However, skip also alters the phase gradient and thus the steering angle, as noted by comparison of the skip main lobe with the ideal main lobe (black dashed). Skip also gives a larger number of LPGLs since the sawtooth period is modified, d (skip) = ψ max ∆ψ, and M is now non-integer. Importantly, these results show that it is possible to realize high-quality beam steering even for ψ max < 2π, as the LPGLs can be two orders of magnitude smaller than the main lobe, which is adequate for many applications.
We have considered so far M as an integer. Thus, the only long-period introduced by the missing phases is d. In general, M can assume any real value, and this is also valid for d and θ s (see Eq. (9)). This modifies the long-period in the phase gradient to αd, with α such that αM is an integer. For example, M = 7.5, 7.25 and 7.05 correspond to α = 2, 4 and 20, meaning that the long-period is 2d, 4d and 20d; these cases are shown in Fig. 7, along with the case M = 7, for ψ max = 270 ○ , using the replace half-half strategy. In the case α = 20, the number of LPGLs is so high that they cannot be distinguished. For M non-integer, the orders and angles of the LPGLs are obtained by introducing the long-period αd in Eqs. (12) and (13): where l = α + l ′ and the maximum LPGL order becomes Although a non-integer M increases the number of LPGLs, we notice that the lobes of order l such that l α is an integer in Eq. (14) remain higher in amplitude -these lobes are identified by Eq. (12). We conclude that considering only the periodicity d for the evaluation of the LPGLs and for the calculation of the spr is accurate in most cases. In Fig.  7, we also notice that the spr is higher for an integer M with respect to the non-integer cases due to the fact that the total radiated power is concentrated in fewer lobes, i.e., choosing an integer M is a worst case scenario. Thus, in real applications, where the steering angle can assume any value and M is most likely non-integer, the spr can be lower than what predicted for integer M values.

Pixels with varying amplitude
Optical pixels often produce a response where the amplitude of the field cannot be controlled (or maintained constant) independently from the phase. Thus, altering the phase often results in perturbing the amplitude which is generally undesirable. Here, we investigate the effects of varying amplitude by assuming ψ max = 2π. We consider a perturbed electric field across the array by adding a perturbing function, f p (x), to E(x) = 1 before windowing, i.e., Ẽ (x) = 1+f p (x). We choose the perturbing function to be a sum of an offset constant A and a sinusoidal function with amplitude B and period d P d , where P d controls the shape of the perturbation. In fact, P d represents the number of cycles of the sinusoidal function within d, i.e., 2π revealing the dependence of the sinusoidal perturbation on the pixel phase ψ(x). For a perturbation containing full sinusoidal cycles (P d ≥ 1), we have A = 0 because the sinusoid is symmetric about unity. For P d ≤ 0.5, we need to use A ≠ 0 that, by vertically translating the sinusoid, guarantees that the maximum and minimum of Ẽ (z) are equidistant from unity, i.e., ( Ẽ (x) max + Ẽ (x) min ) 2 = 1. Varying P d , while tuning B and A, allows us to obtain different perturbation shapes of the same strength Ẽ var , which we define as and is expressed in what follows as a percentage. In Fig. 8, we plot the far-field radiation patterns resulting from different amplitude perturbations applied over a long-period d for Ẽ var = 10%, 20%, 30% and 50%, and P d = 0.01, 0.5, 1, 1.5 and 2. Also in this case, we consider M = 14 and θ s = 8.21 ○ . The insets plot the ideal amplitude of E(x) before windowing, i.e., E(x) = 1 (black dashed line), as well as the amplitude of the perturbed field, Ẽ (x) (coloured curves). Unsurprisingly, the spr in Fig. 8 increases with Ẽ var but not necessarily with P d . We note for non-integer P d that the LPGLs occur at the same diffraction angles already reported in Section 4.1 for the LPGLs due to missing pixel phases. For an integer P d , we have less orders but they have nearly double amplitude -given that l = 1 is the main lobe, we have LPGLs of orders l = 1 ± P d .

Combined effect of limited phase range and varying amplitude
In this section, we summarize our findings by considering a broader set of steering angles and pixel limitations. In Fig. 9, we plot the average spr (i.e., spr) for steering angles between 1 ○ and 90 ○ in steps of 1 ○ , for a < 0.5λ, for different values of P d and Ẽ var , and for varying ψ max (applying the replace half-half strategy). The case P d = 0.01 produces the lowest levels for the LPGLs. We also note a large change in spr as Ẽ var varies from 0% to 10%, which reinforces the notion that the amplitude profile strongly affects the radiation pattern. For a given Ẽ var , we see that the spr is constant over a range of ψ max . This clearly separates the regime where LPGLs are dominated by the varying amplitude, from the regime where LPGLs are dominated by the limited phase range. If we set spr = 10 −2 as the maximum value that we can tolerate in practical applications, we find that the sawtooth amplitude perturbation (P d = 0.01) allows us to obtain this ratio even with ψ max ∼ 270 ○ and Ẽ var ∼ 30%, which are achievable with many pixel designs. We also note that ψ max = 260 ○ represents a limit in that no beam steering with spr < 10 −2 can be realized for ψ max < 260 ○ . [deg] [deg] = 0.01 = 0.5 =1 = 1.5 Figure 9: Average spr for steering angles between 1 ○ and 90 ○ , for a limited pixel phase range (varying ψ max ) and a non-uniform pixel amplitude (varying Ẽ var and P d ).

Python code
We provide a Python code [61] that exploits distributed computing to calculate the radiation pattern of an array with the following input parameters: • steering angle θ s , • steering plane (identified by φ s ), • polarization direction of all dipoles, • size of the array (2N x + 1) × (2N z + 1), • windowing strategy (circular and/or Gaussian), • pitch size a x × a z (both normalized with respect to λ), • maximum pixel phase ψ max , • phase compensation strategy, • shape of the amplitude perturbation (through the parameter P d ), • strength of the amplitude perturbation Ẽ var (through the parameters A and B).
In particular, the Python code can generate 3D radiation patterns as shown in Fig. 10 for different values of steering direction φ s and steering angle θ s . Figures 10(a), 10(b) and 10(c) are extracted from Visualizations 1 [75], 2 [76], and 3 [77], respectively. These movies show beam steering in the horizontal (φ s = 0 ○ ), vertical (φ s = 90 ○ ) and diagonal plane (φ s = 45 ○ ), by considering N = 31 elements without windowing. Here, the effect of the dipole radiation pattern is visible by comparing steering in the yz and xy planes. The square images in each sub-figure of Fig. 10 represent the phase profile across the array to produce beam steering. Furthermore, the 3D beam is projected in the xy (blue dots), xz (green dots) and yz (orange dots) planes to better illustrate its orientation in space.
In these visualizations we have used ideal conditions, i.e., a < 0.5λ, ψ max = 2π, and constant amplitude, but the user can generate 3D plots in presence of pixel and array imperfections to visualize the effect of such limitations on beam steering and secondary lobes. Although throughout the paper, we have only considered steering in the horizontal direction (xy-plane), the Python code [61] is general and allows us to steer the beam in any plane, i.e., to change φ s in Fig. 1(b). Having access to the code, the user can introduce new phase compensation strategies, amplitude profiles, and input a pixel radiation pattern that is more complex than a dipole emitter. The code also allows to save the data for the 2D radiation patterns plotted throughout the paper, which can be used for further analysis. Pixels for optical phased arrays in practice have limitations in terms of size, phase range and amplitude control. All of these characteristics affect the quality of the steered beam by reducing the amplitude of the main lobe and generating undesired secondary lobes, such as grating lobes due to a too-large pitch and long-period grating lobes due to an incomplete phase range and/or non-constant amplitude, which occur over much longer length scales than the pitch. Our study investigates the effect of many common sources of undesired lobes, as well as presents strategies to minimize them. We have discussed the effect of different windowing strategies on side lobes, identifying the combination of circular and Gaussian windowing as best in terms of side lobe level. We have shown that the pitch size can be increased and grating lobes can be avoided if the desired steering range is reduced accordingly. We have discussed the effect of pixel limitations, such as a limited phase, and discussed the performance of different strategies to compensate for the missing phase range. Furthermore, we have considered the effect of a non-uniform pixel amplitude by evaluating the performance for different amplitude perturbation shapes. We find that a sawtooth perturbation of the pixel amplitude allows achieving a sidelobe-to-peak ratio of 10 −2 with a maximum pixel phase down to ∼ 270 ○ , and a percentage variation of the pixel amplitude up to ∼ 30% These values are obtainable in many pixel technologies, and this makes optical phased arrays based on those pixel technologies viable for practical applications. The attached Python code is handy to visualize/analyze in 3D and 2D how the parameters of the array affect the steered beam. The generality of our study can be applied by researchers from different communities working on optical phased arrays for beam steering for applications in LIDAR technology and smart communications.