LIDAR, short for light detection and ranging, has drawn great attention in recent years due to fast-emerging applications in robotics, autonomous vehicles, high-precision mapping, and more. Current state-of-the-art LIDAR implementations are capable of ranging millions of points per second, thanks to the high angular resolutions and fast steering speeds.
The mechanisms of beam steering in existing LIDAR architectures typically fall into two categories: mechanical, such as rotation (or MEMS) based implementations, and non-mechanical, most commonly optical phased arrays. Optical phased arrays based on silicon photonics are considered a promising solution to low-cost, high-speed, robust solid-state LIDAR with large optical apertures yet compact footprints.
In this example, we show how to design an integrated optical phased array antenna which can be used for both transmitting and receiving functions, from the individual antenna element to the optimization of the phased array. Finally, we show how a compact model of the phased array antenna can be built in INTERCONNECT to enable larger-scale simulation of the LIDAR system.
Overview
Understand the simulation workflow and key results
In this example, we use FDTD to extract the parameters for a given antenna design, such as far-field pattern, and angle vs wavelength dependency. These data are then used in INTERCONNECT to create and test a compact model.
This example is part of a more comprehensive LIDAR workshop in collaboration with Cadence Design Systems and MathWorks and we gratefully acknowledge their contributions.
In case it is desired to create an initial design for the antenna, it is possible to use the FDE and FDTD solvers in a step prior to the Step 1 of the current example. The FDE solver provides the average effective index of the waveguide Bragg grating used as antenna and an estimate of the minimum waveguide spacing. These data can then be used in a 3D FDTD model to verify that the antenna bandgap and operating point are as expected, and to determine the decay length of the grating. The 3D FDTD model also validates the minimum antenna spacing estimated by FDE. To understand how to create an antenna design, please check the Appendix section.
Step 1: Antenna parameter extraction with 3D FDTD
For a given antenna design, extract the far-field radiation pattern as a function of wavelength for subsequent use in INTERCONNECT. In addition, it is also possible to calculate other antenna parameters such as the normalized transmission to the substrate, the angular emission in the air, and the peak emission angle and width. It is important to note that the beam far-field calculation is done assuming uniform antenna weighting.
Step 2: Phased array compact model in INTERCONNECT
Use the parameters determined in Step 1 to update an antenna array compact model in INTERCONNECT. Run a test simulation and plot the beam polar and azimuthal angles as a function of time.
Run and results
Instructions for running the model and discussion of key results
Step 1: Antenna parameter extraction with 3D FDTD
- Open FDTD and the file LIDAR2.fsp
The files contain the 3D FDTD model of an antenna designed with the FDE solver. More information can be found in the section “Initial antenna design with the FDE solver” in the Appendix. The structure consists of a Silicon waveguide with Bragg grating, and three elements of the antenna are simulated, as shown in the image below.
Minimum antenna spacing and decay length
First, we verify the minimum antenna estimated to be 1.5 microns in the initial design with FDE (see Appendix).
- Edit the source and set the wavelength to range from 1500nm to 1600nm
- Run the simulation
Plot the electric field intensity in the monitor named “above”. The field has not completely decayed by the end of the simulation, which is why the transmission is still above about 40%.
Plot the transmission from monitor waveguide_analysis::T1 and waveguide_analysis::T2 on the same curve as shown below, by selecting both and right-clicking to choose the Visualize option:
Plot the decay length (Ldecay result) and the power coupled to waveguide 2 (P2 result) which are calculated in the analysis group waveguide_analysis:
There is a stronger coupling between the waveguides separated by 1.5 microns than was predicted, as expected. However, the decay length is quite short, less than 40 microns, and it is shown in the P2 image that the coupling is less than 2% of the initial power into the neighboring antenna. In those conditions, it is possible to use spacing as small as 1.5 microns.
In addition, the transmission box called trans_box is used to analyze the power flow and verify that net power is ~1. The plot of the result trans_box::T shows that the total power is close to 1 at all wavelengths. Note that there is some ripple, which increases towards the bandgap wavelength, this is because the light slows down near the bandgap and there is still some trapped in the simulation when it ends (left figure below). If higher accuracy is desired, the simulation runtime must be increased. For example, with a maximum simulation time of 1000fs instead of 600fs, the trans_box::T result will show a considerable decrease in the dip at longer wavelengths (right figure below).
Extract the angular distribution vs wavelength data for INTERCONNECT compact model
- Open and run the script file LIDAR2_analysis.lsf
The script will generate several results:
Normalized transmission to the glass substrate through the monitor above.
Emission angle in the x-z plane vs. wavelength calculated by applying Snell’s law to the far-field projection.
Sine of the peak emission angle in the x-z plane, called ux_peak extracted from the emission angle plot. The ux_peak data is fitted to a 2nd order polynomial to quickly calculate the peak emission angle (and width) as a function of wavelength later in an INTERCONNECT compact model. The fitting is compared to the original data as well.
Electric field intensity in air from the original simulation data and far-field intensity for the finite simulation length. This involves multiplying the far-field by a Lorentzian that accounts for the decay length. This results in a narrower range of emission angles than is seen in the raw FDTD result.
Unstructured data sets to visualize the far-field intensity in a 3D view, as well as a radiation plot.
The angular distribution of radiation data is saved into a file called antenna_data_lumerical.ldf for subsequent phased array analysis, and for use later in the INTERCONNECT compact model.
Initial phased array analysis
- Open the script file phased_array_analysis.lsf
- Modify the parameter values, if necessary
- Run the script
This script will load the angular distribution data of the single antenna generated in the previous step. It allows the user to:
- Set a target polar angle (theta) and azimuthal angle (phi) and will then adjust the linear phase across the antenna array to target that direction for the 0th order emitted by the array.
- Specify the number of antenna elements and an amplitude weight function. For simplicity, the angular data is normalized to have a maximum intensity of 1 when plotted on a linear scale.
- Specify the maximum value for dB scale images. All values below 0 will be truncated for easier visualization. The dB range setting should be positive.
With the default settings (theta_target=10, phi_target=0) and a Gaussian amplitude weight function, the script will generate the following figures:
By changing the last to a Radiation plot, and viewing the dB result, we can see the following figure:
If we rerun with target_theta=20 and target_phi=30, we see the following figures:
Step 2: Phased array compact model in INTERCONNECT
- 1. Open the file LIDAR_example.icp with INTERCONNECT.
This file contains a LIDAR transmission system. The layout of this system can be modified with the script file build_array.lsf if desired. The coupling coefficients and antenna spacing are used as input in INTERCONNECT.
The compact model of the phased array is created using a scripted element. This compact model has 48 optical inputs. Based on the center frequency of the simulation band and the amplitude and phase at each of the 48 input ports, it will calculate the beam direction given by a unit vector with x,y components ux and uy as a function of time. It will also determine a beam width ux_width and uy_width. The unit direction values can then be converted into polar and azimuthal angles theta and phi. These values, including frequency, will be output as electrical signals which is useful if this compact model is used in a larger system simulation, for example with Spectre AMS Designer by Cadence.
The compacted model has the following setup scripts defined:
Setup Script |
|
Ready Script |
|
Go Script |
|
Wrap-up Script |
matlabload(“beam_snapshots.mat”); |
- 2. Run the simulation. After completion, select the phased_array element and look at the Result View window. Select ux, uy, ux_width and uy_width and right click to Visualize them all.
The results after adjusting the time units to “nano (1e9)” in the Parameters tab is shown below.
We can see that as the voltage is swept, the value of uy changes linearly. Initially, uy_width is very large, indicating that we either have not formed a beam or that there is more than one beam in the range of uy that we are tracking (approximately, -0.42 to +0.42).
Visualize theta, phi and angle_width to check the behaviour of the polar and azimuthal angles, as shown here.
We can sweep the azimuthal angle phi between about 60 to -60 degrees. The value of theta changes as well.
- 3. Consider the angular distribution as a function of time. Run the following script commands.
matlabload("beam_snapshots.mat");
visualize(E2_vs_time);
In the Visualizer, the slider for the “time” parameter can be used to animate the beam steering effect (see below).
Important model settings
Description of important objects and settings used in this model
Symmetry in the FDE and FDTD solver
For the FDTD solver in LIDAR2.fsp, an anti-symmetric boundary condition (BC) is used at y-min. This is possible because we are simulating the antenna in the middle of a symmetric 3-antennas array and are only interested in the TE-like mode. We cannot use a plane of symmetry at z-min because we must include the silicon substrate. This is necessary because the silicon substrate will have a significant impact on the amount of radiation outcoupled upwards by the grating.
Waveguide_analysis script
For the FDTD solver in LIDAR2.fsp, we use an analysis group called waveguide_analysis to calculate Ldecay (the decay length) and P2 (the power in the neighboring waveguide 2 as a function of wavelength and length of propagation).
FDTD simulation x span
The waveguide_antenna structure group in LIDAR2.fsp has a target length property of 20µm. The structure uses an integer number of periods of pitch 660nm so the length will not be exactly 20µm. The FDTD solver has an x span of 21.5µm while the waveguide_analysis group has a length of 21µm, to be sure that it covers all the periods of the grating that are present. The decay length calculated by the waveguide_analysis group is therefore slightly ill-defined because it assumes a length of 21µm, while the true length is slightly different (20.46µm). However, this results in an error of only a few percent on the decay length.
FDTD simulation time
The simulation time in LIDAR2.fsp is set to 600fs instead of the default 1000fs. This is simply to make this example run faster. For more accurate results, the simulation time should be increased to 1000fs or even longer to allow the auto-shutoff to trigger. Since we inject light in and near the bandgap, it can take a long time for the slow light to exit the simulation.
Far-field projection
For the far-field projection, the script file LIDAR2_analysis.lsf uses the script command “farfieldfilter” to filter the near fields by far-field apodization. For more information, please refer to the section “Antenna design verification with 3D FDTD” of the Appendix.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
- You can update the model with different design choices based on your needs. The waveguide_antenna structure group and the waveguide_analysis group are parameterized so you can adjust the waveguide width, pitch, grating width, antenna separation and the number of elements. If you reduce the grating width, which will result in a longer decay length, you may want to increase the x span of the FDTD simulation region, as well as the length of the waveguide_antenna and waveguide_analysis group.
- If your design results in a very narrow beam in the far-field, you may need to increase the farfield_resolution setting in LIDAR2_analysis.lsf which is currently set to 401.
Taking the model further
Information and tips for users that want to further customize the model
- A more sophisticated design would adjust the antenna grating pitch and width at each unit cell of the grating to target a certain beam profile. This design can be accomplished with information calculated by the FDE solver (please check the section “Initial antenna design with the FDE solver” in the Appendix). This would then require some work to rewrite the waveguide_antenna structure group, but most of the analysis would be the same. This might also require an increase in the x span of the FDTD simulation region because we could no longer use the calculation of the decay length to adjust the far-field angular distribution. Alternatively, the far-field could be adjusted with knowledge of the type of beam profile that was attempted.
- Some optimizations of the system parameters can be performed by third-party software, such as MATLAB. As an example, parameters such as the spacing of the antenna array and the amplitude weighting of each element can be optimized and then included in the INTERCONNECT model.
Additional resources
Additional documentation, examples and training material
Related publications
- Christopher V. Poulton, Ami Yaacobi, David B. Cole, Matthew J. Byrd, Manan Raval, Diedrik Vermeulen, and Michael R. Watts, “Coherent solid-state LIDAR with silicon photonic optical phased arrays,” Opt. Lett. 42, 4091-4094 (2017).
See also
Related Ansys Innovation Courses
Appendix
Additional background information and theory
This section is intended for users that would like to explore the antenna design. This is a step prior to the Step 1 of the current example.
Initial antenna design with the FDE solver
The FDE solver is used to calculate the waveguide effective index (neff) as a function of waveguide width, and to select a grating width and duty cycle, which determine the average effective index of the waveguide grating. The grating pitch is selected by choosing the desired operating point for near-normal emission that avoids the waveguide grating bandgap. We can also estimate the minimum waveguide spacing by considering evanescent coupling between straight waveguides.
Determine effective index (neff ) vs waveguide width
- Run the sweep “neff_vs_width” from the “Optimization and Sweeps” window.
The result of the sweep of neff as a function of width is shown below. This curve can be used for advanced design, for example, to adjust the perturbation over the length of the grating to ensure uniform emission over the antenna length at a fixed angle, as in [1].
Determine the average n eff for the grating
We will assume a grating with a 50% duty cycle that varies between a width of 500nm and 800nm. This allows us to estimate that the average neff over each unit cell is:
Estimate the minimum antenna spacing
We can estimate the minimum antenna spacing using the eigenmode solver and verify the result later with FDTD.
- Switch to Layout mode
- Edit the waveguide_antenna and choose Ny = 2
- In the Optimization and Sweeps window, run both the proximity_thin sweep and proximity_thick sweep.
The power coupling between two straight waveguides can be determined by the difference in the effective index of the symmetric and anti-symmetric hybrid modes, which we will call Δneff. If the initial power, P0, is in waveguide 1, after a length, L, the power in waveguide 2 is given by:
The FDE::data object is configured to calculate both Δn eff and L 10 which is the length required for 10% of the power to couple from waveguide 1 to waveguide 2.
In this estimate, we can see that at 1.5µm, there needs to be at least 6mm of propagation length before 10% of the light is coupled into the waveguide. This estimate is clearly an oversimplification because the grating is designed to scatter light, which can increase coupling between the waveguides, but nonetheless gives us a good idea of the minimum antenna spacing. At this point, we will assume that the antennas can be as close as 1.5µm, which is approximately one free-space wavelength, and later verify the spacing with the 3D FDTD simulation.
Choose the desired angle of emission
It may seem desirable to target a normal incidence emission angle. However, this is not ideal because both forward and backward propagating light will emit at normal incidence. Indeed, when the emission is near normal, the grating creates a strong coupling of both forward and backward propagating light, creating a bandgap of forbidden light frequencies, and therefore behaves as a mirror as well as a grating coupler. This creates design challenges: the penetration of the light into the grating changes rapidly with wavelength. This can be understood by the band diagram below, which explains the different regimes of periodically patterned waveguides. However, it is desirable to operate near (but not in) the bandgap because we achieve near-normal emission and the change in angle with wavelength is the largest.
While the band structure can be calculated with FDTD, we will instead make some simple assumptions to calculate the pitch. We will target an operation wavelength of 1500nm to 1600nm. We will therefore attempt to place the bandgap (where θ = 0, m = 1) at λ 0 = 1700nm. This gives us
This is an approximation, in part because we used neff calculated at 1550nm. To be self-consistent, we should recalculate neff at 1700nm, but we can verify with FDTD the location of the bandgap.
Important model settings for FDE
The file LIDAR1.lms uses an analysis script inside of the FDE::data group. This script calculates:
- The real part of neff for mode1, neff_max.
- The difference in real parts of neff between mode1 and mode2, delta_n.
- The length required for 10% of the light to couple between waveguide 1 and waveguide 2, L10.
The value of neff_max is used when there is a single waveguide, while delta_n and L10 have meaning when there are 2 waveguides in the simulation region.
A more sophisticated design would adjust the antenna grating pitch and width at each unit cell of the grating to try and create a target beam profile. This design can be accomplished with the information calculated by the FDE solver.
In addition, for the FDE solver in LIDAR1.lms, a symmetric boundary condition (BC) is used at z-min. This is possible because we ignore the substrate silicon in the simulation. We do not use anti-symmetric BCs at y-min because we want to study the coupling between 2 waveguides which requires knowledge of both the symmetric and anti-symmetric modes.
Antenna design verification with 3D FDTD
The 3D FDTD model in LIDAR2.fsp is used to simulate the antenna designed in FDE and verify the bandgap and operating point.
Bandgap location
- Open FDTD and the file LIDAR2.fsp. Edit the source properties and ensure that the wavelength range is 1500nm to 1700nm. Run the simulation.
Right-click on waveguide_analysis::T1 and plot the transmission at the output side. We can see the following, which shows that the bandgap is at about 1640nm, outside our target range of 1500 to 1600nm.
Right-click on the monitor named “above” and choose to plot the far-field. Click “All” in the “Select frequency” window to calculate all wavelengths. See how the beam shifts with wavelength.
Normally, to perform a far-field projection we need the field to be fully decayed by the edges of the simulation region (or the edge of the monitor where the field was recorded), otherwise, we will obtain an unphysical ripple in the far-field results. To avoid this, we can use a method called far-field apodization by setting the “ far-field filter ” to a non-zero value. When used in this way the near fields are filtered via multiplication with a raised cosine windowing function.
The table below shows some of the result differences. We will use a far-field filter setting of 0.1 for the final analysis.
In addition, the script file plot_farfield1.lsf will plot the far-field as a function of angle in the x-z plane. Note the low emission in the bandgap (zero degrees), and the high transmission near the band edge (near zero degrees). However, we will operate from 1500nm to 1600nm, where the angle of emission (in glass) varies between ~4 to 13 degrees. In the air, as calculated by Snell’s law, this corresponds to about 5.8 to 20.4 degrees.