1
CONSTELLATION MAPPING FOR EPoC LDPC CODING
Presenters: Rich Prodan, BZ Shen and Avi Kliger
2
This presentation defines Algebraic formulaic mapping for all possible QAM constellations Recursive procedure starting with BPSK Can be implemented either in hardware or a look-up-table
Gray code mapping for even constellations QPSK, 16-QAM,64-QAM,256-QAM,1024-QAM and 4096-QAM
The least Gray code penalty mapping for odd constellations 8-QAM,32-QAM,128-QAM,512-QAM and 2048-QAM
The defined constellation mappings demonstrate consistently good performance on EPoC LDPC codes Long size (16200,14400) code for both downstream and upstream Medium size (5940,5040) code for upstream Short size (1120,840) code for upstream
CONSTELLATION MAPPING FOR LDPC CODES
3
Gray code for binary numbers Listing all n-bit numbers so that successive numbers differ in exactly one bit position There are many Gray code mappings
Proposed Gray code mapping for 2k integers, 2i-(2k-1) (k=0,1,…,2k-1)
k=1:
k>1: Example : k=2:
ONE DIMENSIONAL GRAY CODE MAPPING
G1(0)= 1, G1(1)=-1 -1 1
−=+−=−=+−=
=+==+=
1))1(2( )11(3))0(2( )10(
1))1(2()01(3))0(2()00(
12
12
12
12
GGGG
GGGG
-3 3 -1 1
( )( ) 1,,1,0for 1or 0b ,)(221)( i1111
0110 −==+−= −−−
− kibbGbbbbG kkk
kk
10 11 01 00
1 0
4
2n+m Rectangular constellation points {(2i-(2n-1), 2j-(2m-1)) | i=0,1,…,2n-1, j=0,1,…,2m-1}
Mapping 2-D symbols with (n+m) binary bits using 1-D Gray code mapping I and Q are mapped independently (or orthogonal)
Example n=m=1(QPSK)
Special case: square constellation 22n -QAM points {(2i-(2n-1), 2j-(2n-1)) | i=0,1,…,2n-1, j=0,1,…,2n-1}
Example: 16-QAM (see figure on the right)
GRAY CODE MAPPING ON RECTANGULAR CONSTELLATION
( )),(),())(),((Let
110110
110110
−−
−−
==
mmnnrctrct
mn
bbbGaaaGQIbbbaaa
ddd
( ) ( )( ) ( ) )1,1())1(),1(()11(),11( ),1,1())0(),1(()10(),10(
)1,1())1(),0(()01(),01( ),1,1())0(),0(()00(),00(
1111
1111
−−==−==−====
GGQIGGQIGGQIGGQI
rctrctrctrct
rctrctrctrct
-1 1
-1
1
11 01
10 00
16-QAM
QPSK
Qrct(b)
Irct(b)
5
Defined by Joel G. Smith “Odd-bit quadrature amplitude shift keying,” IEEE Trans. Commun., vol. COMM-23, no. 3, pp. 385–
389, Mar. 1975 All one-dimensional Gray codes and two-dimensional Gray codes of orthogonal components are pure.
All other Gray codes are “impure,” and suffer a “Gray code penalty”
Mathematic definition
If l provides a Gray code mapping then GP(l)=1, i.e. no penalty The proposed mapping on rectangular constellation has GP=1
GRAY CODE PENALTY
{ }
( )( )
∑∑−
=
∈=
=−=−
12
0
)(
)(
)(),(
21)( : PenaltyCodeGray
)( and )( between distance hamming :)(),(mapping by the given labelingbinary :)(
of neighbors distance) Euclidean(innearest theis |)(12,,1,0, symbols,2 are thereQAM,2
n
ij
i i
SNSij
nP
jiji
i
ijji
ni
nn
SN
SlSlwtlG
SlSlSlSlwtSl
SSSSNiS
6
MAPPING ON CROSS CONSTELLATION CASE I: 8-QAM
10/1 11/1 01/1 00/1
10/0 11/0 01/0 00/0
10/1 11/1 01/1 00/1
10/0 11/0 01/0 00/0
00/0
00/1
( ))(),())(),(( 01102
010
bGaaGQIbaa
rctrct ==
ddd
-3 3 -1 1
-1
1
( )( )
=+=−=−=321)000(134)000(
cr
cr
QI ( )
( )
=+−==−−=
321)001(134)001(
cr
cr
QI
( )( )( )
+=−−=
<
==
otherwise2)()()()(4)(()(
3)()()()()(
dddddd
ddddd
rctrctcr
rctrctcr
rectrctcr
rctcr
QQsignQIIsignI
IQQII
Starts with rectangular constellation mapping
Transform the right side wing to cross constellation mapping
-3 -1 1
3 1 -1 -3
3125.11621)21
4511
4512(
81
==+++++++=PG
transform to cross constellation
7
Starts with an n x (n+1) rectangular constellation Transform two vertical wings to two horizontal wings Pseudo Gray code mapping on two horizontal wings (with the least Gray Code Penalty) Algebraic formula
See an example in the next page
MAPPING ON CROSS CONSTELLATION CASE II: 22n+1-QAM (n>1)
( )
( )( )( )( )
( )( )( )( )
≤
+=−=
>
−=−=
<
==
=
==
−
−−+
−
otherwise
)(Q2)()()()(4)()(
)(Q)(4)()(
2)()()(
3)( if)()()()(
2Let
),(),())(),((
rct
rct
11101101
11010
ssQQsignQ
IsIsignI
sQsQsignQ
sIIsignI
sIQQII
s
bbbGaaaGQIdbbaaad
rctrctcr
rctrctcr
rctrctcr
rctrctcr
rctrctcr
rctcr
nnnnnrctrct
nn
dddd
ddd
dddd
ddd
ddddd
dd
8
MAPPING ON 32 CROSS CONSTELLATION QAM
-7 -5 -3 -1 1 3 5 7
3 1 -1 -3
100/00 101/00 111/00 110/00 010/00 011/00 001/00 000/00
100/01 101/01 111/01 110/01 010/01 011/01 001/01 000/01
100/11 101/11 111/11 110/11 010/11 011/11 001/11 000/11
100/10 101/10 111/10 110/10 010/10 011/10 001/10 000/10
-7 -5 -3 -1 1 3 5 7
5 3 1 -1 -3 -5
100/00 101/00 111/00 110/00 010/00 011/00 001/00 000/00
100/01 101/01 111/01 110/01 010/01 011/01 001/01 000/01
100/11 101/11 111/11 110/11 010/11 011/11 001/11 000/11
100/10 101/10 111/10 110/10 010/10 011/10 001/10 000/10
( )( )
=−==−=538)0000(347)00000(
cr
cr
QI ( )
( )
−=−−==−=
538)00010(347)00010(
cr
cr
QI( )
( )
=+==−=
541)00001(178)00001(
cr
cr
QI ( )
( )
−=+−==−=
541)00011(178)00011(
cr
cr
QI
100/00 000/01
000/10 000/11
( )( )
=−=−=−−=
538)10000(347)10000(
cr
cr
QI ( )
( )
=+=−=−−=
541)10001(178)10001(
cr
cr
QI ( )
( )
−=+−=−=−−=
541)10011(178)10011(
cr
cr
QI ( )
( )
−=−−=−=−−=
538)10010(347)10010(
cr
cr
QI
100/01 000/00
100/11 100/10
Mapping on rectangular constellation
Transform two wings to cross constellation mapping
( )
( )( )( )( )( )( )( )( )
≤
+=−=
>
−=−=
<
==
==
=
otherwise2)(
4)()()()(8)()(
2)()(8)()(
4)()()(
6)( if)()()()(
2Let )(),())(),(( 1022103
10210
dddd
ddd
dddd
ddd
ddddd
dd
rctrctrctcr
rctrctcr
rctrctrctcr
rctrctcr
rctrctcr
rctcr
rctrct
QQQsignQ
IIsignI
QQQsignQ
IIsignI
IQQII
sbbGaaaGQI
bbaaad
( ) 1667.16/7614/54/54/54/512/33/43/42/3322
==++++++++++=PG
9
ON LONG SIZE LDPC CODE (W/ 15 ITERATIONS) (DOWNSTREAM AND UPSTREAM)
10 15 20 25 30 35
10-9
10-8
10-7
10-6
10-5
10-4
10-3
10-2
SNR (dB)
BE
R
8-QAM16-QAM32-QAM64-QAM128-QAM256-QAM512-QAM1024-QAM2048-QAM4096-QAMAWGN, 15 its.LDPC(16200,14400)
10
ON UPSTREAM MEDIUM SIZE LDPC CODE (W/ 15 ITERATIONS)
10 12 14 16 18 20 22 24 26 28 30
10-8
10-7
10-6
10-5
10-4
10-3
10-2
SNR (dB)
BE
R
8-QAM16-QAM32-QAM64-QAM128-QAM256-QAM512-QAM1024-QAMAWGN, 15 its.LDPC (5940,5040)
11
ON UPSTREAM SHORT SIZE LDPC CODE (W/ 15 ITERATIONS)
8 10 12 14 16 18 20 22 24 26 2810
-9
10-8
10-7
10-6
10-5
10-4
10-3
10-2
SNR (dB)
BE
R
8-QAM16-QAM32-QAM64-QAM128-QAM256-QAM512-QAM1024-QAMAWGN, 15 its.LDPC(1120,840)
12
A recursive constellation mapping procedure for both downstream and upstream LDPC codes has been presented Procedure can be implemented either by hardware logic or by look-up-tables On even-bit QAM constellations, i.e. 22n-QAM Gray code mapping
On odd-bit QAM constellations, i.e. 22n+1-QAM Cross constellation defined Transform from the Gray code mapping of same size rectangular constellation Mapping with the least Gray code penalty (pseudo-Gray code)
Performance Proposed constellation mappings to all LDPC codes were thoroughly simulated Performance across all codes is good and comparable SNR for threshold Bit Error Ratio is approximately 3 dB apart for two consecutive constellations
Proposal to adopt this constellation mapping procedure for EPoC LDPC coding
CONCLUSION
13
Move to: Adopt the constellation mapping procedure in prodan_3bn_02_1113.pdf for EPoC. Moved: BZ Shen Second:
PROPOSED MOTION
14
Thank You