Академический Документы
Профессиональный Документы
Культура Документы
- Running time
( = “constraint length”, = code length).
When SNR is high, decoding should be easier.
- Software radios can take advantage of running time
that (implicitly) depends on SNR...
- Time/block:
(high . . . low SNR).
- Worst-case running time worse than Viterbi.
- No experiments available to compare running time.
Our “Lazy Viterbi” algorithm:
- Time/block:
decoding, advantages and limitations.
Generator Polynomials: ,
Encoding: path through the trellis (labels = code bits).
Info bits:
States:
Code word:
00 11 00 00 00 00
...
0
01 01 01 00 01 01
2 ...
01
10 10 10 1 10 10
...
11 11 11 11 11
Received: 11 10 01 ...
Branch Metric of edge: (code bits, received bits).
, , .
Viterbi Algorithm: Find path with lowest total metric.
Received: 11 10 01 ...
Computes accumulated error for every node.
Breadth-First-Search (BFS) is only one possible
“shortest-path” algorithm.
J. Feldman, VTC, 9/25/02 – p.7/13
Dijkstra’s Algorithm
2
0 2
0 ...
2 2
2 ...
0 0
2 ...
0 0 0
Received: 11 10 01 ...
Dijkstra’s Algorithm (Dijkstra, 1959):
- Repeatedly “expand” the node w/ lowest metric.
: Dijkstra’s algorithm with “heuristic” function.
103
Avg. nodes expanded / output bit
Viterbi decoder
102
A* / Lazy decoder
1
10
0
10
-2 0 2 4 6 8
Signal-to-Noise Ratio Es/No (dB)
- Cost = per operation.
- Not amenable to compile-time optimization.
High SNR: , time/block .
Low SNR: , time/block .
Only defined for block codes (rather than streaming
data).
No implementations given, no evidence useful in
practice.
- ( ).
“Lazier” version of Dijkstra’s algorithm
- (saves a few cycles per operation).
Represent trellis as sparse matrix;
- (saves memory, could improve cache performance).
Extension to data streams (finite traceback length).
Experimental study on different processors.