Iterative decoding of two-dimensional systematic convolutional codes h
as been termed ''turbo'' (de)coding, Using log-likelihood algebra, we
show that any decoder can be used which accepts soft inputs-including
a priori values-and delivers soft outputs that can be split into three
terms: the soft channel and a priori inputs, and the extrinsic value,
The extrinsic value is used as an a priori value for the next iterati
on, Decoding algorithms in the log-likelihood domain are given not onl
y for convolutional codes but also for any linear binary systematic bl
ock code, The iteration is controlled by a stop criterion derived from
cross entropy, which results in a minimal number of iterations, Optim
al and suboptimal decoders with reduced complexity are presented, Simu
lation results show that very simple component codes are sufficient, b
lock codes are appropriate for high rates and convolutional codes for
lower rates less than 2/3. Any combination of block and convolutional
component codes is possible, Several interleaving techniques are descr
ibed, At a bit error rate (BER) of 10(-4) the performance is slightly
above or around the bounds given by the cutoff rate for reasonably sim
ple block/convolutional component codes, interleaver sizes less than 1
000 and for three to six iterations.