Total Power output of a ULA using Phased Array Toolbox

9 visualizaciones (últimos 30 días)
King Fisher
King Fisher el 11 de Nov. de 2013
Comentada: King Fisher el 14 de Nov. de 2013
Hi:
How to plot the non-normalized radiation-pattern of the 2-element ULA while total power out of the ULA is equal to the One isotropic element which is radiating the same power as that of 2 Element ULA.
In other words, How to calculate the total power radiated by a ULA using phased array toolbox.
NOTE: I know how to calculate analytically the total power output of ULA, I am interested in calculating using the phased array toolbox.
CODE is given below.
____________________________________________________________________________
clear all;
close all;
s=1/8; %spacing between elements
a=180; %phase angle
c=cosd(a)+sind(a)*i; %weight of 2nd element
hant = phased.IsotropicAntennaElement(...
'FrequencyRange',[3e8 1e9]);
ha = phased.ULA('Element',hant,'NumElements',2,'ElementSpacing',s,'Taper',[1 ,c]);
fc = 3e8;
ang = [0;0];
resp = step(ha,[3e8],ang);
c = physconst('LightSpeed');
plotResponse(ha,[fc 1e9],c,'RespCut','Az','Unit','mag','Format','Polar','NormalizeResponse',false)
__________________________________________________________________________

Respuesta aceptada

Honglei Chen
Honglei Chen el 14 de Nov. de 2013
If you want to compute the total power, you could compute the pattern and then integrate. For example, you can either do it by computing the response using ArrayResponse or just get the data from the figure. For example, using your definition, you can do the following:
myArrayResp = phased.ArrayResponse('SensorArray',ha,'PropagationSpeed',c);
az = -180:179;
el = -90:89;
Prad = 0;
for m = 1:numel(el)
Prad = Prad+sum(abs(step(myArrayResp,fc,...
[az;el(m)*ones(1,numel(az))])).^2*cosd(el(m)));
end
Prad = Prad*2*pi^2/numel(az)/numel(el)
Alternatively, if you want to do it from the figure, you can do
h = plotResponse(ha,fc,c,'RespCut','3d',...
'Unit','Pow','Format','Polar','NormalizeResponse',false)
ppat = get(h,'CData');
Prad = sum(sum(bsxfun(@times,ppat,cosd((-90:90)'))),2)*2*pi/360*pi/180
Once you have the power, you can scale the input by specifying the Weights parameter in plotResponse
HTH and please let me know if you need further clarifications
  1 comentario
King Fisher
King Fisher el 14 de Nov. de 2013
Ah, I see ! I didn't know before that **** 'Unit','Pow'******* is available.
From there calculating the power is simple.
Thanks a lot !

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Array Geometries and Analysis en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by