After years of designing various types of line arrays at McIntosh, Snell and Bose, I thought I would start a conversation about what I've learned over the years, specifically in how simple modeling can lead to an understanding of line array phenomena.
While I am not a Matlab wiz I have found that Excel is good for modeling simple arrays and will give you a good understanding of what is going on. Through some simple models I intend to illustrate all of the line array phenomona and explain their root causes. Through an understanding of basic phenomona we can take steps to control polar patterns and achieve the performance that we might want.
This is not going to be a discussion about "if I put 10 Vifa units in a row, will that sound real good?". What this is is more about "what causes the lobing ('lobe-ing") and how do I control it?"or "What determines my vertical directivity?".
Hopefully some will find this interesting and those of you that are better at mathematical modeling than me may be inspired to work up some better array models than I have.
How do we calculate the performance of a line array. The basic array model
Lets say we have the simplest possible line array, 2 elements set some small distance apart. If we stack them in a vertical line and then go out from the elements and upwards so that we are 30 degrees above the elements, then how would we calculate the response of the pair of elements? Or if we want to know the polar response for some frequency, how would we calculate that?
The basic premise of array modeling is that the individual elements can be thought of as vectors that are added in space. They are assumed to be independent of each other (i.e. no mutual coupling or other interactions) but the phase of each element must be taken into account. If we take our geometry and calculate the distance difference as viewed from our 30 degree observation point, take that distance difference and convert it to a phase difference we can predict response. All we have to do is think of the 2 elements as 2 vectors with some relative phase shift between them that we (vectorially) add to get a combined array response.
If you don't remember how to add vectors it is quite simple. Start with a magnitude and phase for each element and then convert to rectangular format (using cosines and sines of the angle) and them add the "real" parts and the "imaginary" parts together. The Pythagorean Theorem will then let us convert that back to a magnitude. Once added we can convert the results to dB if desired. This is really all the spreadsheet does.
I'll confess that I am not Matlab proficient so I like to use excel to set up spreadsheets for any particular array. I've included a 2 element polar curve example. In this example column A gives the viewing angle that steps from 0 to 358 in 2 degree steps. Columns D and E define the actual geometry that defines the excess path length of each element (here only 2 elements). This is the calculation of phase difference between the 2 units. Columns H and J define real part of the radians of delay, L and M the imaginary, and P through T the magnitude of the pythagorean theorum sum. By breaking into real and imaginary parts we can sum any number of vectors as called for by the complexity of our array.
So the desired result is column T that is plotted as an Excel "radar" plot. This is an overhead view of the typical array. Up on the graph is 0 degrees and down is 180. In normal conditions the array directivity would have driver directivity added to it. In fact, if all elements aim in the same direction then total directivity is simply the sum of array related directivity plus driver directivity. So, typically, the front to back directivity is significant. Its never bothered me to see plots with no driver directivity, I just view that as the "second factor".
Note also that the polar plot is a cross sectional view of a solid of rotation. For one wavelength spacing as shown you would have a top like shape with a fat rim and narrower axle. (We can talk about why the rim is fatter later.)
The spreadsheet has 2 fields where you enter a number, one for Lambda (applied wavelength) and the second for "Dee" or distance between elements. Our first check of the array math working right is that when Lambda = Dee then our two units are one wavelength apart and see a full height peak at +-90 degrees. This would make sense in that rotating 2 elements to 90 degrees, with them one wavelength apart, should see them come back into phase. Something that should eventually make sense is that frequency doesn't really matter at all but the relationship between spacing and frequency is key. That is, the array definitions will always have a "Lambda/Dee" factor. Doubling Lambda and Dee at the same time will always return the same polar curve. This is just a way of saying that all arrays are scalable...
Also note that the height of the 4 peaks of our plot are all 2.00, this coming from the value of the in-phase sum of 2 unit vectors.
I've attached 4 sims with various ratios between wavelength and physical spacing.
This seems like enough to digest for our first look at array modeling so I'll let that soak in for a while and see if there are any questions or comments.
David Smith
While I am not a Matlab wiz I have found that Excel is good for modeling simple arrays and will give you a good understanding of what is going on. Through some simple models I intend to illustrate all of the line array phenomona and explain their root causes. Through an understanding of basic phenomona we can take steps to control polar patterns and achieve the performance that we might want.
This is not going to be a discussion about "if I put 10 Vifa units in a row, will that sound real good?". What this is is more about "what causes the lobing ('lobe-ing") and how do I control it?"or "What determines my vertical directivity?".
Hopefully some will find this interesting and those of you that are better at mathematical modeling than me may be inspired to work up some better array models than I have.
How do we calculate the performance of a line array. The basic array model
Lets say we have the simplest possible line array, 2 elements set some small distance apart. If we stack them in a vertical line and then go out from the elements and upwards so that we are 30 degrees above the elements, then how would we calculate the response of the pair of elements? Or if we want to know the polar response for some frequency, how would we calculate that?
The basic premise of array modeling is that the individual elements can be thought of as vectors that are added in space. They are assumed to be independent of each other (i.e. no mutual coupling or other interactions) but the phase of each element must be taken into account. If we take our geometry and calculate the distance difference as viewed from our 30 degree observation point, take that distance difference and convert it to a phase difference we can predict response. All we have to do is think of the 2 elements as 2 vectors with some relative phase shift between them that we (vectorially) add to get a combined array response.
If you don't remember how to add vectors it is quite simple. Start with a magnitude and phase for each element and then convert to rectangular format (using cosines and sines of the angle) and them add the "real" parts and the "imaginary" parts together. The Pythagorean Theorem will then let us convert that back to a magnitude. Once added we can convert the results to dB if desired. This is really all the spreadsheet does.
I'll confess that I am not Matlab proficient so I like to use excel to set up spreadsheets for any particular array. I've included a 2 element polar curve example. In this example column A gives the viewing angle that steps from 0 to 358 in 2 degree steps. Columns D and E define the actual geometry that defines the excess path length of each element (here only 2 elements). This is the calculation of phase difference between the 2 units. Columns H and J define real part of the radians of delay, L and M the imaginary, and P through T the magnitude of the pythagorean theorum sum. By breaking into real and imaginary parts we can sum any number of vectors as called for by the complexity of our array.
So the desired result is column T that is plotted as an Excel "radar" plot. This is an overhead view of the typical array. Up on the graph is 0 degrees and down is 180. In normal conditions the array directivity would have driver directivity added to it. In fact, if all elements aim in the same direction then total directivity is simply the sum of array related directivity plus driver directivity. So, typically, the front to back directivity is significant. Its never bothered me to see plots with no driver directivity, I just view that as the "second factor".
Note also that the polar plot is a cross sectional view of a solid of rotation. For one wavelength spacing as shown you would have a top like shape with a fat rim and narrower axle. (We can talk about why the rim is fatter later.)
The spreadsheet has 2 fields where you enter a number, one for Lambda (applied wavelength) and the second for "Dee" or distance between elements. Our first check of the array math working right is that when Lambda = Dee then our two units are one wavelength apart and see a full height peak at +-90 degrees. This would make sense in that rotating 2 elements to 90 degrees, with them one wavelength apart, should see them come back into phase. Something that should eventually make sense is that frequency doesn't really matter at all but the relationship between spacing and frequency is key. That is, the array definitions will always have a "Lambda/Dee" factor. Doubling Lambda and Dee at the same time will always return the same polar curve. This is just a way of saying that all arrays are scalable...
Also note that the height of the 4 peaks of our plot are all 2.00, this coming from the value of the in-phase sum of 2 unit vectors.
I've attached 4 sims with various ratios between wavelength and physical spacing.
This seems like enough to digest for our first look at array modeling so I'll let that soak in for a while and see if there are any questions or comments.
David Smith