Plot 3D Array Gain of 4x4 Planar Antenna Pattern + Weighting

4 views (last 30 days)
Hi folks
I created an uniform rectangula antenna array
f=3e9;
c=3e8;
lambda=c/f;
ura = phased.URA('Size',4, 'ElementSpacing',0.5*lambda);
As it is stated in the Help of the Phased Array Toolbox, it generates a 4x4 array in the yz-plane, which means that
% Azimuthal az
phi=0;
% Elevation el
theta=90;
1. Is this right?
Further, I would like to calculate the Array Gain A(psi), by using the dtft with
A(psi)= \sum_n a_n*z^n
z = e^(j*psi)
psi=(k_x,k_y,k_z)*d= wavefactor: (k*d*sin(theta)*cos(phi), k*d*sin(theta)*sin(phi), k*d*cos(phi))
k=2*pi/lambda = wavenumber
d=distance between array elements in (1/lambda)
Taking the values for theta and phi from above, I`ll get as a wavefactor only a value for the k_x direction, that is:
% psi= k*d = 2*pi/lambda*d = 2pi
Array Gain: I am trying to solve this problem with Z-Transformation but I dont get any reasonable results?
G = dtft(a_n,psi)
2. Is this right so far? How can I introduce the weights to the coefficients?
Moreover, I really would like to plot the Array Gain G in 3D polar plot.
3. How could I realize this?
I already found the Orfanidis`Toolbox but it does not help me. Looking forward to hearing from you guys.
Cheers, Bryana

Answers (1)

Honglei Chen
Honglei Chen on 14 Aug 2014
If you mean directivity, you could do the following to generate the 3D plot
f=3e9;
c=3e8;
lambda=c/f;
ura = phased.URA('Size',4, 'ElementSpacing',0.5*lambda);
plotResponse(ura,f,c,'RespCut','3d','Unit','dbi','Format','polar')
  7 Comments
Honglei Chen
Honglei Chen on 15 Aug 2014
You can think that way, but the element pattern is 3D, also your example is a 3D polar plot. Everything plotted here is indeed in a 3D mesh grid. If you really want to see the axes, you can simply do
axis on
and you'll see axes. Is that your concern?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!