0% found this document useful (0 votes)
45 views4 pages

Performance Peculiarities of Viterbi Decoder in Mathworks Simulink, GNU Radio and Other Systems With Likewise Implementation

This paper examines how the implementation of the Add-Compare-Select unit in the Viterbi algorithm can affect decoding performance for convolutional codes. Specifically, it was found that: 1) In some implementations, the proportion of zeros and ones in the input message can influence decoding performance, contrary to the theoretical independence. 2) This occurs because the equality case in path metric comparisons is handled deterministically, favoring either the path with more zeros (zero-oriented) or the path with more ones (one-oriented). 3) Simulations were conducted to study the impact of these effects on bit error rate for different implementations as the message composition varies.

Uploaded by

Habeeb Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views4 pages

Performance Peculiarities of Viterbi Decoder in Mathworks Simulink, GNU Radio and Other Systems With Likewise Implementation

This paper examines how the implementation of the Add-Compare-Select unit in the Viterbi algorithm can affect decoding performance for convolutional codes. Specifically, it was found that: 1) In some implementations, the proportion of zeros and ones in the input message can influence decoding performance, contrary to the theoretical independence. 2) This occurs because the equality case in path metric comparisons is handled deterministically, favoring either the path with more zeros (zero-oriented) or the path with more ones (one-oriented). 3) Simulations were conducted to study the impact of these effects on bit error rate for different implementations as the message composition varies.

Uploaded by

Habeeb Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 1

Performance Peculiarities of Viterbi Decoder in


Mathworks Simulink, GNU Radio and Other
Systems with Likewise Implementation
Alexey Shapin, Denis Kleyko, Nikita Lyamin, Evgeny Osipov and Oleg Melentyev

AbstractThe performance of convolutional codes decoding Viterbi decoder and the proportion of bits in the input
by the Viterbi algorithm should not depend on the particular message. The presented finding is by itself useful to a wide
distribution of zeros and ones in the input messages, as they are community of researchers and practitioners while assessing
linear. However, it was identified that specific implementations of the performance of communication systems via simulations.
Add-Compare-Select unit for the Viterbi Algorithm demonstrate The contribution of this paper is threefold:
the decoding performance that depends on proportion of
it was identified that specific implementations of Add-
elements in the input message. It is conjectured that the modern
commercial hard- and software defined communication Compare-Select unit for VA demonstrate the decoding
equipment may also feature similar implementation and as such performance that depends on proportion of zeros and
their decoding performance could also vary. ones in input messages;
Index Terms Add-Compare-Select, Viterbi algorithm, the theoretical influence of the discovered effect on the
convolutional codes decoding performance of various Viterbi decoder
implementations was studied;
I. INTRODUCTION
it is conjectured based on available literature that the

C ONVOLUTIONAL codes are a class of error-correcting


codes. They are widely used in modern
telecommunication systems, e.g. in IEEE 802.11 [1], IEEE
decoding performance of the modern decoding hardware
could also vary due to specifics of the VA
implementation.
802.16 [2], UMTS [3], LTE [4], etc. Convolutional codes can The letter is structured as follows. The implementation
be decoded by several methods, e.g. Viterbi algorithm, details of the Viterbi algorithm are described in Section II. The
sequential decoding, BCJR algorithm. The Viterbi algorithm problem formulation follows in Section III. Section IV
(VA) [5] is one of the most common approaches, it is presents the simulations methodology and the results. The
recommended in all the above mentioned standards. It is also letter is concluded with a discussion on hardware decoders and
implemented in Mathworks Simulink Communications potential for performance improvements in Section V.
Systems Toolbox [6] and GNU Radio [7] which are widely
used for experiments and a performance evaluation of digital II. RELEVANT IMPLEMENTATION DETAILS OF VITERBI
communication systems by the research community. ALGORITHM
There are many studies of different aspects of the VA, For the detailed description of the Viterbi algorithm as well
however, this paper only investigates how specifics of as its extensive performance analysis in the context of
implementation of the VA affect the decoding performance. decoding of convolutional codes over a noisy communication
The convolutional codes are linear codes and theoretically channel the interested reader is referred to [5, 8]. The VA was
bits of the input message prior encoding should not affect the firstly identified as the maximum likelihood sequence
performance of the VA. However, throughout this paper it is estimator in [9]. This section recalls the major aspects of the
shown that in specific implementations of the VA the algorithm, which are relevant for the considered problem. In
proportion between zeros and ones in the message may general the VA finds the most likely message of states of a
influence the decoding performance. Thus, this letter reports Hidden Markov Model, called a path, which produces a
that under various implementations of Add-Compare-Select particular observed output. Each decoding step the VA
unit there may be dependency between the performance of the produces several candidate branching paths, which lead to the
same output state. This is illustrated in in Fig. 1. Each branch
Manuscript received September 10, 2015. is characterized by a branch metric, which when summed up
A. Shapin and O. Melentyev are with the Department of Automatic result in a path metric. The algorithm selects the path with the
Electrical Communications, Siberian State University of Telecommunications minimal path metric. Thus, the VA operations are
and Information Sciences, 630 102 Novosibirsk, Russia (e-mail:
[email protected]; [email protected]). implemented in the Add-Compare-Select (ACS) unit [9]
N. Lyamin is with School of Information Technology, Halmstad illustrated in Fig. 2.
University, Halmstad, 301 18 Halmstad, Sweden (e-mail: The comparator produces three different outcomes: less,
[email protected])
D. Kleyko and E. Osipov are with the Department of Computer Science greater or equal. While the decision in the first two cases
Electrical and Space Engineering, Lule University of Technology, 971 87 is univocal, handling of the equal case differs from one
Lule, Sweden (e-mail: [email protected]; [email protected]).
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 2

implementation to another resulting in a rather different (including the equality case) p1 is selected. In the example on
performance. The decision-making in the case of equality of the trellis (Fig. 2) it can be shown that such Viterbi decoder
the path metrics is the major focus of this letter. Specifically, it selects the path, which is closer to the top (p1). Hence, the
is demonstrated that this situation appears often when hard- path containing more zeros is chosen. This pre-defined
input decoder or small number of quantization levels for the deterministic choice makes the VA to be zero-oriented. This
soft-input decoder are considered. letter demonstrates that for such implementation the higher the
proportion of zeros in an input message the lower is the bit
error rate (BER) after decoding under the same Signal-to-
Noise ratio (SNR) in the channel.
The one-oriented approach is based on the strictly less
condition. If M1 < M2, then p1 is selected, otherwise
(including the metric equality case) p2 is selected. In the
discussed example such Viterbi decoder selects the path,
which is closer to the bottom of the trellis (p2) or in other
words, the path with more ones. This letter demonstrates that
for such implementation the higher the proportion of ones in
an input message the lower is BER after decoding for the
Fig. 1. Paths metrics equality in the considered example.
Fig. 1 demonstrates an example of the metric equality case same SNR in the channel.
occurrence on the trellis for simple convolutional code with The intuition behind this dependency is that the path
the constraint length 2 and polynomials in octal form (5, 7). coming from the upper part of the trellis contains more zeros
The following notations were adopted: branching paths caused than the path coming from the lower part of the trellis. Note
by a zero input bit are shown as solid lines and branching that despite the fact that the last bits of the paths leading to the
paths caused by a one input bit are shown as dashed lines, same state on the trellis are the same (e.g. in Fig. 2 both p1
similarly with [5]. At the end of the trellis in the state 01 and p2 are terminated by one), the choice of the particular path
denote the top path 10001 as p1 (marked with red), the will affect the preceding bits. In other words the effect can be
bottom path 11101 as p2 (marked with blue) and paths seen in retrospective only. Thus, if a path with more zeros
metrics as M1 and M2 correspondingly. Note that p1 has more survives and zeros dominate in the input message then some
zeros compare to p2; M1 and M2 are equal. bits will be correctly guessed by the decoder; similarly, if a
path with more ones survives and zeros dominate in the input
message then some bits will be wrongly guessed by the
decoder.

IV. SIMULATION METHODOLOGY AND RESULTS


In this section we demonstrate the theoretical influence of
the discovered effect on the decoding performance of various
Viterbi decoder implementations through a series of
simulations performed using Simulink. In order to study the
Fig. 2. A schematic of the ACS operation. influence of the proportion of the input bits on the
performance of different Viterbi decoders, Binary Bernoulli
III. PROBLEM FORMULATION Generator (BBG) with controlled input probability of zero
According to the original VA, in the metric equality case (PoZ) was used. Random paths selection and the ones-oriented
the surviving path must be selected with equal probability by Viterbi decoders were implemented as 2-level S-functions.
tossing a coin [5]. This property is of the major importance The Viterbi decoder from the Communications System
and makes the decoding performance of VA independent from
the proportion of the bits in the input message. In the example
demonstrated in Fig. 1 according to the original VA both paths
have equal chances to survive. However, many VA
implementations including Simulink [6], GNU Radio [7] use
strict rule instead of random path selection as supposed by the
original VA. Available literature on modern hardware
decoders [10,11,12,13,14,15,16] gives us evidence that at least
part of them also uses strict rule.
There are two options for the strict path selection
implementation: the zero-oriented and the one-oriented
approaches.
The zero-oriented approach is based on the strictly
greater condition. If M1 > M2, then p2 is selected, otherwise
Fig. 3. The percentage of metric equality cases in total number of compare
operations (PoZ = 0.5).
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 3

Toolbox [6] was used as the zero-oriented Viterbi decoder. VA and 2.4 times better than the one-oriented decoder. It is
BPSK-modulation along with AWGN channel has been used. important to note that for PoZ = 0.5 all three approaches show
In order to reduce the simulation time the simple the same performance as expected.
convolutional code with rate 1/2 and polynomials in octal
form (5, 7) was considered. First question, which was
investigated, is how often a decoder meets the metric equality
cases. Fig. 3 shows numbers of the metric equality cases as a
percentage of all compare operations for the hard-input
decoder and the soft-input decoders with 4, 8 and 16
quantization levels. To obtain the soft-inputs uniform
quantization was used. Fig. 3 shows stable correlation between
the numbers of metrics equality cases and SNR level for all
types of decoders. Obviously, the hard-input decoder has the
maximum percentage of metric equality cases. Number of the
metric equality cases also increases for low SNR values.
Furthermore, it was found that PoZ does not affect the
percentage of metric equality cases. Note, that PoZ = 0 means Fig. 5. Soft-input 8-levels decoding performance against PoZ (SNR = 0 dB).
that the system encodes and decodes the message completely Fig. 6 presents the decoding performance of different
consisted of ones. Oppositely, PoZ = 1 represents all-zeros approaches for PoZ = 0 against SNR values ranging from -
message. 2 dB to 5 dB. The results demonstrate the maximum possible
positive and negative effects with respect to the random
selection. They are higher when the hard-input decoder is
considered. This is explained by the fact that the chance of the
metric equality for the hard-input decoder is higher (Fig. 3).

Fig. 4. Hard-input decoding performance against PoZ (SNR = 0 dB).


The impact of PoZ on the decoding performance for
different implementations of VA can be treated as an
important performance metric in the scope of identified effect.
To access the influence hard-input decoder (Fig. 4) and soft-
input decoders (Fig. 5) were simulated. For the soft-input
decoder 8-levels uniform quantization was used, since it was Fig. 6. Decoding performance against SNR (PoZ = 0).
shown that practically it is enough for optimum decoding [17]. Fig. 7 presents surfaces of the decoding performance for the
Both figures were obtained under the same value of zero-oriented Simulink Viterbi decoder. The hard-input
SNR=0 dB. Such low value was chosen for illustrative decoder along with binary symmetric channel was used. The
purposes: in order to clearly demonstrate the difference channel is characterized by the bit error probability. Five
between the zero-oriented and the one-oriented approaches. different convolutional codes were estimated. The decoding
To reduce the simulation time the smooth filtering of the performance was assessed against the bit error probability and
results was performed on the soft-input decoders (solid lines in probability of zeros in input messages. The results confirm the
Fig. 5). Both figures clearly show that the original VA with observation that the decoding performance of the zero-
random path selection has the stable performance oriented decoder depends on the input messages.
independently from the probability of zeros in input messages.
However, the strict rule based Viterbi decoders show quite V. DISCUSSION AND CONCLUSION
different behavior. Obviously, when only ones are transmitted
(PoZ = 0), the one-oriented approach has the best performance In this letter we reported the dependency of the decoding
while the zero-oriented approach has the worst performance. performance of Viterbi algorithm from characteristics of the
On the other hand, when only zeros are transmitted (PoZ = 1), input bit message. This dependency is a feature of VA
the decoding performance of the zero-oriented approach is implementation in the modern tools for experimental research.
almost two times better than the performance of the original The substitution of the randomized tie-breaking step in the
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 4

Fig. 7. The decoding performance of the built-in Simulink decoder for different polynomials.
case of the paths metric equality with strict logical conditions for further investigations.
results in favorable decoding opportunities for messages with
specific proportion of zeros and ones. This dependency was REFERENCES
not documented previously in either the research literature or [1] IEEE Std. 802.11-2012, Part 11: Wireless LAN Medium Access Control
technical documentation. The roots for this implementation (MAC) and Physical Layer (PHY) specifications, Mar. 2012.
[2] IEEE Std. 802.16-2012, IEEE Standard for Air Interface for Broadband
most likely go to early hardware implementations of the
Wireless Access Systems, Aug. 2012.
Viterbi algorithm [10] and an attempt of the experimental [3] ETSI TS 125 201 V8.1.0, Universal Mobile Telecommunications
software to have as close to the reality implementation as System (UMTS); Physical layer - general description, Oct. 2008.
possible. In the case of the hardware implementation, the [4] ETSI TS 136 212 V10.5.0, LTE; Evolved Universal Terrestrial Radio
Access (E-UTRA); Multiplexing and channel coding, Mar. 2012.
choice of exchanging the randomization of the path selection [5] A. J. Viterbi, Convolutional codes and their performance in
with the strict logical condition is explained by substantial communication systems, IEEE Transactions on Information Theory,
complications with designing electronic circuits for vol. IT-19, no. 5, pp. 751772, Oct. 1971.
[6] MATLAB Viterbi Decoder. Available at
randomization. Although due to their proprietary designs it is http://www.mathworks.com/help/comm/ref/viterbidecoder.html
hard to say whether commercial implementations feature the [7] GNU Radio Viterbi Decoder. Available at
same VA implementation. However, Based on available http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/a52f9
a19581901beabc9111917965b9817231014/entry/gnuradio-
sources [10,11,12,13,14,15,16] at least a part of modern core/src/lib/viterbi/viterbi.c
hardware implementations is subject to the described [8] S. Lin and D.J. Costello, Error Control Coding. Pearson, 2004.
dependency. This letter also identified that the open source [9] Forney G. David, The Viterbi algorithm, Proceedings of the IEEE,
March 1973, pp. 268 278.
SDR implementation GNU radio [7] does so. Thus, the [10] H. Lou, Viterbi decoder design for the IS-95 CDMA forward link,
results reported in this paper could be practically used when Proc. Vehicular Technology Conf., vol. 2, pp.1346 -1350, 1996.
simulating different VA decoders implementations. [11] H. Dawid et al., Viterbi decoders: High performance algorithms and
architectures, in Digital Signal Processing for Multimedia Systems, ser.
To which extend the discovered dependency is critical in
Signal Processing Series. Marcel Dekker, Inc., Feb. 1999, ch. 17.
reality requires additional investigation. The performed [12] E. J. Ulmer and J. M. Stein, Efficient trellis state metric normalization
simulations demonstrated the performance degradation in the U.S. Patent 6189126 B1, February 13, 2001.
considered scenarios could be severe. As a part of the [13] D. Garrett, High speed add-compare-select processing U.S. Patent
20030028846 A1, February 6, 2003.
discussion, however, it worth mentioning that several possible [14] H.C. Chen et al., ACS circuit and Viterbi decoder with the circuit U.S.
ways for improving the performance might be considered. For Patent 20070044008 A1, February 22, 2007.
example, depending on the choice of the logical condition in [15] X. Guan, D. Zhou, D. Wang, Y. Yang, Z. Zhu, A Case Study on Fully
Asynchronous ACS Module of Low-power Viterbi Decoder for Digital
the implementation one could deploy additional zero- or one- Wireless Communication Applications, International Conference on
scrambling increasing by this the proportion of bits favorable Computational Intelligence and Natural Computing, CINC '09, Vol. 2,
by the implementation. Also the correlation between the count pp. 426-429, 2009.
[16] E. F. Haratsch, Methods and apparatus for reduced complexity soft-
of the metric equality cases and SNR can be used to improve output Viterbi detection U.S. Patent 8074157 B2, December 6, 2011.
noise level estimation. Thus the number of observed metric [17] I.E. Bocharova, R. Johannesson, and B. D. Kudryashov, A Closed-
equality cases could be converted into the SNR level. These Form expression for the exact bit error probability for Viterbi decoding
of convolutional codes, IEEE Transactions on Information Theory, vol.
topics as well as other possible optimization steps are subject 58, no.7, pp.46354644, July 2012.

You might also like