U.S. patent number 9,271,170 [Application Number 13/800,629] was granted by the patent office on 2016-02-23 for channel adaptation in sensor networks.
This patent grant is currently assigned to KCF Technologies Incorporated. The grantee listed for this patent is KCF Technologies Incorporated. Invention is credited to Scott David Brown, Jacob Joseph Loverich, Stephen J. Wenner.
United States Patent |
9,271,170 |
Loverich , et al. |
February 23, 2016 |
**Please see images for:
( Certificate of Correction ) ** |
Channel adaptation in sensor networks
Abstract
A source node in a network accesses information associated with
a set of available transmission states. The source node selects a
first transmission state from the set of available transmission
states. The source node evaluates a metric associated with
transmitting the data. The source node determines whether the
metric is below a threshold value. Based on determining that the
metric is below the threshold value, the source node selects a
second transmission state from the set of available transmission
states, the second transmission state being different from the
first transmission state. The source node transmits data using the
second transmission state.
Inventors: |
Loverich; Jacob Joseph (State
College, PA), Wenner; Stephen J. (Port Matilda, PA),
Brown; Scott David (Rollinsford, NH) |
Applicant: |
Name |
City |
State |
Country |
Type |
KCF Technologies Incorporated |
State College |
PA |
US |
|
|
Assignee: |
KCF Technologies Incorporated
(State College, PA)
|
Family
ID: |
55314836 |
Appl.
No.: |
13/800,629 |
Filed: |
March 13, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
61640936 |
May 1, 2012 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04W
52/262 (20130101); H04W 24/04 (20130101); H04W
52/241 (20130101); H04B 17/336 (20150115); H04B
17/309 (20150115); H04W 52/16 (20130101) |
Current International
Class: |
H04L
12/26 (20060101); H04W 24/02 (20090101); H04B
17/327 (20150101); H04B 17/309 (20150101); H04W
52/16 (20090101); H04W 52/24 (20090101); H04W
24/04 (20090101); H04B 17/336 (20150101) |
References Cited
[Referenced By]
U.S. Patent Documents
Other References
Kohvakka et al., "High-performance multi-radio WSN platform,"
REALMAN '06 Proceedings of the 2nd international workshop on
Multi-hop ad hoc networks: from theory to reality ACM New York, NY,
USA 2006, 8 pages. cited by applicant.
|
Primary Examiner: Elpenord; Candal
Attorney, Agent or Firm: Fish & Richardson P.C.
Parent Case Text
CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority from U.S. Provisional Application
No. 61/640,936, filed May 1, 2012, and titled "Channel Adaptation
in Sensor Networks," which is incorporated by reference.
Claims
What is claimed is:
1. A method comprising: accessing, at a source node in a network,
information associated with a set of available transmission states;
selecting, by the source node, a first transmission state from the
set of available transmission states, wherein each transmission
state included in the set of available transmission states includes
a combination of a transmission frequency band, a radio frequency
(RF) power level and a transmission data rate that is distinct from
other transmission states included in the set; evaluating, by the
source node, a first metric that measures energy expenditure for a
transmission success rate associated with transmitting data using
the first transmission state; determining, by the source node,
whether the first metric corresponding to the first transmission
state is less than other metrics that measure energy expenditures
for transmission success rates associated with transmitting data
using the other transmission states; based on determining that the
first metric corresponding to the first transmission state is
greater than the other metrics corresponding to the other
transmission states, selecting, by the source node, a second
transmission state from the set of available transmission states,
the second transmission state being different from the first
transmission state; and transmitting, by the source node, data
using the second transmission state.
2. The method of claim 1, wherein each of the first and second
transmission states includes a transmission frequency band, a radio
frequency (RF) power level and a transmission data rate.
3. The method of claim 1, wherein evaluating the first metric
comprises: determining a ratio of an amount of data transmitted to
an amount of data received at a destination.
4. The method of claim 1, further comprising: listening for data,
at a destination node in the network, concurrently using two or
more transmission states included in the set of available
transmission states; and receiving, by the destination node, the
data transmitted by the source node.
5. The method of claim 4, wherein the source node includes a sensor
and the destination node includes a base station.
6. The method of claim 1, wherein evaluating the first metric
comprises one or more of evaluating RSSI (receive signal strength
indicator), determining a packet success rate, or determining
energy in a carrier band.
7. A method comprising: accessing, at a source node in a network,
information associated with a set of available transmission states,
wherein each transmission state included in the set of available
transmission states includes a combination of a transmission
frequency band, a radio frequency (RF) power level and a
transmission data rate that is distinct from other transmission
states included in the set; ordering, by the source node, the
available transmission states into a set of ranked transmission
states based on a first evaluation that measures a theoretical
energy per bit (EPB) for data transmission using the available
transmission states; selecting, by the source node, a first
transmission state from the set of ranked transmission states;
evaluating, by the source node, a first metric that measures enemy
expenditure for a transmission success rate associated with data
transmission for the first transmission state included in the set
of ranked transmission states; selecting, by the source node, a
second transmission state from the set of ranked transmission
states, the second transmission state being lower ranked than the
first transmission state; evaluating, by the source node, a second
metric that measures energy expenditure for a transmission success
rate associated with data transmission for the second transmission
state included in the set of ranked transmission states;
determining, by the source node, whether the second metric is less
than the first metric; and based on determining that the second
metric is less than the first metric, transmitting, by the source
node, data using the second transmission state.
8. The method of claim 7, wherein ordering the transmission states
into the set of ranked transmission states comprises: ordering the
transmission states into the set of ranked transmission states
based on increasing EPB such that a transmission state associated
with a lower EPB is placed higher in the set compared to a
transmission state associated with a higher EPB.
9. The method of claim 7, wherein the first metric and the second
metric measure one or more of energy consumption lifecycle cost for
data transmission, received signal strength indicator (RSSI),
packet success rate (PSR) associated with transmitting the data, or
energy in a carrier band.
10. The method of claim 9, wherein evaluating the PSR comprises:
determining a ratio of an amount of data transmitted to an amount
of the data received at a destination.
11. The method of claim 7, wherein each of the first and second
transmission states includes a transmission frequency band, a radio
frequency (RF) power level and a transmission data rate.
12. The method of claim 7, further comprising: listening for data,
at a destination node in the network, concurrently using two or
more transmission states included in the set of available
transmission states; and receiving, by the destination node, the
data transmitted by the source node.
13. The method of claim 12, wherein the source node includes a
sensor and the destination node includes a base station.
14. The method of claim 7, wherein accessing the information
associated with the set of available transmission states comprises:
accessing, by the source node, the information based on a
predetermined schedule.
15. The method of claim 7, further comprising: determining, by the
source node, energy expenditure associated with transmitting data
using the second transmission state; selecting, by the source node,
a third transmission state from the set of ranked transmission
states, the third transmission state being a transmission state
that was previously used for transmission; examining, by the source
node, previously assessed energy savings associated with data
transmission using the third transmission state; determining, by
the source node, whether the previously assessed energy savings is
greater than the energy expenditure associated with transmitting
data using the second transmission state; and based on determining
that the previously assessed energy savings is greater,
transmitting, by the source node, data using the third transmission
state.
16. The method of claim 7, wherein ordering the transmission states
into the set of ranked transmission states comprises: ordering the
transmission states into the set of ranked transmission states
based on increasing energy consumption lifecycle cost such that a
transmission state associated with lower energy consumption
lifecycle cost is placed higher in the set compared to a
transmission state associated with higher energy consumption
lifecycle cost.
17. A non-transitory computer-readable medium storing software
comprising instructions executable by one or more computers and
that, upon such execution, cause the one or more computers to
perform operations comprising: accessing, at a source node in a
network, information associated with a set of available
transmission states; selecting, by the source node, a first
transmission state from the set of available transmission states,
wherein each transmission state included in the set of available
transmission states includes a combination of a transmission
frequency band, a radio frequency (RF) power level and a
transmission data rate that is distinct from other transmission
states included in the set; evaluating, by the source node, a first
metric that measures energy expenditure for a transmission success
rate associated with transmitting data using the first transmission
state; determining, by the source node, whether the first metric
corresponding to the first transmission state is less than other
metrics that measure energy expenditures for transmission success
rates associated with transmitting data using the other
transmission states; based on determining that the first metric
corresponding to the first transmission state is greater than the
other metrics corresponding to the other transmission states,
selecting, by the source node, a second transmission state from the
set of available transmission states, the second transmission state
being different from the first transmission state; and
transmitting, by the source node, data using the second
transmission state.
18. A non-transitory computer-readable medium storing software
comprising instructions executable by one or more computers and
that, upon such execution, cause the one or more computers to
perform operations comprising: accessing, at a source node in a
network, information associated with a set of available
transmission states, wherein each transmission state included in
the set of available transmission states includes a combination of
a transmission frequency band, a radio frequency (RF) power level
and a transmission data rate that is distinct from other
transmission states included in the set; ordering, by the source
node, the available transmission states into a set of ranked
transmission states based on a first evaluation that measures a
theoretical energy per bit (EPB) for data transmission using the
available transmission states; selecting, by the source node, a
first transmission state from the set of ranked transmission
states; evaluating, by the source node, a first metric that
measures enemy expenditure for a transmission success rate
associated with data transmission for the first transmission state
included in the set of ranked transmission states; selecting, by
the source node, a second transmission state from the set of ranked
transmission states, the second transmission state being lower
ranked than the first transmission state; evaluating, by the source
node, a second metric that measures energy expenditure for a
transmission success rate associated with data transmission for the
second transmission state included in the set of ranked
transmission states; determining, by the source node, whether the
second metric is less than the first metric; and based on
determining that the second metric is less than the first metric,
transmitting, by the source node, data using the second
transmission state.
19. A system comprising: one or more computers and one or more
storage devices storing instructions that are operable, when
executed by the one or more computers, to cause the one or more
computers to perform operations comprising: accessing, at a source
node in a network, information associated with a set of available
transmission states, wherein each transmission state included in
the set of available transmission states includes a combination of
a transmission frequency band, a radio frequency (RF) power level
and a transmission data rate that is distinct from other
transmission states included in the set; selecting, by the source
node, a first transmission state from the set of available
transmission states; evaluating, by the source node, a first metric
that measures energy expenditure for a transmission success rate
associated with transmitting data using the first transmission
state; determining, by the source node, whether the first metric
corresponding to the first transmission state is less than other
metrics that measure energy expenditures for transmission success
rates associated with transmitting data using the other
transmission states; based on determining that the first metric
corresponding to the first transmission state is greater than the
other metrics corresponding to the other transmission states,
selecting, by the source node, a second transmission state from the
set of available transmission states, the second transmission state
being different from the first transmission state; and
transmitting, by the source node, data using the second
transmission state.
20. A system comprising: one or more computers and one or more
storage devices storing instructions that are operable, when
executed by the one or more computers, to cause the one or more
computers to perform operations comprising: accessing, at a source
node in a network, information associated with a set of available
transmission states, wherein each transmission state included in
the set of available transmission states includes a combination of
a transmission frequency band, a radio frequency (RF) power level
and a transmission data rate that is distinct from other
transmission states included in the set; ordering, by the source
node, the available transmission states into a set of ranked
transmission states based on a first evaluation that measures a
theoretical energy per bit (EPB) for data transmission using the
available transmission states; selecting, by the source node, a
first transmission state from the set of ranked transmission
states; evaluating, by the source node, a first metric that
measures enemy expenditure for a transmission success rate
associated with data transmission for the first transmission state
included in the set of ranked transmission states; selecting, by
the source node, a second transmission state from the set of ranked
transmission states, the second transmission state being lower
ranked than the first transmission state; evaluating, by the source
node, a second metric that measures enemy expenditure for a
transmission success rate associated with data transmission for the
second transmission state included in the set of ranked
transmission states; determining, by the source node, whether the
second metric is less than the first metric; and based on
determining that the second metric is less than the first metric,
transmitting, by the source node, data using the second
transmission state.
Description
TECHNICAL FIELD
The following disclosure relates generally to channel adaptation in
sensor networks.
BACKGROUND
A wireless sensor network typically includes sensor nodes
distributed in an area that communicate with a base station using
wireless radio frequency (RF) channels.
SUMMARY
In one general aspect, a source node in a network accesses
information associated with a set of available transmission states.
The source node selects a first transmission state from the set of
available transmission states. The source node evaluates a metric
associated with transmitting the data. The source node determines
whether the metric is below a threshold value. Based on determining
that the metric is below the threshold value, the source node
selects a second transmission state from the set of available
transmission states, the second transmission state being different
from the first transmission state. The source node transmits data
using the second transmission state.
Implementations may include one or more of the following features.
Each of the first and second transmission states may include a
transmission frequency band, a radio frequency (RF) power level and
a transmission data rate. Each transmission state included in the
set of available transmission states may include a combination of a
transmission frequency band, an RF power level and a transmission
data rate that is distinct from other transmission states included
in the set.
The metric may include success rate associated with transmitting
the data. Evaluating the success rate may include determining a
ratio of an amount of the data transmitted to an amount of the data
received at a destination.
A destination node in the network may listen for data using each
transmission state included in the set of available transmission
states. The destination node may receive the data transmitted by
the source node. The source node may include a sensor and the
destination node may include a base station. Evaluating the metric
associated with transmitting the data may include one or more of
evaluating RSSI (receive signal strength indicator), determining a
packet success rate, or determining energy in a carrier band.
In another general aspect, a source node in a network accesses
information associated with a set of available transmission states.
The source node orders the available transmission states into a set
of ranked transmission states based on a first evaluation. The
source node selects a first transmission state from the set of
ranked transmission states. The source node evaluates a first
metric associated with data transmission for the first transmission
state included in the set of ranked transmission states. The source
node selects a second transmission state from the set of ranked
transmission states, the second transmission state being lower
ranked than the first transmission state. The source node evaluates
a second metric associated with data transmission for the second
transmission state included in the set of ranked transmission
states. The source node determines whether the second metric is
less than the first metric. Based on determining that the second
metric is less than the first metric, the source node transmits
data using the second transmission state.
Particular implementations may include one or more of the following
features. The first evaluation may include a theoretical energy per
bit (EPB) used for data transmission. Ordering the transmission
states into the set of ranked transmission states may include
ordering the transmission states into the set of ranked
transmission states based on increasing EPB such that a
transmission state associated with a lower EPB is placed higher in
the set compared to a transmission state associated with a higher
EPB.
The first metric and the second metric may include at least one of
energy consumption lifecycle cost for data transmission, received
signal strength indicator (RSSI), packet success rate (PSR)
associated with transmitting the data and energy in a carrier band.
Evaluating the PSR may include determining a ratio of an amount of
the data transmitted to an amount of the data received at a
destination.
Each of the first and second transmission states includes a
transmission frequency band, a radio frequency (RF) power level and
a transmission data rate. Each transmission state included in the
set of available transmission states may include a combination of a
transmission frequency band, an RF power level and a transmission
data rate that is distinct from other transmission states included
in the set.
A destination node in the network may listen for data using each
transmission state included in the set of available transmission
states. The destination node may receive the data transmitted by
the source node. The source node may include a sensor and the
destination node may include a base station.
Accessing the information associated with a set of available
transmission states may include accessing, by the source node, the
information based on a predetermined schedule. The source node may
determine energy expenditure associated with transmitting data
using the second transmission state. The source node may select a
third transmission state from the set of ranked transmission
states, the third transmission state being a transmission state
that was previously used for transmission. The source node may
examine previously assessed energy savings associated with data
transmission using the third transmission state. The source node
may determine whether the previously assessed energy savings is
greater than the energy expenditure associated with transmitting
data using the second transmission state. Based on determining that
the previously assessed energy savings is greater, the source node
may transmit data using the third transmission state.
Ordering the transmission states into the set of ranked
transmission states may include ordering the transmission states
into the set of ranked transmission states based on increasing
energy consumption lifecycle cost such that a transmission state
associated with lower energy consumption lifecycle cost is placed
higher in the set as compared to a transmission state associated
with higher energy consumption lifecycle cost.
Implementations of the techniques discussed above may include a
method or process, a system or apparatus, a wireless sensor
network, a sensor node, a communications node, a receiver, a
transceiver, a kit, or computer software stored on a
computer-accessible medium. The details of one or more
implementations are set forth in the accompanying drawings and the
description below. Other features will be apparent from the
description and drawings, and from the claims.
DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an example of a communications system for RF
channel adaptation between sensor nodes and a base station.
FIG. 2 illustrates an exemplary sensor node that implements RF
channel adaptation.
FIG. 3 is a flow chart illustrating an exemplary process for RF
channel adaptation by a sensor node.
FIG. 4 is a flow chart illustrating another exemplary process for
RF channel adaptation by a sensor node.
FIG. 5 is a flow chart illustrating an exemplary process of power
expense evaluation for RF channel adaptation by a sensor node.
FIG. 6 is a flow chart illustrating an exemplary process for
determining when to perform power expense evaluation for RF channel
adaptation by a sensor node.
FIG. 7 is an exemplary plot illustrating the effect of RF channel
adaptation by a sensor node on energy consumption and transmission
range.
DETAILED DESCRIPTION
This disclosure relates to a wireless Local Area Network (LAN). The
LAN may provide reduced energy consumption, improved communication
reliability, increased data throughput, and improved transmission
range. The LAN may address the competing demands of performance and
lifecycle cost for battery or energy harvester powered sensor
nodes. The LAN may employing distributed intelligence throughout a
network (for example, a wireless sensor network) to adapt a metric
of a sensor in the network. The metric may be, for example,
transmission frequency, over-the-air data rate, and/or RF
transmission power level. The adaptation may be achieved, without
adversely impacting network data throughput and energy consumption
(which would be typical in currently available LAN), through the
use of dedicated RF channels at a central wireless collection
server, a star network topology, and/or autonomous performance
optimization at nodes of the LAN.
In some applications, such as monitoring or control of machines,
vehicles, aircraft, civil infrastructure, manufacturing facilities,
or industrial processes, a wireless sensor network that includes
multiple sensor nodes may provide an advantage as compared to wired
solutions. Such applications may require robust and high data rate
communications, but may not allow for the cost or additional weight
associated with wired sensors. This may be the case particularly in
cost sensitive Condition Based Maintenance (CBM) applications where
sensors are used to acquire data that is intended to reduce the
cost of maintenance, secondary damage, and downtime. The wireless
sensors may have steady power sources or supplies. The power source
for a wireless sensor node may be either an energy harvester or
battery having a size and weight determined by the sensor power
budget. Because weight or size of the sensors may be a key
consideration in implementing a sensor network, the power budget of
wireless sensor nodes may be limited, thereby limiting the
lifecycle of the network. Therefore, there may be a tradeoff
between sensor capability and sensor weight or size, and,
consequently, a tradeoff between the functionality of the sensor
network and the sensor lifecycle cost. This tradeoff may be
particularly keen for wireless sensors because of the high data
throughput and high reliability typically desired in many sensor
applications.
The sensor nodes provide an interface between aspects of the
physical surroundings in which they are place and the human or
computer that is controlling or monitoring the physical
surroundings. For example, the sensor node may measure temperature,
pressure, vibration, strain, position, or flow rate. In this
example, the sensors are acquiring information from the physical
surroundings, which could include a machine, process, or system,
and delivering that information through a wireless communication
network to the desired user or computer control interface.
The sensor nodes may include the ability to receive data from the
user or computer controller and deliver commands or control signals
to the physical environment, which could include, for example a
valve or switch. The sensor in this context includes not only
features that are similar to a measurement node, but also
additional features such as a bidirectional interface with its
physical surroundings.
By maximizing the power supply energy/power density while reducing
electrical power consumption of the communications system, the
sensor network may achieve the goal of high data throughput and
high reliability. Maximizing the power supply energy/power density
while reducing electrical power consumption of the communications
system may be achieved by suitably configuring the radio frequency
(RF) transmission portion of the communications system, because RF
transmission is responsible for a relatively large portion of the
energy consumed by the sensor nodes.
The RF transmission capability of the sensor nodes in the sensor
network is controlled by central server. The central server may be
referred to as a base station. The RF channel used for transmission
is usually synchronized amongst all the sensor nodes and the base
station. However, this may lead to concentrated usage of a single
narrow frequency band and internetwork interference in transmission
between sensor nodes, thereby degrading system performance. In
addition, frequent synchronization of the RF channel may
unnecessarily expend energy of the sensor nodes.
Improvement in the performance of the sensor communications system
may be realized by implementing a wireless local area network (LAN)
solution that employ distributed intelligence throughout the
network to adapt transmission frequency, over-the-air data rate,
and RF transmission power level. Such adaptability is achieved
through using dedicated RF channels at a central wireless
collection server that may serve as the base station, an array of
receivers arranged in some topology, and autonomous performance
optimization at the transmitting sensor nodes of the wireless LAN.
The base station or collection server has multiple receivers at
different locations operating at different frequencies. A sensor
node transmits using a RF channel that has a suitable combination
of frequency, data rate, and RF power parameters. The sensor node
performs RF channel adaptation, that is, the sensor node evaluates
the RF channel and, based on the evaluation, switches to another RF
channel that is associated with less energy consumption for data
transmission, independently of all other sensor nodes in
system.
A sensor system with the above wireless LAN implementation may
reduce life cycle cost through energy consumption minimization. By
using multiple receivers at different locations, the system may
improve multipath fading using spatial diversity (antenna
diversity). The use of different frequencies for
transmission/reception may lead to rapid and robust, low energy
consumption/cost interference mitigation (frequency agility). An
automated data rate improvement may be achieved through balancing
frequency spectrum usage. Unpredictable frequency adaption by the
sensor nodes may be suited to robust security of the system. Having
different nodes transmit at different frequencies may lead to
higher throughput and reduced internetwork interference. The system
may be able to dynamically adapt to changing data demands or
changing RF environment, or both. In addition, the system may be
able to accommodate either a very long range or very high data
rates in the same network.
FIG. 1 illustrates an example of a communications system for RF
channel adaptation between sensor nodes and a base station. The
communications system 100 is a wireless sensor network that
includes sensor nodes, such as sensor nodes 112a, 112b and 112c
(collectively referred to as sensor nodes 112), that are spatially
distributed throughout the network. Each sensor node 112 is a
processing device that measures and/or responds to some physical
quantity, and the sensor nodes 112 communicate with a base station
130 through a network 120. The base station 130 includes receivers,
such as receivers 132a, 132b and 132c (collectively referred to as
receivers 132), which communicate with a central collection server
134 through a connection 136.
The nodes in the communications system 100, such as 112a, 112b or
112c, may be any type of network node or communications node. For
example, the nodes 112a, 112b or 112c may be configured for
providing an output signal. This may be in addition to, or as an
alternative to, providing some sensing functionality. Therefore,
although the rest of the disclosure refers to the nodes 112 in the
communications system 100 as sensor nodes 112, the nodes 112 may be
network nodes.
The network 120 may be, for example, a local area network (LAN), a
wide area network (WAN), or part of the Internet. The network 120
may include one or more wireless RF channels (not shown), which are
used by the sensor nodes to communicate with the base station 130.
Each RF channel may operate at a different frequency and data rate,
or all or some of the RF channels may operate at the same frequency
and data rate. Each RF channel may have the same bandwidth and be
capable of supporting similar data rates, or the RF channels may
have different bandwidths and support different data rates. The
number of RF channels included in the network 120 may be same as or
greater than the number of sensor nodes in the wireless sensor
network such that each sensor node is able to transmit using a
different RF channel. The number of RF channels may be less than
the number of sensor nodes such that at least some of the sensor
nodes 112 share some of the RF channels for transmission.
Each of the receivers 132 includes one or more network interfaces
and one or more antennas through which the receiver establishes a
connection to the network 120. The connection may be a wireless
and/or wired connection. Each of the receivers 132 may receive data
from the sensor nodes 112 over the RF channels and forward the data
to the central collection server 134. The collection server may
reside near the LAN or offsite. One or more collection servers may
be used to serve a LAN. The collection server supplies data to a
data storage server that is controlled by a web hosted client. The
web client controls both the database and the collection servers.
The database may be locally hosted or use a remote cloud-based
infrastructure. The connections between the collection servers and
other collection servers or the web host may use wired or wireless
connections including Wi-Fi, cellular phone connections, or
satellite phone service infrastructure.
In some implementations, each of the receivers 132 also may be
configured for transmitting data to the sensor nodes 112 over the
RF channels. All the receivers 132 may be wired to the central
collection server 134 and line-powered such that the receivers are
not energy-constrained. Each of the receivers 132 has an antenna
that is located at a different location, thus achieving spatial
diversity.
In such implementations, each of the receivers 132 also may be
referred to as a "transceiver," since each of the receivers 132 is
configured for bidirectional communication. Therefore, although the
rest of the disclosure makes reference to the receivers 132, the
term "transceivers" is equally applicable to the receivers.
Each of the receivers 132 has a fixed frequency and data rate that
corresponds to its RF channel and power level. The power level of
each of the receivers 132 may be initially set to a maximum value.
Any given receiver communicates with a subset of the sensor nodes
that are transmitting on the same RF channel using the same
frequency and data rate.
The central collection server 134 may include one or more servers
that collect and process data received from the sensor nodes 112 by
the receivers 132 in the base station 130. The central collection
server 134 may store and process sensor node data and may send
instructions to the sensor nodes 112 as needed. The central
collection server 134 includes one or more processors configured to
execute instructions stored by a computer-readable medium, and the
central collection server 134 includes one or more network
interfaces through which the server 134 is connected to the
receivers 132, which in turn communicate with the sensor nodes
112.
In some implementations, the central collection server 134
configure the RF channels such that each RF channel has a different
frequency and data rate. The central collection server 134 sends
the list of RF channels and corresponding frequency and data rates
to the sensor nodes 112. In some implementations, each RF channel
is configured separately, for example, by a network administrator.
The list of RF channels is provided and/or loaded onto the sensor
nodes 112 at the time of deployment. The receivers 132 are
configured with different RF channels when the receivers 132 are
deployed in the sensor network.
The connection 136 connects all the receivers 132 to the central
collection server 134. The connection 136 may be a wired and or
wireless connection. The receivers 132 may be arranged spatially in
a circle or oval and connected to the central collection server 134
through the connection 136. The receivers 132 may be arranged in
some other geometry, for example, a square or rectangle, to the
central collection server.
In some implementations, the sensor nodes 112 communicate with the
receivers 132 over the RF channels in network 120 in a star
topology, that is, the sensor nodes 112 maintain one-to-one
communication with the receivers 132 in the base station and there
is no direct connection between the sensor nodes 112 themselves. In
some implementations, the sensor nodes 112 communicate with the
receivers 132 over the RF channels, and are also connected with
other sensor nodes using the wireless channels, that is, the
network implements a mesh topology.
In the wireless sensor network implemented by the communications
system 100 as described above, in general, a sensor node, for
example, 112a, transmits to a single receiver, for example, 132a.
The RF channel used by the sensor node 112a and the receiver 132a
is the same, that is, the sensor node 112a is transmitting using
the same frequency (F) and data rate (R) at which the receiver 132a
is listening. The sensor node 112a may transmit using the RF
channel that provides the most suitable set of parameters (F, R,
P), with P being the RF transmission power level, F being the
transmission frequency, and R being the data rate, for minimizing
the sensor node energy consumed for the transmission. The sensor
node may adapt a combination of two or more of the parameters
frequency (F), RF power (P) and data rate (R). If the transmission
to the current receiver, for example, 132a, is poor, the sensor
node 112a may change the data rate (R) and frequency (F) to any of
the other discrete frequency and data rate, that is, a different RF
channel, at which the some other receiver in the base station, for
example, 132b or 132c, is set. In addition, the sensor node 112a
may autonomously change the power level (P) for improving the
transmission. The base station 130 adapts the data rate (R) and
frequency (F) by having different receivers 132 listening at
different combinations of frequency and spatial position of
antennas. The base station 130 also may adapt the spatial position
of antennas by having antennas of different receivers located at
different places.
In some implementations, the RF channel parameters used by the
sensor nodes 112 are consistent across the network and are designed
to meet the requirements of the sensor node with the lowest link
budget. The sensor nodes may be located in a wide range of
locations with varying path loss, interference levels, and
multipath problems; therefore, the link budgets for each sensor
node may be highly variable. Sensor nodes with high link margins
may expend more energy than what is required to maintain reliable
communication with the respective receivers.
The adaptation of the RF channel parameters as described previously
may be applied to ultra-low power radio networks in which the
sensor nodes are configured for operation over periods of multiple
years on a single double AA battery. For example, such nodes may be
implemented using radios based on the IEEE802.15.4 specification,
or slightly outside of that specification to include a broader
range of functionality. Example radios include Texas Instrument's
CC2530, Nordic Semiconductor's nRF24L01, and Atmel's AT86RF230.
Typically, these radios are designed to operate in the unlicensed
ISM (Industrial Scientific, Medical) frequency bands, for example,
2.4 GHz to 2.5 GHz.
For the sensor nodes described previously, lower energy consumption
by an additional factor of two may be realized by adapting data
rate over power level adaption alone. The impact of frequency
adaption may vary depending on the level and type of interference
present in the network. If there is a high degree of interference
present in specific RF channels, orders of magnitude additional
energy may be consumed through retransmission to ensure reliable
data communication. As indicated previously, signal fading due to
multipath effects also may influence the link budget; this may be
addressed with the spatial distributions of antennas of the
receivers at the base station.
Each of the sensor nodes 112 may tailor its RF power level
independently from all other sensor nodes and the receivers 132.
However, with frequency and data rate adaption, both ends of the
communication link, that is, the particular sensor node and
receiver on the same RF channel, use the same frequency and data
rate. In traditional networks, the adaption of frequency and data
rate in a dynamically changing environment may be synchronized
between the sensor node and the receiver through additional
communications between the two entities. The additional
communication may impact the energy budget of the sensor node. For
example, in Bluetooth.TM. networks, the sender and receiver are
synchronized using frequency hopping. However, the power
consumption demands of nodes in a Bluetooth.TM. network are
generally an order of magnitude greater than levels that are
achievable using the adaptation mechanism implemented by the sensor
nodes in the communications system 100.
The communications system 100 enables low power adaption of
frequency and data rate by adopting a specific configuration in
which base station has multiple wireless receivers that are
listening on RF channels set to fixed frequencies and data rates.
The number of RF channels configured for the receivers determine
the range of adaption for the sensor nodes. The different data
rates are supported by having RF channels with different
frequencies. For i independent frequencies and j different data
rates, the total number of RF channels configured for the receivers
may be i.times.j.
The sensor nodes may independently switch between different
frequencies and data rates without requiring synchronization of the
sensor nodes and receiver RF channel switching or entire network
channel switching, thereby eliminating additional energy
consumption by the sensor nodes and associated switching liability
concerns.
FIG. 2 illustrates an exemplary sensor node 200 that implements RF
channel adaptation. The sensor node 200 may be, for example, one or
more of the sensor nodes 112. The following describes the sensor
node 200 as being included in the wireless sensor network shown in
FIG. 1. However, the sensor node 200 may be implemented in other
systems or system configurations.
The sensor node 200 includes a processor 202 coupled to a network
interface 204 that is coupled to an antenna 206. The sensor node
200 also includes an electronic storage medium 208 that stores a
list of RF channels 208a and is connected to the processor 202. In
addition, sensor node 200 includes one or more sensing elements
210.
The processor 202 is configured for execute instructions stored by
the storage medium 208 for performing various operations, such as
input/output, communication, data processing. For example, the
processor 202 may read a list of preconfigured RF channels that is
stored in the storage medium 208, and evaluate each RF channel for
determining the most suitable parameters for transmission. The
processor 202 may store the results of the evaluation in the
storage medium 208, and configure the antenna 206 to transmit and
receive on the RF channel that is determined to be most suitable
for the sensor node 200. The processor 202 also may receive
environmental data collected by the sensing element 210 and store
the data in the storage medium 208. At predetermined intervals, the
processor 202 may forward the data to the central collection server
at the base station using the network interface 204 and the antenna
206.
The network interface 204 is configured for establishing
connections to one or more networks, such as network 120. The
connections may be wireless and/or wired connections. The network
interface 204 establishes the connections by configuring the
antenna 206 for a suitable RF channel based on the instructions
received from the processor 202. All data being sent or received by
the sensor node is forwarded through the network interface 204.
Although only one network interface is shown, the sensor node 200
may include multiple network interfaces that are coupled to
different antennas. Alternatively, the sensor node 200 may include
multiple network interfaces that are coupled to a single antenna,
or the sensor node 200 may include a single network interface that
is coupled to multiple antennas.
The storage medium 208 may be a hard drive, read-only memory (ROM)
or random access memory (RAM), a flash memory device, a floppy
drive, a CD-ROM, or some other suitable storage medium that is
readable by the processor 202. The storage medium 208 is configured
for storing data and instructions for execution by the processor
202. The data may include the list of RF channels 208a using any of
which the sensor node 200 may transmit/receive.
The instructions and/or data such as the list of RF channels 208a
may be stored in the storage medium 208 before deployment of the
sensor node 200 in the network, for example, at the time of
manufacture of the sensor node. Alternatively, the instructions
and/or data may be dynamically stored in the storage medium 208
during operation in the network, for example, through wireless
communication and commands from the base station in the sensor
network. The instructions and data also may be periodically updated
in the storage medium 208. For example, the processor 202 may
periodically store environmental data that is collected by the
sensor node 200 through measurements by the sensing element
210.
The sensing element 210 is a component that measures and responds
to some physical quantity in the environment of the sensor node
200. The sensing element 210 may have one or more interfaces that
are exposed to the environment outside the confines of the sensor
node 200 for measuring the environmental parameters. The sensing
element 210 may respond to the measurement by performing some
action, for example, converting the physical quantity to a signal
that is processed by the processor 202. For example, sensing
element 210 may be a thermocouple that measures the ambient
temperature and outputs a voltage based on the measurement. As
another example, the sensing element 210 may detect physical
vibrations in the environment and convert the mechanical energy of
the vibrations into electrical energy that is stored in the sensor
node 200 as an energy source.
In some implementations, the sensor node 200 may be a microcomputer
with basic computing functionality, while in other implementations,
the sensor node 200 may be full-fledged computer with comprehensive
capabilities, for example, a desktop computer, laptop computer, a
tablet computer, a netbook, a smart phone, an e-book reader, or any
other appropriate portable or stationary computing device.
FIG. 3 is a flow chart illustrating an exemplary process 300 for RF
channel adaptation by a sensor node. The process 300 may be
performed by one or more of the sensor nodes 112. The following
describes the process 300 as being performed by the sensor node
112a and other components of the communications system 100.
However, the process 300 may be performed by other systems or
system configurations.
A sensor node accesses information on available transmission states
(302). A transmission state [P, R, F] includes the frequency (F),
data rate (R) and/or RF power level (P) at which the sensor node
may transmit. The frequency and data rate correspond to an RF
channel that is configured on at least one of the receivers 132.
For example, the sensor node 112a may access the list of RF
channels 208a that is stored in the storage medium 208 in the
respective sensor node.
The sensor node selects a new transmission state (304). For
example, the sensor node 112a may have been transmitting on an RF
channel that is experiencing interference or fading effects,
resulting in a poor success rate in transmitting data to the
receiver listening on the particular RF channel. To improve
performance, the sensor node 112a selects a different transmission
state from the list of transmission states known to the sensor node
112a.
The sensor node transmits using the selected transmission state
(306). For example, the sensor node may send test packets, such as
a beacon message, on the RF channel corresponding to the frequency
and data rate associated with the selected transmission state. The
sensor node may transmit using the power level set to the RF power
level associated with the selected transmission state.
The sensor node evaluates a metric (308). In order to determine
whether the presently selected transmission state is suitable for
data transmission, or to compare the selected transmission state to
other transmission states included in the list 208a, the sensor
node evaluates one or more metrics based on the transmission. For
example, one metric that may be used for evaluation is a cost
function (C) associated with the energy consumption for the
transmission.
The cost function (C) is the ratio of theoretical energy per bit
(EPB) of data transmitted and the packet success rate (PSR) raised
to a power factor (m). The PSR is a measure of the number of
packets successfully received by the receiver to the number of
packets sent by the sender. PSR is an experimentally measured
parameter that depends on the environment and may vary both
spatially across the network and temporally. The value of PSR may
be between 0 and 1. PSR may be different based on the locations of
the transmit and receive antennas. The EPB quantities for each
transmission state depend on the RF power level (P) and data rate
(R) but not on the environment or other external factors. A set of
EPB values for combinations of R and P may be used as constants for
a sensor node.
Minimizing the cost function (C) offers the lowest energy
consumption for transmission by the sensor node and therefore
minimizes the lifecycle cost of the sensor node. The cost function
(C) takes into consideration the degree of reliability of the data
transmissions that are required, which is controlled by the power
factor (m). High values for the power factor (m) indicate the need
for consistent operation at a higher RF power level at the expense
of energy consumption.
The power factor (m) is a network configuration variable that is
set as a fixed parameter for each sensor node corresponding to the
required reliability or persistence of the data communication that
is required. Each sensor node may have a different power factor
(m).
Increasing the data rate (R) reduces the RF transmission period for
a given volume of data. Because the data rate (R) does not impact
the radio power consumption, increases in data rate (R) directly
reduce the EPB. However, increasing the data rate (R) may reduce
the receive sensitivity and therefore the link budget, which may
lead to incorrect measurement of the PSR. Reducing the RF power
level (P) has a similar effect on the EPB as increasing the data
rate. Lowering RF power levels may generally reduce the EPB but may
also reduce the PSR.
Adapting the frequency (F) over a relatively narrow range (for
example, within an ISM band) does not impact the EPB, but may
address either or both interference and multipath fading problems
which impact the measured PSR.
Returning to the process 300, upon evaluating the metric, the
sensor node determines whether the metric is lower than a threshold
(310). For example, the sensor node may determine whether the cost
function for the selected transmission state is less than the cost
function for the previous transmission state. Alternatively, the
sensor node may determine whether the cost function for the
selected transmission state is less than the lowest cost function
for other transmission states that were previously computed.
If the sensor node determines that the metric is not lower than the
threshold, then the sensor node selects a new transmission state
from the list 208a and performs the evaluation for the newly
selected state, as described previously. If the sensor node
determines that the metric is lower than the threshold, then the
sensor node continues transmitting using the selected transmission
state (312). For example, if the evaluated cost function for the
selected state is determined to be lower than the cost function for
the previous transmission state, the sensor node achieves improved
or that is lower, energy consumption by transmitting using the
selected state.
FIG. 4 is a flow chart illustrating another exemplary process 400
for RF channel adaptation by a sensor node. The process 400 may be
performed by any of the sensor nodes 112. The following describes
the process 400 as being performed by the sensor node 112a and
other components of the communications system 100. However, the
process 400 may be performed by other systems or system
configurations.
The process 400 is executed by a sensor node accessing a list of
transmission states [P, R, F] (402). For example, sensor node 112a
may access the list of RF channels 208a that is stored in the
storage medium 208 in the respective sensor node.
The sensor node selects a transmission state [P.sub.i, R.sub.i,
F.sub.i], i=k, from the list (404), where k is an integer number
that corresponds to a particular transmission state. For example,
the sensor node 112a may have been transmitting on an RF channel
that is experiencing interference or fading effects such that the
sensor node 112a has a poor success rate in transmitting data to
the receiver listening on the particular RF channel. Consequently,
the sensor node 112a selects a different transmission state from
the list of transmission states known to the sensor node.
The sensor node 112a sends a beacon to a receiver using frequency
F.sub.i at data rate R.sub.i and using power level P.sub.i (406).
For example, the sensor node 112a may send test packets, such as a
beacon message, on the RF channel corresponding to the frequency
F.sub.i and data rate R.sub.i indicated by the selected
transmission state. The sensor node 112a may transmit using the
power level set to the RF power level P.sub.i indicated by the
selected transmission state.
The sensor node determines whether an acknowledgement is received
(408). For example, the receiver at the base station that is
listening on the RF channel corresponding to the frequency F.sub.i
and data rate R.sub.i may receive the beacon message sent by the
sensor node 112a and reply with an acknowledgement indicating
successful reception of the beacon message.
The sensor node reads the acknowledgement (410). For example, the
sensor node 112a reads the acknowledgement to determine whether the
acknowledgement is in response to the beacon message. In addition,
the sensor node 112a may examine the payload of the acknowledgement
message to determine whether the message includes any additional
information.
The sensor node determines whether an action is requested (408).
For example, the receiver may include additional commands in the
acknowledgement message that it sends in response to the beacon
message. For example, the commands may be sent by the central
collection server 134 in the base station 130. The additional
commands may be included in the payload of the acknowledgement
message. When examining the payload of the acknowledgement message,
the sensor node 112a determines whether additional information in
the payload includes any command for performing some action.
If the sensor node determines that an action is requested, the
sensor node 112a acts on the command (414). For example, the sensor
node 112a performs some action based on the command included in the
payload of the acknowledgement message.
Once the command is executed, or if the sensor node 112a determines
that no action is requested, the sensor node evaluates the rate of
acknowledgement success rate for the selected transmission state
[P.sub.i, R.sub.i, F.sub.i], i=k, an integer number that
corresponds to a transmission state (416). For example, the sensor
node 112a may determine PSR for the selected transmission state
based on the beacon messages that it sends.
The sensor node 112a determines whether more pings are needed for
the evaluation (418). For example, the sensor node 112a may
determine that the sample space of acknowledgements is too small
for performing a suitable evaluation of the PSR for the selected
transmission state.
If the sensor node 112a determines that more pings are needed for
the evaluation (418), the sensor node 112a may send another beacon
to the receiver using the frequency F.sub.i at data rate R, and
using power level P.sub.i (406), and repeat the process of
receiving and evaluating acknowledgements.
On the other hand, if the sensor node 112a determines that more
pings are not needed for the evaluation, the sensor node analyzes
whether the selected transmission state is a good transmission
state (420). For example, the sensor node 112a may compute the cost
function (C) using the theoretical EPB for the selected
transmission state (which is pre-computed) and the evaluated PSR.
Alternatively, the sensor node 112a may formulate a representative
PSR based on measuring one or more of RF energy in a given band or
a Receive Signal Strength Indication (RSSI).
If the sensor node 112a determines that the transmission state is
not good, then the sensor node changes to a new transmission state
[P.sub.i, R.sub.i, F.sub.i], i=l (422), which is selected from the
list of transmission states 208a. Here l is a particular
transmission state that is different from the transmission state k.
The sensor node 112a send a beacon to the receiver using the
frequency F.sub.i at data rate R.sub.i and using power level
P.sub.i (406), where i=l, and repeats the process of receiving and
evaluating acknowledgements.
On the other hand, if the sensor node 112a determines that the
transmission state is a good transmission state, then the sensor
node 112a continues transmitting using the transmission state
[P.sub.i, R.sub.i, F.sub.i], i=k (424). For example, if the
evaluated cost function for the state [P.sub.i, R.sub.i, F.sub.i],
i=k is determined to be lower than the cost function for the
previous transmission state, the sensor node achieves better, that
is, lower, energy consumption by transmitting using the selected
state.
FIG. 5 is a flow chart illustrating an exemplary process 500 of
power expense evaluation for RF channel adaptation by a sensor
node. The process 500 may be performed by any of the sensor nodes
112. The following describes the process 500 as being performed by
the sensor node 112a and components of the communications system
100. However, the process 500 may be performed by other systems or
system configurations.
The process 500 is executed when a sensor node intends to map the
available RF channels to find a suitable set of transmission states
to operate within. The process 500 minimizes the energy consumption
of the sensor node for finding the suitable set of transmission
states.
In order to perform the power expense evaluation for RF channel
adaptation, the sensor node 112a initially clears all costs
associated with (R, P) pairs (501). For example, the sensor node
112a deletes the previously evaluated values of the PSR and cost
function (C) for the different transmission states that are stored
in the storage medium 208, along with the list of RF channels
208a.
After clearing the costs, the sensor node 112a selects an initial
operating frequency, for example, F.sub.n. The sensor node sets the
frequency to F.sub.n (502). For example, the sensor node 112a
selects a transmission state having a frequency F.sub.n and sets
the transmission frequency of the antenna 206 to F.sub.n.
The sensor node 112a orders (R, P) pairs for F.sub.n from lowest to
highest energy per bit (EPB) (504). For example, there may be
multiple transmission states corresponding to frequency F.sub.n,
with each having a different combination of data rate and RF power
level (R, P). The sensor node 112a identifies all such transmission
states and orders the (R, P) pairs from low to high based on the
nominal cost function associated with the pairs. The nominal cost
function for each (R, P) pair is same as the associated EPB, since
the EPB for a given (R, P) pair corresponds to the cost function
(C) for that pair when the PSR has a unitary value.
The sensor node 112a selects the (R, P) pair for the lowest EPB
(506). For example, the sensor node configures the network
interface 204 to transmit data at the data rate (R) corresponding
to the lowest EPB, and configures the antenna 206 to radiate at the
RF power level (P) corresponding to the lowest EPB.
The sensor node 112a evaluates the cost function (507). For
example, the sensor node evaluates the PSR for the specific
[F.sub.n, R, P] and calculates the cost function (C) based on the
known EPM and the evaluated PSR.
The sensor node 112a determines whether the cost function is lower
than the lowest cost (508). For example, the sensor node determines
whether the recently calculated (C) is lower than any other
previously calculated cost function that are above the row
corresponding to the selected (R, P) in the ordered (R, P)
list.
If the sensor node 112a determines that the cost function is not
lower than the previously calculated cost functions, then the
sensor node increments to the next (R,P) pair (509) and evaluates
the cost function for the next pair (507). For example, the sensor
node selects the next pair from the ordered (R, P) list and repeats
the evaluation for the newly selected pair.
On the other hand, if the sensor node 112a determines that the cost
function is lower than the previously calculated cost functions,
the sensor node saves the (F, R, P) cost value (510). For example,
the sensor node saves the calculated cost function corresponding to
[F.sub.n, R, P] in the storage medium 208.
The sensor node 112a determines whether the cost function is lower
than the lowest EPB available (512). For example, the sensor node
112a compares the recently calculated (C) for [F.sub.n, R, P] to
the remaining EPB values corresponding to the remaining data rate
and power level pairs that follow the selected (R, P) pair in the
ordered (R, P) list. Because the remaining pairs in the order (R,
P) list have not been evaluated yet, the corresponding cost
functions are the nominal cost functions, that is, the associated
EPB values.
If the sensor node 112a determines that the cost function is not
lower than the lowest EPB available for the remaining (R, P) pairs,
then the sensor node increments to the next (R, P) pair (509) and
evaluates the cost function for the next pair (507). For example,
the sensor node selects the next pair from the ordered (R, P) list
and repeats the evaluation for the newly selected pair.
If the sensor node 112a determines that the cost function is lower
than the lowest EPB available for the remaining (R, P) pairs, the
sensor node 112a saves the [F.sub.n, R, P] corresponding to the
calculated cost function in the storage medium 208 as the most
suitable combination of (R, P) for the frequency F.sub.n. Then the
sensor node 112a increments the frequency value (514) and
determines whether the frequency space is out of frequencies (516).
If the space is out of frequencies, the power expense evaluation
for RF channel adaptation is done (518) and the process 500
terminates.
If other frequencies are available, the sensor node 112a selects
the next operating frequency, for example, F.sub.n+1 and sets the
transmission frequency of the antenna 206 to F.sub.n+1. The sensor
node determines the transmission states corresponding to the
frequency F.sub.n+1, orders the (R, P) pairs for F.sub.n+1 from
lowest to highest energy per bit (EPB) and proceeds to determine
the most suitable combination of (R, P) for F.sub.n+1, in a manner
similar to that described in the above section for F.sub.n.
The EPB versus (R, P) plane in a three-dimensional space
monotonically increases (EPB) with decreasing R and increasing P.
In addition, the PSR generally has an inverse trend that may not be
known until evaluation is conducted. Because the evaluation may be
expensive in terms of energy consumption, the minimum number of PSR
evaluations are completed by systematically evaluating the
transmission state cost function from the lowest EPB to highest EPB
and updating the nominal cost function (that is, EPB value with
unitary value of PSR) to the actual computed cost function. The
process 500 stops evaluating the PSR, and therefore the actual cost
function, when the lowest calculated cost function is lower than
any of the theoretically lowest cost function that may be possible
(that is, EPB) based on the remaining (R, P) pairs in the order (R,
P) list.
After the process 500 is performed, a set of transmission states
corresponding to the most suitable (R, P) pair for each frequency
F.sub.n are saved. Mapping of the frequency space that produces the
most suitable (R, P) values at a given time may be expensive from
an energy consumption standpoint because many test packets (for
example, beacon messages) may have to be sent from the sensor nodes
to the receivers in the base station. Therefore, the mapping may be
conducted based on one or more of several criteria, such as the
sensor node is reset, a fixed length timer, that is, a timer with a
fixed duration, expires, or the sensor node is expending a large
amount of energy that may be reduced by finding an operating state
with lower energy consumption.
In a steady state operating condition after the transmission state
mapping is performed using the process 500, the fixed length timer
may be evaluated, or the energy impact of the current operating
state may be evaluated, or both. The current operating state may
also need to adapt to changes in the environment to ensure reliable
transmission in the presence of external factors such as
interference and changes in the spatial environment. Updates to the
transmission state mapping may be conducted without going through
the complete state space mapping, for example, using the process
500, which may be expensive. Based on the transmission state
mapping, the state updates may incrementally move through the set
of most suitable (R, P) values for each frequency F.sub.n until an
operational condition with sufficiently low energy expenditure is
reached. If the (R, P) values do not produced a sufficiently low
energy operational condition for an acceptable value of the PSR,
then the theoretical best operational condition may be set (that
is, lowest data rate and highest RF power level for a given
transmission frequency).
The criterion for executing a power expense evaluation for
transmission state mapping before the fixed length timer expires
may be determined based on comparing the energy expenditure in
using the current transmission state to the energy expenditure in
performing the power expense evaluation for RF channel adaptation
using the process 500. This criterion may prevent the transmission
state mapping from consuming excessive power by frequently running
the power expense evaluation using the process 500 if the RF
environment changes frequently.
FIG. 6 is a flow chart illustrating an exemplary process 600 for
determining when to perform power expense evaluation for RF channel
adaptation by a sensor node. The process 600 may be performed by
any of the sensor nodes 112. The following describes the process
600 as being performed by sensor node 112a and other components of
the communications system 100. However, the process 600 may be
performed by other systems or system configurations.
The process 600 is executed once the initial transmission state
mapping based on power expense evaluation using process 500 is
performed, as described previously. Once the sensor node enters a
steady state of operation, the sensor node starts a power expense
evaluation trigger timer (602). For example, the sensor node starts
a fixed length timer.
In the steady state, the sensor node operates the system at
[F.sub.n, R, P] (604). For example, the sensor node the determines
the combination of F.sub.n and (R, P) that provides the lowest
value of the cost function using the process 500 and selects the
[F.sub.n, R, P] combination as the operating condition for
transmission to the receivers at the base station.
The sensor node 112a determines whether the compute cost function
timer has expired (606). For example, when initializing steady
state operation, the sensor node set a timer for computing the cost
function. The sensor node 112a is configured to recomputed the cost
function at a time when the timer expires. Subsequently during
operation in the steady state, the sensor node 112a periodically
checks whether the timer for computing the cost function has
expired.
If the timer has not expired, then the sensor node continues
operation in the steady state, using parameters [F.sub.n, R, P]
(604). However, if the sensor node 112a determines that the timer
has expired, then the sensor node 112a computes the cost function
at the current time t for parameters [F.sub.nt, R.sub.t, P.sub.t]
(608). For example, the cost function timer may expire at time t.
The transmission state [F.sub.n, R, P] may be labeled [F.sub.nt,
R.sub.t, P.sub.t]. The sensor node 112a evaluates the cost function
for the transmission state [F.sub.nt, R.sub.t, P.sub.t] as
described in process 500. The cost function for the same
transmission state may be different when evaluated at different
times. This is because the PSR may change with time, due to
temporal changes in the environment, such as changes in
interference, multipath fading, etc.
Upon computing the cost function at time t, the sensor node
determines a new trigger time for power expense evaluation (610).
For example, the sensor node 112a resets the trigger timer for
power expense evaluation.
The trigger timer is computed based on the relative energy expense
of operating in a given state and the energy required to perform
the power expense evaluation. The relative energy expense for
operating in a given state is computed as the difference between
the energy consumed by operating in the current state and that of a
previously used lowest state. The energy required to perform the
power expense evaluation is determined as the amount of
theoretically estimated or measured energy that was required to
perform the power expense evaluation. The trigger timer is computed
as the energy required to perform the power expense evaluation
divided by the difference in the average power consumed by
operating in the current and that of a previous lower power
state.
Subsequently, the sensor node 112a compares whether the cost
function C[F.sub.nt, R.sub.t, P.sub.t] at time t for [F.sub.nt,
R.sub.t, P.sub.t] is greater than the cost function C[F.sub.p,
R.sub.p, P.sub.p] for transmission state [F.sub.p, R.sub.p,
P.sub.p] (612). [F.sub.p, R.sub.p, P.sub.p] is the operating point
or transmission state in the list of transmission states that has
the lowest cost function (C) associated with it, and the frequency
F.sub.p is different from the frequency F.sub.nt.
If the sensor node 112a determines that C[F.sub.nt, R.sub.t,
P.sub.t] is not greater than C[F.sub.p, R.sub.p, P.sub.p], then the
sensor node checks whether the trigger timer has expired (614). If
the sensor node 112a determines that the trigger timer has not
expired, the sensor node 112a continues steady state operation
using [F.sub.n, R, P] (604), since the sensor node has determined
in (612) that the current transmission state is most suited for
providing the lowest cost function, that is, lowest energy
consumption for transmission. If the sensor node 112a determines
that the trigger timer has expired, then the sensor node runs the
power expense evaluation (622). For example, the sensor node 112a
performs the power expense evaluation using the process 500. Once
the power expense evaluation is completed, the sensor node 112a
resets the trigger timer (602) and re-launches the process 600.
Referring to the cost function comparison (612), if the sensor node
112a determines that C[F.sub.nt, R.sub.t, P.sub.t] is greater than
C[F.sub.p, R.sub.p, P.sub.p], then the sensor node 112a then checks
whether there are more operating points (616). For example, the
sensor node 112a may check whether there are additional
transmission states that might provide a better value for the cost
function.
If the sensor node 112a determines that there are no more operating
points available, then the sensor node enters into a low power
state and starts a wake up timer (618). For example, the sensor
node may determine that the current state [F.sub.nt, R.sub.t,
P.sub.t] provides the most suitable value of the cost function that
may be achieved under the present environmental conditions. In such
an event, the sensor node 112a maintains the current state.
However, to reduce energy expenditure, the sensor node 112a enters
into a low power operation mode and starts a wake up timer. When
the wake up timer expires, the sensor node 112a re-enters the high
power state and sends one or more messages to the receiver using
the selected transmission state.
If the sensor node determines that there are more operating points
available, then the sensor node moves to the next frequency
operation point [F.sub.p, R.sub.p, P.sub.p] (620). For example, the
sensor node 112a may determine that there is at least one more
transmission state available that may be evaluated for a better
cost function. The sensor node determines the combination of
F.sub.p and (R.sub.p, P.sub.p) corresponding to the additional
operating point and sets the combination as the operating condition
for transmission to the receivers at the base station (604). The
sensor node 112a then operates in the steady state at [F.sub.p,
R.sub.p, P.sub.p] and repeats the process 600 for checking the
timers and re-evaluating the cost function upon expiry of one or
more timers.
FIG. 7 is an exemplary plot 700 illustrating the effect of RF
channel adaptation by a sensor node on energy consumption and
transmission range. The RF channel adaptation indicated in FIG. 7
may be implemented by any of the sensor nodes 112 in the
communications system 100, for example, sensor node 112a, using the
process 500 along with the process 600. The following describes the
plot 700 with reference to the sensor node 112a and other
components of the communications system 100. However, the plot 700
also may be applicable to other systems or system
configurations.
The plot 700 is a two-dimensional plot having transmission range
702 as the X-axis and energy consumed per payload bit successfully
transmitted ("energy consumed") 704 as the Y-axis. In one
implementation, the plot 700 is based on the transmission frequency
(F) being the same for all the points in the plot. The plot 700
graphs the energy consumed 704 versus the range 702 for three data
rates (R)--curve 706 is for data rate 270 kbps, curve 708 is for
data rate 1 Mbps and curve 710 is for data rate 2 Mbps. For each
data rate curve, the plot 700 graphs three points corresponding to
three RF power levels (P)--points 706a, 708a and 710a correspond to
RF power level of 0 dBm, 706b, 708b and 710b correspond to RF power
level of 10 dBm and 706c, 708c and 710c correspond to RF power
level of 20 dBm.
In the example shown in FIG. 7, the range 702 is in meters (m) and
the energy consumed 704 is in micro-Joules per bit (.mu.J/bit). The
relationship between the data rates (R) is that 2 Mbps>1
Mbps>250 kbps. The curves 706, 708 and 710 indicate that the
effect of increasing data rate (R) is to lead to a reduction in
energy consumed 704. However, the range 702 also decreases as the
data rate increases. As described previously, this may be the case
because with higher data rates the sensor node is able to transmit
a similar amount of data in less time, thereby expending less
energy. However, the higher data rate also decreases the
reliability with which the data are received.
The relationship between the RF power levels (P) is that 20
dBm>10 dBm>0 dBm. For each data rate curve (for example, 706
or 708 or 710), the RF power level points (for example, 706a, 706b
and 706c) indicate that increasing RF power level (P) leads to an
increase in both the range 702 and the energy consumed 704. As
described previously, this may be the case because a higher RF
power level requires additional energy expenditure. In addition,
the higher RF power level increases the reliability of the
transmission over longer distances since the signal is stronger
(that is, the signal has more power).
Overall, the curves 706, 708 and 710 indicate that reducing the
data rate (R) may increase the range 702 and communication
reliability but may reduce the RF link budget (due to the increase
in energy consumed 704), which may compromise the packet success
rate for some applications. The curves also indicate that
increasing the RF power level (P) may increase the range 702 and
communication reliability but may reduce the RF link budget due to
the increase in energy consumed 704), which may compromise packet
success rate for some applications.
The curves shown in the plot 700 indicate that it may be more
beneficial to achieve gains in range 702 through increasing the RF
power levels (P) instead of lowering the data rates (R). This
analysis indicates that highest data rates and sufficiently high RF
power levels to obtain a target range may yield improved data
throughput and lower energy consumption for the sensor nodes,
thereby reducing the lifecycle cost of the sensor nodes.
The disclosed and other examples may be implemented as one or more
computer program products, that is, one or more modules of computer
program instructions encoded on a computer readable medium for
execution by, or to control the operation of, data processing
apparatus. The implementations may include single or distributed
processing of algorithms. The computer readable medium may be a
machine-readable storage device, a machine-readable storage
substrate, a memory device, or a combination of one or more them.
The term "data processing apparatus" encompasses all apparatus,
devices, and machines for processing data, including by way of
example a programmable processor, a computer, or multiple
processors or computers. The apparatus may include, in addition to
hardware, code that creates an execution environment for the
computer program in question, for example, code that constitutes
processor firmware, a protocol stack, a database management system,
an operating system, or a combination of one or more of them.
A computer program (also known as a program, software, software
application, script, or code) may be written in any form of
programming language, including compiled or interpreted languages,
and it may be deployed in any form, including as a standalone
program or as a module, component, subroutine, or other unit
suitable for use in a computing environment. A computer program
does not necessarily correspond to a file in a file system. A
program may be stored in a portion of a file that holds other
programs or data (for example, one or more scripts stored in a
markup language document), in a single file dedicated to the
program in question, or in multiple coordinated files (for example,
files that store one or more modules, sub programs, or portions of
code). A computer program may be deployed to be executed on one
computer or on multiple computers that are located at one site or
distributed across multiple sites and interconnected by a
communication network.
The processes and logic flows described in this document may be
performed by one or more programmable processors executing one or
more computer programs to perform functions by operating on input
data and generating output. The processes and logic flows may also
be performed by, and apparatus may also be implemented as, special
purpose logic circuitry, for example, an FPGA (field programmable
gate array) or an ASIC (application specific integrated
circuit).
Processors suitable for the execution of a computer program
include, by way of example, both general and special purpose
microprocessors, and any one or more processors of any kind of
digital computer. Generally, a processor will receive instructions
and data from a read only memory or a random access memory or both.
The essential elements of a computer may include a processor for
performing instructions and one or more memory devices for storing
instructions and data. Generally, a computer may also include, or
be operatively coupled to receive data from or transfer data to, or
both, one or more mass storage devices for storing data, for
example, magnetic, magneto optical disks, or optical disks.
However, a computer need not have such devices. Computer readable
media suitable for storing computer program instructions and data
can include all forms of nonvolatile memory, media and memory
devices, including by way of example semiconductor memory devices,
for example, EPROM, EEPROM, and flash memory devices; magnetic
disks, for example, internal hard disks or removable disks; magneto
optical disks; and CD ROM and DVD-ROM disks. The processor and the
memory may be supplemented by, or incorporated in, special purpose
logic circuitry.
The network 120 may include analog or digital wired and wireless
networks (for example, Wi-Fi networks, wired Ethernet networks,
Public Switched Telephone Network (PSTN), Integrated Services
Digital Network (ISDN), and Digital Subscriber Line (xDSL)), Third
Generation (3G) or Fourth Generation (4G) mobile telecommunications
networks, private networks such as an intranet, radio, television,
cable, satellite networks, and/or any other delivery or tunneling
mechanism for carrying data, or any appropriate combination of such
networks.
The network 106 may include a packet-switched data network, a
circuit-switched data network, or any other network able to carry
data, for example, Internet Protocol (IP)-based or asynchronous
transfer mode (ATM)-based networks, including wired or wireless
networks. In some implementations, the central collection server
134 may be a desktop computer, a laptop computer, a tablet
computer, a smart phone, or any other appropriate portable or
stationary computing device.
A number of implementations have been described. Nevertheless, it
will be understood that various modifications may be made without
departing from the scope of the disclosure. Although operations are
depicted in the drawings in a particular order, this should not be
understood as requiring that such operations be performed in the
particular order shown or in sequential order, or that all
illustrated operations be performed, to achieve desirable
results.
* * * * *