DSPRelated.com
Forums

decoding process

Started by manishp June 22, 2013
Sirs,

Some questions related to decoding process. 

1. When the data enters the first time for decoding, where does the a
priori probability come from?

Is it based on initial accessment after demodulation?

2. If block codes are used during transmission,  how does the receiver know
the size of the block code since the size of the block can vary on the
fly.

If this is based on fields in the received packet then this creates
circular dependency back on decoder.

3. I have been a little confused with the term CONVOLUTION in coding. Can
someone clarify lls.

Do viterbi and turbo fall in this category? 

Thanks, manish	 

_____________________________		
Posted through www.DSPRelated.com
On Sat, 22 Jun 2013 11:29:02 -0500, manishp wrote:

> Sirs, > > Some questions related to decoding process. > > 1. When the data enters the first time for decoding, where does the a > priori probability come from? > > Is it based on initial accessment after demodulation?
"priori" means "before", or something similar, in Latin. So "a priori", in statistics or probability theory, means "what you know before". Usually it means before you find out something more.
> 2. If block codes are used during transmission, how does the receiver > know the size of the block code since the size of the block can vary on > the fly.
You are presuming something about the system which you are not pointing out in your post. There's no reason that one cannot have fixed blocks.
> If this is based on fields in the received packet then this creates > circular dependency back on decoder.
Before you make any more posts, _please use your common sense_. If you were going to design a communications protocol for a link that used block sizes that vary on the fly, how would you do it? Would you just blindly send out information that may be taken wrong, or would you have some sort of reverse-error-correction scheme involving ACK packets, or some sort of fixed, highly redundant code for the header, such that your subsequent "size of block" message always got through?
> 3. I have been a little confused with the term CONVOLUTION in coding. > Can someone clarify lls.
Are you getting _any_ information out of books? This is explained rather well in the literature. Convolutional encoders work by analogy to linear IIR filters. When you use integers with modulo-N addition, superposition works. Thus, a convolutional encoder acts like an IIR filter in that (a) the output is fed back to the state, and (b) the output is equal to the input convolved by an infinitely long impulse response.
> Do viterbi and turbo fall in this category?
"Viterbi" (with a capital 'V' -- at least that's how Dr. Vitirbi spells his name) refers to a specific method of decoding convolutional codes. So it's kind of a misnomer to refer to a "Viterbi" code or coder -- although we all do. I'm not really versed in turbo codes, but I believe they're a combination of convolutional and block codes, in which case the convolutional part is, well, convolutional. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
On Sat, 22 Jun 2013 11:29:02 -0500, "manishp" <58525@dsprelated>
wrote:

>Sirs, > >Some questions related to decoding process. > >1. When the data enters the first time for decoding, where does the a >priori probability come from?
For the first decoder half-iteration the a priori information is set to zero. The next half iteration uses the extrinsic information output from the first half iteration as the a priori input. Each subsequent half iteration uses the extrinsic output from the previous half iteration as the a priori input. This is pretty much what makes a turbo code work. This is pretty well explained in the literature if you look around.
>Is it based on initial accessment after demodulation?
No, that is the channel soft-decision information.
>2. If block codes are used during transmission, how does the receiver know >the size of the block code since the size of the block can vary on the >fly.
That depends entirely on the system you're working on. Without knowing the context of what you're doing or the system you're working on there's no way to answer that in any detail.
>If this is based on fields in the received packet then this creates >circular dependency back on decoder.
No. Control information is nearly always sent separately in a more reliable modulation and coding scheme than the payload information. The details depend entirely on the system, as there's more than one way to do it.
>3. I have been a little confused with the term CONVOLUTION in coding. Can >someone clarify lls.
As mentioned previously, the convolution is only in the encoder.
>Do viterbi and turbo fall in this category?
Viterbi and Turbo describe decoding algorithms that can be applied when convolutional encoders are used. Turbo decoding can be done on other types of codes as well, but usually convolutional codes are used. And Turbo decoding can be done using SISO Viterbi decoders, too. ;)
>Thanks, manish > >_____________________________ >Posted through www.DSPRelated.com
Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
>On Sat, 22 Jun 2013 11:29:02 -0500, "manishp" <58525@dsprelated> >wrote: > >>Sirs, >> >>Some questions related to decoding process. >> >>1. When the data enters the first time for decoding, where does the a >>priori probability come from? > >For the first decoder half-iteration the a priori information is set >to zero. The next half iteration uses the extrinsic information >output from the first half iteration as the a priori input. Each >subsequent half iteration uses the extrinsic output from the previous >half iteration as the a priori input. > >This is pretty much what makes a turbo code work.
A colleague who I asked this question mentioned that due to errors one might up with an imoerfect constellation point and that is where the a priori value comes from but he was not too sure.
> >This is pretty well explained in the literature if you look around. > >>Is it based on initial accessment after demodulation? > >No, that is the channel soft-decision information. > >>2. If block codes are used during transmission, how does the receiver
know
>>the size of the block code since the size of the block can vary on the >>fly. > >That depends entirely on the system you're working on. Without >knowing the context of what you're doing or the system you're working >on there's no way to answer that in any detail. >
Sir, my question is based on lte spec. The block size for turbo encoding can go from 40 to 6000 bytes roughly. The question then is , whether receiver has to be fed with the blocks entirely? And if yes, how the receiver knows block demarcations?
>>If this is based on fields in the received packet then this creates >>circular dependency back on decoder. > >No. Control information is nearly always sent separately in a more >reliable modulation and coding scheme than the payload information. >The details depend entirely on the system, as there's more than one >way to do it. > >>3. I have been a little confused with the term CONVOLUTION in coding.
Can
>>someone clarify lls. > >As mentioned previously, the convolution is only in the encoder. > >>Do viterbi and turbo fall in this category? > >Viterbi and Turbo describe decoding algorithms that can be applied >when convolutional encoders are used. Turbo decoding can be done on >other types of codes as well, but usually convolutional codes are >used. > >And Turbo decoding can be done using SISO Viterbi decoders, too. ;) > >>Thanks, manish >> >>_____________________________ >>Posted through www.DSPRelated.com > >Eric Jacobsen >Anchor Hill Communications >http://www.anchorhill.com >
_____________________________ Posted through www.DSPRelated.com
On Sat, 22 Jun 2013 13:21:55 -0500, manishp wrote:

>>On Sat, 22 Jun 2013 11:29:02 -0500, "manishp" <58525@dsprelated> wrote: >> >>>Sirs, >>> >>>Some questions related to decoding process. >>> >>>1. When the data enters the first time for decoding, where does the a >>>priori probability come from? >> >>For the first decoder half-iteration the a priori information is set to >>zero. The next half iteration uses the extrinsic information output >>from the first half iteration as the a priori input. Each subsequent >>half iteration uses the extrinsic output from the previous half >>iteration as the a priori input. >> >>This is pretty much what makes a turbo code work. > A colleague who I asked this question mentioned that due to errors one > might up with an imoerfect constellation point and that is where the a > priori value comes from but he was not too sure. >> >>This is pretty well explained in the literature if you look around. >> >>>Is it based on initial accessment after demodulation? >> >>No, that is the channel soft-decision information. >> >>>2. If block codes are used during transmission, how does the receiver > know >>>the size of the block code since the size of the block can vary on the >>>fly. >> >>That depends entirely on the system you're working on. Without knowing >>the context of what you're doing or the system you're working on there's >>no way to answer that in any detail. >> >> > Sir, my question is based on lte spec. The block size for turbo encoding > can go from 40 to 6000 bytes roughly. The question then is , whether > receiver has to be fed with the blocks entirely? > And if yes, how the receiver knows block demarcations?
Why, exactly, are you too good to listen to advise that you've already been given? Get your hands on the specification in question, and read it, for crying out loud. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
On Sat, 22 Jun 2013 13:21:55 -0500, "manishp" <58525@dsprelated>
wrote:

>>On Sat, 22 Jun 2013 11:29:02 -0500, "manishp" <58525@dsprelated> >>wrote: >> >>>Sirs, >>> >>>Some questions related to decoding process. >>> >>>1. When the data enters the first time for decoding, where does the a >>>priori probability come from? >> >>For the first decoder half-iteration the a priori information is set >>to zero. The next half iteration uses the extrinsic information >>output from the first half iteration as the a priori input. Each >>subsequent half iteration uses the extrinsic output from the previous >>half iteration as the a priori input. >> >>This is pretty much what makes a turbo code work.
>A colleague who I asked this question mentioned that due to errors one >might up with an imoerfect constellation point and that is where the a >priori value comes from but he was not too sure.
You just described the channel soft decision. The channel soft decision input to the decoder is separate from the a priori input.
>>This is pretty well explained in the literature if you look around. >> >>>Is it based on initial accessment after demodulation? >> >>No, that is the channel soft-decision information. >> >>>2. If block codes are used during transmission, how does the receiver >know >>>the size of the block code since the size of the block can vary on the >>>fly. >> >>That depends entirely on the system you're working on. Without >>knowing the context of what you're doing or the system you're working >>on there's no way to answer that in any detail. >> > >Sir, my question is based on lte spec. The block size for turbo encoding >can go from 40 to 6000 bytes roughly. The question then is , whether >receiver has to be fed with the blocks entirely? >And if yes, how the receiver knows block demarcations
Study the LTE spec. There are a lot of details. A web search on "LTE framing and control" is a good place to start.
>>>If this is based on fields in the received packet then this creates >>>circular dependency back on decoder. >> >>No. Control information is nearly always sent separately in a more >>reliable modulation and coding scheme than the payload information. >>The details depend entirely on the system, as there's more than one >>way to do it. >> >>>3. I have been a little confused with the term CONVOLUTION in coding. >Can >>>someone clarify lls. >> >>As mentioned previously, the convolution is only in the encoder. >> >>>Do viterbi and turbo fall in this category? >> >>Viterbi and Turbo describe decoding algorithms that can be applied >>when convolutional encoders are used. Turbo decoding can be done on >>other types of codes as well, but usually convolutional codes are >>used. >> >>And Turbo decoding can be done using SISO Viterbi decoders, too. ;) >> >>>Thanks, manish >>> >>>_____________________________ >>>Posted through www.DSPRelated.com >> >>Eric Jacobsen >>Anchor Hill Communications >>http://www.anchorhill.com >> > >_____________________________ >Posted through www.DSPRelated.com
Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com