LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

3D Polar plots for Antenna Patterns

Is there a way to plot antenna patterns in 3D using the polar plots?  I have been trying to get this to work for a while without success.  I can get the 3D surface plots to work, but for antenna patterns there is a problem.  Mainly, the antenna pattern data is in dBi, and contains negative numbers.  Plotting negative numbers in the spherical and cartesian coordinate system simply moves the point to the other side of the axis, which is not the correct way of viewing antenna patterns.  The polar plots allow negative values on the axis.  Plotting the individual slices using the polar plot vi is fine, but doesn't give me the full picture.  I need to get a 3D representation of the polar slices to form a full picture.  Has anyone been able to do this successfully?

 

0 Kudos
Message 1 of 9
(6,800 Views)

Hi sufu,

 

You may want to check out this thread about plotting antenna radiation patterns in 3D:

https://forums.ni.com/t5/LabVIEW/Antenna-Radiation-Pattern-in-3D/td-p/2886874

 

If you are interested in plotting multiple polar plots on the same graphical indicator, here is an example and another forum on that:

https://decibel.ni.com/content/docs/DOC-1067

https://forums.ni.com/t5/LabVIEW/Issue-with-multiple-polar-plots/td-p/933725

Nolan H.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 9
(6,724 Views)

Thank you for the info.  Unfortunately, I have already check into that thread.  The issue is not plotting 3D graphs in general, but for antenna patterns there is the whole (negative) numbers problem.  In regular 3D (spherical or cylindrical), the origin is (0,0,0).  Any negative value would simply move the point across the axis and plots on the other side.  So, for antenna patterns it would result in the wrong shape.  The polar plots allow for negative values along the same axis.  The "center" can be a negative value and not limited to "0", the the polar pattern radiates out from this point.  Antenna pattern data is in "dBi" which can be negative in many cases.  So regular 3D plotting would not give the correct shape.

 

Plotting multiple polar graphs on the same graph would also not work well since it is only 2-D.  It won't give the full 3-D view that I'm looking for.  The solution that I need is to turn the set of 2-D polar plots into one 3-D plot.  But I have yet to find any information on doing that.

 

--sufu

0 Kudos
Message 3 of 9
(6,720 Views)

Hi sufu,

 

I looked into this a little further and it looks like this is not a trivial task. Once you have the 2D antenna plots, you'll have to convert it to 3D to create a mesh plot. The mesh plot should account for the negative values you get with antenna plots. The VI you'll want to use is called 3D Curve.vi. It's contained as a subVI in the 3D Curve Graph (Active X) VI located at C:\LabVIEW 20xx\examples\Controls and Indicators\Graphs and Charts\Math Plots - 3D (ActiveX).

 

Once you open the 3D Curve.vi, you'll want to edit the last CWPlot3D invoke node to configure it for a mesh plot. I've attached a screenshot showing what you'll need to select (Plot3DMesh). You'll have to convert the 2D plots into x, y, z, and w vectors first.


Let me know if that helps! This will definitely require some in-depth coding on your part, but hopefully that points you in the right direction.

 

Sunayna R.
Applications Engineering
National Instruments
0 Kudos
Message 4 of 9
(6,689 Views)

Hi Sunayna,

 

I was not able to get that 3D curve.vi working right.  It was using 1-D arrays and I have my 3D data in 2-D arrays.  Maybe I'm doing something wrong.

However, I was able to generate the antenna pattern using the 3D Mesh helper.  I've attached a few picture detailing what I did.  The main thing was to get rid of the "negative" numbers in the antenna pattern data.  Antenna gain is measured in "dBi" which is a relative dB scale to an ideal isotropic radiator.  So, I had to scale the values up to get rid of the "negative" values.  This corrected the shape of the 3D pattern and so I was able to plot it using the 3D mesh.  The axis is not correct since the data was scaled up.

 

Now, is there a way to grab the X,Y,Z coordinates from the 3D Mesh display?  There is a cursor option that can be enabled to show the coordinate of the point, but I don't see a way to "read" it so I can calculate the magnitude and then subtract the offset to get the "true" dBi reading.  I will continue to play around with the 3D curve.vi to see if I can get it to work properly.  Maybe it will give me more options for the plotting.

 

--Sufu

 

Attachments:

"Sample 3D antenna pattern" is what I'm trying to emulate.  This pattern is taken from a 3D antenna plotting software (very expensive).

"Simple 3D antenna pattern VI code" is the labview code that I used to generate the 3D mesh

"Generated 3D antenna pattern using 3D mesh" is the actual output from the labview routine using the same data from the "Sample 3D antenna pattern".

0 Kudos
Message 5 of 9
(6,650 Views)

Hi sufu,

 

That's a good question! Honestly, I don't know -- I'll have to speak to some of my colleagues to see anyone can shed some light on how to get the coordinates from the mesh display. I am also interested to see if there's a way to plot the data without having to scale up the dBi values so you wouldn't need to work around it by subtracking the offset later.

 

I'll keep you updated with what I find. Thanks for your patience!

Sunayna R.
Applications Engineering
National Instruments
0 Kudos
Message 6 of 9
(6,606 Views)

Hi Sunayna,

 

Thanks for looking into this.  I did manage to figure out how to get the values for the coordinates from the Mesh graph cursor.  It was just a property node that had the cursor position values (X,Y,Z).  I was able to use it to re-calculate the actual antenna gain value.

 

If you are looking into a way to plot negative dBi values, the best way to look at it is with the polar graph.  That graph allows for negative values to be graphed along the axis properly for antenna pattern data.  The only drawback is that there are no 3-D versions of the polar graphs that I can find in Labview.  If you guys can create one, that would be great and would help out a lot of folks who are trying to do similar things.

 

--Sufu

0 Kudos
Message 7 of 9
(6,572 Views)

I do have one question regarding the 3D mesh graphic display.  The color ramp seems to be mapped to the Z axis.  So the color values are not set by the magnitudes, but rather the z-axis value.  Is there a way to change the mapping to the magnitudes (w matrix).  The 3D mesh graph helper does not have an input for the w matrix.

 

--Sufu

0 Kudos
Message 8 of 9
(6,562 Views)

Hi sufu,

 

I'm glad to hear you were able to get it working! The 3D Mesh Plot Helper VI actually uses a 2D matrix as an input for the z axis. Have you tried including the w axis values as part of the z matrix? Here's what I mean: https://zone.ni.com/reference/en-XX/help/371361N-01/lvpict/3d_mesh_plot_vi/

 

Let me know if that helps at all.

 

Thanks,

Sunayna R.
Applications Engineering
National Instruments
0 Kudos
Message 9 of 9
(6,526 Views)