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.
Results
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
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)
|