19.11.2014 Views

mohatta2015.pdf

signal processing from power amplifier operation control point of view

signal processing from power amplifier operation control point of view

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

124 MAXIMUM LIKELIHOOD SEQUENCE DETECTION<br />

Often, if the decision depth is large enough, there is no difference between this<br />

decision and the decision without a decision depth (i.e., infinite decision depth). If<br />

this is true, then finite decision depth will keep selecting symbols from the same<br />

path. Sometimes a consistency check is made. If the algorithm switches which path<br />

it is taking symbols from, then an error is declared. This is not always necessary,<br />

as error correction coding (see Chapter 8) can be used to correct errors made this<br />

way.<br />

Another practical issue is metric growth. As branch metrics are accumulated,<br />

the path metric may become too large to be represented by the computing device<br />

(overflow). One solution is metric renormalization, in which the same value is<br />

subtracted from each path metric at a certain iteration.<br />

We have assumed that the first symbol is known. If this is not the case, then we<br />

need to hypothesize different values for this symbol as well.<br />

6.3.1.1 Flow diagram A flow diagram of the Viterbi algorithm (assuming infinite<br />

decision depth) is shown in Fig. 6.9. Before we walk through the diagram, let's set<br />

up some assumptions and notation.<br />

We assume that the first and last symbols sent are «o and s^„_i. We have access<br />

to received samples that can be modeled as<br />

L-l<br />

r m \= 5Z c t s m-e + n m . (6.34)<br />

e=u<br />

We also assume we have access to received samples at symbol periods m\ through<br />

rri2, which are not necessarily 0 and N s — 1, respectively.<br />

To simplify the notation, we will denote the symbols that state i represents<br />

at current processing time m as q m (i) = \q m {i) ... g m _(z,_2)(¿)]· T ne number of<br />

current states at processing time m is denoted Ns(m). At the beginning, for M-ary<br />

modulation, there will be between M and M L ~ l states, as m\ should be between<br />

0 and L — \ (ideally 0). In the "middle" of the processing, there will M L ~ l states,<br />

regardless of m. At the end of the processing, there will be between M L ~ l and M<br />

states, as m-2 should be between N s — 1 and N s + L — 2 (ideally N s + L — 2).<br />

Continuing with notation, the path metric for current state i at processing time<br />

m is denoted P m (i). The corresponding path history is denoted Q m (i), which keeps<br />

a list of hypothetical symbol values qk for k = m through k = 0.<br />

We start by initializing the "previous" path metrics at time m — m-y — 1 to zero,<br />

giving<br />

P mi _ 1 (t)=0, i = 0 ... JV s (mi-l)-l. (6.35)<br />

Then we increment m by one so we can process the first received sample available.<br />

For each possible "current" state i, we would compute candidate metrics by adding<br />

a path metric for "previous" state j at time m — 1 to a branch metric. State j<br />

would be one of the states in set A(i), corresponding to valid state combinations.<br />

Thus, for a particular current state ¿n, we would compute the candidate metrics<br />

where<br />

C m (io, j) = Pm-i(j) + B(r m ,i n ,j), (6.36)<br />

B(r m ,i t) ,j)<br />

r m - C,)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!