concatenated polar codes - dept. of ie, cuhk staff web …sjaggi/files/slides.pdf · mayank bakshi...
TRANSCRIPT
Mayank Bakshi Caltech
Concatenated Polar Codes
Sidharth JaggiCUHK
Michelle EffrosCaltech
Channel
Typical multiuser system
Sources:
- Capacity bounds : known in many cases
- Practical coding schemes not known for most channels
- encoding/decoding complexity
Key challenges:
- good error probability decay
Channel
Typical multiuser system
Sources:
- Capacity bounds : known in many cases
- Practical coding schemes not known for most channels
- encoding/decoding complexity
Key challenges:
- good error probability decay
Capacity achieving:
Multi-user channels
- MAC, degraded broadcast, Gelfand-Pinsker
Network Source Coding- Slepian-Wolf, coded side information...
Polar Codes:
Many point-to-point channels
[Arikan’09, Korada et al’09, Hussami et al ’09]
Channel
Typical multiuser system
Sources:
- Capacity bounds : known in many cases
- Practical coding schemes not known for most channels
- encoding/decoding complexity
Key challenges:
- good error probability decay
Encoding complexity: O(n log n)
Decoding complexity: O(n log n)
Capacity achieving:
Error probability: 2−√
n
Multi-user channels
- MAC, degraded broadcast, Gelfand-Pinsker
Network Source Coding- Slepian-Wolf, coded side information...
Many point-to-point channels
Polar Codes:[Arikan’09, Korada et al’09, Hussami et al ’09]
Encoding complexity
Decoding complexity
Random Codes
Spielman Codes
LP Decoding
Polar Codes
Modified Polar Codes
Desirable
Pe
O(N log N) O(N log N)
exp(−θ(N))
exp(−θ(N))
exp(−θ(N))
O(N log N) O(N log N)exp(−θ(N))
exp(−o(√
N))
Point-to-point channel: other codes
θ(N)
exp(−o(Nβ(l))) O(2l N log N)O(lN log N)
exp(O(N))exp(O(N))
θ(N · 21/)
O(N log N) O(N log N)
Improve error probability?
Desirable O(N log N) O(N log N)exp(−θ(N))
Polar Codes O(N log N) O(N log N)exp(−o(√
N))
Improve error probability?
u1
u2
uk
R-S
P
P
P
x1
x2
xn
Py1
y2
yn
−1
P−1
P−1
R-S−1
u1
u2
uk
Encoding Decoding
Concatenation [Forney ’66]
Desirable O(N log N) O(N log N)exp(−θ(N))
Polar Codes O(N log N) O(N log N)exp(−o(√
N))
Encoding
. . .
mRO
nRI
N = m · noverall
blocklength
Encoding
. . .
mRO
nRI
N = m · n
R = RO · RI
K = (mRO) · (nRI)
overall blocklength
message blocklength
outercode
innercode
Encoding
. . .
. . .
mRO
nRI
nRI
m
R-S encoder
N = m · n
R = RO · RI
. . .
K = (mRO) · (nRI)
overall blocklength
message blocklength
outercode
innercode
Encoding
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S encoder
N = m · n
R = RO · RI
. . .
K = (mRO) · (nRI)
overall blocklength
message blocklength
outercode
innercode
Polar encoder
Decoding
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S decoder
Polar decoder
. . .
Does it work well?
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S encoder
Polar encoder
. . .
Does it work well?
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S encoder
Polar encoder
First attempt:
m = N/log N
n = log N
. . .
Does it work well?
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S encoder
Polar encoder
First attempt:
m = N/log N
n = log N
Error Probability:
Error if more than inner codes failm(1− 2RO). . .
Does it work well?
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S encoder
Polar encoder
First attempt:
m = N/log N
n = log N
Error Probability:
Error if more than inner codes failm(1− 2RO). . .
Pr(error) ∼ exp(−O(N
log N))
Does it work well?
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S encoder
Polar encoder
First attempt:
m = N/log N
n = log N
Error Probability:
Error if more than inner codes failm(1− 2RO)
Encoding complexity: O(N log N)
. . .Pr(error) ∼ exp(−O(
Nlog N
))
Does it work well?
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S encoder
Polar encoder
First attempt:
m = N/log N
n = log N
Error Probability:
Error if more than inner codes failm(1− 2RO)
Encoding complexity: O(N log N)
Decoding complexity: O(N2 log N)
Pr(error) ∼ exp(−O(N
log N))
Can decoding be performed using encoding?
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
R-S encoder
Polar encoder
Can decoding be performed using encoding?
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Decoding
. . . . . .
m
n
Decoding
. . .
. . .
. . .
. . .
nRI
m
m
n
Polar decoder
Decoding
. . .
. . .
. . .
. . .
nRI
m
n
mRO m(1− RO)
Polar decoder
Decoding
. . .
. . . . . .
mRO
m
n
. . . nRI
m(1− RO)
. . . . . . nRI
mRO m(1− RO)
Polar decoder
Systematic R-S encoder
Decoding
. . .
. . . . . .
mRO
m
n
. . . nRI
m(1− RO)
. . . . . . nRI
mRO m(1− RO)
Polar decoder
Systematic R-S encoder . . . . . .=?
Decoding
. . .
. . . . . .
mRO
m
n
. . . nRI
m(1− RO)
. . . . . . nRI
mRO m(1− RO)
. . . . . .=?
. . .Yes
Polar decoder
Systematic R-S encoder
mRO
nRI
Decoding
. . .
. . . . . .
mRO
m
n
. . . nRI
m(1− RO)
. . . . . . nRI
mRO m(1− RO)
. . . . . .=?
. . .
No
Yes
. . .R-S decoder
Polar decoder
Systematic R-S encoder
mRO
mRO
nRI
nRI
Decoding
. . .
. . . . . .
mRO
m
n
. . . nRI
m(1− RO)
. . . . . . nRI
mRO m(1− RO)
. . . . . .=?
. . .
No
Yes
. . .R-S decoder
Polar decoder
Systematic R-S encoder
mRO
mRO
nRI
nRI
Ps
1− Ps
Decoding complexity:
(1− Ps)
x encoding complexityPs
+ x R-S decoder complexity
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Does it help?
First attempt:
m = N/log N
n = log N
Error Probability:
Error if more than inner codes failm(1− 2RO)
Encoding complexity: O(N log N)
Pr(error) ∼ exp(−O(N
log N))
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Does it help?
First attempt:
m = N/log N
n = log N
Error Probability:
Error if more than inner codes failm(1− 2RO)
Encoding complexity: O(N log N)
Decoding complexity:
(1− Ps)
x encoding complexityPs
+ x R-S decoder complexity
Pr(error) ∼ exp(−O(N
log N))
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Does it help?
First attempt:
m = N/log N
n = log N
Error Probability:
Error if more than inner codes failm(1− 2RO)
Encoding complexity: O(N log N)
Decoding complexity:
(1− Ps)
x encoding complexityPs
+ x R-S decoder complexity
= O(N2 log N)
Pr(error) ∼ exp(−O(N
log N))
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Can it ever help?
smaller ? m
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Can it ever help?
smaller ? m
m = Nα (α < 1)n = N1−α
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Can it ever help?
smaller ?
Decoding complexity:
(1− Ps)
x encoding complexityPs
+ x R-S decoder complexity
m
m = Nα (α < 1)n = N1−α
= O(N log N)
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Can it ever help?
smaller ?
Encoding complexity: O(N log N)
Decoding complexity:
(1− Ps)
x encoding complexityPs
+ x R-S decoder complexity
m
m = Nα (α < 1)n = N1−α
= O(N log N)
. . .
. . .
. . .
. . .
. . .
mRO
nRI
nRI
m
m
n
Systematic R-S encoder
Polar encoder
Can it ever help?
smaller ?
Error Probability:
Error if more than inner codes failm(1− 2RO)
Encoding complexity: O(N log N)
Decoding complexity:
(1− Ps)
x encoding complexityPs
+ x R-S decoder complexity
m
m = Nα (α < 1)n = N1−α
= O(N log N)
Pr(error) ∼ exp(−O(Nα/2))
Encoding complexity
Decoding complexityPe
m n Pem n
desirable: O(N log N) O(N log N)exp(−θ(N))
exp(−o(Nα/2)) O(N log N)
O(N log N) O(N2 log N)
O(N log N)
exp(−O(N
log N))
θ(Nα) θ(N1−α)
θ(log N)θ(N
log N)
Encoding complexity
Decoding complexityPe
m n
θ(log N)θ(N
log N)
Pem n
desirable: O(N log N) O(N log N)exp(−θ(N))
θ(N)θ(1)
θ(Nα) exp(−o(Nα/2))θ(N1−α) O(N log N)
O(N log N) O(N2 log N)
O(N log N)
θ(log2 N)θ(N
log2 N)
θ(log3 N)
θ(log4 N)θ(N
log4 N)
θ(N
log3 N)
exp(−O(N
log N))
Encoding complexity
Decoding complexityPe
m n
θ(log N)θ(N
log N)
Pem n
desirable: O(N log N) O(N log N)exp(−θ(N))
θ(N)θ(1) exp(−o(√
N) O(N log N) O(N log N)
θ(Nα) exp(−o(Nα/2))θ(N1−α) O(N log N)
O(N log N)
O(N log N)
O(N log N)
O(N log N) O(N2 log N)
O(N log N)
O(N log N)
θ(log2 N)θ(N
log2 N)
θ(log3 N)
θ(log4 N)θ(N
log4 N)
θ(N
log3 N)
O(N2 log N)
O(N log N)exp(−Ω(N
log27/8 N))
exp(−O(N
log4 N))
exp(−O(N
log2 N))
exp(−O(N
log N))
Encoding complexity
Decoding complexityPe
m n Pem n
desirable: O(N log N) O(N log N)exp(−θ(N))
exp(−o(√
N) O(N log N) O(N log N)
exp(−o(Nα/2)) O(N log N)
O(N log N)
O(N log N)
O(N log N)
O(N log N) O(N2 log N)
O(N log N)
O(N log N)
O(N2 log N)
O(N log N)exp(−Ω(N
log27/8 N))
exp(−O(N
log4 N))
exp(−O(N
log2 N))
exp(−O(N
log N))θ(log N)θ(
Nlog N
)
θ(N)θ(1)
θ(Nα) θ(N1−α)
θ(log2 N)θ(N
log2 N)
θ(log3 N)
θ(log4 N)θ(N
log4 N)
θ(N
log3 N)
Concatenated polar codes
Encoding Complexity:
Decoding Complexity:
Achieve capacity for arbitrary point-to-point channels
Error probability:
. . .
. . .
. . .
. . .
. . .
Systematic R-S encoder
Polar encoder
2−N/(log N)3.375
O(N log N)
O(N log N)
e.g. Multiple access channel
Concatenation in multi-user channels
XY
Z
p(y|x, z)
e.g. Multiple access channel
Concatenation in multi-user channels
XY
Z
p(y|x, z)
- Apply concatenation to each message
. . .
. . .
. . .
. . .
. . .
Systematic R-S encoder
Polar encoder
- Polar inner code
e.g. Multiple access channel
Concatenation in multi-user channels
XY
Z
p(y|x, z)
- Apply concatenation to each message
. . .
. . .
. . .
. . .
. . .
Systematic R-S encoder
Polar encoder
- Polar inner code
Achieve capacity
Encoding Complexity:
Decoding Complexity:
Error probability: 2−N/(log N)3.375
O(N log N)
O(N log N)
Concatenation in network source coding
e.g. Coded side information
X
Y
X
(X, Y) ∼ p(x, y)
Concatenation in network source coding
X
Y
X
e.g. Coded side information. . .
. . . . . .
Systematic R-S encoder
... ......
... ......
(X, Y) ∼ p(x, y)
Concatenation in network source coding
X
Y
X
e.g. Coded side information. . .
. . . . . .
Systematic R-S encoder
... ......
... ......
(X, Y) ∼ p(x, y)
- Systematic bits ∼ p(x, y)
Concatenation in network source coding
X
Y
X
e.g. Coded side information. . .
. . . . . .
Systematic R-S encoder
... ......
... ......
(X, Y) ∼ p(x, y)
- Systematic bits ∼ p(x, y)
- Parity bits: not even i.i.d.
- Polar code may not work
Concatenation in network source coding
. . .
. . .
. . .
. . .
Systematic R-S encoder
Polar encoder
. . .
e.g. Coded side information
X
Y
X
... ......
... ......
(X, Y) ∼ p(x, y)
- Systematic bits ∼ p(x, y)
- Parity bits: not even i.i.d.
- Polar code may not work
- Transmit parity bits without coding!
Concatenation in network source coding
Systematic R-S encoder
Polar encoder
. . .
. . .
. . .
. . .
. . .
e.g. Coded side information
X
Y
X
(X, Y) ∼ p(x, y)
Achieve optimal rates
.. .. .... ..
.. .. .... ..
Encoding Complexity:
Decoding Complexity:
Error probability: 2−N/(log N)3.375
O(N log N)
O(N log N)
Ke
y
ide
as • Concatenate: Systematic R-S outer, Polar inner
• Suitable inner/outer codelength => reduced average decoding complexity
• Modification for source coding: apply source code only to message bits, not parity
Concluding remarks
Ke
y
ide
asR
esu
lts
• Concatenate: Systematic R-S outer, Polar inner
• Suitable inner/outer codelength => reduced average decoding complexity
• Modification for source coding: apply source code only to message bits, not parity
• Efficient, capacity achieving codes • Arbitrary point-to-point• Several multi-user channels: Degraded broadcast channel, multiple-access channel• Network Source coding problems: e.g. Slepian-Wolf, Coded Side Information
Concluding remarks
Concluding remarks
Desirable O(N log N) O(N log N)exp(−θ(N))
Polar Codes O(N log N) O(N log N)exp(−o(√
N))
Concatenated Codes
exp(−Ω(N
log27/8 N)) O(N log N) O(N log N)
• Use insights from concatenated code to design a better single stage code• Joint decoding improves the performance in some cases
• Other parameters? •Dependence of error probability on coding rate ?N
ex
t S
tep
s