In a trellis decoder, a method of trellis decoding symbols within a stream of symbols, said stream comprising symbols of a first type and a second type, said symbols of said first type encoded using a first convolutional code, said symbols of said second type encoded using a second convolutional code, said method comprising
- a. calculating an incremental error metric for each leg of at least two arriving paths for each state of said trellis decoder;
- b. calculating a path error metric for a path through each state of the trellis decoder including a previous path error metric for that path and the minimum incremental error metric for said at least two arriving paths for said each state;
- c. for arriving symbols of said first type, storing states of said trellis decoder along each of said paths as those states existed immediately prior to symbols of said second type along each of said paths;
- d. for arriving symbols of said second type, storing in memory a path indicator of each leg of each path associated with the minimum incremental error for that state;
- e. using said stored path indicators and said stored states to trace back along one of said candidate paths to decode a symbol of said second type in said stream.