Академический Документы
Профессиональный Документы
Культура Документы
Correspondence
0 1981 IEEE
0090-6778/81/0900-1399$00.75
1400 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-29, NO. 9, SEPTEMBER 1981
m-'-p:m-bci
mi-, mi-2 mi-k
MAPPING
Fig. 1. A convolutionalencoder.
Fig. 2. Evolution of contents of path memory for in-placeorganiza-
MEMORY ORGANIZATION FOR PATH METRICS tion (rn = 2, k = 3) for three decoding cycles.
In a naive realization of the decoder,since path metrics
at time i 4- 1 are computed using path metrics at time i, it is M addresses used together. This tells us how to distribute the
necessary t o doublebufferthepath metricmemory. How- metrics in M physically separate memories.
ever, an attractive alternative is an in-place computation In summary,it is not necessary to use temporaryextra
similar to that which is often used to compute the discrete
Fourier transform. We observe that metrics for the M hypothe-
x
storage (beond Mwords) forthepath metricsassociated
with the M hypotheses. By cyclically shifting the natural ad-
ses ( j i , j i - l ,
**e, j i - k + 2 , x)-for M choices of x-are needed dresses before using the addresses t o access a memory, an in-
only to compute metrics for the M hypotheses ( y , j i , j i - l , e-*,
place computation follows easily.
ji-k+2)-for M choices of y . If the M metrics needed are read
from memory, then M memory locations become available to MEMORY ORGANIZATION FOR SURVIVOR PATHS
store the M newly computed metrics, and no double buffering For minimum error rate, the length of the survivor path
is required for metrics. memory field should be made as large as possible. There is a
There is a price t o be paid for this memory economy. It is rule of thumbthatfouror five constraintlengths is ade-
natural to treat the contentsof the shift register, ( a k , ak- 1, --, quate-for M ,= 2, the constraint length is k i- 1. A practical
a l ) , as a k-digit M-ary number and use this number t o index case has k = 6 , so a survivor path memory field of 35 bits is
the table of path metrics. Such an addressing scheme is incon- implied. It is inconvenient t o handle such a long field all at
sistent with writing new metrics over old metrics. Consider the once, although the operations needed are quitesimple.
example of M = 2, k = 3. The decoder has eight hypotheses The need for a long field does not imply the need to handle
endingin000=0;001=1;010=2;~~~;lll=7.Ournatural many bits at once. The operations involved in computing the
order would store stage i metrics in table locations 0 through survivor path field forhypothesis consistof two parts, the
7. But the two successors to, say, 000 and 001 are 000 and designation of an ancestor and the appending of a symbol t o
100. This means we read metrics from0 and 1 and write them- its path. To avoid handling the entire field we could adopt an
by definition of natural order-in 0 and 4. This is not in-place. approachfrequently used in computer science, the use of
To put the metrics in-place, suppose they were in nature1 pointers. Forhypothesis we would storethe new M-ary
order t o begin with. After one, two, and three stages of de- symbol appended to its path, and a pointer to a path for stage
coding we wouldsee the evolution of memory organization i. This stage i path would similarly consist of one M-ary sym-
for path metrics illustrated in Fig. 2. bol and a pointer t o a path at state i - 1. Organization of the
We see that computing metrics in-place leads, inexorably, memory in this way is especially desirable since it defers the
to an addressing scheme which changes after eachdecoding need t o actually read thepathmemoryuntilthe decoding
cycle. If the path metric of the hypothesis with shift register (path memory pruning)-at that time only the path leading to
contents (a, b , c) at time i is in memory location 4a -t- 2b i- c, the decoded symbols must actually be read at all. Because the
then the path metric of the hypothesis with shift register con- path memory does not have to be read during the updating
tents (a, b , c) at time i i- 1 will be in location 412 i- 2a i- b. process, the issue of in-place computation does not arise and
In general, the metrics accessed together are found by gen- therefore it is not necessary t o use an unnatural address to
erating their natural addresses but rotating the bits of these store new information into the path memory.
addresses by i places before reading (or writing) the metrics At first examination, the use of pointers seemscostly of
from (or into) the memory. The natural addresses can be gen- memory. Actually, since each pointer canonly pointto M
erated from a counter, for example. A cyclic shift of i places ancestors, the pointer can be abbreviated t o an M-ary symbol.
is identical to a cyclic shift of i modulo k places. This M-ary symbol is identical to the M-ary symbol which is
If, for extra speed, it is desired to use some parallelism in appended to the path. Therefore no extra storage is needed for
metric computing hardware, one can read, simultaneously, the the pointers-it is only necessary to interpret the path memory
M metrics used together, compute their M successors in paral- contents as pointers. During the decoding cycle an M-ary
lel, and write the results in memory simultaneously. This re- choice is recorded for each hypothesis in the ith digit position
quires, of course, that metricsneededsimultaneouslyarein of the survivor path field for each of the Mksurviving hypothe-
physically separate memories. To assure this, let the modulo sis. Suppose, for the hypothesis with shift register contents (ai,
Msum of the M-ary digits of an address be considered-for ai- 1 , .-, a i - k + l ) the symbol stored is x . Then, t o find its
M = 2 this is the parity. It is clear that the parity of each of predecessor we look in digit position i - 1 of thememory
the pair of addresses used must be different since exactly one word whose address is (ai- 1, -e, x ) ; if we read
a y
bit differs between them. Thus, one metric will always be read there, we look in digit position i - 2 of the word whose ad-
from an address with even parity and one metric will always dress is ( a i - 2 , **., a i - k + l , x , y ) ; finding a z , we continue the
be read from an address with odd parity. The same distinction process. This represents a path x , y , z , e-..
applies in writing new metrics back. In the M-ary case, each of In Fig. 3, we give an an example, with M = 2, k = 3, of how
the M possible modulo M digit sums will occur for one of the the contents of the path memory (1 bit abbreviated pointers)
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. COM-29, NO. 9, SEPTEMBER 1981 1401
110
111
0 1981 IEEE
0090-6778/81/0900-1401$00.75