wiki:2012/Projects/OwlPlatform/TransmitterTester

Version 23 (modified by silasw, 5 years ago) (diff)

--

Signal Reception Tester

Every antenna has a radiation pattern, which determines which directions it can best transmit or receive signals. In order to characterize the PIP transmitters used in the Owl Platform, we built a robot that is capable of rotating the transmitter along two different axes. This allows for the testing of the signal reception strength at each orientation and ascertain the best possible position to mount a transmitter.

The robot incrementally rotates two motors, covering every possible angle in multiples of ten degrees. Samples of the signal strength are collected and matched with the corresponding angles using timestamps. During this test, the robot also moves back and forth to minimize multipathing bias.

Steps to run the spherical test on Linux:

import nxt nxt.locator.make_config()

  • Find the config file, and edit it to include the parameters for your NXT brick. The MAC address is not needed, since you're not using Bluetooth.
  • Plug the NXT brick into your computer with a USB cable.
  • Plug the test receiver into your computer with another USB cable.
  • Run the modified pip-sense program to start collecting samples.
  • Run the python script.
  • Once the test is complete, turn off the NXT, get both data files, and put them in a directory where MATLAB can use them.
  • Then run the m-file to plot the data.

Left: 3-D spherical plot of the data where radius and color correspond to signal strength. Right: Same plot, but with the radius fixed.


We compared the XY, XZ, and YZ plane measurements with the datasheet for the antenna. We don't expect the graphs to be the same, since the components on the chip interfere with the radiation patterns. However, there is certainly a resemblance.

(Radius values are in dB.)

Note that the datasheet provides measurements of two polarizations. We measured using a single antenna, so our data will be an unknown combination of the two.

Steps to run the XY/XZ/YZ plane test on Linux:

import nxt nxt.locator.make_config()

  • Find the config file, and edit it to include the parameters for your NXT brick. The MAC address is not needed, since you're not using Bluetooth.
  • Plug the NXT brick into your computer with a USB cable.
  • Plug the test receiver into your computer with another USB cable.
  • Compile the pip_sense binary and make sure it's in the same directory as planetest.py.
  • Run planetest.py.
  • After that is finished, navigate to the Autotest directory in MATLAB.
  • Then run the appropriate m-file (poweravg.m or planeplotter2.m) to either plot the data or find the average power.

Attachments (12)

Download all attachments as: .zip