fano algorithm

18
FANO ALGORITHM Presented by Hrudya

Upload: hrudya-balachandran

Post on 21-Aug-2015

964 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Fano algorithm

FANO ALGORITHMPresented by

Hrudya

Page 2: Fano algorithm

OVERVIEW OF CONVOLUTIONAL CODES

k bits are input, n bits are output Input depends not only on current set of k input bits,

but also on m past input. An (n,k,m) convolutional code is implemented with a

k-input,n-o/p,linear sequential ckt with input memory m.

The performance of a convolutional code depends on The coding rate and The constraint length.

Page 3: Fano algorithm

CONTINUE.......

Constraint length is the no of shifts over which a single message bit can affect the encoder o/p. In an encoder with an m-stage shift register , the

constrain length is m+1, as m+1 stages are required for a message to enter the SR and finally come out.

Code Rate= k/n Longer Constrain Length K

More powerful code More coding gain More complex decoder More decoding delay

Smaller coding rate R=k/n More powerful code due to extra redundancy Less bandwidth efficiency

Page 4: Fano algorithm

SEQUENTIAL DECODING

Unlike the Viterbi algorithm that locates the best codeword by exhausting all possibilities, sequential decoding concentrates only on a certain

number of likely codeword's. The purpose of sequential decoding is to search

through the nodes of the code tree in an efficient way to find the maximum likelihood path.

Each node examined represents a path through part of the tree.

Whether or not a particular path is likely to be a part of the maximum likelihood path, depends on the metric value associated with that path.

The metric is a measure of the “closeness” of a path to the received sequence.

Page 5: Fano algorithm

SEQUENTIAL DECODING ALGORITHMS

The various sequential decoding algorithms are Stack Algorithm Fano Algorithm

Page 6: Fano algorithm

FANO ALGORITHM The Fano algorithm is a

sequential decoding algorithm does not require a stack.

The Fano algorithm can only operate over a code tree because it cannot examine path merging.

At each decoding stage, the Fano algorithm retains the information regarding three paths: the current path, its immediate predecessor path, and one of its successor paths.

Based on this information, the Fano algorithm can move from the current path to either its immediate predecessor path or the selected successor path; hence, no stack is required for queuing all examined paths.

Page 7: Fano algorithm

CONTINUE....... The movement of the Fano algorithm is guided by a

dynamic threshold T that is an integer multiple of a fixed step size .

Only the path whose path metric is no less than T can be next visited.

According to the algorithm, the process of codeword search continues to move forward along a code path, as long as the Fano metric along the code path remains non-decreasing.

Once all the successor path metrics are smaller than T, the algorithm moves backward to the predecessor path if the predecessor path metric beats T; thereafter, threshold examination will be subsequently performed on another successor path of this revisited predecessor.

Page 8: Fano algorithm

CONTINUE....... In case the predecessor path metric is also less than

T, the threshold T is one-step lowered so that the algorithm is not trapped on the current path.

For the Fano algorithm, if a path is revisited, the presently examined dynamic threshold is always lower than the momentary dynamic threshold at the previous visit, guaranteeing that looping in the algorithm does not occur, and that the algorithm can ultimately reach a terminal node of the code tree, and stop.

Page 9: Fano algorithm
Page 10: Fano algorithm

WORK FLOW OF FANO ALGORITHM Figure displays a flowchart of the Fano algorithm, in

which are denoted by Mf, Mb , are the Fano path metrics of forward and backward nodes respectively .

The algorithm begins with the path that contains only the origin node.

The algorithm then proceeds to find, among the 2^k candidates, the successor path with the largest path metric Mf.

Thereafter it examines whether Mf > T. If so, the algorithm moves forward to the successor

path, and updates the necessary information.

Page 11: Fano algorithm

CONTINUE....... Then, whether the new current path is a code path is

determined, and a positive result immediately terminates the algorithm.

A delicate part of the Fano algorithm is “threshold tightening." Whenever a path is first visited, the dynamic threshold T must be tightened" such that it is adjusted to the largest possible value below the current path metric, i.e., T < Mc < T +

Notably, the algorithm can determine whether a path is first visited by simply examining min{Mb,Mc} < T + . If min{Mb,Mc} < T + , holds due to the validity of Mc < T + , the threshold is automatically tightened;

Page 12: Fano algorithm

CONTINUE....... Hence only the condition Mb < T + is required in the

tightening test. The above procedures are repeated until a code path

is finally reached. Along the other route of the flowchart, following a

negative answer to the examination of Mf > T (which implicitly implies that the path metrics of all the successor paths of the current path are less than T), the algorithm must lower the threshold if Mb is also less than T; otherwise, a deadlock on the current path arises.

Using the lowered threshold, the algorithm repeats the ¯finding of the best successor path whose path metric exceeds the new threshold, and proceeds the follow-up steps.

Page 13: Fano algorithm

CONTINUE....... The rightmost loop of the flowchart considers the case for

Mf < T and Mb > T. In this case, the algorithm can only move backward,

since the predecessor path is the only one whose path metric is no smaller than the dynamic threshold.

The Fano algorithm then checks for the existence of a new successor path that is not the current successor path which the algorithm has just moved from, and whose associated path metric exceeds the current Mf.

this step finds the best successor path other than those that have already been examined

If such a new successor path does not exist, then the algorithm seeks either to reduce the dynamic threshold or to move backward again, depending on whether Mp > T.

In case such a new successor path is located, the algorithm re-focuses on the new successor path, and repeats the entire process.

Page 14: Fano algorithm

STEP SIZE OF FANO ALGORITHM The number of computations performed by fano

algorithm depends on how the threshold increment is selected.

In general if is too small, larger number of computations results and larger usually reduces the number of computations .

When is too large, the dynamic threshold T might be lowered too much in a single adjustment, forcing an increase in both the decoding error and the computational effort.

Experiments suggest that a better performance can be obtained by taking within 2 and 8 for the unscaled Fano metric ( should be analogously scaled if a scaled Fano metric is used).

Page 15: Fano algorithm

COMPARISON OF STACK AND FANO ALGORITHMS The Fano algorithm, perhaps surprisingly, while quite different in its design

from the stack algorithm, exhibits broadly the same searching behavior as the stack algorithm.

In fact, with a slight modification to the update procedure of the dynamic threshold, both algorithms have been proven to visit almost the same set of paths during the decoding process.

Their only dissimilarity is that unlike the stack algorithm which visits each path only once, the Fano algorithm may revisit a path several times, and thus has a higher computational complexity.

Thus Fano algorithm requires more computations that stack algorithm. But hardware implementation features apparently favour the no-stack Fano

algorithm, even when the number of its computations required is larger than the stack algorithm.

An evident drawback of the stack algorithm in comparison with the Fano algorithm is its demand for an extra stack space. In hardware implementation, stack maintenance normally requires accessing external memory a certain number of times, which usually bottlenecks the system performance.

In a normal case , we can say that fano algorithm is faster than stack algorithm, because it is not slowed down by the stack control problems. But it suffers a speed disadvantage on a very noisy channel since it must do significant back searching.

Page 16: Fano algorithm

FANO METRIC In information Theory metric is a measure of the

“closeness” of a path to the received sequence. Since its discovery in 1963 [3], the Fano metric has

become a typical path metric in sequential decoding. Originally, the Fano metric was discovered through

mass simulations, and was first used by Fano in his sequential decoding algorithm on a code tree.

Page 17: Fano algorithm

CONTINUE...... For any path v(ℓn−1) that ends at level ℓ on a code

tree, the Fano metric is defined as:

r = (r0, r1, . . . , rN−1) is the received vector, and

is the bit metric.

Page 18: Fano algorithm

CONTINUE....... The calculation of Pr(rj) follows the convention that the

code bits— 0 and 1—are transmitted with equal probability, i.e.,

and R = k/n is the code rate.