Phased Array Antennas

Phased array antennas are an essential component in the growth of 5G wireless systems because they provide more direct beamforming characteristics and steering than traditional single antennas. Engineers working to improve phased array antenna systems need simulation software that provides timely and accurate results. As an FDTD simulation tool, VSim can simulate multiple frequencies simultaneously, and only VSim implements a unique algorithm specialized for efficient far-field calculations.

  • Accurate and Accurate Results

    Advanced FDTD Simulation Tool

  • Multiple Frequencies Simultaneously

    Specialized algorithm for efficient far-field calculations

  • Use built in geometries & Import CAD files

    analyze antenna features

  • Beamforming solutions under different conditions with dielectrics

    Kinetic plasma solver

  • Simulate antennas with different radiation patterns

    Measure coupling effects between array elements and reflections

  • Calculate S-parameters for each array element

    Create beamforming graphs

Users can set up phased array antenna systems by using built-in geometries or importing CAD files.  VSim can be used to analyze antenna features and obtain beamforming solutions under different conditions with dielectrics, and even plasma with Tech-X’s kinetic plasma solver.

Users can observe radiation pattern changes based on:

  • Geometry configuration
  • Relative displacement between elements
  • Excitation amplitude between elements
  • Excitation phase between elements
  • Coupling based on the pattern of individual elements

VSim users can perfect their antenna designs by measuring coupling effects between array elements and reflections, as well as calculate S-parameters for each array element and create beamforming graphs. To optimize design configurations, users can analyze performance results based on key elements such as: HPBW & FNBW, directivity, side-lobe levels, and more.


With VSimEM, users can set up antennas with different radiation patterns, frequencies, or polarizations within the same simulation, making it ideal for modeling MIMO antennas.

So I will, for the next hour. Talk about modeling phased array antennas. This is a topic which we have had interest from people looking at at the software. It is a purely electromagnetic application. And of course, it's probably driven by advances in, in mobile phone technology in particular going to 5g, where phased arrays will become a standard part of the deployment. This is a fairly easy talk, we have starting in VCM 10, which is our current release version, we have a phased array antenna example. And so if you have the software, you can just go into, you can create your own version of this and run the identical simulation to, to what I'll show you today. And it's just in the electromagnetics package under antennas, phased array antenna. And it's also very well documented in the documentation. So most of what I'm going to go over today, you'll also find in the documentation, written up in an nice easy to understand form. The outline of the talk is very much like a simulation discussion. First, we'll talk about geometry construction. Then we'll talk about boundary conditions. And we'll talk about our sources, we drive the phased array, then we'll talk about a particular diagnostic or firefield box that allows you to get the radiation pattern and the analysis process to use that data. And of course, we'll look at some nice output too. Now I have the simulation live on this computer. So hopefully all goes well. So but before we get into it, I always like to show what the simulation looks like. And then, then a lot of what we'll talk about will just make a lot more sense. So let's look at it, you'll see that they'll there'll be a whole bunch of little elements, you can see on this lower plane, they're emitting, they're adding up to what is basically a plane wave excitation. And when this simulation runs in time, the direction of the plane wave will adjust. So let's see if we can go ahead and look at that. I'm going to take the dump slider and move it all the way down to zero. And we're looking at one component to the electric field, vertical field easy. And I'm just going to run through a bunch of dumps here. And let them show up on the screen. And you can see that very quickly the elements emit an add up to a plane wave, which propagates out of the simulation. And as time goes by, you can see that the direction of the plane wave is rotating counterclockwise so now it's propagating to the left and upward, the propagation is about 45 degrees upward.

Now it's to the left. We'll do a few more gums you can see the direction rotate around. And so that's basically what the simulation is about. Just how to set up what would be a standard phased array, how to get all the elements to add up to make a plane wave in one direction or or a beam

if you would in one direction. As I recall during the simulation, the direction rotates around one time during the course of this

Well, that was a moment we'll get. I seem to have dropped the connection there in my bath. You are back. Welcome back, David. That was a little scary. It must have been more data than it could handle. It is a sizable simulation. Okay, so I trust you all saw enough of that, that you know what's going on. So that's the cool part, that results are always very nice to look at. But the real topic of this talk is how, how do we make a simulation that does that. The first thing is geometry construction. Those of you who've used the software in the past know that you can create geometry by hand using shape primitives. The only problem with a something like a phased array is there could be hundreds of pieces of geometry. And you don't want to create them all by hand one at a time, because this would take days. So we have a basic a feature in our geometry creation called Create array that allows you to take a primitive shape. And then to duplicate that shape with a regular spacing, I'm going to try to show you how that works, I've got a open simulation here, just a totally empty simulation, nothing's been done yet. And I'm just going to show you how that works with creating arrays. So you basically we could add a primitives such as a cylinder here, that's a little too fat for me that cylinder. So I'm going to change the radius a little skinnier, we're going to change the direction, B in the z direction, which would match our simulation. And so now I have one cylinder pointing in the z direction. Maybe I can even spin it around. So now at this point, we can click and select this cylinder, and right mouse click and there is a feature called Create array. And this brings up a dialog box and allows you to create an array. So suppose I want a four by five array, one in the z direction, maybe my spacing is about point three, since my radius is about point one. Then I can accept that, and it will populate a set of arrays just like that. And so that's much faster. So that's 20 cylinders, all in a nice regular pattern. And it took one second to do, it would have taken an hour to do by hand kind of fix all those radii and orientation and all that stuff. So when you're doing a phased array, you will almost certainly be doing geometry construction with the Create array feature, unless of course you're importing a CAD file

now in our example, this is taken from our example that we'll be doing, we actually have a 15 by 15 array of short cylinders similar to what I did. This is a picture of what it looks like here. These cylinders have a small gap between them and the lower plane of the simulation. And they're assigned PVC material perfect electrical conducting material. In other words, they're metal so they're just little metal basically monopole antennas. Now, they have to the boundary conditions in any simulation on all six sides of your your rectangular domain. In this simulation, there are five open boundaries And one P E C boundary. We're using an open boundary here so that it takes up no space. Since this is a fairly sizable simulation, open boundaries allow a wave to go out. If they're in there perfect, it goes out perfectly if the wave is going out normal to the boundary, it's not so perfect if it's going out at an angle, but it's still pretty good. And you'll see you can see from our previous results, that there is very little reflection on these boundaries. Then on the lower plane, we have a infinite ground plane, which we set as a P E C boundary. And so if you look inside our field boundary conditions for this problem, you'll see those five open boundaries, and then you'll see a P E, C lower. And basically, it's a kind of PVC. And these, since these are actually infinitely thin boundaries on the domain boundaries, they do not display. And so unlike the metallic elements, the ground plane is not visible in the geo in the geometry window, but it is there as a boundary condition.

We'll need a source to drive all these 15 by 15. Little elements, we do it with a single source. So in the the field dynamics block, under current distributions, we just have a single source that allows for an arbitrary current, J XJY. And Jay Z in this case, JX and JY are zero, and we only have a jay z. So this is a current that runs from the ground plane up to the radiating elements. And we just assign it a spacetime function called caress t f, which you can see there. Will now obviously, we can't have the current come up through this whole value. So later on, you'll see how we mask out the current so that it only runs just below an element. But we do that with a mask function rather than trying to create 225 different sources. And the source itself will all be in a function called cur STF, which is x, y, z, x, y and time dependent.

So the hardest part of this example is all of these functions. If we go in and we look at the simulation, you'll see that there are functions and also the space time function. Under the space time function is our occur STF, which we previously saw was used in the current source. But this function is itself built up from many, several several other functions with various different names here. And so we have basically eight different functions to drive this. And so this is really where the wizardry happens for this example.

If I just copy paste, let's go ahead and look at this simulation. And if I go in and I look at the functions, and I just clicked on something called amp function, here it is. It's so long I have to extend it to look at it. I can put that oops, I'm in trouble. Oops there it is. But each of these has gotten very long expressions. If we go ahead and look at them, these are the functions right here. And some of these expressions, they look pretty complicated, a lot to digest. And unfortunately, this is this is how it's driven. So let's, let's go a little slower on this and find it take these one at a time. So functions, first part is playing wave phasing our current function is looks like this, this is what's the text that's in there. It's obviously an amplitude function. This thing in the middle here is the key part, it's sine omega t plus a k dot r. This is what you would call your phase, we're representing phase with a Greek letter Phi here, unfortunately. So this is our phase function. And then this is the masking that I referred to earlier, where we cut the current so that it only occurs right below the elements. So this is just amplitude times sine omega t plus k dot r times a mask. This is the basic starting point for any phased array. The elements are simply driven with the phase of a plane wave, having a vector wave number k, you will have to do a little vector math here component by component. And we'll we'll look at that earlier or later in the talk. And of course, you can add a few corrections to this phase and maybe improve on your side lobes. And this is the sort of thing where you know you might be this might be the purpose for running the simulation is to see if you can improve on this very simple phasing to maybe get a more optimized antenna. Part Two, the mask functions. Now these are actually pretty clever. What we do is we take a Heaviside function of an offset sign. So over here, I've got a little spreadsheet, which is basically this formula here. You can see in the blue, the blue curve is just a sine wave, but it's offset from zero by point 0.9. And so where it comes up above zero if we do a Heaviside function on that, and we get something which is zero or one, but only in these regions where the sine function comes up over zero. So this is how we do a mask. So that we have current that only occurs right underneath the elements here. Now we have a product of an X mask and a y mask function as you recall. And so that gives what's basically a little rectangular version of this. And that sits below each cylindrical element. Now the size of this of these little pieces here have to be smaller than the radius of those cylindrical elements. In order to prevent charge from building up, if you try to bring charge up and there's no metal for it to run into, then that charge will accumulate in free space. And you'll have a big fringe field right there. When you're doing something like this, the current has to run from below the ground playing up into the P E, C. And we're often asked, you know, what should the limits on this current V. In this case, it's always good to have the current run grid cell or to into the metal to make darn sure that the current is running into the metal and not stopping one cell before it gets to it.

Functions part three, we saw that sine omega t plus k dot r that was all built into this phi function here. This is kind of got a little it's a little hard to figure but basically, we're representing our propagation constant K our wave number with a phi and theta angles in sort of a spherical coordinate system. In this simulation as we already saw, the azimuthal angle Got a very easy time. Whereas the elevation angle, I remains fixed at high force or 45 degrees from vertical. And theta runs from just two pi t over t off. So when you get to tee off, you run from zero to two pi. So that's the one time around. Now, if you play with this simulation yourself, we've kind of built in these bi and beta functions here, so that you can do anything you want. So you could have a fixed data, and you could have five Gaussian soil and have a beam that rocks up and down, for example, or you can do anything you want with these functions. The bottom line though, is you have to produce omega t plus k dot x or k dot r, it's what I've been using elsewhere. And so here's your omega oversee. So here's your K. Here's your if you represent this as a vector with these components, and here's your sine times your x cosine plus y sine, and we're at z equal to zero. And so we never see a cosine phi here in this function. And so this looks nasty, but it's really just omega t plus k dot out. Functions, part four in our amplitude we're using is a little bit fancy, we had that amplitude function in front. This is what it looks like in text form, it looks really scary. In the end, it's not that scary. You can see, whereas we had a x cosine theta y sine theta, we have an x sine theta minus y cosine theta. So that tells you we're kind of doing a cross product here. And so the actual formula we're using is a Gaussian. So it's basically distance divided by a with a sigma squared. But the two distances where we really have a product to two Gaussians. Here, the first Gaussian is a 1d Gaussian, perpendicular, or 2k. And so at low elevations, if we're kind of going out at quite an angle, this term will dominate. And what we get is a Gaussian in the width direction, but we use the full length of the array, so we don't put ours in the direction it's propagating. On the other hand, if we're doing a vertical direction going straight up, then we kind of just put an x squared plus y squared kind of width on it. And so we have sort of limited in two directions. And so yeah, this amplitude is a bit fancy. It's pretty typical though, where you want a one day Gaussian if you've got a low elevation B, and a 2d Gaussian if you've got a beam coming straight out of the array. Okay, so that's the source. And that's pretty much how this thing is set up. As you can see, most of the work went into the went into that function there. There is an extra element in this simulation, we have a history, which is a far field box. So if we go in here you're in our let's collapse that we have one history. And if you were to do it is a array history, our field box data. And this basically has a just XYZ, our arguments for this, and then an end tie a start time and an end time. And this

is the typical diagnostic we use whenever we want an array pattern. So whenever you see one of these DB versus angle kind of plots, in order to create that we have this history. Now the way this works is this just saves data on a on a box, the box has to surround the radiating elements. Technically, we should not have an infinite ground plane. But that still works fairly well with it there the low angles might be slightly off Since our elements are not very high above the plane, though, we'll get good results almost everywhere except right at very flattest angles. This history produces a lot of data. It is it's not something you can look at directly. However, it's designed to be used in conjunction with the analyzer Tam, and one of the analyzers called compute firefield from here called Fox. And here I've included a little blurb on the cure chaff theorem. This basically allows you to look at the fields on a surface that surrounds an antenna. And then to extrapolate those fields out to infinity. Or actually, we can this way, we have a ton, we can extrapolate to a finite radius. And that's what gives you your radiation pattern that you're so familiar with.

The way this looks when you run it is you go over to Analyze tab here, and you pick amongst all of your analyzers, and here it is compute our field from box, and up comes a little form to be filled out. The important things on the form are the theta and phi. And so these are the number of points on the fire sphere. And then you also pick the number of times on the fire sphere. And this is done as a time step strike a multipolar simulation time step, since you might have 100 time steps per period, you that's more data than you need. And so you might actually want only 20 time steps per period out on your fire sphere. And so then your time step strike would be five.

The result of this is you get radiation patterns. And so these are the instantaneous farfield patterns. Let's go to visualize. And once you do that, you may have to reload data. And then you'll see a new field called far e out here. And if we look at our E magnitude I think I probably have to take those off. Oh, that's because I've got contours on. It's always fun to do this. So here is a radiation. So I don't know if we can show on here the

see it's probably inside a pattern because our radius is 30 meters here. So you can see this is the pattern. And it's going up at about 45 degree angle. Off to the left there, you can see we have what would be called a grating lobe here a secondary lobe, which is undesirable, but often occurs. And sometimes optimization is about getting rid of that. We know grading loads go away if you use to bring your elements closer together, or if you use a lower frequency. And so as we run this simulation, these are instantaneous times. Or sometimes you're looking at a field pattern where the field is probably no out there. So you'll just see what's probably a bunch of garbage. And then along comes the next peak in the period. And then you have a strong peak which has been rotated because we're rotating and again we see our grading lobe here. And we can progress this through time. And see that each period we get a similar kind of pattern only continues to rotate around And so I think what I'll do is run one more time looking at the fields themselves. And that was the easy component. We were displaying contours. And we're running from minus seven to roughly minus eight plus eight volts per meter here, it's the magnitude is just whatever was was set. And usually the peaks are about accurate 10 higher than real field. So if you take a closer look, that's really what we've got.

I think I'll jump ahead a little bit. And I don't want the whole thing to go away. Again, it's a little slow here. But that's basically what this example looks like. So where would we use this? Well, like I I've said,

we think a lot of the interest is coming from the 5g market, where this is new hardware. Phased arrays have been used by the military for a long time. But the kind of entering the commercial market, thanks to the new 5g standard, you can see here, we just have one plane wave. I suggest that it wouldn't be that hard to create, put a one on all these functions, and then create a second set of functions, and then add those two functions. And that would allow you to have multiple beings coming out of the same phased array. And you could also have multiple frequencies. Older phased arrays had sort of standardized equipment in the backplane, which allows you to basically send out a single beam. And these were, you know, phase shifters. However, newer phased arrays are beginning to have electronics connected to each element separately. And these electronics will have the ability to add multiple waves and multiple frequencies. And so in that situation, it looks very much like our functional analysis, where each processor below an array element is adding up, you know, three or four or five different beams. Also, as the arrays get larger, they will take and send one beam out of one part of one corner of the array and another beam out of another corner of array. Because there are so many elements that they don't need, all of them can make a good beam, they only need a quarter of the array, make a good beam. So basically, the phased arrays is they're becoming far more sophisticated. With the backplane electronics, really the sky's the limit on how these can be used. But typical things you do are the same that you've always done with phased arrays, you're trying to reduce the side lobes and the grating lobes. A big issue we hear about is cross talk, you might have several arrays on the same cell phone tower, you except one array and you want to see what what's received at the other arrays. So that you can you know, see what, you know, if you have cross talk, generally you might have near field geometry, you on your tower itself, the multiple arrays or you might have some older dipole arrays. And we're also seeing that the phased arrays are being used for networking so internet connections inside buildings, and where you're actually sending a beam from this corner of the building over to another corner of the building, and it's actually aimed and directed. But you If you're inside of a building, you might have shadowing because of, you know, cabinets or hardware in in the space between where you're sending and receiving the beam. And so you might also want to look for shadowed regions or reflections within a building. And so so these are some of the applications we've heard about from prospective users. You might also have your own right, that is this talk. Thank you very much.


Evaluate VSim Risk-Free For 30-Days?

Scroll to Top