Performance Peculiarities of Viterbi Decoder in Mathworks Simulink, GNU Radio and Other Systems With Likewise Implementation
Performance Peculiarities of Viterbi Decoder in Mathworks Simulink, GNU Radio and Other Systems With Likewise Implementation
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
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.
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. 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.