0% found this document useful (0 votes)
7 views7 pages

Noc19-Ee29 Assignment4

The document discusses LDPC and Polar Codes in the context of 5G standards, providing examples of decoding processes and calculations. It includes specific problems related to finite precision decoding, CRC bits in polar codes, and path metrics in successive cancellation decoding. The document also presents detailed explanations and answers to various decoding scenarios, illustrating the application of these coding techniques.

Uploaded by

waleed ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views7 pages

Noc19-Ee29 Assignment4

The document discusses LDPC and Polar Codes in the context of 5G standards, providing examples of decoding processes and calculations. It includes specific problems related to finite precision decoding, CRC bits in polar codes, and path metrics in successive cancellation decoding. The document also presents detailed explanations and answers to various decoding scenarios, illustrating the application of these coding techniques.

Uploaded by

waleed ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

LDPC and Polar Codes in 5G Standard

Assignment 04

March 10, 2019

1. Consider that you have received the vector r = [−3.2, 2.6].The maximum value allowed in the decoder
is 4, and 6 bits are used to represent the finite precision values. Then, the received vector used by the
finite precision decoder is:
[−25, 20]
[−24, 20]
[−3, 3]
[−3, 2]
Answer: [−25, 20]
Explanation: Of the 6 bits, 1 bit is used to represent the sign, and 5 bits are used to represent the
magnitude. Therefore, the range of values handled by the decoder are all the integers from -32 to 31.
Hence, the parameters are rmax = 4 and maxqr = 31 (notation is according to the MATLAB code used
in class). The formula to compute the finite precision values is floor(r/rmax ∗ maxqr). Using the formula:
floor(−3.2/4 ∗ 31) = −25, and floor(2.6/4 ∗ 31) = 20.
2. Consider a (512,256) polar code with successive cancellation list decoding. The number of CRC bits
used for each codeword is 12. Then, the rate of the code is
1/2
67/131
64/125
61/128
Answer: 61/128
Explanation: Of the 256 input bits to the decoder, 12 bits are CRC bits. Therefore, the number of
message bits per codeword is 256-12 = 244. Therefore, the rate of the code is 244/512 = 61/128.
3. The successive cancellation list decoder with a list size of 4 was used to decode a polar code. Let the
4 codewords in the list be u(1) , u(2) , u(3) , u(4) . Let P M1 , P M2 , P M3 , P M4 be the corresponding path
metrics associated with the codewords. The decoder chose u(2) as the output codeword. Then, which of
the following is true:
P M2 < P M1 , and both u(1) and u(2) satisfied the CRC.
P M2 < P M1 , and u(2) satisfied the CRC but u(1) did not.
P M1 ≤ P M2 , and u(2) satisfied the CRC but u(1) did not.
P M1 ≤ P M2 , and both u(1) and u(2) did not satisfy CRC.
Answer: P M1 ≤ P M2 , and u(2) satisfied the CRC but u(1) did not.
Explanation: Since the path metrics are always arranged in ascending order, P M1 ≤ P M2 . Since
u(1) was not chosen, that means that it did not satisfy the CRC. Since u(2) was chosen, it means that it
satisfied the CRC.

1
Use the following information for questions 4 to 9: Say a received vector from a coded-BPSK
transmission using an (N,K) polar code over an AWGN channel, is being decoded using the successive
cancellation list decoder with a list size of 4. Then, the binary tree representation of the code has a
depth n = log2 N . Consider a node x at depth n − 1. Let y and z be its left and right child respectively.
During the decoding process, the list of belief vectors received by x from its parent are: L1 = [3, −5],
L2 = [1, 4], L3 = [−4, −2] and L4 = [−3, 1]. The corresponding path metrics are P M1 = 12, P M2 = 14,
P M3 = 16 and P M4 = 18. Remember that the path metrics are always arranged in ascending order.
4. If the node y is frozen, then the updated belief vectors and the corresponding path metrics after the
node y has been processed is:
L1 = [3, −5], L2 = [1, 4], L3 = [−4, −2] and L4 = [−3, 1]; P M1 = 14, P M2 = 15, P M3 = 16
and P M4 = 19
L1 = [1, 4], L2 = [3, −5], L3 = [−4, −2] and L4 = [−3, 1]; P M1 = 14, P M2 = 15, P M3 = 16
and P M4 = 19
L1 = [3, −5], L2 = [1, 4], L3 = [−4, −2] and L4 = [−3, 1]; P M1 = 12, P M2 = 14, P M3 = 16
and P M4 = 18
L1 = [3, −5], L2 = [1, 4], L3 = [−4, −2] and L4 = [−3, 1]; P M1 = 12, P M2 = 15, P M3 = 17
and P M4 = 18
Answer: L1 = [1, 4], L2 = [3, −5], L3 = [−4, −2] and L4 = [−3, 1]; P M1 = 14, P M2 = 15, P M3 = 16
and P M4 = 19
Explanation:
In Successive cancellation (list) decoding, the processing of left child node is performed first. It is then
followed by the processing of right child node using the hard decision bit sent by left child node.
So first the leaf node y is processed. Let l1 , l2 , l3 and l4 be the beliefs sent by node ’x’ to node
’y’ corresponding to the four SC decoders with belief vectors L1 , L2 , L3 and L4 and path metrics
P M1 , P M2 , P M3 , P M4 (P M1 < P M2 < P M3 < P M4 ) respectively.
Since y corresponds to a frozen bit, its bit is already decided as 0.
Now for all those i ( in the set {1, 2, 3, 4} ) with li < 0, the corresponding P Mi will be increased by
absolute value of li .
In this problem, l1 , l2 , l3 and l4 are −3, 1, 2 and −1 respectively. (For left child node, li is the minsum
of the elements of Li )
Since l1 < 0, l4 < 0, we have P M1new = P M1 + |l1 | = 15, P M4new = P M4 + |l4 | = 19.
Since l2 > 0, l3 > 0, we have P M2new = P M2 = 14, P M3new = P M3 = 16.
The resultant path metrics are then arranged in the ascending order and the belief vectors at x are also
reordered accordingly.
In this problem, we have P M1new (= 15) > P M2new (= 14), P M4new (= 19) > P M3new (= 16).
So the ascending order of path metrics now is P M2new (= 14), P M1new (= 15), P M3new (= 16) and P M4new (=
19) and the corresponding belief vectors at node ’x’ are L2 , L1 L3 , and L4 .
Therefore the updated belief vectors and the corresponding path metrics after the node y has been pro-
cessed is:
L1 = [1, 4], L2 = [3, −5], L3 = [−4, −2] and L4 = [−3, 1];
P M1 = 14, P M2 = 15, P M3 = 16 and P M4 = 19
5. (Assuming node y is frozen) If the node z corresponds to a message bit, then the updated path metrics
after the node z has been processed is
P M1 = 14, P M2 = 15, P M3 = 16 and P M4 = 19
P M1 = 14, P M2 = 15, P M3 = 16 and P M4 = 21
P M1 = 14, P M2 = 15, P M3 = 16 and P M4 = 17

Page 2
P M1 = 14, P M2 = 15, P M3 = 21 and P M4 = 22
Answer: P M1 = 14, P M2 = 15, P M3 = 16 and P M4 = 17
Explanation: Assuming node y is frozen, the path metrics and belief vectors after node y has been pro-
cessed are P M1 = 14, P M2 = 15, P M3 = 16 and P M4 = 19 and L1 = [1, 4], L2 = [3, −5], L3 = [−4, −2]
and L4 = [−3, 1].

Since node y is frozen, the hard-decision bit from node y is 0 in all the four SC decoders, so the beliefs
passed to node z corresponding to L1 , L2 , L3 and L4 are l1 = 5, l2 = −2, l3 = −6 and l4 = −2.
(For right child node, li = r2 + (1 − 2u)r1 , with Li = [r1 , r2 ] and u is the hard-decision about the y node
bit)

As the node z corresponds to a message bit, each of these four decoders get divided into two branches.

In the first branch, the hard-decision for the bit corresponding to node z is made according to the belief
received. So if li > 0, the decision is 0 and if li < 0, the decision is 1. The path metric of this branch is
equal to P Mi .

In the second branch, the hard-decision for the bit corresponding to node z is made against the belief
received. So if li > 0, the decision is 1 and if li < 0, the decision is 0. The path metric of this branch is
equal to P Mi + |li |

In this problem,
• For the decoder with P M1 = 14, L1 = [1, 4], l1 = 5
– The first branch will have bit decision u1 = 0 with P M1new = 14
– The second branch will have bit decision u5 = 1 with P M5new = 19
• For the decoder with P M2 = 15, L2 = [3, −5], l2 = −2
– The first branch will have bit decision u2 = 1 with P M2new = 15
– The second branch will have bit decision u6 = 0 with P M6new = 17
• For the decoder with P M3 = 16, L3 = [−4, −2], l3 = −6
– The first branch will have bit decision u3 = 1 with P M3new = 16
– The second branch will have bit decision u7 = 0 with P M7new = 22
• For the decoder with P M4 = 19, L4 = [−3, 1], l4 = −2
– The first branch will have bit decision u4 = 1 with P M4new = 19
– The second branch will have bit decision u8 = 0 with P M8new = 21

Since P M1new , P M2new , P M3new and P M6new are the least four path metrics, these become the four
surviving decoders and the other four decoders with higher path metrics get eliminated.
So after the node z has been processed, we have the path metrics as P M1 = 14, P M2 = 15, P M3 = 16
and P M4 = 17 and their corresponding message bit decisions are 0, 1, 1, 0 respectively.
6. (Assuming node y is frozen) If node z corresponds to a message bit, then the list of hard-decision vectors
(corresponding to the ascending order of path metrics) that x sends to its parent is:
u(1) = [0, 0], u(2) = [1, 1], u(3) = [1, 1] and u(4) = [0, 0]
u(1) = [1, 1], u(2) = [0, 0], u(3) = [0, 0] and u(4) = [1, 1]
u(1) = [0, 1], u(2) = [1, 0], u(3) = [0, 1] and u(4) = [1, 0]

Page 3
u(1) = [1, 0], u(2) = [1, 0], u(3) = [0, 1] and u(4) = [0, 1]
Answer: u(1) = [0, 0], u(2) = [1, 1], u(3) = [1, 1] and u(4) = [0, 0]
Explanation: After the node z has been processed, we have the path metrics as P M1 = 14, P M2 = 15,
P M3 = 16 and P M4 = 17 and their corresponding message bit decisions (for node z) are 0, 1, 1, 0
respectively. Since node y corresponds to a frozen bit, the decisions of all these four decoders for node
y are 0s.
Let [v1 v2 ] be the hard-decision vector sent by x to its parent. Then [v1 v2 ] is the polar transform of
the vector [u1 u2 ], where u1 , u2 are the hard decision bits received from y, z respectively. Therefore
v1 = u1 + u2 , v2 = u2 .
Therefore u(1) = [0, 0], u(2) = [1, 1], u(3) = [1, 1] and u(4) = [0, 0] are the hard-decision vectors sent by
x to its parent, corresponding to the paths (or SC decoders) with path metrics P M1 = 14, P M2 = 15,
P M3 = 16 and P M4 = 17
7. If the node y corresponds to a message bit, then the updated path metrics after the node y has been
processed is
P M1 = 12, P M2 = 14, P M3 = 15 and P M4 = 16
P M1 = 12, P M2 = 14, P M3 = 15 and P M4 = 15
P M1 = 14, P M2 = 15, P M3 = 16 and P M4 = 16
P M1 = 12, P M2 = 14, P M3 = 16 and P M4 = 16
Answer: P M1 = 12, P M2 = 14, P M3 = 15 and P M4 = 15
Explanation: The path metrics and belief vectors before processing of node y are P M1 = 12, P M2 = 14,
P M3 = 16 and P M4 = 18 and L1 = [3, −5], L2 = [1, 4], L3 = [−4, −2] and L4 = [−3, 1]. The
beliefs passed by x to y corresponding to L1 , L2 , L3 and L4 are l1 = −3, l2 = 1, l3 = 2 and l4 = −1
respectively.(For left child node, li is the minsum of the elements of Li )
As node y corresponds to message bit, each of these four decoders get divided into two branches.

In the first branch, the hard-decision for the bit corresponding to node y is made according to the belief
received. So if li > 0, the decision is 0 and if li < 0, the decision is 1 and the path metric of this branch
is equal to P Mi .

In the second branch, the hard-decision for the bit corresponding to node y is made against the belief
received. So if li > 0, the decision is 1 and if li < 0, the decision is 0 and the path metric of this branch
is equal to P Mi + |li |

In this problem,
• For the decoder with P M1 = 12, L1 = [3, −5], l1 = −3
– The first branch will have bit decision u1 = 1 with P M1new = 12
– The second branch will have bit decision u5 = 0 with P M5new = 15
• For the decoder with P M2 = 14, L2 = [1, 4], l2 = 1
– The first branch will have bit decision u2 = 0 with P M2new = 14
– The second branch will have bit decision u6 = 1 with P M6new = 15
• For the decoder with P M3 = 16, L3 = [−4, −2], l3 = 2
– The first branch will have bit decision u3 = 0 with P M3new = 16
– The second branch will have bit decision u7 = 1 with P M7new = 18
• For the decoder with P M4 = 18, L4 = [−3, 1], l4 = −1

Page 4
– The first branch will have bit decision u4 = 1 with P M4new = 18
– The second branch will have bit decision u8 = 0 with P M8new = 19

Since P M1new , P M2new , P M5new and P M6new are the least four path metrics, these become the four sur-
viving decoders and the other four decoders with higher path metrics get eliminated.

So after the node y has been processed, we have the path metrics as P M1 = 12, P M2 = 14, P M3 = 15
and P M4 = 15 and their corresponding message bit decisions are 1, 0, 0, 1 respectively (or 1, 0, 1, 0
as P M5new , P M6new have the same value.) The corresponding belief vectors are L1 = [3, −5], L2 =
[1, 4], L3 = [3, −5], L4 = [1, 4] (alternatively L3 = [1, 4], L4 = [3, −5], as P M5new , P M6new have the same
value.)
8. (Assuming node y corresponds to a message bit) If the node z is frozen, then the updated path metrics
after the node z has been processed is
P M1 = 14, P M2 = 15, P M3 = 17 and P M4 = 21
P M1 = 14, P M2 = 15, P M3 = 17 and P M4 = 17
P M1 = 14, P M2 = 15, P M3 = 21 and P M4 = 22
P M1 = 14, P M2 = 15, P M3 = 17 and P M4 = 20
Answer: P M1 = 14, P M2 = 15, P M3 = 17 and P M4 = 20
Explanation: (Assuming node y corresponds to a message bit) The path metrics and belief vectors
after the processing of node y are P M1 = 12, P M2 = 14, P M3 = 15 and P M4 = 15, and L1 = [3, −5],
L2 = [1, 4], L3 = [3, −5], L4 = [1, 4] (alternatively L3 = [1, 4], L4 = [3, −5] as P M5new , P M6new have
the same value in the processing of y .). Their corresponding message bit decisions at y are 1, 0, 0, 1
respectively (or 1, 0, 1, 0 as P M5new , P M6new have the same value in the processing of y .)

Let us process node z with L1 = [3, −5], L2 = [1, 4], L3 = [3, −5], L4 = [1, 4] and their corresponding
message bit decisions 1, 0, 0, 1 at y.
The beliefs passed to z from x are l1 = −8, l2 = 5, l3 = −2 and l4 = 3. (For right child node,
li = r2 + (1 − 2u)r1 , with Li = [r1 , r2 ] and u is the hard-decision about the y node bit)
Since the node z corresponds to a frozen bit, the hard decision bit decision is 0.
Now for all those i ( in the set {1, 2, 3, 4} ) with li < 0, the corresponding P Mi will be increased by
absolute value of li .
Since l1 < 0, l3 < 0, we have P M1new = P M1 + |l1 | = 20, P M3new = P M3 + |l3 | = 17.
Since l2 > 0, l4 > 0, we have P M2new = P M2 = 14, P M4new = P M4 = 15.
So the ascending order of path metrics is now P M2new (= 14), P M4new (= 15), P M3new (= 17), P M1new (=
20).
Therefore the updated path metrics after the node z has been processed is P M1 = 14, P M2 = 15,
P M3 = 17 and P M4 = 20.
9. Let the list of belief vectors received by node x from its parent be: L1 = [2, 4], L2 = [−4, 5], L3 = [3, 2]
and L4 = [1, 2] and let the corresponding path metrics be P M1 = 4, P M2 = 7, P M3 = 10 and P M4 = 13.
If both y and z correspond to message bits, then the list of hard-decision vectors(corresponding to the
ascending order of path metrics) that x sends to its parent is:
u(1) = [0, 0], u(2) = [1, 0], u(3) = [1, 0] and u(4) = [1, 1]
u(1) = [0, 0], u(2) = [1, 0], u(3) = [1, 0] and u(4) = [0, 1]
u(1) = [0, 1], u(2) = [1, 0], u(3) = [0, 1] and u(4) = [1, 0]
u(1) = [1, 0], u(2) = [1, 0], u(3) = [0, 1] and u(4) = [0, 1]

Page 5
Answer: u(1) = [0, 0], u(2) = [1, 0], u(3) = [1, 0] and u(4) = [0, 1]
Explanation: The list of belief vectors received by node x from its parent are: L1 = [2, 4], L2 = [−4, 5],
L3 = [3, 2] and L4 = [1, 2] and the corresponding path metrics are P M1 = 4, P M2 = 7, P M3 = 10 and
P M4 = 13.
Node y processing: The beliefs passed to y from x are l1 = 2, l2 = −4, l3 = 2 and l4 = 1.(For left child
node, li is the minsum of the elements of Li )
As node y corresponds to message bit, each of these four decoders get divided into two branches.

In the first branch, the hard-decision for the bit corresponding to node z is made according to the belief
received. So if li > 0, the decision is 0 and if li < 0, the decision is 1 and the path metric of this branch
is equal to P Mi .

In the second branch, the hard-decision for the bit corresponding to node z is made against the belief
received. So if li > 0, the decision is 1 and if li < 0, the decision is 0 and the path metric of this branch
is equal to P Mi + |li |

• For the decoder with P M1 = 4, L1 = [2, 4], l1 = 2


– The first branch will have bit decision u1 = 0 with P M1new = 4
– The second branch will have bit decision u5 = 1 with P M5new = 6
• For the decoder with P M2 = 7, L2 = [−4, 5], l2 = −4
– The first branch will have bit decision u2 = 1 with P M2new = 7
– The second branch will have bit decision u6 = 0 with P M6new = 11
• For the decoder with P M3 = 10, L3 = [3, 2], l3 = 2
– The first branch will have bit decision u3 = 0 with P M3new = 10
– The second branch will have bit decision u7 = 1 with P M7new = 12
• For the decoder with P M4 = 13, L4 = [1, 2], l4 = 1
– The first branch will have bit decision u4 = 0 with P M4new = 13
– The second branch will have bit decision u8 = 1 with P M8new = 14
Since P M1new , P M5new , P M2new and P M3new are the least four path metrics, these become the four sur-
viving decoders and the other four decoders with higher path metrics get eliminated.

So after the node y has been processed, we have the path metrics as P M1 = 4, P M2 = 6, P M3 = 7 and
P M4 = 10 and their corresponding message bit decisions are 0, 1, 1, 0 respectively. The corresponding
belief vectors are L1 = [2, 4], L2 = [2, 4], L3 = [−4, 5], L4 = [3, 2].
Node z processing:
Now the beliefs passed to z from x corresponding to the decoders with path metrics P M1 = 4, P M2 = 6,
P M3 = 7 and P M4 = 10, belief vectors L1 = [2, 4], L2 = [2, 4], L3 = [−4, 5], L4 = [3, 2]. and message
bit decisions 0, 1, 1, 0 respectively at x are l1 = 6, l2 = 2, l3 = 9 and l4 = 5.
(For right child node, li = r2 + (1 − 2u)r1 , with Li = [r1 , r2 ] and u is the hard-decision about the y node
bit)

As node z corresponds to message bit, each of these four decoders get divided into two branches.

In the first branch, the hard-decision for the bit corresponding to node z is made according to the belief
received. So if li > 0, the decision is 0 and if li < 0, the decision is 1 and the path metric of this branch

Page 6
is equal to P Mi .

In the second branch, the hard-decision for the bit corresponding to node z is made against the belief
received. So if li > 0, the decision is 1 and if li < 0, the decision is 0 and the path metric of this branch
is equal to P Mi + |li |

• For the decoder with P M1 = 4, L1 = [2, 4], l1 = 6


– The first branch will have bit decision u1 = 0 with P M1new = 4
– The second branch will have bit decision u5 = 1 with P M5new = 10
• For the decoder with P M2 = 6, L2 = [2, 4], l2 = 2
– The first branch will have bit decision u2 = 0 with P M2new = 6
– The second branch will have bit decision u6 = 1 with P M6new = 8
• For the decoder with P M3 = 7, L3 = [−4, 5], l3 = 9
– The first branch will have bit decision u3 = 0 with P M3new = 7
– The second branch will have bit decision u7 = 1 with P M7new = 16
• For the decoder with P M4 = 10, L4 = [3, 2], l4 = 5
– The first branch will have bit decision u4 = 0 with P M4new = 10
– The second branch will have bit decision u8 = 1 with P M8new = 15

Since P M1new , P M2new , P M3new and P M6new are the least four path metrics, these become the four sur-
viving decoders and the other four decoders with higher path metrics get eliminated.
So after the node z has been processed, we have the path metrics as P M1 = 4, P M2 = 6, P M3 = 7 and
P M4 = 8 and their corresponding message bit decisions are 0, 0, 0, 1 respectively. The y node decisions
corresponding to these decoders are 0, 1, 1, 1 respectively.
The list of hard-decision vectors(corresponding to the ascending order of path metrics) that x sends to
its parent is u(1) = [0, 0], u(2) = [1, 0], u(3) = [1, 0] and u(4) = [0, 1] (polar transform of their respective
y and z bit decisions, as explained in question 6).

10. Consider decoding a received vector from a coded-BPSK transmission using the (32, 20) Polar code over
an AWGN channel, with the successive cancellation list decoder. If the list size is 4, the codeword bit
position (numbered from 1 to N ) at which the fourth decoder gets activated is . (Use the
same reliability sequence as mentioned in class).
Answer: 12
Explanation: The reliability sequence for a length 32 polar code is
1, 2, 3, 5, 9, 17, 4, 6, 10, 7, 18, 11, 19, 13, 21, 25, 8, 12, 20, 14, 15, 22, 27, 26, 23, 29, 16, 24, 28, 30, 31, 32.
Since the number of message bits is 20, the first 12 digits in the reliability sequence correspond to the
frozen bit positions.
In successive cancellation list decoding, only one SC decoder is active until we reach a leaf node(in the
binary tree) corresponding to the first message bit. At this leaf node, the path diverges into two and we
have two active SC decoders: one in which the bit is decided as 0, another in which the bit is decided as
1.)
Next at the leaf node that corresponds to the second message bit, each of these two paths further diverge
and we have four active SC decoders.

Page 7

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy