Project Report

advertisement
Design and implementation of an end to end
communication system for Smart Appliances using Power
Line Communication.
Kaustubh R. Kale, Aarti Bharathan

Abstract-- The mere fascination provided by the idea of
devices “talking” with each other, without any other
medium besides the electric cable that is necessary for
their existence, was the fountainhead for this project.
Here is where Power line communication takes center
stage. They have brought about a paradigm change in
networking. They use one of the most ubiquitous
transportation medium available for signaling and
communication. Thus it has the potential of heralding
the smart appliances into the next generation.
Intelligent devices with the ability to interpret human
commands and act on them are called Smart
Appliances. Its intellect can be exploited further if
these devices can actually start talking to each other,
and control one another in a co-operative manner. The
mere fascination provided by the idea of devices
“talking” with each other, without any other medium
besides the electric cable that is necessary for their
INTRODUCTION
existence, was the fountainhead for this project. By
The vision is being able to buy a device from
talking we envisage that the smart appliances will be
BestBuy, plug it in the socket, plug any appliance to
able to exchange at minimum speech packets between
it; record the command word and you are set to
each other. At present the smart appliances can be
operate that device and any other in the house with it.
activated by a dedicated voice detection software
You don’t need an IP address or any special
running on the given appliance. But we want to
connection between the various devices. A powerline
operate them using the voice detection and activation
is all that is needed.
software of any other appliance. This said appliance
will broadcast the command word on the underlying
Powerline Communication has been stated to have the
Power line and the one to whom the command is
potential of being the next “big” thing after the
meant for will recognize the word and activate itself.
Internet itself. The idea of home networking has been
in the air for quite some time now. While most ideas
This communication scene may be viewed as a three-
have focused at developing something new for a home
part process [figure 1]. The first part comprises the
network, powerline communication taps the one
powerline itself, the second is a voice processing
resource now considered almost ubiquitous to every
device, in our case a computer and the third the smart
household – the powerline. Powerline Communication
appliance
empowers
with
infrastructure will enable voice communication
networking capabilities, thus heralding a new
between two PC’s connected over the powerline
generation of smart appliances in a smarter home.
network.
the
mundane
electric
socket
1
itself.
Another
ramification
of
this
topology by HomePlug. The PowerPacket stations
connect to a “standardized wall socket” by a line cord.
[figure 3 of specifications]
HomePlug provides a MAC service interface that
provides data and management transport services. A
set of primitives are defined for MAC/PHY interface.
Figure 1. Schematic diagram of the layout
The physical interface is in the form of waveforms
and electrical characteristics that are modeled to be
Section I describes the empowerment and working of
compatible with the waveforms generated by existing
powerline as a networking medium. Section II
household equipment.
describes VoIP as it is in use for our project. Section
III describes the way smart appliances would behave
while Section IV details the behaviour of the said
smart appliance with the MAC and Physical layers of
the powerline communication medium. This would
result in embedded application software running on a
single DSP chip for the given appliance. Thereafter,
results of our coding experiment are detailed in
Section V, with inspiration for future work in Section
VI along with conclusions and references in Sections
VII and VIII respectively.
Figure 2. Network Reference Model
The chief issue with powerline communication is
I. POWERLINE SPECIFICATIONS
Several methods for powerline communication have
noise. There is noise inherently in the network; also
been proposed in the past few years. We have looked
the running of various household appliances produces
at the PowerPacket Technical Specification described
noise surges on the powerline. How is this dealt with?
for the Intellon HomePlug device. It is based on
The MAC and PHY specifications for powerline are
Orthogonal
tailor-made to suit to the channel that powerline
Frequency
Division
provide. Figure 3 below outlines these specifications.
Multiplexing(OFDM). Homeplug aims at providing
data communication over the AC power lines in a
home.
The figure below describes the topology of the wiring
in a typical house and the changes affected to this
2
transmission. Cyclic prefix may be explained as
follows. In normal bock based transmission a
preamble and a post-amble precede and follow the
data block. In cyclic prefix the last ‘L’ data bits
themselves form the preamble with no post-amble
being present. Figure 4 below outlines a basic OFDM
transmitter – receiver.
Figure 3. MAC and PHY Specifications
Powerline uses OFDM along with CSMA/CA to
tackle the noise problems. Also, it should be noted,
that unlike the regular Ethernet, no specific path
length can be specified for the powerline – its length
just depends on the copper that was laid out during
the building construction. A brief outline of its
Figure 4. OFDM Transceiver Model
provisions for communication is detailed in this
Forward Error Correction is applied to both the frame
section.
control and data information. Every effort is made to
1.1 OFDM
provide as much robustness to the packet as possible.
Orthogonal Frequency Division Multiplexing is the
From a VoIP point of view this is very important as
modulation technique chosen. It was chosen because
vice packets cannot be re-transmitted and a very good
of its adaptability, resilience and robustness to noise,
signal to noise ratio is required for them.
jammer signals and various frequency selective
channels. In fact, the type of OFDM used for
The OFDM Modulator comprises a Frame Control
Powerline is called Robust OFDM or ROBO. This is
FEC, which consists of a Product Encoder and Frame
actually a robust form of DBPSK that provides time
Control Interleaver. This FEC protects the frame as a
and frequency diversity, which improves the ability of
whole. The Data FEC consists of a Reed-Solomon
the system to operate in the adverse conditions
block
present in a powerline system.
puncturing block and a bit or ROBO interleaver. The
encoder,
a
convolution
encoder, a
bit
Data FEC provides protection to the data portion of
OFDM basically divides the bandwidth of interest
the frame. After the symbols have been processed by
into several sub-carriers or sub-channels. For the
the Frame FEC and the Data FEC they are further
powerline system OFDM places 128 evenly spaced
processed by a mapper which maps symbols with
carriers in the frequency band for a range of 25MHz.
respect to their constellation. An IFFT block then
Of these carriers, only 84 are used for information.
modulates the constellation points onto a carrier.
OFDM uses a block based transmission with a cyclic
Thereafter a preamble processes the frame to define
3
the preamble so it can be used for Automatic Gain
The MAC provides encryption using 56-bit DES
Control (AGC) and synchronization as well as phase
(Data Encryption Standard) and key management
reference for frame control signal encoding. A cyclic
using PKCS v2.0 Password-based Cryptography
prefix block adds the cyclic prefix to the block of
Standard.
symbols at the beginning of the frame. Finally a raised
cosine block performs the pulse shaping.
1.3 MAC Architecture
A HomePlug network consists of a set of HomePlug
We have not described the physical specifications as
stations connected along an AC powerline. While
it would be beyond the scope of our present project.
these stations appear to be physically connected over
the powerline they are logically separated by the
1.2 Medium Access Specification
privacy mechanism (DES). These stations go through
The powerline MAC is modeled after the 802.11
a Channel Estimation process where they acquire
MAC specifications. 802.11 also uses OFDM, though
Tone Map Indices before they begin communication.
the provisions offered by OFDM for 802.11 differ
This way they ensure that the communication is as
from those for Powerline.
fast and reliable as possible.
The Powerline MAC provides a Frame Transport that
Tone Map
allows a data length of 46 to 1500 bytes, with the
HomePlug
Station
ability to transport 802.3 frames in an encapsulated
HomePlug
Station
form, using 48 bit Ethernet addressing and bridging
AC Power Line
across various networks.
HomePlug
Station
It also provides support for Reliable Frame Delivery,
Logical Network Set By Encryption Key
which supports the PHY layer features. Powerline
ensures ARQ for unicast transmissions at the MAC
Figure 5. System View of a HomePlug Station
level. It uses Segmentation to limit the actual expose
CSMA/CA: Carrier Sense Medium Access/Collision
time on the wire (crucial on a powerline).
Avoidance
Having four different priority levels assuring best
Powerline Communication employs a mechanism
effort delivery provides Quality of Service. The
with priorities and a random backoff time to provide
system has the provision to shift form contention-
for CSMA/CA. Before a station transmits it firsts
based access to contention-free access to support very
senses the medium using both physical and virtual
low latency. These features are best suited for VoIP
means. If the channel is found to be idle, it begins
communication. VoIP packets can be specified a
transmission immediately. However, if the channel is
higher priority with almost contention-free access.
found to be busy, the station waits till the end of the
4
current transmission. Then it starts a priority
algorithm to avoid loops. Transparent bridging
contention followed by the random backoff. The
requires “promiscuous” reception of frames by the
backoff algorithm used is a truncated version of the
bridge. Powerline, because of its unstable nature
original IEEE 802.3 binary exponential backoff
requires the use of acknowledgements, which
algorithm.
becomes an issue when combined with “promiscuous
reception”. As acknowledgements occur while the
The protocol also makes use of positive and negative
station is considered active on the channel, they are
acknowledgements. A partial ARQ scheme is also
required to be given special consideration.
supported in which one member of a logical system
responds to a multicast transmission. It basically
In source-aware bridging the bridge is addressed as an
indicates that at least one of the group members got
individual address in itself. Its address is mentioned
the message. The notable point about MAC level
directly in the frame header. The bridge proxy is
acknowledgements is that they occur before the
obtained at the same time as when the station
transmitter relinquishes the channel.
performs the initial channel estimation and obtains
tone mapping.
The protocol makes suitable assumptions for collision
too. A collision is assumed to have occurred if a
Basic Channel Access: When a new frame is queued
transmitter receives an ACK and the FCS field does
for transmission it first follows the Random Backoff
not match that of the transmitted frame. Again if a
Procedure. Stations contend at a particular priority
frame other than an ACK is received when an ACK
level depending on their respective priorities.
was to have been received, a collision is assumed to
have occurred. An absence of any response is also
The MAC provides four levels of priority. These are
construed as a collision.
CA3, CA2, CA1 and CA0. These priorities are
represented by 0b11 through 0b00, with CA3 having
MAC Level Bridging
the highest priority. Thus, if a station with a higher
In the HomePlug Network System bridging is
priority is transmitting, the current station knows that
accomplished by source-aware bridging. There are
it definitely has to wait and shall defer its own
two types of bridging prevalent in networks. One is
transmission. The priority resolution process is
transparent bridging while the other is source – aware
carried out irrespective of whether a station is
bridging.
transmitting or not. Stations not transmitting are
assigned priorities of CA0 or 0b00. This way, the
While both use MAC level addressing, in transparent
highest priority being transmitted on the channel at a
bridging the bridge gradually learns the addresses of
particular time is easily identifiable. If none of the
the various stations and stores them in a forwarding
stations were transmitting this priority would be 0b00.
table. It usually makes use of a spanning tree
5
HomePlug specifications for priorities are consistent
VoIP network. In our block specifications a voice
with the provisions laid out by IEEE 802.1. While it
packet would have a priority level of CA3.
does not provide all the priorities it does provide
enough to be compliant with industry standards for
HomePlug provides an IP address thus creating the
RSVP and the internet draft standard Subnet
illusion of a regular Ethernet below an IP network.
Bandwidth Manager to provide differentiated Quality
The network adapter of the computer can connect
of Services levels for multimedia traffic. The 802.1
directly to the IP socket provided by HomePlug
recommended “application class” to User Priority
(RJ45). A regular DSL internet connection can be
Mappings is stated in Table 1.
provided over the powerline by connecting the DSL
set-up box into the powerline HomePlug.
User
Priority
7
In this
manner, internet access over Powerline is made
Application Class
possible. This internet connection further motivates
a) Network Control – characterized by a “must
get there” requirement to maintain and support
the network infrastructure.
6
b)”Voice” – characterized by less than 10 ms
delay, hence maximum jitter
5
c)”Video” or “Audio” – characterized by less
than 100 ms delay
4
d) Controlled Load – important business
applications subject to some form of “admission
control” be that network pre-planning or
bandwidth reservation per flow at the time the
flow started.
3
e)Excellent Effort – or “CEO’s best effort”, the
best effort type services that an information
services organization would deliver to its most
important customers.
2
f) Best Effort – A regular LAN traffic
1,0
g) Background-bulk transfers and other activities
that are permitted on the network but that should
not impact the use of the network by other users
and applications.
Table 1. Recommended Application Class Mapped to User
Priority
the idea of VoIP over the powerline.
2. VOICE OVER IP DETAILS
Voice over IP is a method of sending voice over the
Internet using the Internet Protocol IP. The VoIP
process begins with the digitization of speech and
representing it in a compact format via encoding. A
special Vocoder is used for this process. This
digitized speech packet is then sent across the
network.
VoIP
has
certain
characteristics.
Its
chief
characteristic is that it is a Real Time Service with
high Quality of Service requirements. Real Time
HomePlug satisfies User Priorities from levels 0-3.
Services are plagued with several problems. This
Thus it can be deduced that powerline we are utilizing
includes packet loss, as retransmission is not possible
has capabilities good enough for regular internet
in such a service. The solutions envisaged so far are
transmission.
better FEC and a limit on the packet loss acceptable to
the human ear. End-to-End delay is also a governing
But what about voice data? The IEEE802.1 standard
factor in VoIP communication. A delay of 150ms to
requires a priority level of 5-6 for voice data.
400ms is acceptable, but beyond this, intelligent
Powerline does not assure that yet. However, we aim
speech quality deteriorates rapidly. Random queuing
at providing the best that can possible on a regular
6
without a reasonably high priority results in what is
writes the data to the application it serves. In this way,
termed as delay jitters.
both client and server programs are implemented at
the server and client machines. This enables bi-
Our voice data is digitized at 8000 samples per
directional conversation.
second. The packets are PCM encoded using 16-bits
packets and are 512 bytes of length. The data is bursty
The client and server are implemented in the form of
in nature. However, this packet size can be further
concurrently running threads at both machines. This
reduced by more efficient coding mechanisms like
gives the idea that a machine is concurrently both
CELP which reduces the PCM 64 kbps data rate to 8
listening to its socket and writing to a socket, which is
kbps. Better encoding mechanisms are more suited to
truly what a duplex system is supposed to do.
a long distance noisy channel as more information
Presently our system relies on a computer, which uses
would be packed into a smaller packet. In a noisy
sockets
channel, the larger capacity required by a 64 kbps
simultaneously at the server and the client to facilitate
data rate packet may not be easily available. This
its working. Also as of now only two PC’s are
directly follows from Shannon’s channel capacity
assumed to be on the powerline attempting to
theorem. Hence, it follows that packet size and the
communicate with each other. One computer acts as a
encoding mechanism dictate the rate of transmission
server i.e. it is assumed to have a fixed IP address
as well as the quality of the received speech.
assigned to it by the DHCP server. (Both machines
created
by
a
Java
program
running
have client and server programs running on them in
We
have
simulated
a client-server model to
independent threads) Other machines which want to
demonstrate our peer-to-peer VoIP communication
establish a connection are clients i.e. they specify the
over the powerline. Java Socket programming is used
IP address of the server and try to establish a
to set up the network level connections using DHCP
dedicated connection between the two.
IP addresses for configuring the ends of a network.
The connection is currently point to point and bidirectional. The first step was to create the sockets,
using the IP addresses of the given machines. For
Port 6600
powerline, the HomePlug provides the user with IP
addresses, resolving the issue of “hunting” for an IP
address, or dealing with the Ethernet directly. The IP
Server
Client
Client
Server
Port 7700
addresses thereafter provide the end points of the
connection, and form sources and sinks. At the client,
Figure 6. Server Client model
the client listens to the microphone to a user and
Once the client is successfully able to connect to the
writes data to a socket directed towards the server. At
server it provides its IP address to the server. Now the
the server end, the server listens to the socket and
client program which is resident on the server
7
attempts a connection with the server program
2.1 Endpoint detection algorithm
resident on the client on a predefined logical port
The problem of automatic word boundary detection
addresses. In this implementation the server listens on
in a quiet environment or in the presence of noise is
port 6600 and the other server on 7700 with
addressed in this part. A fast and robust algorithm for
individual clients connecting to the respective servers
accurately locating the endpoints of isolated words is
at the other end (figure 6.)
described below. The algorithm utilizes energy to
acquire
the
reference
points.
The
required
The Java Speech API is used to enable the working of
characteristics of an ideal word boundary detector are:
this application. Explanation of the end to end flow is
reliability,
as follows:
simplicity, real-time processing and no a priori
robustness,
accuracy,
adaptation,
knowledge of the noise. All these issues are solved
First the two servers establish a connection with their
with this algorithm.
respective clients. Now the clients capture speech
inputs via the microphones and send it over the IP
link. For getting the speech input in real time a
sophisticated endpoint detecting algorithm is used.
Data from the microphone is read from a buffer. Each
window contains 512 bytes of data. For few initial
seconds the program calculates the ambient noise
(average power per window) in the environment and
uses this as the threshold for capturing the starting
Figure 7 Energy threshold for endpoint detection
point of speech. It is assumed that if the energy per
The algorithm calculates an average ambient noise for
frame is more than 20 times this threshold the window
one frame and takes frames up to say one second and
has speech and not noise. Once this window has been
averages it overall the frames in this one second to get
detected, all subsequent windows for the next 5
the reference value of the noise (Figure 7.).
seconds are assumed to contain speech and this data is
sent over the network. On finishing this task the
We calculate the energy per frame first i.e.
program returns to normal operation in which it
P[l...m]= Sum k=1..j ( s[k]²)
listens to the microphones and updates its noise
where s[k] are the speech data in the frame. Similarly
threshold by doing a running average of the power.
P is calculated for all the frames and an average is
This enables the system to adapt to changing noise
taken for the final noise value[ E].
conditions thus improving the quality and precision of
E= [Sum k=l...m (p[k]²)]/m
the endpoint detecting algorithm.
The threshold is set at ( constant* E), as the detecting
criterion.
8
The actual real time operation of this algorithm of
The following figure shows the final truncated speech
speech inputs is explained below.
which is sent over the internet. Once this speech is
The microphone captures data and sends it to the java
received by the server at the other end it plays the
program (figure 8.) which calculates the energy in real
speech through the speakers and also saves the data
time and checks for the threshold (Figure 9.). Speech
by writing it to a file.
signal is sampled at a rate of 8000 khz. The signal
from the microphone is received in a buffer of 512
bytes in big Endian format with each sampled value
of 16 bits in length. The frame is also of 300 bytes
long. Following figures show the flow of having the
real time input from the microphone on a frame basis,
the endpoint detection algorithm in action and the
final truncated (extracted) utterance.
Figure 10. Extracted speech
A matlab program running concurrently reads this file
in a loop and processes the speech. On recognizing
the speech if it finds it to be one of the
preprogrammed command words such as “Lights on”,
“Lights off”, “Fan on”, “Fan off” it activates the said
appliance. The detail flow diagram is shown in figure
11.
Figure 8. Speech captured via the microphones
Figure 11. End to end flow schematic
This recognition and smart appliance setup was taken
from an earlier project done in EEL 6825.
2.2 Socket creation and handling
When two devices need to communicate, there has to
be a common platform mutually agreed upon for
achieving the said communication. We assume that
the two appliances have a separate IP to which
Figure 9. Energy threshold detection
communication can be possible. Also we assume a
9
connection
oriented
structure
to
minimize
Next these threads follow the following four
transmission delay and decapsulation time. For this a
significant steps to establish and complete a
suitable handshaking procedure must take place and
connection. The server side would follow these steps:
one of the appliances must assume the role of a server
1. Create a socket.
2. Listen for incoming connections from clients.
3. Accept the client connection.
4. Send and receive information.
and the other as a client. In our case each opens a Java
socket to enable the said handshaking. The client is
responsible for initiating the connection of a given
port. Ports are mutually agreed upon virtual address
The java flow is as follows:
on which the sockets listen for transmission and
server = new ServerSocket( 6600, 100);
Connection = server.accept();
output = new DataOutputStream(
Connection.getOutputStream() );
output.flush() ;
input=new
DataInputStream(Connection.getInputStream() );
enter.setEnabled( true );
reception of data. The technical details can be found
in section 2.
2.3 JAVA Code
The programming details for the client and server
have been explained in this section. Initially each
appliance creates two threads for the client and server
In the case of the client, these steps are followed:
as given below
1. Create a socket.
2. Specify the address and service port of the server
program.
3. Establish the connection with the server.
4. Send and receive information.
PrintThread thread1, thread2;
thread1 = new PrintThread("Port_listener");
thread2 = new PrintThread("Mic_listener");
thread1.start();
thread2.start();
The java flow is as follows:
client = new Socket(InetAddress.getByName(
"128.227.80.43" ), 7700);
output = new DataOutputStream(
client.getOutputStream() );
output.flush();
input = new DataInputStream(
client.getInputStream() );
enter.setEnabled( true );
Individual threads now open their respective target
and source audio ports
Mixer.Info[] mixinfo = AudioSystem.getMixerInfo();
int numberOfMixers = mixinfo.length;
Mixer JavaMixerSource =
AudioSystem.getMixer(mixinfo[0]); //provides
SourceDataLine
Only steps two and three are different, depending on
if it’s a client or server application.
Mixer JavaMixerTarget =
AudioSystem.getMixer(mixinfo[1]); //provides
TargetDataLine
Once the sockets are bound to their respective Client
and Server, the actual audio ports are opened for
Line.Info[] targetport =
JavaMixerTarget.getTargetLineInfo();
Line.Info[] sourceport =
JavaMixerSource.getSourceLineInfo();
voice access.
10
captureFormat = new AudioFormat(8000, 16, 1, true,
true);
would directly be embedded into the appliance which
This opens the target port
TargetDataLine.Info targetInfo = new
DataLine.Info(TargetDataLine.class, captureFormat);
TargetDataLine targetLine = (TargetDataLine)
JavaMixerTarget.getLine(targetInfo);
targetLine.open(captureFormat);
from voice detection to recognition, followed by
would enable to perform all the functions all the way
determining which device it must transmit the voice
data to.
The HomePlug MAC transports data that is passed to
This opens the source port
DataLine.Info sourceInfo = new
DataLine.Info(SourceDataLine.class, captureFormat);
SourceDataLine sourceLine = (SourceDataLine)
JavaMixerSource.getLine(sourceInfo);
sourceLine.open();
it from a higher layer. This transport section works
across bridges connecting different LANs. The MAC
Protocol Data Unit or the MPDU is the frame of
Powerline. The MAC Service Data Unit (MSDU) is
After this is done each application is ready for bi-
the term used for the packet that the MAC is supposed
directional communication of voice data.
to transmit in its frame. The Service block not only
contains the required data, but also encryption
3. WORKING OF A SMART APPLIANCE
information, management information and a host of
other details required for reliable transportation.
The final operation of the appliances is as follows:
Once the device (Lights) is trained to recognize its
The HomePlug frame is detailed in Figure 12.
respective appliance command word (Lights on/off)
and is powered on; it will create a server client socket
25 bits
Frame Control
4 symbols
Preamble
and connect to the other device fan in our case
situated in another room. Now if we say “fan on” near
Figure 12 a) Delimiter
the light, as it is running in real time, the endpoint
detecting algorithm will capture only the command
This Frame Control indicates the start of the frame. It
word and neglect the silence before and after the
has information for contention control, length of the
utterance. Next it shall recognize that this is not a
frame and tone map index.
command word for it and broadcast the packet on the
5 bytes
network but as of now shall send it over the dedicated
Segment
Control
connection it has established with the server running
6
DA
6
variable byte count
SA
Frame Body
2 bytes
BPAD
FCS
Variable symbol count 20-160 symbols
on the Fan. The server on the fan shall read the data
Figure 12 b) Payload
and send it to the recognition engine which after
recognizing it shall switch on or switch off the fan.
The Payload is of variable length. The frame body
contains the MSDU which is the information to be
4. IMPLEMENTATION DESIGN
transmitted. Essentially the frame body is of
maximum length 1500 bytes.
Smart Appliances of the future will communicate
directly with each other via the powerline. A DSP
11
EFG
25 bits
Frame Control
4 symbols
Preamble
Addresses (SA and DA respectively) are 6 bytes in
length and correspond to the standard IEEE 802.3
format.
Delimiter
The Frame Body comprises the Service Block. This
Figure 12 c) Delimiter
Service Block contains the actual payload to be
This delimiter denotes the end of the frame. The
transmitted. The Service Block is at least 1616 bytes
frame control here indicates the contention control as
in length. This payload will be generated by the
well as the channel access priority. The EFG is an
higher application and transport layers. Our focus will
End of Frame Gap between the payload and the
be in generating this payload in the most optimal
delimiter.
manner possible.
A more detailed explanation of the frame is now
It is required that the frame be of 20 or 40 symbols for
given.
proper transmission in the PHY. The B-PAD or Block
Padding provides the extra zeros when the service
The Delimiter comprises the preamble and the frame
block is not of the minimum required length. The FCS
control block. There is a start of frame delimiter and
is again CRC, but this time it is 16-bit CRC.
an end of frame delimiter. The preamble is used for
proper frame synchronization and detection. The
Now that we are familiar with the actual frame
frame control contains information used by all other
structure of the HomePlug Powerline, we can decide
stations on the channel and the destination. It denotes
in a more cogent manner how to modify it to suit the
the frame length, either as a number of 40-symbol
needs of a communicating smart appliance.
PHY transmission blocks or a single 20-symbol PHY
transmission block. The Channel Access Priority is a
We can keep certain things in mind when considering
2-bit field and specifies the frame priority and
smart appliances in action. In a normal household, the
determines contention control as well. There is
probability of two devices being instructed to start
provision for ACKs as well as NACKs. The Frame
operation is very low. Also, the need for the device to
Control Check Sequence is an 8-bit field that used 8-
start operating as soon as it is instructed without too
bit Cyclic Redundancy Codes (CRC) for error
much delay is required. Hence delays are crucial.
checking.
Also, a single household may have several bridges;
hence the frames should be able to cross bridges
The Frame Header contains the segment control, the
easily. However, the frame service block would not be
Source Address and the Destination Address. The
too long. This is because; the command words in a
segment control field is 40 bits long and contains
smart appliance knowledge base would be succinct.
necessary to perform frame reception and reassembly
Thus, the payload would be small (practically less
of segmented frames. The Source and Destination
12
than 512 bytes) requiring only a 20 symbol PHY
All other error check codes and correction codes are
transmission block.
retained. Frame segmentation and re-segmentation
may not be too much of an issue as most service
All
these
characteristics
communication
can
of
motivate
smart
appliance
blocks would fit in the 20-symbol PHY transmission
the
following
block. Thus the overhead involved with these
modifications. We begin with the Frame Control field
processes is also removed.
in the delimiter. This field holds information about
contention control, channel access priority; frame
This would eventually result in a DSP with lesser
length, ACK response field and Frame check
expectations. It would conserve system energy and
sequence. This frame control field can be modified
improve throughput. The system’s memory would
for smart appliances. With a low risk of collision, we
also be used more efficiently.
can make redundant the entire contention control
process. This process would require certain other
Once this hardware implementation is achieved the
changes too. HomePlug would have to define a
improvements at the application layer is as follows:
certain small frequency band and allocate it
exclusively for smart appliance use. This way, the
Instead of a connection oriented system we propose a
smart appliance packet will not interfere with the
datagram based broadcast system. Such a system will
regular data traffic associated with internet across
be able to support any number of appliances without
powerline. Once, this is resolved, the frame can be
any extra overhead for the end user. Because of the
modified without much of a problem. If contention
fact, each device will not face the need to know the
control is not required then the backoff algorithm
existence of other devices on the powerline network.
itself becomes redundant. This would be a side affect
When a device receives a user command it responds
which is yet to be affected. We assume that the affects
in action only if the command is meant for the device.
would not be adverse.
Otherwise, the command is ignored and the packet
containing the command utterance is broadcast on the
The channel access priority would be set to 3 – the
underlying
powerline
network
at
the
“smart
highest possible. In the absence of contention control,
appliance” frequency. All devices read this packet
this is again not necessary, but it is better to enforce
and only the device which recognizes the word gets
that these packets be assigned the highest possible
operated. In such an operational scenario even an IP
priority. ACKs are not necessary, if a message does
address is not needed.
not get across, one cannot be sure if retransmission
5. OPEN PROBLEMS
will solve the problem. Thus, instead of doing away
with ACKs, we keep them at partial measure.
We began our project and our ideas with just a few
smart appliances in a house. However, it is not
difficult to envisage that soon there would be a time
13
when almost all the appliances in a home would be
himself – thus defeating the whole idea of smart
“smart”. They would be operated not just by adults
appliances! Again, if an individual is outside the
but also by kids (toddlers – just learning to talk) the
room, or totally elsewhere, and wants to turn that
elderly and even the disabled. Changes would have to
particular bed-lamp on, the alternative should be made
be effected in our system design and topology to
available.
accommodate the special needs of all these members
of our society. The appliances should be language
Ideas like sub netting will jeopardize our broadcast
friendly as well – with the ability to understand at
based idea, and may require the system to be a lot
least more than one language at a time. We propose
more complicated. The user may have to install a
certain
central monitor which is constantly updated with all
requirements
and
outlines,
but
their
implementation is still an open problem.
the new appliances, their local command words, their
global command words, perform complex message
As all the appliances in a home become part of the
passing and may require considerable memory and
“smart appliance” family, the naming convention for
processing power. Thus loosing the edge of having a
each such appliance being made global would result
simply “purchase from BestBuy and use” system.
in several problems. Each household member would
However, the upside is that once the system is
have to remember all the names of all the devices, and
installed it is accessible to even the most inane – like
as the number of these names increase, so will the
the toddler in the house who would even find
complexity of the names. This cannot be permitted for
pronouncing a long command word impossible.
successful running of a “smart home”.
7. CONCLUSIONS
One suggestion is to look at the whole situation like
the way one would look at sub netting a large network
We implemented a JAVA working model of the two-
or introducing functions is a large program. Each
way smart appliance communication. A client – server
room in the house could be likened to a “function” in
model was implemented for this purpose. Two – way
a program with its own set of local variables. Thus, if
voice communication has been implemented. Our data
there are four bedrooms in a house, each bedroom
packets were 512 bytes and were encoded using PCM.
would have its own bed-lamp and closet light. If a
Thereafter, we designed a smart appliance system. For
person is operating one of these equipments from
this purpose we studied the HomePlug specifications
within the room, all he needs to do is use the
provided
command word “bed-lamp on” for it to be switched
modifications to it, so that VoIP between two
on. If such localization were not implemented, the
appliances may take place in a more efficient and
individual would have to mention a long command
simple manner. It has been proposed that a frequency
word like “bedroom 1 bed-lamp on” which could be
range in the powerline frequency band be allocated to
bothersome! He would instead turn the lamp on
the smart appliances in a house, making their
to
us,
and
have
suggested
some
communication more direct and fast. The end design
14
ultimately is broadcast based, completely doing away
with the IP addressing.
8. REFERENCES
1. HomePlug 1.0 Specification June 30th 2001
2. Deitel and Deitel, JAVA: How to Program. Third Edition
3. Harold, Elliotte Rusty, Java Network Programming
4. http://www.pulsewan.com/tcpipwp.htm
5. http://java.sun.com/javaone/javaone2001/pdfs/1378.pdf
6. Rappaport, Wireless Communications, Principles and
Practice. Second Edition
7. Andrew S Tanenbaum, Computer Networks, Sixth
Edition
8. Towards dependable home networking: an experience
report
Yi-Min Wang; Russell, W.; Arora, A.; Jun Xu;
Jagannatthan, R.K.
Dependable Systems and Networks, 2000. DSN 2000.
Proceedings International Conference on , 2000
Page(s): 43 -48
9. Xuedong Huang, Spoken Language Processing, A guide
to Theory, Algorithm, and System Development
15
Download