Forums

SOVA soft-output for the coded bits

Started by psidemus December 8, 2014
Hi All,

I have a question regarding convolutional code SOVA soft output.

I'm implementing a SOVA decoder as part of a Turbo-Equalization effort.

The standard SOVA algorithm provides soft-output per uncoded bit.
However, In conjunction with a turbo-equalizer I have to produce a modified
soft-output version, this time per coded bit (as opposed to the standard
soft output per uncoded bit), to be fed, after reinterleaving, to a
soft-mapper which, in turn, will feed the equalizer.

My question is, how would I calculate the soft output per coded bit?

My guts tells me to calculate the metric delta using special metrics
calculated only using only the desired coded bit soft input, but I'm not
sure.

Thanks for any help,
Alex

	 

_____________________________		
Posted through www.DSPRelated.com
On 12/8/2014 9:26 PM, psidemus wrote:
> Hi All, > > I have a question regarding convolutional code SOVA soft output. > > I'm implementing a SOVA decoder as part of a Turbo-Equalization effort. > > The standard SOVA algorithm provides soft-output per uncoded bit. > However, In conjunction with a turbo-equalizer I have to produce a modified > soft-output version, this time per coded bit (as opposed to the standard > soft output per uncoded bit), to be fed, after reinterleaving, to a > soft-mapper which, in turn, will feed the equalizer. > > My question is, how would I calculate the soft output per coded bit? > > My guts tells me to calculate the metric delta using special metrics > calculated only using only the desired coded bit soft input, but I'm not > sure.
Can you explain what a soft input or soft output are? I've never heard those terms before. I assume this is something specific to the SOVA code? -- Rick
On Mon, 08 Dec 2014 20:26:21 -0600, "psidemus" <102769@dsprelated>
wrote:

>Hi All, > >I have a question regarding convolutional code SOVA soft output. > >I'm implementing a SOVA decoder as part of a Turbo-Equalization effort. > >The standard SOVA algorithm provides soft-output per uncoded bit. >However, In conjunction with a turbo-equalizer I have to produce a modified >soft-output version, this time per coded bit (as opposed to the standard >soft output per uncoded bit), to be fed, after reinterleaving, to a >soft-mapper which, in turn, will feed the equalizer. > >My question is, how would I calculate the soft output per coded bit? > >My guts tells me to calculate the metric delta using special metrics >calculated only using only the desired coded bit soft input, but I'm not >sure.
There's more than one way to do it, but a search on "SOVA turbo equalizer" turns up a number of papers that will probably be useful to you. You can use the soft outputs to re-encode a coded stream, with the soft weights. Compare those to the input coded stream and potentially make adjustments using the differences. Also look at how turbo decoders work when using SOVAs. It's not quite the same thing, but some of the same concepts apply. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
>On Mon, 08 Dec 2014 20:26:21 -0600, "psidemus" <102769@dsprelated> >wrote: > >>Hi All, >> >>I have a question regarding convolutional code SOVA soft output. >> >>I'm implementing a SOVA decoder as part of a Turbo-Equalization effort. >> >>The standard SOVA algorithm provides soft-output per uncoded bit. >>However, In conjunction with a turbo-equalizer I have to produce a
modified
>>soft-output version, this time per coded bit (as opposed to the standard >>soft output per uncoded bit), to be fed, after reinterleaving, to a >>soft-mapper which, in turn, will feed the equalizer. >> >>My question is, how would I calculate the soft output per coded bit? >> >>My guts tells me to calculate the metric delta using special metrics >>calculated only using only the desired coded bit soft input, but I'm not >>sure. > >There's more than one way to do it, but a search on "SOVA turbo >equalizer" turns up a number of papers that will probably be useful to >you. > >You can use the soft outputs to re-encode a coded stream, with the >soft weights. Compare those to the input coded stream and >potentially make adjustments using the differences. > >Also look at how turbo decoders work when using SOVAs. It's not quite >the same thing, but some of the same concepts apply. > > >Eric Jacobsen >Anchor Hill Communications >http://www.anchorhill.com >
Eric, thanks for the quick reply. The idea of encoding the LLRs to generate a soft output per coded bit is appealing but I'm affraid it will be too much for my system, since the turbo performs several such iterations. But it's still a good idea, thank you. Btw, to commence encoding on weights for a convolutional code is to perform addition instead of xor, right? Since xor is addition mod 2? Regarding the concept of turbo decoders, the extrinsic information used is per uncoded bit, since the turbo decoder doesn't need to perform mapping between iterationsm so I don't see how this helps, it's just the standard soft-output. Can you explain what exactly you meant? Thanks in advance, Alex _____________________________ Posted through www.DSPRelated.com