Directional Antennas and Reflective Surfaces

33 views
Skip to first unread message

Tyler

unread,
Apr 8, 2016, 2:24:20 AM4/8/16
to pylayers-users
Hi,

I'm trying to simulate narrow band transmission for localization with a handful of reflective (metal) surfaces. I finished my layout, but I had a few issues beyond that. Do the simulations account for multipath? I assumed so, but I never saw it explicitly stated. The other question I had was regarding directional antennas. I can see various antenna profiles in the examples, but I can't see where a heading is specified in the simulation. If you want to rotate an antenna and repeat a simulation, do you just rotate the antenna profile?

I have one additional question, but it isn't overly important. Is there a description of what ncycles means in the layout files. I edited mine manually to get things just right and never figured out what ncycles does.

I appreciate you guys making the software available and any help you may be able to offer.

Thanks,

-Tyler

Uguen Bernard

unread,
Apr 8, 2016, 3:15:46 AM4/8/16
to pylayers-users
Dear Tyler,


Thank you very much for using PyLayers and helping us making it something useful for the community.

PyLayers was initially designed for addressing UWB waveform, but it can be also used for narrow band while it may requires
slight adaptations for really being convenient in doing so.

PyLayers is a à ray tracing tool, so it handles multipaths. At that time the code is evolving because we are working on a new data format of the
layout in order to be able to  address outdoor scenario and multi floors structures as well.

The key concept for doing that is the notion of convex cycle. We need to build a Layout which is a set of convex cycle. This is a strong constraint
but it ease very much the recovery of  visibility relationships between cycle. To be short in a convex cycle every segment "sees" every segments
except itself and collinear segments. Every segment is related to two cycles, the ncycle list contains the id of those two adjacent cycles.

An other related key concept is "AIR separations segments" between non convex cycles to get those convex cycles.

Regarding the antennas, yes you can do whatever you want with the full 3D pattern and orientation. I will post very soon a detailed explanation of how to deal with antennas.

By default antennas in DLink are omni-directional. Notice that you can also deal with antenna arrays at both termination if you need addressing MIMO scenarios. 

from pylayers.simul.simul import *
L=Dlink()
L.a   (firstlink termination)
L.Aa (Antenna object  (Omni))
Antenna type : Omni
------------------------
 pol : t
 GmaxdB : 0
fmin : 2.40GHz
fmax : 2.50GHz
step : 100.00MHz
Nf : 2
-----------------------
      evaluated       
-----------------------
Ntheta : 90
Nphi : 181
   f = 2.40 GHz
   theta = 0.00 (degrees)
   phi = 0.00  (degrees)

L.Ta (3D rotation matrix ) By default the local frame of the antenna (ACS) is the same as the GCS (Global Coordinate System)

array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])


The same for termination b

Very recently have improved drastically the performance of the ray tracing algorithm, and it is quite usable but it can remains few instabilities to fix.
The weakness of PyLayers is that at that time  it is quite poorly documented and a  very large part of what is in there is not explained at all.

I suggest that you pull request the very last master branch in order to get the very last version. If you fork the repository on github you can also commit your layout
in data/struc/ini in order we can check it.

If, hopefully, you are going to attend EUCAP2016 Conference  in Davos next week we could met and see together how to tackle your problem with PyLayers.

Thank again for your interest. Glad to help you.

Bernard

Tyler

unread,
Apr 9, 2016, 2:54:49 AM4/9/16
to pylayers-users
I feel a bit silly making such an uninformed post, but I was in a bit of a rush. Also, that's all great news! Mainly I wanted to make sure I didn't make bad assumptions.

Thank you for the prompt response and level of detail. I'll do what I can to contribute to the project!

Thanks,

-Tyler
Reply all
Reply to author
Forward
0 new messages