Filter löschen
Filter löschen

Total Power output of a ULA using Phased Array Toolbox

4 Ansichten (letzte 30 Tage)
King Fisher
King Fisher am 11 Nov. 2013
Kommentiert: King Fisher am 14 Nov. 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)
__________________________________________________________________________

Akzeptierte Antwort

Honglei Chen
Honglei Chen am 14 Nov. 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 Kommentar
King Fisher
King Fisher am 14 Nov. 2013
Ah, I see ! I didn't know before that **** 'Unit','Pow'******* is available.
From there calculating the power is simple.
Thanks a lot !

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by