r=s10+n; else r=s11+n; end; c00=dot(r , s00); c01=dot(r , s01); c10=dot(r , s10); c11=dot(r , s11); c_max=max([c00 c01 c10 c11]); if(c00==c_max) decis1=0;decis2=0; elseif(c01==c_max) decis1=0;decis2=1; elseif(c10==c_max) decis1=1;decis2=0; else decis1=1;decis2=1; end; symbolerror=0; if(decis1~=dsource1(i)), numofbiterror=numofbiterror+1; symbolerror=1; end; if(decis2~=dsource2(i)), numofbiterror=numofbiterror+1; symbolerror=1; end; if(symbolerror==1), numofsymbolerror=numofsymbolerror+1; end; end; ps=numofsymbolerror/N; pb=numofbiterror/(2*N); function [y]=Qfunct(x) y=(1/2)*erfc(x/sqrt(2)); .页眉. 页脚.. function[gsrv1,gsrv2]=gngauss(m,sgma) if nargin==0, m=0;sgma=1; elseif nargin==1, sgma=m;m=0; end; u=rand; z=sgma*(sqrt(2*log(1/(1-u)))); u=rand; gsrv1=m+z*cos(2*pi*u); gsrv2=m+z*sin(2*pi*u);