TURBO CODES IN UMTS/ WIMAX/ LTE SYSTEMS: SOLUTIONS FOR AN EFFICIENT FPGA IMPLEMENTATION Ph. D. Crstan ANGHEL
INTRODUCTION Telecm Prtcl Stac Nn-Access Stratum - NAS Rad Resurce Cntrl - RRC Meda Access Cntrl - MAC Rad Ln Cntrl - RLC Physcal Layer - PHY
INTRODUCTION Frward Errr Cdng FEC Surce cdng Channel cdng Blc cdes (Hammng, Hadamard, cyclc) Cnvlutnal cdes Nn-systematc cnvlutnal cdes NSC Recursve systematc cvlutnal cdes RSC Turb cdes Systematc cdes used n a pseud-randm manner All cdes are gd, except the nes we can thn f (Jacb Wlfwtz)
TURBO CODES Turb cdng prncple Cdng rate R c = 3 [] C. Berru, A. Glaveux, and P. Thtmajshma, Near Shannn lmt errr-crrectng cdng and decdng: Turb Cdes, IEEE Prceedngs f the Int. Cnf. n Cmmuncatns, Geneva, Swtzerland, May 993, pp. 064-070. [] C. Berru and A. Glaveux, Near ptmum errr crrectng cdng and decdng: Turb-Cdes, IEEE Trans. Cmmuncatns, vl. 44, n. 0, pp. 6-7, Oct. 996. [3] C. Berru and M. Jézéquel, Nn bnary cnvlutnal cdes fr turb cdng, Electrncs Letters, vl. 35, n., pp. 9-40, Jan. 999.
TURBO CODES UMTS/ WMAX/ LTE RSC turb encder
TURBO CODES UMTS/ WMAX/ LTE RSC trells 0 00/00 /00 0/ 0/ 00/00 /00 0/ 0/ 3 4 0/ 0/ 00/00 /00 00/0 /0 0/0 0/0 0/0 0/0 00/0 /0 0/00 0/00 / 00/ 0/ 0/ 00/00 /00 00/0 /0 0/0 0/0 0/0 0/0 00/0 /0 0/00 0/00 / 00/ 5 6 7 / 00/ 0/00 0/00 0/0 0/0 /0 00/0 /0 00/0 0/0 0/0 / 00/ 0/00 0/00 0/0 0/0 /0 00/0 /0 00/0 0/0 0/0 + +
UMTS/ LTE RSC turb decder ( ) X ( ) Z ( X ) ' ( Z ) ' ( X ) ( X )
WMAX RSC turb decder ( A B ) ( A B ) ( A B ) 0, 0,, ( A B ) ( A B ) ( A B ) 0, 0,, ( Y, ) ( W, ) ( Y, ) ( W, ) ' ' ( A B ) ' ' ( A B ) ' ' ( A B ) ( ) 0, 0,, A ( B )
Decdng algrthm max*( x, y) = ln(e + e ) = x max( x, y) + ln( + e ) max( x, y). y y x
Max-Lg MAP WMAX ( =, = ) ( = 0, B = 0) P A a B b a, b ( A, B ) = lg P A ( S S j ) =, ( A, B ) + w ( W ) + y( Y ) γ + a b j j ( S ) = ( S ) + ( S S ) α max j α γ { } ' + + S S + + + j ' j ' 0 ( S ) = ( S ) ( S ) α α α β + + + + + + j j ( S ) = β + ( S + ) + γ + ( S S + ) max j { } ' S S + ( j ) ( ) ( j ) ( j + = α + γ + + + β + + ) Z S S S S S S ( ) t a, b = max Z j SS + : a, b { } ( ) ( A B ) t ( a b) t ( ) a, b, =, 0,0 {,0, } { 0,0 ( A B ) 0, ( A B )} ( A ) max ( A, B ), ( A, B ) = max,,, { 0,, } { 0,0 ( A B ),0 ( A B )} ( B ) max ( A, B ), ( A, B ) = max,,,
Max-Lg MAP WMAX γ γ γ γ 0 0 ( S S+ ) = 0 0 3 0 ( S S + ) = ( A, B ) ( 0 4 0 + ) 0 ( ) ( 0 7 0 + ) 0 ( ) S S = A, B + ( Y ) + ( W ) S S = A, B + ( Y ) + ( W ) β β β β ( S ) = β + ( S + ) + γ + ( S S + ) ( S ) = β + ( S + ) + γ + ( S S + ) ( S ) = β + ( S + ) + γ + ( S S + ) ( S ) = β + ( S + ) + γ + ( S S + ) a ' 0 0 0 0 b' 0 3 0 3 c ' 0 4 0 4 d ' 0 7 0 7 { } ( S ) = max a ( S ), b ( S ), c ( S ), d ( S ) β β β β β ' 0 ' 0 ' 0 ' 0 ' 0 γ γ γ γ ( 0 0 + ) 0 ( ) ( 3 0 + ) 0( ) 4 ( S S+ ) = 0 7 0 ( S S + ) = ( A, B ) S S = A, B + ( Y ) + ( W ) S S = A, B + ( Y ) + ( W ) ( S ) = ( S ) + ( S S ) ( S ) = ( S ) + ( S S ) ( S ) = ( S ) + ( S S ) ( S ) = ( S ) + ( S S ) α α γ a ' 0 0 0 0 + + + α α γ b' 0 0 + + + α α γ c ' 0 6 6 0 + + + α α γ d ' 0 7 7 0 + + + { } ( S ) = max a ( S ), b ( S ), c ( S ), d ( S ) α α α α α ' 0 ' 0 ' 0 ' 0 ' 0 + + + + + + + + + +
Max-Lg MAP WMAX t ( ) 0 0 0 0 0 0 ( + ) = α ( ) + γ + ( + ) + β+ ( + ) 4 4 4 ( + ) = α ( ) + γ + ( + ) + β+ ( + ) ( + ) = α ( ) + γ + ( + ) + β+ ( + ) 3 5 3 3 5 5 ( + ) = α ( ) + γ + ( + ) + β+ ( + ) 4 6 4 4 6 6 ( + ) = α ( ) + γ + ( + ) + β+ ( S+ ) 5 5 5 ( + ) = α ( ) + γ + ( + ) + β+ ( + ) 6 7 6 6 7 7 ( + ) = α ( ) + γ + ( + ) + β+ ( + ) 7 3 7 7 3 3 ( + ) = α ( ) + γ + ( + ) + β+ ( + ) a Z S S S S S S b Z S S S S S S c Z S S S S S S d Z S S S S S S e Z S S S S S f Z S S S S S S g Z S S S S S S h Z S S S S S S 0 0 4 3 5 ( + ), ( + ), ( + ), ( + ), 4 6 5 6 7 7 3 ( + ), ( + ), ( + ), ( + ) a b c d Z S S Z S S Z S S Z S S 0,0 = max e f g h Z S S Z S S Z S S Z S S
Max-Lg MAP LTE ( X ) X ( j) ( Z ) Z ( j) γ = V, +,, V j ( X ) ( Z ) ( X ) ( X ) ( X ) V = + W, fr SISO = ' V ( X ) = IL{ ( X ) W ( X )},fr SISO = ( Z ) ' ( Z ),fr SISO,frSISO { 0 00 0 } { 3 3 } { 4 4 5 5 } { 6 63 7 73 } { 0 04 4 } { γ 35) } { 4 46 5 56 } { 6 67 7 } ( S0 ) ( S ) ( S ) ( S ) ( S ) ( S ) ( S ) ( S ) ( S ) ( S3 ) ( S ) ( S ) ( S4 ) ( S ) ( S ) ( S5 ) ( S ) 5 ( S3 ) ( S6 ) ( S ) ( S ) ( S ) ( S ) ( S ) αˆ = max ( α + γ ),( α + γ ) αˆ = max ( α + γ ),( α + γ ) αˆ = max ( α + γ ),( α + γ ) αˆ = max ( α + γ ),( α + γ ) αˆ = max ( α + γ ),( α + γ ) αˆ = max ( α + γ ),( α + αˆ = max ( α + γ ),( α + γ ) αˆ = max ( α + γ ),( α + γ ) 7 77 γ γ γ γ 0 3 = 0 = V = ( X ) ( Z ) ( X ) ( Z ) = V + γ = γ ; γ = γ 00 0 04 3 γ = γ ; γ = γ 0 3 4 0 γ = γ ; γ = γ 5 γ = γ ; γ = γ 3 35 γ = γ ; γ = γ 4 46 γ = γ ; γ = γ 5 56 γ = γ ; γ = γ 63 3 67 0 γ = γ ; γ = γ 73 0 77 3 { + 0 00 + 4 04 } { + 0 0 + 4 4 } { + + 5 5 } { + 3 + 5 35 } { + 4 + 6 46 } { + 5 + 6 γ 56) } { + 3 63 + 7 67 } { + 3 73 + 7 } ( S ) ( S ) ( S ) βˆ = max ( β + γ ),( β + γ ) 0 ( S ) ( S ) ( S ) βˆ = max ( β + γ ),( β + γ ) ( S ) ( S ) ( S ) βˆ = max ( β + γ ),( β + γ ) ( S ) ( S ) ( S ) βˆ = max ( β + γ ),( β + γ ) 3 ( S ) ( S ) ( S ) βˆ = max ( β + γ ),( β + γ ) 4 ( S ) ( S ) ( S ) βˆ = max ( β + γ ),( β + 5 ( S ) ( S ) ( S ) βˆ = max ( β + γ ),( β + γ ) 6 ( S ) ( S ) ( S ) βˆ = max ( β + γ ),( β + γ ) 7 77
Max-Lg MAP LTE 0 0 0 0 0 0 0 0 ( 0,0) = ( S ) + + ( S ) λ α γ β 0 00 0 (,4 ) = ( S ) + + ( S ) λ α γ β 4 4 (,5) = ( S ) + + ( S ) λ α γ β 5 5 ( 3,) = ( S ) + + ( S ) λ α γ β 3 3 ( 4,) = ( S ) + + ( S ) λ α γ β 4 4 ( 5,6) = ( S ) + + ( S ) λ α γ β 5 56 6 ( 6,7) = ( S ) + + ( S ) λ α γ β 6 67 ( 7,3) = ( S ) + + ( S ) λ α γ β 7 7 73 3 ( 0,4) = ( S ) + + ( S ) λ α γ β 0 04 4 (,0 ) = ( S ) + + ( S ) λ α γ β 0 0 (,) = ( S ) + + ( S ) λ α γ β ( 3,5) = ( S ) + + ( S ) λ α γ β 3 35 5 ( 4,6) = ( S ) + + ( S ) λ α γ β 4 46 6 ( 5,) = ( S ) + + ( S ) λ α γ β 5 5 ( 6,3) = ( S ) + + ( S ) λ α γ β 6 63 ( 7,7) = ( S ) + + ( S ) λ α γ β 3 7 77 7 0 ( X ) λ ( j) λ ( j) = max {, } max {, }, ( S S ): X = ( S S ): X = 0 j j
LTE - Quadratc Permutatn Plynmal (QPP) nterleaver π ( ) = ( f + f ) md K sum (0) = f,sum (0) = 0,sum (0) = 0 π ( ) 0 0 = 0 fr = : K sum ( ) = sum ( ) + f 0 0 sum ( ) = sum ( ) + f sum ( ) = sum ( ) + sum ( ) + sum ( ) + f 0 π ( ) = sum ( ) md K end
LTE - Quadratc Permutatn Plynmal (QPP) nterleaver MEM 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 39, 38, 37,, 5,4,3,,,0 SISO
LTE - Quadratc Permutatn Plynmal (QPP) nterleaver MEM 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 7,34,,8,...,,9,6,3,0 SISO
LTE - Quadratc Permutatn Plynmal (QPP) MEM0 nterleaver 0 3 4 4,3,,,0 SISO0 MEM 5 6 7 8 9 9,8,7,6,5 SISO MEM 0 3 4 4,3,,,0 SISO MEM3 5 6 7 8 9 9,8,7,6,5 SISO3 MEM4 0 3 4 MEM5 5 6 7 8 9 MEM6 30 3 3 33 34 4,3,,,0 9,8,7,6,5 34,33,3,3,30 SISO4 SISO5 SISO6 MEM7 35 36 37 38 39 39,38,37,36,35 SISO7
LTE - Quadratc Permutatn Plynmal (QPP) nterleaver 0 3 4 SISO0 MEM0,9,6,3,0 5 6 7 8 9 SISO MEM 37,4,3,8,5 0 3 4 SISO MEM,9,36,3,30 5 6 7 8 9 SISO3 MEM3 7,4,,8,5 0 3 4 SISO4 MEM4 3,39,6,33,0 5 6 7 8 9 SISO5 MEM5 7,4,,38,5 30 3 3 33 34 SISO6 MEM6,9,6,3,0 35 36 37 38 39 SISO7 MEM7 7,34,,8,35 0 3 4 SISO0 MEM0,9,6,3,0 5 6 7 8 9 SISO MEM 37,4,3,8,5 0 3 4 SISO MEM,9,36,3,30 5 6 7 8 9 SISO3 MEM3 7,4,,8,5 0 3 4 SISO4 MEM4 3,39,6,33,0 5 6 7 8 9 SISO5 MEM5 7,4,,38,5 30 3 3 33 34 SISO6 MEM6,9,6,3,0 35 36 37 38 39 SISO7 MEM7 7,34,,8,35 0 3 4 SISO0 MEM0,9,6,3,0 5 6 7 8 9 SISO MEM 37,4,3,8,5 0 3 4 SISO MEM,9,36,3,30 5 6 7 8 9 SISO3 MEM3 7,4,,8,5 0 3 4 SISO4 MEM4 3,39,6,33,0 5 6 7 8 9 SISO5 MEM5 7,4,,38,5 30 3 3 33 34 SISO6 MEM6,9,6,3,0 35 36 37 38 39 SISO7 MEM7 7,34,,8,35
LTE - Quadratc Permutatn Plynmal (QPP) nterleaver N pstns per lcatn Index = 0 : K- WA = md(, K/N) RA = WA + WA = wrte address RA = read address WP = wrte pstn PC = pstn cntent IL = nterleaver... K/N lcatns WP = flr(, K/N) PC=IL()
LTE rerderng unt: even-dd merge srtng
LTE splt wth verlap
- - - TURBO DECODER WMAX prpsed archtecture AG ( A B ) ( A B ) ( A B ) 0, 0,, MEM IN MEM IN IL Tcl M U X D M U X + + + + + + + ( Y, j ) ( W, j ) Tcl M U X MEM PAR 6Tcl SISO D M U X DLY - - - + + + + MEM AUX + + + + MEM W Read address Wrte address Wrte enable CONTROL Start trells Data Vald Delay value SISO/ Swtch n.buff Mux Sel Mux Sel LLR BYTE
LTE prpsed archtecture ( ) X ( ) Z ( ) X ' ( Z ) ' ( X ) ( X ) Xˆ
LTE SISO prpsed archtecture ( X ) V / V ' ( X ) ( Z ) ' ( Z ) / ( X ) ' ( X ) /
LTE tmng dagram: seral vs. parallel IL memry (X ) memry (Z ) memry (Z ) memry MODULES frm ARCHITECTURE SISO R(K-:0) R(K-:0) R(0:K-) R(0:K-) R(K-:0) R(K-:0) SISO R(0:K-) R(0:K-) W(X ) memry RESET/W(K-:0) RESET/R(0:K-) V (X ) memry R(K-:0) W(0:K-) R{IL(K-:0)} R{IL(0:K-)} (X ) memry R(K-:0) W{IL(0:K-)} GAMMA ALPHA SISO BETA MEM_BETA W(K-:0) R(0:K-) W(K-:0) R(0:K-) L TIME (clc perds) 0 K K+Delay 3K+Delay 4K+*Delay
IL memry (X) memry (Z) memry (Z ) memry MODULES frm ARCHITECTURE R(K/-:0) R(K/-:0) SISO R(0:K/-) R(0:K/-) R(K/-:0) R(K/-:0) SISO R(0:K/-) R(0:K/-) W(X) memry RESET/W(K/-:0) RESET/R(0:K/-) V(X) memry R(K/-:0) W(0:K/-) R{IL(K/-:0)} R{IL(0:K/-)} (X ) memry R(K/-:0) W{IL(0:K/-)} GAMMA ALPHA SISO a BETA MEM_BETA W(K/-:0) R(0:K/-) W(K/-:0) R(0:K/-) L GAMMA ALPHA SISO b BETA MEM_BETA W(K/-:0) R(0:K/-) W(K/-:0) R(0:K/-) L TIME (clc perds) 0 K/ K+Delay 3K/+Delay K+*Delay
OBTAINED RESULTS 0 0 0-0 - WMAX Number f Iteratns Blc Sze L=48, QPSK / K=, QPSK / K= K= K= 3 K= 4 0 0 0-0 - L= 4 L= 48 L= 40 REB BER 0-3 0-4 REB BER 0-3 0-4 0-5 0-5 0-6 0-6.5.5 3 3.5 4 4.5 5 RSZ[dB] SNR[dB] 0-7.5.5 3 3.5 4 4.5 5 RSZ[dB] SNR[dB]
OBTAINED RESULTS WMAX Number f Retransmsns L=4, QPSK ½, K=4 0 0 0-0 - PER REP 0-3 0-4 transmssn transmse retransmssn retransmse retransmssn retransms 3 retransmssn 3 retransms 4 retransmssn 4 retransms 0-5 - -.5 - -0.5 0 0.5.5.5 3 RSZ[dB] SNR[dB]
OBTAINED RESULTS 0 0 LTE Number f Iteratns 0-0 - Blc Sze L=5, QPSK / K=3, QPSK / ter= ter= ter=3 ter=4 ter=5 0 0 0-0 - K=40 K=5 K=644 BER B E R 0-3 0-3 0-4 0-4 0-5 0-5 -6-5 -4-3 - - 0 3 SNR [db] 0-6 -6-5 -4-3 - - 0 SNR [db]
OBTAINED RESULTS LTE Parallel N= Parallel N=4 L=5, QPSK /, K=3 L=04, QPSK /, K=3 0 0 QPSK, 3 ter, 5 bts, N = 0 - seral parallel wth verlap parallel wthut verlap 0 0 QPSK, 04, 3 ter, N = 4 0 - parallel wth verlap parallel wthut verlap seral 0-0 - BER 0-3 BER 0-3 0-4 0-4 0-5 -3 - - 0 3 SNR[dB] 0-5 -3 -.5 - -.5 - -0.5 0 0.5.5 SNR[dB]
CONCLUSIONS Effcent Max-Lg MAP mplementatn Only ne SISO All latency-reductn prcedures can be appled ver the prpsed decdng scheme Turb decdng seral archtecture adapted fr parallel decdng Only ne nterleaver used n the prpsed parallel decdng archtecture Effcent mplementatn fr the nterleaver Almst dentcal decdng perfrmances fr seral vs. parallel decdng when small verlap accepted
THANK YOU canghel@cmm.pub.r