1
1
2
2
Protocol Stack
3
➢
➢
➢
3
Target of this class
4
4
➢
–
twisted pair
1 Mm 300 Hz
VLF
coax cable
optical transmission
1 μm 300 THz
visible light UV
Radio spectrum for communication
10 km 30 kHz
100 m 3 MHz
MF HF
1 m
300 MHz
VHF UHF
10 mm 30 GHz
SHF EHF
100 μm 3 THz
infrared
LF
© Jochen Schiller, FU Berlin
5
5
➢
ISM bands
➢
➢
Frequency
13,553-13,567 MHz 26,957 – 27,283 MHz 40,66 – 40,70 MHz 433 – 464 MHz
900 – 928 MHz
2,4 – 2,5 GHz
5,725 – 5,875 GHz 24 – 24,25 GHz
Europe Americas
802.11b/g, Bluetooth
802.11a
Frequency Allocation
US Frequency Allocation
6
6
7
Modulation: Transmitting Data With Radio Waves
➢ ➢
–φ ➢
➢
7
Modulation Examples
➢
➢
➢
© Tanenbaum, Computer Networks
8
8
9
9
➢
– –
10
10
Modulation and Keying – IQ Data
Source: TI.com
11
➢
–
➢
–
–
–
–
11
Receiver: Demodulation
12
12
➢
➢
Attenuation and Distortion
13
➢
– –
13
Attenuation: Path Loss
14
➢
Distortion Effects: Non-line-of-sight Paths
➢
– –
signal at receiver
© Jochen Schiller, FU Berlin
14
Non-line-of-sight path Line-of-
multipath pulses
sight path
LOS pulses
Wireless signal strength in a multi-path environment
➢ Brighter color = stronger signal
➢ Obviously, simple (quadratic) free space attenuation formula is not sufficient to capture these effects
© Jochen Schiller, FU Berlin
15
15
16
➢
➢
16
γ –γ
Attenuation
–σ –
17
➢
➢
17
Noise and Interference
18
➢ ➢
➢
➢
18
Symbols and Bit Errors
19
➢
➢ ➢
–
•
•
19
Channel Models – Analog
20
➢
➢
20
WSN-specific channel models
–γ –σ
21
➢
➢ ➢
21
Wireless channel quality – summary
22
Some transceiver design considerations
➢
➢ ➢
22
•
➢
–
– –
➢
–
23
23
Choice of modulation
24
24
Automatic Modulation Recognition
25
➢ ➢ ➢ ➢
25
Summary
26
26
27
27
IEEE 802.15.4 Application Space
● ● ● ● ●
Differences between IEEE 802.15.4 & ZigBee
➢ IEEE 802.15.4
– PHYsical Layer (PHY)
• Radio portion, transmitter and receiver
– Media Access Control (MAC) Layer • Radio controller, data to next device
➢ ZigBee
– Network Layer
– Application Support Layer
28
28
IEEE 802.15.4 Architecture
29
29
IEEE 802.2 LLC
868/915 MHz
2400 MHz
Upper Layers
Other LLC
IEEE 802.15.4 MAC
IEEE 802.15.4
PHY
IEEE 802.15.4
PHY
30
802.15.4 General Characteristics
➢ ➢ ➢ ➢ ➢ ➢ ➢ ➢
✓ ✓
30
IEEE 802.15.4 PHY Overview
Operating Frequency Bands
868MHz / 915MHz PHY
Channel 0
868.3 MHz
Channels 1-10
902 MHz
2 MHz
928 MHz
2.4 GHz PHY
2.4 GHz
Channels 11-26
5 MHz
2.4835 GHz
31
31
32
32
● ● ● ●
Preamble
Start of Packet Delimiter
6 Octets
PHY Header
PHY Service Data Unit (PSDU)
0-127 Octets
IEEE 802.15.4 PHY Overview
Packet Structure
33
➢
➢
33
IEEE 802.15.4 PHY Overview
Modulation/Spreading
34
34
●
●
● ●
● ● ●
IEEE 802.15.4 PHY Overview
Common Parameters
●
● ● ● ●
35
35
IEEE 802.15.4 PHY Overview
PHY Primitives
Principles of Object-Oriented Programming using C++
36
36
37
37
➢ ➢ ➢
What is OOP?
Basic Concepts of OOP
38
38
Classes in C++
Can you see the problem in this piece of code?
39
39
40
➢ ➢ ➢
➢
➢
40
Abstraction / Information Hiding
➢
41
41
Abstraction / Information Hiding (2)
➢
➢
42
42
43
43
➢
➢
➢
Encapsulation
➢
➢ ➢ ➢
44
44
➢
Inheritance
Inheritance (2)
45
45
Inheritance (3)
46
46
47
47
48
➢
➢
➢
48
Static vs Dynamic Binding
Let’s Fix the Problem…
➢ Defining in a base class a virtual function, with another version in a derived class, signals to the compiler that we don’t want static binding for this function
➢ What we do want is the selection of the function to be called at any given point in the program to be based on the kind of object for which it is called
➢ This is called dynamic linkage, or late binding
49
49
➢
➢
50
50
Pure Virtual Functions
➢ ➢ ➢
Virtual Functions
+
Inheritance
=
Polymorphism! (can somebody define it now?)
51
51
Polymorphism:
Ability of a reference variable to change behavior according to what instance variable it is holding
52
52
Examples of Design Patterns that use Polymorphism
53
53
Factory Design Pattern
54
54
Observer Design Pattern (Code Example)
55
55
State Design Pattern (Code Example)
56
56