Array Design and Beamforming for Wireless MIMO Systems - MATLAB & Simulink
Video Player is loading.
Current Time 0:00
Duration 34:55
Loaded: 0.47%
Stream Type LIVE
Remaining Time 34:55
 
1x
  • descriptions off, selected
  • en (Main), selected
    Video length is 34:55

    Array Design and Beamforming for Wireless MIMO Systems

    Overview

    Phased array front-ends in MIMO communications systems enable a range of spatial signal processing algorithms including beamforming which are critical to achieving the desired performance of 5G, satellite, airborne, and other modern wireless applications.

    In this session, we will introduce techniques to design and evaluate MIMO antenna arrays which can be used in wireless communication systems, including 5G systems. We will look at ways to model, design and synthesize the array geometry, element spacing, subarrays, tapering and the effects of mutual coupling. The session will demonstrate ways to apply the appropriate level of fidelity at each stage of the project. We will also demonstrate techniques to explore architectural trade-offs for beamforming and related spatial signal processing algorithms. These techniques can be used to improve channel capacity and data throughput in multi-user scenarios. They also can be used to identify and eliminate interference sources in shared spectrum environments. 

    Highlights

    You will learn to:

    • Design multi-beam and electronically steerable antennas for massive MIMO and mmWave systems.
    • Use antenna arrays to improve the SNR and capacity of a wireless link.
    • Send multiple data streams through a scatter-rich channel by using a set of precoding and combining weights derived from the channel matrix.
    • Employ hybrid beamforming at the transmit end of a massive MIMO communications system, applicable to both multi-user and single-user systems.

    About the Presenter

    Rick Gentile focuses on Phased Array, Signal Processing, and Sensor Fusion applications at MathWorks. Prior to joining MathWorks, Rick was a Radar Systems Engineer at MITRE and MIT Lincoln Laboratory, where he worked on the development of many large radar systems. Rick also was a DSP Applications Engineer at Analog Devices where he led embedded processor and system level architecture definitions for high performance signal processing systems, including automotive driver assist systems. Rick co-authored the text “Embedded Media Processing”. He received a B.S. in Electrical and Computer Engineering from the University of Massachusetts, Amherst and an M.S. in Electrical and Computer Engineering from Northeastern University, where his focus areas of study included Microwave Engineering, Communications and Signal Processing.

    Recorded: 9 Dec 2021

    Hello, everyone. My name is Rick Gentile. I'm the Product Manager for our Phased Array, Radar, and Sensor Fusion products at MathWorks. Welcome, and thank you for attending this Webinar on Array Design and Beamforming for Wireless MIMO Systems.

    Now, phased array front ends and MIMO Communication Systems enable a range of spatial signal processing algorithms, including Beamforming. These types of algorithms are critical to achieving the desired performance of 5G, satellite, airborne, and other modern wireless applications. Now in this session, I'll introduce techniques you can use to design and evaluate MIMO systems. We'll look at ways to model, design, and synthesize the array geometry, element spacing, subarrays, tapering, and the effects of mutual coupling.

    I'll also demonstrate techniques to explore architectural trade-offs for beamforming and the related signal processing algorithms. Now, these techniques can be used to improve channel capacity and data throughput in multi-user scenarios. They can also be used to identify and eliminate interference sources and shared spectrum environments.

    Now, the requirements for 5G systems go well beyond the capabilities and performance for LT systems. 5G systems need to achieve higher data rates. They need to do this with lower latency network accesses. The cost and the power budgets for these systems drive the need for more energy efficient implementations.

    So systems will achieve the higher data rates using much larger bandwidths to communicate. And this is driven from all the new applications in 5G wireless that extend the scope of basically what's connected. Now, these requirements drive the push for higher frequencies of operation, including into the millimeter wave bands.

    Now, the attenuation at these higher frequencies can be a challenge. We see the effects of atmospheric gas on signals across the frequency spectrum. In the LT band, signal attenuation due to atmospheric effects wasn't significant. Now, this changes greatly in the millimeter wave range.

    We also need to understand how wideband signals perform in the system and in the environment. And the environment is also scatterer-rich between the transmitters and receivers in these kinds of systems. So the channel models used in the analysis and simulation need to reflect this complexity.

    Now, there are some examples of these types of challenges that need to be overcome. And we will review examples using these types of channel models to complete our analysis. Now, phased arrays and beamformers are key components of 5G systems. This is an example of an array and beamformer can play in a 5G system.

    On the left, we employ beam sweeping at both the transmitter and receiver ends of a 5G new radio system. Using synchronization signal blocks, we perform beam management procedures that are used during this initial access when the mobile comes into the range of the base station. On the right, you can see the downlink transmit beam refinement procedure using the channel state information reference signal in our 5G toolbox. And we use beams formed from phased arrays to transmit multiple directions in a scattering environment. Then we can select the optimal transmit beam based on the reference signal received power measurements.

    The good news is you can design phased arrays and beamforms with MATLAB. With Phased Array System Toolbox, you can design and simulate arrays and beamforms that can be used directly in your system level simulations. With Antenna Toolbox, you can design and simulate antenna elements and arrays using electromagnetic solvers. And the results you obtain can be integrated directly into the array models in system simulations as well.

    And finally, you can integrate the results of this work in a range of wireless systems, including 5G and wireless LAN, to name a few. OK, with that quick introduction let's get started. Now, I'll go over three key topics-- Array Design, Beamforming, and System Modeling and Analysis. I briefly mentioned some of the challenges that we see moving to millimeter wave frequencies. But one of the benefits is that the antenna arrays with large numbers of elements can be built. And with larger number of elements, they can provide the gain and directivity to overcome some of the losses inherent at the higher frequencies.

    Now, there are many parameters needed to model an array. Let's get started with the array geometry. In general, we'll define the array in a 3D space. So in this coordinate system, we need to define where the elements are located and where they point to. And the antenna aperture is often associated with some sort of tapering that we apply to the elements.

    There's also subarrays, which we have to consider when we look at the entire aperture and how the entire aperture is formed, and how the feed is routed. We'll talk some more about subarrays coming up shortly. Let's start with the key parameters for common array geometries.

    The simplest structure is a Uniform Linear Array. You can start by specifying an antenna element, which we'll talk about more as well shortly. You'll also need to define the number of elements in the array and the spacing between the elements. The array axis parameter tells you how the array is laid out. And the taper parameter is basically how we apply complex weights to each element.

    The Uniform Rectangular Array, or URA for short, is similar, except that now things are in two dimensions. Notice also there's a lattice option, which gives you the option to configure the elements in a rectangular structure or in a triangular lattice structure. Of course, many of the other array geometries are possible. So we also provide a way to model an Arbitrary Array.

    Now, you need to specify the position and the pointing direction for each element. And this is important if you want to model a conformal array that maps to the shape of a curve structure, for example. In general, there's two ways to model antennas with our tools.

    The first one is based on a behavioral model whose starting point is really a pattern, like the one I show here on the left. This can be described by an equation and maybe a table. And we can quickly look up the pattern for a given direction. Well, when we use it in a system simulation.

    On the right is a pattern generated from an electromagnetic solver. And this type of pattern represents the physical design and provides a higher fidelity pattern. One way to generate these types of patterns is using a Antenna Toolbox as we'll discuss in a upcoming slide.

    Now, antenna element patterns can also be generated from measurements. For example, measurements taken in a chamber. Note, that the pattern can be represented as a function of magnitude and phase. It can also be defined to include horizontal and vertical polarization components as well. Two other points before we move on.

    The pattern can be specified in terms of azimuth and elevation or in the phi and theta coordinate system. And this approach that I show here can also be used to import patterns generated from tools outside MATLAB as well. Now, patterns are often available as 2D slices that need to be interpolated to 3D. So we provide a function to generate 3D patterns from 2D slices.

    So you see here on the left, the 2D azimuth and elevation slices and the corresponding 3D activity plot on the right, which was generated from these slices using interpolation methods. Now, Phased Array System Toolbox you can compute the total array pattern from using pattern multiplication. So we start with the element, we have the array, and we can generate the array pattern that comes out of the system.

    We also provide a range of mathematical patterns you can use to get started. These are all elements that can be directly configured into the arrays that you design. Now, there are several industry specifications that provide guidance on antenna element definition, including this ETSI Report on the left and the ITU recommendation on the right. And the common thread here is that they both provide guidance on ways to define communications-related antenna elements.

    The good news is we have a parameterizable 3GPP antenna element that maps directly to these specifications. So you can see two examples here of the interface where you can specify in this example, the beam width and the max gain. So with a single line of MATLAB code, you can just configure the antenna element to match what you're looking for in your specification.

    Of course, you can also specify things like the operating frequency range, whether or not polarization is required, sidelobe levels, maximum attenuation. These are all configurable directly in the antenna element. I mentioned Antenna Toolbox earlier. The toolbox provides a large catalog of elements to pick from.

    These designs are generated with a solver so the level of fidelity is higher. And of course with each new MATLAB release, new antenna elements are added into the catalog. And these can be used directly as the element in the arrays you design that I showed a little bit earlier.

    Now all of what I've discussed so far can be built programmatically in MATLAB using Phased Array System Toolbox or Antenna Toolbox, depending on which item that I showed. You can also use apps to interactively design the elements and arrays. And I want to go through these three apps.

    So the first one is the Sensor Array Analyzer. And then I'll show you the Antenna Designer and Antenna Array Designer as well, which are solver-based. All right, let's start with the Sensor Array Analyzer. This is part of Phased Array System Toolbox.

    All these apps have a tool strip on top that give you some options to get started. In this case, I'm designing an array. So I can pick the rectangular array. You see I have other options here of different geometries, including arbitrary geometry that I mentioned earlier in the webinar. You've got the basic information of the parameters associated here, the size of the array, the spacing, the lattice structure, and any of the weighting that you apply.

    Over on the right side, you get the array characteristics of the one you design, including things like directivity and the beam width and sidelobe levels directly on here. You can also set up your antenna elements so there's some elements to pick from. You can also select a custom antenna, which would allow you to import one that you've collected with test equipment or perhaps simulated with Antenna Toolbox, for example.

    There's different options to build up subarrays directly in the app as well. And then lots of different visualizations you can look at the array geometry, the 3D pattern that I just had up currently, and also various 2D patterns. And when you're done, you can export the design to the workspace in MATLAB Workspace. You can also generate a MATLAB script or generate a math file that allow you to replicate this directly.

    So for example, if you're building a system model, you could select the MATLAB script option and get the code needed to recreate whatever you've done in the app. Now, Antenna Toolbox has two apps that I mentioned earlier. I'm going to start with the Antenna Designer.

    In this case, we can pick from the Palette of Elements. And in this case, I picked a microstrip patch. And I can simply put in the frequency that I want this to resonate at and say Accept. And it will go off and do design. Now, my colleague Giorgia Zucchelli has done multiple webinars on this recently. And if you're interested in this app, I encourage you to watch one of the webinars there.

    You can get a sense of how easy it is to get started here. I just said design this at 60 gigahertz. I picked the patch and I got all the parameters in here that I can now use as my starting point, including the substrate dielectric, the conductor, and the load for the system. I've got different ways to visualize this. I've got the ability to bring optimization into this workflow as well to help me design my element.

    Similar to the other app, I can export just to the workspace or script. When I export to the workspace, I have a container for this design that I can then bring into my array design. So if I want to use one of these elements in place of the idealized element that I started with in phased array, it's a very simple path to just export from here and import back into the Sensor Array Analyzer.

    And then the last app I wanted to just make you aware of. Again, my colleague has gone through this recently in some nice webinars. But the Antenna Array Designer also is software-based. But in this case, we're actually designing for the whole array. So I've set up a panel of four patch elements and solved for that system at the same resonant frequency, the same set of frequency here.

    And again, I can bring lots of different plots in with just a single click. I've got optimization techniques as well that I can bring to bear on the problem. When I'm done similar to what I talked about, I can export to the workspace or get a script that allows me to recreate everything that I just did in the system.

    All right, well we've seen a little bit on how to design an array. And I think it's important to understand that many different array architectures are possible for wireless systems. We can map. We can dedicate an RF chain to each transmit element in the system. We can map RF chains through subsets of elements and build up subarrays. And we can also create virtual sectors that are different combinations of elements across different RF chains.

    And this brings us to the topic of subarrays, which you can use to help balance performance and system complexity, making that trade-off between the two domains. And this usually is applied when the number of antennas greatly exceeds the number of RF chains. And I show a couple of these different options that are typically used where we map in all digital case, for example, an RF chain to each transmit element. Or in the case where we map it to a subset of transmit elements to create these arrays.

    As in all engineering trade-offs, the different realizations have different complexities and different trade-offs that you have to make. Now, we provide two ways to model a subarray. The first is to tile together small panels. And this is what we show here.

    You can define a grid on how the panel is put together. And there's subarray properties that help you define what the panel is itself. And they can be of any array structure, including this example I just show.

    The other way is to start with a big aperture, a large aperture, and divide them into smaller ones. The aperture is an arbitrary array. And the subarray selection can be thought of as a selection matrix that helps you map the input at each element to the different transmit receive switches that you have. This is a more versatile way. It can support special cases like overlapped subarrays that you see in this case on the right.

    You can apply these techniques to design specific 5G arrays as I noted earlier. In this case, think of panels and each of the panels having multiple elements, and in the elements each having cross-polarized elements within each system. We'll talk some more about this coming up.

    As I mentioned earlier on those industry specs, the ETSI spec and the ITU spec, we talked about it in the context of defining an antenna element. We can also see a mapping to an array structure, array design in the specifications. And we have a parameterizable 5G array that maps directly to these specifications as well. So you can create a rectangular array that's designed to meet the 3GPP technical report standard that I showed.

    And our object allows you to model the antenna pattern generated by multiple panels in a rectangular layout. Now, here you see an example of a heterogeneous array that consists of co-located antenna elements. And for each of the antenna elements that we use in this array, we're actually using one of the NR antenna elements that I showed you earlier in the session.

    You can specify the antenna element types that I just mentioned, the size, including the element grid and the panel grid, and also the spacing between the elements and the spacing between the panels. And you can also specify a taper. So, again, a single line of code with a few parameters that you can directly map into what you see in the specifications for these types of elements and arrays.

    You can also account for mutual coupling between the elements. And this is an important piece especially for a large array. With Antenna Toolbox, you can design arrays that account for the effects of mutual coupling. For large arrays that will take a little bit longer to calculate, there's some different techniques you can use to get an answer that approximates the fully solved system.

    So the first question is, are the antenna elements spaced far apart? If they are, there's a technique where you can use the isolated element pattern and apply superposition. If they're not far apart, then we look at what is the size of the array?

    If it's small, you can compute the pattern for each embedded element in the array. If it's sort of mid-sized array, you can compute the pattern for the central and edge or corner elements, and use the element embedded in the array technique. If it's a large array, then you can compute the pattern for the central element with an approach we call infinite array. And there's a lot of different options to actually put different antenna elements in using our heterogeneous array definition.

    And as a note, it's always important to validate whenever possible with an Electromagnetic Solver to ensure that the results match what you'd expect. But the key thing is that some of these techniques allow you to simulate the effects of mutual coupling or account for the effects of mutual coupling in system simulations where you're steering the beam and you don't have the luxury of calculating the solve beam pattern for the full array every time. It's a great approximation. We have examples that show how to do that and show the comparisons between the different techniques. So I encourage you to take a look at that if that's interesting to you.

    I should note that it can also model the effects of perturbed elements, which, of course, can also change the beam pattern in your system. So this includes amplitude and phase, perturbations, element positions, element patterns. Now, this type of analysis can be used to specify manufacturing specifications, for example. It can also give you a head start on your calibration frameworks before you build your systems.

    These same modeling building blocks can also be used to model failed elements and subarrays if you're looking at things like lifecycle analysis over time, for example. How does the system perform when elements are failed or subarrays are out? You can also perturb array designs to account for the worst case patterns. So these large structures can have manufacturing challenges.

    On the left, you can see a 16 element by 16 element panel and the corresponding pattern. On the right, you can see the results of a perturbation analysis where we simulate the phase shifts be via element position offsets. You can see the results from the Monte Carlo analysis of the blue lines. The mean is shown in red, which is the mean of all the hundred runs. And then the nominal, which is basically the ideal case in the dashed black line.

    This is a good way to understand the tolerances on your array so that you can see in this case if the array could be built with these types of variances and you want to see what it was for worst case, you could actually look at the blue lines here and figure out what the worst case portion of the design would be and use that in your analysis as if you're building your system. OK, with that array design foundation in place, let's move to beamforming. So you have a lot of beamforming options with phased arrays.

    And the first one I want to talk about is the line-of-sight beamformers that you have available. There's two types of line-of-sight beamformers, conventional ones and adaptive ones. For the conventional beamformers, we think of it is a spatial filter that suppresses signals from all directions except the desired ones. This has the effect of strengthening the signal you're looking for, but also minimizing the signals from other directions that could be causing interference, for example.

    In the case of adaptive, the weights are chosen based on the statistics of the received data. So here, there's a little bit more response to what's happening in the data that's coming in. So it's more what's happening in the environment can be used in the process of generating the weights. The key takeaway from the line-of-sight beamformer is that we want to improve the signal to noise ratio. Strengthening the signal that we're looking for and reducing the interference in the signals in the directions that we're not looking for.

    On the other side, and this is more of a communications type concept here, is the idea of in scattering channels, we want to focus on spatial multiplexing, where we apply a set of pre-codes to all digital arrays. And when these arrays get larger, we can look at performing hybrid beamforming. And we're going to talk some more about that. This is basically where we break up the beamforming process into our RF and baseband portions of the system.

    As opposed to the line-of-sight beamformer is the focus really here shifts to typically channel capacity. Being able to use the spatial information of the scatterer-rich environment that these signals are propagating in. Both categories of beamformer support single-user and multi-user configuration. So if you have a line-of-sight beamformer, you can generate multiple beams. In the case of the scattering channels, also you're going to be able to have multi-user configurations. We'll talk about some of those coming up.

    OK, let's talk about some detail line-of-sight beamforming examples. So a common requirement when generating the beam patterns is pointing a null towards a given direction. This helps suppress interference from that direction and improves the SNR.

    Now, the interference isn't always malicious. And this example will show an airport radar that may need to suppress interference from a nearby comms tower. In this case, the position of the comms tower is known and a sidelobe canceller can be applied to remove the interference from that direction. You can see that in the plot here as you zoom in, especially on the right, where regardless of where the beam is steering, there's always a deep null at the direction of the interference, which will prevent that from being digested at the surveillance radar.

    Now, you can also use optimization techniques to generate desired patterns. We can perform a synthesis using a Linear Constrained Minimum Variance beamformer or LCMV beamformer for short. Here, our signal of interest is at 0 degrees. So it's at bore side of the receiver of the array. And the interference sources are at minus 70 degrees, minus 40 degrees, and minus 20 degrees in azimuth.

    And now the noise power is assumed to be 40 dB below the signal. And this beamformer does a nice job of eliminating our noise sources in the directions shown in the plot with these vertical dashed lines. So you see the three dashed lines here. That's where the interference sources are. And you can see that the nulls correspond nicely with those interference sources. And we have a nice received signal at 0 degrees.

    Now, beamformers like LCMV only address the equality constraints. But a common requirement in pattern synthesis is to ensure that the array response is below a certain threshold for a set of given angles. So if we add these constraints that I put on the right here to the problem, you can see the dotted lines are really the new picture ones here. You notice the drop in sidelobe levels between minus 30 degrees and minus 10 degrees. And we still maintain those other nulls at the other interference locations.

    We can use optimization solvers to minimize the objective function for a given set of constraints. So this improves on what we've done for the LCMV. Now, optimization solvers are used to minimize an objective function for a given set of constraints. And some optimization solvers are more efficient than others based on the objective function and the constraints that we put in place. So it's important to select the proper optimization solver for your application.

    Now in our case, because the objective function is in the form of minimizing the power, it's natural to consider a quadratic programming problem. And we can use one of the functions in Optimization Toolbox that you see here in the QP plot on the curve here, this blue curve. And we'll see we're able to meet the constraints of our request here, right?

    We see the sidelobes. We still see the nulls at the dotted line locations. But we also have reduced the sidelobe levels between the minus 10 and minus 30 as we tried to.

    So the QP Solver seems to be a good fit, but it's not as straightforward to translate the array synthesis problem to a QP formulation because the solvers normally deal with real numbers. And the array pattern computation involves complex numbers. So another kind of optimization solver, which we call the Second Order Cone Programming, or the SOCP, has constraints that are defined in the form of a norm.

    So this provides another option for our problem. And you can see the results from the SOCP Simulation. We also we meet the same requirements, but the sidelobe levels and the values that we have here, because we have a little bit more flexibility in how we actually define the strengths of the problem, result in a much lower sidelobe level. I should mention also here that the same type of workflow that I'm showing to generate a beam pattern can also be used to generate the antenna array element positions as well.

    All right, let's talk about Spatial Multiplexing in MIMO systems. Now, channel models are important because they help us predict the types of propagation losses, as well as they help us develop the techniques we can use to compensate for these losses. And we have a bunch of different ones.

    And some of my colleagues have done recent webinars on some of these other topics. But for this session, I want to focus on the Scattering MIMO channel. And with this channel, you can play scatterers within the channel. We'll discuss some of these in more detail coming up.

    I noted this earlier, but spatial multiplexing is really focused on improving the channel capacity. And so the idea here is that we can separate the channel into multiple modes, we can pre-code the data before we transmit it, and then we can combine it on receive. And the first channel, the first sub-channel, usually corresponds to the dominant transmit and receive directions. And this technique enables us to use other sub-band channels to exchange data.

    Notice on the plot on the left, the bit error rate here based on spatial multiplexing has improved. It's lower than the single input, single output line of sight, as expected. We'll start with an example here that shows the transmit receive processing for 802.11ac multi-user downlink transmission over a fading channel. And this example uses linear pre-coding techniques based on the SVD, the Singular Value Decomposition of the channel.

    And here, we're using the WINNER II Channel model. And we perform channel sounding and estimation. And in this example, all of the pre-coding is done digitally at baseband. You can also see here the results of it with different modulation techniques. And notice that the discernible 16 QAM, 64 QAM and QPSK constellations per user on the transmit side. And also note the EVM degradation over the different streams for an individual user. And this is a representative characteristic of the Channel Conversion Technique that's used in this type of system.

    Now, in the next example, we're going to look at a point-to-point MIMO-OFDM system with beamforming. And here, we're going to use the combination of MIMO and OFDM techniques. And these are techniques that are typically used in 802.11x type family of communications. And these provide a higher data rate.

    And because MIMO uses the Antenna Arrays, beamforming can be used and adopted to improve the received signal to noise ratio, which in turn reduces the bit error rate. So here you see the results of the consultation diagram on the right after the result of beamforming. And so we have arrays on both sides of the transmission. We're able to generate the steering coefficients. And you can see that we've got the plots here lined up so that the receiver and transmitter are pointing in the same direction as each other based on where they're located in the larger scene. And we are able to obtain the nice bit error rate to the constellation diagram on the right.

    We also have the case where we are using in 802.11ad waveform generation, we can apply beamforming in this case as well, where we're using it in a Directional Multi-Gigabit Waveform-- DMG waveform-- directly with a phased array. And here, we can evaluate the transmit pattern. It's configured for a 16-element uniform linear array. And here, the location of the receiver for evaluating the transmission is specified as an offset from the boresight of the transmitter. And you can see the different array response on the left, and the direction of the receiver that's most aligned with the subfield that we're focused on. And that's in that red line there. And what's nice about this is that the fields being formed in the receiver direction are stronger than the other fields, as you'd expect.

    Now, the pre-coding examples that we talked about here were all based on all digital systems. We know that as an array becomes very large, an all digital system may not be feasible. So what happens when the array is large? Well, this is when we can apply hybrid beamforming. And this is where we're doing beamforming where each transmit and receive element have phase control and the amplitude and additional phase control is handled at the subarray level. Well, let's take a look at an example. now.

    I'm going to show this example in Simulink. But I want to set the stage with a little bit of background here. We're going to start with a 64-element square array with four RF chains for the transmit and a 16-element square array with four RF chains for the receiver. We'll use a multi-scatter channel in our system. And I'm going to show you in Simulink because it's easy to visualize what's happening in the system in terms of the blocks.

    And Simulink really makes it nice to do two things that are important here. One is evaluate architectural decisions. And also, eventually apply multi-domain simulation techniques where we bring in the effects of the RF chain into this discussion as well. So let's cut over to that now.

    OK, so let's take a look at the model in Simulink. This is a hybrid beamforming system that's based on a MIMO system. And we've got a MATLAB configuration piece here that allows you to set the number of receive and transmit channels in your partitioning. So you can do that in MATLAB.

    And we start off with a single stream. We do the pre-coding. We pass it through a MIMO channel. We do the combination at the MIMO receiver. And then we're going to look at the output for two data streams.

    In this example, we've actually got two different beamforming algorithms. And one of them is a less computationally intensive version of the other one. So as the array starts to get large, you can pick between the different beamforming techniques. This is an important thing I mentioned in Simulink where you can evaluate these side-by-side or make quick architectural changes and look at the results.

    So I'm going to use this beamformer to start. When I run this, you can see the source constellation, which is just coming off of the MIMO transmit. And then you can see the output Stream 1 and Stream 2 constellations are here. And the good news is that this matches up with the other algorithm option that I mentioned.

    Note that as we look at the hybrid beamforming piece here in the Simulink mask. And so notice the configuration here. We've got the number of streams, which in this case is two. We've got the antenna positions for receive and transmit and also the number of RF chains that go along with the array definitions for this system.

    We're also able to run this simulation across different combinations of transmitters and receive chains so we can make that partitioning and look at different trade-offs across the design space. For each of these items, I can look at what the ground truth is and the source and see how that translates into the two streams that we've used in this example. And I'm able to evaluate little shortcuts that I take in the hardware partitioning that simplify the system architecture effect in a way that's not acceptable on the data stream. In this case, the constellation diagrams that we're showing here.

    Now, one of the other system level performance metrics of a 5G system is the spectral efficiency. And here, we're looking at the comparison of the spectral efficiency across different configurations. And we compare it to all digital case, which is where we have full control over all the elements and in the case on the top. And the second case is the hybrid case.

    The simulation assumes one or two data streams as what I talked about earlier. So the resulting spectral efficiency curve is obtained with 50 Monte Carlo trials for each of the SNR values that we plot. And the figure shows that the spectral efficiency improves significantly when we increase the number of data streams. So in addition, the hybrid beamforming can perform close to what the optimal weights can do using less hardware. And that's really what we're looking for. Those are the kinds of system trade-offs that you can make, right? We get close enough to the same answer, but be able to sacrifice a little bit on the hardware complexity. That's a good trade-off.

    The other point that I wanted to make is that all of the array structures and the resulting beam patterns that get generated can be used in system models. You've seen a few of those examples in this webinar. But you can also apply them to scenarios where you're evaluating interference, you're looking across maps, looking at site-specific locations and figuring out how that pattern maps. Do you have coverage in an urban environment or in a system where there's terrain included in that? What does the signal look like in that process?

    So all the work that you do for your development for the array design is reusable, including the steering coefficients. And that pattern that gets generated can be used directly in these types of analysis. All right, well that brings us to the end of the session. Thank you again for attending.

    I just want to leave you with three points. Antenna arrays and beamformers are critical components of wireless systems. You can integrate your designs and system level models. And there's a lot of resources to help you get started.

    I just scratched the surface on the examples. I want to give you a sense of the kinds of things you could do here. We have a lot more resources that you can use to get started. My two favorite links to get started with and the kinds of things I talked about here, one, for example, is one for the documentation are listed here. Thank you again for attending. I'm going to take a quick break. And then I'll be back for questions. So please enter your questions in the chat. Thank you very much.

    View more related videos