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

# Soft Decision Viterbi Decoding?

Started by ●December 19, 2007

Reply by ●December 19, 20072007-12-19

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

Reply by ●December 19, 20072007-12-19

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

Reply by ●December 19, 20072007-12-19

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. > SarmadYou 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

Reply by ●December 19, 20072007-12-19

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. > SarmadYou 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

Reply by ●December 20, 20072007-12-20

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

Reply by ●December 22, 20072007-12-22

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

Reply by ●December 22, 20072007-12-22

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? > > waitingYou can take soft I and Q values separately and apply to VD. John

Reply by ●December 23, 20072007-12-23

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.

Reply by ●December 23, 20072007-12-23

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. �����������������������������������������������������������������������