SlideShare a Scribd company logo
1 of 57
Download to read offline
Non-Uniquely Decodable Codes
Nikolaos Tsagkarakis
Dept. of Electrical Engineering, University at Buffalo
The State University of New York
Signals, Communications, and Networking Research Group
September 11, 2015
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 2 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Importance of bandwidth
Bandwidth
Reliability
Range
Cost
• Transmissions consume
bandwidth.
• Traffic grows rapidly.a
• We are running out of
bandwidth.
a
Qualcomm Inc., “The 1000x data challenge,”
https://www.qualcomm.com/1000x, 2014.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 3 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Trade with what we have
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Trade with what we have
Bandwidth
Reliability
Range
Cost
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Trade with what we have
Bandwidth
Reliability
Ran
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Trade with what we have
Bandwidth
Reliability
Ran
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Trade with what we have
Bandwidth
Reliability
Ran
We are trading Hertz for fl.o.p.s..
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Definition of a code
When is a code UDC and when is it nUDC
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 5 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Definition of a code
When is a code UDC and when is it nUDC
Set-up
• A source, a sink, and a link.
• The link conveys the information is groups of symbols.
• E.g.
• MIMO.
• OFDM over frequency selective channel.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 6 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Definition of a code
When is a code UDC and when is it nUDC
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 7 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Definition of a code
When is a code UDC and when is it nUDC
Code as a matrix
• Code is a mapping
f : D → C
where
D = {−1, +1}K×1
representing the information bits and
C ⊆ {−K, −K + 2, . . . , K}L×1
representing the transmission symbols (codebook).
• It can be fully described by a {±1}-binary matrix C of size
L-by-K (generator matrix) for which
f (x) Cx.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 8 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Definition of a code
When is a code UDC and when is it nUDC
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 9 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Definition of a code
When is a code UDC and when is it nUDC
Definitions
Definition
A code C is called uniquely decodable (UDC) if and only if
∀y ∈ C ∃!x ∈ D : y = Cx.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 10 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Definition of a code
When is a code UDC and when is it nUDC
Definitions
Definition
A code is called non-uniquely decodable (nUDC) if and only if it is
not a UDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 11 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Definition of a code
When is a code UDC and when is it nUDC
Answer-slide
Finally, the answer to the question “How?” is
K > L.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 12 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 13 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
UDC Designs
• A UDC design is procedure that generates series of UDCs as L
grows with goal to achieve as big K as possible.
2
M. Kulhandjian and D. A. Pados, “Uniquely decodable code-division via
augmented Sylvester-Hadamard matrices,” in IEEE Wireless Commun. and
Networking Conf. 2012, WCNC’12, Paris, France, April, 2012.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 14 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
UDC Designs
• A UDC design is procedure that generates series of UDCs as L
grows with goal to achieve as big K as possible.
• Example of a design is2
C = HL VL
where HL is Sylvester-Hadamard Matrices of order L and
VL =
VL/2 VL/2 RL
VL/2 −VL/2 −1L/2
for an intelligently selected matrix RL.
2
M. Kulhandjian and D. A. Pados, “Uniquely decodable code-division via
augmented Sylvester-Hadamard matrices,” in IEEE Wireless Commun. and
Networking Conf. 2012, WCNC’12, Paris, France, April, 2012.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 14 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
UDC Decoder
• To decode a codeword y simply solve the system of linear
equations
x : y = Cx
over the {±1}-binary domain.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 15 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
UDC Decoder
• To decode a codeword y simply solve the system of linear
equations
x : y = Cx
over the {±1}-binary domain.
• When the observed codeword is noisy then solve the
optimization problem
x = argmin
x ∈{+1,−1}K×1
y − Cx 2
2.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 15 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
UDC Decoder
• To decode a codeword y simply solve the system of linear
equations
x : y = Cx
over the {±1}-binary domain.
• When the observed codeword is noisy then solve the
optimization problem
x = argmin
x ∈{+1,−1}K×1
y − Cx 2
2.
• Both the above are proven NP-hard problems.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 15 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
UDC Decoder
• To decode a codeword y simply solve the system of linear
equations
x : y = Cx
over the {±1}-binary domain.
• When the observed codeword is noisy then solve the
optimization problem
x = argmin
x ∈{+1,−1}K×1
y − Cx 2
2.
• Both the above are proven NP-hard problems.
• Optimal algorithms (such as the sphere decoder) are of
exponential complexity in worst case.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 15 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
UDC Decoder
• To decode a series of codewords {yi }i solve
xi : yi = Cxi , ∀i
independently.
• This is luxury that UDCs offer.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 16 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
UDC Decoder
• To decode a series of codewords {yi }i solve
xi : yi = Cxi , ∀i
independently.
• This is luxury that UDCs offer.
• Not necessary.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 16 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 17 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a UDC
Rate and its limits
• The rate is constant
R =
K
L
bits per transmission.
• Asymptotic limit3
lim
L→+∞
Kmax
L log L
=
1
2
.
3
B. Lindstr¨om, “On a combinatorial problem in number theory,” in Can.
Math. Bull., vol. 8, pp. 477-490, 1965.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 18 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 19 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
nUDC Designs
• Similarly to UDC, a nUDC design is a series of codes with
favorable properties.
• For example:
C = 1L×K − 2 (0)2 (1)2 . . . (2L − 1)2
• This design has
K = 2L
but the rate is not K
L . In fact it is far less.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 20 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
nUDC Decoder
• Solving
x : y = Cx
yields a solutions set
x(1)
, . . . , x(s)
where
s = |f −1
(y)|.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 21 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
nUDC Decoder
• Solving
x : y = Cx
yields a solutions set
x(1)
, . . . , x(s)
where
s = |f −1
(y)|.
• The codeword is decodable, if and only if s = 1.
• Otherwise, wait for the transmitter to resolve the ambiguity
he created.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 21 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
nUDC Decoder
• While streaming codewords, the transmitter knows if the
current codeword is not decodable (run decoding algorithm).
• Pay the dept of bits in the next codeword.
• Every time a codeword is not decodable, reserver log2(s) bits
from the next information vector.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 22 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
nUDC Decoder
Example




+ + + + − +
+ − + − + −
+ + − − + +
+ − − + + +




Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 23 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 24 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
• The average rate is
R =
1
2K
x∈D
K − log2 f −1(Cx)
L
.
• Entropy limit
R ≤
log2 |C|
L
<
K
L
.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 25 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a UDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ - − + + + + + + + − − − − − − +




This is a UDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − - + + + + + + + − − − − − − +




This is a UDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a UDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a UDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + - − − − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − - − − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − - − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − - − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − - − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − - +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
Comparison of rates
Example




+ + + + − + − + − − + − − − + − +
+ − + − + − − + + − + + − + − − +
+ + − − + + + − − − + + + − − − +
+ − − + + + + + + + − − − − − − +




This is a nUDC.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Rate of a nUDC
0 2 4 6 8 10 12 14 16 18
0
0.5
1
1.5
2
2.5
3
K
Rate (in bits per transmission) of a nUDC for L=4 versus K
max UDC Rate (for L=4): 1.25
Entropy of codebook: log2
(|C|)/4
Rate of nUDC
Rate of UDC
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 27 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 28 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Future work
• Find out if there is design that achieves the entropy limit.
• Device an efficient algorithm for finding all candidate
solutions.
• Extensive BER analysis and comparison with straight higher
order modulations.
• Some codewords are very easy to decode. Capitalize of that
fact to further decrease the average number of transmissions.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 29 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Table of Contents
1 Why?
2 How?
Definition of a code
When is a code UDC and when is it nUDC
3 Designs of UDC and their decoder
Rate of a UDC
4 Designs of nUDC and their decoder
Rate of a nUDC
5 Future work
6 Update (9/18)
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 30 / 31
Why?
How?
Designs of UDC and their decoder
Designs of nUDC and their decoder
Future work
Update (9/18)
Update
There is no plateau in the entropy limit. E.g. for the design
C(K) = 11×K
cardinality of the codebook is K + 1. Therefore, the entropy limit
is ever increasing with K
log2 |C|
L
=
log2(K + 1)
L
.
Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 31 / 31

More Related Content

Similar to nUDC_presentation

An Introduction to Field Programmable Gate Arrays
An Introduction to Field Programmable Gate ArraysAn Introduction to Field Programmable Gate Arrays
An Introduction to Field Programmable Gate ArraysKingshukDas35
 
Dmitry Nedospasov, Thorsten Schreder. Let the Hardware Do All the Work: Addin...
Dmitry Nedospasov, Thorsten Schreder. Let the Hardware Do All the Work: Addin...Dmitry Nedospasov, Thorsten Schreder. Let the Hardware Do All the Work: Addin...
Dmitry Nedospasov, Thorsten Schreder. Let the Hardware Do All the Work: Addin...Positive Hack Days
 
23may 1200 valday dmitry nedospasov, thorsten schreder 'let the hardware do ...
23may 1200 valday  dmitry nedospasov, thorsten schreder 'let the hardware do ...23may 1200 valday  dmitry nedospasov, thorsten schreder 'let the hardware do ...
23may 1200 valday dmitry nedospasov, thorsten schreder 'let the hardware do ...Positive Hack Days
 
Full Custom IC Design Implementation of Priority Encoder
Full Custom IC Design Implementation of Priority EncoderFull Custom IC Design Implementation of Priority Encoder
Full Custom IC Design Implementation of Priority EncoderBhargavKatkam
 
Full custom Ic design Implementation of low power priority encoder
Full custom Ic design Implementation of low power priority encoderFull custom Ic design Implementation of low power priority encoder
Full custom Ic design Implementation of low power priority encodersrikanth kalemla
 
15_NEW-2020-ATTENTION-ENC-DEC-TRANSFORMERS-Lect15.pptx
15_NEW-2020-ATTENTION-ENC-DEC-TRANSFORMERS-Lect15.pptx15_NEW-2020-ATTENTION-ENC-DEC-TRANSFORMERS-Lect15.pptx
15_NEW-2020-ATTENTION-ENC-DEC-TRANSFORMERS-Lect15.pptxNibrasulIslam
 
RVC: A Multi-Decoder CAL Composer Tool
RVC: A Multi-Decoder CAL Composer ToolRVC: A Multi-Decoder CAL Composer Tool
RVC: A Multi-Decoder CAL Composer ToolMDC_UNICA
 
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdfAdvanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdfIsmailkhan77481
 
CPqD’s optical network - Miquel Garrich
CPqD’s optical network - Miquel GarrichCPqD’s optical network - Miquel Garrich
CPqD’s optical network - Miquel GarrichCPqD
 
lab_1 This Lab is used for conducting th
lab_1 This Lab is used for conducting thlab_1 This Lab is used for conducting th
lab_1 This Lab is used for conducting thssuser6feece1
 
Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015
Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015
Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015Big Data Spain
 
Introduction to Epistemic Network Analysis
Introduction to Epistemic Network AnalysisIntroduction to Epistemic Network Analysis
Introduction to Epistemic Network AnalysisVitomir Kovanovic
 
Encoder and decoder
Encoder and decoder Encoder and decoder
Encoder and decoder dinesh aitha
 
2016 03-03 marchand
2016 03-03 marchand2016 03-03 marchand
2016 03-03 marchandSCEE Team
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdlArshit Rai
 
TIM: Large-scale Energy Forecasting in Julia
TIM: Large-scale Energy Forecasting in JuliaTIM: Large-scale Energy Forecasting in Julia
TIM: Large-scale Energy Forecasting in JuliaGapData Institute
 

Similar to nUDC_presentation (20)

An Introduction to Field Programmable Gate Arrays
An Introduction to Field Programmable Gate ArraysAn Introduction to Field Programmable Gate Arrays
An Introduction to Field Programmable Gate Arrays
 
Dmitry Nedospasov, Thorsten Schreder. Let the Hardware Do All the Work: Addin...
Dmitry Nedospasov, Thorsten Schreder. Let the Hardware Do All the Work: Addin...Dmitry Nedospasov, Thorsten Schreder. Let the Hardware Do All the Work: Addin...
Dmitry Nedospasov, Thorsten Schreder. Let the Hardware Do All the Work: Addin...
 
23may 1200 valday dmitry nedospasov, thorsten schreder 'let the hardware do ...
23may 1200 valday  dmitry nedospasov, thorsten schreder 'let the hardware do ...23may 1200 valday  dmitry nedospasov, thorsten schreder 'let the hardware do ...
23may 1200 valday dmitry nedospasov, thorsten schreder 'let the hardware do ...
 
Full Custom IC Design Implementation of Priority Encoder
Full Custom IC Design Implementation of Priority EncoderFull Custom IC Design Implementation of Priority Encoder
Full Custom IC Design Implementation of Priority Encoder
 
Full custom Ic design Implementation of low power priority encoder
Full custom Ic design Implementation of low power priority encoderFull custom Ic design Implementation of low power priority encoder
Full custom Ic design Implementation of low power priority encoder
 
15_NEW-2020-ATTENTION-ENC-DEC-TRANSFORMERS-Lect15.pptx
15_NEW-2020-ATTENTION-ENC-DEC-TRANSFORMERS-Lect15.pptx15_NEW-2020-ATTENTION-ENC-DEC-TRANSFORMERS-Lect15.pptx
15_NEW-2020-ATTENTION-ENC-DEC-TRANSFORMERS-Lect15.pptx
 
RVC: A Multi-Decoder CAL Composer Tool
RVC: A Multi-Decoder CAL Composer ToolRVC: A Multi-Decoder CAL Composer Tool
RVC: A Multi-Decoder CAL Composer Tool
 
Decoders.pptx
Decoders.pptxDecoders.pptx
Decoders.pptx
 
Bj32392395
Bj32392395Bj32392395
Bj32392395
 
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdfAdvanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
 
CPqD’s optical network - Miquel Garrich
CPqD’s optical network - Miquel GarrichCPqD’s optical network - Miquel Garrich
CPqD’s optical network - Miquel Garrich
 
lab_1 This Lab is used for conducting th
lab_1 This Lab is used for conducting thlab_1 This Lab is used for conducting th
lab_1 This Lab is used for conducting th
 
Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015
Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015
Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015
 
PhD defense slides
PhD defense slidesPhD defense slides
PhD defense slides
 
Introduction to Epistemic Network Analysis
Introduction to Epistemic Network AnalysisIntroduction to Epistemic Network Analysis
Introduction to Epistemic Network Analysis
 
Encoder and decoder
Encoder and decoder Encoder and decoder
Encoder and decoder
 
Network on Chip
Network on ChipNetwork on Chip
Network on Chip
 
2016 03-03 marchand
2016 03-03 marchand2016 03-03 marchand
2016 03-03 marchand
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
TIM: Large-scale Energy Forecasting in Julia
TIM: Large-scale Energy Forecasting in JuliaTIM: Large-scale Energy Forecasting in Julia
TIM: Large-scale Energy Forecasting in Julia
 

nUDC_presentation

  • 1. Non-Uniquely Decodable Codes Nikolaos Tsagkarakis Dept. of Electrical Engineering, University at Buffalo The State University of New York Signals, Communications, and Networking Research Group September 11, 2015
  • 2. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 2 / 31
  • 3. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Importance of bandwidth Bandwidth Reliability Range Cost • Transmissions consume bandwidth. • Traffic grows rapidly.a • We are running out of bandwidth. a Qualcomm Inc., “The 1000x data challenge,” https://www.qualcomm.com/1000x, 2014. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 3 / 31
  • 4. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Trade with what we have Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
  • 5. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Trade with what we have Bandwidth Reliability Range Cost Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
  • 6. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Trade with what we have Bandwidth Reliability Ran Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
  • 7. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Trade with what we have Bandwidth Reliability Ran Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
  • 8. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Trade with what we have Bandwidth Reliability Ran We are trading Hertz for fl.o.p.s.. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 4 / 31
  • 9. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Definition of a code When is a code UDC and when is it nUDC Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 5 / 31
  • 10. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Definition of a code When is a code UDC and when is it nUDC Set-up • A source, a sink, and a link. • The link conveys the information is groups of symbols. • E.g. • MIMO. • OFDM over frequency selective channel. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 6 / 31
  • 11. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Definition of a code When is a code UDC and when is it nUDC Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 7 / 31
  • 12. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Definition of a code When is a code UDC and when is it nUDC Code as a matrix • Code is a mapping f : D → C where D = {−1, +1}K×1 representing the information bits and C ⊆ {−K, −K + 2, . . . , K}L×1 representing the transmission symbols (codebook). • It can be fully described by a {±1}-binary matrix C of size L-by-K (generator matrix) for which f (x) Cx. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 8 / 31
  • 13. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Definition of a code When is a code UDC and when is it nUDC Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 9 / 31
  • 14. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Definition of a code When is a code UDC and when is it nUDC Definitions Definition A code C is called uniquely decodable (UDC) if and only if ∀y ∈ C ∃!x ∈ D : y = Cx. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 10 / 31
  • 15. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Definition of a code When is a code UDC and when is it nUDC Definitions Definition A code is called non-uniquely decodable (nUDC) if and only if it is not a UDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 11 / 31
  • 16. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Definition of a code When is a code UDC and when is it nUDC Answer-slide Finally, the answer to the question “How?” is K > L. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 12 / 31
  • 17. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 13 / 31
  • 18. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC UDC Designs • A UDC design is procedure that generates series of UDCs as L grows with goal to achieve as big K as possible. 2 M. Kulhandjian and D. A. Pados, “Uniquely decodable code-division via augmented Sylvester-Hadamard matrices,” in IEEE Wireless Commun. and Networking Conf. 2012, WCNC’12, Paris, France, April, 2012. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 14 / 31
  • 19. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC UDC Designs • A UDC design is procedure that generates series of UDCs as L grows with goal to achieve as big K as possible. • Example of a design is2 C = HL VL where HL is Sylvester-Hadamard Matrices of order L and VL = VL/2 VL/2 RL VL/2 −VL/2 −1L/2 for an intelligently selected matrix RL. 2 M. Kulhandjian and D. A. Pados, “Uniquely decodable code-division via augmented Sylvester-Hadamard matrices,” in IEEE Wireless Commun. and Networking Conf. 2012, WCNC’12, Paris, France, April, 2012. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 14 / 31
  • 20. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC UDC Decoder • To decode a codeword y simply solve the system of linear equations x : y = Cx over the {±1}-binary domain. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 15 / 31
  • 21. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC UDC Decoder • To decode a codeword y simply solve the system of linear equations x : y = Cx over the {±1}-binary domain. • When the observed codeword is noisy then solve the optimization problem x = argmin x ∈{+1,−1}K×1 y − Cx 2 2. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 15 / 31
  • 22. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC UDC Decoder • To decode a codeword y simply solve the system of linear equations x : y = Cx over the {±1}-binary domain. • When the observed codeword is noisy then solve the optimization problem x = argmin x ∈{+1,−1}K×1 y − Cx 2 2. • Both the above are proven NP-hard problems. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 15 / 31
  • 23. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC UDC Decoder • To decode a codeword y simply solve the system of linear equations x : y = Cx over the {±1}-binary domain. • When the observed codeword is noisy then solve the optimization problem x = argmin x ∈{+1,−1}K×1 y − Cx 2 2. • Both the above are proven NP-hard problems. • Optimal algorithms (such as the sphere decoder) are of exponential complexity in worst case. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 15 / 31
  • 24. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC UDC Decoder • To decode a series of codewords {yi }i solve xi : yi = Cxi , ∀i independently. • This is luxury that UDCs offer. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 16 / 31
  • 25. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC UDC Decoder • To decode a series of codewords {yi }i solve xi : yi = Cxi , ∀i independently. • This is luxury that UDCs offer. • Not necessary. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 16 / 31
  • 26. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 17 / 31
  • 27. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a UDC Rate and its limits • The rate is constant R = K L bits per transmission. • Asymptotic limit3 lim L→+∞ Kmax L log L = 1 2 . 3 B. Lindstr¨om, “On a combinatorial problem in number theory,” in Can. Math. Bull., vol. 8, pp. 477-490, 1965. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 18 / 31
  • 28. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 19 / 31
  • 29. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC nUDC Designs • Similarly to UDC, a nUDC design is a series of codes with favorable properties. • For example: C = 1L×K − 2 (0)2 (1)2 . . . (2L − 1)2 • This design has K = 2L but the rate is not K L . In fact it is far less. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 20 / 31
  • 30. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC nUDC Decoder • Solving x : y = Cx yields a solutions set x(1) , . . . , x(s) where s = |f −1 (y)|. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 21 / 31
  • 31. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC nUDC Decoder • Solving x : y = Cx yields a solutions set x(1) , . . . , x(s) where s = |f −1 (y)|. • The codeword is decodable, if and only if s = 1. • Otherwise, wait for the transmitter to resolve the ambiguity he created. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 21 / 31
  • 32. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC nUDC Decoder • While streaming codewords, the transmitter knows if the current codeword is not decodable (run decoding algorithm). • Pay the dept of bits in the next codeword. • Every time a codeword is not decodable, reserver log2(s) bits from the next information vector. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 22 / 31
  • 33. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC nUDC Decoder Example     + + + + − + + − + − + − + + − − + + + − − + + +     Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 23 / 31
  • 34. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 24 / 31
  • 35. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC • The average rate is R = 1 2K x∈D K − log2 f −1(Cx) L . • Entropy limit R ≤ log2 |C| L < K L . Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 25 / 31
  • 36. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a UDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 37. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + - − + + + + + + + − − − − − − +     This is a UDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 38. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − - + + + + + + + − − − − − − +     This is a UDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 39. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a UDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 40. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a UDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 41. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 42. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 43. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 44. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 45. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 46. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + - − − − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 47. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − - − − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 48. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − - − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 49. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − - − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 50. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − - − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 51. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − - +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 52. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC Comparison of rates Example     + + + + − + − + − − + − − − + − + + − + − + − − + + − + + − + − − + + + − − + + + − − − + + + − − − + + − − + + + + + + + − − − − − − +     This is a nUDC. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 26 / 31
  • 53. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Rate of a nUDC 0 2 4 6 8 10 12 14 16 18 0 0.5 1 1.5 2 2.5 3 K Rate (in bits per transmission) of a nUDC for L=4 versus K max UDC Rate (for L=4): 1.25 Entropy of codebook: log2 (|C|)/4 Rate of nUDC Rate of UDC Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 27 / 31
  • 54. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 28 / 31
  • 55. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Future work • Find out if there is design that achieves the entropy limit. • Device an efficient algorithm for finding all candidate solutions. • Extensive BER analysis and comparison with straight higher order modulations. • Some codewords are very easy to decode. Capitalize of that fact to further decrease the average number of transmissions. Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 29 / 31
  • 56. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Table of Contents 1 Why? 2 How? Definition of a code When is a code UDC and when is it nUDC 3 Designs of UDC and their decoder Rate of a UDC 4 Designs of nUDC and their decoder Rate of a nUDC 5 Future work 6 Update (9/18) Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 30 / 31
  • 57. Why? How? Designs of UDC and their decoder Designs of nUDC and their decoder Future work Update (9/18) Update There is no plateau in the entropy limit. E.g. for the design C(K) = 11×K cardinality of the codebook is K + 1. Therefore, the entropy limit is ever increasing with K log2 |C| L = log2(K + 1) L . Nikolaos Tsagkarakis Non-Uniquely Decodable Codes 31 / 31