Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

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

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top