You are on page 1of 39

INTRODUCTION TO

COMMUNICATIONS

COURSE no. 7

Assoc. Prof. Luminiţa SCRIPCARIU

11/14/2018 Luminita Scripcariu 1


FROM THE PREVIOUS COURSE

• HAMMING

• TURBO-ASCII

• TURBO-HAMMING

• REED-SOLOMON

11/14/2018 Luminita Scripcariu 2


QUESTION 1
Which of the following codes is applied on bit
sequences?
 ASCII
 HAMMING
 TURBO-HAMMING
 RS

11/14/2018 Luminita Scripcariu 3


QUESTION 1
Which of the following codes is applied on
bit sequences?
 ASCII
 HAMMING
 TURBO-HAMMING
 RS

11/14/2018 Luminita Scripcariu 4


QUESTION 2
Error detection is based on:
 Generator matrix (G)
 Control matrix (H)
 Error vector (e)
 Syndrome vector(s)

11/14/2018 Luminita Scripcariu 5


QUESTION 2
Error detection is based on:
 Generator matrix (G)
 Control matrix (H)
 Error vector (e)
 Syndrome vector(s)

11/14/2018 Luminita Scripcariu 6


QUESTION 3
How many errors can H(31,26) code correct?
 1
 2
 3
 5

11/14/2018 Luminita Scripcariu 7


QUESTION 3
How many errors can H(31,26) code correct?
 1
 2
 3
 5

11/14/2018 Luminita Scripcariu 8


QUESTION 4
What is the value of the minimum Hamming
distance of H(15,11) code?
 1
 3
 4
 11

11/14/2018 Luminita Scripcariu 9


QUESTION 4
What is the value of the minimum Hamming
distance of H(15,11) code?
 1
 3
 4
 11

11/14/2018 Luminita Scripcariu 10


QUESTION 5

Calculate the coding rate of TH(15,11) code:

..............................................

11/14/2018 Luminita Scripcariu 11


QUESTION 5

Calculate the coding rate of TH(15,11) code:

Rc = 112/152 = 121/225 ~ 1/2

11/14/2018 Luminita Scripcariu 12


QUESTION 6
Which of the following statements about
Turbo code are true?
 Turbo code encodes data using an
interleaving structure
 Turbo decoder works iteratively
 Turbo code has the same error correcting
capacity as the basic code
 Turbo code corrects more errors than the
basic one.
11/14/2018 Luminita Scripcariu 13
QUESTION 6
Which of the following statements about
Turbo code are true?
 Turbo code encodes data using an
interleaving structure
 Turbo decoder works iteratively
 Turbo code has the same error correcting
capacity as the basic code
 Turbo code corrects more errors than the
basic one.
11/14/2018 Luminita Scripcariu 14
QUESTION 7
Which of the following codes can be used to
correct error-burst?
 ASCII with parity bits
 Hamming
 RS
 Turbo-Hamming

11/14/2018 Luminita Scripcariu 15


QUESTION 7
Which of the following codes can be used to
correct error-burst?
 ASCII with parity bits
 Hamming
 RS
 Turbo-Hamming

11/14/2018 Luminita Scripcariu 16


QUESTION 8
Which of the following values are of the 3rd
order in GF(16)?
 2
 4
 6
 7
Tips: The powers of 2 in GF(16) are:
[1 2 4 8 3 6 12 11 5 10 7 14 15 13 9 1]
Definition: The order of an element in GF is the minimum not-
null power of the element which is equal to 1.
11/14/2018 Luminita Scripcariu 17
QUESTION 8
Which of the following values are of the 3rd
order in GF(16)?
 2
 4
 6
 7
Tips: The powers of 2 in GF(16) are:
[1 2 4 8 3 6 12 11 5 10 7 14 15 13 9 1]
Definition: The order of an element in GF is the minimum not-
null power of the element which is equal to 1.
11/14/2018 Luminita Scripcariu 18
Reed-Solomon Codes
• Block-codes defined on GF(2m)
• RS(n,n-2t) code corrects t errors at maximum.
• DEFINITION: n-DFTof any RS code word
has a group of 2t zeroes.
• Remember: n-DFT exists if and only if n
divides N = 2m-1.
• The zero-sequence of the DFT of the received
word corresponds to the syndrome vector.
11/14/2018 Luminita Scripcariu 19
The generating polynomial
of RS(n, n-2t) code
g(x) = (x+wn-2t)…(x+wn-1)

• w is the nth order root of the unit, in


GF(2m).
• n divids N=2m-1.
• The generating polynomial has 2t factors
(x+ w k), k = (n-2t) up to (n-1).
• The degree of the polynomial is 2t.
11/14/2018 Luminita Scripcariu 20
RS Code Design Methods
1. Time method: the data polynomial a(x) is
multiplied by the generating polynomial g(x):
c(x)=a(x)*g(x).
2. Frequency method: the codeword is
calculated as the IDFT of the data sequence
completed with 2t zeros.
3. Systematic method: the codeword
corresponds to the coefficients of the reminder
got by the division of x2ta(x) by g(x).
11/14/2018 Luminita Scripcariu 21
PROPOSED EXERCISE
• Calculate the generating polynomial of RS(5,3)
code, in GF(16): g(x)=(x+wn-2t)…(x+wn-1) with the
root of the unit equal to 8.

• Encode the sequence [1 , 5, 10] by this code


applying the systematic method.

Tips: The powers of 2 in GF(16) are:


[1 2 4 8 3 6 12 11 5 10 7 14 15 13 9 1]

11/14/2018 Luminita Scripcariu 22


Performances of the error
correcting codes
• Redundancy (parity bits weight in the code
word)
• The number of detectable errors
• Error detection capability
• The number of correctable errors
• Error correction capability

11/14/2018 Luminita Scripcariu 23


Comparison of Hamming Codes

11/14/2018 Luminita Scripcariu 24


Bit Error Rate (BER)

11/14/2018 Luminita Scripcariu 25


Comparison of Reed-Solomon Codes

11/14/2018 Luminita Scripcariu 26


BER of RS Codes

Coding gain expresses the difference of the received


SNR using the error correction code and the SNR
without using the code:
G = Rc*dH or 10*log(Rc*dH ) [dB].
11/14/2018 Luminita Scripcariu 27
Example

Calculate the coding gain of H(7, 4) code.

11/14/2018 Luminita Scripcariu 28


PROPOSED EXERCISE

Calculate the coding gain of RS(15,9) code.

11/14/2018 Luminita Scripcariu 29


Remarks
• Reed-Solomon codes, RS(n, k), can be used to
create symmetric TRS(n2,k2) Turbo-code.
• If the basic RS (n, k) code can correct t errors,
the corresponding Turbo-RS code may correct
error-burst of n*t erroneous symbols, at
maximum.
• Example: TRS(255, 135), defined on GF(256),
can correct 255*60=15300 Bytes or 122400
consecutive bits, at maximum.

11/14/2018 Luminita Scripcariu 30


Exercise
Design a Turbo-RS code on GF(256) for a 100
Mbps communication channel with maximum
1ms fading duration.
Solution:
• No. of bit errors = 10^(-3)*10^8=100000 bits
• No. of Byte errors = 100000/8+2=12502 Bytes
• Turbo-RS code: n = 255, n*t > 12502,
t=[12502/255]+1 = 50 => n-2t=155 =>
Basic code: RS(255, 155).
11/14/2018 Luminita Scripcariu 31
DATA CODING TECHNIQUES

• COMPRESSION CODES

• ENCRYPTION CODES

• ERROR-CORRECTION CODES

• LINE CODES

11/14/2018 Luminita Scripcariu 32


Line Codes
 Used to facilitate the synchronization of the
receiver (bit timing).
 Allow to increase the density of data stored
on magnetic or optical support.
 Balance the digital transmitters.
 Allow higher bit rates.

11/14/2018 Luminita Scripcariu 33


Clasification of Line Codes

 Binary
 Ternary
 Multilevel (Correlative coding or Partial-
Response PR Codes)

11/14/2018 Luminita Scripcariu 34


Binary Line Codes
• NRZ-M (Non-Return to Zero – Mark)
• RZ (Return to Zero)
• BIF-L (MANCHESTER)
• BIF-M (Biphase – Mark)
• MILLER

11/14/2018 Luminita Scripcariu 35


Ternary Line Codes
• AMI (Alternative Mark Inversion) = BIPOLAR 1
1 is coded alternatively by +/- (B-rule changes
the last polarity)
0 is coded by 0.
• BIPOLAR nr.2:
1 is coded alternatively by +/+/-/-; 0 / 0
• HDB3 (High Density Bipolar no. 3)
or constrained AMI: 1 coded by B-rule;
d.c.= 0 maximum 3 consecutive zeroes are
permitted: 0 0 0 V / B 0 0 V (V-rule uses the same
polarity as the last one)
* Two consecutive Vs have different polarities!
11/14/2018 Luminita Scripcariu 36
Example
Date: 111100001000000001
AMI +-+ -0000+00000000–
BIP. 2 ++- -0000+00000000+
HDB3 +-+ -000 - + 0 0 0 +- 0 0 - +
Observaţie: Ternary codes have memory
(e.g. the last polarity is stored in the code
memory).

11/14/2018 Luminita Scripcariu 37


PROPOSED EXERCISE

• Encode the following data sequence by


NRZ-M, RZ, MILLER, AMI, BIP2, HDB3:

1011100010001100

11/14/2018 Luminita Scripcariu 38


Remarks

Line codes create a discrete component in


the encoded signal spectrum on the bit
frequency or half of it, in order to ensure the
bit timing in the receiver.

11/14/2018 Luminita Scripcariu 39

You might also like