mu_spead.m

来自「关于通信基本原理的仿真」· M 代码 · 共 52 行

M
52
字号
clc;
clear all;

EbNodB=1:9;
sigma2=1./(2*10.^(EbNodB./10));

errLim=50;
totalN=100000;
N=100;

sf=31;
spead_u1=[1 1 1 1];
spead_u2=[1 1 -1 -1];

%fbconnection1 =[0 0 1 0 1];
%fbconnection2 =[0 1 1 1 1];
%goldseq=gold_seq(fbconnection1,fbconnection2);%%%%%% Generate Golden

spead_u1=spead_u1./sqrt(sf);
spead_u2=spead_u2./sqrt(sf);
for l=1:length(EbNodB)
    errCount=0;
    totalSim=0;
    while errCount<errLim||totalSim<totalN
        u1=randint(1,N);
        u2=randint(1,N);
        u1_1=1-2*u1;
        u2_1=1-2*u2;

        for k=1:length(u1)
            u1_2((k-1)*sf+1:k*sf)=u1_1(k).*spead_u1;
            u2_2((k-1)*sf+1:k*sf)=u2_1(k).*spead_u2;
        end
        u_3=u1_2+u2_2+sqrt(sigma2(l))*randn(1,length(u1_2));
        for k=1:length(u1)
            u1_4(k)=u_3((k-1)*sf+1:k*sf)*spead_u1';
            u2_4(k)=u_3((k-1)*sf+1:k*sf)*spead_u2';
        end

        u1_5=u1_4<0;
        u2_5=u2_4<0;

        err_u1=sum(abs(u1-u1_5));
        err_u2=sum(abs(u2-u2_5));
        errCount=errCount+err_u1+err_u2;
        totalSim=totalSim+N+N;
    end
    ber(l)=errCount/totalSim;
end

semilogy(EbNodB,ber,'-*b');

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?