1. A Viterbi decoder comprising a branch metric unit, the unit comprising: a calculator adapted to: calculate an initial branch metric associated with a received symbol of an input bit of a data transmission stream; and calculate an additional weight parameter for said received symbol based only on extrinsic hard information; and a processor adapted to compute a revised branch metric by combining said initial branch metric and said additional weight parameter.