You are here

Direction finding

4 posts / 0 new
Last post
KD0HBJ
Direction finding

What possibilities exist for a node to coarsely determine bearing to another node in the mesh?
Do the possibilities change if one or more nodes are mobile?

The obvious option is for nodes to receive NMEA messages from collocated GPS receivers and share coordinates.  That is largely solved.  I am looking for options where GPS is unavailable or unreliable.

Hypothetical 1:
Several AREDN units have multiple (though not necessarily differential) antennas.  https://forum.gl-inet.com/t/rssi-direction-finding/18809
If we can determine which has a stronger signal, that is enough for coarse direction finding.  How do we get that differential received signal strength information to a program?

​Hypothetical 2:
Assuming a node has a single omnidirectional antenna, is there a way to programmatically create a null toward a specific bearing?
I'm imagining 3 masts equidistant from each other and a central omni antenna.  Each mast can either be laid down on the ground or erected.  When erected, it creates a null in the omni toward that mast.  Right?  Haven't experimented yet, assuming.  Erect each mast, take a signal strength reading, lay the mast down.  Repeat for each mast.  The mast direction with largest attenuation is the direction to source.  Is there an electronic way to produce the same effect with no moving parts?

Hypothetical 1.5:
Using the GL-AR300M16-EXT from Hypothetical 1, use onboard gpio to temporarily switch in some attenuation that reduces gain on one antenna at a time.  Whichever direction has the largest signal drop with attenuation switched on is the direction of source.

Of course, since the differential rssi isnt taken simultaneously on both antennae, there could be other environmental factors that temporarily influence rss.  Therefore we cannot judge from a single set of readings, but will need to analyze trends and correlate with known movements of the nodes.

This is not my area of expertise at all.  I have no experience,  If this is a waste of my time, please tell me, but also tell me why it wont work.  If you have other ideas for node direction finding with any AREDN hardware, I'd love to hear it.

Rotating a dish antenna is a well proven method.  It is certainly on the table.  But for my use on a cheap mobile robot, a solution with no moving parts is better and something close to omnidirectional pattern is preferred.
Does any AREDN hardware have a cardiod antenna pattern?  It would be nearly as good as omni for finding nodes in unknown directions, but still offer a null which is steerable by steering the whole robot.

nc8q
nc8q's picture
Do the possibilities change if one or more nodes are mobile?

Definition: node = a device running AREDN firmware.

Q.1. What possibilities exist for a node to coarsely determine bearing to another node in the mesh?

None.

Q.2. Do the possibilities change if one or more nodes are mobile?

No, still none.

Hypothetical 1: Several AREDN units have multiple (though not necessarily differential) antennas. https://forum.gl-inet.com/t/rssi-direction-finding/18809 If we can determine which has a stronger signal, that is enough for coarse direction finding. How do we get that differential received signal strength information to a program?

Not a feature of the OpenWRT wireless firmware. Firmware expects to be receiving the same radio signals from the same neighbor node in each antenna input. You may read up in the documentation about MIMO<>MIMO and MIMO<>SISO and SISO<>SISO.

Hypothetical 1.5: Using the GL-AR300M16-EXT from Hypothetical 1, use onboard gpio to temporarily switch in some attenuation that reduces gain on one antenna at a time. Whichever direction has the largest signal drop with attenuation switched on is the direction of source.

Maybe, with gpio. Maybe not with AREDN firmware.

Hypothetical 2: Assuming a node has a single omnidirectional antenna, is there a way to programmatically create a null toward a specific bearing?

No. An Omni directional antenna receives equally poorly in all directions.

If you have other ideas for node direction finding with any AREDN hardware, I'd love to hear it.
IMHO, with AREDN firmware it is possible to determine signal strength, but not bearing.

I hope this helps determine (If this is a waste of my time, please tell me, but also tell me why it wont work. )

Chuck

k1ky
k1ky's picture
Direction Finding - MESH
We have actually discussed this in the past.  It is feasible for a mobile mesh node to do some of the things that you are looking for.  The first thing would be to engineer a way to obtain location information from a GPS unit and populate the coordinate information in the node.  Once tht is done, you can use the KG6WXC Mapping program to do the heavy lifting.  It would take some coding work.

We have also looked into placing Receivers at our repeater/mesh sites with diversity "DF" antennas connected to a frequency agile SDR.  Technology along the lines of rhe Doppler Systems units.  It would take some work, but I believe this could also be acieved.  If We could coordinate information from other sites, an accurate position could be determined.
 
KD0HBJ
When I used openwrt in the

When I used openwrt in the past, I was able to add kernel modules (kmod) and other packages.  I had assumed the same would be possible when compiling AREDN firmware, even without the Luci GUI interface.  Is that not the case?  OPKG's not allowed in AREDN?
Every licensed ham, could in theory build a custom openwrt node with all the packages they want, adapt the AREDN code to make the unit compatible with AREDN networks, and put it on the network as an unofficial AREDN node.  That would be a headache for everyone, so why not allow packages to expand the definition of official AREDN node in the spirit of RF experimentation?  Technical limitations or philosophical?
https://openwrt.org/packages/start  
 

Maybe, with gpio. Maybe not with AREDN firmware.

https://openwrt.org/packages/pkgdata/kmod-gpio-dev

The first thing would be to engineer a way to obtain location information from a GPS unit and populate the coordinate information in the node.

ser2net
https://openwrt.org/docs/guide-user/advanced/networked.gps

The following issues/feature requests would be impacted by this.
https://github.com/aredn/aredn/issues/141
https://github.com/aredn/aredn/issues/147
https://github.com/aredn/aredn/issues/3
https://github.com/aredn/aredn/issues/4
https://github.com/aredn/aredn/issues/30

Re: programmatic attenuation of one antenna.  I found https://www.arednmesh.org/comment/3518#comment-3518

What it looks like is that MRC is used all the time, but the ANI subsystem may adjust the parameters to essentially attenuate out one of the chains to essentially be doing selection diversity  (and I saw this occur for all signals coming in and not unique to a given neighbor).

Far from definitive, but encouraging nonetheless.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer