Forums

Soft Decision Viterbi Decoding?

Started by ssohaib December 19, 2007
Hi,
I have done convolutional codeing (length =3, rate=1/2) and viterbi hard
decoding. The steps I have followed are:

Data --> Convolutional Encoder --> QPSK Modulation --> Channel -->
Demodulation --> Viterbi Hard Decoding

The above steps give me good result for AWGN channel.

Can anyone plz tell me how is the Soft Viterbi Decoding differ from the
above mentioned hard viterbi decoding? will be grateful if someone comes
up with a tutorial. 

Regards,
Sarmad 

ssohaib wrote:


> I have done convolutional codeing (length =3, rate=1/2) and viterbi hard > decoding. The steps I have followed are: > > Data --> Convolutional Encoder --> QPSK Modulation --> Channel --> > Demodulation --> Viterbi Hard Decoding > > The above steps give me good result for AWGN channel. > > Can anyone plz tell me how is the Soft Viterbi Decoding differ from the > above mentioned hard viterbi decoding?
It is almost the same. The only difference is that you use the Euclidean distances instead of the Hamming weights for the calculation of the path costs. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Hi,
Good to see your reply. Just take a practical example of simulating this
Viterbi Soft Decoder in Matlab or any other language. 

I am using QPSK as a modulation scheme and we have rayleigh fading channel
with white gaussian noise. Now the steps i am following are:

Data --> convolutional coding (K=3, rate=1/2) --> QPSK mod --> Rayleigh
Flat fadin channel + AWGN --> Viterbi Soft Deocoding.

I havent put any demodulator above as i think soft decoding does
demodualtion and detection in one step.
I am calculating the eucledian distance by ||r-hs||^2, where r is recieved
signal, h is channel and s is transmited signal. 

I have done all this in matlab but the BER curve i am obtaining is same as
if there is not coding used. But when i use only AWGN channel with no
fading i get the curve as expected (i.e. better performance). 

Can you plz tell me what is wroong in my step? or is there any thing
special that we have to do in case of rayleigh flat fading channel?

waiting for ur kind replies.

Thanks.
Sarmad
On Dec 19, 4:09 pm, "ssohaib" <ssoh...@gmail.com> wrote:
> Hi, > Good to see your reply. Just take a practical example of simulating this > Viterbi Soft Decoder in Matlab or any other language. > > I am using QPSK as a modulation scheme and we have rayleigh fading channel > with white gaussian noise. Now the steps i am following are: > > Data --> convolutional coding (K=3, rate=1/2) --> QPSK mod --> Rayleigh > Flat fadin channel + AWGN --> Viterbi Soft Deocoding. > > I havent put any demodulator above as i think soft decoding does > demodualtion and detection in one step. > I am calculating the eucledian distance by ||r-hs||^2, where r is recieved > signal, h is channel and s is transmited signal. > > I have done all this in matlab but the BER curve i am obtaining is same as > if there is not coding used. But when i use only AWGN channel with no > fading i get the curve as expected (i.e. better performance). > > Can you plz tell me what is wroong in my step? or is there any thing > special that we have to do in case of rayleigh flat fading channel? > > waiting for ur kind replies. > > Thanks. > Sarmad
You might see an advantage by increasing the constraint length of your code or decreasing the duration of the fades. The standard solution though is to add a convolutional interleaver to randomize the errors due to fading. John
On Dec 19, 4:09 pm, "ssohaib" <ssoh...@gmail.com> wrote:
> Hi, > Good to see your reply. Just take a practical example of simulating this > Viterbi Soft Decoder in Matlab or any other language. > > I am using QPSK as a modulation scheme and we have rayleigh fading channel > with white gaussian noise. Now the steps i am following are: > > Data --> convolutional coding (K=3, rate=1/2) --> QPSK mod --> Rayleigh > Flat fadin channel + AWGN --> Viterbi Soft Deocoding. > > I havent put any demodulator above as i think soft decoding does > demodualtion and detection in one step. > I am calculating the eucledian distance by ||r-hs||^2, where r is recieved > signal, h is channel and s is transmited signal. > > I have done all this in matlab but the BER curve i am obtaining is same as > if there is not coding used. But when i use only AWGN channel with no > fading i get the curve as expected (i.e. better performance). > > Can you plz tell me what is wroong in my step? or is there any thing > special that we have to do in case of rayleigh flat fading channel? > > waiting for ur kind replies. > > Thanks. > Sarmad
You might see an advantage by increasing the constraint length of your code or decreasing the duration of the fades. The standard solution though is to add a convolutional interleaver to randomize the errors due to fading. John
hi,
do u guys think that the stpes i am following are correct for soft viterbi
decoding?

 Data --> convolutional coding (K=3, rate=1/2) --> QPSK mod --> Rayleigh
 Flat fadin channel + AWGN --> Viterbi Soft Deocoding.


BR
Sarmad 
Hi guys
I have studied alot about soft decoding from proakis, sklar and internet
but every timr they talk about is quantization (8levels mostly) but what i
think is that how can we have such levels in case of QPSK modulated coded
signal (K=3, rate=1/2)? Like in case of QPSK we have symbols      
(+-0707+-0.707j) then how can we define level in such a case?

waiting


On Dec 22, 5:45 pm, "ssohaib" <ssoh...@gmail.com> wrote:
> Hi guys > I have studied alot about soft decoding from proakis, sklar and internet > but every timr they talk about is quantization (8levels mostly) but what i > think is that how can we have such levels in case of QPSK modulated coded > signal (K=3, rate=1/2)? Like in case of QPSK we have symbols > (+-0707+-0.707j) then how can we define level in such a case? > > waiting
You can take soft I and Q values separately and apply to VD. John
Good to see your reply. Could you plz eleborate how can i quntize the I and
Q seperatly. Lets spoose after noise we  have some thing like       
0.807-0.984j. How can i qunatize 0.807 and -0.984j in to 8 levels? 

Waiting.


ssohaib wrote:
> Good to see your reply. Could you plz eleborate how can i quntize the I and > Q seperatly. Lets spoose after noise we have some thing like > 0.807-0.984j. How can i qunatize 0.807 and -0.984j in to 8 levels?
Is a spoose something like a moose? I almost understand your last sentence. Take "in" away, and I do understand it. If that's what you mean, multiply each by 256, add .5, keep the integer part only, and divide that by 256. 0.807 -> 0.80859375 -0.984 -> -0.98046875 Please understand that I'm glad to help and I don't want to put you down. I think that your need to ask that question is a good indication that you don't firmly understand the operations you're doing. It's possible to pass an elementary course working by rote and formula, but without real understanding, that knowledge won't carry you far. Jerry -- Engineering is the art of making what you want from things you can get. &#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;