From: Simplane Simple Plane Simulate Plain Simple on
count=0
do while m=N
e=e–2*y
if e=0 then
puncture bit Cm
Cm2,
from set S0
e=e+2*NC
else if m%2==0
puncture bit C m
from set S0
else if m%2==1
puncture bit Cm2, from set S0
end if
m=m+1
end do
if
Ni
NC
(
)
2
3
1
≤
y=3*N-Ni
e=N
m=1
count=0
do while m=N
e=e-2*y
if e=0 then
if count %2==0
puncture bit Cm2,
from set S0
endif
if count %2==1
puncture bit Cm1,
from set S0
endif
e=e+2*NC
count=count+1
end if
m=m+1
end do
endif
The above algorithm follows turbo code puncturing rules imposed.
3GPP/TSG/RAN/WG1#4 TDOC 338/99
In the above algorithm, NiNC
/
/
=23 means code rate is 1/2 optimal puncturing pattern of code rate
1/2 proposed puncturing algorithm provides same puncturing pattern.
when NiNC
/
/
23 is transparent optimal puncturing pattern 1/2.
Systematic
bits
Parity
bits 1
Parity
bits 2
puncturing pattern 1/2 turbo code
Simulation Results
Simulation conditions are as below.
● Interleaver depth is 640
● Internal interleaver is CDI.
● Constraint length of the constituent code is 4.
● Conventional termination method is applied.
● A full MAP with floating point implementation is used for decoding
of constituent encoders
● Iteration number is 4.
● At BER 10 5−, at least 100 frame errors have to be counted
● Simulations are carried out in an AWGN channel
● Conventional puncturing algorithm parameters Comparison performed
Case 1 : 128 puncturing 1/2 turbo code
Effective code rate=640640 2 12 12864011640 55.+−==
Case 2 : 384 puncturing from 1/3 turbo code
Effective code rate=640640 3 12 38464015480 41*.+−==
The simulation results shows proposed puncturing algorithm coding gain
0.04 dB at BER 10 5−and 0.015 dB at a FER of 10 3−in Case 1.. In Case
2, the proposed puncturing algorithm coding gain of 0.1 dB at a BER of
10 5−and 0.07 dB at a FER of 10−
..3GPP/TSG/RAN/WG1#4 TDOC 338/99
1.000E-04
1.000E-03
1.000E-02
1.000E-01
1.000E+00
Frame and bit error rate comparison of 128 punctured 1/2 turbo
code(Case 1)
1.000E-02
1.000E-01
1.000E+00
Frame and bit error rate comparison of 384 punctured 1/3 turbo
code(Case 2)

To enhance the performance of the conventional puncturing algorithm
for turbo code, a novel puncturing algorithm is proposed in which
puncturing is only done alternatively between two encoder parity bits.
The proposed puncturing algorithm is simple and has superior
performance over conventional algorithms.