Вы находитесь на странице: 1из 6

IET Communications

Research Article

Decoding schedule generating method for


successive-cancellation decoder of polar
codes

ISSN 1751-8628
Received on 13th May 2015
Accepted on 27th October 2015
doi: 10.1049/iet-com.2015.0881
www.ietdl.org

Dan Le, Xianyan Wu, Xiamu Niu


School of Computer Science and Technology, Harbin Institute of Technology, Heilongjiang, Harbin 150001, Peoples Republic of China
E-mail: xm.niu@hit.edu.cn

Abstract: Successive cancellation (SC) is the first and widely known decoder of polar codes, which has received a lot of
attentions. However, its decoding schedule generating methods are still primitive. Based on a newly found factor, this
study proposes an online method to generate the decoding schedule of SC decoder by a non-recursive way. The
decoding schedule of SC decoder includes two parts. One is to determine which of likelihood ratios (LRs) can be
shared and which of LRs need to be calculated. The other is to select a calculation formula for a LR to be computed.
As shown by the comparisons among the proposed method and existing methods, the proposed method solves the
first part of the decoding schedule with constant critical path delay and lower space complexity, and solves the second
part of the decoding schedule with less calculations. Besides, experimental results show that the proposed method
does not affect the error performance of polar codes.

Introduction

Polar code is the rst class of codes achieving the channel capacity
[1] and has attracted many attentions [215]. Successive cancellation
(SC) is its rst and widely known decoder, and a lot of research
efforts have been made on the decoder [514].
Although so many works have been done on SC decoder, its
decoding schedule generating methods are still primitive. The
decoding schedule aims to schedule the updates of likelihood
ratios (LRs), which consists of two parts. One part is to maximise
the sharing of the calculations of LRs. That is, it is to determine
which of LRs should be calculated and which of LRs can be
shared. The other part is to determine the calculation formula of a
LR to be calculated. For the rst part, existing methods are mainly
grouped into two classes. One is to achieve the maximised sharing
by a recursive way [1, 6, 9, 10, 13]. We name the recursive way
as an implicitly maximised sharing, because it cannot immediately
recognise which of LRs could be shared. The other class is to
achieve the maximised sharing by pre-storing the decoding
schedule generated off-line by an algorithm, such as the algorithm
based on the depth-rst traversal of the scheduling tree [14], the
algorithm based on the recursive construction [7]. The methods of
the second class can achieve an explicitly maximised sharing, i.e.
they can immediately recognise which of LRs could be shared.
However, their space complexity is O(N log2 log2 N ), where N is
the code length. On the other hand, the critical path delay of the
methods in the rst class scales with log2 N .
For the second part, most of existing methods directly compute the
parity of i/2k , i/2k or (i1) & 2k to select calculation formulas
[9, 14]. For each i, these methods all need as many calculations as
the number of different k.
To overcome these problems, this paper proposes a new decoding
schedule generating method based on the newly found factor zi. For
the rst part of the decoding schedule, the critical path delay of the
proposed method is constant and the space complexity of the
proposed method is O(1). For the second part of the decoding
schedule, the proposed method needs no calculation.
The remainder of this paper is organised as follows. In Section 2,
we briey review SC decoder and introduce some notations. Section
3 presents the proposed method. Section 4 shows the comparisons
among the proposed method and existing methods. Finally, some
conclusions are drawn in Section 5.

Review of SC decoder

First of all, let us list some notations used in this paper,


N = 2n is the code length of polar code, and n = log2 N ,
uN1 is a shorthand for a row vector (u1, , uN), and uji , 1 i, j N,
represents its subvector (ui, , uj ),
{a, , b} represents the set of the integers ranging from a to b
& is bitwise logical AND operator.
Polar code takes advantage of the polarisation effect to achieve the
channel capacity I(W ), whose channel model is illustrated in Fig. 1,
where uN1 is the input vector, WN is a combined channel by N
independent copies of channel W and yN1 is the output vector with
conditional probability WN (yN1 |uN1 ). For the coordinate channels
WN(i) of WN, the size of the set {WN(i) |I(WN(i) ) 1, 1 i N }
approaches N I(W ), while the size of the set {WN(i) |I(WN(i) ) 0, 1
i N } approaches N (1 I(W )). When sending data, only the good
coordinate channels are employed, which are called information bits.
Polar code is usually denoted as (N , K, A, uAc ), where K is the
length of the information bits, A are the positions of the
information bits and uAc are the frozen bits known by both sender
and receiver. When decoding, SC decoder successively estimates
the transmitted bits u N1 as follows

ui
ui = 0

if i [ Ac


if i  Ac and L(Ni) yN1 , u i1
1
1
(i)  N
c
i1 

if i  A and LN y1 , u1 , 1

(1)

where
L(Ni) ( yN1 ,

 

0
WN(i) yN1 , u i1
1

i1
u]1 ) = (i)  N i1   .
WN y1 , u 1 1

(2)

Equation (2) can be straightforwardly calculated using the recursive


formula
 N
L(i)
N y1 ,

u i1
1


=

f (a, b),
g(a, b, u i1 ),

when i is odd
when i is even

(3a, 3b)

IET Commun., 2016, Vol. 10, Iss. 5, pp. 462467

462

& The Institution of Engineering and Technology 2016

enough for almost all practical polar codes, whose code lengths
usually are about 220 bits.
The following theorem solves Part 1, which indicates ki = zi (1
i N). Since the run time of the calculation of zi in Algorithm 1
(Fig. 2) is constant, the proposed method solves Part 1 with
constant critical path delay. Besides, the storage required by
Algorithm 1 (Fig. 2) is constant, about 32 log2 32 = 160 bits, so
the space complexity of the proposed method is O(1).

Fig. 1 Illustration of the channel model of polar code

where
ab+1
, g(a, b, s) = a12s b,
a+b

(i/2) N/2 i1 i1
(i/2) N
y1 , u1,o u1,e , b = LN/2
yN /2+1 , u i1
a = LN /2
1,e .
f (a, b) =

N
i1
We name L(i)
1 ) as the ith LR at length N. Its calculation is
N (y1 , u
recursively converted into the calculations of the two LRs at
length N/2, and the recursion is continued down to the calculations
of the N LRs at length 1, i.e.

W (yi |0)
,
L(1)
1 (yi ) =
W (yi |1)

1 i N,

(4)

which can be computed immediately according to the output vector yN1 .

Proposed method

In SC decoder, there exists a ki for each 1 i N. When u i is


estimated, only the LRs at length N/2ki, N/2ki1, , N should be
calculated, while the LRs at length N/2ki+1, , 1 can be shared. In
other words, the rst part of the decoding schedule is actually to
determine the value of ki. For clarity, the two parts of the
decoding schedule are listed as follows:
Part 1: Determine the value of ki, i.e. which of LRs need to be
calculated and which of LRs need not.
Part 2: Determine which of the formulas ( f or g) is employed for the
LRs at length N/2k (0 k ki).
As mentioned above, for Part 1, most of the existing methods are
either by a recursive way, or by pre-storing ki (1 i N) generated
off-line [1, 6, 7, 9, 10, 13, 14], which leads to a critical path delay
scaling with log2 N or a space complexity O(N log2 log2 N ).
Different from them, the proposed method computes each ki
on-line by a non-recursive way. We nd that ki = zi, where zi is
named the sharing factor of i and dened as follows.
Denition 1: (sharing factor): For any given 1 i N, its sharing
factor is denoted as zi, which is the number of the consecutive
zeroes in the end of the binary expansion of the integer i1. In
particular, zi = n 1 when i = 1.
According to Bit Twiddling Hacks [http://graphics.stanford.edu/
seander/bithacks.html.], Algorithm 1 (see Fig. 2) shows how to
calculate zi with a multiply and a look-up table. The algorithm
works for any input 2 i < 231. On the one hand, in the case of i
= 1, z1 is set to n1. On the other hand, the code length N = 230 is

Theorem 1: In SC decoder, when u i is estimated, only the LRs at


length N, N/2, , N/2zi should be calculated, while the LRs at
length N/2zi+1, N/2zi+2, , 1 can be shared, where zi is the sharing
factor of i. Specically, the calculations can be performed
beginning with the LRs at length N/2zi, and in sequence till the LR
at length N.

Proof: Please refer to Appendix 1.

For Part 2, most of existing methods calculates the parity of i/2k ,


i/2k or (i 1) & 2k (0 k zi) to select a calculation formula ( f or g)
[9, 14]. If i/2k is odd, then the formula f is employed, otherwise g
is used. For each i, these methods all need zi + 1 calculations. The
proposed method can solve Part 2 for each i without any calculation.
According to the denition of zi, i can be rewritten as follows

i=

1,
mo 2zi + 1,

when i = 1
when 2 i N

(5)

where mo is odd. Therefore, i/2k (0 k zi) can be rewritten as


follows
k
i/2 =



1/2k ,


mo 2zi k + 1/2k ,

when i = 1
when 2 i N .

If i = 1, then i/2k is always equal to 1 for all 0 k zi, otherwise it


is even for k = zi and odd for k < zi. That is, when i = 1, the calculation
formulas of the LRs at length N/2k (0 k z1) are f, and when 2
i N, the calculation formula of the LRs at length N/2zi is g and the
calculation formulas of the LRs at length N/2k (0 k < zi) are f. Since
SC decoder successively estimates transmitted bits from u 1 to u N , the
comparison between i and 1 can be eliminated by viewing u 1 as a
special case. Similarly, the comparisons between k and zi can be
removed because the updates of LRs is successively from the
length N/2zi to the length N when each u i (2 i N) is estimated.
Furthermore, the value of zi has already been calculated during the
solution of Part 1, hence the proposed method does not need any
calculation to solve Part 2.
Taken together, the proposed decoding schedule generating
method is summarised as follows: for the estimation of u 1 , f2,
f4, , fN are performed in sequence, and for the estimation of
u i (2 i N ), gN /2zi , fN/2zi 1 , fN are performed in sequence,
where fj means that the formula f is employed to calculate the LRs
at length j and gj means that the formula g is employed to
calculate the LRs at length j. An example of N = 8 is shown in
Table 1. The rst line is clock cycle, the second line is entries of

Fig. 2 Calculation of zi

IET Commun., 2016, Vol. 10, Iss. 5, pp. 462467


& The Institution of Engineering and Technology 2016

463

Table 1 Decoding schedule of SC decoder for polar codes with N = 8


CC
Entry
u i

10

11

12

13

14

f2
N/A

f4
N/A

f8
u 1

g8
u 2

g4
N/A

f8
u 3

g8
u 4

g2
N/A

f4
N/A

f8
u 5

g8
u 6

g4
N/A

f8
u 7

g8
u 8

Fig. 3 Schedule tree of SC decoder for polar codes, whose depth-rst traversal (excludes the root node f1) generates the decoding schedule
a General schedule tree
b Example of N = 8

the decoding schedule, and the third line is outputs of u i , where N/A
means no output.

in the ROM. There are mainly two employed algorithms. One is


based on the depth-rst traversal of the scheduling tree [14], as
shown in Fig. 3. The other is based on the recursive construction
[7], as shown in Algorithm 2 (see Fig. 4).

Comparisons

We compare the proposed method and existing methods in terms of


Part 1 and Part 2.
For Part 1, most of existing methods solve it by the two following
means:
Implicitly maximised sharing by a recursive way (IMSRW) [1, 6,
9, 10, 13]. It achieves the maximised sharing on the calculations of
LRs by a recursive way. Specically, in order to estimate u i , it rstly
activates the computation of the ith LR at length N, which in turn
activates the two LRs at length N/2. The two LRs at length N/2
then activate the four LRs at length N/4, which activate the eight
LRs at length N/8. The process continues till the length at which
the LRs have been calculated. The length will be N/2ki+1.
Explicitly maximised sharing by pre-storing the decoding
schedule (EMSPDS) [7, 14]. First, it generates the decoding schedule
(i.e. ki) off-line by an algorithm, then stores the decoding schedule

Table 2 shows the comparisons among the three methods to solve


Part 1. The rst row is the indicator of the critical path delay, which
means the most calculations for u i (1 i N) to solve Part 1. In the
hardware implementations of SC decoder, the solution of Part 1 may
be integrated into a clock circle, then the most calculations for u i will
become the critical path delay to solve Part 1. For each u i , the
IMSRW needs ki + 2 calculations to nd ki, while the EMSPDS
and the proposed method both need constant calculations. Hence
the critical path delay of the IMSRW is O( log2 N ) and the critical
path delay of the EMSPDS and the proposed method are O(1).
The second row is the indicator of the time complexity. For
IMSRW, its time complexity is
N


(ki + 2) =

i=1

N


(zi + 2) = 2N + n 1 +

i=1

n1


j 2n(j+1)

j=0

= 3N 2.
For 
the EMSPDS and the proposed method, their time complexities
are Ni=1 O(1) = O(N ). The third row is the indicator of the space
complexity. For IMSRW, it needs to store a state indicating
whether a LR has been calculated. In SC decoder, there are in
total N log2 N different LRs. Since 2k LRs at length N/2k are
calculated together and 
share the same state, the number of the
n
k
states to be stored is
k=0 N /2 = 2N 1. For EMSPDS, it
needs to store the decoding schedule, i.e. all ki (1 i N), and
Table 2 Comparisons among different decoding schedule generating
algorithms
Method

Fig. 4 Recursive-construction-based
algorithm [7]

decoding

schedule

generating

critical path delay


time complexity
space complexity

IMSRW [1, 6, 9, 10, 13]

EMSPDS [7, 14]

Proposed

O( log2 N)
O(N )
O(N )

O(1)
O(N )
O(N log2 log2 N)

O(1)
O(N )
O(1)

IET Commun., 2016, Vol. 10, Iss. 5, pp. 462467

464

& The Institution of Engineering and Technology 2016

Table 3 FERs of the original SC decoder [1] and the proposed method,
where the code-length N is 210, and the employed channel is a BEC
whose erasure probability is 0.5
Rate

R = 0.45

R = 0.40

R = 0.35

R = 0.30

[1]
proposed

0.8475
0.8475

0.2370
0.2370

0.0163
0.0163

0.0004
0.0004

each ki requires log2 log2 N bits storage. Hence the space complexity
of EMSPDS is N log2 log2 N . For the proposed method, it proves ki
= zi and presents an algorithm to calculate zi on-line. The algorithm
requires about 160 bits storage. Hence the space complexity of the
proposed method is O(1). In summary, the proposed method has
the best performance to solve Part 1.
For Part 2, most of the existing methods compute the parity of
i/2k , i/2k or (i 1) & 2k (0 k zi) [9, 14]. If i/2k is odd,
then the formula f is employed, otherwise the formula g is used.
During the estimation of each u i , these methods need zi + 1
calculations. The proposed method nds that when i = 1, the
formula f is employed for all 0 k z1, and when 2 i N, the
formula g is used for k = zi and the formula f is used for all 0 k
< zi. By viewing i = 1 and k = zi as special cases, as mentioned
above, the proposed method solves Part 2 without any calculation.
Hence the proposed method has a better performance to solve Part 2.
Besides, since the proposed method just focuses on how to
efciently generate the decoding schedule, it does not affect the
error performance of SC decoder. Table 3 shows the frame error
rates (FERs) of the proposed method and the original SC decoder
presented in [1], where the code-length N is 210, and the employed
channel is a binary erasure channel (BEC) whose erasure
probability is 0.5. Each result is obtained using as many frames as
needed till the number of error frames comes to 50. It can be seen
that the FERs of the proposed method are always the same as
those of the original SC decoder [1]. That is, the proposed method
does not affect the error performance.

Conclusions

Based on the newly found factor zi, this paper proposes a new
decoding schedule generating method for SC decoder. The
decoding schedule of SC decoder consists of two parts. One is to
determine which of LRs can be shared and which of LRs should
be calculated (i.e. determine the value of ki) when u i (1 i N) is
estimated. The other is to determine which of the formulas ( f or g)
is employed for the LRs at length N/2k (0 k ki) when u i is
estimated. For the rst part, we prove that ki = zi and present an
algorithm to calculate zi on-line, whose critical path delay is
constant and space complexity is O(1), while most of existing
methods either have the critical path delay of O( log2 N ) or have
the space complexity of O(N log2 log2 N ). For the second part, the
proposed method does not need any calculation for each u i , while
most of existing methods need ki + 1 calculations for each u i .
Besides, the proposed method does not affect the error
performance of polar codes.
Although LR is employed to depict the proposed method, it can
also apply to the cases of logarithm LR and min-sum update rule.

Acknowledgments

The authors gratefully acknowledge Sang Jianzhi and Mao Haokun


from Harbin Institute of Technology, and Tang Zhiyuan from
University of Toronto for many useful discussions on this paper.
This work was supported by the National Natural Science
Foundation of China (grant numbers: 61471141, 61361166006,
61301099) and the Fundamental Research Funds for the Central
Universities (grant numbers: HIT. KISTP. 201416, HIT. KISTP.
201414).

IET Commun., 2016, Vol. 10, Iss. 5, pp. 462467


& The Institution of Engineering and Technology 2016

References

1 Arikan, E.: Channel polarization: a method for constructing capacity-achieving


codes for symmetric binary-input memoryless channels, IEEE Trans. Inf.
Theory, 2009, 55, (7), pp. 30513073
2 Hussami, N., Korada, S.B., Urbanke, R.: Performance of polar codes for channel
and source coding. IEEE Int. Symp. on Information Theory, 2009. ISIT 2009,
2009, pp. 14881492
3 Tal, I., Vardy, A.: List decoding of polar codes. IEEE Int. Symp. on Information
Theory Proc. (ISIT), 2011, 2011, pp. 15
4 Niu, K., Chen, K.: Stack decoding of polar codes, Electron. Lett., 2012, 48, (12),
pp. 695697
5 Alamdar-Yazdi, A., Kschischang, F.R.: A simplied successive-cancellation
decoder for polar codes, IEEE Commun. Lett., 2011, 15, (12), pp. 13781380
6 Leroux, C., Tal, I., Vardy, A., et al.: Hardware architectures for successive
cancellation decoding of polar codes. IEEE Int. Conf. on Acoustics, Speech and
Signal Processing (ICASSP), 2011, 2011, pp. 16651668
7 Chuan, Z., Bo, Y., Parhi, K.K.: Reduced-latency sc polar decoder architectures.
IEEE Int. Conf. on Communications (ICC), 2012, pp. 34713475
8 Huang, Z., Diao, C., Chen, M.: Latency reduced method for modied successive
cancellation decoding of polar codes, Electron. Lett., 2012, 48, (23),
pp. 15051506
9 Leroux, C., Raymond, A.J., Sarkis, G., et al.: A semi-parallel successive
cancellation decoder for polar codes, IEEE Trans. Signal Process., 2013, 61,
(2), pp. 289299
10 Zhang, C., Parhi, K.K.: Low-latency sequential and overlapped architectures for
successive cancellation polar decoder, IEEE Trans. Signal Process., 2013, 61,
(10), pp. 24292441
11 Sarkis, G., Gross, W.J.: Increasing the throughput of polar decoders, IEEE
Commun. Lett., 2013, 17, (4), pp. 725728
12 Sarkis, G., Giard, P., Vardy, A., et al.: Fast polar decoders: algorithm and
implementation, IEEE J. Sel. Areas Commun., 2014, 32, (5), pp. 946957
13 Fan, Y., Tsui, C.-Y.: An efcient partial-sum network architecture for
semi-parallel polar codes decoder implementation, IEEE Trans. Signal Process.,
2014, 62, (12), pp. 31653179
14 Gal, B.L., Leroux, C., Jego, C.: Multi-gb/s software decoding of polar codes,
IEEE Trans. Signal Process., 2015, 63, (2), pp. 349359
15 Yoo, H., Park, I.-C.: Partially parallel encoder architecture for long polar codes,
IEEE Trans. Circuits Syst. II, Express Briefs, 2015, 62, (3), pp. 306310

8
8.1

Appendices
Appendix 1: Proof of Theorem 1

Here we consider the proof of Theorem 1. First, we present


dependencies among LRs in 8.1.1. Then the proof based on the
dependencies is given in Appendix 2.
8.1.1 Dependencies among LRs: There are three operations
in (3). They are the XOR
performing on the decoded bits u i1
1
between the subvectors with odd indices and even indices, the
EXTRACTION of the subvector with even indices, and the
EXTRACTION of the last element, i.e.


2(i1)/2
2(i1)/2
i1
1,o
u 1,e
= u i1
p u i1
1
1,o u
1,e = u


2(i1)/2
1,e
q u i1
= u i1
1
1,e = u


r u i1
= u i1 .
1

(6)

By these three operations, we deduce which of LRs are used during


the calculation of the ith LR at length N.
Lemma 1: For any given 1 k n, the calculation of the ith LR at
N
k
i1
length N, L(i)
1 ), depends on the calculations of 2 LRs at
N (y1 , u
length N/2k
 k 
k
 i1 

i/2
1
,
LN /2k
y jN/2
k +1 , h j,k u
j1
N/2
( )

1 j 2k ,

(7)

where hj, k is a composite function of functions p and q. Specically,


hj, k = kk1 21, where


ua =

p,
q,

when bka+1 = 0
, 1 a k,
when bka+1 = 1

(8)

and bkbk1 b2b1 is the binary expansion of the integer j1.

465

Proof: Basis step: We start with the case k = 1. According to (3), the
N
i1
calculation of the ith LR at length N, L(i)
1 ), depends on the
N (y1 , u
calculations of two LRs at length N/2 as follows

(i/2) N/2  i1 
y 1 , p u1
,
LN /2




(i/2) N
yN/2+1 , q u i1
LN /2
.
1

Inductive step: Now we assume the truth of the case k = m. That is


that the calculation of the ith LR at length N depends on the
calculations of 2m LRs at length N/2m as follows
LN/2m


l1=

Let h1,1 = p and h2,1 = q, then the lemma for the case k = 1 is true.

(i/2m )

and




h j,m u i1
,
1

m
y(jN/2
,
j1)N/2m +1

1j2 ,
m

k
i/2 ; m, for (m 1)2k + 1 i m2k .

(15)

(10)

 i
k
Lemma 2: For any given
 1k  k n and 1 j 2 , h j,k u 1 is avector
with the length of i/2 , denoted as v1 , v2 , . . . , vi/2k . Any
element va is estimated as follows

and

va =
when bma+1 = 0
, 1 a m.
when bma+1 = 1

p,
q,

(14)



?
Then how about h j,k u i1
1

h j,m = um um1 u2 u1

when l = 2j 1
.
when l = 2j

Hence the lemma for the case k = m + 1 is true.


Consequently, by the principle of nite induction, the lemma is
proved.

Lemma 1 shows that the LRs at length N/2k depended by two


diverse LRs at length N are different in two items. One is i/2k ,
and the other is h j,k (u i1
1 ). We have

(9)

where

ua =

bm bm1 b1 0,
bm bm1 b1 1,

d[D j,k,a



u d , 1 a i/2k ,

(11)
where

Here bmbm1 b2b1 is the binary expansion of the integer j1.


According to (3), if i/2m is odd, then each item in (9) is
calculated as (12a), otherwise it is calculated as (12b) (see (12a, 12b))

 

D j,k,a = d d = (a 1) 2k + 1 + ck ck1 c1 ,

ct =

where (see equation at the bottom of the page)

?,
1,

when bkt+1 = 0
, 1tk
when bkt+1 = 1

(16)

(17)

According to (12), the calculation of a LR at length N/2m,


(i/2
LN/2m

depends on the calculations of two LRs at length N/2




i/2m+1

LN/2m+1

ct = ? indicates that ct can be 0 and 1, and bkbk1 b2b1 is the binary


expansion of the integer j1.




) jN/2
y( j1)N/2m +1 , h j,m u i1
,
1
m

m+1
ylN/2
,
(l1)N/2m+1 +1

hl,m+1 u i1
1

m+1

as follows

 
 
2i/2
2i/2
h1,1 u i1 = p u i1 = u 1,o
u 1,e ,
 
 
2i/2
h2,1 u i1 = q u i1 = u 1,e .



, l [ 2j 1, 2j

j,m

(18)

 
Their lengths are both i/2 . For any given 1 a i/2, we have

where

 i1 

,
 i1  p h j,m u 1

hl,m+1 u 1 =


q h u i1 ,

Proof: Basis step: We start with the case k = 1. In this case j {1, 2},
so we only need to consider h1,1 (u i1 ) and h2,1 (u i1 ). Since

when l = 2j 1
when l = 2j

(13)

D1,1,a = {2a 1, 2a} = {d |d = (a 1) 2 + 1 + ?},


D2,1,a = {2a} = {d |d = (a 1) 2 + 1 + 1}.
Hence the lemma for the case k = 1 is true.

That is

hl,m+1 =

p fm f2 f1 ,
q fm f2 f1 ,

Inductive step: Now we assume the truth of the case k = m. Then we


have

when l = 2j 1
when l = 2j

Since j {1, 2, , 2 }, it can be inferred that l {1, 2, , 2


m

m+1

(i/2m )

LN/2m

m
y(jN/2
,
j1)N/2m +1

 


h j,m u i1 = v1 , v2 , . . . , vn1 , n1 = i/2m ,



f a, b ,
 i1 

h j,m u 1
=
g a, b, r(h j,m (u i1
1 )) ,



when i/2m is odd


when i/2m is even

(12a, 12b)

 m+1 
 m+1 








i/2
i/2
(2j1)N /2m+1
/2m+1
a = LN/2m+1
y 2j2 N /2m+1 +1 , p h j,m u i1
,
b
=
L
y2jN
, q h j,m u i1
.
1
1
N/2m+1
( )
(2j1)N /2m+1 +1

IET Commun., 2016, Vol. 10, Iss. 5, pp. 462467

466

& The Institution of Engineering and Technology 2016

i. If there exists an integer m satisfying that i 1 = m 2k, then

where
va =

d[D j,m,a

u d ,



i 1 [ (m 1) 2k + 1, . . . , m 2k


i [ m 2k + 1, . . . , (m + 1) 2k ,

 

D j,m,a = d d = (a 1) 2m + 1 + cm cm1 c1 ,

?, when bmt+1 = 0
, 1 t m,
ct =
1, when bmt+1 = 1

which means the (i 1)th and ith LR at length N depend on two


different groups of the 2k LRs at length N/2k according to (20).

and bmbm1 b2b1 is the binary expansion of the integer j1.


(a) For any given 1 l 2m+1, when it is odd, according to (13) we
have
 
 n
n
hl,m+1 u i1 = p v11 = w12 .

 

Then n2 = n1 /2 = i/2m+1 . For any element wa, 1 a n2,
we have
wa = v2a1 v2a =

d[D j,m,2a1 <D j,m,2a

u d W

d[Dl,m+1,a

u d

and (see equation at the bottom of the page)


Hence the lemma for the case that k = m + 1 and l is odd is true.
(b) In a similar way, the case that k = m + 1 and l is even can also be
proved.
Hence, combining (a) and (b), the lemma is inferred to be true for
the case k = m + 1.
Consequently, by the principle of nite induction, the lemma is
proved.

Lemma 3: The ith and (i 1)th LR at length N cannot share the same
2k LRs at length N/2k if and only if there exists an integer m
satisfying that i 1 = m 2k.


Proof: According to Lemma
h j,k u i1
is determined
1
 2, the kvector


by the values of j, k and (i 1)/2 . Since (i 1)/2k ; m 1
for all (m 1)2k + 1 i m2k, we have



k
; h j,k u (1m1)2 , for (m 1)2k + 1 i
h j,k u i1
1
m2k .

(19)

Combining (15), (19) and Lemma 1, it can be concluded that the 2k


LRs at length N


, (m 1)2k + 1 i m2k ,
L(Ni) yN1 , u i1
1
share the same 2k LRs at length N/2k

k
k
L(Nm/2) k y jN/2
, h u (m1)2 , 1 j 2k .
( j1)N/2k +1 j,k 1

(20)

ii. If there does not exists an integer m satisfying that i 1 = m 2k,


then i1 is expressed as i 1 = a 2k + b where a and b are both
integers and 1 b 2k 1. Hence


i 1, i [ a 2k + 1, . . . , (a + 1) 2k ,
which means the (i 1)th and ith LR at length N depend on the same

2k LRs at length N/2k according to (20).

8.1.2 Proof for theorem 1: Proof: According to (1), the



N
i1
estimation of u i is to calculate the ith LRs at length N, L(i)
.
1
N y1 , u
(a) Here we consider the case of i = 1. Since no LRs except channel
LRs have been calculated, the LRs at length N/2z1, N/2z11, , N
all should be calculated. The channel LRs (at length 1) are
computed according to (4) as long as yN1 are received. Hence the
2z1 LRs at length 2 (i.e. N/2z1) can be directly computed according
to (3). Afterwards the LRs at length N/2z11, , N can be
calculated in sequence according to (3).
(b) Here we consider the case of 2 i N. According to Denition
1, in the view of the sharing factor zi, i1 can be rewritten as
i 1 = mo 2 z i
when i > 1, where mo is odd. Hence for any given integer k > zi, it
does not exist any integer m satisfying that i 1 = m 2k, which
means that the ith and (i 1)th LR at length N share the same 2k
LRs at length N/2k when k > zi according to Lemma 3. On the
other hand, for any given integer k zi, there exists the integer
mi = 2zi k mo satisfying that i 1 = mi 2k, which means that the
ith and (i 1)th LR at length N cannot share the same 2k LRs at
length N/2k when k zi according to Lemma 3. Therefore, only
the LRs at length N, N/2, , N/2zi should be calculated. Since the
shared 2zi+1 LRs at length N/2zi+1 have been calculated during the
estimation of u i1 [More precisely, the shared 2zi+1 LRs at length
N/2zi+1 are either calculated during the estimation of u i1 or shared
by u i1 and u i2 . In any case, the shared 2zi+1 LRs have already
been calculated.], the 2zi LRs at length N/2zi can be directly
computed according to (3). Afterwards the LRs at length N/2zi1,
N/2zi2, , N can be calculated in sequence according to (3).
Combining (a) and (b), the theorem is proved.

Dl,m+1,a = D j,m,2a1 < D j,m,2a


 
  

= d d = (2a 2) 2m + 1 + cm cm1 c1 < d d = (2a 1) 2m + 1 + cm cm1 c1
 
  

= d d = (a 1) 2m+1 + 1 + 0cm cm1 c1 < d d = (a 1) 2m+1 + 1 + 1cm cm1 c1
 

= d d = (a 1) 2m+1 + 1 + ?cm cm1 c1 .

IET Commun., 2016, Vol. 10, Iss. 5, pp. 462467


& The Institution of Engineering and Technology 2016

467

Вам также может понравиться