3D Farfield radiation pattern

30 views (last 30 days)
Roman Klimovich
Roman Klimovich on 20 Nov 2017
Commented: Luis Carrion on 30 Jun 2022
Hello everyone,
I've measured an antenna with rotation stand and got results for phi, theta and measured power. Phi and Theta are vectors, and P is the 2D power matrix. Because the antenna wasn't centered I used rotation matrices to compensate for the shift so after this compensation I got three 2D matrices - for Theta, for Phi and for Power. A used surf(Theta, Phi, P) and got :
Now this is a good visualization, but I want to plot in polar axes, so it will look more like this:
  2 Comments
Roman Klimovich
Roman Klimovich on 20 Nov 2017
Tried that, but it looks more of the same - I need to plot my data on 3D spherical axes, to look like farfield of the antenna that you get when you use pattern function (part of the antenna design toolbox)

Sign in to comment.

Answers (5)

Roman Klimovich
Roman Klimovich on 20 Nov 2017
I found a function called patternCustom that plots the radiation pattern, only when theta and phi are vectors, and power is a matrix. The problem is it shows the radiation pattern compressed in azimuth direction:
Does anyone have a solution for this?

Roman Klimovich
Roman Klimovich on 21 Nov 2017
Please help :-)

Georgios Kyriakou
Georgios Kyriakou on 3 Jan 2020
I used the patternCustom(magE,theta,phi) and it worked. You should take care to call it properly, that is vector theta should be row and phi should be column, and magE should be of size [length(phi) length(theta)]. Also angles should be given in degrees. I got this for the pattern I was trying to plot, which is pretty much what I expected
polarplot.png

Vishwanath Iyer
Vishwanath Iyer on 3 Jun 2021
patternCustom is indeed the way to proceed with this. Details of the inputs and their dimensions are provided here
and in the following example:

Jan Budroweit
Jan Budroweit on 14 Apr 2022
When i try to plot the 3D pattern i get the following error:
Unable to resolve the name em.FieldAnalysisWithFeed.getfieldlabels.
Error in antennashared.internal.radiationpattern3D (line 33)
[~, units] = em.FieldAnalysisWithFeed.getfieldlabels(parserObj.Results.plottype);
Error in patternCustom (line 159)
[hPlot] = antennashared.internal.radiationpattern3D(MagEBlocks,theta1,phi1,'CurrentAxes', 1);
Plotting the rectengular coordinating systems works
  1 Comment
Luis Carrion
Luis Carrion on 30 Jun 2022
I removed line 33 from radiationpattern3D.m
[~, units] = em.FieldAnalysisWithFeed.getfieldlabels(parserObj.Results.plottype);
After that, everything worked.
It seem to be that you only use that line for getting 'units' name from a p-code.
You can change line 76 (radiationpattern3D.m) for the following:
ylabel(cbar, '');

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!