3D Farfield radiation pattern
20 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 :
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/169877/image.jpeg)
Now this is a good visualization, but I want to plot in polar axes, so it will look more like this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/169878/image.jpeg)
Risposte (5)
Georgios Kyriakou
il 3 Gen 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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/259598/polarplot.png)
0 Commenti
Vishwanath Iyer
il 3 Giu 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:
0 Commenti
Jan Budroweit
il 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 Commento
Luis Carrion
il 30 Giu 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, '');
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!