Download as pdf or txt
Download as pdf or txt
You are on page 1of 341

www.rejinpaul.

com

EC6501
DIGITAL COMMUNICATION

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

OBJECTIVES:
To know the principles of sampling &
quantization
To study the various waveform coding
schemes
To learn the various baseband transmission
schemes
To understand the various Band pass signaling
schemes
To know the fundamentals of channel coding
Get useful study materials from www.rejinpaul.com
SYLLABUS www.rejinpaul.com
UNIT I SAMPLING & QUANTIZATION 9
Low pass sampling – Aliasing- Signal Reconstruction-Quantization - Uniform & non-uniform
quantization - quantization noise - Logarithmic Companding of speech signal- PCM - TDM 56

UNIT II WAVEFORM CODING 9


Prediction filtering and DPCM - Delta Modulation - ADPCM & ADM principles-Linear Predictive
Coding

UNIT III BASEBAND TRANSMISSION 9


Properties of Line codes- Power Spectral Density of Unipolar / Polar RZ & NRZ – Bipolar NRZ -
Manchester- ISI – Nyquist criterion for distortionless transmission – Pulse shaping – Correlative
coding - Mary schemes – Eye pattern - Equalization

UNIT IV DIGITAL MODULATION SCHEME 9


Geometric Representation of signals - Generation, detection, PSD & BER of Coherent BPSK,
BFSK & QPSK - QAM - Carrier Synchronization - structure of Non-coherent Receivers - Principle
of DPSK.

UNIT V ERROR CONTROL CODING 9


Channel coding theorem - Linear Block codes - Hamming codes - Cyclic codes - Convolutional
codes - Vitterbi Decoder

TOTAL: 45 PERIODS

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

OUTCOMES
Upon completion of the course, students will be
able to
Design PCM systems
Design and implement base band transmission
schemes
Design and implement band pass signaling
schemes
Analyze the spectral characteristics of band
pass signaling schemes and their noise
performance
Design error control coding schemes
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

EC6501
DIGITAL COMMUNICATION

UNIT - 1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

INTRODUCTION

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

UNIT I
SAMPLING & QUANTIZATION (9)
 Low pass sampling
 Aliasing
 Signal Reconstruction
 Quantization
 Uniform & non-uniform quantization
 Quantization Noise
 Logarithmic Companding of speech signal
 PCM
 TDM
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Digital communication system

Input Low
Signal Source Channel
Pass Sampler Quantizer Multiplexer
Analog/ Encoder Encoder
Filter
Digital
Carrier

Pulse
Line
To Channel Modulator Shaping
Encoder
Filters

De- Receiver
From Channel Detector
Modulator Filter

Carrier Ref.

Signal
Digital-to-Analog Channel De-
at the
Converter Decoder Multiplexer
user end

Get useful study materials from www.rejinpaul.com 12


www.rejinpaul.com

Key Questions

 How can a continuous wave form be


converted into discrete samples?

 How can discrete samples be converted back


into a continuous form?

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Low Pass Sampling

Sampling (in time) is

 Measure amplitude at regular intervals

 How many times should we sample?

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Nyquist Theorem
For lossless digitization, the sampling rate
should be at least twice the maximum
frequency of the signal to be sampled.

 In mathematical terms:
fs > 2*fm

 where fs is sampling frequency and fm is the


maximum frequency in the signal
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Limited Sampling
 But what if one cannot sample fast
enough?

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Limited Sampling
 Reduce signal frequency to half of
maximum sampling frequency

 low-pass filter removes higher-frequencies

 (e.g.) If max sampling frequency is 22kHz, the it


is a must to low-pass filter a signal down to
11kHz
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Aliasing effect

LP filter

Nyquist rate

aliasing

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Three different sampling methods
Practical Sampling Methods are Natural Sampling
and Flat-top Sampling

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Natural Sampling

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Pulse-Amplitude Modulation

• Pulse-Amplitude Modulation (PAM)


– The amplitude of regularly spaced pulses are
varied in proportion to the corresponding sample
values of a continuous message signal.
– Two operations involved in the generation of the
PAM signal
• Instantaneous sampling of the message signal m(t)
every Ts seconds,
• Lengthening the duration of each sample, so that it
occupies some finite value T. Fig. 5

Get useful study materials from www.rejinpaul.com 28


www.rejinpaul.com
Back Next
Fig.5

Get useful study materials from www.rejinpaul.com 29


www.rejinpaul.com
Fig.6 Back Next

Get useful study materials from www.rejinpaul.com 30


www.rejinpaul.com
Back Next
Fig.7

Get useful study materials from www.rejinpaul.com 31


• The advantages offered by digital pulse modulation www.rejinpaul.com
– Performance
• Digital pulse modulation permits the use of regenerative repeaters,
when placed along the transmission path at short enough distances,
can practically eliminate the degrading effects of channel noise and
signal distortion.
– Ruggedness
• A digital communication system can be designed to withstand the
effects of channel noise and signal distortion
– Reliability
• Can be made highly reliable by exploiting powerful error-control
coding techniques.
– Security
• Can be made highly secure by exploiting powerful encryption
algorithms
– Efficiency
• Inherently more efficient than analog communication system in the
tradeoff between transmission bandwidth and signal-to-noise ratio
– System integration
• To integrate digitized analog signals with digital computer data
Get useful study materials from www.rejinpaul.com 32
Quantization Processwww.rejinpaul.com
• Amplitude quantization
– The process of transforming the sample amplitude m(nTs) of a
baseband signal m(t) at time t=nTs into a discrete amplitude
v(nTs) taken from a finite set of possible levels.

I k : {mk < m ≤ mk +1}, k = 1,2,..., L (17) Fig. 9

– Representation level (or Reconstruction level)


• The amplitudes vk , k=1,2,3,……,L
– Quantum (or step-size)
• The spacing between two adjacent representation levels

v = g (m ) (18) Fig. 10

Get useful study materials from www.rejinpaul.com 33


www.rejinpaul.com
Back Next
Fig.9

Get useful study materials from www.rejinpaul.com 34


www.rejinpaul.com
Fig.10 Back Next

Two types of quantization are


a) Mid-tread
b) Mid-rise Get useful study materials from www.rejinpaul.com 35
www.rejinpaul.com

Linear Quantization
• Applicable when the signal is in a
finite range (fmin, fmax)
• The entire data range is divided
into L equal intervals of length Q
(known as quantization interval or
quantization step-size)
• Q=(fmax-fmin)/L Interval i is
mapped to the middle value of this
interval
• We store/send only the index of
quantized value min

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Signal Range is Symmetric

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Quantization Noise

Get useful study materials from www.rejinpaul.com


Non-Uniform Quantization
www.rejinpaul.com

 Many signals such as speech have a nonuniform distribution.


– The amplitude is more likely to be close to zero than to be at higher levels.
 Nonuniform quantizers have unequally spaced levels
– The spacing can be chosen to optimize the SNR for a particular type of signal.

Output sample
XQ 6

2 Example: Nonuniform 3 bit quantizer

-8 -6 -4 -2 2 4 6 8

-2
Input sample
X
-4

-6

Get useful study materials from www.rejinpaul.com 39


www.rejinpaul.com

Non-Linear Quantization
• The quantizing intervals are not of equal size
• Small quantizing intervals are allocated to small
signal values (samples) and large quantization
intervals to large samples so that the signal-to-
quantization distortion ratio is nearly independent of
the signal level
• S/N ratios for weak signals are much better but are
slightly less for the stronger signals
• “Companding” is used to quantize signals

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Function representation

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Uniform and Non-uniform Quantization

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Companding
• Formed from the words compressing and
expanding.
• A PCM compression technique where analogue
signal values are rounded on a non-linear scale.
• The data is compressed before sent and then
expanded at the receiving end using the same
non-linear scale.
• Companding reduces the noise and crosstalk
levels at the receiver.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

u-LAW and A-LAW definitions


• A-law and u-law are companding schemes used in
telephone networks to get more dynamics to the
8 bit samples that is available with linear coding.
• Typically 12..14 bit samples (linear scale) sampled
at 8 kHz sample are companded to 8 bit
(logarithmic scale) for transmission over 64 kbit/s
data channel.
• In the receiving end the data is then converted
back to linear scale (12..14 bit) and played back.
converted back
Get useful study materials from www.rejinpaul.com
– Compressor
www.rejinpaul.com
• A particular form of compression law : μ-law

log(1 + µ m )
v= (5.23)
log(1 + µ )

d m log(1 + µ )
= (1 + µ m ) (5.24)
dv µ
• μ-law is neither strictly linear nor strictly logarithmic

• A-law :

 Am 1
1 + log A , 0 ≤ m ≤
 A
v = (5.25)
1 + log( A m ) , 1 ≤ m ≤ 1
 1 + log A A
1 + log A 1
, 0 ≤ m ≤
d m  A A
= (5.26)
dv  1 Fig. 5.11
(1 + log A) m , A ≤ m ≤ 1
Get useful study materials from www.rejinpaul.com 45
www.rejinpaul.com
Fig.11 Back Next

Get useful study materials from www.rejinpaul.com 46


www.rejinpaul.com
Example: µ-law Companding
1

x[n]=speech /song/
0.5

-0.5

-1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

y[n]=C(x[n])
0.5

Companded Signal
-0.5

-1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0.5
Close View of the Signal
Segment of x[n] 0

-0.5

-1
2200 2300 2400 2500 2600 2700 2800 2900 3000

Segment of y[n]
0.5

Companded Signal -0.5

-1
2200 2300 2400 2500 2600 2700 2800 2900 3000

Get useful study materials from www.rejinpaul.com


Eeng 360 47
A-law and µ−law Companding
www.rejinpaul.com
• These two are standard companding methods.
• u-Law is used in North America and Japan
• A-Law is used elsewhere to compress digital telephone signals

Get useful study materials from www.rejinpaul.com


Eeng 360 48
www.rejinpaul.com
Quantization - why do we need such classification ?! - (3)

Comparison – Uniform Vs. Non-Uniform Usage

 Speech signals doesn’t require high quantization resolution for


high amplitudes (50% Vs. 15%).
 wasteful to use uniform quantizer ?
The goal is decrease the SQNR, more levels for low amplitudes, less levels for
high ones.
 Maybe use a Non-uniform quantizer ?

Get useful
Technical study materials
Presentation Page 49 from www.rejinpaul.com
Concepts www.rejinpaul.com

Quantization
More About Non-Uniform Quantizers (Companding)
 Uniform quantizer = use more levels when you need it.
 The human ear follows a logarithmic process in which high amplitude sound doesn’t
require the same resolution as low amplitude sounds.
 One way to achieve non-uniform quantization is to use what is called as “Companding”
 Companding = “Compression + Expanding”

Compressor Uniform
Expander
Function Quantization
Function

(-1)

Get useful
Technical study materials
Presentation Page 50 from www.rejinpaul.com
Pulse-Code Modulation
www.rejinpaul.com

• PCM (Pulse-Code Modulation)


– A message signal is represented by a sequence of coded pulses, which is
accomplished by representing the signal in discrete form in both time and
amplitude
– The basic operation
• Transmitter : sampling, quantization, encoding
• Receiver : regeneration, decoding, reconstruction

• Operation in the Transmitter


1. Sampling
1. The incoming message signal is sampled with a train of rectangular pulses
2. The reduction of the continuously varying message signal to a limited
number of discrete values per second
2. Nonuniform Quantization
1. The step size increases as the separation from the origin of the input-
output amplitude characteristic is increased, the large end-step of the
quantizer can take care of possible excursions of the voice signal into the
large amplitude ranges that occur relatively infrequently.
Get useful study materials from www.rejinpaul.com 51
www.rejinpaul.com
Fig.11 Back Next

Get useful study materials from www.rejinpaul.com 52


www.rejinpaul.com

3. Encoding
1.To translate the discrete set of sample vales to a
more appropriate form of signal Fig. 11
2.A binary code
 The maximum advantage over the effects of noise in a
transmission medium is obtained by using a binary
code, because a binary symbol withstands a relatively
high level of noise.
 The binary code is easy to generate and regenerate
Table. 2

Get useful study materials from www.rejinpaul.com 53


www.rejinpaul.com
• Regeneration Along the Transmission Path
– The ability to control the effects of distortion and noise produced by
transmitting a PCM signal over a channel
– Equalizer
• Shapes the received pulses so as to compensate for the effects of
amplitude and phase distortions produced by the transmission
– Timing circuitry
• Provides a periodic pulse train, derived from the received pulses
• Renewed sampling of the equalized pulses
– Decision-making device Fig. 13
• The sample so extracted is compared o a predetermined threshold
– ideally, except for delay, the regenerated signal is exactly the same as the
information-bearing signal
1. The unavoidable presence of channel noise and interference causes
the repeater to make wrong decisions occasionally, thereby
introducing bit errors into the regenerated signal
2. If the spacing between received pulses deviates from its assigned
value, a jitter is introduced into the regenerated pulse position,
thereby causing distortion.

Get useful study materials from www.rejinpaul.com 54


www.rejinpaul.com
Back Next
Fig.13

Get useful study materials from www.rejinpaul.com 55


www.rejinpaul.com

• Operations in the Receivers

1. Decoding and expanding


1.Decoding : regenerating a pulse whose amplitude is
the linear sum of all the pulses in the code word
2.Expander : a subsystem in the receiver with a
characteristic complementary to the compressor
1. The combination of a compressor and an expander is a
compander

2. Reconstruction
1.Recover the message signal : passing the expander
output through a low-pass reconstruction filter
Get useful study materials from www.rejinpaul.com 56
www.rejinpaul.com

Categories of multiplexing

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Time Division Multiplexing (TDM)

TDM is a technique used for


transmitting several message signals
over a single communication channel
by dividing the time frame into slots,
one slot for each message signal

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Time Division Multiplexing
• Entire spectrum is allocated for a channel (user) for a limited time.
• The user must not transmit until its
next turn.
k1 k2 k3 k4 k5 k6
• Used in 2nd generation
c
Frequency
f

t
• Advantages: Time
– Only one carrier in the medium at any given time
– High throughput even for many users
– Common TX component design, only one power amplifier
– Flexible allocation of resources (multiple time slots).
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Time Division Multiplexing
• Disadvantages
– Synchronization
– Requires terminal to support a much higher data
rate than the user information rate therefore
possible problems with intersymbol-
interference.

• Application: GSM
 GSM handsets transmit data at a rate of 270 kbit/s in
a 200 kHz channel using GMSK modulation.
 Each frequency channel is assigned 8 users, each
having a basic data rate of around 13 kbit/s
Get useful study materials from www.rejinpaul.com
Time Division Multiplexing
www.rejinpaul.com
At the Transmitter
Simultaneous transmission of several signals on a time-sharing basis.
 Each signal occupies its own distinct time slot, using all frequencies, for
the duration of the transmission.
 Slots may be permanently assigned on demand.

At the Receiver
 Decommutator (sampler) has to be synchronized with the incoming
waveform  Frame Synchronization
 Low pass filter
 ISI – poor channel filtering
 Feedthrough of one channel's signal into another channel -- Crosstalk

Applications of TDM: Digital Telephony, Data communications, Satellite


Access, Cellular radio.
Get useful study materials from www.rejinpaul.com 61
Time Division Multiplexing
www.rejinpaul.com

Conceptual diagram of multiplexing-demultiplexing.

PAM TDM System


Get useful study materials from www.rejinpaul.com 62
www.rejinpaul.com

TDM-PAM: Transmitter

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

TDM-PAM : Receiver

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Samples of Signal -1

g1(t)

time
0 Ts 2Ts

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Samples of signal - 2

g2(t)

Ts Ts

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Multiplexing of TWO signals

0 Ts 2Ts

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

TDM-PAM for 4 signals.

4
4
4

1 1 1
2 2 2
3 3 3
Time

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Problem
Two low-pass signals of equal bandwidth
are sampled and time division
multiplexed using PAM. The TDM signal is
passed through a Low-pass filter & then
transmitted over a channel with a
bandwidth of 10KHz.
Continued….

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Problem (continued…)

a) What is maximum Sampling rate for each


Channel?
b) What is the maximum frequency content
allowable for each signal?

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Problem: Solution

Channel Bandwidth = 10 KHz.


Number of samples that can be transmitted
through the channel = 20K
Maximum Sampling rate for each channel =
10K Samples/sec.
Maximum Frequency for each Signal = 5KHz

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

End of Unit-1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Unit – II

Waveform Coding

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Syllabus

Prediction filtering and DPCM - Delta


Modulation - ADPCM & ADM principles-Linear
Predictive Coding

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Introduction to Waveform Coding


• Waveform coding is some kind of approximately
lossless coding, as it deals with speech signal as
any kind of ordinary data.
• The resulting signal is close as possible as the
original one.
• Codecs using this techniques have generally low
complexity and give high quality at rates 16 Kbps.
• The simplest form of waveform coding is Pulse
Code Modulation (PCM).
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Pulse Code Modulation (PCM)


• It involves sampling and quantizing the input
waveform.
• PCM consists of three steps to digitize an
analog signal:
1. Sampling
2. Quantization
3. Binary encoding

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Prediction Filtering
• Linear prediction is a mathematical operation
where future values of a discrete-time signal
are estimated as a linear function of previous
samples.

• In digital signal processing, linear prediction is


often called linear predictive coding (LPC).

• linear prediction can be viewed as a part of


mathematical modelling or optimization.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

The Prediction Model


• The most common representation is

• Where is the predicted signal value, x(n-i)


the previous observed values, and the
predictor coefficients.
• The error generated by this estimate is

• Where x(n) is the true value.


Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Differential pulse-code modulation
(DPCM)

• Differential pulse-code modulation (DPCM) is


a signal encoder that uses the baseline of
pulse-code modulation (PCM) but adds some
functionalities based on the prediction of the
samples of the signal.

• The input can be an analog signal or a digital


signal.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Block Diagram of DPCM

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

• DPCM code words represent differences between samples


unlike PCM where code words represented a sample value.

• Basic concept of DPCM - coding a difference, is based on


the fact that most source signals show significant
correlation between successive samples so encoding uses
redundancy in sample values which implies lower bit rate.

• Realization of basic concept (described above) is based on a


technique in which we have to predict current sample value
based upon previous samples (or sample) and we have to
encode the difference between actual value of sample and
predicted value.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Principle of DPCM

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Delta Modulation
• A Delta modulation (DM or Δ-modulation) is an analog-to-digital
and digital-to-analog signal conversion technique used for
transmission of voice information where quality is not of primary
importance.

• To achieve high signal-to-noise ratio, delta modulation must use


oversampling techniques, that is, the analog signal is sampled at a
rate several times higher than the Nyquist rate.

• Derived forms of delta modulation are continuously variable slope


delta modulation, delta-sigma modulation, and differential
modulation.

• Differential pulse-code modulation is the super-set of DM.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Features
• the analog signal is approximated with a series of
segments
• each segment of the approximated signal is compared to
the original analog wave to determine the increase or
decrease in relative amplitude
• the decision process for establishing the state of
successive bits is determined by this comparison
• only the change of information is sent, that is, only an
increase or decrease of the signal amplitude from the
previous sample is sent whereas a no-change condition
causes the modulated signal to remain at the same 0 or 1
state of the previous sample.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Principle of delta modulation

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Differential Pulse Code Modulation


(DPCM)
• What if we look at sample differences, not the
samples themselves?
– dt = xt-xt-1
– Differences tend to be smaller
• Use 4 bits instead of 12, maybe?

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Differential Pulse Code Modulation


(DPCM)

• Changes between adjacent samples small


• Send value, then relative changes
– value uses full bits, changes use fewer bits
– E.g., 220, 218, 221, 219, 220, 221, 222, 218,.. (all values between 218
and 222)
– Difference sequence sent: 220, +2, -3, 2, -1, -1, -1, +4....
– Result: originally for encoding sequence 0..255 numbers need 8 bits;
– Difference coding: need only 3 bits

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Adaptive Differential Pulse Code


Modulation (ADPCM)
• Adaptive similar to DPCM, but adjusts the width of the
quantization steps
• Encode difference in 4 bits, but vary the mapping of bits to
difference dynamically
– If rapid change, use large differences
– If slow change, use small differences

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Adaptive Delta Modulation (ADM)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

A large step size is required when sampling those parts


of the input waveform of steep slope. But a large
step size worsens the granularity of the sampled
signal when the waveform being sampled is changing
slowly.
• A small step size is preferred in regions where the
message has a small slope. This suggests the
need for a controllable step size – the control
being sensitive to the slope of the sampled signal
• Hence ADM is prefered.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Adaptive Delta Modulation

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

VCA

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Linear Predictive Coding (LPC)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Basic Concepts of LPC

• It is a parametric de-convolution algorithm


• x(n) is generated by an unknown sequence e(n)
exciting a unknown system V(Z) which is supposed to
be a linear non time-variant system.
• V(Z) = G(Z)/A(Z), E(Z)V(Z) = X(Z)
• G(Z) = Σj=0Q gjZ-j, A(Z) = Σi=0P aiZ-i
• Where ai and gj are parameters, real and a0 = 1
• If an algorithm could estimate all these parameters,
then V(Z) could be found, and E(Z) could be found
also. This finishes de-convolution.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• There are some limitations for the model


• (1) G(Z) = 1 then V(Z) = 1/A(Z) this is so called “Full
Poles εodels” and the parametric de-convolution
became coefficients(ai) estimation problem.
• (2) e(n) sequence is of form Ge(n), where e(n) is a
periodic pulse or a Gaussian white noise sequence.
For the first case e(n) = Σ (n-rNp) and for the second
case R(k) = E[e(n)e(n+k)] = (k) and the value of
e(n) satisfied with Normal distribution. G is a non-
negative real number controlling the amplitude.
• The way is x(n)->V(Z)(P,ai)->e(n),G->type of e(n)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

• Suppose x(n) and type of e(n) are known, what is


the optimized estimation of P and ai, e(n) and G? It is
the LMS algorithm.
• Suppose x(n) is the predicted value of x(n), it is the
linear sum of previous P’ known values of x:
• x(n) = Σi=1P’ ai x(n-i)
• The predicted error
• (n) = x(n)-x(n) = x(n) - Σi=1P’ ai x(n-i)
• It is a stochastic sequence. The variance of it could
be used to evaluate the quality of prediction.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

• σ2 = Σn 2(n) (time average replaced means)


• It could be proved that if x(n) is generated by “full
poles” model : x(n) = -Σi=1P ai x(n-i) + Ge(n) and
optimized P’ = P, optimized ai = ai, σ2 is minimal.
• σ2 = Σn [x(n) -Σi=1P ai x(n-i)]2
• ={Σn x2(n)}-2Σi=1P ak{Σn x(n-k)x(n)}+
• Σk=1PΣi=1P akai{Σn x(n-k)x(n-i)}
• By setting (σ2 )/ ak = 0 we can get
• -2 {Σn x(n-k)x(n)}+2Σi=1P ai{Σn x(n-k)x(n-i)}=0
• Or Σi=1P aiφ(k,i) = φ(k,0)
• if φ(k,i) =Σn x(n-k)x(n-i) 1<=i<=P and 1<=k<=P
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• Σi=1P aiφ(k,i) = φ(k,0), k=1~P is called δPC


canonical equations. There are some different
algorithms to deal with the solution.
• [σ2]min = Σk=0P ak φ(k,0) with a0 = 1
• So if we have x(n), φ(k,i) could be calculated,
and equations could be solved to get ai and
[σ2]min also could be obtained. For short-time
speech signal according to different lower and
upper limitation of the summary we could
have different types of equations. We will
discuss these different algorithms later.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Auto-Correlated Solution of LPC

• Suppose windowed signal is xw(n)


• φ(k,i) = Σn xw(n-k)xw(n-i)
• If window length is N-1 then the summation
range will be 0~N+P-1
• φ(k,i) = Σm xw(m+(i-k))xw(m) = R(i-k) if n-i
=m
• φ(k,i) = R(i-k) = R(k-i) = R(|i-k|) <= R(0)
• The equations became Σi=1P aiR(|i-k|)= - R(k)
1<=k<=P
• These are Toplitz equations and have high
efficient solution.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• |R(0) R(1) …… R(P-1)| |a1| | R(1) |


• |R(1) R(0) …… R(P-2)| |a2| | R(2) |
• |………………………………….| |...| = …...
• |R(P-1) R(P-2) … R(0) | |ap| | R(P) |

• 6.2.1 Durbin Algorithm


• 1. E(0) = R(0)
• 2. Ki = [ R(i) - Σ aj(i-1)R(i-j)]/E(i-1) 1<=i<=p
• 3. ai(i) = Ki
• 4. aj(i) = aj(i-1) – Kiai-j(i-j) 1<=j<=i-1
• 5. E(i) = (1-Ki2)E(i-1)
• Final solution is aj = aj(p) 1<=j<=p
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• For iteration i we got a set of


coefficients for the predictor of i-th
order and the minimal predicted error
energy E(i). We also can get it by {R(k)}
:
• E(i) = R(0) –Σk=1i akR(k), 1<=i<=p
• Ki is the reflect coefficient : -1<=Ki<=1
It is a sufficient and necessary condition
for stable H(z) during
Get useful iteration.
study materials from www.rejinpaul.com
www.rejinpaul.com

• 6.2.2 Schur algorithm


• At first an auxilary sequence is defined. Its properties
are :
• (1) qi(j) = R(j) when i = 0
• (2) qi(j) = 0 when i > 0, j=1~p
• (3) qp(0) = E(p) is the predicted error energy.
• (4) |qi(j)| <= R(0), it is equal only if i=j=0
• The algorithm is as following:
• 1. r(j) = R(j)/R(0), r(-j) = r(j), j=0~p
• 2. a0 = 1, E(0) = 1
• 3. q0(j) = r(j) Get -p<j<p
useful study materials from www.rejinpaul.com
www.rejinpaul.com

• 4. i = 1, k1 = r(1)
• 5. For i-p<=j<=p
qi(j) = qi-1(j) + ki *qi-1 (i-j)
ki = qi-1(j)/qi(0)
aj(i) = qi-1(i-j)
E(i) = E(i-1)(1-ki2)
• 6. If i<p, back to step 5
• 7. Stop
• If we only calculate ki, then only first two expressions
in step 5 are enough. It is suitable for fix-point
calculation (r<=1) or hardware implementation.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Covariance Solution of LPC

• If not using windowing, but limiting the range of


summation, we could get :
• σ2 = Σn=0N-1 2(n) n=0~N-1
• φ(k,i) = Σn=0N-1 x(n-k)x(n-i) k=1~p, i=0~p
• = Σm=-iN-i-1 x(m+(i-k))x(m) let n-i=m, m=-i~N-i-1
• The equations will be like following :
• |φ(1,1) φ(1,2) …… φ(1,p)| |a1| |φ(1,0)|
• |φ(2,1) φ(2,2) …… φ(2,p)| |a2| |φ(2,0)|
• .………………………………………………=…………
• |φ(p,1) φ(p,2) …… φ(p,p)| |ap| |φ(p,0)|

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Covariance Solution of LPC

• The matrix is a covariance matrix and it is positive


determined, but not Toplitz. There is no high efficient
algorithm to solve. Only common used LU algorithm
could be applied. Its advantage is not having big
predicted error on the two ends of window. So when
N~P the estimated parameters have more accuracy
than auto-correlated method. But in speech
processing very often N>>P, so the advantage is not
obvious.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

LPC parameters and their relationships

• (1) Reflect Coefficients


• Also known as PARCOR coefficients
• If {aj} are known, ki could be found as following :
• aj(p) = aj 1<=j<=p
• ki = ai(i)
• aj(i-1) = (aj(i) + aj(i) ai-j(i))/(1-ki2) 1<=j<=i-1
• The inverse process :
• aj(i) = ki
• aj(i) = aj(I-1) - kj ai-j(i-1) at last aj= aj(p) 1<=j<=p
• -1<=ki<=1 is the sufficient and necessary condition
for stable system Get useful study materials from www.rejinpaul.com
function
www.rejinpaul.com

• (2) Coefficients of Logarithm Area Ratio


• gi = log(Ai+1/Ai) = log[(1-ki)/1+ki]) i=1~p
• Where A is the intersection area of i-th
segment of the lossless tube.
• ki = (1-exp(gi))/(1+exp(gi)) i=1~p

• (3) Cepstrum Coefficients


• cn = an + Σk=1n kckan-k/n, 1<=n<=p+1
• = an + Σk=n-pn-1 kckan-k/n, n>p+1
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• (4) The Roots of Predictor


• A(z) = 1 – Σk=1p akz-k = Πk=1p (1-zk z-1) = 0
Σ
• Transfer to S-plane: zi = exp(siT)
• Suppose si = σi + jΩi , zi = zir + jzii , then
• Ωi = tan(zii/zir)/T andσi= log(zii2 + zir2 )/(2T)

• (5)The impulse response of full poles system


• h(n) = Σk=1p akh(n-k)+σ(n) n>=0
• = 0 Get useful
n<0study materials from www.rejinpaul.com
www.rejinpaul.com

• (6) Auto-correlated Coefficients of impulse


response of the full poles system
• H(z) = S(z)/U(z) = G/(1- Σk=1p akz-k)
• The auto-correlated coefficients of h(n) is :
• R(i) = Σn=0 h(n)h(n-i) = R(-i)
• It could be proved that :
• R(i) = Σk=1p ak R(|i-k|) 1<=i<=p
• And R(0) = Σk=0p ak R(k) + G2
• {ak} -> {R(i)} and {R(i)} -> {ak} are
equivalent
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• (7) Auto-correlated coefficients of impulse


response of the predicted error filter (inverse
filter)
• A(z) = 1 - Σ akz-k
• The impulse response is :
• a(n) = (n) - Σk=1p ak (n-k)
• = 1, n = 0; an , 0<n<=p; 0, otherwise
• Its auto-correlated function is :
• R(i) = Σk=1p a(k)a(k+i) 0<=i<=p
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• (8)Line Spectrum Pair (LSP) or Line


Spectrum Frequency (LSF)
• A(p)(z)=1-Σk=1p akz-k ( p is even)
• Define P(z) = A(p)(z)+z-(p+1)A(p)(z-1)
Q(z) = A(p)(z)- z-(p+1)A(p)(z-1)
• It could be proved that : All roots of P(z) and
Q(z) are on the unit circle and alternatively
arranged on it provided the roots of A(z) are
inside the unit circle.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• Replace z with expjω:


• P(expjω)=|A(P)(expjω)|expjφ(ω)[1+exp[-j((p+1)ω+
2φ(ω))]
• Q(expjω)=|A(P)(expjω)|expjφ(ω)[1+exp[-j((p+1)ω+
2φ(ω)+π)]
• If the roots of A(P)(z) are inside the unit circle, whenωis
0~π, φ(ω) changes from 0 and returns to 0, the amount
[(p+1)ω+2φ(ω)] will be 0~(p+1)π
• P(expjω)=0 : [(p+1)ω+2φ(ω)]=kπ, k=1,3,…P+1
• Q(expjω)=0 : [(p+1)ω+2φ(ω)]=kπ, k=0,2,…P
• The roots of P and Q : Zk = expjωk [(p+1)ω+2φ(ω)]=kπ,
k=0,1,2,…P+1
• And ω0 < ω1 < ω2 < … < ωP < ωP+1
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• If a1(p)~ap(p) are known, LSP could be found by


A(z) -> P(z) -> p(w) -> f1, f2, … fp
• If f1~fp are known, ai(p) could be found by P(z)
and Q(z) -> A(z) = P(z) + Q(z) -> a1(p)~ap(p)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Thank you

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Unit 3

Baseband Transmission

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Syllabus
Properties of Line codes- Power Spectral Density of Unipolar /
Polar RZ & NRZ – Bipolar NRZ - Manchester- ISI – Nyquist
criterion for distortionless transmission – Pulse shaping –
Correlative coding - Mary schemes – Eye pattern - Equalization

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Baseband Transmission
• The digital signal used in baseband
transmission occupies the entire bandwidth
of the network media to transmit a single data
signal.
• Baseband communication is bidirectional,
allowing computers to both send and receive
data using a single cable.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Baseband Modulation
• An information bearing-signal must conform to the limits of its channel
• • Generally modulation is a two-step process
• – baseband: shaping the spectrum of input bits to fit in a limited spectrum
• – passband: modulating the baseband signal to the system rf carrier
• • Most common baseband modulation is Pulse Amplitude Modulation
(PAM)
• – data amplitude modulates a sequence of time translates of basic pulse
• – PAM is a linear form of modulation: easy to equalize, BW is pulse BW
• – Typically baseband data will modulate in-phase [cos] and quadrature
[sine] data
• streams to the carrier passband
• • Special cases of modulated PAM include
• – phase shift keying (PSK)
• – quadrature amplitude modulation (QAM)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Need for Baseband Modulation


• An analog signal has a finite bandwidth.
• · A digital stream or signal, with sharp transitions, has an infinite
• bandwidth.
• · Due to the limited available system bandwidth, only the major
portion of
• a digital signal spectrum can be transmitted and restored. Even if
there is
• no loss or noise in the communication system, the received signal
will
• have distortion due to the limited channel bandwidth.
• To avoid or to reduce this signal distortion, we
• use baseband modulation techniques

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Line Codes
• In telecommunication, a line code (also called digital baseband
modulation or digital baseband transmission method) is a code
chosen for use within a communications system for baseband
transmission purposes.

• Line coding is often used for digital data transport.

• Line coding consists of representing the digital signal to be


transported by an amplitude- and time-discrete signal that is
optimally tuned for the specific properties of the physical channel
(and of the receiving equipment).

• The waveform pattern of voltage or current used to represent the


1s and 0s of a digital data on a transmission link is called line
encoding.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Common types of Line Codes


• The common types of line encoding are
• unipolar
• polar
• bipolar
• Manchester encoding

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Need for Line Codes

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Properties of Line Codes

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Unipolar coding
• Unipolar encoding is a line code. A positive voltage represents a
binary 1, and zero volts indicates a binary 0. It is the simplest line
code, directly encoding the bitstream, and is analogous to on-off
keying in modulation.

• Its drawbacks are that it is not self-clocking and it has a significant


DC component, which can be halved by using return-to-zero, where
the signal returns to zero in the middle of the bit period.

• With a 50% duty cycle each rectangular pulse is only at a positive


voltage for half of the bit period.

• This is ideal if one symbol is sent much more often than the other
and power considerations are necessary, and also makes the signal
self-clocking.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

• NRZ(Non-Return-to-Zero) - Traditionally, a unipolar scheme was


designed as a non-return-to-zero (NRZ) scheme, in which the positive
voltage defines bit 1 and the negative voltage defines bit 0.

• It is called NRZ because the signal does not return to zero at the
middle of the bit.

• Compared with its polar counterpart, Uni Polar NRZ, this scheme is
very expensive.

• The normalized power (power required to send 1 bit per unit line
resistance) is double that for polar NRZ.

• For this reason, this scheme is not normally used in data


communications today.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Return-to-zero
• Return-to-zero (RZ) describes a line code used in
telecommunications signals in which the signal
drops (returns) to zero between each pulse.
• This takes place even if a number of consecutive
0s or 1s occur in the signal.
• The signal is self-clocking. This means that a
separate clock does not need to be sent
alongside the signal, but suffers from using twice
the bandwidth to achieve the same data-rate as
compared to non-return-to-zero format.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Polar RZ

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

BiPolar Signalling

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Manchester Encoding

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Inter Symbol Interference (ISI)


• In telecommunication, inter symbol
interference (ISI) is a form of distortion of
a signal in which one symbol interferes with
subsequent symbols.
• This is an unwanted phenomenon as the previous
symbols have similar effect as noise, thus making
the communication less reliable.
• ISI is usually caused by multipath propagation or
the inherent non-linear frequency response of
a channel causing successive symbols to "blur"
together.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Nyquist criterion for distorionless
transmission
• To design under the following two conditions:

(a). There is no ISI at the sampling instants (Nyquist criterion).


(b). A controlled amount of ISI is allowed (correlative coding)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Design of Bandlimited Signals for Zero
ISI - Nyquist criterion
• Recall the output of the receiving filter,
sampled at t = kT, is given by

• Thus, in time domain, a sufficient condition


for µp(t) such that it is ISI free is

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

• Theorem: (Nyquist) A necessary and and sufficient condition


for p(t) to satisfy (1) is that the Fourier transform P(f) satisfies

• This is known as the Nyquist pulse-shaping criterion or


Nyquist condition for zero ISI.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Investigate possible pulses which satisfy the
Nyquist criterion

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Disadvantages:
(a) an ideal LPF is not physically realizable.
(b) Note that

Thus, the rate of convergence to zero is low since the


tails of p(t) decay as 1/|t|.
• Hence, a small mistiming error in sampling the
output of the matched filter at the demodulator
results in an infinite series of ISI components.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Correlative Coding and Equalization


• Correlative Coding
For zero ISI, the symbol rate R = 1/T < 2W, the
Nyquist rate.
We may relax the condition of zero ISI in order to
achieve R = 2W.
• The schemes which allow a controlled amount
of ISI to achieve the symbol rate 2W are called
correlative coding or partial response signaling
schemes.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

2nd Nyquist Criterion


• Values at the pulse edge are distortionless
• p(t) =0.5, when t= -T/2 or T/2; p(t)=0, when t=(2k-1)T/2, k≠ ,
where - /T ≤ f ≤ /T


Pr ( f )  Re[  (1) n P ( f  n / T )]  T cos( fT / 2)
n  

PI ( f )  Im[  ( 1) n P ( f  n / T )]  0
n  

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

3rd Nyquist Criterion


• Within each symbol period, the integration of signal (area) is proportional to
the integration of the transmit signal (area)

 ( wt ) / 2 
 , w 

P ( w)   sin( wT / 2) T
 0, 
 w 
 T
1  /T ( wt / 2)
p(t )   e jwt d w
2  / T sin (wT / 2)
2 n1T
1, n0
A  2 n1 p(t )dt  
2

2
T
0, n0
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Eye Diagram
• Eye diagram is a means of evaluating the quality of a received
digital a eform
– By quality is meant the ability to correctly recover symbols and timing
– The received signal could be examined at the input to a digital receiver
or at some stage within the receiver before the decision stage
• Eye diagrams reveal the impact of ISI and noise
• Two major issues are 1) sample value variation, and 2) jitter
and sensitivity of sampling instant
• Eye diagram reveals issues of both
• Eye diagram can also give an estimate of achievable BER
• Check eye diagrams at the end of class for participation

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Interpretation of Eye Diagram

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Raised Cosine Eye Diagram


• The larger , the wider the
opening.
• The larger , the larger
bandwidth (1+ )/Tb
• But smaller  will lead to
larger errors if not sampled
at the best sampling time
which occurs at the center
of the eye.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Cosine rolloff filter: Eye pattern

2nd Nyquist
1st Nyquist:
 1st Nyquist:

2nd Nyquist:

2nd Nyquist:

1st Nyquist

1st Nyquist:

1st Nyquist:

2nd Nyquist:

2nd Nyquist:

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Eye Diagram Setup
• Eye diagram is a retrace display of
data waveform
– Data waveform is applied to
input channel
– Scope is triggered by data
clock
– Horizontal span is set to cover
2-3 symbol intervals
• Measurement of eye opening is
performed to estimate BER
– BER is reduced because of
additive interference and noise
– Sampling also impacted by
jitter

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Partial Response Signals
• Previous classes: Sy(w)=|P(w)|^2 Sx(w)
– Control signal generation methods to reduce Sx(w)
– Raise Cosine function for better |P(w)|^2
• This class: improve the bandwidth efficiency
– Widen the pulse, the smaller the bandwidth.
– But there is ISI. For binary case with two symbols, there is
only few possible interference patterns.
– By adding ISI in a controlled manner, it is possible to achieve
a signaling rate equal to the Nyquist rate (2W symbols/sec)
in a channel of bandwidth W Hertz.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Thank you

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

UNIT IV

DIGITAL MODULATION SCHEME

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Geometric Representation of
Signals
• Objective: To represent any set of M energy
signals {si(t)} as linear combinations of N
orthogonal basis functions, where N ≤ M
• Real value energy signals s1(t), s2(t),..sM(t),
each of duration TOrthogonal
sec basis
function

N
0  t  T 
si (t )   sij j (t ),   4.1
(5.5)
j 1 i==1,2,....,M 
coefficient

Energy signal
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• Coefficients:
T i=1,2,....,M 
sij   si (t ) j (t )dt ,   (5.6)
0
 j=1,2,....,M 
• Real-valued basis functions:
T
1 if i  j 
0 i (t ) j (t )dt  ij  0 if i  j  (5.7)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

• The set of coefficients can be viewed as a


N-dimensional vector, denoted by si
• Bears a one-to-one relationship with the
transmitted signal si(t)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

(a) Synthesizer for generating the signal si(t). (b) Analyzer for
generating the set of signal vectors si.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

So,
• Each signal in the set si(t) is completely
determined by the vector of its coefficients

 si1 
s 
 i2 
. 
si    , i  1,2,....,M (5.8)
. 
. 
 
 siN 

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Finally,
• The signal vector si concept can be extended to 2D, 3D
etc. N-dimensional Euclidian space
• Provides mathematical basis for the geometric
representation of energy signals that is used in noise
analysis
• Allows definition of
– Length of vectors (absolute value)
– Angles between vectors
– Squared value (inner product of si with itself)
 siT si
2 Matrix
si Transposition
N
=  sij2 , i  1,2,....,M (5.9)
j 1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Figure 5.4
Illustrating the geometric
representation of signals
for the case when N  2
and M  3.
(two dimensional space,
three signals)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Also,
What is the relation between the vector
representation of a signal and its energy value?

• …start with the T


definition of average Ei   si2 (t )dt (5.10)
energy in a signal… 0

• Where si(t) is N
si (t )   sij j (t ), (5.5)
j 1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

N T
 N 
• After substitution: Ei    sij j (t )   sikk (t )  dt
0  j 1   k 1 

N N T

• After regrouping: Ei  
j 1
 s s   (t ) (t )dt
k 1
ij ik j k (5.11)
0

• Φj(t) is orthogonal, so N
  2 2
finally we have: E i sij = s i (5.12)
j 1

The energy of a
signal is equal to the
squared length of its
vector
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Formulas for two signals


• Assume we have a pair of signals: si(t) and sj(t),
each represented by its vector,
• Then:
T
sij   si (t )sk (t )dt  s s T
i k (5.13)
0

Inner product is invariant


to the selection of basis
Inner product of the functions
signals is equal to the
inner product of their
vector representations
[0,T]
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Euclidian Distance
• The Euclidean distance between two points
represented by vectors (signal vectors) is equal
to
||si-sk|| and the squared value is given by:
N
si  s k =  (sij -skj ) 2
2
(5.14)
j 1
T
=  ( si (t )  sk (t ))2 dt
0

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
BPSK - BINARY PHASE
SHIFT KEYING
Generation of BPSK:
• Consider a sinusoidal carrier. If it is modulated
by a bi-polar bit stream, its polarity will be
reversed every time the bit stream changes
polarity.
• This, for a sinewave, is equivalent to a phase
reversal (shift). The multiplier output is a BPSK 1
signal.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

BPSK signal in time domain

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

sychronous demodulation of BPSK

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Frequency Shift Keying (FSK)


• Binary FSK

• Frequency of the constant amplitude carrier is changed


according to the message state  high (1) or low (0)

s1 (t )  A cos(2f c  2f )t 0  t  Tb (bit  1)


s2 (t )  A cos(2f c  2f )t 0  t  Tb (bit  0)

• Discontinuous / Continuous Phase

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Discontinuous Phase FSK


Switching between 2 independent oscillators for binary 1
&0
input data phase jumps
cos w1t

switch

cos w2t

binary 1 sBFSK(t)= vH(t)

= 2 Eb
cos(2f H t  1 ) 0  t  Tb
Tb

binary 0 sBFSK(t)= vL(t)


2 Eb
= cos(2f Lt   2 ) 0  t  Tb
Tb
• results in phase discontinuities
• discontinuities causes spectral spreading & spurious transmission
Get useful
• not suited for tightly studysystems
designed materials from www.rejinpaul.com
www.rejinpaul.com

Continuous Phase FSK


single carrier that is frequency modulated using m(t)

2 Eb
sBFSK(t) = cos(2f ct   (t ))
Tb
2 Eb  t

= cos 2f c t  2k FSK  m( )d 
Tb   
t
where (t) = 2k FSK  m( )d


• m(t) = discontinuous bit stream


• (t) = continuous phase function proportional to integral of m(t)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

FSK Example
Data

1 1 0 1

FSK
Signal

0 1 1
x
a0 0 VCO modulated composite
a1 1 signal
cos wct
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Spectrum & Bandwidth of BFSK Signals

• complex envelope of BFSK is nonlinear function of m(t)


• spectrum evaluation - difficult - performed using actual time
averaged measurements

PSD of BFSK consists of discrete frequency components at


• fc
• fc  nf , n is an integer

PSD decay rate (inversely proportional to spectrum)


1
• PSD decay rate for CP-BFSK 
f 4
1
• PSD decay rate for non CP-BFSK  f 2

f = frequency offset from fc


Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Spectrum & Bandwidth of BFSK Signals

Transmission Bandwidth of BFSK Signals (from Carson’s Rule)


• B = bandwidth of digital baseband signal
• BT = transmission bandwidth of BFSK signal

BT = 2f +2B

• assume 1st null bandwidth used for digital signal, B


- bandwidth for rectangular pulses is given by B = Rb
- bandwidth of BFSK using rectangular pulse becomes

BT = 2(f + Rb)

if RC pulse shaping used, bandwidth reduced to:


BT = 2f +(1+) Rb
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

General FSK signal and orthogonality

• Two FSK signals, VH(t) and VL(t) are orthogonal if


T

0
 VH (t )VL (t )dt  0 ?
• interference between VH(t) and VL(t) will average to 0 during
demodulation and integration of received symbol

• received signal will contain VH(t) and VL(t)

• demodulation of VH(t) results in (VH(t) + VL(t))VH(t)


T
T
 VH (t )VL (t )dt  0 V H (t )VH (t )dt  0 ?
0 0

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
An FSK signal for 0 ≤ t ≤ Tb
vH(t) = 2 Eb
and vL(t) = 2 Eb
cos( 2 ( f c  f )t ) cos( 2 ( f c  f )t )
Tb Tb

2Eb
then vH(t) vL(t) = cos( 2 ( f c  f )t ) cos( 2 ( f c  f )t )
Tb
=
Eb
cos(2 (2 f c )t )  cos(2 (2f )t )
Tb
T Tb

0 Tb cos(4f ct )  cos(4ft )dt


Eb
and  VH (t )VL (t )dt 
0
Tb
Eb  sin( 4f c t ) sin( 4ft )  Eb  sin( 4f cTb ) sin( 4fTb ) 
=   
4f  0  
=
Tb  4f c Tb  4f c 4f 

vH(t) vL(t) are orthogonal if Δf sin(4πfcTb) = -fc(sin(4πΔf Tb)


Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

QPSK
• Quadrature Phase Shift Keying (QPSK)
can be interpreted as two independent
BPSK systems (one on the I-channel
and one on Q-channel), and thus the
same performance but twice the
bandwidth (spectrum) efficiency.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

QPSK Constellation Diagram


Q
Q

I I

Carrier phases
Carrier phases
{0, /2, , 3/2}
{/4, 3/4, 5/4, 7/4}

• Quadrature Phase Shift Keying has twice the


bandwidth efficiency of BPSK since 2 bits are
transmitted in a single modulation symbol
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Types of QPSK
Q Q Q

I I I

Conventional QPSK Offset QPSK /4 QPSK

• Conventional QPSK has transitions through zero (i.e. 1800 phase


transition). Highly linear amplifiers required.
• In Offset QPSK, the phase transitions are limited to 900, the transitions on
the I and Q channels are staggered.
• In /4 QPSK the set of constellation points are toggled each symbol, so
transitions through zero cannot occur. This scheme produces the lowest
envelope variations.
Get useful study materials from www.rejinpaul.com
• All QPSK schemes require linear power amplifiers
www.rejinpaul.com

Quadrature Phase Shift Keying (QPSK):


•Also a type of linear modulation scheme
•Quadrature Phase Shift Keying (QPSK) has twice the bandwidth efficiency of
BPSK, since 2 bits are transmitted in a single modulation symbol.
• The phase of the carrier takes on 1 of 4 equally spaced values, such as
where each value of phase corresponds to a unique pair of message bits.
• The QPSK signal for this set of symbol states may be defined as:

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

QPSK

• The striking result is that the bit error probability of QPSK is identical to
BPSK, but twice as much data can be sent in the same bandwidth. Thus,
when compared to BPSK, QPSK provides twice the spectral efficiency with
exactly the same energy efficiency.
• Similar to BPSK, QPSK can also be differentially encoded to allow non-
coherent detection.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Quadrature amplitude modulation
• Quadrature amplitude modulation (QAM) is both an
analog and a digital modulation scheme.

• It conveys two analog message signals, or two


digital bit streams, by changing (modulating)
the amplitudes of two carrier waves, using
the amplitude-shift keying(ASK) digital modulation
scheme or amplitude modulation (AM) analog
modulation scheme.

• The two carrier waves, usually sinusoids, are out of


phase with each other by 90° and are thus
called quadrature carriers or quadrature components
— hence the name of the scheme.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

QAM Transmitter

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

• First the flow of bits to be transmitted is split


into two equal parts: this process generates
two independent signals to be transmitted.
• They are encoded separately just like they
were in an amplitude-shift keying (ASK)
modulator.
• Then one channel (the one "in phase") is
multiplied by a cosine, while the other
channel (in "quadrature") is multiplied by a
sine.
• This way there is a phase of 90° between
them. They are simply added one to the other
and sent through the
Get useful real
study channel.
materials from www.rejinpaul.com
www.rejinpaul.com

QAM Receiver

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

• The receiver simply performs the inverse


operation of the transmitter.
• Multiplying by a cosine (or a sine) and by a
low-pass filter it is possible to extract the
component in phase (or in quadrature).
• Then there is only an ASK demodulator
and the two flows of data are merged
back.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Carrier Synchronization
• Synchronization is one of the most critical
functions of a communication system with
coherent receiver. To some extent, it is the
basis of a synchronous communication
system.
• Carrier synchronization
• Symbol/Bit synchronization
• Frame synchronization
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

• Receiver needs estimate and compensate for frequency and phase


differences between a received signal’s carrier wave and the
receiver’s local oscillator for the purpose of coherent demodulation,
no matter it is analog or digital communication systems.
• To extract the carrier:

• 1. Pilot-tone insertion method


• Sending a carrier component at specific spectral-line along with
the signal component. Since the inserted carrier component has
high frequency stability, it is called pilot.

• 2. Direct extraction method


• Directly extract the synchronization information from the
received signal component.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
1. Pilot-tone insertion method
-insert pilot to the modulated signal

x(t) Modulator Bandpass Add s(t)


filter

-asin(ct)

cos(ct) /2phase
shift

• The pilot signal is generated by shift the


carrier by 900 and decrease by several dB,
then add to the modulated signal. Assume
the modulated signal has 0 DC component,
 t   f  t  cos c t  a sin ct
then the pilots is
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

2. Direct extraction method


• If the spectrum of the received signal
already contains carrier component, then
the carrier component can be extracted
simply by a narrowband filter or a PLL.
• If the modulated signal supresses the
carrier component, then the carrier
component may be extracted by
performing nonlinear transformation or
using a PLL with specific design

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

DPSK
• DPSK is a kind of phase shift keying which
avoids the need for a coherent reference
signal at the receiver.
• Differential BPSK
– 0 = same phase as last signal element
– 1 = 180º shift from last signal element

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
DPSK modulation and
demodulation

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Thank you

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Unit - 5

Error Controlling Codes

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

ENTROPY
• The e t op of a sou e is defi ed as the sou e hi h p odu es a e age
i fo atio pe i di idual essage o s ol i a pa ti ula i te al .
• Then the number of messages is given as

• The amount of information in message m1 is given as

• The total amount of information

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Co t…
• Thus the total amount of information due to L

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Co t…

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

PROPERTIES OF ENTROPY
• The entropy of a discrete memoryless channel
source

• Property 1
1. Entropy is zero, if the event is sure or its impossible

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Co t…
Property 2
2. Entropy H= log2 K when the symbols are equally likely for K
symbols PK= 1/K

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Co t…
Property 3
3. Maximum upper bound on entropy is

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Co t…

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Co t…

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Cont..

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

RATE OF INFORMATION
• RATE OF INFORMATION

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

SOURCE CODING
• An important problem in communication system is the
efficient representation of data generated by a source, which
can be achieved by source encoding (or) source coding
process
• The device which performs source encoding is called source
encoder

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

EFFICIENCY OF SOURCE ENCODER

• What are the requirements that a source


encoder should satisfy for it to be efficient-----
----- Binary codewords & Discrete memory-less
source

• What are the advantages of source coding?

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

NOISELESS CODING THEOREM


Shanons information theory for a discrete memoryless
sources and channels involves three theorems.

(i) Shanons first theorem (or) Source coding theorem


(ii) Shanons second theorem (or) channel coding theorem (or)
shanons theorem on channel capacity
(iii) Shanons third theorem (or) information capacity theorem
(or) shanon hartley theorem.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
SHANONS FIRST THEOREM
• This theorem is also called as source coding theorem. Consider a discrete
memoryless source
Encoding process

The average code word length L is given as

The coding efficiency of the source encoder is

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

STATEMENT
• Shanon first theorem is stated as Given a discrete memoryless source of
entropy H, the average codeword length L for any distortionless source
encoding is bounded as

L>= H
• According to source coding theorem the entropy H represents as the
fundamental limit on the average number of bits per source symbol
necessary to represent a discrete memoryless source
• It can be made as small as, but not smaller than the entropy H thus, with
Lmin=H, then η is represented as
η= H/L

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

SHANONS SECOND THEOREM


• Why channel coding?
• Goal of channel coding
• Process

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Co t…
• Approach
The code rate is given as

Suppose a discrete memoryless source alphabet S, Entropy H(S) bits per


source symbol and source emits and delivers symbols for every Ts seconds

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

STATEMENT
Two parts

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

SHANONS THIRD THEOREM


The channel capacity of a white band limited
gaussian channel is

Signal power
Noise power

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

MUTUAL INFORMATION

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
MUTUAL INFORMATION
• The difference between these two values is
called mutual information

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
PROPERTIES OF MUTUAL INFORMATION
1. The mutual info of channel is symmetric

2. The mutual information is always non negative

3. The mutual information of a channel is related to the joint


entropy of the channel input and the channel output by

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

CHANNEL CAPACITY

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

CHANNEL CAPACITY
• What is channel capacity?

• It must satisfy two constraints

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Co t…
• Transmission efficiency

• Redundancy

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Error Control
Coding

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Introduction
• Error Control Coding (ECC)
– Extra bits are added to the data at the transmitter
(redundancy) to permit error detection or
correction at the receiver
– Done to prevent the output of erroneous bits
despite noise and other imperfections in the
channel
– The positions of the error control coding and
decoding are shown in the transmission model

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Transmission Model

Error Modulator
Digital Source Line X(w)
Control (Transmit
Source Encoder Coding
Coding Filter, etc)
Hc(w) Channel
Transmitter

N(w) Noise
+
Error Demod
Digital Source Line
Control (Receive
Sink Decoder Decoding Y(w)
Decoding Filter, etc)

Receiver

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Error Models
• Binary Symmetric Memoryless Channel
– Assumes transmitted symbols are binary
– E o s affe t s a d s ith e ual p o a ilit
(i.e., symmetric)
– Errors occur randomly and are independent
from bit to bit (memoryless)
1-p
0 0 p is the probability of bit
p
error or the Bit Error Rate
IN OUT (BER) of the channel
p
1 1
1-p
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Error Models
• Many other types
• Burst errors, i.e., contiguous bursts of bit
errors
– output from DFE (error propagation)
– common in radio channels
– Insertion, deletion and transposition errors
• We will consider mainly random errors

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Error Control Techniques


• Error detection in a block of data
– Can then request a retransmission, known as
automatic repeat request (ARQ) for sensitive
data
– Appropriate for
• Low delay channels
• Channels with a return path
– Not appropriate for delay sensitive data, e.g.,
real time speech and data

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Error Control Techniques


• Forward Error Correction (FEC)
– Coding designed so that errors can be corrected at
the receiver
– Appropriate for delay sensitive and one-way
transmission (e.g., broadcast TV) of data
– Two main types, namely block codes and
convolutional codes. We will only look at block
codes

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Block Codes
• We will consider only binary data
• Data is grouped into blocks of length k bits
(dataword)
• Each dataword is coded into blocks of length n
bits (codeword), where in general n>k
• This is known as an (n,k) block code

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Block Codes

• A vector notation is used for the datawords


and codewords,
– Dataword d = (d1 d2….dk)
– Codeword c = (c1 c2……..cn)
• The redundancy introduced by the code is
quantified by the code rate,
– Code rate = k/n
– i.e., the higher the redundancy, the lower the
code rate
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Block Code - Example

• Dataword length k = 4
• Codeword length n = 7
• This is a (7,4) block code with code rate = 4/7
• For example, d = (1101), c = (1101001)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Error Control Process


Source code Codeword
101101 1000
data chopped (n bits)
into blocks Channel
1000 coder
Dataword
(k bits)

Codeword +
Dataword possible errors
(k bits) Channel (n bits)
Channel
decoder

Error flags
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Error Control Process


• Decoder gives corrected data
• May also give error flags to
– Indicate reliability of decoded data
– Helps with schemes employing multiple layers of
error correction

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Hamming Distance
• Error control capability is determined by
the Hamming distance
• The Hamming distance between two
codewords is equal to the number of
differences between them, e.g.,
10011011
11010010 have a Hamming distance = 3
• Alternatively, can compute by adding
codewords (mod 2)
=01001001 (now count up the ones)
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Hamming Distance
• The Hamming distance of a code is equal to
the minimum Hamming distance between
two codewords
• If Hamming distance is:
1 – no error control capability; i.e., a single error
in a received codeword yields another valid
codeword
XXXXXXX X is a valid codeword
Note that this representation is diagrammatic
only.
In reality each codeword is surrounded by n
codewords. That is, one for every bit that
could be changed
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Hamming Distance
• If Hamming distance is:
2 – can detect single errors (SED); i.e., a single error
will yield an invalid codeword
XOXOXO X is a valid codeword
O in not a valid codeword
See that 2 errors will yield a valid (but
incorrect) codeword

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Hamming Distance
• If Hamming distance is:
3 – can correct single errors (SEC) or can detect
double errors (DED)
XOOXOOX X is a valid codeword
O in not a valid codeword
See that 3 errors will yield a valid but incorrect
codeword

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Hamming Distance - Example

• Hamming distance 3 code, i.e., SEC/DED


– Or can perform single error correction (SEC)
10011011 X
This code corrected this way
11011011 O
11010011 O This code corrected this way
11010010 X

X is a valid codeword
O is an invalid codeword

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Hamming Distance
• The maximum number of detectable errors is

d min  1
• That is the maximum number of correctable
errors is given by,
 d min  1
t 
 2 
where dmin is the minimum Hamming distance
between 2 codewords and. means the smallest
integer

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Linear Block Codes

• As seen from the second Parity Code


example, it is possible to use a table to hold
all the codewords for a code and to look-up
the appropriate codeword based on the
supplied dataword
• Alternatively, it is possible to create
codewords by addition of other codewords.
This has the advantage that there is now no
longer the need to held every possible
codeword in the table.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Linear Block Codes


• If there are k data bits, all that is required is to hold k
linearly independent codewords, i.e., a set of k
codewords none of which can be produced by linear
combinations of 2 or more codewords in the set.
• The easiest way to find k linearly independent
ode o ds is to hoose those hi h ha e i just
one of the first k positio s a d i the othe k-1 of
the first k positions.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Linear Block Codes


• For example for a (7,4) code, only four
codewords are required, e.g.,
1 0 0 0 1 1 0
0 1 0 0 1 0 1
0 0 1 0 0 1 1
0 0 0 1 1 1 1
• So, to obtain the codeword for dataword 1011,
the first, third and fourth codewords in the list
are added together, giving 1011010
• This process will now be described in more detail
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Linear Block Codes


• An (n,k) block code has code vectors
d=(d1 d2….dk) and
c=(c1 c2……..cn)
• The block coding process can be written as
c=dG
where G is the Generator Matrix
 a11 a12 ... a1n   a1 
a   
 21 a22 ... a2n  a 2 
G 
 . . ... .   . 
   
 ak1Get useful akn fromwww.rejinpaul.com
... materials
ak 2 study ak 
www.rejinpaul.com

Linear Block Codes


• Thus,
k
c   di a i
i 1

• ai must be linearly independent, i.e.,


Since codewords are given by summations
of the ai vectors, then to avoid 2 datawords
having the same codeword the ai vectors
must be linearly independent

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Linear Block Codes


• Sum (mod 2) of any 2 codewords is
also a codeword, i.e.,
Since for datawords d1 and d2 we have;
d3  d1  d 2
So,
k k k k
c3   d 3i a i   (d1i  d 2i )a i  d1i a i   d 2i a i
i 1 i 1 i 1 i 1

c3  c1  c2

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Linear Block Codes

• 0 is always a codeword, i.e.,


Since all zeros is a dataword then,
k
c   0 ai  0
i 1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Error Correcting Power of LBC


• The Hamming distance of a linear block code (LBC) is
simply the minimum Hamming weight (number of
s o e ui ale tl the dista e f o the all
codeword) of the non-zero codewords
• Note d(c1,c2) = w(c1+ c2) as shown previously
• For an LBC, c1+ c2=c3
• So min (d(c1,c2)) = min (w(c1+ c2)) = min (w(c3))
• Therefore to find min Hamming distance just need
to search among the 2k codewords to find the min
Hamming weight – far simpler than doing a pair
wise check for all possible codewords.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Linear Block Codes – example 1

• For example a (4,2) code, suppose;


1 0 1 1 a1 = [1011]
G    a2 = [0101]
 0 1 0 1
• For d = [1 1], then;
1 0 1 1
 0 1 0 1
c 
_ _ _ _
 1 1 1 0

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Linear Block Codes – example 2

• A (6,5) code with


1 0 0 0 0 1
0 1 0 0 0 1
 
G  0 0 1 0 0 1
 
0 0 0 1 0 1

0 0 0 0 1 1

• Is an even single parity code

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Systematic Codes
• For a systematic block code the dataword
appears unaltered in the codeword –
usually at the start
• The generator matrix has the structure,
k R R=n-k

1 0 .. 0 p11 p12 .. p1R 


0 1 .. 0 p21 p22 .. p2 R 
G  I | P
.. .. .. .. .. .. .. .. 
 
0 0 .. 1 pk1 pk 2 .. pkR 

• P is often referred to as parity bits


Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Systematic Codes
• I is k*k identity matrix. Ensures dataword
appears as beginning of codeword
• P is k*R matrix.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Decoding Linear Codes
• One possibility is a ROM look-up table
• In this case received codeword is used as an address
• Example – Even single parity check code;
Address Data
000000 0
000001 1
000010 1
000011 0
……… .
• Data output is the error flag, i.e., 0 – codeword ok,
• If no error, dataword is first k bits of codeword
• For an error correcting code the ROM can also store
datawords Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Decoding Linear Codes


• Another possibility is algebraic decoding, i.e.,
the error flag is computed from the received
codeword (as in the case of simple parity
codes)
• How can this method be extended to more
complex error detection and correction
codes?

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

CYCLIC CODES

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Motivation & Properties of cyclic code

• Cyclic code are a class of linear block codes.


Thus, we can find generator matrix (G) and
parity check matrix (H).
• The reason is that they can be easily
implemented with externally cost effective
electronic circuit.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Definition
• An (n,k) linear code C is cyclic if every cyclic
shift of a codeword in C is also a codeword in
C.
If c0 c1 c2 …. cn-2 cn-1 is a codeword, then
cn-1 c0 c1 …. cn-3 cn-2
cn-2 cn-1 c0 …. cn-4 cn-3
: : : : :
c1 c2 c3 …. cn-1 c0 are all codewords.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Example: (6,2) repetition code

C  000000, 010101, 101010, 111111


is a cyclic code.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Example2: (5,2) linear block code


1 0 1 1 1
G 
 0 1 1 0 1
is a single error correcting code, the set of codeword are:

0 0 0 0 0 Thus, it is not a cyclic code


1 0 1 1 1 since, for example, the cyclic
C shift of [10111] is [11011]
0 1 1 0 1
   C
1 1 0 1 0
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Example 3
• The (7,4) Hamming code discussed before is
cyclic:

1010001 1110010 0000000 1111111


1101000 0111001
0110100 1011100
0011010 0101110
0001101 0010111
1000110 1001011
0100011 1100101

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Generator matrix of a non-systematic (n,k) cyclic


codes
• The generator matrix will be in this form:

g0 g1  gnk 1 gnk 0 0  0 


0 g0 g1  gnk 1 gnk 0  0 

G0 0 g0 g1  gnk 1 gnk 0 0 
 
  
 0 0 0  0 g0  gnk 1 gnk 
notice that the row are merely cyclic shifts of the r n
basis vector 
g  g0g1 gnk 1gnk 000 
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
• The code vector are:
C  m G ; where m  [m0m1 mk 1 ]
 c 0  m0 g 0
c1  m0 g1  m1g 0
c 2  m0 g 2  m1g1  m2 g 0

c n 1  m0 g n k  m1g n k 1    mn k g 0

Notice that,k 1
C   m j g  1 ; where m j  0, if j  0 or j  k  1
j 0

This summation is a convolution between and . m g


• It would be much easier if we deal with multiplication, this transform is done
using Polynomial Representation.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Code Polynomial
• Let c = c0 c1 c2 …. cn-1. The code polynomial
of c: c(X) = c0 + c1X+ c2 X2 + …. + cn-1 Xn-1
where the power of X corresponds to the bit position,
and
the coefficients are 0’s and 1’s.
• Example:
1010001 1+X2+X6
0101110 X+X3+X4+X5
Each codeword is represented by a polynomial of degree
less than or equal n-1. deg[ c(X) ]  n  1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
The addition and multiplication are as follow:
ax j  bx j  (a  b) x j Where (a+b) and (a.b) are under GF(2). But
(ax j ).(bx k )  (a . b) x j  k j+k is integral addition

Example:
m( x )  m0  m1 x  m2 x 2
g ( x )  g 0  g1 x
   m( x )  g ( x )  (m0  g 0 )  (m1  g1 )x  (m2  0)x 2
addition

   m( x )g ( x )  m0g 0  (m0 g1  m1g 0 )x  (m1g1  m2 g 0 )x 2  m2 g1 x 3


Multipliation

Notice that in multiplication the coefficient are the


same as convolution sum

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Implementing the Shift


Let c = c0 c1 c2 …. cn-1
and c(i) = cn-i cn-i+1 c0 …. cn-i-1 (i shifts to the right)
c(X) = c0 + c1X+ c2 X2 + …. + cn-1 Xn-1
c (i)(X) = cn-i + cn-i+1 X + …. + cn-1 Xi-1 + …. +
c0Xi +…. +cn-i-1 Xn-1
What is the relation between c(X) and c (i)(X)?
Apparently, shifting a bit one place to the right is
equivalent
to multiplying the term by X.
Xic(X)= c0Xi +c1X i+1 + ….+ cn-i-1 Xn-1 + cn-i Xn ….+ cn-1 Xn+i-1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Implementing the Shift (cont’d)


Xic(X) = cn-i Xn +…+cn-1 Xn+i-1 +c0Xi +c1X i+1 + …+ cn-i-1 Xn-1
The first i terms have powers n, and are not suitable
for 
representing bit locations.
Add to the polynomial the zero-valued sequence:
(cn-i + cn-i ) + (cn-i+1 + cn-i+1 )X + …. + (cn-1 + cn-1 )Xi-1
Xic(X) = cn-i (Xn +1) + cn-i+1 X (Xn +1)+…. +cn-1 Xi-1 (Xn +1)+
cn-i + cn-i+1 X +…. +cn-1 Xi-1+
c0Xi +c1X i+1 + …. + cn-i-1 Xn-1
That is:
Xic(X) = q(X)(Xn +1) + c(i)(X)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Implementing the Shift (cont’d)


c(i)(X) is the remainder from dividing Xic(X) by (Xn +1).
c(i)(X) = Rem[Xic(X)/ (Xn +1)] = Xic(X) mod (Xn +1).
Example:
c = 0101110. c(X) = X + X3 + X4 + X5.
X3c(X) = X4 + X6 + X7 + X8
Rem[X3c(X)/ (X7 +1)] = 1 + X + X4 + X6 [Show]
c(3) = 1100101
Short cut of long division:
Xic(X)|Xn=1 = q(X)(Xn +1) |Xn=1 + c(i)(X) |Xn=1
That is c(i)(X) = Xic(X)|Xn=1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

More on Code Polynomials


• The nonzero code polynomial of minimum degree in a
cyclic code C is unique.
(If not, the sum of the two polynomials will be a code polynomial of degree less than
the minimum. Contradiction)

• Let g(X) = g0 + g1X +….+ gr-1Xr-1 +Xr be the nonzero code


polynomial of minimum degree in an (n,k) cyclic code.
Then the constant term g0 must be equal to 1.
(If not, then one cyclic shift to the left will produce a code polynomial of degree less
than the minimum. Contradiction)

• For the (7,4) code given in the Table, the nonzero code
polynomial of minimum degree is g(X) = 1 + X + X3

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Generator Polynomial
• Since the code is cyclic: Xg(X), X2g(X),…., Xn-r-1g(X)
are code polynomials in C. (Note that deg[Xn-r-
1g(X)] = n-1).

• Since the code is linear:


(a0 + a1X + …. + an-r-1 Xn-r-1)g(X) is also a code
polynomial, where ai = 0 or 1.
• A binary polynomial of degree n-1 or less is a
code polynomial if and only if it is a multiple of
g(X).
(First part shown. Second part: if a code polynomial c(X) is not a
multiple of g(X), then Rem[c(X)/g(X)] must be a code polynomial of
degree less than the minimum. Contradiction)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Generator Polynomial (cont’d)


• All code polynomials are generated from the
multiplication c(X) = a(X)g(X).
deg[c(x)] n-1, deg[g(X)] = r, ==> deg[a(x)] n-r-1
 (2k) = # different ways of forming a(x), 2n-r
# codewords,
Therefore, r = deg[g(X)] = n-k
• Since deg[a(X)] k-1, the polynomial a(X) may be taken
to be the information
 polynomial u(X) (a polynomial
whose coefficients are the information bits). Encoding
is performed by the multiplication c(X) = u(X)g(X).
• g(X), generator polynomial, completely defines the
code.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

(7,4) Code Generated by 1+X+X3


Infor. Code Code polynomials
0000 0000000 0 = 0 . g(X)
1000 1101000 1 + X + X3 = 1 . g(X)
0100 0110100 X + X2 + X4 = X . g(X)
1100 1011100 1 + X2 + X3 + X4 = (1 + X) . g(X)
0010 0011010 X2 + X3 + X5 = X2 . g(X)
1010 1110010 1 + X+ X2 + X5 = (1 + X2) . g(X)
0110 0101110 X+ X3 + X4 + X5 = (X+ X2) . g(X)
1110 1000110 1 + X4 + X5 = (1 + X + X2) . g(X)
0001 0001101 X3 + X4 + X6 = X3 . g(X)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
(7,4) Code Generated by 1+X+X3
(Cont’d)
Infor. Code Code polynomials
1001 1100101 1 + X + X4 + X6 = (1 + X3) . g(X)
0101 0111001 X+ X2 + X3 + X6 = (X+ X3) . g(X)
1101 1010001 1 + X2 + X6 = (1 + X + X3) . g(X)
0011 0010111 X2 + X4 + X5 + X6 = (X2 + X3). g(X)
1011 1111111 1 + X + X2 + X 3 + X 4 + X 5 + X 6
= (1 + X2 + X3) . g(X)
0111 0100011 X + X5 + X6 = (X + X2 + X3). g(X)
1111 1001011 1 + X 3 + X 5 + X6
= (1 + X + X2 + X3) . g(X)
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Constructing g(X)
• The generator polynomial g(X) of an (n,k) cyclic
code is a factor of Xn+1.
Xkg(X) is a polynomial of degree n.
Xkg(X)/ (Xn+1)=1 and remainder r(X). Xkg(X) = (Xn+1)+ r(X).
But r(X)=Rem[Xkg(X)/(Xn+1)]=g(k)(X) =code polynomial= a(X)g(X).
Therefore, Xn+1= Xkg(X) + a(X)g(X)= {Xk + a(X)}g(X). Q.E.D.
(1)To construct a cyclic code of length n, find the
factors of the polynomial Xn+1.
(2)The factor (or product of factors) of degree n-k
serves as the generator polynomial of an (n,k)
cyclic code. Clearly, a cyclic code of length n does
not exist for every k.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Constructing g(X) (cont’d)


(3)The code generated this way is guaranteed to be cyclic.
But we know nothing yet about its minimum distance.
The generated code may be good or bad.
Example: What cyclic codes of length 7 can be
constructed?
X7+1 = (1 + X)(1 + X + X3)(1 + X2 + X3)
g(X) Code g(X) Code
(1 + X) (7,6) (1 + X)(1 + X + X3) (7,3)
(1 + X + X3) (7,4) (1 + X) (1 + X2 + X3) (7,3)
(1 + X2 + X3) (7,4) (1 + X + X3)(1 + X2 + X3) (7,6)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Circuit for Multiplying Polynomials (1)


• u(X) = uk-1Xk-1 + …. + u1X + u0
• g(X) = grXr + gr-1Xr-1 + …. + g1X + g0
• u(X)g(X) = uk-1grXk+r-1
+ (uk-2gr+ uk-1gr-1)Xk+r-2 + ….
+ (u0g2+ u1g1 +u2g0)X2 +(u0g1+ u1g0)X +u0g0

+ + + + Output

gr gr-1 gr-2 g1 g0

Input
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Circuit for Multiplying Polynomials (2)


• u(X)g(X) = uk-1Xk-1(grXr + gr-1Xr-1 + …. + g1X + g0)
+ ….
+ u1X(grXr + gr-1Xr-1 + …. + g1X + g0)
+ u0(grXr + gr-1Xr-1 + …. + g1X + g0)

+ + + +
Output
g0 g1 g2 gr-1 gr

Input
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Systematic Cyclic Codes


Systematic: b0 b1 b2 …. bn-k-1 u0 u1 u2 …. uk-1
b(X) = b0 + b1X+….+bn-k-1Xn-k-1, u(X) = u0+u1X+ ….+uk-1Xk-1
then c(X) = b(X) + Xn-k u(X)
a(X)g(X) = b(X) + Xn-k u(X)
Xn-k u(X)/g(X) = a(X) + b(X)/g(X)
Or b(X) = Rem[Xn-k u(X)/g(X)]
Encoding Procedure:
1. Multiply u(X) by Xn-k
2. Divide Xn-k u(X) by g(X), obtaining the remainder b(X).
3. Add b(X) to Xn-k u(X), obtaining c(X) in systematic form.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Systematic Cyclic Codes (cont’d)


Example
Consider the (7,4) cyclic code generated by
g(X) = 1 + X + X3. Find the systematic codeword for
the message 1001.
u(X) = 1 + X3
X3u(X) = X3 + X6
b(X) = Rem[X3u(x)/g(X)] = X3u(x) |g(X) = 0 = X3u(x) |X3
= X+1
= X3 (X3 +1) = (1 + X)X = X + X2
Therefore, c = 0111001
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Circuit for Dividing Polynomials

Output

g0 g1 g2 gr-1 gr

+ + + +
Input

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Encoder Circuit

Gate
g1 g2 gr-1

+ + +
+

• Gate ON. k message bits are shifted into the channel.


The parity bits are formed in the register.
• Gate OFF. Contents of register are shifted into the
channel.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

(7,4) Encoder Based on 1 + X + X3

Gate

+
+

Input 1 1 0 1
Register : 000 110 101 100 100
initial 1st shift 2nd shift 3rd shift 4th shift

Codeword: 1 0 0 1 0 1 1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Parity-Check Polynomial
• Xn +1 = g(X)h(X)
• deg[g(x)] = n-k, deg[h(x)] = k
• g(x)h(X) mod (Xn +1) = 0.
• h(X) is called the parity-check polynomial. It
plays the rule of the H matrix for linear codes.
• h(X) is the generator polynomial of an (n,n-k)
cyclic code, which is the dual of the (n,k) code
generated by g(X).
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Decoding of Cyclic Codes

• STEPS:
(1) Syndrome computation
(2) Associating the syndrome to the error pattern
(3) Error correction

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Syndrome Computation

• Received word: r(X) = r0 + r1X +….+ rn-1Xn-1


• If r(X) is a correct codeword, it is divisible by g(X).
Otherwise: r(X) = q(X)g(X) + s(X).
• deg[s(X)] n-k-1.

• s(X) is called the syndrome polynomial.
• s(X) = Rem[r(X)/g(X)] = Rem[ (a(X)g(X) + e(X))/g(x)]
= Rem[e(X)/g(X)]
• The syndrome polynomial depends on the error pattern
only.
• s(X) is obtained by shifting r(X) into a divider-by-g(X)
circuit. The register contents are the syndrome bits.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Example: Circuit for Syndrome Computation

Gate
r = 0010110
+
+
Shift Input Register contents
0 0 0 (initial state) • What is g(x)?
1 0 000 • Find the syndrome using
2 1 100 long division.
3 1 110 • Find the syndrome using
4 0 011 the shortcut for the
remainder.
5 1 011
6 0 111
7 0 1 0 1 (syndrome s)
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
Association of Syndrome to Error
Pattern
• Look-up table implemented via a combinational logic circuit
(CLC). The complexity of the CLC tends to grow exponentially
with the code length and the number of errors to correct.
• Cyclic property helps in simplifying the decoding circuit.
• The circuit is designed to correct the error in a certain location
only, say the last location. The received word is shifted cyclically
to trap the error, if it exists, in the last location and then correct
it. The CLC is simplified since it is only required to yield a single
output e telling whether the syndrome, calculated after every
cyclic shift of r(X), corresponds to an error at the highest-order
position.
• The received digits are thus decoded one at a time.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Meggit Decoder
Shift r(X) into the buffer B and the syndrome
register R simultaneously. Once r(X) is completely
shifted in B, R will contain s(X), the syndrome of
r(X).
1. Based on the contents of R, the detection circuit
yields the output e (0 or 1).
2. During the next clock cycle:
(a) Add e to the rightmost bit of B while shifting
the contents of B. (The rightmost bit of B may be
read out). Call the modified content of B r1(1)(X).

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Meggit Decoder (cont’d)


(b) Add e to the left of R while shifting the
contents of R. The modified content of R is
s1(1)(X), the syndrome of r1(1)(X) [will be shown
soon].
Repeat steps 1-2 n times.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

General Decoding Circuit


.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

More on Syndrome Computation


• Let s(X) be the syndrome of a received polynomial r(X)
= r0 + r1X +….+ rn-1Xn-1 . Then the remainder resulting
from dividing Xs(X) by g(X) is the syndrome of r(1)(X),
which is a cyclic shift of r(X).
• Proof: r(X) = r0 + r1X +….+ rn-1Xn-1
r(1)(X) = rn-1 + r0X +….+ rn-2Xn-1 = rn-1 + Xr(X) + rn-1Xn
= rn-1(Xn+1) + Xr(X)
c(X)g(X) + y(X) = rn-1 g(X)h(X)+ X{a(X)g(x) + s(X)}
where y(X) is the syndrome of r(1)(X) .
Xs(X) = {c(X) + a(X) + rn-1 h(X)}g(X) + y(X)
Therefore, Syndrome of r(1)(X)= Rem[Xs(X)/g(X)]. Q.E.D.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
More on Syndrome Computation
(cont’d)
Note: for simplicity of notation, let Rem[Xs(X)/g(X)]
be denoted by s(1)(X). s(1)(X) is NOT a cyclic shift of
s(X), but the syndrome of r(1)(X) which is a cyclic
shift of r(X).
Example:
r(X) = X2 + X4 + X5; g(X) = 1 + X + X3
s(X) = Rem[r(X)/g(X)] = 1 + X2
r(1)(X) = X3 + X5 + X6
s(1)(X) = Rem[r(1)(X)/g(X)] = 1 (polynomial)
Also, s(1)(X) = Rem[Xs(X)/g(X)] = 1.

Get useful study materials from www.rejinpaul.com


More on Syndrome Computation
www.rejinpaul.com

(cont’d)
Gate

+
r = 0010110 Gate +

Shift Input Register contents


0 0 0 (initial state)
1 0 000
2 1 100
3 1 110
4 0 011
5 1 011
6 0 111
7 0 1 0 1 (syndrome s)
8 (input gate off) - 1 0 0 (syndrome s (1) )
9 - 0 1 0 (syndrome s (2) )
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com
More on Syndrome Computation
(cont’d)
Let r(X) = r0 + r1X +….+ rn-1Xn-1 has the syndrome s(X).Then
r(1)(X) = rn-1 + r0 X + ….+ rn-2Xn-1 has the syndrome:
s(1)(X) = Rem[r(1)(X)/g(X)].
Define r1 (X) = r(X) + Xn-1 = r0 + r1X +….+ (rn-1+1)Xn-1
The syndrome of r1 (X), call it s1 (X):
s1 (X)= Rem[{r(X)+ Xn-1}/g(X)] = s(X) + Rem[Xn-1/g(X)]
r1(1)(X), which is one cyclic shift of r1 (X), has the
syndrome
s1(1)(X) = Rem[X s1 (X)/g(X)] = Rem[Xs(X)/g(X)+ Xn/g(X)]
= s(1)(X) + 1 (since Xn +1 = g(X)h(X))
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Worked Example
Consider the (7,4) Hamming code generated by 1+X+X3.

Error pattern Syndrome polynomial.


X6 1 + X2 101
X 1 + X + X2 111
X4 X + X2 011
X3 1+X 110
X2 X2 001
X1 X 010
X0 1 100
Let c = 1 0 0 1 0 1 1 and r = 1 0 1 1 0 1 1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Cyclic Decoding of the (7,4) Code


.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Error Correction Capability

• Error correction capability is inferred from the


roots of g(X).
Results from Algebra of Finite Fields:
Xn +1 has n roots (in an extension field)
These roots can be expressed as powers of one
element, a.
The roots are a0, a1 , …., an-1.
The roots occur in conjugates.
 
 i 2 j mod n 
a  constitute a conjugate set.
 
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Designing a Cyclic Code

• Theorem:
If g(X) has l roots (out of it n-k roots) that are consecutive
powers of a, then the code it generates has a minimum
distance d = l + 1.
• To design a cyclic code with a guaranteed minimum
distance of d, form g(X) to have d-1 consecutive roots. The
parameter d is called the designed minimum distance of
the code.
• Since roots occur in conjugates, the actual number of
consecutive roots, say l, may be greater than d-1. dmin = l +
1 is called the actual minimum distance of the code.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Design Example
X15 + 1 has the roots 1= a0, a1 , …., a14.
Conjugate group Corresponding
polynomial
a0) f1X1 + X
(a, a2 , a4 , a8) f2X 1 + X + X4
(a3 , a6 , a9 , a12) f3X 1 + X + X2 + X3 +
X4
(a5 , a10) f4X 1 + X + X2
(a7, a14 , a13 , a11) f5X 1 + X3 + X4
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Design Example (cont’d)


• Find g(X) that is guaranteed to be a double error
correcting code.
The code must have a, a2 , a3 and a4 as roots.
g(X) = f2X f3X = 1 + X4 + X6 + X7 + X8
This generator polynomial generates a (15, 7) cyclic code
of minimum distance at least 5.
Roots of g(X) = a, a2, a3 , a4 , a6, a8 , a9 , a12.
Number of consecutive roots = 4.
The actual minimum distance of the code is 5.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Cyclic Codes
Some Standard Cyclic BCH Codes
Linear
Block Codes Hamming Codes
Codes

• The Hamming Codes: single-error correcting codes


which can be expressed in cyclic form.
• BCH: the Bose-Chaudhuri-Hocquenghem are among
the most important of all cyclic block codes.
Extenstion of Hamming for t-error correcting codes.
• Some Burst-Correcting Codes: good burst-
correcting codes have been found mainly by
computer search.
• Cyclic Redundancy Check Codes: shortened cyclic
error-detecting codes used in automatic repeat
request (ARQ) systems.
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

BCH Codes
• Definition of the codes:
• For any positive integers m (m>2) and t0 (t0 <
n/2), there is a BCH binary code of length n =
2m - 1 which corrects all combinations of t0 or
fewer errors and has no more than mt0 parity-
check bits.
Block length 2m  1
Number of parity - check bits n  k  mt 0
min imum distance d min  2t 0  1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Table of Some BCH Codes


n k d (designed) d ( actual) g(X)*
7 4 3 3 13
15 11 3 3 23
15 7 5 5 721
15 5 7 7 2463
31 26 3 3 45
31 16 5 7 107657
31 11 7 11 5423325

* Octal representation with highest order at the left.


721 is 111 010 001 representing 1+X4+X6+X7+X8

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Burst Correcting Codes


• good burst-correcting codes have been found mainly
by computer search.
• The length of an error burst, b, is the total number of
bits in error from the first error to the last error,
inclusive.
• The minimum possible number of parity-check bits
required to correct a burst of length b or less is given
by the Rieger bound. r  2b
• The best understood codes for correcting burst errors
are cyclic codes.
• For correcting longer burst interleaving is used.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Table of Good Burst-Correcting Codes

n k b g(X) (octal)
7 3 2 35 (try to find dmin!)
15 10 2 65
15 9 3 171
31 25 2 161
63 56 2 355
63 55 3 711
511 499 4 10451
1023 1010 4 22365

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Cyclic Redundancy Check Codes


• Shortened cyclic codes
• Error-detecting codes
• used in automatic repeat request (ARQ)
systems.
• Usually concatenated with error correcting code
Error Correction Error Correction CRC
CRC To
Encoder Decoder Syndrom
To Info Sink
Encoder e Checker
Transmitter

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Performance of CRC Codes


• CRC are typically evaluated in terms of their
– error pattern coverage
– Burst error detection capability
– Probability of undetected error
• For a (n,k) CRC the coverage, λ, is the ratio of the number of invalid
blocks of length n to the total number of blocks of length n.
• This ratio is a measure of the probability that a randomly chosen block is
not a valid code block. By definition,
  1  2 r Code Coverage
• where r is the number of check bits
• For some near-optima CRC codes, CRC-12 0.999756
see table 5.6.5 CRC-ANSI 0.999985
CRC-32A 0.99999999977
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

Basic Definitions

• k =1, n = 2 , (2,1) Rate-1/2 convolutional code


• Two-stage register ( M=2 )
• Each input bit influences the output for 3 intervals
(K=3)
• K = constraint length of the code = M + 1

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Generator Polynomial
• A convolutional code may be defined by a set
of n generating polynomials for each input bit.
• For the circuit under consideration:
g1(D) = 1 + D + D2
g2(D) = 1 + D2
• The set {gi(D)} defines the code completely.
The length of the shift register is equal to the
highest-degree generator polynomial.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

State Diagram Representation


• The output depends on the current input and
the state of the encoder ( i. e. the contents of
the shift register).

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Trellis Diagram Representation


• Expansion of state diagram in time.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Decoding

• A message m is encoded into the code


sequence c.
• Each code sequence represents a path in
the trellis diagram.
• Minimum Distance Decoding
– Upon receiving the received sequence r, search
for the path that is closest ( in Hamming
distance) to r .
Get useful study materials from www.rejinpaul.com
www.rejinpaul.com

The Viterbi Algorithm


• Walk through the trellis and compute the Hamming
distance between that branch of r and those in the
trellis.
• At each level, consider the two paths entering the
same node and are identical from this node onwards.
From these two paths, the one that is closer to r at this
stage will still be so at any time in the future. This path
is retained, and the other path is discarded.
• Proceeding this way, at each stage one path will be
saved for each node. These paths are called the
survivors. The decoded sequence (based on MDD) is
guaranteed to be one of these survivors.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

The Viterbi Algorithm (cont’d)


• Each survivor is associated with a metric of
the accumulated Hamming distance (the
Hamming distance up to this stage).
• Carry out this process until the received
sequence is considered completely. Choose
the survivor with the smallest metric.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
The Viterbi Algorithm:

• The viterbi algorithm is used to decode convolutional codes


and any structure or system that can be described by a trellis.
• It is a maximum likelihood decoding algorithm that selects
the most probable path that maximizes the likelihood
function.
• The algorithm is based on add-compare-select the best path
each time at each state.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Example: For the convolutional code example in the previous lecture,
starting from state zero, Decode the following received sequence.

At the end of the


trellis, select the
path with the
minimum
cumulative
Hamming weight

This is the
survival
path in
this
example

Decoded
sequence is
m=[10 1110]


Compute the two possible paths at
Add the weight of the each state and select the one This is called the
path at each state with less cumulative Hamming survival path
Getweight
useful study materials from www.rejinpaul.com
www.rejinpaul.com

Distance Properties of Conv. Codes


• Def: The free distance, dfree, is the minimum Hamming
distance between any two code sequences.
• Criteria for good convolutional codes:
– Large free distance, dfree.
– Small Hamming distance (i.e. as few differences as possible
) between the input information sequences that produce
the minimally separated code sequences. dinf
• There is no known constructive way of designing a
conv. code of given distance properties. However, a
given code can be analyzed to find its distance
properties.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Distance Prop. of Conv. Codes (cont’d)


• Convolutional codes are linear. Therefore, the
Hamming distance between any pair of code
sequences corresponds to the Hamming distance
between the all-zero code sequence and some nonzero
code sequence. Thus for a study of the distance
properties it is possible to focus on the Hamming
distance between the all-zero code sequence and all
nonzero code sequences.
• The nonzero sequence of minimum Hamming weight
diverges from the all-zero path at some point and
remerges with the all-zero path at some later point.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Distance Properties: Illustration

• sequence 2: Hamming weight = 5, dinf = 1


• sequence 3: Hamming weight = 7, dinf = 3.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Modified State Diagram


• The span of interest to us of a nonzero path starts
from the 00 state and ends when the path first
returns to the 00 state. Split the 00 state (state a)
to two states: a0 and a1.
• The branches are labeled with the dummy
variables D, L and N, where:
The power of D is the Hamming weight (# of 1’s) of the
output corresponding to that branch.
The power of N is the Hamming weight (# of 1’s) of the
information bit(s) corresponding to that branch.
The power of L is the length of the branch (always = 1).

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Modified State Diagram (cont’d)


.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Properties of the Path

Sequence 2:
code sequence: .. 00 11 10 11 00 ..
state sequence: a0 b c a1
Labeled: (D2LN)(DL)(D2L) = D5L3N
Prop. : w =5, dinf =1, diverges from the allzero path by 3
branches.
Sequence 3:
code sequence: .. 00 11 01 01 00 10 11 00 ..
state sequence: a0 b d c b c a1
Labeled: (D2LN)(DLN)(DL)(DL)(LN)(D2L) = D7L6N3
Prop. : w =7, dinf =3, diverges from the allzero path by 6
branches.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Transfer Function
• Input-Output relations:
a0 = 1
b = D2LN a0 + LNc
c = DLb + DLNd
d = DLNb + DLNd
a1 = D2Lc
• The transfer function T(D,L,N) = a1 /a0
D5 L3
T(D, L, N) 
1  DNL(1  L)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Transfer Function (cont’d)


• Performing long division:
T = D5L3N + D6L4N2 + D6L5N2 + D7L5N3 + ….
• If interested in the Hamming distance property of
the code only, set N = 1 and L = 1 to get the
distance transfer function:
T (D) = D5 + 2D6 + 4D7
There is one code sequence of weight 5. Therefore
dfree=5.
There are two code sequences of weight 6,
four code sequences of weight 7, ….

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Decoding of Convolutional Codes
 Let Cm be the set of allowable code sequences of length m.

 Not all sequences in {0,1}m are allowable code sequences!


 Each code sequence c  C can be represented by a unique path
 m
through the trellis diagram
 What is the probability that the code sequence is sent and the
c 
binary sequence is received?
y

  mdH y,
   
dH y,
c
  c  

c p
Pr y |   


.(1  p)
  



where p is the probability of bit error of BSC from modulation

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Decoding Rule for Convolutional Codes

 Maximum Likelihood Decoding Rule:

max
cCm
  
c  min
Pr y, 

  
d y, c
cCm H  
 Choose the code sequence through the trellis which has the
smallest Hamming distance to the received sequence!

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

The Viterbi Algorithm


 The Viterbi Algorithm (Viterbi, 1967) is a clever way of
implementing Maximum Likelihood Decoding.
Computer Scientists will recognize the Viterbi Algorithm as an
e a ple of a C“ te h i ue alled D a i P og a i g

 ‘efe e e: G. D. Fo e , The Vite i Algo ith ,


Proceedings of the IEEE, 1973
 Chips are available from many manufacturers which
implement the Viterbi Algorithm for K < 10
 Can be used for either hard or soft decision decoding
We consider hard decision decoding initially

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Basic Idea of Viterbi Algorithm


 There are 2rm code sequences in Cm .
 This number of sequences approaches infinity as m
becomes large
 Instead of searching through all possible sequences,
find the best code sequence "one stage at a time"

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
The Viterbi Algorithm
(Hamming Distance Metric)
 Initialization:
Let time i = 0.
We assign each state j a metric Z j 0 at time 0.
We know that the code must start in the state 0.
Therefore we assign:
Z j 0  0
Z j 0   for all other states

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

The Viterbi Algorithm (continued)


Consider decoding of the ith segment:
 Let y i be the segment of n bits received between times i
and i + 1
 There are several code segments
ci
 of n bits which lead
into state j at time i+1. We wish to find the most likely one.
 Let sc i  be the state from which the code segment
ci

emerged
 For each state j, we assume that
ci
 is the path leading
into
Z s 
c i i   d  
c ,y
H i 
state j if:
is the smallest of all the code segments leading into state
j.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

The Viterbi Algorithm (continued)


 Iteration:
• Let
• Let i=i+1
Z i  1  Z
j s
ci






H
 
i   d c i , y

• Repeat previous step


•Incorrect paths drop out as i approaches infinity.

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Viterbi Algorithm Decoding Example


 r =1/2, K = 3 code from previous example
 c = (0 0 1 1 01 00 10 10 1 1) is sent
 y
 = (0 1 1 1 01 00 10 10 1 1) is received.

What path through the trellis does the Viterbi Algorithm choose?

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com
Viterbi Algorithm Decoding Example
(continued)

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

SUMMARY
• Learnt about the concepts of Entropy and the
source coding techniques
• Statement and the theorems of Shanon
• Concepts about mutual information and
channel capacity
• Understand error control coding techniques
and the concepts about linear block codes,
cyclic codes, convolution codes & viterbi
decoding algorithm

Get useful study materials from www.rejinpaul.com


www.rejinpaul.com

Thank you

Get useful study materials from www.rejinpaul.com

You might also like