Berkeley Mote Wireless Throughput Analysis

Objective
Find the actual throughput of the Berkeley Motes (MICA2 and MICA2Dot)

Set up
In order to test the throughput, the Motes have been programmed to poll the analog channel 4 (ADC4) port and send the sampling data to the basestation(MIB510). For the sampling signal, a function generator is used which outputs a ~2Hz sine wave.  In addition, the sensor and the basestation is only a foot away, and only 1 sensor and 1 basestation are active at any time, such that factors concerning radio signal strength and collision can be ignored.  The basestation is connected directly to a PC through the serial link, and a program is written to capture and store the sampling data received from the basestation.  All programs are developed based on the TinyOS version 1.1.3 Dec 2003.

MICA2 BaseStation
Function generator and MICA2
MICA2Dot Basestation
Function Generator and MICA2Dot

Results
Using MICA2 as both the sensor and basestation:
MICA2 to MICA2
Download the received data in text format
Download the received data in Excel format
  Using MICA2 as the sensor and MICA2Dot as the basestation:
MICA2 to MICA2Dot
Download the received data in text format
Download the received data in Excel format
Using MICA2Dot as the sensor and MICA2 as the basestation:
MICA2Dot to MICA2

Download the received data in text format
Download the received data in Excel format
Using MICA2Dot as both the sensor and the basestation:
MICA2Dot to MICA2Dot
Download the received data in text format
Download the received data in Excel format

Sampling rate (sample/second)
Sensor\Basestation:
MICA2
MICA2 Dot
MICA2
91.7
114.8
MICA2 Dot
90.4
105.9

Modification
As we are developing a ECG sensor which requires fairly high sampling rate, and with 90 to 100Hz sampling rate is not enough for accurately sample a ECG signal.  In order to achieve higher sampling rate, we modified the programs to remove the protocol overheads, the CRC checking, the MAC layer, the RF signal strength checking and the acknowledgment from the receiver. Without the CRC checking, the signal received appears to be noisy, but after simple filtering, the waveform appears to be correct.  After the the modification, the sampling rate increased significantly from ~100 to 170 samples per second (the filtered noisy samples have been removed when calculating the sampling rate).

Results
Using MICA2 as both the sensor and basestation:
Modified MICA2 to MICA2
Download the received data in text format
Download the received data in Excel format
Using MICA2 as the sensor and MICA2Dot as the basestation:
Modified MICA2 to MICA2Dot
Download the received data in text format
Download the received data in Excel format
Using MICA2Dot as the sensor and MICA2 as the basestation:
Modified MICA2Dot to MICA2
Download the received data in text format
Download the received data in Excel format
Using MICA2Dot as both the sensor and the basestation:
Modified MICA2Dot to MICA2Dot
Download the received data in text format
Download the received data in Excel format

Sampling rate (sample/second)
Sensor\Basestation:
MICA2
MICA2 Dot
MICA2
170.3
170.1
MICA2 Dot
158.5
160.5

Source code
The program called "ECG Sensor" is developed to poll the analog channel 4 continuously and send all the readings to the "GenericBase" program.  In order to get the high sampling rate, the GenericBase program, the CC1000 interface, etc have been modified.  However, to ease the testing, the programs have been designed to be able to compile using the original Mote communication handling or the improved communication handling mechanism where a flag "REMOVE_COMM_OVERHEAD" is added in the source codes, and the "makerules" has been modified to enable/disable the "REMOVE_COMM_OVERHEAD" flag.
To use the original Mote communication handling:
make <platform> install[.n]
To use the high sampling rate communication handling:
make <platform> RemoveCommOverhead=1
ECG Sensor
Modified GenericBase
Modified Makerules


For further information, please contact Benny Lo (benlo@doc.ic.ac.uk)