Professional Documents
Culture Documents
Saswat Chakrabarti
GS Sanyal School of Telecommunications,
IIT Kharagpur
02/01/15
Reference
Shu Lin and D. J. Costello, Jr., Error Control Coding, 2nd
Ed., Pearson Prentice Hall, 2004
R. G. Gallager, Information Theory and Reliable
Communications, John Wiley, New York, 1968
R. E. Blahut, Theory and Practice of Error Control
Codes, Addison Wesley, 1983
T. K. Moon, Error Correction Coding, mathematical
methods and algorithms, Wiley India Ed., 2005
W. W. Peterson and E. J. Weldon, Jr., Error Correcting
Codes, 2nd Ed., MIT Press Cambridge, 1972
02/01/15
Information
source
Source
encoder
Channel
encoder
Channel
(storage
medium)
Noise
Destination
02/01/15
Source
decoder
Channel
decoder
Modulator
Demodulator
Modulation Channel
Propagation
Channel
Receiver
Transmitter
Coder
Modem
RF/IF
Stages
RF/IF
Stages
Modem
Decoder
Radio
Channel
02/01/15
ARQ
(Auto Repeat reQuest)
02/01/15
Forward Error
Correction
(FEC)
Hybrid ARQ
Tree
(Convolutional)
Block
Non-Binary
Binary
Systematic
Systematic
Nonsystematic
Nonsystematic
02/01/15
Non-Binary
Binary
Systematic
Systematic
Nonsystematic
Nonsystematic
02/01/15
Messages
Codewords
(0000)
(0000000)
(1000)
(1101000)
(0100)
(0110100)
(1100)
(1011100)
(0010)
(1110010)
(1010)
(0011010)
(0110)
(1000110)
(1110)
0101110)
SCK, IIT Kharagpur
02/01/15
Messages
Codewords
(0001)
(1010001)
(1001)
(0111001)
(0101)
(1100101)
(1101)
(0001101)
(0011)
(0100011)
(1011)
(1001011)
(0111)
(0010111)
(1111)
(1111111)
SCK, IIT Kharagpur
10
02/01/15
Trellis
Decoding
Bounded Distance
Decoding
Sequential
Decoding
Majority Logic
Decoding & threshold decoding
SCK, IIT Kharagpur
11
List /
Table look
up
Systematic
Search
Error
trapping
02/01/15
Step
by step
Algebraic
Meggitt
12
Memoryless Channels
A memoryless channel is one in which the
output rn at the n-th symbol time depends only on
the input at time n.
Given the input at time n, the output at time n is
statistically independent of the outputs at other
times.
Additive Gaussian channel and Binary
Symmetric Channel (BSC) may be viewed as
memoryless channels.
02/01/15
13
q1
1 q1
s1
1- q2
s1
q2
q1 << q2
Sate s1
1 p1
q1 << q2
p1
Sate s2
1 p2
p2
p1
1
1 p1
p2
1
1 p2
14
02/01/15
15
0.0=0
0.1=0
1.0=0
1.1=1
(Multiplication in GF (2)
is modulo-2 multiplication
or AND operation )
SCK, IIT Kharagpur
16
02/01/15
17
18
19
20
. (multiplication)
1 (one)
inverse of a
a-1
[ a * b = b * a = e a . a-1 = a-1.a = 1]
Theorem #1 (Group 1): In every group, the
identity element is unique. Also, the inverse of
each group element is unique, and, (a -1)-1= a
[OR, for + and - representation, - (-a) = a]
02/01/15
21
22
23
Finite groups:
a) {0, 1} under EXOR operation
b) {0, 1, .., 8, 9} under modulo-10 addition.
Example of a finite non-abelian group:
transformation (rotation & reflection) of an
equilateral triangle:
Let us define the following six transformations:
1 = (ABC ABC) [no change]
a = (ABC BCA) [anti-clockwise rotation by120]
02/01/15
24
b = (ABC CAB)
G ={1, a, b, c, d, e}
& x * y is a group element that
denotes the transformation one
25
02/01/15
26
Table for x * y:
x\y 1
27
28
sequence of elements
02/01/15
h, h* h,
h*h*h, h*h*h*h,
h3
h2
h4
SCK, IIT Kharagpur
29
30
h1 = 1
h2
h3
h4
hn
g 2 * h1 = g 2
g 2 * h2
g2 * h 3
g2 * h4 g2 * hn.
g3 * h1 = g3
g 3 * h2
g3 * h 3
g3 *h4
g 3 * hn
..............................................................................................
gm * h1 = gm
g m * h2
gm * h 3
gm * h4 .. gm * hn
31
32
33
That is,
(order of H).(No.of cosets of G w.r.t H)=(order of G)
Theorem #3: The order of a finite group is divisible
by the order of any of its elements.
RINGS:
Definition: A ring R is a set of elements with two
operations defined : the first is called addition (+) &
the second is called multiplication (denoted by
juxtaposition). Further, the following axioms are
satisfied:
02/01/15
34
35
36
37
02/01/15
38
Theorem #6
(i) Under ring multiplication, the set of units of a
ring forms a group.
(ii) If c = ab & c is a unit, then a has a right
inverse & b has a left inverse.
Some examples of rings:
(a) The set of all real numbers under the usual
addition & multiplication (commutative ring with identity,
every non zero element is a unit).
02/01/15
39
02/01/15
40
FIELDS:
Definition: A field F is a set that has two operations
defined on its elements: addition and
multiplication, such that the following axioms are
satisfied:
(i) The set is an abelian group under addition.
(ii) The field is closed under multiplication and the
set of non zero (i.e. except the identity element of
addition) elements is an abelian group under
multiplication.
02/01/15
41
Examples of fields:
(a) R: the set of real numbers
(b) C : the set of complex numbers
(c) Q: the set of rational numbers.
A field with q elements, if it exists, is called a finite field
or Galois Field, GF(q), (after Evariste Galois)
02/01/15
42
43
0
1
2
0
1
2
1
2
0
2
0
1
0
1
2
0
0
0
0
1
2
0
2
1
44
02/01/15
45
46
02/01/15
47
48
49
Another notation:
s c (mod d) s is congruent to c, modulo-d.
In this case, s need not be less than d.
The following theorem greatly simplifies the operations
needed to find the remainder.
50
187 = 2 66 + 55
divides 55]
66 = 1 55 + 11
divides 55]
02/01/15
51
02/01/15
52
02/01/15
53
54
02/01/15
55
56
57
02/01/15
58
59
Polynomial Rings:
The mathematical expression
f(x) = fn-1 xn-1 + fn-2 xn-2 + + f1x + f0 is called a
polynomial over a field GF(q) if the coefficients f n-1,
fn-2, ., f1, f0 are elements of GF(q) (called scalars)
and the indices and exponents are integers.
x is an indeterminate here.
The zero polynomial is f(x) = 0.
02/01/15
60
61
f x g x fi gi xi
i 0
62
x3 x 2 1 x 2 1 x3 x 2 x 2 1 1 x3
Multiplication:
f x g x
f
g
x
;2
j i j
j 0
j 0
j 0
j 0
f j g0 j x f j g1 j x f j g 2 j n f j gi j xi
0
j 0
02/01/15
63
x3 x 2 1 x 2 x 1 x5 x 1
64
if their GCD is 1.
02/01/15
65
66
67
68
69
Then,
d x Q1 x Q2 x
1 4 4 44 2 4 4 4 43
If non zero, deg is deg d(x)
s2 x s1 x
1 44 2 4 43
70
The congruence:
s(x) = c(x) (mod d(x)) [i.e. both s(x) & c(x)
have common remainder when divided by d(x)]
The following theorem helps in finding the
remainder polynomial:
Theorem #13 [On remainder polynomial]:
If d(x) is a multiple of g(x), then for any a(x),
Rg(x) [a(x)] = Rg(x) [Rd(x)[a(x)]]
02/01/15
71
Rd x a x Q2 x g x
Rg x Rd x a x
1 4 4 4 2 4 4 43
.. (2)
02/01/15
72
.. (3)
73
02/01/15
74
75
02/01/15
76
77
Problems:
1 Over GF(2), let p1(x) = x3 +1, and let p2(x) = x4 + x3 + x2+1
(a)
(b)
02/01/15
78
79
Zero of a polynomial:
If p(x) is a polynomial over GF(q), is an element of
GF(q) and if p() = 0, then is called a zero of the
polynomial p(x) or a root of the equation p(x) = 0.
A polynomial need not have a zero in its own field
02/01/15
80
02/01/15
81
02/01/15
82
83
Example: Let,
p(x) = x3 + 1
02/01/15
84
85
87
Ans: [GF(qn)].
Ex: Construct GF(23) from GF(2) using the prime
polynomial p(x) = x3 + x + 1.
02/01/15
88
89
90
02/01/15
91
02/01/15
92
93
02/01/15
94
95
96
97
98
99
100
101
02/01/15
102
m-1
103
104
105
m-1
m-2
, ., 0.
106
107
So,
each
GF
can
be
constructed
by
02/01/15
108
109
02/01/15
Ci
p
p i
i 0
110
Now,
Ci
p
i p i
is a prime number.
i p i
p. p 1
or 1 i (p 1) and p
for each i
02/01/15
111
Ci
p
p i
i 0
.
0
p 0
0 0 .... .
p
Now, if p = 2, 2= 2 = - 2 . & if p is an odd
prime,
p
p
p
p
p & hence, in general,
p
02/01/15
pm
pm
pm
112
02/01/15
113
02/01/15
114
115
M mi m0 m1m2 60
i 0
116
0 C1 < 3, 0 C2 <4
0 C3 <5
Suppose, C0 = 2, C1 = 1 & C2 = 2
For C0 =2, the values of C that we should consider
are,{2, 5, 8, 11, 14, 17, 20, 23, 26, ...}
Similarly for C1 = 1, the considerable values of C
are { 1, 5, 9, 13, 17, 21,25,29,..}& for C2 = 2,
{2,7,12,17,22,27,32, ..}
We
unique
soli. For C is 17.
02/01/15observe that the SCK,
IIT Kharagpur
117
118
0 C mi
i 0
&
C = Q im i + C i
0ik
C = Qimi +Ci
0ik
i 0
119
But, by defu.
k
i 0
i 0
mi C C mi
(Proved)
120
i = 0, ., k.
SCK, IIT Kharagpur
121
integers; let,
Mi M
mi
C Ci N i M i mod M
i 0
02/01/15
122
C Cr N r M r C0 N 0 M 0 C1N1M 1 ....... Cr N r M r
r 0
123
So,
C Cr N r M r mod M
r 0
Ci Ni M i mod mi
Further, as N M n m 1 , N M 1 mod m
i i
i
i i
i i
[Hence proved]
C = Ci ( mod mi)
Considering the previous example:
M = 60, M0 = 20, M1 = 15 & M2 = 12.
Further,
02/01/15
1 = (-1) M0 + 7m0
1 = (-1) M1 + 4 m1
124
&
1 = (-2) M2 + 5 m2
i = 0, , k. has at
126
i
deg C ( x ) deg m x
i 0
127
[Hence proved]
i 0
Second Theorem:
k
128
i
i
i
C x C x N x M x mod M x
i 0
129
130
131
smallest
degree of g(x).
02/01/15
SCK, IIT Kharagpur
132
i
i 0
02/01/15
i
133
n 1
i
e
x
i
i 0
i
e
r(j) = e(j) = i j ,
i 0
j = 1, 2, , r for all
134
135
Polynomial
Notation
Binary
Notation
Decimal
Notation
Minimal
Polynomial
0000
0001
x +1
0010
x4 + x +1
z2
0100
x4 + x + 1
z3
1000
x4 + x3 + x2 + x + 1
02/01/15
136
137
02/01/15
138
02/01/15
139
Rx n 1 a x c x
140
02/01/15
141
02/01/15
142
143
Rx n 1 h x e x
144
145
146
147
Usually, one
degree of g(x).
Further, a practical code requires a large block length
n (Shanons Theorem?) & hence, is chosen as the
primitive element, whose order is the largest.
For such a selection of , the BCH code is called a
primitive BCH code & in this case, n = qm 1 (the order
of the primitive element).
02/01/15
148
Let,
ei j
j = 1, 2, , r for all
149
150
Polynomial
Notation
Binary
Notation
Decimal
Notation
Minimal
Polynomial
0000
0001
x +1
0010
x4 + x +1
z2
0100
x4 + x + 1
z3
1000
x4 + x3 + x2 + x + 1
02/01/15
151
Exponential
Notation
Polynomial
Notation
Binary
Notation
Decimal
Notation
Minimal
Polynomial
z +1
0011
x4 + x + 1
z2 +z
0110
x2 + x + 1
z3 + z2
1100
12
x4 + x3 + x2 + x + 1
z3 + z +1
1011
11
x4 + x3 + 1
z2 + 1
0101
x4 + x + 1
z3 + z
1010
10
x4 + x3 + x2 + x + 1
10
z2 + z +1
0111
x2 + x + 1
11
z3 + z2 +z
1110
14
x4 + x3 + 1
02/01/15
152
Exponential
Notation
12
Polynomial
Notation
Binary
Notation
Decimal
Notation
Minimal
Polynomial
z3 + z2 + z +1 1111
15
x4 + x3 + x2 + x + 1
13
z3 + z2 +1
1101
13
x4 + x3 + 1
14
z3 + 1
1001
x4 + x3 + 1
15 = 1
Note: , 2, ( 2)2 = 4,
12
minimal polynomial x4 + x + 1.
Similarly 3, ( 3)2 = 6,
minimal polynomial x4 + x3 + x2 + x + 1
02/01/15
153
polynomial
over
GF(q)
are
called
154
155
156
, unknown.
02/01/15
157
158
159
160
161
Or,
Yl [ Xlj+ + 1Xlj + -1 + 2Xlj+ - 2 + + -1 Xl j +1 + Xlj] = 0
j
j 1
j 2
j 1
j
Y
X
.....
X
l l
1 l
2 l
1 l
l 0
l 1
or,
Yl X l
l 1
Sj+
02/01/15
1 Yl X l
l 1
j 1
..... Y1 X l j 0
l 1
Sj for t & 1j
Sj+-1
SCK, IIT Kharagpur
162
163
S1 S2 S3 ......... S 1
S S S ......... S
3
4
2
S3
M
S
1 4
S 1
S4 S5 ......... S 1 S 2
M M M
M
M
S 1 S 2 .........S 2 2 S 2 1
4 4 4 4 42 4 4 4 4 4 43
1
2
M
1
S 1
S
2
S 3
S
2
The i -s may be found by matrix inversion if the Smatrix is non singular. It is really so if t.
02/01/15
164
X1
X 12
X 13
L L 1
X2L L X
2
X 22 L L X
3
X 23 L L X
1
X 1 1 X 2 1 L L X
02/01/15
165
induction.
02/01/15
166
S1
S2
S2
M
M
S3
M
S 1
S 1
M
S2 1
167
168
X2L
det X12
X1
X 22 L
02/01/15
X 2 L
X
2
X
X
169
X1
X1 1
1L
X2L
X 22 L
X 2 1 L
X
X2
X 1
170
171
det [M] = 0
Yes
-1
No
Clrien
search
02/01/15
172
02/01/15
173
Scalar:
h.
02/01/15
174
Adder:
Multiplier:
02/01/15
175
Serial:
02/01/15
176
Parallel
Addition of two field elements:
+
serial
02/01/15
177
+
+
+
+
Parallel
02/01/15
178
02/01/15
179
+
3
Parallel
2
1
02/01/15
180
3 2 1 0
+
Serial
+
Z
Z4
02/01/15
Z3
181
x1
x2
xn-1
xn
02/01/15
182
-1
h1
h2
h3
h4
pL-1
p j hi p j i ,
hL - 1
p1
pL-2
hL
pj -s
p0
., p3, p2,p1,p0
jL
i 1
183
-1
pL-1
h1
h2
h3
pL-2
hL - 1
hL
p1
p j hi p j i a j L
p0
., p3, p2,p1,p0
jL
i 1
02/01/15
184
+
gL-1
+
gL-2
gL-3
02/01/15
g1
g0
gL-4
gL
a0, a1,a2,.,ak-1, ak
(input in reverse order)
L stage
SCK, IIT Kharagpur
185
186
b j gi a j i , a n 0 0 j L k
i 0
187
An Example
Ex #1: Let, g(x) = x8 + x7 + x4 + x2 + x + 1 over GF(2).
b(x) = a(x).g(x)
+
x
Input
a(x)
x7
x4
x2
b(x)
1
a(x)
1
a(x)
02/01/15
x2
x4
x7
x8
b(x) = a(x).g(x)
SCK, IIT Kharagpur
188
nk
x gnk 1 x
n k 1
n 1
k 2
n2
02/01/15
x n 2
...
189
Recursively, let,
Q(r) (x): quotient polynomial at the r-th
recursion [with, Q(0)(x) = 0]
R(r)(x): remainder polynomial at the r-th
recursion [R(0)(x) = a(x)]
R ( x) R
(r )
Then,
( r 1)
( r 1) k r
nr
( x) R
.g ( x )
Q ( r ) ( x) Q ( r 1) ( x) Rn( rr1) x k r
and
Rn rr1
02/01/15
190
g0
+
a(x) ., an-2, an-1
02/01/15
g1
gn-k-1
g2
-1
+
bk-21, bk-1.
191
02/01/15
192
Output
+
a(x)
+
x0
02/01/15
+
x2
+
x4
+
x7
193
And hence,
n 1
Rn r an r g n r i Qi
r 1
r 1
i 1
02/01/15
194
Further,
r 1
k r
x
R
nr x
r 1
gn-k-1
+
gn-k-2
+
gn-k-4
+
g1
g0
+
Quotient during shifts
from (n-k) to n
195
Ex: g(x) = x8 + x7 + x4 + x2 + x + 1
+
a(x)
+
R
02/01/15
196
x0
c(x)
m(x)
15 bit codeword
Encoder g(x)
02/01/15
197
02/01/15
198
(n-k) zeros
padded at the
end of m(x)
C(x)
Down for first 11 bits
(after 4 initial shifts)
199
02/01/15
200
Realization: b)
Simplifications possible in the above realization:
Observe that the last four bits of x4m(x) are always
zero as the information is only 11 bits long. So, the last
four bits need not be added to the remainder.
The incoming information bits do not immediately
enter the divide-by-g(x) circuit, but are entered at the
right time to form the feedback signal. The following
modified realization does the same thing as in
realization a) but in 15 clock cycles.
02/01/15
201
m(x)
02/01/15
202
Switch
1
g1
r0
g2
r1
g n-k-1
r2
rn-k-1
+
V(X)
203
02/01/15
204
r(x)
c(x)
15 bit shift Reg.
15 bit shift Reg.
m(x)
205
d-1
i
(x-
), where is the primitive
i=1
206
207
S2 .. S
S2
S3 .. S+1
-1
S+1 .. S2+1
02/01/15
-S +1
=
-S +2
-S2
208
Sj = - i=1 iSj-i,
02/01/15
j =+1, , 2.
SCK, IIT Kharagpur
209
+
0=1
-1
Sj-1
-2
--1
Sj= -
i=1
iSj-i
..S3S2S1
210
211
212
r = -
n-1
j=1
(r-1)
Sr-j
(Many terms are zero here as the upper limit has been
chosen as n-1 for convenience)
02/01/15
j=0
(r-1)
n-1
j=1
(r-1)
IIT Kharagpur
SSCK,
r-j
Sr-j
213
(r)
(r-1)
(x))
(r-1)
r=
=
02/01/15
j=0
n-1
n-1
j(r) .Sr-j =
j=0j
(r-1)
j=0
n-1
Sr-j + A.
(m-1)
Sr-j-l
j=0 j
214
= 0.
02/01/15
215
Forney Algorithm
(x) = x + -1x-1 + . + 1x + 1.
= l=1 (1-xXl)
Let us define a syndrome polynomial S(x) as:
S(x)=
2t
j=1 Sjx =
j
2t
j j
Y
X
j=1
i=0
i ix
02/01/15
216
2t
j j
Y
X
j=1
i=1 i i .x ] [
2t
2t
(1-xX
)]
(mod
x
)
i=1
l
j-1
2t
=
{Y
X
x[(1-xX
).
(X
x)
].
(1-xX
)}
(mod
x
)
i i
i
j=1IIT Kharagpur
i
li
l
02/01/15 i=1
SCK,
217
Now,
(1-xXi)
2t
j-1
j=1
02/01/15
Hence proved.
218
(Xl-1)
ji (1-XjXl-1)
= -
(Xl -1)
Xl -1 (Xl -1)
Proof:
(x) = x [Y1X1(1-xX2)(1-xX3).(1-xX) + Y2X2(1-xX1)
(1-xX3) .. (1-xX) + + YlXl (1-xX1) (1-xX2) .
(1-xXl-1) (1-xXl+1) (1-xX) + ... + YX(1-xX1)
(1-xX2) (1-xX3) . (1-xX-1)]
(x = Xl-1) = Xl-1 [ 0 + 0 +. + YlXl (1-X-1lX1) (1-XSCK, IIT Kharagpur
219
102/01/15
-1
-1
-1
lX2) (1-X lXl-1) (1- X lXl+1).(1-X lX)]
-2
i=1
+ .. +2 2x + 1
Xi ji (1-xXj)
-1
-1
Hence Proved.
220
r = Sr +
Does current shift register
design produce next
syndrome?
02/01/15
j=1
jSr-j =
r=0?
j=0
jSr-j
221
2L r-1
?
NO
(x) T(x)
YES
-1
L r L
: Update length.
02/01/15
B(x) x B(x)
222
YES
NO
Halt- more
than t errors.
02/01/15
deg (x) = L
?
r = 2t ?
NO
YES
Proceed to next
step (i.e Forney
Algorithm)
223
j= 1,2,.2t.
02/01/15
224
225
Multi-stage Coding
Schemes
02/01/15
226
SUPER CHANNEL
DATA
OUTER
CODER
SOURCE
(n, r)
INNER
CODER
(N, R)
CHANNEL
SUPER CODER (n N , r R)
INNER
DE
CODER
OUTER
DE
CODER
DATA
SINK
SUPER DECODER
02/01/15
GSSST, IITKGP
FEC
227
Convolutional Coding
02/01/15
228
m = m1,m2, ., mi, ..
....
kK
kK stage shift
register
Input sequence
(shifted in k at a time)
n modulo-2
adders
229
u1
First code
symbol
Output branch
word
Input bit
m
u2
Second code
symbol
230
(.101101)
s0
02/01/15
s1
(0)
(0)
(1)
(1)
231
11
01
10
01
0
1
00
11
a
02/01/15
10
11
S0 S1
01
00
00
SCK, IIT Kharagpur
232
11
00
00
00
01
11
10
01
01
10
11
00
11
00
02/01/15
01
01
10
10
11
233
00
00
(a) 00
00
00
11
11
11
11
11
(b) 01
11
11
11
00
00
10
10
00
00
10
10
(c) 10
01
11
11
(d) 11
(0)
(1)
(2)
(3)
01
01
11
11
(4)
(5)
State transitions
02/01/15
234
02/01/15
235
02/01/15
236
02/01/15
237
for
(n,
k,
K)
Step 2.
Increase t by 1. Compute the partial metric for
all 2k paths
entering a state by adding the branch metric
entering that state to the metric of the connecting survivor at
the previous time unit.
For each state, compare the metrics of all 2k paths
entering that state, select the path with the largest metric (the
survivor), store
it along with its metric, and eliminate all
other paths.
The basic computation performed by the Viterbi algorithm is
the add, compare, select (ACS) operation of step 2. As a
02/01/15
SCK, IIT Kharagpur
238
practical matter, the information sequence corresponding to
Likelihood of s2
Likelihood of s1
p(z|s2)
p(z|s1)
z(T)
8-level soft
decision
0
02/01/15
239
240
First
data
bit
m1
Second
data bit
m2
02/01/15
241
Branch word
u1 u2 u3
ti
State a = 00
ti+1
000
100
011
11
1
b = 10
01
1
111
0
00
0
10
010
110
c = 01
d = 11
02/01/15
010
110
001
10
1
101
00
1
243
02/01/15
244
245
246
247
02/01/15
248
02/01/15
249
GSSST, IITKGP
02/01/15
S. CHAKRABARTI
SCK, IIT Kharagpur
FEC
250
P
O
S
T
D
E
C
O
D
I
N
G
B
E
R
GSSST, IITKGP
02/01/15
S. CHAKRABARTI
SCK, IIT Kharagpur
FEC
251
State Diagram for the rate half non systematic convolutional code of
constraint length = 5
02/01/15
GSSST, IITKGP
S. CHAKRABARTI
252
FEC
GSSST, IITKGP
02/01/15
S. CHAKRABARTI
SCK, IIT Kharagpur
FEC
253
GSSST, IITKGP
02/01/15
P
O
S
T
D
E
C
O
D
I
N
G
B
E
R
S. CHAKRABARTI
SCK, IIT Kharagpur
FEC
254
02/01/15
GSSST, IITKGP
FEC
255
02/01/15
GSSST, IITKGP
256
FEC
Thank You
02/01/15
257