Soft-Output Values Propagation through the Boolean Logic ... - Telfor
Soft-Output Values Propagation through the Boolean Logic ... - Telfor
Soft-Output Values Propagation through the Boolean Logic ... - Telfor
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
14th Telecommunications forum TELFOR 2006 Serbia, Belgrade, November 21-23, 2006<br />
<strong>Soft</strong>-<strong>Output</strong> <strong>Values</strong> <strong>Propagation</strong> <strong>through</strong> <strong>the</strong><br />
<strong>Boolean</strong> <strong>Logic</strong> Circuits<br />
Nikola Djuric, Member, IEEE<br />
<br />
Abstract - The soft-decision decoding, of codes based on <strong>the</strong><br />
<strong>Boolean</strong> logics circuits and employed in magnetic recording<br />
systems, has been considered in this paper. Simple and hardware<br />
low-required approach for <strong>the</strong> soft-output value transmission<br />
<strong>through</strong> <strong>the</strong> <strong>Boolean</strong> logic circuits is presented. Some<br />
ma<strong>the</strong>matical approximations have been used to employ <strong>the</strong><br />
soft-decision in AND, OR and XOR <strong>Boolean</strong> logics circuits<br />
and consequently in maximum transition run (MTR) codes.<br />
Keywords — soft-output value, soft-decision decoding, constrained<br />
coding, magnetic recording systems, maximum transition<br />
run code.<br />
I. INTRODUCTION<br />
HE well known <strong>Boolean</strong> logic circuits, such as AND,<br />
TOR and XOR circuit are binary decision circuits. They<br />
are found on so-called hard-decision basis, producing only<br />
one type of information on <strong>the</strong>ir output: 0 or 1. In modern<br />
decoding technique <strong>the</strong> soft-output value or soft-value has<br />
been widely accepted as <strong>the</strong> essential information for <strong>the</strong><br />
proper decoder decisions [1].<br />
The soft-value of <strong>the</strong> binary variable x is defined using<br />
<strong>the</strong> log-likelihood ratio (LLR) as:<br />
P(<br />
x 0)<br />
LLR ( x)<br />
log ,<br />
(1)<br />
P(<br />
x 1)<br />
where log() is natural logarithm and P() is probability. The<br />
sign of <strong>the</strong> LLR(x) corresponds to <strong>the</strong> hard-decision, while<br />
its magnitude |LLR(x)| stands for <strong>the</strong> reliability of decision.<br />
This new class of information, <strong>the</strong> decision reliability, is<br />
highly valuable, since increases <strong>the</strong> available information<br />
redundancy and produces <strong>the</strong> additional degree of decision<br />
freedom. With variable soft-value, decoder instantly poses<br />
information about its hard-decision and also <strong>the</strong> reliability<br />
level about that decision. Consequently, this increases its<br />
chances for <strong>the</strong> proper estimations.<br />
The <strong>Boolean</strong> logic circuits are preferred in any kind of<br />
hardware realization, because <strong>the</strong> present integrated circuit<br />
technology makes <strong>Boolean</strong> logic circuits quite simple for<br />
realization. Unfortunately, codes which are based on <strong>the</strong>se<br />
circuits, such as <strong>the</strong> well known maximum transition run<br />
(MTR) codes [2], are fated on <strong>the</strong>ir hard-decisions.<br />
Research in iterative decoding/detection [3], for applications<br />
in magnetic recording, created a great interest among<br />
researchers [4]. This technique assumes exchange of softvalues<br />
among decoders/detectors, as <strong>the</strong>ir a prior informa-<br />
N. Djuric is with <strong>the</strong> Faculty of Technical sciences, University of Novi<br />
Sad, Serbia (phone: +381 21 6 350 805; fax: +381 21 475 05 72; e-mail:<br />
ndjuric@uns.ns.ac.yu).<br />
tion, which can be utilized to improve estimations in some<br />
following iterations.<br />
Therefore, in order to employ <strong>the</strong> <strong>Boolean</strong> logic circuits<br />
in a soft-decision decoding fashion and consequently in an<br />
iterative decoding scheme, <strong>the</strong> propagation of soft-values<br />
trough <strong>the</strong> basic <strong>Boolean</strong> circuits has to be accomplished.<br />
In this paper we present a simple method for <strong>the</strong> soft-value<br />
forwarding <strong>through</strong> <strong>the</strong> <strong>Boolean</strong> logic circuits. Ma<strong>the</strong>matical<br />
approximations with hardware low-requirements have<br />
been used to employ <strong>the</strong> LLR functionalities in AND, OR<br />
and XOR circuits [5].<br />
An approach for soft-value forwarding and soft-decision<br />
decoding in <strong>Boolean</strong> circuits is presented in <strong>the</strong> Section II.<br />
Utilization consequence of ma<strong>the</strong>matical approximation is<br />
described in Section III, while advantage and disadvantage<br />
of this method, particularly in case of MTR codes, is presented<br />
in Section IV. Finally, conclusions on <strong>the</strong> paper are<br />
given in Section V.<br />
II. AN APPROACH FOR THE SOFT-VALUE PROPAGATION<br />
In case of <strong>Boolean</strong> NOT logic easily can be shown that:<br />
P(<br />
x 0) P(<br />
x 1)<br />
LLR( x)<br />
log log LLR(<br />
x),<br />
(2)<br />
P(<br />
x 1) P(<br />
x 0)<br />
so, <strong>the</strong> propagation is accomplished by changing <strong>the</strong> sign<br />
of <strong>the</strong> soft-value which enters into <strong>the</strong> <strong>Boolean</strong> NOT logic.<br />
This approach can be also applied for <strong>the</strong> LLR of <strong>Boolean</strong><br />
AND logic output as:<br />
P(<br />
x1<br />
AND x2<br />
0)<br />
LLR ( x1<br />
AND x2)<br />
log<br />
, (3)<br />
P(<br />
x1<br />
AND x2<br />
1)<br />
and, assuming statistical independency of binary variables<br />
x 1 and x 2 , this LLR can be written as:<br />
LLR(<br />
x1<br />
AND x2)<br />
<br />
(4)<br />
LLR(<br />
x1 ) LLR(<br />
x2<br />
) LLL(<br />
x1<br />
) LLR(<br />
x2<br />
)<br />
log( e e e<br />
).<br />
The LLR of <strong>Boolean</strong> OR logic circuit output can be expressed<br />
as:<br />
P(<br />
x1<br />
OR x2<br />
0)<br />
LLR ( x1<br />
OR x2)<br />
log<br />
, (5)<br />
P(<br />
x1<br />
OR x2<br />
1)<br />
while assuming statistical independency, it is:<br />
LLR(<br />
x1<br />
OR x2)<br />
<br />
(6)<br />
LLR(<br />
x1 ) LLR(<br />
x2<br />
) (<br />
LLL(<br />
x1<br />
) LLR(<br />
x2<br />
))<br />
log( e e e<br />
).<br />
Finally, <strong>the</strong> LLR of <strong>Boolean</strong> XOR logic output is:<br />
P(<br />
x1<br />
XOR x2<br />
0)<br />
LLR ( x1<br />
XOR x2)<br />
log<br />
, (7)<br />
P(<br />
x1<br />
XOR x2<br />
1)<br />
and, when statistical independency was assumed, it can be<br />
represented as:<br />
581
LLR(<br />
x ) LLR(<br />
x )<br />
1<br />
2<br />
1<br />
e e<br />
LLR(<br />
x1<br />
XOR x2)<br />
log<br />
. (8)<br />
LLR(<br />
x1<br />
) LLR(<br />
x2<br />
)<br />
e e<br />
Unfortunately, effortless propagation of <strong>the</strong> soft-values<br />
in presented approach can not be achieved using equations<br />
(4), (6) and (8), since hardware realization of <strong>the</strong> log() and<br />
exp() functions, in digital systems, is not so easy task. For<br />
that reason, we have to employ some approximations with<br />
low-required hardware demands.<br />
III. SUGGESTED APPROXIMATIONS<br />
In case of <strong>the</strong> LLR of <strong>Boolean</strong> AND logic, <strong>the</strong> following<br />
approximation [5]:<br />
LLR app ( x1 AND x2)<br />
max[ LLR(<br />
x1),<br />
LLR(<br />
x2)],<br />
(9)<br />
simplifies <strong>the</strong> hardware realization of <strong>the</strong> soft-output values<br />
propagation <strong>through</strong> <strong>the</strong> circuits.<br />
This approximation in certain degree accompanies <strong>the</strong><br />
exact expression, but some deviation appears when LLR of<br />
both AND operands increases, as shown in Fig. 1.<br />
10<br />
5<br />
0<br />
log[e LLR(x1) + e LLR(x2) + e LLR(x1)+LLR(x2) ]<br />
-5<br />
5<br />
0<br />
LLR(x 2<br />
)<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
5<br />
0<br />
LLR(x 2<br />
)<br />
-5<br />
-5<br />
0 2 4<br />
LLR(x ) 1<br />
LLR(x 1<br />
AND x 2<br />
) - LLR app<br />
(x 1<br />
AND x 2<br />
)<br />
-5<br />
0<br />
LLR(x 1<br />
)<br />
5<br />
LLR(x 2<br />
)<br />
4<br />
2<br />
0<br />
-2<br />
-4<br />
5<br />
0<br />
LLR(x ) 2<br />
4<br />
2<br />
0<br />
-2<br />
max[LLR(x 1<br />
), LLR(x 2<br />
)]<br />
-5<br />
0 2 4<br />
LLR(x ) 1<br />
LLR(x 1<br />
AND x 2<br />
) - LLR app<br />
(x 1<br />
AND x 2<br />
)<br />
-4<br />
-4 -2 0 2 4<br />
LLR(x 1<br />
)<br />
Fig. 1 LLR of <strong>Boolean</strong> AND logic and its approximation<br />
Disagreement is not critical because in moments when it<br />
appears <strong>the</strong> output result obtained by <strong>the</strong> exact expression<br />
and its approximation is known with sufficiently high reliability,<br />
which is acceptable for <strong>the</strong> proper decoder estimation.<br />
Simple hardware realization of <strong>the</strong> LLR of <strong>Boolean</strong> OR<br />
logic is possible using approximation:<br />
LLR app ( x1 OR x2)<br />
min[ LLR(<br />
x1<br />
), LLR(<br />
x2)].<br />
(10)<br />
while deviation between approximation and <strong>the</strong> exact expression<br />
is shown in Fig. 2.<br />
It can be observed that disagreement appears when LLR<br />
of both <strong>Boolean</strong> OR operands decreases, but in those moments<br />
<strong>Boolean</strong> logic output result is already well known.<br />
Finally, using approximation as fallowing one:<br />
LLL app ( x1<br />
XOR x2)<br />
sign[<br />
LLR(<br />
x1)]<br />
sign[<br />
LLR(<br />
x2)]<br />
(11)<br />
min[ LLR(<br />
x1<br />
), LLR(<br />
x2)],<br />
simple propagation is possible <strong>through</strong> <strong>the</strong> <strong>Boolean</strong> XOR<br />
circuit. Deviation of <strong>the</strong> approximation is show in Fig. 3.<br />
log[(1 + e LLR(x1)+LLR(x2) ) / (e LLR(x1) + e LLR(x2) ) ]<br />
4<br />
2<br />
0<br />
-2<br />
-4<br />
-4<br />
5<br />
5<br />
0<br />
0<br />
-4 -2 0 2 4<br />
LLR(x<br />
-5<br />
2<br />
) -4 -2 0 2 4<br />
LLR(x<br />
-5<br />
LLR(x 1<br />
)<br />
2<br />
)<br />
LLR(x 1<br />
)<br />
1<br />
0.5<br />
0<br />
-0.5<br />
LLR(x 1<br />
XOR x 2<br />
) - LLR app<br />
(x 1<br />
XOR x 2<br />
)<br />
sign[LLR(x 1<br />
)] sign[LLR(x 2<br />
)] min[LLR(x 1<br />
), LLR(x 2<br />
)]<br />
2<br />
-2<br />
-1<br />
5<br />
0<br />
0 2 4<br />
-4<br />
-5 -2 -4 LLR(x ) -4 -2 0 2 4<br />
LLR(x 1<br />
)<br />
LLR(x ) 1<br />
LLR(x 2<br />
)<br />
4<br />
2<br />
0<br />
-2<br />
4<br />
2<br />
0<br />
LLR(x 1<br />
XOR x 2<br />
) - LLR app<br />
(x 1<br />
XOR x 2<br />
)<br />
Fig. 3 LLR of <strong>Boolean</strong> XOR logic and its approximation<br />
The small degree of deviation appears when both XOR<br />
operands have similar LLR values, but when this occur <strong>the</strong><br />
<strong>Boolean</strong> XOR logic output result is already well known so<br />
<strong>the</strong> exact reliability is not highly important.<br />
IV. MTR SOFT-DECISION DECODING<br />
With suggested LLR implementation, <strong>the</strong> soft-output information<br />
can be spread <strong>through</strong> <strong>the</strong> basic <strong>Boolean</strong> circuits<br />
preserving hardware complexity at <strong>the</strong> same level. Similar<br />
logic circuits, but with <strong>the</strong> LLR functionalities, can be utilized<br />
to make possible <strong>the</strong> soft-decision MTR decoding and<br />
to employ MTR codes in iterative decoding schemes [6].<br />
MTR codes can be described as MTR (k 1 , j) where k 1 is<br />
transition run constraint, and j is usual RLL constraint [2].<br />
In a case of rate 4/5 (k 1 = 2, 8) MTR code, hardware realization<br />
which provides simple and low-cost realization, is<br />
shown in Fig. 4.<br />
x0 x1 x2 x3<br />
y0<br />
y0 y1 y2 y3<br />
y4<br />
x0<br />
5<br />
-log[e -LLR(x1) + e -LLR(x2) + e -[LLR(x1)+LLR(x2)] ]<br />
4<br />
min[LLR(x 1<br />
), LLR(x 2<br />
)]<br />
x1<br />
0<br />
2<br />
y1<br />
x2<br />
0<br />
y2<br />
-5<br />
-2<br />
-10<br />
5<br />
0<br />
LLR(x ) 2<br />
-5<br />
-5<br />
0<br />
LLR(x 1<br />
)<br />
5<br />
-4<br />
5<br />
0<br />
LLR(x ) 2<br />
-5<br />
-5<br />
0<br />
LLR(x 1<br />
)<br />
5<br />
y3<br />
x3<br />
0<br />
LLR(x 1<br />
OR x 2<br />
) - LLR app<br />
(x 1<br />
OR x 2<br />
)<br />
4<br />
LLR(x 1<br />
OR x 2<br />
) - LLR app<br />
(x 1<br />
OR x 2<br />
)<br />
y4<br />
-1<br />
-2<br />
-3<br />
-4<br />
-5<br />
5<br />
0<br />
LLR(x 2<br />
)<br />
-5<br />
0 2 4<br />
LLR(x 1<br />
)<br />
LLR(x 2<br />
)<br />
2<br />
0<br />
-2<br />
-4<br />
-4 -2 0 2 4<br />
LLR(x 1<br />
)<br />
Fig. 2 LLR of <strong>Boolean</strong> OR logic and its approximation<br />
MTR Encoder<br />
MTR Decoder<br />
Fig. 4 Rate 4/5 (k 1 = 2, 8) MTR code implementation<br />
Using logic circuits with LLR functionalities, described<br />
by equation (2), (9), (10) and (11), iterative decoding utilization<br />
of MTR codes is possible [7], as shown in Fig. 5.<br />
582
y<br />
Message<br />
SOVA<br />
<strong>Soft</strong>-decision<br />
MTR decoder<br />
1D Passing<br />
1 <strong>Soft</strong>-decision LLR MESS.PASS.<br />
1 D MTR coder N iter<br />
LLR SOVA LLR MTR<br />
N iter<br />
LDPC Decoder<br />
-1 -> 1<br />
+1 -> 0<br />
LLR MESS.PASS.<br />
Fig. 5 Iterative decoding<br />
Info. bit<br />
Decoder<br />
LDPC–MTR concatenation was performed over E 2 PR4<br />
partial response magnetic recording channel [8], using rate<br />
R = 0.96 LDPC, of length N = 4732 with M = 169 parity<br />
`bits and with column-weight 3 [9], as an outer and rate<br />
4/5 MTR (k 1 = 2, 8) as an inner encoding code.<br />
Channel detection has been performed by optimum softoutput<br />
Viterbi detector (SOVA) [1], while LDPC decoding<br />
by <strong>the</strong> message-passing algorithm [10].<br />
In this simulation scenario <strong>the</strong> feedback from messagepassing<br />
to <strong>the</strong> SOVA detector, has been incorporated, using<br />
<strong>the</strong> soft-output MTR encoder. Now, <strong>the</strong> algorithms can<br />
exchange <strong>the</strong> soft-output values between each o<strong>the</strong>r, trying<br />
to improve <strong>the</strong>ir estimations from <strong>the</strong> previous iterations.<br />
Unfortunately, as can be seen from <strong>the</strong> Fig. 4, bits of <strong>the</strong><br />
MTR decoder output codeword are:<br />
x y y y y y y y<br />
0<br />
1<br />
2<br />
3<br />
1<br />
x y<br />
2<br />
3<br />
0<br />
3<br />
0<br />
x y y y y y<br />
0<br />
2<br />
2<br />
4 .<br />
x y y y<br />
3<br />
0<br />
0<br />
4<br />
2<br />
3<br />
i<br />
(12)<br />
LLR of each of <strong>the</strong>m is highly conditioned with several<br />
decoder input bits, which means that soft-output information,<br />
which propagates <strong>through</strong> <strong>the</strong> MTR modul, very soon<br />
becomes statistically dependent. Therefore, with increased<br />
number of iterations statistical independency in equations<br />
(4), (6) and (8) can not be strictly assumed, and thus equations<br />
(9), (10), and (11) can not precisely describe <strong>the</strong> exact<br />
LLR expressions of <strong>the</strong> MTR <strong>Boolean</strong> logic circuits.<br />
Simulation results are depicted in Fig. 6.<br />
BER<br />
10 0 LDPC - MTR codes concatenation over E 2 PR4 channel<br />
10 -1<br />
Uncoded case<br />
Niter = 0<br />
MTR<br />
Niter = 2<br />
soft-decision{<br />
Niter = 4<br />
Niter = 6<br />
10 -2<br />
10 -3<br />
10 -4<br />
10 -5<br />
10 -6<br />
6 7 8 9 10 11 12<br />
SNR = 10log(Eb/No) [dB]<br />
Fig. 6 Iterative decoding of LDPC–MTR codes<br />
The promising soft-decision MTR implementation with<br />
increased number of iteration have a similar decoding gain<br />
of 1.7dB, around BER = 10 -5 , far all iterations, comparing<br />
to uncoded case. Unfortunately, when <strong>the</strong> number of iterations<br />
is increased <strong>the</strong>re is no additional coding gain, comparing<br />
with <strong>the</strong> first iteration.<br />
Obtained results are not so un-expected, since extensive<br />
dependencies are present in MTR codeword bits, resulting<br />
with not so reliable soft-output information. Consequently,<br />
such unreliable information can not help SOVA and message-passing<br />
algorithms to improve <strong>the</strong>ir decisions in following<br />
iterations.<br />
V. CONCLUSION<br />
Simple approach for <strong>the</strong> soft-output values propagation<br />
<strong>through</strong> <strong>the</strong> basic <strong>Boolean</strong> logic circuits was considered.<br />
In order to employ method with hardware low demands,<br />
a few effortless ma<strong>the</strong>matical approximations have been<br />
used. It is shown that fast and effective propagation, of <strong>the</strong><br />
soft-output information, can be obtained by utilizing LLR<br />
algebra in basic <strong>Boolean</strong> logic circuits.<br />
Consequently, <strong>the</strong> soft-decision MTR decoder was constructed<br />
using logic circuits with LLR functionalities. Such<br />
implementation makes possible <strong>the</strong> MTR codes utilization<br />
in iterative decoding schemes. In one of <strong>the</strong>m, we consider<br />
a case when LDPC acts as an outer and MTR as an inner<br />
code, over E 2 PR4 magnetic recording channel. Using <strong>the</strong><br />
soft-output MTR decoding, 1.7dB decoding gain has been<br />
obtained for BER = 10 -5 , comparing to <strong>the</strong> uncoded case.<br />
Unfortunately, with increased number of iterations <strong>the</strong>re<br />
is no additional coding gain, since high statistical dependency<br />
is present in decoder output codeword. In such situation<br />
<strong>the</strong> suggested method can not accurately describe <strong>the</strong><br />
exact LLR expressions of <strong>the</strong> basic <strong>Boolean</strong> logic circuits.<br />
REFERENCES<br />
[1] J. Hagenauer, “Source-controlled channel decoding,” IEEE Trans.<br />
Comm., vol. 43, No. 9, pp. 2449-2457, September 1995.<br />
[2] J. Moon and B. Brickner, “Maximum transition run codes for data<br />
storage systems,” IEEE Trans. Magn., vol. 32, no. 5, pp. 3992-<br />
3992, September 1996.<br />
[3] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit<br />
error-correcting coding and decoding: Turbo codes,” in IEEE Int.<br />
Conf. Communications, Conf. Record, vol. 2, pp. 1064–1070, Geneva,<br />
Switzerland, May 23–26, 1993.<br />
[4] R. Lynch, E. M. Kurtas, A. Kuznetsov, E. Yeo and B. Nikolic, “The<br />
search for a practical iterative detector for magnetic recording,”<br />
IEEE Trans. Magn., vol. 40, No. 1, pp. 213-218, January 2004.<br />
[5] N. Djuric, M. Despotovic, “<strong>Soft</strong>-output decoding approach of<br />
maximum transition run codes”, The International Conference on<br />
"Computer as a tool", EUROCON 2005 Proceeding, pp 490-493<br />
Belgrade, November 22-24, 2005.<br />
[6] N. Djuric, “Iterative decoding of LDPC - MTR code concatenation<br />
over partial response magnetic recording channels,” PSU-UNS International<br />
Conference on Engendering and Environment – ICEE<br />
2005, in press, Novi Sad, May 2005.<br />
[7] N. Djuric, “Hardware approach for <strong>the</strong> soft-output decoding of<br />
maximum transition run codes”, submitted for publications, AEU -<br />
International Journal of Electronics and Communications, 2006.<br />
[8] H. K. Thapar and A. M. Patel, “A class of partial response systems<br />
for increasing storage density in magnetic recording,” IEEE Trans.<br />
Magn., vol. MAG-25, pp. 3666-3668, September 1987.<br />
[9] B. Vasic, E. Kurtas and A. Kuznetsov, "Kirkman systems and <strong>the</strong>ir<br />
application in perpendicular magnetic recording," IEEE Trans.<br />
Mag., vol. 38, no. 4, Part: 1, pp. 1705 -1710, July 2002.<br />
[10] F. R. Kschischang, B. J. Frey and H.-A. Loeliger, “Factor graphs<br />
and <strong>the</strong> sum-product algorithm,” IEEE Trans. Inform. Theory, pp.<br />
498-519, February 2001.<br />
583