You are on page 1of 45

Revision on Digital

Communications

Digital Modulation and Detection


Channel Coding Fundamentals

1 2018/1/25
Mobile Communication System

Review of Modulation
• Why we need modulation?
– Small antenna size.
– Limits noise and interference and
– Inter-symbol interference
• Antenna size is inversely proportional to frequency
– e.g., 3 kHz  50 km antenna
3 GHz  5 cm antenna

2 2018/1/25
Mobile Communication System

Analog and Digital Signals


• Analog Signal (Continuous signal)
Amplitude

S(t)

Time
0

• Digital Signal (Discrete signal)


Amplitude

1 0 1 1 0 1
+

0 Time
_

Bit
3 2018/1/25
Mobile Communication System

Amplitude Modulation (AM)

Message signal Time


x(t)

Carrier signal Time

AM signal
s(t) Time

Amplitude of carrier signal is varied as the message signal to be transmitted.


Frequency of carrier signal is kept constant.

4 2018/1/25
Mobile Communication System

Frequency Modulation (FM)

Message signal Time


x(t)

Carrier signal Time

FM signal Time
s(t)

FM integrates message signal with carrier signal by varying the instantaneous


frequency.
Amplitude of carrier signal is kept constant.
5 2018/1/25
Mobile Communication System

Digital Modulation and Detection


• Digital modulation offers a number of other advantages over analog
modulation
– Higher data rates
– Powerful error correction techniques
– Resistance to channel impairments
– More efficient multiple access strategies
– Better security and privacy
• Digital modulation and detection
– Transferring information in the form of bits over a communications
channel
– Binary digits taking on the values of either 1 or 0
– Digital modulation consists of mapping the information bits into an
analog signal for transmission over the channel
– Detection consists of determining the original bit sequence based on the
signal received over the channel.

6 2018/1/25
Mobile Communication System

Categories of Digital Modulation


• Frequency modulation
– also called constant envelope modulation or nonlinear
modulation
• Amplitude/Phase modulation
– also called linear modulation.
• Linear vs Nonlinear
– Linear modulation generally has better spectral properties than
nonlinear modulation
– more sensitive to variations from fading and interference

7 2018/1/25
Mobile Communication System

Digital Modulation Concept


• The bit rate defines the rate at which information is
passed.
• The baud (or signalling) rate defines the number of
symbols per second.
• Each symbol represents n bits, and has M signal states,
where M = 2n. This is called M-ary signalling.
• The maximum rate of information transfer through a
baseband channel is given by:
– Capacity fb = 2Wlog2M bits per second
– where W = bandwidth of modulating baseband signal

8 2018/1/25
Mobile Communication System

Digital Modulation
• Design Issues (Often Conflicting)
– Data Rate
– Spectral Efficiency
– Power Efficiency
– Performance (Channel Impairments and Noise)
– Cost

9 2018/1/25
Mobile Communication System

Frequency Shift Keying (FSK)


• 1/0 represented by two different frequencies offset from carrier frequency

Carrier signal 1 Time


for message signal ‘1’

Carrier signal 2
Time
for message signal ‘0’

1 0 1 1 0 1
Message signal
x(t) Time

FSK signal Time


s(t)
• FSK has high signal-to-noise ratio (SNR) but low spectral efficiency due to
the spectral spreading.
• FSK can be expanded to a M-ary scheme, employing multiple frequencies
10 as different states. 2018/1/25
Mobile Communication System

Phase Shift Keying (PSK)


• Use alternative sine wave phase to encode bits

Carrier signal
Time
sin( 2f ct )

Carrier signal
Time
sin( 2f ct   )
1 0 1 1 0 1
Message signal Time
x(t)
PSK signal Time
s(t)

• PSK has a perfect SNR but it must be demodulated synchronously.


• PSK can be expanded to a M-ary scheme, employing multiple phases
11 and amplitudes as different states. 2018/1/25
Mobile Communication System

QPSK Signal Constellation


Signal Space Representation
Q Q
0,1

1 0 1,1 0,0
I I

1,0

(a) BPSK (b) QPSK


QPSK undergoes four changes in phase in one cycle and can represent four binary
bit patterns of data, it can double the bandwidth of the carrier than BPSK.
QPSK use 4 phase shifts to notate 4 different combinations of input bits.
For example, use π/2 phase shifts to notate 2 sequence bits 0,0
12 2018/1/25
Mobile Communication System

All Possible State Transitions in /4 QPSK

Different with QPSK and BPSK,


π /4 QPSK is not encoded in the
absolute position, but in the
phase offset.

It is popular in most second generation systems, such as North American Digital


Cellular and Japanese Digital Cellular.
13 2018/1/25
Mobile Communication System

Quadrature Amplitude Modulation (QAM)


Combination of AM and PSK
Q

1000 1100 0100 0000

1001 1101 0101 0001


I

1011 1111 0111 0011

1010 1110 0110 0010

Rectangular constellation of 16QAM

M-ary schemes are more bandwidth efficient, but more susceptible to noise.
14 2018/1/25
Mobile Communication System

Introductions to Channel Coding

Information to
be transmitted Source Channel
Modulation Transmitter
coding coding

Channel
Information
received Source Channel
Channel Demodulation Receiver
decoding decoding

15
Mobile Communication System

Channel Coding
• Block Codes
• Cyclic Codes
• Convolutional Codes
• Interleaving
• Turbo Codes
• ARQ (Automatic Repeat Request)
– Stop-and-wait ARQ
– Selective-repeat ARQ

16 2018/1/25
Mobile Communication System

Forward Error Correction (FEC)


• The key idea of FEC is to transmit enough redundant data
to allow receiver to recover from errors all by itself. No
sender retransmission required.
• The major categories of FEC codes are
– Block codes,
– Cyclic codes,
– Convolutional codes, and
– Turbo codes, etc.

17 2018/1/25
Mobile Communication System

Linear Block Codes


• Information is divided into blocks of length k
• r parity bits or check bits are added to each block (total
length n = k + r).
• Code rate R = k/n
• Decoder looks for codeword closest to received vector
(code vector + error vector)
• Tradeoffs between
– Efficiency
– Reliability
– Encoding/Decoding complexity

18 2018/1/25
Mobile Communication System

Linear Block Codes


• The uncoded k data bits be represented by the m vector:
m=(m1, m2, …, mk)
The corresponding codeword be represented by the n-bit c vector:
c=(c1, c2, …ck, ck+1, …, cn-1, cn)
• Each parity bit consists of weighted modulo 2 sum of the data bits represented
by  symbol.
c1  m1

c2  m2
...

ck  mk
c  m p
1 1( k 1)  m2 p2 ( k 1)  ...  mk pk ( k 1)
 k 1
...

cn  m1 p1n  m2 p2 n  ...  mk pkn
Where pij is the binary weight of the particular data bit.
The idea is to add parity at the transmitting side and use the parity check matrix
to take care of possible errors in transmission.
19
Mobile Communication System

Linear Block Codes


 Linear Block Code
represent the codeword C as a matrix operation on the uncoded data
vector m
C=mG
where G is the generator matrix.
G = [Ik | P]k × n,
Here P is the parity matrix, and I is unit matrix.
pi = Remainder of [xn-k+i-1/g(x)] for i=1, 2, .., k,

20 2018/1/25
Mobile Communication System

Linear Block Codes: Example


Example : Find linear block code encoder G if code generator
polynomial g(x)=1+x+x3 for a (7, 4) code.

We have n = Total number of bits = 7, k = Number of information bits = 4,


r = Number of parity bits = n - k = 3.

1 0 0 p1 
0 1 0 p 

G  I | P    2 
,
 
 
0 01 pk 
where
x n  k  i 1

pi  Re mainder of  , i  1, 2, , k
 g ( x) 
21
Mobile Communication System

Linear Block Codes: Example (Continued)


 x3 
p1  Re  3
 1  x  110
1  x  x 

 x4 
p2  Re    x  x 2
 011 1000110
1  x  x 
3
0100011
G 
 x5  0010111
p3  Re    1  x  x 2
 111  
1  x  x 
3
0001101

 x6 
p4  Re  3
 1  x 2
 101
1  x  x 

22
Mobile Communication System

Linear Block Codes: Parity Check Matrix

 The parity check matrix


H = [PT | In-k ], where PT is the transpose of the matrix P.

C  mG  [m | mP]k n

Then,
P 
CH  [m | mP]
T
  mP  mP  0
 I nk 

23 2018/1/25
Mobile Communication System

Linear Block Codes: Parity Check Matrix


Parity
Message Generator Code Code check Null
vector matrix Vector Vector matrix vector
m G C C H 0

Operations of the generator matrix and the parity check matrix

The parity check matrix H is used to detect errors in the received code by using the fact
that c * HT = 0 ( null vector)

Let x = c e be the received message where c is the correct code and e is the error
Compute S = x * HT =( c e ) * HT =c HT e HT = e HT
If S is 0 then message is correct else there are errors.

24
Mobile Communication System

Parity Check: Example

• Consider a (7,4) linear block code, given by G as

1000111 
0100110  1110100
G  Then, H  1101010
0010101  1011001
 
 0001011 

For m = [1 0 1 1] and c = mG = [1 0 1 1 0 0 1].


If there is no error, the received vector x=c, and s=cHT=[0 0 0]

25
Mobile Communication System

Parity Check: Example (Continued)


Let c suffer an error such that the received vector
x=c e
=[ 1 0 1 1 0 0 1 ][ 0 0 1 0 0 0 0 ]
=[ 1 0 0 1 0 0 1 ].
Then,
s=xHT 111 
110 
 
101 
= 1001001011  [101]
 
100 
 
010
001
T
=(eH )  

26 2018/1/25
Mobile Communication System

Cyclic Codes
• Definition: A code C is cyclic if
(i) C is a linear code;
(ii) any cyclic shift of a codeword is also a codeword, i.e.
whenever a0,… an -1  C, then also an -1 a0 … an –2  C.
Example
Code C = {000, 101, 011, 110} is cyclic.

It is a block code which uses a shift register to perform encoding


and decoding, its advantage is easy to encode and decode.
Widely used in FEC system.

27 2018/1/25
Mobile Communication System

Cyclic Codes
• The cyclic codeword with n bits is expressed in polynomial as
c(x)=c1xn-1 +c2xn-2……+ cn
where ci is either 1 or 0.
thus multiplication by x corresponds to a cyclic shift.
The codeword can be also expressed by the data polynomial m(x) and
the check polynomial cp(x),
c(x) = m(x) xn-k + cp(x)
where cp(x) = remainder from dividing m(x) xn-k by generator g(x)

if the received signal is c(x) + e(x) where e(x) is the error polynomial .
To check if received signal is error free, the s(x) is the remainder from
dividing c(x) + e(x) by g(x). If s(x) = 0 then the received signal is
considered error free.

28 2018/1/25
Mobile Communication System

Cyclic Code: Example


Example : Find the code words c(x) if m(x)=1+x+x2 and g(x)=1+x+x3
for (7,4) cyclic code.

We have n = Total number of bits = 7, k = Number of information bits = 4,


r = Number of parity bits = n - k = 3.

 m( x ) x n  k 
c p ( x)  rem 


 g ( x) 
x  x  x 
5 4 3

 rem  3  x
 x  x 1 
Then,
n k
c( x)  m( x) x  c p ( x)  x  x  x  x
3 4 5

29 2018/1/25
Mobile Communication System

Convolutional Codes
• Encoding of information stream rather than information
blocks
– Convert the entire data stream into one single code word.
– Real time error correction.
• Value of certain information symbol also affects the
encoding of next M information symbols, i.e., memory M
• Easy implementation using shift register
–  Assuming k inputs and n outputs, so the code rate is defined
as r = k/n.
• Decoding is mostly performed by the Viterbi Algorithm
(not covered here)
• Widely used in GSM
30 2018/1/25
Mobile Communication System

Convolutional Codes: (n=2, k=1, M=2) Encoder

y1
Input Output
x D1 D2 c
y2

Di -- Register

Input: 1 1 1 0 0 0 …
Output: 11 01 10 01 11 00 …

Input: 1 0 1 0 0 0 …
Output: 11 10 00 10 11 00 …

31
Mobile Communication System

State Diagram of Encoder


Each new input bit causes a transition from one state to
another. 10/1

11
01/1 01/0
10/0
10 01
00/1
11/1 11/0
00

32
00/0
Mobile Communication System

Tree Diagram of Encoder


0
00
……
First input
00 First output
00
…11001 11 11
10
11
01 … 10 11 11 01 11
10
11
10
00
00
1 01
01
10
11
00
11
11
01
10
00
01 01
11
01
00
10
01
10
10
33
Mobile Communication System

Trellis Diagram of Encoder


… 11 0 0 1

00 00 00 00 00 00 00 00 00 00 00

11 11 11 11 11 11
11
11
10 10 10 10 10 10

00 00 00
10
10 10 10
01 01 01 01 01 01

01 01 01 01
01 01 01
11 11 11 11 11 11
10 10 10

34
Mobile Communication System

Interleaving
• To protect the data from burst errors.
• No error-correcting capability.
• Always used in conjunction with an error-correcting code.
• No redundancy.
• Introduce additional delay as the sequence need to be
processed block by block.

35 2018/1/25
Mobile Communication System

Concept of Interleaving
Input Data a1, a2, a3, a4, a5, a6, a7, a8, a9, …

Write
a1, a2, a3, a4
a5, a6, a7, a8

Read
Interleaving a9, a10, a11, a12
a13, a14, a15, a16

Transmitting a1, a5, a9, a13, a2, a6, a10, a14, a3, …
Data
Read
a1, a2, a3, a4
a5, a6, a7, a8
Write

De-Interleaving a9, a10, a11, a12


a13, a14, a15, a16

Output Data a1, a2, a3, a4, a5, a6, a7, a8, a9, …

36 2018/1/25
Mobile Communication System

Interleaving: Example

Burst error

Transmitting 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,…
Data
Read
0, 1, 0, 0
Write 0, 1, 0, 0
De-Interleaving
0, 1, 0, 0
1, 0, 0, 0

Output Data 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, …

Discrete error

37 2018/1/25
Mobile Communication System

Turbo Codes
• A brief historic of turbo codes :
– The turbo code concept was first introduced by C. Berrou in 1993.
Today, Turbo Codes are considered as the most efficient coding
schemes for FEC.
• Scheme with known components (convolutional or block codes,
interleaving, etc.)
• Performance close to the Shannon Limit at modest complexity!
• Turbo codes have been proposed for low-power applications such
as satellite communications, as well as for interference limited
applications such as third generation cellular, personal
communication services, ad hoc and sensor networks.

38 2018/1/25
Mobile Communication System

Turbo Codes: Encoder

Data X
X
Source

Convolutional Encoder
1 Y1

Interleaving Y
(Y1, Y2)
Convolutional Encoder Y2
2

X: Information
Yi: Redundancy Information

39
Mobile Communication System

Turbo Codes: Decoder

De-interleaving

Convolutional
Y1 Interleaver
Decoder 1

X Interleaving Convolutional
Decoder 2 De-interleaving X’
Y2

X’: Decoded Information

40
Mobile Communication System

Automatic Repeat Request (ARQ)

Source Transmitter Channel Receiver Destination

Transmit Transmit
Encoder Modulation Demodulation Decoder
Controller Controller

Acknowledge

When the receiver detects bit errors in a packet, drop the packet and inform the sender
to transmit it again.

41 2018/1/25
Mobile Communication System

Stop-And-Wait ARQ (SAW ARQ)


Retransmission

Transmitting 1 2 3 3
Time
Data

Received Data 1 2 3
Time
Error

Output Data 1 2 3
Time

ACK: Acknowledgement
NAK: Negative ACK

42 2018/1/25
Mobile Communication System

Go-Back-N ARQ (GBN ARQ)


Go-back 3 Go-back 5

Transmitting 1 2 3 4 5 3 4 5 6 7 5
Time
Data

Received Data 1 2 3 4 5
Time
Error Error

Output Data 1 2 3 4 5
Time

Packets without ACK need to be buffered by the sender.


The receiver accepts in-order packets, only a packet buffer is needed.
GBN ARQ is better suited for the burst error environment.
43
Mobile Communication System

Selective-Repeat ARQ (SR ARQ)


Retransmission Retransmission

Transmitting 1 2 3 4 5 3 6 7 8 9 7
Time
Data

Received Data 1 2 4 5 3 6 8 9 7
Time
Error Error

Buffer 1 2 4 5 3 6 8 9 7
Time

Output Data 1 2 3 4 5 6 7 8 9
Time

44 2018/1/25
Mobile Communication System

Summary
• Analog and Digital modulation
– AM, FM
– FSK, PSK, QPSK, QAM
• Channel Coding
– Block Codes,
– Cyclic Codes,
– Convolutional Codes,
– Interleaving,
– Turbo Codes,
– ARQ

45 2018/1/25

You might also like