Please find the figure below where I've plotted a 3D gain response(in dB) of an antenna array system for beam-steering application and overlaid the actual antenna element(in red X marks surrounded by a box) in the y-z plane which produces the aforesaid gain response. The code block that follows can be used to generate this figure, but note that you will require Matlab Phased Array Systems toolbox to run some segments of the code.

enter image description here

f_init = 28e9;
steeringAngle = [7; -10]; % [azimuth, elevation]
arraySize = [16 16];
c = 3e8;
lambda = c/f_init;
elementSpacing = [lambda/2 lambda/2]; % [horizontal(y), vertical(x)];
ha = phased.URA([arraySize(1),arraySize(2)],'ElementSpacing',[elementSpacing(1) elementSpacing(2)]);
taper = steervec(getElementPosition(ha)/lambda, steeringAngle);
ha.Element.BackBaffled = true;
ha.Taper = conj(taper);
gain = phased.ArrayGain('SensorArray',ha); 
g_max = db2pow(gain(f_init,steeringAngle));
fig = figure;
figText = ['Antennae Type: URA, Fc = ' num2str(f_init/1e9) 'GHz, Array Size = ' num2str(arraySize(1)) ' x ' num2str(arraySize(2)) ...
       ', [Az, El] = [' num2str(steeringAngle(1)) char(176) ', ' num2str(steeringAngle(2)) char(176) '], Taper Weights from wavefront'];
disp(['Plotting... ' figText]);
tg = uitabgroup(fig); % tabgroup
thistab = uitab(tg,'Title','3D response'); % build tab
plotResponse(ha, f_init, c, 'RespCut', '3D', 'Format', 'Polar');
%plotResponse(ha, f_init, c, 'RespCut', '3D', 'Format', 'Polar','Unit','pow');
hold on;
x_vec = linspace(-(elementSpacing(1)*arraySize(1))/2,(elementSpacing(1)*arraySize(1))/2,arraySize(1));
y_vec = linspace(-(elementSpacing(2)*arraySize(2))/2,(elementSpacing(2)*arraySize(2))/2,arraySize(2));
[x y] = meshgrid(x_vec, y_vec); % Generate x and y data
z_ant = zeros(arraySize(1),arraySize(2));
plot3(z_ant, x*g_max, y*g_max, 'X','Markersize', 5, 'MarkerEdgeColor','r');
hold off;
hold on;
y1 = -(elementSpacing(1)*(arraySize(1)+1))/2;
z1 = -(elementSpacing(2)*(arraySize(1)+1))/2;
y2 = (elementSpacing(1)*(arraySize(1)+1))/2;
z2 = -(elementSpacing(2)*(arraySize(1)+1))/2;
y3 = (elementSpacing(1)*(arraySize(1)+1))/2;
z3 = (elementSpacing(2)*(arraySize(1)+1))/2;
y4 = -(elementSpacing(1)*(arraySize(1)+1))/2;
z4 = (elementSpacing(2)*(arraySize(1)+1))/2;
x_ant = 0;
p1 = [x_ant,y1,z1]; p2 = [x_ant,y2,z2]; p3 = [x_ant,y3,z3]; p4 = [x_ant,y4,z4];
p = [p1;p2;p3;p4; p1]*g_max;
line(p(:,1), p(:,2), p(:,3),'Color','k','LineWidth',1.5);
hold off;

where f_init is 28e9 or 28GHz which gives an element spacing of ($\lambda$/2) of 0.0054m (which appears very small to be visible on the plot when plotted as is without scaling up by g_max).

While the antenna response is plotted as is in dB scale, the antenna elements spacings in the plot are modified by scaling up by the maximum gain value(represented by g_max) which is along the steering direction[Azimuth = 7$^\circ$, Elevation = -10$^\circ$].

My question is, would scaling up the element spacings by g_max(in Watt or in dB) give a true representation or comparison of element spacing against gain response in dB? If not what would be the appropriate scaling factor to use?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.