Plot 3D Array Gain of 4x4 Planar Antenna Pattern + Weighting
Afficher commentaires plus anciens
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
Réponses (1)
Honglei Chen
le 14 Août 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 commentaires
Bryana
le 14 Août 2014
Honglei Chen
le 14 Août 2014
What do you mean by 3 dimensions? The syntax does plot a 3D radiation pattern.
Bryana
le 14 Août 2014
Honglei Chen
le 14 Août 2014
I'd say that is what you want, just points to a different direction and with a backlobe. You can adjust the element to remove the backlobe and also rotate the axes to get a similar plot
f=3e9;
c=3e8;
lambda=c/f;
ura = phased.URA('Size',4, 'ElementSpacing',0.5*lambda,...
'Element',phased.CosineAntennaElement);
plotResponse(ura,f,c,'RespCut','3d','Unit','dbi','Format','polar')
set(gca,'CameraUpVector',[1 0 0]);
Bryana
le 15 Août 2014
Honglei Chen
le 15 Août 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?
Bryana
le 15 Août 2014
Catégories
En savoir plus sur Array Geometries and Analysis dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!