muse Capstone Course: Wireless Sensor Networks

Similar documents
Lifetime Power Energy Harvesting Development Kit for Wireless Sensors User s Manual - featuring PIC MCU with extreme Low Power (XLP) Technology

Low Power with Long Range RF Module DATASHEET Description

USB Port Medium Power Wireless Module SV653

Preliminary Design Report. Project Title: Search and Destroy

SV613 USB Interface Wireless Module SV613

Real-World Range Testing By Christopher Hofmeister August, 2011

1 UAT Test Procedure and Report

Big Blue Mars Final Report

ZigBee Propagation Testing

XLR PRO Radio Frequency (RF) Modem. Getting Started Guide

Multi-Channel RS-232 Serial RF Transceiver

Nifty Networking Chips Link Stamps Far and Wide Use an RS-485 transceiver for reliable network comms

RF4432 wireless transceiver module

4. BK2401/BK2421 Module RF test

E31-TTL-500 Datasheet V Feature E31-TTL-500

Multi-Channel USB RF Transceiver

Embedded Radio Data Transceiver SV611

RF4432PRO wireless transceiver module

SmartRadio Transmitter / Receiver

Activity 3: Wireless Communication Student Handout. Parts Descriptions. Wireless Communications: Wireless Burglar Alarm

RF4463F30 High Power wireless transceiver module

ZigBeeNet Software 1.0 Range Measurement Tool Users Guide

RF1212 RF1212 Ultra-low Power ISM Transceiver Module V2.0

Catalogue

AT-XTR-7020A-4. Multi-Channel Micro Embedded Transceiver Module. Features. Typical Applications

RF Wireless Serial Device Server

EE 314 Spring 2003 Microprocessor Systems

SonoLab Echo-I User Manual

December 2012 Number Linearity Testing in the SureCAL Power Sensor Package FLEXIBLE STANDARDS ASSIGNMENT

INSTRUCTION MANUAL. IBRit - rf1 - usb PC - Station for wireless Data transmission. M e s s t e c h n i k. Messtechnik GmbH & Co.

SIMPLE Raspberry Pi VHF TRANSCEIVER & TNC

Revision WI.232FHSS-25-FCC-R and RK-WI.232FHSS-25-FCC-R USER S MANUAL

Catalog

LoRa1276 Catalogue

TRANSCEIVER FSK. Version: 434 MHz Band / 868 MHZ Band / Code: / A

SMARTALPHA RF TRANSCEIVER

SAE Formula Car Data Acquisition & Display System. Joseph Groe, Michelle Ohlson, & Miles Homler Advisor: Professor Gutschlag

MAXI Remote Location Kit MRLK 900 Installation and Configuration Manual

ZigBit Amp OEM Modules ZDM-A1281-PN

S O P H I S T I C A T E D A U T O M A T I O N

Quick Start Guide for the PULSE PROFILING APPLICATION

Operations Manual for RFExtender Setup

Using Z8 Encore! XP MCU for RMS Calculation

LoRa1278 Wireless Transceiver Module

Project Final Report: Directional Remote Control

Antenna and Propagation

Handbook. Antenna Rotator Controller

The Mote Revolution: Low Power Wireless Sensor Network Devices

Applications. Operating Modes. Description. Part Number Description Package. Many to one. One to one Broadcast One to many

Technical Note #15. Radio Frequency Modems. GE ED&C Home Search ED&C GE ED&C Power Management Home GE ED&C PMCS Home

Multi Frequency RFID Read Writer System

Lecture - 06 Large Scale Propagation Models Path Loss

Catalog

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board

WBT900. User s Manual. 900 MHz Wireless BACnet MSTP Radio. Page 1

Catalog

Blackfin Online Learning & Development

The Mote Revolution: Low Power Wireless Sensor Network Devices

ST600 TRANSMITTER OPERATING INSTRUCTIONS

FOD Transmitter User s Guide

GC9838-LR - INTELLIGENT HYBRID PLC-RF DIN RAIL MODEM

ADVANCED EMBEDDED MONITORING SYSTEM FOR ELECTROMAGNETIC RADIATION

Micro Fox PicCon Manual

The Discussion of this exercise covers the following points:

AcuMesh Wireless RS485 Network. User's Manual SOLUTION

4.5.1 Mirroring Gain/Offset Registers GPIO CMV Snapshot Control... 14

DRF7020D13 13dBm ISM RF Transceiver Module

RF NiceRF Wireless Technology Co., Ltd. Rev

4GHz / 6GHz Radiation Measurement System

Fourier Signal Analysis

Qosmotec. Software Solutions GmbH. Technical Overview. QPER C2X - Car-to-X Signal Strength Emulator and HiL Test Bench. Page 1

[APP NOTE TITLE] Application Profile. Challenges

INTRODUCTION. What is the LSN50

RC-WIFI CONTROLLER USER MANUAL

DRF5150S Wireless Sensor Transmitter Module V1.30

Catalogue

Featherweight GPS Tracker User s Manual June 16, 2017

ECE 511: FINAL PROJECT REPORT GROUP 7 MSP430 TANK

CIC ENGINEERING 345 CENTER STREET EAST PEORIA, IL PH FAX µmpis Control Software

VRS20. Contents. Communications. Stay involved. RS232 Communications. 2/14/2014 VRS20 - Valeport

DRF4432D20 20dBm ISM RF Transceiver Module V1.21

MicroLab 500-series Getting Started

Purchase the sample: E51-TTL-500 Datasheet V Feature E51-TTL-500

BANTAM INSTRUMENTS SOFTWARE USER S MANUAL MIL-STD-461E PRE-COMPLIANCE MEASUREMENT SYSTEM MODEL EMC-461. Model EMC-461 Software User s Manual

LORA1278F30 Catalogue

LORA1276F30 Catalogue

Index Terms IR communication; MSP430; TFDU4101; Pre setter

Quick Start Guide Hardware

Appendix 6 Wireless Interfaces

LABORATORY AND FIELD INVESTIGATIONS ON XBEE MODULE AND ITS EFFECTIVENESS FOR TRANSMISSION OF SLOPE MONITORING DATA IN MINES

Wireless Reading of Sensirion Sensors By H. Moholdt

Gentec-EO USA. T-RAD-USB Users Manual. T-Rad-USB Operating Instructions /15/2010 Page 1 of 24

Indoor Localization in Wireless Sensor Networks

ORCA-50 Handheld Data Terminal UHF Demo Manual V1.0

RF ISM Transparent Transceiver Module V4.0

FOD Transmitter User s Guide

Antenna Performance. Antenna Performance... 3 Gain... 4 Radio Power and the FCC... 6 Link Margin Calculations... 7 The Banner Way... 8 Glossary...

High Gain Advanced GPS Receiver

HURRICANE Radio Modem. FULL DUPLEX Radio MODEM

Page 21 GRAPHING OBJECTIVES:

Transcription:

muse Capstone Course: Wireless Sensor Networks Experiment for WCC: Channel and Antenna Characterization Objectives 1. Get familiar with the TI CC2500 single-chip transceiver. 2. Learn how the MSP430 MCU controls and interfaces with the CC2500. 3. Learn about serial I/O. 4. Get a channel sounding application running, and modify it to produce more useful restuls. 5. Explore the characteristics of wireless communication channels. 6. Apply basic statistics to experimental results. What You Will Need a computer running Windows (XP or Vista) TI ez430-rf2500 MSP430 Wireless Development Tool TI s CCS integrated development environment, installed as per the CLIO Quick Start Experiment. Introduction A key property of radio communication channels is attenuation of the signal, so that the received power is a (usually very small) fraction of the transmitted power. In db, we have P R = P T L c where L c is the (positive) loss due to channel attenuation. The CC2500 receiver can measure RSSI (received signal strength indication) of received packets, which is a good estimate of the received power. By knowing the transmitted power and an estimate of the received power, we can in turn estimate the channel attenuation loss L c. We will use this feature to get familiar with a channel sounding application so we can explore how the attenuation of the radio channel varies with (i) the environment, (ii) the position of the transmitter and receiver, and (iii) the orientation of the antennas. Your application setup will use both ez430 units. One unit will be a base node that is connected to a PC, and the other will be a remote node that is battery powered. The base will command the remote node to send 1

a packet (or packets) at a fixed transmit power, and the base will detect and receive the packet(s), record the the RSSI, and then forward the data to the PC for further analysis and plotting. Notes Serial communication. Though the ez430 plugs into a USB port on your PC, it has the capability to communicate with the PC using the RS-232 serial communication standard. This is accomplished by dedicated hardware and software on the ez430 programmer baord and drivers on the PC that allow tunneling of RS- 232 data through the USB port. On the ez430, the demo program on the base uses the USART peripheral on the MSP430 to send and receive serial data. You can use hypterminal to send commands from the PC to the base and see the base s response. This is also how you ll access the RSSI information from the base. Structures and unions. The control/data interfaces on the CC2500 are complicated in fact, the CC2500 can be viewed as a very complex, off-chip communication peripheral of the MSP430. To ease management of control and communication with the CC2500, we ve provided code that uses two features of the C language: structures and unions. A structure simplifies management of data by aggregating multiple variables of different data types. Since many kinds of data are hierarchical in nature, it makes sense to have a way to organize data. For example, consider keeping track of light and relative humidity at different sites in a factory. Instead of having a separate variable for each, you might prefer to have one identifier mydata that references both, and then you could specifiy mydata.light and mydata.humidity to get just one of the variables. Unions give you multiple ways of referencing data objects. In the demo programs, we use a union to reference a specific structure in another way. For example, using a union, the structure CC2500 Memory Map is also referenced via ProjectRadioSettings as sequence of raw bytes for ease of communication with the CC2500. Note that the contents of CC2500 Memory Map are defined in the header file cc2500.h. Modulation. In the demo (Part I below) we provide, the CC2500 is configured to use the frequency-shift keying (FSK) modulation format. Procedure Part I: Demonstration Before you start, it is a good idea to re-do the CLIO Quick Start demonstration to make sure you remember how to build and run a project on the ez430. 1. Get the software RSSI demo.zip from your instructor or from the muse web site. Note: do not unzip this archive. We will use a tool in CCS to directly import and expand a zipped project archive. 2. Do the following in exactly this order: 2

Start CCS and create a new workspace by selecting a new directory. Then create a new project (per the steps in the CLIO Quick Start demonstation), making sure that it is properly configured for the MSP430F2274. Right click the top-level project name of the project created in the previous step and select Import. Under the General tree heading, select the Archive File option and select Next. Use the browse button on the upper right to select the zip file. The contents should appear in the left box, automatically selected. Click Finish to import the files into the project. 3. Note that the same program is used for the base and remote; to build the executable for the remote, you uncomment the following line in demo.c: //#define REMOTE 4. Install the software on the remote, start it, and then place it about 2 meters away. The program turns on the green LED if the remote code is running verify this. Note: to start and stop the program on the remote, use the jumper provided to enable/disable the power. To save the batteries, make sure you disable the power with the jumper when you are not using it. 5. Change your code so the base program will be built and build the project. Plug the base into your PC, install the software, and start it. The program turns on the red LED if the base code is running (see the functions vrun Remote and vrun Base in demo.c). 6. Start and set up hyperterminal on your PC and make sure you can interact with the base ez430. On XP, the Hyperterminal can usually be found in Programs Accessories Communications. Normally the highest-numbered comm port is used for the RS-232 tunnel through USB. Use 9600 bps, 8 data bits, no parity, 1 stop bit, no flow control. 7. Hit a carriage return in hyperterminal. The base ez430 should respond with Sending a tranmission request packet!...waiting for reply..., and you should see confirmation of a received packet from the remote and the RSSI/LQI data report shortly thereafter. (The CC2500 is configured here to report link quality index (LQI) data, but we will not use it in this experiment.) Move the remote around to see if the received signal strength varies (it should). 3

Note: refer to the code in demo.c and the CC2500 User s Guide to see how the raw RSSI value is obtained and converted to dbm. Part II: Build a channel/antenna measurement application The application as given is a great start, but it would be much more useful if the remote sent multiple packets so we could estimate the mean and variance of the RSS. 1. Modify the remote program to send 10 packets (instead of one) using using a C for() loop. 2. Modify the base program to buffer the RSSI values in an array as the packets arrive. 3. Modify the base program so that the message sent to the PC includes all 10 RSSI values. Part III: Gather data on the 2.4 GHz channel and the ez430 antenna Before you start, check the reporting requirements in Part IV. In this part, you will gather data to answer three questions. You will use your modified code to quickly gather 10 RSSI samples at each location. 1. How does the environment effect radio wave propagation? Place the remote about 2-3 m away from the base station. Your body is both an absorber and scatterer of electromagnetic radiation. Show this by moving yourself about (but while not blocking the line-of-sight path between the base and remote), and noting the received signal strength. Try to get consistent results for each position. (This may be a challenge if there are strong WiFi signals present, but if you take enough measurements, these effects should average out. Usually 10 is a good number.) Next, see if you can correlate greater signal attenuation with when your body is in the line-of-sight path between the base and remote. Be sure to explain your results. For the following two questions, you will want to position yourself consistently through the testing! 2. How does the mean and variance of the attenuation vary with distance between base and remote? See how the characteristics of the signal attenuation vary with increasing distance. Try 0.5, 1, 2, 4, 6, and 8 m distances. At each distance, take data at three sublocations by moving the remote axially (to maintain the distance) about 10 cm. Fire up Matlab and import your data. Convert your data to absolute (non-db) values. Then plot the relative loss vs. distance on a log-log scale. (The relative loss is the negative of the received signal 4

strength.) You should have 30 points at each distance. Find the slope of linear fit (regression) using Matlab s pinv() operator (see the Appendix). This is the estimated propagation loss exponent. Why? 3. How uniform is the radiation pattern of the ez430 chip antenna? First, find the chip antenna on the ez430 using the documentation. Then do the following test. Let front mean the side of the ez430 with the antenna. Then, place or hold the remote about a foot away from the base so that the two PC boards are parallel and are front-to-front (i.e., the two chip antennas facing each other). Then flip the remote so the boards are front-to-back. Make sure you are getting consistent results. Obtain the mean and variance of the received signal strength in both cases. Are these results what you expected? Why or why not? Now devise an experiment to further characterize the directivity of the antenna. For example, explore rotation of the remote s antenna about one axis. Be sure to draw conclusions and provide measurement data to justify them. Part IV: Characterize the channel and antenna Here is where you collect your data, analyses, and results. Try to understand what processes are revealed by the data. For example, answer the following question: what are the major causes of the variation of data about the line that models the propagation loss exponent in your data? Email your instructor a concise report that includes: a well-formatted hard-copy of your ez430 code developed for Part II, along with a representative screenshoot of Hyperterminal showing data from the your new application Tables that capture and organize your raw data A diagram of your testing room that identifies locations of base and remote nodes Plots as specified in Part III. Interpretation of your results (important) Attach a zip archive of your ez430 project using the Export tool in CCS. Make sure you choose the Create only selected directories option, and then select for archival only the src subdirectory (where all the.c and.h files are). Use your last name as the filename. To make your plots, use Matlab. Make sure your plots are clear, clean, and legible, with axis labels and legends as necessary. What to Hand In, and When 5

Email your report as specified above. Due date: Ask your instructor. For More Information Helpful documentation for this and future CLIO projects: CC2500 User s Guide ez430-rf2500 Development Tool User s Guide MSP-FET430 Flash Emulation Tool (FET) (for Use With Code Composer Essentials for MSP430 Version 3.1) User s Guide Appendix: Fitting a Line to Noisy Data You have a collection of data pairs {x i, y i }. You are quite sure that the x and y values are related by a noisy affine function, i.e., y i = β 0 + β 1 x i + w i where w i is the measurement noise of the i-th measurement. What is the best choice for the the slope β 1? In this experiment, this slope is the propagation loss exponent we are seeking. But this type of problem comes up frequently. Here we sketch how to use the technique of ordinary least-squares to find the slope (as well as the intercept) that best fits the data in terms of minimizing the sum of squared errors. Assume there are N data points (In our case N = 30 6). The trick is to model the data using the following matrix equation: y = Xβ + w where y is a column vector of the y i values, X is an N 2 matrix whose first column is all ones and whose second column is the x i s, β = (β 0 β 1 ) T, and w is the column vector of noise values. Of course, we don t know what the noise values are if we did, we would subtract them out! Note: In statistics, X is sometimes called the design matrix since it specifies the model in this case, an affine model parameterized by an intercept and slope. To see why the first column of X is 1 s, use the above equation to compute y 1, y 2, and y 3. What we do know from our measurements are y and X, and we want to compute the best estimate ˆβ of β. We might think of just ignoring noise and computing X 1 y. Unfortunately, since X is not square, it does 6

not have an inverse. But in our case, it does have what is known as a (Moore-Penrose) pseudo-inverse X +, so that ˆβ = X + y. This approach computes the value of ˆβ that defines the line that minimizes the sum of the squares of all the errors between the line and the data points. The Matlab function for the Moore-Penrose pseudoinverse is pinv(). With a little thought, you ll also see how to use this same approach to fit a polynomial of any finite degree (not just a first-order polynomial as we have done here) to noisy data. One caveat: this approach assumes that all the noise values are statistically independent. This is almost always never true, but the they do tend to be nearly independent. 7