Académique Documents
Professionnel Documents
Culture Documents
Bachelor of Technology
in
Electronics and Communication Engineering
by
Snigdh Bhalotia, Shubham Sagar
13BEC0310,13BEC0486
May, 2017
DECLARATION
Place : Vellore
Date : 10/04/17 Snigdh, Shubham
Signature of the Candidate
CERTIFICATE
The contents of this report have not been submitted and will not be submitted
either in part or in full, for the award of any other degree or diploma in this institute or
any other institute or university. The thesis fulfills the requirements and regulations of
the University and in my opinion meets the necessary standards for submission.
Place : Vellore
Date :10/04/17 Signature of the Guide
Approved by
1.2 Motivation 2
1.3 Background 3
2 PROJECT DESCRIPTION AND GOALS 3
3 TECHNICAL SPECIFICATION 3
6 PROJECT DEMONSTRATION .
7 COST ANALYSIS .
8 SUMMARY .
9 REFERENCES .
List of Figures
List of Abbreviations
1. INTRODUCTION
1.1 OBJECTIVE
1.2 Motivation
The motivation for this project was mainly our quest of achieving a
goal for our final year curriculum. After all the hard work and learning in
the past three years, there was a motivation to implement all that
knowledge to really achieve something.
1.3 Background
Software:
The goal here is to see how VLC system transmitters behave with certain
parameters like irradiance angle, distance between transmitters, etc. so
that a handover algorithm can be designed.
Hardware:
Goals:
Our main goal is to create seamless handover throughout the region of
reception. This goal is achieved by making an LED matrix at the
transmitter. Our goal is also to increase the range and efficiency of the
system.
2. Technical Specification
Handover Mechanism:
Manchester Coding:
Summary:
Each bit is transmitted in a fixed time (the "period").
A 0 is expressed by a low-to-high transition, a 1 by high-to-low
transition (according to G.E. Thomas' convention—in the IEEE
802.3 convention, the reverse is true).
The transitions which signify 0 or 1 occur at the midpoint of a
period.
Transitions at the start of a period are overhead and don't signify
data.
Manchester code always has a transition at the middle of each bit period
and may (depending on the information to be transmitted) have a
transition at the start of the period also. The direction of the mid-bit
transition indicates the data. Transitions at the period boundaries do not
carry information. They exist only to place the signal in the correct state
to allow the mid-bit transition. The existence of guaranteed transitions
allows the signal to be self-clocking, and also allows the receiver to align
correctly; the receiver can identify if it is misaligned by half a bit period,
as there will no longer always be a transition during each bit period. The
price of these benefits is a doubling of the bandwidth requirement
compared to simpler NRZ coding schemes (or see also NRZI).
Software:
We have used the VLC extension for MATLAB 2016a. We have built a
room environment for 4 transmitters. We can see graphs for the Power
distribution, SNR, region coverage. We have used an algorithm based on
power for handover.
Hardware:
We have built transmitter and receiver circuits using basic green LEDs for
VLC. Arduino Uno is being used to code and decode the signal. Green
LEDs in our project are being received as far as 64cms currently. We have
interfaced both the circuits using Arduino which processes and modulates
demodulates the signal being sent and received. We have made a 4/4
matrix to increase the region of coverage. A baud rate 115200 is used as a
serial communication to transmit the message. The coding and decoding
is done by using Manchester coding algorithm. A photo transistor is being
used as a receiver.
Software:
A receiver is put in the room. We can use sliders to move the receiver
along the x and the y axes. Then the powers from individual transmitters
to the receiver will be displayed which is calculated using the power
gains. These power levels can be analyzed to find out the transmitter
giving the maximum power at a particular position. This can be the basis
of handover in the system.
The VLC transmitter and the receiver design was obtained online to make
the project easier.
Hardware:
To design the hardware, we had to find out how to make the transceiver
for VLC systems. We modulated the input signal using Arduino so we
didn’t have to make a circuit for modulating the input signal.
So we gave the signal from our computer to the arduinos. The data signal
was modulated and sent to the Arduino using serial communication. The
baud rate selected was 115000. Both the transmitter arduinos were given
different data. Both transmitters were put in room environment cardboard
box. Two compartments were made for both the different rooms. One
transmitter was placed in one compartment. We moved the receiver from
one room to the other and saw the change in reception of data. Thus
seeing the handover.
The transmitter we made used a green LED initially. Then to increase the
reliability, we made a 4x4 matrix of green LEDs. A matrix ensured better
range and power of the transmitted signal. The receiver was made of a
phototransistor which was the most sensitive and reliable we could find
among phototransistor, photodiode and LED.
The coding and decoding was also done by using the Arduino. We used
Manchester coding algorithm as it is widely used for optical
communication.
Transmitter Coding:
/*
LiFi Emitter and Receiver
The purpose of this demos is to demonstrate data communication using a
pair of blue LED (one led as emitter one led as receiver).
Communication can go at up to 600bs (can depend on led quality)
Hardware is the following :
I/O D2 ------[resistor]----- led -------------- GND
Using a blue led should not require resistor, one may be needed for red or
green
A byte is sent as follow :
Start(0) 8bit data Stop(1)
#include <TimerOne.h>
#include <util/atomic.h>
//Start of what should be an include ...
//#define TRANSMIT_SERIAL
//emitter interrupt
void emit_half_bit(){
if(manchester_data & 0x01){
SET_LED();
}else{
CLR_LED();
}
bit_counter -- ;
manchester_data = (manchester_data >> 1);
if(bit_counter == 0){
//is there still bytes to send in the frame ?
manchester_data = 0xAAAAAAAA ; // keep sending ones if nothing
to send
if(frame_index >= 0 ){
if(frame_index < frame_size){
/*Serial.println(frame_index, DEC);
Serial.println(frame_buffer[frame_index], HEX);*/
to_manchester(frame_buffer[frame_index], &manchester_data);
frame_index ++ ;
}else{
frame_index = -1 ;
frame_size = -1 ;
}
}
bit_counter = WORD_LENGTH * 2 ;
//Serial.println(manchester_data, BIN);
}
}
int transmitter_available(){
if(frame_index >= 0) return 0 ;
return 1 ;
}
void init_emitter(){
manchester_data = 0xFFFFFFFF ;
bit_counter = WORD_LENGTH * 2 ;
}
Receiver Code:
#include <TimerOne.h>
#include "receiver_types.h"
/*
LiFi Emitter and Receiver
The purpose of this demos is to demonstrate data communication using a
pair of blue LED (one led as emitter one led as receiver).
Communication can go at up to 600bs (can depend on led quality)
Receiver hardware :
|----1Mohm-----|
A3 ------|--- +led- ----|-------GND
A byte is sent as follow :
Start(0) 8bit data Stop(1), LSB first : 0 b0 b1 b2 b3 b4 b5 b6 b7 1
Each bit is coded in manchester with
time is from left to right
0 -> 10
1 -> 01
A data frame is formatted as follow :
0xAA : sent a number of time to help the receiver compute a signal
average for the thresholding of analog values
0xD5 : synchronization byte to indicate start of a frame, breaks the
regularity of the 0x55 pattern to be easily
0x02 : STX start of frame
N times Effective data excluding command symbols, max length 32 bytes
0x03 : ETX end of frame
*/
//#define DEBUG
//#define DEBUG_ANALOG
int ADC_read_conversion(){
while(bit_is_set(ADCSRA, ADSC));
return ADC ;
}
//End of ADC management functions
Timer1.initialize(SYMBOL_PERIOD/SAMPLE_PER_SYMBOL); //120
0 bauds oversampled by factor 4
Timer1.attachInterrupt(sample_signal_edge);
Constraints:
While designing the software, there were many things we did not have
the algorithm for. As this is an upcoming technology, not much
information was available on the internet.
In the hardware the main constraint was that we could not get more
powerful transmitter or receiver. Another constraint was the speed of
transmission. As we were using Arduino for coding and decoding, we
could not serially transmit data faster than the baud rate of 115240.
Alternatives:
After review one, we started looking for viable circuits to make a VLC
transceiver. Once we achieved data transmission, we started working on
implementing handover algorithms using multiple transmitters.
In review 2, we finally showed the project to our guide and started
working on the research paper and our thesis for the project.
Project Demonstration:
Software:
After this, we will adjust the receiver position sliders to see the receiver
position. After this, we will see the power received from all the
transmitters at the receiver in the boxes shown. The max power is what
we need to see.
Fig 2.2 Receiver Position
Hardware:
In the hardware, we setup arduinos to send and receive data. The LEDs
get power from the Arduino itself. We can see the received data on our
laptop screen. This shows the received signal in the signal. Moving the
receiver from one box to the other will show us the handover.
Transmitter:
The Box:
The box has two rooms which have signals from different transmitters.
The receiver is being moves to display output in both the rooms.
The Receiver:
One of the main features of our project is the cost effectiveness of it. We
have used most simple components to build our project. We started by
making the transceiver.
The following was used:
Another 1500 ₹ for paper publishing and 300 ₹ for poster presentation.
Summary:
We can conclude from the software analysis that the receiver generally
connects to the nearest transmitter.
We can conclude from the hardware analysis that the best emitters are
closer to RED while poor ones are closer to Blue. We also concluded that
the blue ones give a better angle compared to the Red.
The first main task of this project was to get our hands on a pair of VLC
transceivers. However in the process we managed to come across a
design that is extremely cost effective and is perfect for further
experimentation and analysis Handover, ranges and many other factors
are analyzed which helped us analyze the feasibility of the system. This is
mostly analyzed using hardware. Using MATLAB, we have implemented
an algorithm for handover based on power reception from transmitters. A
room environment is created with multi transmitters where a mobile
receiver is analyzed for power from different transmitters at different
positions of the receiver.
LED LED
Angle
REFERENCES:
References
[1] A. Boucouvalas. “Challenges in Optical Wireless Communications”.
Optical Photonic News, 16(9):36–39, 2005.
[3] J. Hou and D.C. O’Brien. “Polling scheme for Indoor LOS Optical
Wireless LAN”. Electron. Lett., 39(10):794–795, 2003.
[4] Z. Wu and T.D.C. Little. “Network Solutions for the LOS Problem of
New Indoor Free Space Optical System”. In IEEE, IEE Int. Symp. on
Communications Systems, Networks, and Digital Signal Processing,
Newcastle, UK, July 2010.
[6] http://www.vlcc.net.