Professional Documents
Culture Documents
Maximum a posteriori probability MAP! decoding Bahl"Coc#e"Jeline#"Ra$i$ BCJR! algorithm 1%&'! Baum"(elch algorithm 1%)*+!, -ecoder inputs: Recei$ed se.uence r so/t or hard! A priori L"$alues La ul! 0 ln P ul 0 1!1P ul 0 "1!! -ecoder outputs: A posteriori probability APP! L"$alues L ul! 0 ln P ul 0 12 r!1P ul 0 "12r!! 3 4: ul is most li#ely to be 1 5 4: ul is most li#ely to be "1
http://www.uib.no/personer/Eirik.Rosnes
BCJR cont7!
BCJR cont7!
BCJR cont7!
'
BCJR cont7!
A(9:
8
MAP algorithm
;nitiali<e /or=ard and bac#=ard recursions 4 s! and N s! Compute branch metrics >l s?@ s!A Carry out /or=ard recursion >lB1 s!A based on >l s!A Carry out bac#=ard recursion >l"1 s!A based on >l s!A Compute APP L"$alues Complexity: Approximately *xCiterbi Re.uires detailed #no=ledge o/ D:R Citerbi Eust maximi<es rv@ and does not re.uire exact #no=ledge o/ D:R
)
BCJR cont7!
;n/ormation bits
Termination bits
&
BCJR cont7!
BCJR cont7!
Gog"MAP algorithm
;nitiali<e /or=ard and bac#=ard recursions 4, s! and N, s! Compute branch metrics >l, s?@ s!A Carry out /or=ard recursion >lB1, s!A based on >l, s!A Carry out bac#=ard recursion >l"1, s!A based on >l, s!A Compute APP L"$alues Ad$antages o$er MAP algorithm: Hasier to implement :umerically more stable
14
Max"log"MAP algorithm
Replace max, by max@ i7e7@ remo$e table loo#"up correction term Ad$antage: Dimpler and much /aster Ior=ard and bac#=ard passes are e.ui$alent to a Citerbi decoder -isad$antage: Gess accurate@ but the correction term is limited in si<e by ln 6! Can impro$e accuracy by scaling =ith an D:R" in!dependent scaling /actor,
11
Hxample: log"MAP
16
Hxample: log"MAP
Assume Es1N4 0 11' 0 ")746 dB R 0 *1F@ so Eb1N4 0 61* 0 "17&)dB
4@'8 *@46 "4@&8
B4@'8 B4@&8
4@'' *@4)
B4@68
B1@'8 "4@*8
1@)4
17)4
"1@'8
"4@'8
"4@'8 *@''
"4@68
17*' 1@8%
B4@*8
1*
Hxample: log"MAP
+0.48 E 1N 0 11' 0+0.62 Assume ")746 dB s 4 R 0 *1F@ so Eb1N4 0 61* 0 "17&)dB
4@'8 *@46 "4@&8
B4@'8 B4@&8
-1,02
4@'' *@4)
B4@68
B1@'8 "4@*8
1@)4
17)4
"1@'8
"4@'8
"4@'8 *@''
"4@68
17*' 1@8%
B4@*8
1'
Hxample: Max"log"MAP
Assume Es1N4 0 11' 0 ")746 dB R 0 *1F@ so Eb1N4 0 61* 0 "17&)dB
4@'8 6@*'
B4@'8 "4@&8
"4@64 *@48
B4@68
B1@'8 "4@*8
1@)4
1@)4
B4@&8
"1@'8
"4@'8
"4@'8 *@*1
"4@68
1764 1@68
B4@*8
18
Hxample: Max"log"MAP
-0,07 E 1N 0 11' 0 ")746 +0,10 Assume dB s 4 R 0 *1F@ so Eb1N4 0 61* 0 "17&)dB
4@'8 6@*'
B4@'8 "4@&8
-0,40
"4@64 *@48
B4@68
B1@'8 "4@*8
1@)4
1@)4
B4@&8
"1@'8
"4@'8
"4@'8 *@*1
"4@68
1764 1@68
B4@*8
1)
d/ree 0 *
1F
d/ree 0 *
1%
64
14 6 & 6&
61
Purpose: A$oid the terminating tail rate loss! and maintain a uni/orm le$el o/ protection :ote: Cannot a$oid distance loss completely unless the length is not too short7 (hen the length gets larger@ the minimum distance approaches the /ree distance o/ the con$olutional code Code=ords can start in any state This gi$es 6 as many code=ords Jo=e$er@ each code=ord must end in the same state that it started /rom7 This gi$es 6" as many code=ords Thus@ the code rate is e.ual to the encoder rate Tailbiting codes are increasingly popular /or moderate length purposes Dome o/ the best #no=n linear bloc# codes are tailbiting codes Tables o/ optimum tailbiting codes are gi$en in the boo# 66 -CB: Turbo codes =ith tailbiting component codes
Ieed/or=ard encoder: Al=ays possible to /ind an in/ormation $ector that ends in the proper state inspect the last m k"bit input tuples! 6*
OCircularO trellis
-ecoding o/ tailbiting codes: Try all possible starting states multiplies complexity by 6 !@ i7e7@ run the Citerbi algorithm /or each o/ the 6 subcodes and compare the best paths /rom each subcode Duboptimum Citerbi: ;nitiali<e an arbitrary state at time 4 =ith <ero metric and /ind the best ending state7 Continue Oone roundO /rom there =ith the best subcode 68 MAP: Dimilar