problem regarding soft decision viterbi decoding

Status
Not open for further replies.

shameem

Member level 5
Joined
Oct 27, 2005
Messages
90
Helped
5
Reputation
10
Reaction score
3
Trophy points
1,288
Activity points
2,031
hi,
i want to decode a pi/4-dqpsk signal using a soft decision viterbi decoding. My problem is how should i weight the demapped signal to make soft bits for viterbi decoder.
Please help me.

thanks

shameem
 

I think you have to use soft output demodulator as shown beloww:

function y=mod_qpsk(x)
NN=size(x,1);
N=size(x,2)/2;
r=1;
for nn=1:NN
for n=1:N
if x(nn,2*n-1)==0&x(nn,2*n)==0;
y(nn,n)=r*exp(j*pi/4);
elseif x(nn,2*n-1)==0&x(nn,2*n)==1;
y(nn,n)=r*exp(j*pi*3/4);
elseif x(nn,2*n-1)==1&x(nn,2*n)==1;
y(nn,n)=r*exp(j*pi*5/4);
elseif x(nn,2*n-1)==1&x(nn,2*n)==0;
y(nn,n)=r*exp(j*pi*7/4);
else
error('qpsk input error');
end
end
end
%-------------------------------------------------------------
function y=soft_qpsk_demod(x)
%x=[-0.3162-0.3162*j];
NN=size(x,1);
N=size(x,2);
r=1;
x=x/r;

con=exp(j*pi*(1:2:7)/4);
out=[0 1 3 2];
for nn=1:NN
for n=1:N
i=1;
while (i<=4)&(x(nn,n)~=con(i))
d(i)=1/abs(x(nn,n)-con(i));
%ed(1:2,i)=d(i)*(ones(1,2)-2*deci2bin(out(i),2))';
ed(1:2,i)=d(i)*(deci2bin(out(i),2))';
i=i+1;
end
if i==5
y(nn,2*n-1:2*n)=sum(ed')/sum(d);
else
%y(nn,2*n-1:2*n)=(ones(1,2)-2*deci2bin(out(i),2));
y(nn,2*n-1:2*n)=(deci2bin(out(i),2));
end
end
end
 

    shameem

    Points: 2
    Helpful Answer Positive Rating
Pl. give the program for modulator too.
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…