1
00:00:13,820 --> 00:00:21,090
So so far we have studied what are linear
block codes how do we describe linear block
2
00:00:21,090 --> 00:00:28,160
codes using generator matrix and parity check
matrix we talked about how we can use error
3
00:00:28,160 --> 00:00:35,520
correcting codes for error detection and error
correction and we discussed the distance properties
4
00:00:35,520 --> 00:00:43,340
of linear block codes Today we will spend
some time solving some problems on linear
5
00:00:43,340 --> 00:00:46,930
block codes so today's session will be on
problem solving
6
00:00:46,930 --> 00:00:54,690
So the first problem that we will look at
is let C be a linear code with both even and
7
00:00:54,690 --> 00:01:01,980
odd weight codewords Prove that the number
of even bit codewords is equal to number of
8
00:01:01,980 --> 00:01:13,640
odd bit codewords So let us denote the set
of even codewords in C by C sub e and set
9
00:01:13,640 --> 00:01:27,420
of odd codewords in C by C sub o Now let us
consider an odd weight codeword x which is
10
00:01:27,420 --> 00:01:37,360
taken from this set C o and let us add x to
each of the codewords which are there in the
11
00:01:37,360 --> 00:01:48,869
set C o So if we add a odd weight codeword
to another odd weight codeword what we will
12
00:01:48,869 --> 00:02:00,649
get is a even weight codeword For example
let's say I add 1 1 1 0 0 0 and I add 1 0
13
00:02:00,649 --> 00:02:13,010
1 0 1 0 so this first codeword this is odd
weight codeword its weight is 3 Similarly
14
00:02:13,010 --> 00:02:26,460
this codeword also has weight 3 If I add both
of them what do I get I get 0 1 0 0 1 0 and
15
00:02:26,460 --> 00:02:36,320
this a even weight codeword So when I add
x which is an odd weight code vector and I
16
00:02:36,320 --> 00:02:46,359
add x to each of the elements in this set
C 0 what I get is a set of even codeword vectors
17
00:02:46,359 --> 00:02:56,260
and let us denote that set by C e prime Now
the number of code vectors in C e prime is
18
00:02:56,260 --> 00:03:05,600
going to be equal to number of vectors in
C o Why because how did we get this c e prime
19
00:03:05,600 --> 00:03:14,800
We added an odd vector x to the set C o So
number of vectors in this set is going to
20
00:03:14,800 --> 00:03:20,419
be equal to number of vectors in C o
21
00:03:20,419 --> 00:03:32,190
Hence number of elements in C e prime is going
to be same as number of elements in C o and
22
00:03:32,190 --> 00:03:45,169
since we know that this set of even vectors
C e hat is the subset of set of even vectors
23
00:03:45,169 --> 00:03:54,079
we can write from this that number of elements
in the set of number of odd codewords is going
24
00:03:54,079 --> 00:04:06,930
to be a subset of number of even codewords
Next let us add the same odd weight codeword
25
00:04:06,930 --> 00:04:19,979
now to all the vectors in the set C e So if
we add an odd weight codeword to set of even
26
00:04:19,979 --> 00:04:31,900
weight codewords what we will get is a set
of odd codewords So the number of vectors
27
00:04:31,900 --> 00:04:43,670
in C o prime is going to be equal to number
of vectors in number of even vectors Why because
28
00:04:43,670 --> 00:04:54,530
this set was generated by adding an odd vector
x to the set of even codewords So we can then
29
00:04:54,530 --> 00:05:10,250
write that C o prime is equal to this ok the
set of codewords here is same as set of codewords
30
00:05:10,250 --> 00:05:24,510
here Now we know that C o dash is the subset
of set of odd codewords So then from this
31
00:05:24,510 --> 00:05:32,290
relation and this relation we can write that
set of even codewords is the subset of set
32
00:05:32,290 --> 00:05:37,980
of number of elements in this is subset of
number of is basically less than number of
33
00:05:37,980 --> 00:05:46,060
elements in this set Now from this relation
and this relation both of them can be true
34
00:05:46,060 --> 00:05:53,621
only if number of elements in C o is same
as number of elements in C e So this relation
35
00:05:53,621 --> 00:06:04,870
we call it 1 and let's call it 2 These two
relations are satisfied only if we have set
36
00:06:04,870 --> 00:06:14,750
of even codewords to be same as set of odd
codewords Hence we prove that in a linear
37
00:06:14,750 --> 00:06:21,300
code with both even and odd codewords the
number of even weight codewords is same as
38
00:06:21,300 --> 00:06:31,300
number of odd weight codewords So I repeat
this condition and this condition will be
39
00:06:31,300 --> 00:06:40,310
simultaneously satisfied only when the set
of number of even codewords is same as set
40
00:06:40,310 --> 00:06:48,650
of number of odd codewords And this proves
our result
41
00:06:48,650 --> 00:06:56,210
The next problem we will look out is as follows
Let us consider a linear n k code C whose
42
00:06:56,210 --> 00:07:05,620
generator matrix contains no zero column now
arrange all codewords of this linear code
43
00:07:05,620 --> 00:07:15,380
as rows of two raised to power k by n array
So what we are doing is we are arranging the
44
00:07:15,380 --> 00:07:28,090
2 k codewords like this in an array So this
array has dimensions 2 k cross n because total
45
00:07:28,090 --> 00:07:37,060
number of codewords are 2 raised to power
k for a n k binary code and they are all n-bit
46
00:07:37,060 --> 00:07:47,200
The first result that we are going to show
is no columns of this array contain 0 Now
47
00:07:47,200 --> 00:07:56,889
please note that we have been given that this
generator G does not contain any zero column
48
00:07:56,889 --> 00:08:05,669
ok so from the given condition on G we can
see that for any position of any bit position
49
00:08:05,669 --> 00:08:15,520
there is a row in G which has non-zero component
at that particular bit location and if this
50
00:08:15,520 --> 00:08:21,520
is true what are the rows of how do we generate
the codewords We generate the codewords by
51
00:08:21,520 --> 00:08:29,570
linear combination of these rows of the generator
matrix And since the generator matrix does
52
00:08:29,570 --> 00:08:38,990
not contain any zero column so each of these
rows can be looked up as codeword in C so
53
00:08:38,990 --> 00:08:45,150
when we generate the codewords using this
generator matrix in this code array each column
54
00:08:45,150 --> 00:08:54,180
will have at least one non zero entry So this
follows from the fact that our generator matrix
55
00:08:54,180 --> 00:09:08,060
G does contain any zero column and hence no
column in this code array will have zeroes
56
00:09:08,060 --> 00:09:15,970
The next result that we are going to show
is in this array in this 2 raised to power
57
00:09:15,970 --> 00:09:27,440
k cross n array each column consists of equal
numbers of 0s and 1s There are total 2 raised
58
00:09:27,440 --> 00:09:39,440
to power k minus 1 0s and 2 raised to power
k minus 1 1s So to prove this what we will
59
00:09:39,440 --> 00:09:47,170
do is we will show that number of codewords
that have 1 at lth location is same as number
60
00:09:47,170 --> 00:09:55,210
of codewords that have 0 at lth location And
in this way we will prove that this array
61
00:09:55,210 --> 00:10:04,839
has same number of 0s and 1s So in this code
array we know that each column will have at
62
00:10:04,839 --> 00:10:11,111
least one non-zero entry that we proved in
the earlier result So consider the lth column
63
00:10:11,111 --> 00:10:25,380
of this code array Let us denote by s 0 the
set of codewords that has 0 at the lth location
64
00:10:25,380 --> 00:10:35,600
And let us denote by S 1 the set of codewords
that have 1 at the lth location Now we pick
65
00:10:35,600 --> 00:10:51,130
up a codeword x from the set S 1 that means
x has 1 at lth location Now if we add this
66
00:10:51,130 --> 00:11:02,810
codeword x to all the elements in the set
S 0 what do we get What we will get is a set
67
00:11:02,810 --> 00:11:11,640
containing 1 at lth location Why because S
0 is a set that has 0 at the lth location
68
00:11:11,640 --> 00:11:19,480
and x has x is taken from the set S 1 so x
has 1 at lth location
69
00:11:19,480 --> 00:11:30,210
So if we add x to S elements in S 0 what we
will get is there will be a 1 at the lth bit
70
00:11:30,210 --> 00:11:39,660
location So we denote this class of codeword
by S 1 prime and this S 1 prime will have
71
00:11:39,660 --> 00:11:49,080
1 at the lth location and since this S 1 prime
is generated by adding x to this set of vectors
72
00:11:49,080 --> 00:11:59,120
in S 0 so number of elements in S 0 is going
to be same as number of elements in S 1 prime
73
00:11:59,120 --> 00:12:12,220
and S 1 prime is a subset of S 1 which is
a set of all codewords which have 1 at lth
74
00:12:12,220 --> 00:12:24,301
location So from this we get this condition
that set of codewords which has 0 at lth location
75
00:12:24,301 --> 00:12:33,980
is less than or equal to set of codewords
which has 1 at lth location Now add the same
76
00:12:33,980 --> 00:12:43,300
vector x which has 1 at lth location to all
the elements in S 1 When we do that what we
77
00:12:43,300 --> 00:12:56,250
get is a new set of vectors which has 0 at
lth location We denote this set by S 0 prime
78
00:12:56,250 --> 00:13:05,250
So S 0 prime is a set of codewords which are
obtained by adding x to the set of vectors
79
00:13:05,250 --> 00:13:14,250
set of odd vectors which have 1 at lth location
So then we can write as set of vectors in
80
00:13:14,250 --> 00:13:24,460
S 0 prime is same as set of vectors in S 1
and since S 0 prime is a subset of S 0 what
81
00:13:24,460 --> 00:13:34,870
we can write then is from this relation and
this relation we can write set of codewords
82
00:13:34,870 --> 00:13:43,790
which have 1 at lth location is less than
set of codewords which has 0 at lth location
83
00:13:43,790 --> 00:13:52,980
Now equation 1 and 2 they are going to be
simultaneously satisfied only when this is
84
00:13:52,980 --> 00:14:03,959
satisfied with equality Then what it shows
here is that at any lth location number of
85
00:14:03,959 --> 00:14:12,180
codewords which have 0 at lth location is
same as number of codewords which have 1 at
86
00:14:12,180 --> 00:14:18,110
lth location So basically each column will
then have same number of 0s and same number
87
00:14:18,110 --> 00:14:19,670
of 1s
88
00:14:19,670 --> 00:14:29,300
Now we prove another result We show that minimum
distance of the code is upper bounded by this
89
00:14:29,300 --> 00:14:37,459
quantity and to prove this result we are just
going to use the result we just proved in
90
00:14:37,459 --> 00:14:48,450
the previous section So in the previous section
what we did was we arranged these 2 k codewords
91
00:14:48,450 --> 00:14:57,830
in an array two k cross n array and we showed
that each column of this array has 2 raised
92
00:14:57,830 --> 00:15:07,769
to power k minus 1 1s and 2 raised to k minus
1 0s So in this whole array which has n columns
93
00:15:07,769 --> 00:15:18,680
total number of 1s is given by this n times
2 raised to power k minus 1 Now since each
94
00:15:18,680 --> 00:15:25,700
non-zero codeword will have minimum distance
at least d min and how many total codewords
95
00:15:25,700 --> 00:15:33,660
we have 2 raised to power k one of them is
all zero codeword so how many non-zero codewords
96
00:15:33,660 --> 00:15:44,519
we have that is given by 2 k minus 1 and each
of these non-zero codewords have minimum distance
97
00:15:44,519 --> 00:15:54,250
at least d min so total number of non-zero
codewords multiplied by d min must be less
98
00:15:54,250 --> 00:16:02,329
than equal to total number of 1s in this code
array which is given by n times 2 k minus
99
00:16:02,329 --> 00:16:10,680
1 2 raised to power k minus 1 So from this
relation then we can then write that minimum
100
00:16:10,680 --> 00:16:17,060
distance of a code is upper bounded by this
relationship
101
00:16:17,060 --> 00:16:25,420
So next problem that we will look at is what
is a minimum distance of linear block C that
102
00:16:25,420 --> 00:16:35,630
can simultaneously correct mu errors and e
erasures Now just recall what do we mean by
103
00:16:35,630 --> 00:16:41,910
error correction and error erasure correction
Basically so erasure is basically some of
104
00:16:41,910 --> 00:16:49,440
the bits are getting erased So you send n
bits If e bits are getting erased what you
105
00:16:49,440 --> 00:16:56,220
are receiving is n minus e bits And error
correction you are familiar with basically
106
00:16:56,220 --> 00:17:03,430
you want to correct errors that have happened
in so many bit locations So the question is
107
00:17:03,430 --> 00:17:08,850
what should be the minimum distance of a linear
block code that can simultaneously correct
108
00:17:08,850 --> 00:17:18,520
mu errors as well as e erasures Now if the
minimum distance of the code is at least two
109
00:17:18,520 --> 00:17:28,639
mu plus e plus 1 then it can simultaneously
correct mu errors and e erasures We are going
110
00:17:28,639 --> 00:17:31,899
to next prove this result
111
00:17:31,899 --> 00:17:41,139
So delete from all codewords e components
which got erased If we delete these e components
112
00:17:41,139 --> 00:17:53,330
what we are left is n minus e length shortened
codeword So this deletion of e component results
113
00:17:53,330 --> 00:18:03,659
in a shortened code of length n minus e Now
we know that if we want to correct t errors
114
00:18:03,659 --> 00:18:13,179
what should be minimum distance of the code
It should be at least 2 t plus 1 So this code
115
00:18:13,179 --> 00:18:21,999
basically if we want to correct mu errors
the minimum distance of the code after these
116
00:18:21,999 --> 00:18:32,899
e erasures should be greater than equal to
two mu plus 1 So if minimum distance of the
117
00:18:32,899 --> 00:18:41,419
code after these e erasures the minimum distance
is still larger than two mu plus 1 then this
118
00:18:41,419 --> 00:18:51,340
code can correct mu errors So we want our
minimum distance of the code to be at least
119
00:18:51,340 --> 00:19:00,679
2 mu plus e plus 1 Now since these mu errors
are in in the unerased positions can be corrected
120
00:19:00,679 --> 00:19:09,389
if this condition holds so as a result basically
we would be able to correct mu errors Now
121
00:19:09,389 --> 00:19:18,379
remember we have to simultaneously also be
able to basically it would be not only simultaneously
122
00:19:18,379 --> 00:19:24,490
correct mu errors but we have to correct e
erasures also Now what is the condition on
123
00:19:24,490 --> 00:19:32,519
minimum distance such that e erasures can
also be corrected The minimum distance of
124
00:19:32,519 --> 00:19:39,980
the code should be at least greater than number
of erasures plus 1 So if the minimum distance
125
00:19:39,980 --> 00:19:48,249
of the code is greater than e plus 1 then
there is only one codeword in the original
126
00:19:48,249 --> 00:19:57,879
code that maps to the shortened code So as
long as minimum distance of the code is greater
127
00:19:57,879 --> 00:20:04,470
than e plus 1 there is only one and one codeword
in the original code that agrees with the
128
00:20:04,470 --> 00:20:10,419
unerased component So there is as long as
minimum distance of the code is greater than
129
00:20:10,419 --> 00:20:21,649
e plus 1 there is only one code that maps
from erased shortened code to the original
130
00:20:21,649 --> 00:20:30,320
code And since in this case the d minimum
is already 2 mu plus e plus 1 which is greater
131
00:20:30,320 --> 00:20:39,250
than e plus 1 this code would be able to correct
e erasures as well So if we choose our minimum
132
00:20:39,250 --> 00:20:47,399
distance of the code to be greater than equal
to two mu plus e plus 1 it would be able to
133
00:20:47,399 --> 00:20:54,109
correct mu errors as well as e erasures
134
00:20:54,109 --> 00:21:03,100
The next problem that we are going to solve
is as follows Prove that a linear block code
135
00:21:03,100 --> 00:21:11,619
is capable of correcting lambda or fewer errors
and simultaneously detecting l where l is
136
00:21:11,619 --> 00:21:19,590
greater than lambda or fewer errors if the
minimum distance of the code is at least lambda
137
00:21:19,590 --> 00:21:31,869
plus l plus 1 Please pay attention to the
word simultaneously So we want not only to
138
00:21:31,869 --> 00:21:39,179
correct mu errors along with that we should
be able to detect l errors as well That's
139
00:21:39,179 --> 00:21:47,049
what we mean by simultaneous error detection
and correction So let's prove this result
140
00:21:47,049 --> 00:22:00,159
Now note lambda is less than l So if minimum
distance is lambda plus l plus 1 this is basically
141
00:22:00,159 --> 00:22:10,020
greater than 2 lambda plus 1And if the minimum
distance is greater than 2 lambda plus 1 it
142
00:22:10,020 --> 00:22:18,509
would be able to correct lambda errors So
from this given condition that d min is at
143
00:22:18,509 --> 00:22:27,360
least lambda plus l plus 1 where l is greater
than lambda we know that the minimum distance
144
00:22:27,360 --> 00:22:36,359
is greater than 2 lambda plus 1 So it should
be able to correct lambda errors Now note
145
00:22:36,359 --> 00:22:43,750
we want to in addition to correcting lambda
or fewer errors we also want to simultaneously
146
00:22:43,750 --> 00:22:52,809
detect l errors Now if we want to simultaneously
detect those l or fewer errors we have to
147
00:22:52,809 --> 00:23:01,519
ensure that those error patterns of weight
l or less are not in the same coset as the
148
00:23:01,519 --> 00:23:05,669
error patterns that we are trying to correct
149
00:23:05,669 --> 00:23:14,000
Now since lambda errors can be corrected we
can put all error patterns of lambda or fewer
150
00:23:14,000 --> 00:23:25,679
errors as coset leader in our standard array
and they can be correctable Next to simultaneously
151
00:23:25,679 --> 00:23:33,179
detect l errors we have to show that none
of these error patterns of weight l or less
152
00:23:33,179 --> 00:23:43,840
are in the same coset as these error patterns
of lambda or less error So we need to show
153
00:23:43,840 --> 00:23:52,009
that no error pattern x of length l or fewer
are in the same coset as error pattern y of
154
00:23:52,009 --> 00:23:58,099
lambda or fewer errors If they are in the
same coset because we are using those coset
155
00:23:58,099 --> 00:24:03,820
leaders for error correction we would not
be able to detect those error patterns So
156
00:24:03,820 --> 00:24:11,159
it is important that those error patterns
of weight l or less if we want to detect them
157
00:24:11,159 --> 00:24:20,879
they should not be in the same coset as the
correctable error patterns So we are now going
158
00:24:20,879 --> 00:24:28,239
to use method of contradiction to show that
it is not possible to have these error pattern
159
00:24:28,239 --> 00:24:37,539
x of l or fewer errors in the same coset as
these error patterns y of lambda or fewer
160
00:24:37,539 --> 00:24:42,700
errors which we are trying to correct So how
does this method of contradiction work We
161
00:24:42,700 --> 00:24:48,249
will first assume that they are in the same
coset and then we will show that this is not
162
00:24:48,249 --> 00:24:54,649
possible Hence our assumption that they are
in the same coset is wrong
163
00:24:54,649 --> 00:25:05,169
So we start our proof by saying these error
pattern x of weight l or less and error pattern
164
00:25:05,169 --> 00:25:13,619
y of weight lambda or less they are in the
same coset Now if x and y are in the same
165
00:25:13,619 --> 00:25:23,080
coset we know from our standard array that
x plus y should be a non-zero codeword If
166
00:25:23,080 --> 00:25:31,149
you recall the entries of standard array we
have in the first column an all zero codeword
167
00:25:31,149 --> 00:25:39,859
and then we had other codeword v 2 v 3 and
then what we had was error pattern e 2 and
168
00:25:39,859 --> 00:25:49,369
then we had basically this was e 2 plus v
2 like that we had and if you add any two
169
00:25:49,369 --> 00:25:59,179
elements of a coset or a row what you will
notice is sum of them is a valid codeword
170
00:25:59,179 --> 00:26:08,860
So if x and y are in the same coset x plus
y must be a non-zero codeword Now let's look
171
00:26:08,860 --> 00:26:18,330
at what is the weight of x plus y So weight
of x plus y is less than equal to weight of
172
00:26:18,330 --> 00:26:24,830
x plus weight of y because it is possible
that there are some common elements between
173
00:26:24,830 --> 00:26:32,850
x and y that's why the weight of x plus y
is less than equal to weight of x plus weight
174
00:26:32,850 --> 00:26:40,899
of y And what is weight of x x are the error
pattern of weight l or less So the maximum
175
00:26:40,899 --> 00:26:43,109
weight of x is l
176
00:26:43,109 --> 00:26:50,539
Similarly maximum weight of y is lambda So
weight of x plus y is then less than equal
177
00:26:50,539 --> 00:27:00,609
to lambda plus l And what is the minimum distance
Minimum distance code is at least lambda plus
178
00:27:00,609 --> 00:27:11,890
l plus 1 So weight of x plus y is then less
than d min So what we have shown is the weight
179
00:27:11,890 --> 00:27:18,419
of x plus y x plus y should have been a codeword
is a codeword if they are in the same coset
180
00:27:18,419 --> 00:27:27,090
If x and y are in the same coset x plus y
is a valid non-zero codeword but what we have
181
00:27:27,090 --> 00:27:37,429
shown here is weight of x plus y is less than
d min so x plus y is a valid codeword Its
182
00:27:37,429 --> 00:27:48,190
minimum weight should be at least d min So
from here basically what we get is it is not
183
00:27:48,190 --> 00:27:56,450
possible to have x plus y in the same coset
Because if they were in the same coset x plus
184
00:27:56,450 --> 00:28:02,769
y would have been a valid codeword and its
weight of x plus y should have been more than
185
00:28:02,769 --> 00:28:10,669
d min but here in this case it is coming out
to be less than d min Hence our assumption
186
00:28:10,669 --> 00:28:24,009
that x and y are in the same coset is wrong
Now if x and y are not in the same coset then
187
00:28:24,009 --> 00:28:32,590
we can always put those error patterns of
y and x in different cosets and hence we can
188
00:28:32,590 --> 00:28:40,889
simultaneously detect and correct errors So
we can simultaneously correct lambda errors
189
00:28:40,889 --> 00:28:51,769
while detecting also l errors Ok So again
to recap basically we prove this result by
190
00:28:51,769 --> 00:28:58,909
showing that if you want to simultaneously
correct and detect errors those error patterns
191
00:28:58,909 --> 00:29:08,419
should be in the different cosets and hence
we can simultaneously correct and detect those
192
00:29:08,419 --> 00:29:10,759
error patterns
193
00:29:10,759 --> 00:29:20,210
The next problem that we are going to solve
is as follows Let C i be a binary linear code
194
00:29:20,210 --> 00:29:31,489
with code parameter given by n k i with generator
matrix G i and minimum distance d i And let
195
00:29:31,489 --> 00:29:43,440
us consider a new code C a new binary code
linear code of length 2 n and message bit
196
00:29:43,440 --> 00:29:54,190
length k 1 plus k 2 whose generator matrix
is given by this expression Now what is the
197
00:29:54,190 --> 00:30:03,309
minimum distance of this new code C So to
find out the minimum distance so let's consider
198
00:30:03,309 --> 00:30:12,570
let u and v are two binary n-tuples And we
form a 2 n-tuples as follows If we look at
199
00:30:12,570 --> 00:30:21,830
this codeword v how is this codeword generated
So it's one n-bit codeword another n-bit codeword
200
00:30:21,830 --> 00:30:28,700
First n-bit codeword is generated by using
u times v 1 and second one you get basically
201
00:30:28,700 --> 00:30:36,009
u times G 1 plus v times G 2 So essentially
the way you are generating this codeword the
202
00:30:36,009 --> 00:30:44,070
first part contains n-bit codeword u and the
second part is n-bit codeword which is u plus
203
00:30:44,070 --> 00:30:55,090
v So this 2 n length codeword will be of the
form like this where the first 10 bits are
204
00:30:55,090 --> 00:31:05,499
u 0 u 1 u 2 u n minus 1 and then next n bits
are of the form u 0 plus v 0 u 1 plus v 1
205
00:31:05,499 --> 00:31:14,220
and like that so as I said our linear block
code see the new code of length 2 n can be
206
00:31:14,220 --> 00:31:24,119
written of this form where you have a code
u of length n which belongs to C 1 and then
207
00:31:24,119 --> 00:31:31,089
the second part which is n bit part is u plus
v where u belongs to C 1 and v belongs to
208
00:31:31,089 --> 00:31:33,289
C 2
209
00:31:33,289 --> 00:31:40,909
Now we will show that minimum distance of
the code is minimum of two d 1 or d 2 where
210
00:31:40,909 --> 00:31:49,159
d 2 is the minimum distance of the code n
k 2 and d 1 is the minimum distance of the
211
00:31:49,159 --> 00:32:04,149
code n k 1 So let us consider two distinct
codewords x and y So x we denote as concatenation
212
00:32:04,149 --> 00:32:13,649
of u and u plus v and this is u prime u prime
plus v prime Let x and y be two distinct codewords
213
00:32:13,649 --> 00:32:21,769
in C Now what is the Hamming distance between
x and y We can write down the Hamming distance
214
00:32:21,769 --> 00:32:33,710
between x and y as the Hamming weight between
u plus u prime plus Hamming weight between
215
00:32:33,710 --> 00:32:43,309
u plus v plus v hat plus u hat So the Hamming
distance between x and y can be written as
216
00:32:43,309 --> 00:32:52,879
Hamming weight of u plus u hat plus Hamming
weight of u plus u hat plus v plus v hat Now
217
00:32:52,879 --> 00:33:01,960
note x and y are distinct codewords So let
us consider two scenarios In first case we
218
00:33:01,960 --> 00:33:10,179
will consider v is same as v prime In second
case we will consider v is not same as v prime
219
00:33:10,179 --> 00:33:19,499
So if we consider v as same as v prime since
x and y are distinct codewords what we will
220
00:33:19,499 --> 00:33:28,919
have is u is not same as u prime So in this
case the Hamming distance between x and y
221
00:33:28,919 --> 00:33:38,589
will be given by Hamming weight of u plus
u prime plus now since v and v prime are same
222
00:33:38,589 --> 00:33:46,499
this will be zero so this will be same as
Hamming weight of u plus u prime So then in
223
00:33:46,499 --> 00:33:52,820
this case when v is same as v prime we can
write the Hamming distance between x and y
224
00:33:52,820 --> 00:34:03,460
as Hamming weight of u plus u prime plus Hamming
weight of u plus u prime And since what is
225
00:34:03,460 --> 00:34:12,910
u plus u prime u and u prime are two codewords
belonging to C 1 So sum of two codewords for
226
00:34:12,910 --> 00:34:20,679
a linear block code is another valid codeword
So u plus u prime is going to be another valid
227
00:34:20,679 --> 00:34:26,480
codeword So then so what would be the minimum
distance of u plus u prime It would be at
228
00:34:26,480 --> 00:34:34,360
least the minimum distance of the code C 1
which is t 1 So then Hamming distance between
229
00:34:34,360 --> 00:34:47,980
x and y would be greater than equal to 2 times
d 1 So for the case when v is equal to v prime
230
00:34:47,980 --> 00:34:55,640
we have shown that minimum distance should
be at least 2 times d 1
231
00:34:55,640 --> 00:35:06,670
Now let us consider the case when v is not
equal to v prime So before that we will just
232
00:35:06,670 --> 00:35:12,140
state again the triangular inequality that
we are going to use so from the triangular
233
00:35:12,140 --> 00:35:18,000
inequality we know that Hamming distance between
x and y is greater than equal to Hamming distance
234
00:35:18,000 --> 00:35:26,030
between x and z minus Hamming distance between
y and z And we know the Hamming distance is
235
00:35:26,030 --> 00:35:34,840
nothing but Hamming weight of x plus y Hamming
weight of x plus y and Hamming weight of x
236
00:35:34,840 --> 00:35:42,100
plus z minus Hamming weight of y plus z So
we can write this expression in terms of Hamming
237
00:35:42,100 --> 00:35:49,900
distance or we can write in terms of Hamming
weight Now let us take x plus z to be equal
238
00:35:49,900 --> 00:36:01,340
to v plus v prime and y plus z as u plus u
prime And we put these values of x and x plus
239
00:36:01,340 --> 00:36:12,950
y and x plus z and y plus z we put these values
in this expression So what is x plus y x plus
240
00:36:12,950 --> 00:36:23,920
y would be v plus v prime plus u plus u prime
so x plus y is basically u plus u prime plus
241
00:36:23,920 --> 00:36:25,660
v plus v prime
242
00:36:25,660 --> 00:36:37,810
So from here weight of x plus y is given by
this Next what we had was weight of x plus
243
00:36:37,810 --> 00:36:46,720
z What is weight of x plus z Weight of x plus
z is weight of v plus v prime and similarly
244
00:36:46,720 --> 00:36:57,130
weight of y plus z is given by this Ok So
this is upper bounded this is lower bounded
245
00:36:57,130 --> 00:37:08,520
by this quantity This is lower bounded by
this quantity Now go back and see what is
246
00:37:08,520 --> 00:37:15,690
our minimum distance between x and y Minimum
distance between x and y is given by this
247
00:37:15,690 --> 00:37:26,030
expression It's Hamming weight between u and
u prime plus Hamming weight of u plus u prime
248
00:37:26,030 --> 00:37:38,810
plus v plus v prime And what we did just now
is we lower bounded this So then Hamming distance
249
00:37:38,810 --> 00:37:47,270
between x and y can be so this basically this
we lower bounded by this quantity If we plug
250
00:37:47,270 --> 00:37:54,920
that in here what we get here is greater than
equal to So what we can write is the Hamming
251
00:37:54,920 --> 00:38:05,390
distance between x and y is then greater than
or equal to this term comes from here this
252
00:38:05,390 --> 00:38:14,750
term and this term is lower bounded by this
term here So we write it here now this can
253
00:38:14,750 --> 00:38:23,830
be further written as Hamming weight of v
plus v prime because these two cancel out
254
00:38:23,830 --> 00:38:31,030
So what we have shown is when v is not same
as v prime the Hamming distance between x
255
00:38:31,030 --> 00:38:41,780
and y is greater than equal to Hamming weight
of v plus v prime And is v plus v prime v
256
00:38:41,780 --> 00:38:49,860
and v prime are valid codewords in linear
block code C 2 with minimum distance d 2 so
257
00:38:49,860 --> 00:38:58,890
v plus v prime will be another valid codeword
in C 2 whose minimum distance is d 2 So then
258
00:38:58,890 --> 00:39:05,870
we can write this as Hamming distance between
x and y is greater than equal to d 2 So we
259
00:39:05,870 --> 00:39:18,360
look comparing equation number 4 and equation
number 3 if we compare these two equations
260
00:39:18,360 --> 00:39:31,010
we can write that minimum distance of the
code is minimum of 2 d 1 or d 2 Ok Now let
261
00:39:31,010 --> 00:39:40,140
us show that there exists a code with minimum
distance of code is indeed equal minimum of
262
00:39:40,140 --> 00:39:49,020
2 d 1 or d 2 So let us take two minimum weight
codewords in C 1 and C 2 Let us call them
263
00:39:49,020 --> 00:40:00,510
u 0 and v 0 Now this is a valid codeword in
C and what's its minimum distance It is 2
264
00:40:00,510 --> 00:40:08,160
times d 1 So if we take v 0 to v all zero
codeword what we get is u 0 and u 0 this is
265
00:40:08,160 --> 00:40:16,890
a valid codeword in C And its minimum distance
is 2 times d 1 Similarly if we take u 0 to
266
00:40:16,890 --> 00:40:24,540
be all zero codeword then what we get is this
codeword 0 and u 0 whose minimum distance
267
00:40:24,540 --> 00:40:33,000
is d 2 So hence we have shown that there basically
there minimum distance of code of this code
268
00:40:33,000 --> 00:40:43,250
new code c is indeed minimum of 2 d 1 or d
2 Ok Thank you