Databases Reference
In-Depth Information
To begin decoding, we compute
(
197
t
−
l
+
1
)
×
To t a l
_
Count
−
1
×
50
−
1
=
=
38
u
−
l
+
1
255
−
0
+
1
and compare this value to
⎡
⎤
0
40
41
50
⎣
⎦
Cum
_
Count
=
Since
40
we decode the first symbol as
1
. Once we have decoded a symbol, we update the lower and
upper limits:
0
38
<
256
256
×
Cum
_
Count
[
0
]
0
50
l
=
0
+
=
0
+
×
=
0
To t a l
_
Count
256
256
×
Cum
_
Count
[
1
]
40
50
u
=
0
+
−
1
=
0
+
×
−
1
=
203
To t a l
_
Count
or
l
=
(
00000000
)
2
)
2
The MSBs of the limits are different, and the
E
3
condition does not hold. Therefore, we
continue decoding without modifying the tag value. To obtain the next symbol, we compare
(
u
=
(
11001011
t
−
l
+
1
)
×
To t a l
_
Count
−
1
u
−
l
+
1
which is 48, against the
Cum_Count
array:
Cum
_
Count
[
2
]
48
<
Cum
_
Count
[
3
]
Therefore, we decode
3
and update the limits:
204
204
×
Cum
_
Count
[
2
]
41
50
l
=
0
+
=
0
+
×
=
167
=
(
1010011
)
2
Total
_
Count
204
204
×
[
]
Cum
_
Count
3
50
50
=
+
−
=
+
×
−
=
=
(
)
2
u
0
1
0
1
203
11001011
Total
_
Count
As the MSB of
u
and
l
arethesame,weshifttheMSBoutandreadina0fortheLSBof
l
and a 1 for the LSB of
u
. We mimic this action for the tag as well, shifting the MSB out and
reading in the next bit from the received bitstream as the LSB:
l
=
(
01001110
)
2
u
=
(
10010111
)
2
t
=
(
10001001
)
2