3D Farfield radiation pattern

30 次查看(过去 30 天)
Roman Klimovich
Roman Klimovich 2017-11-20
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 个评论
Roman Klimovich
Roman Klimovich 2017-11-20
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)

请先登录,再进行评论。

回答(5 个)

Roman Klimovich
Roman Klimovich 2017-11-20
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 2017-11-21
Please help :-)

Georgios Kyriakou
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 2021-6-3
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 2022-4-14
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 个评论
Luis Carrion
Luis Carrion 2022-6-30
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, '');

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by