You are on page 1of 6

15L712 – DIGITAL COMMUNICATION SYSTEMS LABORATORY

BALAGANESH S 19L402

Laboratory report submitted in partial fulfilment of the requirements for the degree of

BACHELOR OF ENGINEERING
Branch: ELECTRONICS AND COMMUNICATION ENGINEERING
of Anna University.

DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING


PSG COLLEGE OF TECHNOLOGY
(Autonomous Institution)
COIMBATORE-641004
Expt:5 LBC

Date: 09/09/2021

Aim:

To design and test Linear Block Codes using Matlab.

Objectives:

1. To design a LBC
2. To give a one bit errorneous code word and correct it.

Software Used:

S No Software Version
1 Matlab R2020

Theory:

Linear block code is a type of error-correcting code in which the actual information bits are linearly
combined with the parity check bits so as to generate a linear codeword that is transmitted through the
channel. Another major type of error-correcting code is convolution code. In the linear block code technique,
the complete message is divided into blocks and these blocks are combined with redundant bits so as to deal
with error detection and correction.In block coding, the complete message bits are divided into blocks where
each block holds the same number of bits. Suppose each block contains k bits, and each k bits of a block
defines a dataword. Hence, the overall datawords will be 2 k. At this particular point, we have not considered
any redundancies, thus, we only have the actual message bitstream converted into datawords. Now, the
datawords are encoded as codewords having n number of bits. We have recently discussed that a block has
k bits and after encoding there will be n bits in each block (of course, n>k) and these n bits will be transmitted
across the channel. While the additional n-k bits are not the message bits as these are named as parity
bits but during transmission, the parity bits act as they are a part of message bits. The possible codewords
will be 2n out of which 2k contains datawords. During transmission, if errors are introduced then most
probably, the permissible codewords will be changed into redundant words which can be detected as an
error by the receiver.
PRELAB QUESTIONS:
1. What is meant by linear code?
A code is linear if modulo-2 sum of any two code vectors produces another code vector. This means any code
vector can be expressed as linear combination of other code vectors.
2. What is meant by syndrome of linear block code?
The non-zero output of the produce YHT is called syndrome & it is used to detect errors in y. Syndrome is
denoted by S & given as,
S=YHT
3. Where do we use linear codes?
Linear codes are used in forward error detection. It allows for more efficient encoding and decoding
procedures.
4. What is systematic code word?
Systematic codes have the advantage that the parity data can simply be appended to the source block, and
receivers do not need to recover the original source symbols if received correctly – this is useful for example if
error-correction coding is combined with a hash function for quickly determining the correctness of the received
source symbols, or in cases where errors occur in erasures and a received symbol is thus always correct.
POSTLAB QUESTIONS
1) Explain the process of linear block code.
In the linear block code technique, the complete message is divided into blocks and these blocks are
combined with redundant bits so as to deal with error detection and correction.
2) Define parity bit.
A parity bit, also known as a check bit, is a single bit that can be appended to a binary string.
3) What is Hamming code?
Hamming codes are the type of linear error correcting codes, which can detect up to two bit errors or they
can correct one bit errors without the detection of uncorrected errors.
4. Define Hamming distance.
While using the hamming codes, extra parity bits are used to identify a single bit error. To get from one-bit
pattern to the other, few bits are to be changed in the data. Such number of bits can be termed as
Hamming distance.
5. Explain the fundamental difference between block codes and convolutional codes.
Block codes takes “k” number of bits simultaneously from “n”-bit code vector. This code vector is also called
block. Convolutional code takes one message bits at a time and generates two or more encoded bits.
CODE:
OUTPUT:
Manual Calculation:
Results:

Hence, Linear block code is designed and implemented using matlab R2020a.

You might also like