he Performance of the Viterbi algo-
rithm with a new Polya contagion noise process is an-
alyzed. The markov channel is the memory channel
usually studied in the bibliography. The Polya chan-
nel was introduced years ago as a special case of a
memory channel. In this work, the Polya contagion
scheme is considered as a noise process and a Gauss-
Polya noise model is introduced this way in order to
perform soft decision decoding. The behavior of the
Viterbi algorithm on a given recursive sequential cir-
cuit is analyzed under this special case of memor channel,
Automating Google Workspace (GWS) & more with Apps Script
Performance of the Viterbi Algorithm on a Polya ChannelExample
1. Performance of the Viterbi Algorithm
on a Polya Channel
N´estor R. Barraza
Universidad Nacional de Tres de Febrero and Facultad de Ingenier´ıa. UBA.
Sep. 20th, 2013
Communications Channel - Convolutional coding
Source
Figure 1. Convolutional coder
noisy channel
Z
+
Viterbi Algorithm
S
def
= Set of state transitions
ˆU = ArgMax
U
P(U|Y, S)
?
= ArgMin
U
||Y − U||2
Constrained to S
Decoder
Additive white Gaussian noise
U X Y
w
ˆU
Generally, although not always. The branch metrics depends on the type of noise
Main challenge: to find the best branch metrics for a given channel
Gaussian Memoryless Channel Y = X + W
Figure 2. BER vs. SN ratio for the memoryless AWGN channel for Viterbi and bcjr (Bahl, Cocke, Jelinek,
Raviv) algorithms for the convolutional coder in Figure 1.
Lth
order Markov Channel
f(yk |yk−1, · · · , y−∞, x−∞, · · · , x∞) =
f(yk|yk−1, · · · , yk−L, xk−1, xk) (1)
Gauss-Markov Channel
yk = xk + xk−1 + w
Polya Channel
1 Polya urn model for contagion
2 zi = {0, 1} is a binary random variable corresponding to successful extractions in a
Polya urn model.
3 sn−1
.
= n−1
i=1 zi.
4 Let r, b be the original number of red and blue balls in the urn, define:
p =
r
r + b
σ =
b
r + b
γ =
c
r + b
(2)
5 Then:
P(zn|sn−1) =
p + sn−1
1 + (n − 1)γ
zn
x
σ + (n − 1 − sn−1)
1 + (n − 1)γ
1−zn
(3)
6 The discrete Polya noise model is a stationary binary process with probability
P(zi = 1) = p
7 Noise introduced by the Polya channel is considered to be additive with a probability
of error given by (3), then the output is obtained by a module-2 addition between the
input and noise
yi = xi + zi (4)
Our proposal: Gauss-Polya Channel
yi = xi + zi + w (5) Motivation: to model recording/reading processes with Polya noise and transmision over an AWGN
Results
Simulations
Simulate zi in (4) and apply Viterbi Hard Decision
Simulate zi and w in (5) and apply Viterbi Soft Decision
In both cases using ArgMin
U
||Y − U||2
as the estimator
Due to the big variance of BER, two average values are taken, let’s them call upper and lower
Figure 3. BER vs. SN ratio for the Polya channel showing the hard lower [HL], hard upper [HU], soft
lower [SL] and soft upper [SU] bounds for the convolutional coder in Figure 1.
Conclusions
The behavior of the Viterbi algorithm on a Polya channel was analyzed.
A contagion Gauss-Polya noise process was introduced in (5).
Simulations show that the classical minimum Hamming distance
corresponding to the maximum likelihood estimator
has good performance compared to the memoryless channel (Compare
figs 2 and 3). This shows that at least for the Viterbi algorithm
a branch metrics different than ||Y − U||2
between the received and the
estimated vectors does not appear to be necessary. Behavior of
turbocodes and interleaving processes will be analyzed in a future work.
Historical notes
The Polya noise model was introduced by F. Alajaji in 1994. A modified
branch metrics for the Markov channel was proposed by A. Kavcic and J.
Moura in 2000. The convolutional code of Fig. 1 was taken from a
pioneer paper on turbocodes by Berrou et. al. published in 1993.
Barraza UNTREF