⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 untitled1.m

📁 TCM的仿真 包括编码器
💻 M
字号:
%function [p]=smld2(snr_in_dB)clcsnr_in_dB=10;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);ends(:,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);ww=viterbi(g,k,hh);k1=k1-1;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 + -