📄 sova_decode.txt
字号:
%programs come for internet 1
function [p]=smld2(snr_in_dB)
N=input('number');
Es=3;
snr=10^(snr_in_dB/10);
sgma=sqrt(1/(2*snr));
k=1;
g=[1 0 1;0 0 1];
for i=1:N,
temp=rand;
if (temp<0.25),
dsource1(i)=0;
dsource2(i)=0;
elseif (temp<0.5)
dsource1(i)=0;
dsource2(i)=1;
elseif (temp<0.75)
dsource1(i)=1;
dsource2(i)=0;
else
dsource1(i)=1;
dsource2(i)=1;
end;
end;
int=zeros(1,2*N);
for o=1:N,
int(1,2*o-1)=dsource2(o);
end;
for b=1:N,
int(1,2*b)=dsource1(b);
end;
rrr=reshape(int,2,N);
eee=rrr';
m=size(eee,1);
y=zeros(1,m)
for n=1:m
y(:,n)=eee(n,1)
end;
z=cnv_encd(g,k,y);
tyu=length(z)/2;
s=zeros(1,3*tyu);
for i=1:m
s(:,3*i-2)=eee(i,2)
end
s(:,3*N+1)=0;
s(:,3*(N+1)+1)=0;
for j=1:tyu
s(:,3*j-1)=z(2*j-1);
end;
for k2=1:tyu
s(:,3*k2)=z(2*k2);
end;
uu=reshape(s,3,tyu);
kk=uu';
n1=gngauss(sgma);
n2=gngauss(sgma)
for i=1:tyu
f(i)=bin2deci(kk(i,:));
if ((f(i)>=3)&(f(i)<7))
R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1;
H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2;
T(i)=pi+atan(H(i)/R(i));
elseif f(i)<3
R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1;
H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2;
T(i)=atan(H(i)/R(i));
else
R(i)=sqrt(Es)*cos(2*pi*f(i)/8)+n1;
H(i)=sqrt(Es)*sin(2*pi*f(i)/8)+n2;
T(i)=2*pi+atan(H(i)/R(i));
end;
end;
cc=zeros(tyu,8);
dd=zeros(tyu,8);
for i=1:tyu
for j=0:7
cc(i,j+1)=2*pi*j/8-T(i);
dd=abs(cc);
end;
if dd(i,1)==min(dd(i,:))
mm(i)=0;
elseif dd(i,2)==min(dd(i,:))
mm(i)=1;
elseif dd(i,3)==min(dd(i,:))
mm(i)=2;
elseif dd(i,4)==min(dd(i,:))
mm(i)=3;
elseif dd(i,5)==min(dd(i,:))
mm(i)=4;
elseif dd(i,6)==min(dd(i,:))
mm(i)=5;
elseif dd(i,7)==min(dd(i,:))
mm(i)=6;
else dd(i,8)==min(dd(i,:))
mm(i)=7;
end;
end;
out=reshape(mm,tyu,1);
k1=size(out,1);
z=zeros(3,k1) ;
for i=1:k1
m1=deci2bin(out(i,1),3);
z(:,i)=m1';
end;
hh=reshape(z,1,3*k1);
ty=zeros(k1-2,2);
for i=1:k1-2
ty(i,2)=hh(:,3*i-2);
end;
for j=1:k1
hh(:,2*j-1)=[];
end;
[ww,tt,ee]=viterbi(g,k,hh);
for i=1:k1-2
ty(i,1)=ww(i)
end;
ip=reshape(eee,1,2*N)
op=reshape(ty,1,2*N)
numoferr=0;
for w=1:2*N,
if ip(w)~=op(w)
numoferr=numoferr+1;
end;
end;
p=numoferr/(2*N)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -