Forums

TCM decoder (Viterbi). Prevent overflow in metric path

Started by valery July 14, 2006
Hi, I'm writing TCM decoder on VHDL. My question is: how I can prevent
overflow in metric path. I've found one way - subtraction minimum metric,
but it's so difficult operation (find minimum and subtraction it), any
body know another way?
Thanks.



Would it be useful to right shift after say M stages? or you detect if
any of the path increases a certain threshold divide it by 2. Just a
quick suggestion, I hope someone will notice and correct.

valery wrote:
> Hi, I'm writing TCM decoder on VHDL. My question is: how I can prevent > overflow in metric path. I've found one way - subtraction minimum metric, > but it's so difficult operation (find minimum and subtraction it), any > body know another way? > Thanks.
It's the best way, but in this case I need subtruct constant value from all
path metrics on current step of algorithm, on next step this value may be
differ, but it must be same for all metrics (i saw this criterion in some
docs about Viterbi decoder). But I haven't checked this my self. 

--sorry for my english :)  
  

>Would it be useful to right shift after say M stages? or you detect if >any of the path increases a certain threshold divide it by 2. Just a >quick suggestion, I hope someone will notice and correct. > >valery wrote: >> Hi, I'm writing TCM decoder on VHDL. My question is: how I can prevent >> overflow in metric path. I've found one way - subtraction minimum
metric,
>> but it's so difficult operation (find minimum and subtraction it), any >> body know another way? >> Thanks. > >
mobi wrote:
> Would it be useful to right shift after say M stages? or you detect if > any of the path increases a certain threshold divide it by 2. Just a > quick suggestion, I hope someone will notice and correct. > > valery wrote: > > Hi, I'm writing TCM decoder on VHDL. My question is: how I can prevent > > overflow in metric path. I've found one way - subtraction minimum metric, > > but it's so difficult operation (find minimum and subtraction it), any > > body know another way? > > Thanks.
If any one path exceeds threshold (say because the MSB is set) then you right shift all of the paths. John