I'm not getting antenna pattern roll off that I expect, not sure if I'm wrong or where there is 20, there should be 10?

16 views (last 30 days)
Hi,
I'm working to learn the phased array TBs and I'm calculating a cosine element with roll off in each plane ^1.4. If I calculate it myself I get a much smaller number, so I think there may be an error in my use of matlab or in the functions. Here is my code:
% Element rolloff impacting scan loss
rollOffColZTx = 1.4;
rollOffRowYTx = 1.4;
% Create a transmit cosine antenna element
% ElemTx.CosinePower = [rollOffColZTx rollOffRowYTx];
% ElemTx.FrequencyRange = [freqSpaceTxLower freqSpaceTxUpper];
ElemTx = phased.CosineAntennaElement('FrequencyRange',[freqSpaceTxLower freqSpaceTxUpper],...
'CosinePower',[rollOffColZTx rollOffRowYTx]);
% Directivity
directivityTx = directivity(ElemTx,freqSpaceTx,0)
directivityTx = directivity(ElemTx,freqSpaceTx,[0; 70])
figure('Name','Transmit element','NumberTitle','off');
subplot(4,1,1)
pattern(ElemTx,freqSpaceTx,0,-90:90,'Type','powerdb','CoordinateSystem','rect')
ylim([-40 5])
hAx=gca; % avoid repetitive function calls
set(hAx,'xminorgrid','on','yminorgrid','on')
subplot(4,1,2)
pattern(ElemTx,freqSpaceTx,-180:180,0,'Type','powerdb','CoordinateSystem','rect')
ylim([-40 5])
hAx=gca; % avoid repetitive function calls
set(hAx,'xminorgrid','on','yminorgrid','on')
subplot(4,1,3)
pattern(ElemTx,freqSpaceTx,[-180:180],[-90:90],'Type','powerdb', ...
'CoordinateSystem','polar'); %'rect')
subplot(4,1,4)
pattern(ElemTx,freqSpaceTx,[-180:180],[-90:90],'Type','powerdb', ...
'CoordinateSystem','rect')
****
The patterns show a roll off at 70 degrees of -13.05 dB for an exp of 1.4.
When I calculate what it should be I get -6.05 dB. 10*log10(cosd(70)^1.4) = -6.05
If I change my formula to 20*log10(cosd(70)^1.4) = -13.05 dB. THis value is too high for the pattern, so I suspect the calculation is using voltages (20) where the formula is in power (10).
I also think the directivity is too high at 8.8 dB.
Not sure what I'm doing wrong, maybe some config?
ElemTx = phased.CosineAntennaElement with properties:
FrequencyRange: [2.7400e+10 3.1100e+10]
CosinePower: [1.4000 1.4000]
I'm also not sure the 3D rect and polar plots agree in terms of orientation, but that could also be me needing to think more...
Thank you for the help,
Mike

Answers (1)

David Goodmanson
David Goodmanson on 27 Sep 2020
Edited: David Goodmanson on 27 Sep 2020
Hi mike,
since intensity goes as the square of the E field, the expression to use is
10*log10((cosd(70)^1.4)^2)
ans = -13.0466
so it's -13.05, using the factor of 10 for power. Or you can use 20 and not square the E field, same result.
As for the directivity, with elevation measured up from the 'ground' rather than down from vertical, the solid angle element is cos(theta) dtheta dphi, so:
% power per solid angle, only multiplied by
% the cos(theta) part of the solid angle element
PdivOmega = @(theta,phi) (cos(theta).^n.*cos(phi).^n).^2.*cos(theta);
% integrate, find average over solid angle
Pave = integral2(PdivOmega,-pi/2,pi/2,-pi/2,pi/2)/(4*pi)
D = 10*log10(1/Pave)
D = 8.8081
However, the directivity averages the power over all 4pi of solid angle. I believe this antenna radiates only into the forward 2pi of solid angle, so a more honest answer is
Pave = integral2(PdivOmega,-pi/2,pi/2,-pi/2,pi/2)/(2*pi)
D = 5.7978
i.e. 3 dB down from the first result due the reduction by a factor of 2.
  4 Comments
mike susedik
mike susedik on 28 Sep 2020
Dave,
The power roll off as I defined in the element is to the 1.4 for a cosine element. The pattern says 'Type', 'powerdb'. My intension and the way the hardware would work is 10*, not 20*, so the roll off is 6 dB. The doc page does not say all patterns related are in terms of voltage.
As it's been used by matlab, maybe I need to use 1.4*0.5, but that isn't clear to me in the documentation, that the output is in voltage. Especially if I use type - power.... Even the example, "Plot Power Response of Cosine Antenna" seems to have a 20* roll off, but is clearly is labeled Power... Power is stated everywhere in the exmple, but the output does not appear to be..
If I do use that exp (0.7), then the roll off is as desired for the model, but it seems I do not understand the labeling for the functions.
I think this is phased array system toolbox.
David Goodmanson
David Goodmanson on 28 Sep 2020
Edited: David Goodmanson on 29 Sep 2020
Hi mike,
I certainly see the intent of your code option,
rollOffColZTx = 1.4;
rollOffRowYTx = 1.4;
[1] ... 'CosinePower',[rollOffColZTx rollOffRowYTx].
One thing for sure, though
10*log10((cosd(70)^1.4)) = -6.52 is not what's on the plot and
[2] 10*log10((cosd(70)^1.4)^2) = -13.05 is on the plot.
[1] and [2] do appear to conflict. Possibly the 'CosinePower' option is misleading.
Maybe someone who owns the toolbox will weigh in.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!