+ All Categories
Home > Engineering > The stack algorithm vs viterbi algorithm

The stack algorithm vs viterbi algorithm

Date post: 20-Jan-2017
Category:
Upload: madhumita-tamhane
View: 272 times
Download: 3 times
Share this document with a friend
10
Transcript
Page 1: The stack algorithm vs viterbi algorithm
Page 2: The stack algorithm vs viterbi algorithm

A decoding step for the Viterbi algorithm is the “compare and select operation” performed for each state in the trellis diagram beyond time unit m.

It requires 15 computations to decode the required sequence in example 1 as compared to only 10 computations in Stack algorithm.

This advantage of Stack algorithm over Viterbi, is more prominent when fraction of error is not too greater than channel transition probability.

2 out of 21 bits are in error. 2/21 =0.095 ≈ p=0.10. If sequence is too noisy, stack algorithm requires too

many computations as compared to again 15 of Viterbi.

Page 3: The stack algorithm vs viterbi algorithm

Most important difference between sequential decoding and Viterbi decoding is that the number of computations performed by a sequential decoder is a random variable while computational load of the Viterbi algorithm is fixed.

Very noisy sequence may requires larger number of computations in Stack algorithm as compared to Viterbi.

As very noisy sequences occur very rarely, average number of computations performed by a sequential decoder is normally much less than fixed number performed by Viterbi algorithm.

Page 4: The stack algorithm vs viterbi algorithm

Limitation 1: Decoder tree traces random path back and forth through

the code tree, jumping from node to node. Hence Decoder must have an input buffer to store

incoming blocks of sequence waiting to be processed. Speed factor of decoder is ratio of computation speed to

speed of incoming data in branches received per second. Depending on speed factor of decoder, long searches can

cause input buffer to overflow resulting in loss of data or Erasure.

Buffer accepts data at fixed rate of 1/(nT) branches per second where T is the time interval allotted for each bit.

Erasure probabilities of 10-3 are common in sequential decoding.

Page 5: The stack algorithm vs viterbi algorithm

Average number of computations and erasure probability are independent of encoder memory ak.

Hence codes with large K and large free distance may result in undetected errors being extremely unlikely.

Major limitation then is Erasures due to buffer overflow. Can be actually beneficial!! Erasures usually occur when received sequence is very

noisy. It is more desirable to erase such frame than decode it

incorrectly. Viterbi will always decode- may result in high errors. Seq. Dec. -ARQ system can help in retransmission of

erased frames. (Advantage)

Page 6: The stack algorithm vs viterbi algorithm

Limitation 2: Size of stack is finite.

Stack may fill up before decoding is complete.

Remedy: Typical stack size is 1000 entries.

The path at the bottom of stack is pushed out of stack at next entry.

The probability that a path on the bottom of the stack would ever recover to reach the top of the stack and be extended is so small that the loss in performance is negligible.

Page 7: The stack algorithm vs viterbi algorithm

Limitation 3: reordering stack after each decoding step. This can become time very consuming as no of entries

increase. Severely limit decoding speed. Remedy: Stack –bucket algorithm by Jelinek. Contents of stack are not reordered after each step. Range of possible metric values is quantized into a fixed

number of intervals. Each metric interval is assigned a certain number of

locations in storage , called a bucket. When a path is extended, it is deleted from storage and

each new path is inserted as the top entry in the bucket which includes its metric value.

Page 8: The stack algorithm vs viterbi algorithm

No reordering of paths within bucket is required. The top path in the top nonempty bucket is chosen to be

extended. A computation now involves only finding the correct bucket

in which to place each new path. Which is independent of previously extended path. Faster than reordering an increasingly larger stack. Disadvantage: it is not always the best path that gets

extended but only a very good path. i.e. a path in the top nonempty bucket or the best bucket.

Typically if bucket quantization is not too large and received sequence is not too noisy, best bucket contains the best path.

Degradation from original algorithm is very slight. Fast.

Page 9: The stack algorithm vs viterbi algorithm

Number of computations depends upon threshold increment ∆.

If ∆ is too small, large number of computations required. ∆ can not be raised indefinitely without affecting error

probability.

If ∆ is too large, T may be lowered below the minimum metric of the maximum likelihood path along with several other paths, making it possible for any of these to be decoded before maximum likelihood path.

In addition, number of computations also increase as more “bad” paths can be followed if T is lowered too much.

Page 10: The stack algorithm vs viterbi algorithm

For moderate rates, Fano algorithm is faster than stack bucket algorithm as it is free from stack control problems.

For higher rates, stack bucket algorithm can be faster as Fano algorithm would have additional computational loads .

As it does not require storage Fano algorithm is selected in practical implementations of sequential decoding..


Recommended