Fundamentals of a Rectangular Array – Mathematical Model and Code


In the previous few posts we discussed the fundamentals of Uniform Linear Arrays (ULAs), Beamforming, Multiuser Detection and Massive MIMO ([1], [2], [3], [4]). Now we turn our attention to more complicated array structures such as rectangular, triangular and circular. We still assume each element of the array to have an isotropic or omni-directional (in the plane of the array) radiation pattern. The mathematical models for more complicated radiation patterns are an extension of  the what is developed here.

Square and Rectangular Arrays

In this post we consider a square array which is a special case of rectangular array.  We build up from the most basic case of a 2 x 2 array and derive the equation of the resultant signal, which is simply the summation of the individual signals received at the four array elements. Later on we give the MATLAB code which can be used to plot the radiation pattern of any size rectangular array.

Derivation of the Array Pattern

Lets consider a plane wave impinging upon a 2 x 2 receive array. The source is considered to be in the far field of the receive array making the plane wave assumption to be realistic. The equations for the received signal at the four array elements are given below. Please note that since the combined signal only depends upon the relative phase of the four components we assume the phase at the wavefront (red line in the figure below) to be zero. Also note that we have assumed that dx=dy=d.


The resultant signal can then be written as:

Rectangular Array
Rectangular Array Geometrical Representation

In general for an N x M array the resultant signal can be written as:

rt=∑∑ e-j2πd(ncos(θ)+msin(θ))/λ

When the array is not square i.e. the separation along the x and y axes is not the same we have:

rt=∑∑ e-j2π(ndxcos(θ)+mdysin(θ))/λ

The range of n and m is 0 to N-1 and 0 to M-1 respectively.

8 x 8 Square Array Radiation Pattern
8x8 Rectangular Array
8×8 Square Array Radiation Pattern
MATLAB Code for a Rectangular Array
clear all
close all


for n=1:N
  for m=1:M 

title ('Gain of a Uniform Linear Array')
Discussion of Simulation Results

In the above code we have assumed a carrier frequency of 1 GHz which gives us a wavelength of 0.3 meter. The element separation along the x and y axis is assumed to be 0.1 meter (lambda/3). The total number of elements is 8 x 8 = 64. The maximum gain obtained is equal to 8 on the  linear scale or 9 dB on the logarithmic scale. The radiation pattern has four peaks which does not make this array structure to be of much practical use. More complex array structures resulting in more desirable radiation patterns will be discussed in future posts.


Please note that we have simplified the problem significantly by assuming an omnidirectional pattern of the array elements and plotting the composite radiation pattern only in the plane of the array. In reality the array elements do not always have an omnidirectional radiation pattern (one popular antenna that does have an omnidirectional pattern is a dipole) and we have to plot the 3D pattern of the array (or cuts along different planes) to get a better understanding of the characteristics such as Half Power Beamwidth, First Null Beamwidth and Side Lobe Level etc. More on this later.

Author: Yasir Ahmed (aka John)

More than 20 years of experience in various organizations in Pakistan, the USA, and Europe. Worked as a Research Assistant within the Mobile and Portable Radio Group (MPRG) of Virginia Tech and was one of the first researchers to propose Space Time Block Codes for eight transmit antennas. The collaboration with MPRG continued even after graduating with an MSEE degree and has resulted in 12 research publications and a book on Wireless Communications. Worked for Qualcomm USA as an Engineer with the key role of performance and conformance testing of UMTS modems. Qualcomm is the inventor of CDMA technology and owns patents critical to the 4G and 5G standards.

0.00 avg. rating (0% score) - 0 votes

9 thoughts on “Fundamentals of a Rectangular Array – Mathematical Model and Code

  1. Hello,
    If i want to steer the array to a certain location, how do you change the 2D array:
    Thank you!

    1. Hi Chaim,

      Thanks for reaching out. Please look at the four references, at the start of the post, to understand the basics. If you still do not understand something please let us know.


  2. Thank you for sharing the above information.

    how could a rectangular array of rectangular aperture antennas be calculated?

    is there a way to use the array factor of the rectangular array in conjunction with the expected radiation intensity of the rectangular waveguide?



  3. thank you very much sir..its really very helpful.
    If possible can you post the detailed mathematical equation for linear, circular and rectangular array.

Leave a Reply

Your email address will not be published. Required fields are marked *