0% found this document useful (0 votes)
7 views

Advanced Embedded

Uploaded by

karthikp207
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Advanced Embedded

Uploaded by

karthikp207
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

EECS 473

Advanced Embedded Systems


Lecture 13
Start on Wireless
Feedback and Upcoming
• Quick survey
– Who has gotten their PCB out?

• PCBs
– All are to be out by 10/31.
– Strongly suggest you get them reviewed

• MS2
– Report due on Tuesday 11/7
– Check-offs due by Wednesday 11/8 @6pm
– MS2 meetings start on Thursday 11/9
Team status updates for Thursday

• Largest roadblock

• Thing you are most pleased with wrt your


project.
Introduction to embedded wireless

Wireless communications
• Next 2.5 lectures are going to cover wireless
communication
– Both theory and practice.

• If you’ve had a communication systems class,


there will be some overlap
– And we will be focusing on digital where we can
• Though that’s still a lot of analog.
Introduction to embedded wireless

Wireless and embedded?


• As should be obvious,
modern embedded
systems are tied
closely to wireless
communication.
– Think about your
projects.
• Applications include
the home…
Introduction to embedded wireless

But certainly reach much farther


Introduction to embedded wireless

Lots of peer-to-peer wireless protocols


• Wi-Fi high-speed data with ranges of about 20-40 meters. Fairly high power consumption.
If you want to get on the Internet, this is usually the way to go.
• Bluetooth is a global 2.4 GHz personal area network for short-range wireless
communication. Device-to-device file transfers, wireless speakers, and wireless headsets
are common users. Range can get quite long with 5.0 (~200 meters)
– BLE is a version of Bluetooth designed for lower-powered devices that use less data. To conserve power, BLE
remains in sleep mode except when a connection is initiated. This makes it ideal for wearable fitness trackers and
health monitors.
• ZigBee is (mostly) a 2.4 GHz mesh local area network (LAN) protocol built on 802.15.4. It
was designed for building automation and still sees a lot of use there.
• RFID Allows passive (unpowered) devices to communicate.
– NFC a protocol used for very close communication. If you wave your phone to pay for groceries, you’re likely using
NFC. Closely related to RFID.
• LoRaWAN is a long-range (1-15km), low-power, low-data rate (~1-50kbits/sec) protocol.
• Z-Wave is a priority protocol design for home automation. <30 meter range. Has some
nice dev kits. Very low power.
• SigFox, Ingenu, Weightless-(N, P, W), ANT, DigiMesh, MiWi, EnOcean, Dash7,
WirelessHART. Probably a lot more.

Mostly from https://iotdesignpro.com/articles/different-types-of-wireless-communication-protocols-for-iot


Cellular
• Rather than peer-to-peer, we can go through cell
phone towers or even satellites.
– If you want to go *far* the only other real option is
shortwave radio (limited to about 300 baud)
• This used to be very expensive, but for small
amounts of data, it may be viable.
– For example, TruPhone will give you 125MB to use for
5 years for $19.00.
– There are some variations out there (e.g. Cat-M1, G4 )
• Tradeoffs aren’t hugely clear.
Introduction to embedded wireless

Two and half Lectures


• Start at the high-level
– Overview by example: Zigbee/802.15.4
• OSI model
– MAC layer

• Go to low-level
– Source & channel encoding
– Multi-path issues
– Modulation
– Range
Introduction to embedded wireless

Outcomes: Things you should be


able to answer after these lectures.
• Why might I choose the (lower bandwidth) 915MHz
frequency over the 2.4GHz?
– Related: Why are those the only bands I can pick?
– Related: Why can shortwave radio in China reach the US? Why
are their so many Cubs fans? (actually related)

• How do I compute “open space” radio distances?


– How do I convert “open space” radio distances in a specification to
indoor distances?

• How do I deal with a dropped packet?

• How much data can I hope to move over this channel?


Zigbee--basics

Zigbee
• ZigBee is an IEEE 802.15.4-based protocol
– used to create personal area networks with small, low-power digital
radios.
• Simpler and less expensive than Bluetooth or Wi-Fi.
• Used for wireless light switches, electrical meters with in-
home-displays, etc.
• Transmission distances to 10–100 meters line-of-sight
– Zigbee Pro can hit a mile
• Secure networking
– (ZigBee networks are secured by 128 bit symmetric encryption keys.)
• ZigBee has a defined rate of 250 kbit/s, best suited for
intermittent data transmissions from a sensor or input
device.
Zigbee—basics

At the end of the day all wireless


is just sending bits over the air.
• Two issues:
– How you send those
bits (physical layer)
– How you use those bits
(everything else)
• We’ll discuss both
Zigbee—basics

To minimize overhead, Zigbee


skips some layers
Zigbee—basics

From: ZigBee Wireless Networks and Transceivers by Shahin Farahani


Zigbee—basics

OSI basic idea


• Each layer adds some header information to
address a specific problem.
– What task on the target is this message related to?
• A given sensing unit might have a lot of sensors for example.
– What if we have a longer message
than one frame?
• What if one of those
frames gets dropped?
• Example on next pages:
– Data link to Physical.
Zigbee—basics
MAC (data link) layer (802.15.4)
• Frame control basics: • Frame control—frame size
– What type of frame? – Sender/receiver on same
– Security enabled? PAN?
– Need to Ack? – Address size for source and
destination (16 or 64 bit)
– Which standard? (Frame
version)
Zigbee—basics
MAC layer (802.15.4)

• Sequence number • Auxiliary Security


– Used to reassemble header specifies
packets that came out of encryption schemes
order.
• FCS (Frame check
– Or detect a resent packet
sequence)
• PAN IDs and addresses – CRC for detecting errors.
are just what you’d think.
Zigbee—PHY layer
Physical layer

There is a lot about the physical layer to understand. We’ll do some on Tuesday.
PHY layer

Image taken from: en.wikipedia.org/wiki/File:United_States_Frequency_Allocations_Chart_2003_-_The_Radio_Spectrum.jpg


PHY layer

United States Partial Frequency Spectrum

Image taken from: en.wikipedia.org/wiki/File:United_States_Frequency_Allocations_Chart_2003_-_The_Radio_Spectrum.jpg


PHY layer

Message, Medium,
and Power & noise
• Message
– Source encoding, Channel encoding, Modulation, and
Protocol and packets
• Medium
– Shannon’s limit, Nyquist sampling, Path loss, Multi-channel, loss
models, Slow and fast fading.
• Signal power & noise power
– Receive and send power, Antennas, Expected noise floors.
• Putting it together
– Modulation (again), MIMO
PHY layer

So starting with the message


• We are trying to send data from one point to the
next over some channel.
– What should we do to get that message ready to go?
– The basic steps are
• Convert it to binary (if needed)
• Compress as much as we can
– to make the message as small as we can
• Add error correction
– To reduce errors
– But, unexpectedly, also to speed up communication over the
channel.
– The receiver will need to undo all that work.
PHY layer

Communicating a Message (1/3)


• Source
Source Channel
Modulator – The message we want to send.
Encoder Encoder
– We’ll assume it’s in binary
already.
Channel
• Source encoding
Source Channel De- – Compression; remove
Decoder Decoder modulator redundancies.
– Could be lossy (e.g. jpeg)
– Called source encoding
because depends on source
type (think jpeg vs mp3)
PHY layer

Communicating a Message (2/3)


• Channel encoder
Source Channel
Modulator – Add error correction.
Encoder Encoder
– Called channel encoder,
because error correction
Channel
choices depend on
channel.
Source
Decoder
Channel
Decoder
De-
modulator
• Modulator
– Convert to analog.
• Figure out how to move to
carrier frequency.
• Lots of options including:
– Frequency modulation
Note: some sources consider
modulation to be part of the channel – Amplitude modulation
encoder. – Phase modulation
PHY layer

Communicating a Message (3/3)


• Channel
Source Channel
Modulator – The medium over which
Encoder Encoder
our encoded message is
sent.
Channel
– For the type of wireless
communication we are
Source Channel De- doing, we are talking
Decoder Decoder modulator about using radio
frequencies (RF) to
• Then the receiver undoes connect two points not
all that (demodulation and connected by a
the two decoders) conductor.
– Often more work than – Lossy.
sending!
Source encoding
• Pretty much traditional • Goal here is to remove
CS techniques for redundancy to make
compression the message as small
– Very much dependent (in bits) as possible.
on nature of source – Can accept loss in
• We use different some cases (images,
techniques for different streaming audio, etc.)
things.
• Huffman encoding is
the basic solution

For more information: http://en.wikipedia.org/wiki/Data_compression,


http://www.ccs.neu.edu/home/jnl22/oldsite/cshonor/jeff.html
Channel encoding (1/3)
• Error correction and • Idea:
detection – Extra bits add
– We are adding bits redundancy.
back into the message – If a bit (or bits) go bad,
(after compression) to we can either repair
reduce errors that occur them or at least detect
in the channel. them.
– The number of bits – If detect an error, we
added and how we add can ask for a resend.
them depends on
characteristics of the
channel.
Channel encoding (2/3)
• Block codes • Specific coding schemes
– In this case we are working – Add one bit to each block
with fixed block sizes. (parity)
– We take a group of N bits, • Can detect any one bit
add X bits to the group. error.
– Some schemes promise – Take N bits, add ~log2(N)
correction of up to Y bits of bits (for large N)
error (including added bits) • Can correct any one bit
error.
– Others detect Z bits of
error. – Both of the above can be
done using Hamming
codes.
• Also Reed-Solomon codes
and others.
See http://en.wikipedia.org/wiki/Block_code for more details.
Figure from Wikipedia

Example block code:


Hamming(7,4)
• Hamming(7,4)-code.
– Take 4 data elements (d1 to d4) • Example:
– Add 3 parity bits (p1 to p3) – Say
• p1=P(d1, d2, d4) • d[1:4]=4’b0011
• p2=P(d1, d3, d4) – Then:
• p3=P(d2, d3, d4) • p1=P(0,0,1)=1
– If any one bit goes bad (p or d) • p2=P(0,1,1)=0
can figure out which one. • p3=P(0,1,1)=0
• Just check which parity bits are
wrong. That will tell you which bit
– If d2 goes bad (is 1)
went wrong. • Then received p1 and p3
• If more than one went wrong, are wrong.
scheme fails. • Only d3 covered by both
• Much more efficient on larger (and only both)
– So d3 is the one that
blocks. flipped.
– E.g. (136,128) code exists.
In-Class Example
• Hamming(7,4)-code. • If we get: 1000101
– Take 4 data elements (d1 to d4) – What was the data?
– Add 3 parity bits (p1 to p3)
• p1=P(d1, d2, d4)
• p2=P(d1, d3, d4)
• p3=P(d2, d3, d4)
• If we get: 1111111
– What was the data?

• If we get: 0100100
– What was the data?
Channel encoding (3/3)
• Turbo codes are a type of
• Convolution codes convolution code that can
– Work on a sliding window rather
than a fixed block. provide near-ideal error
– Often send one or even two parity correction
bits per data bit.
– That’s different than perfect,
• Can be good for finding just nearly as good as possible.
close solutions even if – Approaches Shannon’s limit,
wrong. which we’ll cover shortly.
– Viterbi codes are a very • Low-density parity-check
common type of (LDPC) codes are block codes
with similar properties.

See http://en.wikipedia.org/wiki/Convolutional_code for more details.


Modulation
• We take an input signal
and move it to a carrier
frequency (fc) in a
number of way.
– We can vary the
amplitude of the signal
– We can vary the
frequency of the signal.
– We can vary the phase
of the signal.

Figure from http://www.ni.com/white-paper/4805/en/


Terms: “keying”
• Keying is a family of
modulations where we
allow only a
predetermined set of
values.
– Here, frequency and phase
only have two values, so
those two examples are
“keying”
• Note phase and frequency
could be continuous rather
than discrete.
Example:
Amplitude-Shift
Keying (ASK)
• Changes amplitude of the transmitted signal based
on the data being sent
• Assigns specific amplitudes for 1's and 0's
• On-off Keying (OOK) is a simple form of ASK

Figure from http://www.ele.uri.edu/Courses/ele436/labs/ASKnFSK.pdf


Example:
Frequency Shift
Keying (FSK)
• Changes frequency of the transmitted signal
based on the data being sent
• Assigns specific frequencies for 1's and 0's

Figure from http://www.ele.uri.edu/Courses/ele436/labs/ASKnFSK.pdf


Example:
Phase Shift Keying
(PSK)
• Changes phase of the transmitted signal based on
the data being sent
• Send a 0 with 0 phase, 1 with 180 phase
• This case called Binary Phase Shift Keying (BPSK)

Figure from http://people.seas.harvard.edu/~jones/cscie129/papers/modulation_1.pdf


And we can have modulation of a
continuous signal

Figure from http://en.wikipedia.org/wiki/Modulation


Back to Keying—M-ary
• It’s possible to do more
than binary keying.
– Could use “M-ary”
symbols
• Basically have an alphabet
of M symbols.
– For ASK this would
involve 4 levels of
amplitude.
• Though generally it uses 2
amplitudes, but has
“negative valued”
amplitudes.

Figure from http://engineering.mq.edu.au/~cl/files_pdf/elec321/lect_mask.pdf


Key “constellations”

Draw the 4-ASK constellation.


New figures from http://www.eecs.yorku.ca/course_archive/2010-11/F/3213/CSE3213_07_ShiftKeying_F2010.pdf
Some constellations

16-QAM 4-PSK
8-PSK (Quadrature amplitude) QPSK
4-QAM
(lots of names)
QPSK=quadriphase PSK. Really.
Figures from Wikipedia
QAM
• Can be thought of as
varying phase and
amplitude for each
symbol.
– Can also be thought of
as mixing two signals
90 degrees out of
phase.
16-QAM • I and Q.
(Quadrature amplitude)
Animation from Wikipedia
So, who cares?
Noise immunity
• Looking at signal-
to-noise ratio
needed to maintain
a low bit error rate.
– Notice BPSK and
QPSK are least
noise-sensitive.
– And as “M” goes
up, we get more
noise sensitive.
• Easier to confuse
https://en.wikipedia.org/wiki/Eb/N0 symbols!
Modulation
• So we have a lot of modulation choices.
– Could view it all as FSK and everything else.
Wireless messages

• Sending a message
– We first compress the source (source encoding)
– Then add error correction (channel encoding)
– Then modulate the signal
• Each of these steps is fairly complex
– We spent more time on modulation, because our
prereq. classes don’t cover it.
Shannon’s limit
• First question about the medium:
– How fast can we hope to send data?
• Answered by Claude Shannon (given some
reasonable assumptions)
– Assuming we have only Gaussian noise,
provides a bound on the rate of information that
can be reliably moved over a channel.
• That includes error correction and whatever other
games you care to play.
Taken from a slide by Dr. Stark
Shannon–Hartley theorem
• We’ll use a different version of this called the
Shannon-Hartley theorem.

• C is the channel capacity in bits per second;


• B is the bandwidth of the channel in hertz
• S is the total received signal power measured in
Watts or Volts2
• N is the total noise, measured in Watts or Volts2

Adapted from Wikipedia.


Comments (1/2)
• This is a limit. It says that you can, in theory,
communicate that much data with an arbitrarily tight
bound on error.
– Not that you won’t get errors at that data rate. Rather
that it’s possible you can find an error correction scheme
that can fix things up.
• Such schemes may require really really long block sizes and so may
be computationally intractable.
• There are a number of proofs.
– IEEE reprinted the original paper in 1998
• http://www.stanford.edu/class/ee104/shannonpaper.pdf
– More than we are going to do.
• Let’s just be sure we can A) understand it and B) use it.
Comments (2/2)
• What are the assumptions made in the proof?
– All noise is Gaussian in distribution.
• This not only makes the math easier, it means that because the
addition of Gaussians is a Gaussian, all noise sources can be
modeled as a single source.
• Also note, this includes our inability to distinguish different
voltages.
– Effectively quantization noise and also treated as a Gaussian (though
it ain’t)

• Can people actually do this?


– They can get really close.
• Turbo codes,
• Low density parity check codes.
Examples (1/2)
• If the SNR is 20 dB, and
the bandwidth available is
• C is the channel capacity 4 kHz what is the channel
in bits per second; capacity?
• B is the bandwidth of the – Part 1: convert dB to a
ratio (it’s power so it’s base
channel in Hertz 10)
• S is the total received – Part 2: Plug and chug.
signal power measured in
Watts or Volts2
• N is the total noise, db = 10 log P1/P0
measured in Watts or P1=10db/10 *P0
Volts2

Adapted from Wikipedia.


Examples (2/2)
• If you wish to transmit at
50,000 bits/s, and a
• C is the channel capacity bandwidth of 1 MHz is
in bits per second; available, what S/R ration
• B is the bandwidth of the can you accept?
channel in Hertz
• S is the total received
signal power measured in
Watts or Volts2
• N is the total noise,
measured in Watts or
Volts2

Adapted from Wikipedia.


Summary of Shannon’s limit
• Provides an upper-bound on information over
a channel
– Makes assumptions about the nature of the noise.
• To approach this bound, need to use channel
encoding and modulation.
– Some schemes (Turbo codes, Low density parity
check codes) can get very close.
Acknowledgments and sources
• A 9 hour talk by David Tse has been extremely useful and is a
basis for me actually understanding anything (though I’m by no
means through it all)
• A talk given by Mike Denko, Alex Motalleb, and Tony Qian
two years ago for this class proved useful and I took a number
of slides from their talk.
• An hour long talk with Prabal Dutta formed the basis for the
coverage of this talk.
• Some other sources:
– http://www.cs.cmu.edu/~prs/wirelessS12/Midterm12-solutions.pdf
-- A nice set of questions that get at some useful calculations.
– http://people.seas.harvard.edu/~jones/es151/prop_models/propagat
ion.html all the path loss/propagation models in one place
– http://people.seas.harvard.edu/~jones/cscie129/papers/modulation_
1.pdf very nice modulation overview.

• I’m grateful for the above sources. All mistakes are my own.
Additional sources/references
General
• http://www.cs.cmu.edu/~prs/wirelessS12/Midterm12-solutions.pdf
Modulation
• https://fetweb.ju.edu.jo/staff/ee/mhawa/421/Digital%20Modulation.pdf
• http://www.ece.umd.edu/class/enee623.S2006/ch2-5_feb06.pdf
• https://www.nhk.or.jp/strl/publica/bt/en/le0014.pdf
• http://engineering.mq.edu.au/~cl/files_pdf/elec321/lect_mask.pdf (ASK)
• http://www.eecs.yorku.ca/course_archive/2010-
11/F/3213/CSE3213_07_ShiftKeying_F2010.pdf
Message, Medium,
and Power & noise
• Message
– Source encoding, Channel encoding, Modulation, and
Protocol and packets
• Medium
– Shannon’s limit, Nyquist sampling, Path loss, Multi-channel, loss
models, Slow and fast fading.
• Signal power & noise power
– Receive and send power, Antennas, Expected noise floors.
• Putting it together
– Modulation (again), MIMO

You might also like